@usetrip/react-ui 0.1.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,1112 @@
1
+ import { jsx as e, jsxs as u } from "react/jsx-runtime";
2
+ import { twMerge as F } from "tailwind-merge";
3
+ import { clsx as R } from "clsx";
4
+ import { cva as O } from "class-variance-authority";
5
+ import * as T from "react";
6
+ import { useState as V, useEffect as X, forwardRef as ee } from "react";
7
+ import { Slot as U } from "@radix-ui/react-slot";
8
+ import { Loader2 as E, Calendar as te, Minus as re, Plus as ne, ChevronLeftIcon as ae, ChevronRightIcon as oe, ChevronDownIcon as de, XIcon as le, ChevronLeft as Y, ChevronRight as G, Search as se } from "lucide-react";
9
+ import { Link as ie } from "react-router-dom";
10
+ import { EditorProvider as ue, Editor as ce, Toolbar as me, BtnBold as fe, BtnItalic as ge, BtnUnderline as he, BtnStrikeThrough as xe, BtnNumberedList as be, BtnBulletList as pe } from "react-simple-wysiwyg";
11
+ import { format as k } from "date-fns";
12
+ import { ptBR as _ } from "date-fns/locale";
13
+ import { getDefaultClassNames as K, DayPicker as ye } from "react-day-picker";
14
+ import * as D from "@radix-ui/react-dialog";
15
+ import { FaRegEye as ve, FaRegEyeSlash as we } from "react-icons/fa6";
16
+ import { IoWarning as Ne } from "react-icons/io5";
17
+ import { IoMdAlert as ze } from "react-icons/io";
18
+ import * as _e from "@radix-ui/react-label";
19
+ function n(...a) {
20
+ return F(R(a));
21
+ }
22
+ const x = {
23
+ xs: "text-xs",
24
+ sm: "text-sm",
25
+ base: "text-base",
26
+ lg: "text-lg",
27
+ xl: "text-xl",
28
+ "2xl": "text-2xl",
29
+ "3xl": "text-3xl",
30
+ "4xl": "text-4xl",
31
+ "5xl": "text-5xl"
32
+ }, p = {
33
+ light: "font-light",
34
+ normal: "font-normal",
35
+ medium: "font-medium",
36
+ semibold: "font-semibold",
37
+ bold: "font-bold",
38
+ extrabold: "font-extrabold"
39
+ }, N = {
40
+ none: "leading-none",
41
+ tight: "leading-tight",
42
+ snug: "leading-snug",
43
+ normal: "leading-normal",
44
+ relaxed: "leading-relaxed"
45
+ }, i = {
46
+ h1: {
47
+ size: x["4xl"],
48
+ weight: p.bold,
49
+ lineHeight: N.tight
50
+ },
51
+ h2: {
52
+ size: x["3xl"],
53
+ weight: p.semibold,
54
+ lineHeight: N.tight
55
+ },
56
+ h3: {
57
+ size: x["2xl"],
58
+ weight: p.semibold,
59
+ lineHeight: N.snug
60
+ },
61
+ h4: {
62
+ size: x.xl,
63
+ weight: p.semibold,
64
+ lineHeight: N.snug
65
+ },
66
+ h5: {
67
+ size: x.lg,
68
+ weight: p.medium,
69
+ lineHeight: N.normal
70
+ },
71
+ body1: {
72
+ size: x.base,
73
+ weight: p.normal,
74
+ lineHeight: N.relaxed
75
+ },
76
+ body2: {
77
+ size: x.sm,
78
+ weight: p.normal,
79
+ lineHeight: N.relaxed
80
+ },
81
+ caption: {
82
+ size: x.xs,
83
+ weight: p.normal,
84
+ lineHeight: N.normal
85
+ },
86
+ label: {
87
+ size: x.sm,
88
+ weight: p.medium,
89
+ lineHeight: N.normal
90
+ },
91
+ button: {
92
+ size: x.base,
93
+ weight: p.medium,
94
+ lineHeight: N.none
95
+ }
96
+ }, Me = O("", {
97
+ variants: {
98
+ variant: {
99
+ h1: n(i.h1.size, i.h1.weight, i.h1.lineHeight, "md:text-4xl"),
100
+ h2: n(i.h2.size, i.h2.weight, i.h2.lineHeight, "md:text-3xl"),
101
+ h3: n(i.h3.size, i.h3.weight, i.h3.lineHeight, "md:text-2xl"),
102
+ h4: n(i.h4.size, i.h4.weight, i.h4.lineHeight, "md:text-xl"),
103
+ h5: n(i.h5.size, i.h5.weight, i.h5.lineHeight),
104
+ body1: n(i.body1.size, i.body1.weight, i.body1.lineHeight),
105
+ body2: n(i.body2.size, i.body2.weight, i.body2.lineHeight),
106
+ caption: n(i.caption.size, i.caption.weight, i.caption.lineHeight),
107
+ label: n(i.label.size, i.label.weight, i.label.lineHeight),
108
+ button: n(i.button.size, i.button.weight, i.button.lineHeight)
109
+ },
110
+ color: {
111
+ default: "text-gray-900",
112
+ muted: "text-gray-500",
113
+ white: "text-white",
114
+ primary: "text-blue-600",
115
+ success: "text-green-600",
116
+ warning: "text-yellow-600",
117
+ danger: "text-red-600"
118
+ },
119
+ align: {
120
+ left: "text-left",
121
+ center: "text-center",
122
+ right: "text-right",
123
+ justify: "text-justify"
124
+ },
125
+ transform: {
126
+ uppercase: "uppercase",
127
+ lowercase: "lowercase",
128
+ capitalize: "capitalize",
129
+ normal: "normal-case"
130
+ },
131
+ weight: {
132
+ light: p.light,
133
+ normal: p.normal,
134
+ medium: p.medium,
135
+ semibold: p.semibold,
136
+ bold: p.bold,
137
+ extrabold: p.extrabold
138
+ },
139
+ size: {
140
+ xs: x.xs,
141
+ sm: x.sm,
142
+ base: x.base,
143
+ lg: x.lg,
144
+ xl: x.xl,
145
+ "2xl": x["2xl"],
146
+ "3xl": x["3xl"],
147
+ "4xl": x["4xl"],
148
+ "5xl": x["5xl"]
149
+ }
150
+ },
151
+ defaultVariants: {
152
+ variant: "body1",
153
+ color: "default",
154
+ align: "left"
155
+ }
156
+ }), z = ({
157
+ className: a,
158
+ variant: l,
159
+ color: d,
160
+ align: r,
161
+ transform: c,
162
+ weight: s,
163
+ size: t,
164
+ as: m = "p",
165
+ ...o
166
+ }) => /* @__PURE__ */ e(
167
+ m,
168
+ {
169
+ className: n(Me({
170
+ variant: l,
171
+ color: d,
172
+ align: r,
173
+ transform: c,
174
+ weight: s,
175
+ size: t,
176
+ className: a
177
+ })),
178
+ ...o
179
+ }
180
+ ), ke = {
181
+ default: { container: "bg-gray-50 border-gray-200", icon: "text-gray-500", text: "text-gray-700" },
182
+ info: { container: "bg-blue-50 border-blue-200", icon: "text-blue-500", text: "text-blue-700" },
183
+ warning: { container: "bg-yellow-50 border-yellow-200", icon: "text-yellow-500", text: "text-yellow-700" },
184
+ error: { container: "bg-red-50 border-red-200", icon: "text-red-500", text: "text-red-700" },
185
+ success: { container: "bg-green-50 border-green-200", icon: "text-green-500", text: "text-green-700" }
186
+ }, De = {
187
+ default: /* @__PURE__ */ e("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }),
188
+ info: /* @__PURE__ */ e("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }),
189
+ warning: /* @__PURE__ */ e("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }),
190
+ error: /* @__PURE__ */ e("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z", clipRule: "evenodd" }),
191
+ success: /* @__PURE__ */ e("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", clipRule: "evenodd" })
192
+ };
193
+ function et({ message: a, type: l = "error", className: d }) {
194
+ const r = ke[l];
195
+ return /* @__PURE__ */ u("div", { className: n("w-full p-3 border rounded-lg flex items-start gap-2", r.container, d), children: [
196
+ /* @__PURE__ */ e("svg", { className: n("w-5 h-5 shrink-0 mt-0.5", r.icon), fill: "currentColor", viewBox: "0 0 20 20", "aria-hidden": "true", children: De[l] }),
197
+ /* @__PURE__ */ e(z, { variant: "body2", className: n("flex-1", r.text), children: a })
198
+ ] });
199
+ }
200
+ const Se = O(
201
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background cursor-pointer",
202
+ {
203
+ variants: {
204
+ variant: {
205
+ primary: "bg-primary text-primary-foreground hover:bg-primary/90",
206
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
207
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
208
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
209
+ ghost: "hover:bg-accent hover:text-accent-foreground",
210
+ link: "underline-offset-4 hover:underline text-primary"
211
+ },
212
+ size: {
213
+ sm: "h-9 px-3 py-2 text-xs",
214
+ md: "h-10 py-2 px-4 text-sm",
215
+ lg: "h-12 px-6 py-3 text-base",
216
+ full: "h-12 w-full px-6 py-3 text-base",
217
+ icon: "h-10 w-10 p-0"
218
+ },
219
+ rounded: {
220
+ default: "rounded-md",
221
+ full: "rounded-full",
222
+ none: "rounded-none"
223
+ }
224
+ },
225
+ defaultVariants: {
226
+ variant: "primary",
227
+ size: "md",
228
+ rounded: "default"
229
+ }
230
+ }
231
+ ), M = T.forwardRef(
232
+ ({
233
+ className: a,
234
+ variant: l,
235
+ size: d,
236
+ rounded: r,
237
+ asChild: c = !1,
238
+ isLoading: s = !1,
239
+ startIcon: t,
240
+ endIcon: m,
241
+ disabled: o,
242
+ children: f,
243
+ ...g
244
+ }, h) => {
245
+ const w = c ? U : "button", S = o || s;
246
+ return /* @__PURE__ */ u(
247
+ w,
248
+ {
249
+ className: n(Se({ variant: l, size: d, rounded: r, className: a })),
250
+ ref: h,
251
+ disabled: S,
252
+ "data-loading": s,
253
+ ...g,
254
+ children: [
255
+ s && /* @__PURE__ */ e(E, { className: "h-4 w-4 animate-spin" }),
256
+ !s && t,
257
+ f,
258
+ !s && m
259
+ ]
260
+ }
261
+ );
262
+ }
263
+ );
264
+ M.displayName = "Button";
265
+ const A = O(
266
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background cursor-pointer",
267
+ {
268
+ variants: {
269
+ variant: {
270
+ primary: "text-primary hover:text-primary/90 hover:underline underline-offset-4",
271
+ secondary: "text-secondary hover:text-secondary/80 hover:underline underline-offset-4",
272
+ destructive: "text-destructive hover:text-destructive/90 hover:underline underline-offset-4",
273
+ outline: "border border-input text-foreground hover:text-accent-foreground hover:underline underline-offset-4",
274
+ ghost: "hover:text-accent-foreground hover:underline underline-offset-4",
275
+ link: "underline-offset-4 hover:underline text-primary"
276
+ },
277
+ size: {
278
+ sm: "h-9 px-3 py-2 text-xs",
279
+ md: "h-10 py-2 px-4 text-sm",
280
+ lg: "h-12 px-6 py-3 text-base",
281
+ full: "h-12 w-full px-6 py-3 text-base",
282
+ icon: "h-10 w-10 p-0"
283
+ },
284
+ rounded: {
285
+ default: "rounded-md",
286
+ full: "rounded-full",
287
+ none: "rounded-none"
288
+ }
289
+ },
290
+ defaultVariants: {
291
+ variant: "primary",
292
+ size: "md",
293
+ rounded: "default"
294
+ }
295
+ }
296
+ ), Ce = T.forwardRef(
297
+ ({
298
+ className: a,
299
+ variant: l,
300
+ size: d,
301
+ rounded: r,
302
+ asChild: c = !1,
303
+ isLoading: s = !1,
304
+ startIcon: t,
305
+ endIcon: m,
306
+ to: o,
307
+ external: f = !1,
308
+ children: g,
309
+ ...h
310
+ }, w) => c ? /* @__PURE__ */ u(
311
+ U,
312
+ {
313
+ className: n(A({ variant: l, size: d, rounded: r, className: a })),
314
+ ref: w,
315
+ "data-loading": s,
316
+ ...h,
317
+ children: [
318
+ s && /* @__PURE__ */ e(E, { className: "h-4 w-4 animate-spin" }),
319
+ !s && t,
320
+ g,
321
+ !s && m
322
+ ]
323
+ }
324
+ ) : f ? /* @__PURE__ */ u(
325
+ "a",
326
+ {
327
+ href: o.toString(),
328
+ className: n(A({ variant: l, size: d, rounded: r, className: a })),
329
+ ref: w,
330
+ "data-loading": s,
331
+ target: "_blank",
332
+ rel: "noopener noreferrer",
333
+ ...h,
334
+ children: [
335
+ s && /* @__PURE__ */ e(E, { className: "h-4 w-4 animate-spin" }),
336
+ !s && t,
337
+ g,
338
+ !s && m
339
+ ]
340
+ }
341
+ ) : /* @__PURE__ */ u(
342
+ ie,
343
+ {
344
+ to: o,
345
+ className: n(A({ variant: l, size: d, rounded: r, className: a })),
346
+ ref: w,
347
+ "data-loading": s,
348
+ ...h,
349
+ children: [
350
+ s && /* @__PURE__ */ e(E, { className: "h-4 w-4 animate-spin" }),
351
+ !s && t,
352
+ g,
353
+ !s && m
354
+ ]
355
+ }
356
+ )
357
+ );
358
+ Ce.displayName = "ButtonLink";
359
+ function tt({
360
+ label: a,
361
+ value: l,
362
+ placeholder: d = "Selecione uma data",
363
+ onClick: r,
364
+ onFocus: c,
365
+ className: s = "",
366
+ state: t = "default",
367
+ hintText: m,
368
+ compact: o = !1
369
+ }) {
370
+ const f = () => {
371
+ r == null || r(), c == null || c();
372
+ }, g = () => {
373
+ switch (t) {
374
+ case "warning":
375
+ return "border-yellow-500 focus:ring-yellow-500";
376
+ case "error":
377
+ return "border-red-500 focus:ring-red-500";
378
+ default:
379
+ return "border-gray-300 focus:ring-blue-500";
380
+ }
381
+ }, h = () => {
382
+ switch (t) {
383
+ case "warning":
384
+ return "text-yellow-500";
385
+ case "error":
386
+ return "text-red-500";
387
+ default:
388
+ return "text-neutral-500";
389
+ }
390
+ };
391
+ return /* @__PURE__ */ u("div", { className: s, children: [
392
+ /* @__PURE__ */ e(z, { as: "label", variant: "body2", className: `${o ? "mb-0.5" : "mb-2"} block`, children: a }),
393
+ /* @__PURE__ */ u("div", { className: "relative", children: [
394
+ /* @__PURE__ */ e(
395
+ "input",
396
+ {
397
+ type: "text",
398
+ value: l,
399
+ placeholder: d,
400
+ readOnly: !0,
401
+ className: `w-full border rounded-md ${o ? "py-1" : "py-2"} pl-10 pr-3 focus:outline-none focus:ring-2 cursor-pointer ${g()}`,
402
+ onClick: f,
403
+ onFocus: c
404
+ }
405
+ ),
406
+ /* @__PURE__ */ e("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none", children: /* @__PURE__ */ e(te, { className: "h-4 w-4 text-gray-400" }) })
407
+ ] }),
408
+ /* @__PURE__ */ e("div", { className: `${o ? "h-3 mt-0" : "h-5 mt-1"}`, children: m && /* @__PURE__ */ e("p", { className: `text-[12px] ${h()}`, children: m }) })
409
+ ] });
410
+ }
411
+ function rt({ value: a, onChange: l, placeholder: d, containerProps: r }) {
412
+ return /* @__PURE__ */ e(ue, { children: /* @__PURE__ */ e(
413
+ ce,
414
+ {
415
+ value: a,
416
+ onChange: l,
417
+ placeholder: d,
418
+ containerProps: {
419
+ ...r,
420
+ className: `custom-editor-container ${(r == null ? void 0 : r.className) ?? ""}`,
421
+ style: { ...r == null ? void 0 : r.style, backgroundColor: "white" }
422
+ },
423
+ children: /* @__PURE__ */ u(me, { className: "custom-editor-toolbar", children: [
424
+ /* @__PURE__ */ e(fe, {}),
425
+ /* @__PURE__ */ e(ge, {}),
426
+ /* @__PURE__ */ e(he, {}),
427
+ /* @__PURE__ */ e(xe, {}),
428
+ /* @__PURE__ */ e(be, {}),
429
+ /* @__PURE__ */ e(pe, {})
430
+ ] })
431
+ }
432
+ ) });
433
+ }
434
+ function nt({
435
+ label: a,
436
+ value: l,
437
+ onIncrement: d,
438
+ onDecrement: r,
439
+ minValue: c = 0,
440
+ className: s = "",
441
+ hintText: t,
442
+ compact: m = !1
443
+ }) {
444
+ const o = l <= c;
445
+ return /* @__PURE__ */ u("div", { className: s, children: [
446
+ /* @__PURE__ */ e(z, { as: "label", variant: "body2", className: `${m ? "mb-0.5" : "mb-2"} block`, children: a }),
447
+ /* @__PURE__ */ u("div", { className: "flex items-center border border-gray-300 rounded-md", children: [
448
+ /* @__PURE__ */ e(
449
+ "button",
450
+ {
451
+ type: "button",
452
+ onClick: r,
453
+ disabled: o,
454
+ className: `${m ? "px-2 py-1" : "px-4 py-2"} flex-1 flex justify-center items-center border-r border-gray-300 hover:bg-gray-100 active:bg-gray-200 transition-colors duration-150`,
455
+ "aria-label": `Decrease ${a}`,
456
+ children: /* @__PURE__ */ e(re, { className: `h-4 w-4 ${o ? "text-gray-300" : "text-gray-700"}` })
457
+ }
458
+ ),
459
+ /* @__PURE__ */ e("div", { className: `${m ? "px-2 py-1" : "px-4 py-2"} flex-1 text-center`, children: /* @__PURE__ */ e(z, { as: "span", variant: "body1", className: "font-medium", children: l }) }),
460
+ /* @__PURE__ */ e(
461
+ "button",
462
+ {
463
+ type: "button",
464
+ onClick: d,
465
+ className: `${m ? "px-2 py-1" : "px-4 py-2"} flex-1 flex justify-center items-center border-l border-gray-300 hover:bg-gray-100 active:bg-gray-200 transition-colors duration-150`,
466
+ "aria-label": `Increase ${a}`,
467
+ children: /* @__PURE__ */ e(ne, { className: "h-4 w-4 text-gray-700" })
468
+ }
469
+ )
470
+ ] }),
471
+ /* @__PURE__ */ e("div", { className: `${m ? "h-3 mt-1" : "h-5 mt-1"}`, children: t && /* @__PURE__ */ e("p", { className: "text-[12px] text-neutral-500", children: t }) })
472
+ ] });
473
+ }
474
+ const P = O(
475
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 aria-invalid:border-destructive",
476
+ {
477
+ variants: {
478
+ variant: {
479
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
480
+ destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90",
481
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",
482
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
483
+ ghost: "hover:bg-accent hover:text-accent-foreground",
484
+ link: "text-primary underline-offset-4 hover:underline"
485
+ },
486
+ size: {
487
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
488
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
489
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
490
+ icon: "size-9"
491
+ }
492
+ },
493
+ defaultVariants: {
494
+ variant: "default",
495
+ size: "default"
496
+ }
497
+ }
498
+ );
499
+ function He({
500
+ className: a,
501
+ variant: l,
502
+ size: d,
503
+ asChild: r = !1,
504
+ ...c
505
+ }) {
506
+ return /* @__PURE__ */ e(
507
+ r ? U : "button",
508
+ {
509
+ "data-slot": "button",
510
+ className: n(P({ variant: l, size: d, className: a })),
511
+ ...c
512
+ }
513
+ );
514
+ }
515
+ function J({
516
+ className: a,
517
+ classNames: l,
518
+ showOutsideDays: d = !0,
519
+ captionLayout: r = "label",
520
+ buttonVariant: c = "ghost",
521
+ formatters: s,
522
+ components: t,
523
+ ...m
524
+ }) {
525
+ const o = K();
526
+ return /* @__PURE__ */ e(
527
+ ye,
528
+ {
529
+ showOutsideDays: d,
530
+ className: n(
531
+ "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
532
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
533
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
534
+ a
535
+ ),
536
+ captionLayout: r,
537
+ formatters: {
538
+ formatMonthDropdown: (f) => f.toLocaleString("default", { month: "short" }),
539
+ ...s
540
+ },
541
+ classNames: {
542
+ root: n("w-fit", o.root),
543
+ months: n("flex gap-4 flex-col md:flex-row relative", o.months),
544
+ month: n("flex flex-col w-full gap-4", o.month),
545
+ nav: n(
546
+ "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
547
+ o.nav
548
+ ),
549
+ button_previous: n(
550
+ P({ variant: c }),
551
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
552
+ o.button_previous
553
+ ),
554
+ button_next: n(
555
+ P({ variant: c }),
556
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
557
+ o.button_next
558
+ ),
559
+ month_caption: n(
560
+ "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
561
+ o.month_caption
562
+ ),
563
+ dropdowns: n(
564
+ "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
565
+ o.dropdowns
566
+ ),
567
+ dropdown_root: n(
568
+ "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
569
+ o.dropdown_root
570
+ ),
571
+ dropdown: n("absolute inset-0 opacity-0", o.dropdown),
572
+ caption_label: n(
573
+ "select-none font-medium",
574
+ r === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
575
+ o.caption_label
576
+ ),
577
+ table: "w-full border-collapse",
578
+ weekdays: n("flex", o.weekdays),
579
+ weekday: n(
580
+ "text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
581
+ o.weekday
582
+ ),
583
+ week: n("flex w-full mt-2", o.week),
584
+ week_number_header: n("select-none w-(--cell-size)", o.week_number_header),
585
+ week_number: n(
586
+ "text-[0.8rem] select-none text-muted-foreground",
587
+ o.week_number
588
+ ),
589
+ day: n(
590
+ "relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
591
+ o.day
592
+ ),
593
+ range_start: n(
594
+ "rounded-l-md rounded-r-none bg-gray-800 text-white !border-none !outline-none !ring-0 !shadow-none",
595
+ o.range_start
596
+ ),
597
+ range_middle: n(
598
+ "rounded-none bg-gray-400 text-white !border-none !outline-none !ring-0 !shadow-none",
599
+ o.range_middle
600
+ ),
601
+ range_end: n(
602
+ "rounded-r-md rounded-l-none bg-gray-800 text-white !border-none !outline-none !ring-0 !shadow-none",
603
+ o.range_end
604
+ ),
605
+ today: n("bg-gray-600 text-white font-bold shadow-lg !rounded-md", o.today),
606
+ selected: n(
607
+ "!bg-transparent !text-black !font-bold !shadow-none !border-2 !border-gray-600 !rounded-md",
608
+ o.selected
609
+ ),
610
+ outside: n(
611
+ "text-muted-foreground aria-selected:text-muted-foreground",
612
+ o.outside
613
+ ),
614
+ disabled: n("text-muted-foreground opacity-50", o.disabled),
615
+ hidden: n("invisible", o.hidden),
616
+ ...l
617
+ },
618
+ components: {
619
+ Root: ({ className: f, rootRef: g, ...h }) => /* @__PURE__ */ e("div", { "data-slot": "calendar", ref: g, className: n(f), ...h }),
620
+ Chevron: ({ className: f, orientation: g, ...h }) => g === "left" ? /* @__PURE__ */ e(ae, { className: n("size-4", f), ...h }) : g === "right" ? /* @__PURE__ */ e(oe, { className: n("size-4", f), ...h }) : /* @__PURE__ */ e(de, { className: n("size-4", f), ...h }),
621
+ DayButton: $e,
622
+ WeekNumber: ({ children: f, ...g }) => /* @__PURE__ */ e("td", { ...g, children: /* @__PURE__ */ e("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: f }) }),
623
+ ...t
624
+ },
625
+ ...m
626
+ }
627
+ );
628
+ }
629
+ function $e({
630
+ className: a,
631
+ day: l,
632
+ modifiers: d,
633
+ ...r
634
+ }) {
635
+ const c = K(), s = T.useRef(null);
636
+ return T.useEffect(() => {
637
+ var t;
638
+ d.focused && ((t = s.current) == null || t.focus());
639
+ }, [d.focused]), /* @__PURE__ */ e(
640
+ He,
641
+ {
642
+ ref: s,
643
+ variant: "ghost",
644
+ size: "icon",
645
+ "data-day": l.date.toLocaleDateString(),
646
+ "data-today": d.today,
647
+ "data-selected-single": d.selected && !d.range_start && !d.range_end && !d.range_middle,
648
+ "data-range-start": d.range_start,
649
+ "data-range-end": d.range_end,
650
+ "data-range-middle": d.range_middle,
651
+ className: n(
652
+ "data-[range-middle=true]:bg-gray-400 data-[range-middle=true]:text-white data-[range-middle=true]:!border-none data-[range-middle=true]:!outline-none data-[range-middle=true]:!ring-0 data-[range-middle=true]:hover:!bg-gray-400 data-[range-middle=true]:hover:!text-white data-[range-start=true]:bg-gray-800 data-[range-start=true]:text-white data-[range-start=true]:!border-none data-[range-start=true]:!outline-none data-[range-start=true]:!ring-0 data-[range-start=true]:!rounded-l-md data-[range-start=true]:!rounded-r-none data-[range-start=true]:hover:!bg-gray-800 data-[range-start=true]:hover:!text-white data-[range-end=true]:bg-gray-800 data-[range-end=true]:text-white data-[range-end=true]:!border-none data-[range-end=true]:!outline-none data-[range-end=true]:!ring-0 data-[range-end=true]:!rounded-r-md data-[range-end=true]:!rounded-l-none data-[range-end=true]:hover:!bg-gray-800 data-[range-end=true]:hover:!text-white data-[range-start=false]:data-[range-end=false]:data-[range-middle=false]:hover:bg-accent data-[range-start=false]:data-[range-end=false]:data-[range-middle=false]:hover:text-accent-foreground data-[range-start=false]:data-[range-end=false]:data-[range-middle=false]:hover:!rounded-md focus:!bg-gray-600 focus:!text-white focus:!font-bold focus:!shadow-lg focus:!rounded-md focus:!outline-none focus:!ring-0 !border-none !outline-none !ring-0 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal data-[range-end=true]:hover:rounded-r-md data-[range-end=true]:hover:rounded-l-none data-[range-end=true]:focus:rounded-r-md data-[range-end=true]:focus:rounded-l-none data-[range-end=true]:focus:bg-gray-800 data-[range-end=true]:focus:text-white data-[range-middle=true]:rounded-none data-[range-middle=true]:hover:rounded-none data-[range-middle=true]:focus:rounded-none data-[range-middle=true]:focus:bg-gray-400 data-[range-middle=true]:focus:text-white data-[range-start=true]:hover:rounded-l-md data-[range-start=true]:hover:rounded-r-none data-[range-start=true]:focus:rounded-l-md data-[range-start=true]:focus:rounded-r-none data-[range-start=true]:focus:bg-gray-800 data-[range-start=true]:focus:text-white [&>span]:text-xs [&>span]:opacity-70 data-[today=true]:hover:bg-gray-700 data-[today=true]:hover:text-white data-[today=true]:hover:rounded-md",
653
+ c.day,
654
+ a
655
+ ),
656
+ ...r
657
+ }
658
+ );
659
+ }
660
+ function je({ ...a }) {
661
+ return /* @__PURE__ */ e(D.Root, { "data-slot": "dialog", ...a });
662
+ }
663
+ function Q({ ...a }) {
664
+ return /* @__PURE__ */ e(D.Portal, { "data-slot": "dialog-portal", ...a });
665
+ }
666
+ function Z({
667
+ className: a,
668
+ ...l
669
+ }) {
670
+ return /* @__PURE__ */ e(
671
+ D.Overlay,
672
+ {
673
+ "data-slot": "dialog-overlay",
674
+ className: n(
675
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[10000] bg-black/50",
676
+ a
677
+ ),
678
+ ...l
679
+ }
680
+ );
681
+ }
682
+ function Be({
683
+ className: a,
684
+ children: l,
685
+ showCloseButton: d = !1,
686
+ ...r
687
+ }) {
688
+ return /* @__PURE__ */ u(Q, { "data-slot": "dialog-portal", children: [
689
+ /* @__PURE__ */ e(Z, {}),
690
+ /* @__PURE__ */ u(
691
+ D.Content,
692
+ {
693
+ "data-slot": "dialog-content",
694
+ className: n(
695
+ "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[10001] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
696
+ a
697
+ ),
698
+ ...r,
699
+ children: [
700
+ l,
701
+ d && /* @__PURE__ */ u(
702
+ D.Close,
703
+ {
704
+ "data-slot": "dialog-close",
705
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
706
+ children: [
707
+ /* @__PURE__ */ e(le, {}),
708
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
709
+ ]
710
+ }
711
+ )
712
+ ]
713
+ }
714
+ )
715
+ ] });
716
+ }
717
+ function Ie({ className: a, ...l }) {
718
+ return /* @__PURE__ */ e(
719
+ "div",
720
+ {
721
+ "data-slot": "dialog-header",
722
+ className: n("flex flex-col gap-2 text-center sm:text-left p-4 pb-4", a),
723
+ ...l
724
+ }
725
+ );
726
+ }
727
+ function Ve({
728
+ className: a,
729
+ ...l
730
+ }) {
731
+ return /* @__PURE__ */ e(
732
+ D.Title,
733
+ {
734
+ "data-slot": "dialog-title",
735
+ className: n("text-lg leading-none font-semibold", a),
736
+ ...l
737
+ }
738
+ );
739
+ }
740
+ function at({
741
+ isOpen: a,
742
+ onClose: l,
743
+ onSelect: d,
744
+ initialRange: r,
745
+ focusedField: c,
746
+ minDate: s
747
+ }) {
748
+ const [t, m] = V(r), [o, f] = V((r == null ? void 0 : r.from) || /* @__PURE__ */ new Date()), [g, h] = V((r == null ? void 0 : r.from) || /* @__PURE__ */ new Date());
749
+ X(() => {
750
+ r && m(r);
751
+ }, [r]), X(() => {
752
+ if (!a) return;
753
+ const b = (c === "end" ? (r == null ? void 0 : r.to) || (r == null ? void 0 : r.from) : (r == null ? void 0 : r.from) || (r == null ? void 0 : r.to)) || /* @__PURE__ */ new Date();
754
+ f(b), h(b);
755
+ }, [a, r, c]);
756
+ const w = (v) => {
757
+ if (!v && (t != null && t.from) && (!t.to || t.from.getTime() === t.to.getTime())) {
758
+ m({ from: t.from, to: t.from });
759
+ return;
760
+ }
761
+ m(v);
762
+ }, S = () => {
763
+ d(t), l();
764
+ }, C = () => {
765
+ m(r), l();
766
+ }, H = () => m(void 0), $ = (v) => {
767
+ h((b) => {
768
+ const y = new Date(b);
769
+ return y.setMonth(y.getMonth() + (v === "prev" ? -1 : 1)), y;
770
+ });
771
+ }, j = (v) => {
772
+ f((b) => {
773
+ const y = new Date(b);
774
+ return y.setMonth(y.getMonth() + (v === "prev" ? -1 : 1)), y;
775
+ });
776
+ }, B = () => t != null && t.from ? t.to ? `${k(t.from, "dd/MM/yyyy", { locale: _ })} - ${k(t.to, "dd/MM/yyyy", { locale: _ })}` : k(t.from, "dd/MM/yyyy", { locale: _ }) : "Selecione as datas", W = () => {
777
+ if (!(t != null && t.from) && !(t != null && t.to)) return "Selecione a data de início";
778
+ if (t != null && t.from && !(t != null && t.to)) return "Selecione a data de fim";
779
+ if (t != null && t.from && (t != null && t.to)) {
780
+ const v = t.from instanceof Date ? t.from : new Date(t.from), b = t.to instanceof Date ? t.to : new Date(t.to), y = Math.ceil((b.getTime() - v.getTime()) / (1e3 * 60 * 60 * 24)) + 1;
781
+ return `${y} dia${y > 1 ? "s" : ""} selecionado${y > 1 ? "s" : ""}`;
782
+ }
783
+ return "";
784
+ }, I = (v) => {
785
+ if (s) {
786
+ const b = new Date(s);
787
+ b.setHours(0, 0, 0, 0);
788
+ const y = new Date(v);
789
+ return y.setHours(0, 0, 0, 0), y < b;
790
+ }
791
+ return !1;
792
+ }, q = {
793
+ months: "flex w-full justify-center",
794
+ month: "w-full space-y-4",
795
+ month_caption: "hidden",
796
+ nav: "hidden",
797
+ table: "w-full border-collapse space-y-1",
798
+ head_row: "flex w-full",
799
+ head_cell: "text-muted-foreground rounded-md w-full font-normal text-[0.8rem] flex-1 text-center py-2",
800
+ row: "flex w-full mt-2",
801
+ cell: n("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 flex-1 !border-none !outline-none"),
802
+ day: n("h-8 w-full p-0 font-normal aria-selected:opacity-100 hover:bg-accent hover:text-accent-foreground hover:!rounded-md focus:!rounded-md focus:outline-none focus:ring-0"),
803
+ day_range_start: "day-range-start rounded-l-md bg-gray-800 text-white !border-none !outline-none !ring-0",
804
+ day_range_end: "day-range-end rounded-r-md bg-gray-800 text-white !border-none !outline-none !ring-0",
805
+ day_selected: "!bg-gray-600 !text-white !font-bold !shadow-lg !rounded-md !border-none !outline-none !ring-0",
806
+ today: "bg-gray-600 text-white font-bold shadow-lg rounded-md",
807
+ day_outside: "text-muted-foreground opacity-50",
808
+ day_disabled: "text-muted-foreground opacity-50",
809
+ day_range_middle: "aria-selected:bg-gray-400 aria-selected:text-white rounded-none !border-none !outline-none !ring-0",
810
+ day_hidden: "invisible"
811
+ }, L = {
812
+ months: "flex gap-6 justify-center",
813
+ month: "flex flex-col gap-4",
814
+ month_caption: "sm:hidden",
815
+ nav: "hidden",
816
+ table: "w-full border-collapse space-y-1",
817
+ head_row: "flex",
818
+ head_cell: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem] text-center",
819
+ row: "flex w-full mt-2",
820
+ cell: n("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 !border-none !outline-none"),
821
+ day: n("h-9 w-9 p-0 font-normal aria-selected:opacity-100 hover:bg-accent hover:text-accent-foreground hover:!rounded-md focus:!rounded-md focus:outline-none focus:ring-0"),
822
+ day_range_start: "day-range-start rounded-l-md bg-gray-800 text-white !border-none !outline-none !ring-0",
823
+ day_range_end: "day-range-end rounded-r-md bg-gray-800 text-white !border-none !outline-none !ring-0",
824
+ day_selected: "!bg-gray-600 !text-white !font-bold !shadow-lg !rounded-md !border-none !outline-none !ring-0",
825
+ today: "bg-gray-600 text-white font-bold !rounded-md",
826
+ day_outside: "hidden",
827
+ day_disabled: "text-muted-foreground opacity-50",
828
+ day_range_middle: "aria-selected:bg-gray-400 aria-selected:text-white rounded-none !border-none !outline-none !ring-0",
829
+ day_hidden: "invisible"
830
+ };
831
+ return /* @__PURE__ */ e(je, { open: a, onOpenChange: l, children: /* @__PURE__ */ u(Q, { children: [
832
+ /* @__PURE__ */ e(Z, { className: "max-sm:!z-[9999]" }),
833
+ /* @__PURE__ */ u(Be, { className: "sm:max-w-[900px] max-w-[95vw] max-h-[95vh] overflow-y-auto p-0 [&>*]:max-sm:!z-[10000] max-sm:!z-[10000]", children: [
834
+ /* @__PURE__ */ u(Ie, { className: "p-4 sm:p-6 pb-4", children: [
835
+ /* @__PURE__ */ e(Ve, { className: "text-lg text-left font-semibold", children: "Selecionar Período" }),
836
+ /* @__PURE__ */ e(z, { variant: "body2", className: "text-gray-600", children: W() })
837
+ ] }),
838
+ /* @__PURE__ */ u("div", { className: "px-4 sm:px-6", children: [
839
+ /* @__PURE__ */ u("div", { className: "block md:hidden", children: [
840
+ /* @__PURE__ */ u("div", { className: "flex items-center justify-between mb-4", children: [
841
+ /* @__PURE__ */ e(M, { variant: "outline", size: "sm", onClick: () => $("prev"), className: "p-2", children: /* @__PURE__ */ e(Y, { className: "h-4 w-4" }) }),
842
+ /* @__PURE__ */ e(z, { variant: "h5", className: "font-medium", children: k(g, "MMMM yyyy", { locale: _ }) }),
843
+ /* @__PURE__ */ e(M, { variant: "outline", size: "sm", onClick: () => $("next"), className: "p-2", children: /* @__PURE__ */ e(G, { className: "h-4 w-4" }) })
844
+ ] }),
845
+ /* @__PURE__ */ e(
846
+ J,
847
+ {
848
+ mode: "range",
849
+ defaultMonth: g,
850
+ month: g,
851
+ onMonthChange: h,
852
+ selected: t,
853
+ onSelect: w,
854
+ numberOfMonths: 1,
855
+ locale: _,
856
+ disabled: I,
857
+ className: "mx-auto",
858
+ classNames: q
859
+ }
860
+ )
861
+ ] }),
862
+ /* @__PURE__ */ u("div", { className: "hidden md:flex flex-col min-h-[320px]", children: [
863
+ /* @__PURE__ */ u("div", { className: "flex items-center justify-center", children: [
864
+ /* @__PURE__ */ e(M, { variant: "outline", size: "sm", onClick: () => j("prev"), className: "p-2 mr-3", children: /* @__PURE__ */ e(Y, { className: "h-4 w-4" }) }),
865
+ /* @__PURE__ */ u("div", { className: "flex gap-8", children: [
866
+ /* @__PURE__ */ e(z, { variant: "h5", className: "font-medium min-w-[120px] text-center", children: k(o, "MMMM yyyy", { locale: _ }) }),
867
+ /* @__PURE__ */ e(z, { variant: "h5", className: "font-medium min-w-[120px] text-center", children: k(
868
+ new Date(o.getFullYear(), o.getMonth() + 1),
869
+ "MMMM yyyy",
870
+ { locale: _ }
871
+ ) })
872
+ ] }),
873
+ /* @__PURE__ */ e(M, { variant: "outline", size: "sm", onClick: () => j("next"), className: "p-2 ml-3", children: /* @__PURE__ */ e(G, { className: "h-4 w-4" }) })
874
+ ] }),
875
+ /* @__PURE__ */ e(
876
+ J,
877
+ {
878
+ mode: "range",
879
+ defaultMonth: o,
880
+ month: o,
881
+ onMonthChange: f,
882
+ selected: t,
883
+ onSelect: w,
884
+ numberOfMonths: 2,
885
+ showOutsideDays: !1,
886
+ locale: _,
887
+ disabled: I,
888
+ className: "w-full justify-center",
889
+ classNames: L
890
+ }
891
+ )
892
+ ] }),
893
+ /* @__PURE__ */ e("div", { className: "mb-6 p-4 bg-gray-200 rounded-lg", children: /* @__PURE__ */ u("div", { className: "flex justify-between items-center", children: [
894
+ /* @__PURE__ */ u("div", { className: "flex-1", children: [
895
+ /* @__PURE__ */ e(z, { variant: "body2", className: "text-gray-600 mb-1", children: "Período selecionado:" }),
896
+ /* @__PURE__ */ e(z, { variant: "body1", className: "font-medium max-sm:text-sm", children: B() })
897
+ ] }),
898
+ (t == null ? void 0 : t.from) && /* @__PURE__ */ e(M, { variant: "secondary", size: "sm", onClick: H, className: "text-white bg-gray-400 hover:text-gray-700", children: "Limpar" })
899
+ ] }) })
900
+ ] }),
901
+ /* @__PURE__ */ u("div", { className: "flex justify-end gap-3 p-4 sm:p-6 pt-4 border-t", children: [
902
+ /* @__PURE__ */ e(M, { variant: "outline", onClick: C, children: "Cancelar" }),
903
+ /* @__PURE__ */ e(
904
+ M,
905
+ {
906
+ variant: "primary",
907
+ onClick: S,
908
+ disabled: !(t != null && t.from) || !(t != null && t.to),
909
+ children: "Confirmar"
910
+ }
911
+ )
912
+ ] })
913
+ ] })
914
+ ] }) });
915
+ }
916
+ const Ee = ee(
917
+ ({ placeholder: a = "Digite...", variant: l = "default", size: d = "md", className: r, ...c }, s) => {
918
+ const t = () => {
919
+ switch (d) {
920
+ case "sm":
921
+ return "h-9 text-sm";
922
+ case "md":
923
+ return "h-12 text-base";
924
+ case "lg":
925
+ return "h-14 text-lg";
926
+ default:
927
+ return "h-12";
928
+ }
929
+ };
930
+ return /* @__PURE__ */ u("div", { className: n("relative flex", (() => {
931
+ switch (d) {
932
+ case "sm":
933
+ return "w-40";
934
+ case "md":
935
+ return "w-64";
936
+ case "lg":
937
+ return "w-80";
938
+ case "full":
939
+ return "w-full";
940
+ default:
941
+ return "w-64";
942
+ }
943
+ })(), r), children: [
944
+ /* @__PURE__ */ e("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none", children: /* @__PURE__ */ e(se, { className: "h-4 w-4 text-gray-400" }) }),
945
+ /* @__PURE__ */ e(
946
+ "input",
947
+ {
948
+ ref: s,
949
+ type: "text",
950
+ placeholder: a,
951
+ className: n(
952
+ "bg-gray-100 pl-10 pr-4 text-sm focus:outline-none focus:ring-2 focus:ring-[#3f52e3] transition-colors rounded-md w-full",
953
+ t(),
954
+ l === "default" && "rounded-sm",
955
+ l === "compact" && "rounded-md"
956
+ ),
957
+ ...c
958
+ }
959
+ )
960
+ ] });
961
+ }
962
+ );
963
+ Ee.displayName = "SearchInput";
964
+ function Te({
965
+ className: a,
966
+ ...l
967
+ }) {
968
+ return /* @__PURE__ */ e(
969
+ _e.Root,
970
+ {
971
+ "data-slot": "label",
972
+ className: n(
973
+ "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
974
+ a
975
+ ),
976
+ ...l
977
+ }
978
+ );
979
+ }
980
+ function Oe({ className: a, type: l, ...d }) {
981
+ return /* @__PURE__ */ e(
982
+ "input",
983
+ {
984
+ type: l,
985
+ "data-slot": "input",
986
+ className: n(
987
+ "file:text-foreground placeholder:text-gray-400 selection:bg-primary selection:text-primary-foreground border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
988
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
989
+ "aria-invalid:ring-destructive/20 aria-invalid:border-destructive",
990
+ a
991
+ ),
992
+ ...d
993
+ }
994
+ );
995
+ }
996
+ function ot({
997
+ label: a,
998
+ placeholder: l,
999
+ type: d = "text",
1000
+ state: r = "default",
1001
+ hintText: c,
1002
+ value: s,
1003
+ onChange: t,
1004
+ required: m = !1,
1005
+ disabled: o = !1,
1006
+ id: f,
1007
+ className: g,
1008
+ size: h = "md",
1009
+ autoComplete: w = "off",
1010
+ autoCapitalize: S = "none",
1011
+ compact: C = !1
1012
+ }) {
1013
+ const [H, $] = V(!1), j = d === "password" && H ? "text" : d, B = f ? `${f}-hint` : void 0, W = () => {
1014
+ switch (r) {
1015
+ case "warning":
1016
+ return "border-yellow-500 focus-visible:ring-yellow-500";
1017
+ case "error":
1018
+ return "border-red-500 focus-visible:ring-red-500";
1019
+ default:
1020
+ return "";
1021
+ }
1022
+ }, I = () => {
1023
+ switch (r) {
1024
+ case "warning":
1025
+ return /* @__PURE__ */ e(Ne, { className: "text-yellow-500 size-[20px]" });
1026
+ case "error":
1027
+ return /* @__PURE__ */ e(ze, { className: "text-red-500 size-[20px]" });
1028
+ default:
1029
+ return null;
1030
+ }
1031
+ }, q = () => {
1032
+ switch (r) {
1033
+ case "warning":
1034
+ return "text-yellow-500";
1035
+ case "error":
1036
+ return "text-red-500";
1037
+ default:
1038
+ return "text-neutral-500";
1039
+ }
1040
+ }, L = () => {
1041
+ switch (h) {
1042
+ case "sm":
1043
+ return "h-9 text-sm w-40";
1044
+ case "md":
1045
+ return "h-12 text-base w-64";
1046
+ case "lg":
1047
+ return "h-14 text-lg w-80";
1048
+ case "full":
1049
+ return "h-12 w-full";
1050
+ default:
1051
+ return "h-12 w-64";
1052
+ }
1053
+ }, v = () => d === "password" || r !== "default" ? "pr-11" : "";
1054
+ return /* @__PURE__ */ u("div", { className: `flex flex-col ${C ? "gap-0" : "gap-1"} w-full`, children: [
1055
+ a && /* @__PURE__ */ u(Te, { htmlFor: f, className: "text-[14px] font-semibold flex items-center", children: [
1056
+ /* @__PURE__ */ e("span", { children: a }),
1057
+ m && /* @__PURE__ */ e("span", { className: "text-red-500 -ml-1 inline-flex", children: "*" })
1058
+ ] }),
1059
+ /* @__PURE__ */ u("div", { className: n("relative", h === "full" ? "w-full" : "w-fit"), children: [
1060
+ /* @__PURE__ */ e(
1061
+ Oe,
1062
+ {
1063
+ id: f,
1064
+ type: j,
1065
+ placeholder: l,
1066
+ value: s,
1067
+ onChange: (b) => t == null ? void 0 : t(b.target.value),
1068
+ disabled: o,
1069
+ "aria-required": m ? "true" : "false",
1070
+ "aria-describedby": c ? B : void 0,
1071
+ required: !1,
1072
+ onInvalid: (b) => b.preventDefault(),
1073
+ autoComplete: w,
1074
+ autoCapitalize: S,
1075
+ className: n(
1076
+ L(),
1077
+ W(),
1078
+ v(),
1079
+ o && "opacity-50 cursor-not-allowed",
1080
+ g
1081
+ )
1082
+ }
1083
+ ),
1084
+ d === "password" && /* @__PURE__ */ e(
1085
+ "button",
1086
+ {
1087
+ type: "button",
1088
+ onClick: () => $((b) => !b),
1089
+ className: "absolute top-1/2 right-3 -translate-y-1/2 p-0 m-0 bg-transparent border-none outline-none",
1090
+ tabIndex: -1,
1091
+ children: H ? /* @__PURE__ */ e(ve, { className: "size-[20px] text-gray-500" }) : /* @__PURE__ */ e(we, { className: "size-[20px] text-gray-500" })
1092
+ }
1093
+ ),
1094
+ d !== "password" && r !== "default" && /* @__PURE__ */ e("span", { className: "absolute top-1/2 right-3 -translate-y-1/2 flex items-center", children: I() })
1095
+ ] }),
1096
+ /* @__PURE__ */ e("div", { className: `${C ? "h-3 mt-0" : "h-5 mt-1"}`, children: c && /* @__PURE__ */ e("p", { id: B, className: n("text-[12px]", q()), children: c }) })
1097
+ ] });
1098
+ }
1099
+ export {
1100
+ et as AlertBox,
1101
+ M as Button,
1102
+ Ce as ButtonLink,
1103
+ tt as CalendarInput,
1104
+ rt as CustomEditor,
1105
+ nt as InputCounter,
1106
+ at as RangeDatePicker,
1107
+ Ee as SearchInput,
1108
+ ot as TextField,
1109
+ z as Typography,
1110
+ A as buttonLinkVariants,
1111
+ Se as buttonVariants
1112
+ };