prometeo-design-system 2.9.5 → 2.9.7

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.
Files changed (60) hide show
  1. package/dist/Button.es.js +9 -9
  2. package/dist/{CardProfile-CsytJlKZ.js → CardProfile-WHoeSibd.js} +8 -8
  3. package/dist/CardProfile.es.js +1 -1
  4. package/dist/CheckBox.es.js +4 -4
  5. package/dist/DatePicker-CbXUUnv7.js +3568 -0
  6. package/dist/DatePicker.es.js +3 -3439
  7. package/dist/DrawerDesktop.d.ts +6 -0
  8. package/dist/DrawerDesktop.es.js +211 -0
  9. package/dist/DrawerMobile.d.ts +6 -0
  10. package/dist/DrawerMobile.es.js +242 -0
  11. package/dist/DropZone.es.js +5 -5
  12. package/dist/FAButton.es.js +1 -1
  13. package/dist/{HelperComponent-g_xuKWzK.js → HelperComponent-BeNlTMqI.js} +7 -7
  14. package/dist/Icons/Icons.d.ts +1 -1
  15. package/dist/Icons.d.ts +0 -4
  16. package/dist/Icons.es.js +1119 -3
  17. package/dist/Image.es.js +29 -29
  18. package/dist/{ImageGallery-Ckxg9OIC.js → ImageGallery-WKzUevOQ.js} +34 -34
  19. package/dist/ImageGallery.es.js +1 -1
  20. package/dist/{Input-Cck37DpG.js → Input-Cf8P1QJv.js} +30 -31
  21. package/dist/Input.es.js +1 -1
  22. package/dist/InputMultiple.es.js +34 -34
  23. package/dist/Logo.es.js +1 -1
  24. package/dist/OtpInput.es.js +43 -43
  25. package/dist/RadioButton.es.js +1 -1
  26. package/dist/RecurrentDatePicker.d.ts +2 -0
  27. package/dist/RecurrentDatePicker.es.js +694 -0
  28. package/dist/RecurrentDatePickerRRule.d.ts +2 -0
  29. package/dist/RecurrentDatePickerRRule.es.js +1684 -0
  30. package/dist/{Select-BD5FTxVw.js → Select-DeKi15Iu.js} +31 -32
  31. package/dist/Select.es.js +1 -1
  32. package/dist/SelectSearch.es.js +1 -1
  33. package/dist/Spinner.es.js +172 -46
  34. package/dist/Steps.es.js +1 -1
  35. package/dist/Toast.es.js +22 -22
  36. package/dist/Tooltip.es.js +1 -1
  37. package/dist/components/Drawer/DrawerDesktop.d.ts +1 -0
  38. package/dist/components/Drawer/useDrawerDesktop.d.ts +1 -1
  39. package/dist/components/RecurrentDatePicker/PreviewCalendar.d.ts +4 -1
  40. package/dist/components/RecurrentDatePicker/RecurrentDatePicker.d.ts +4 -4
  41. package/dist/components/RecurrentDatePicker/RecurrentDatePickerRRule.d.ts +13 -0
  42. package/dist/components/RecurrentDatePicker/recurrentDatePicker.validations.d.ts +3 -3
  43. package/dist/components/Spinner/Spinner.d.ts +6 -6
  44. package/dist/exports/DrawerDesktop.d.ts +4 -0
  45. package/dist/exports/DrawerMobile.d.ts +4 -0
  46. package/dist/exports/Icons.d.ts +1 -2
  47. package/dist/exports/RecurrentDatePicker.d.ts +5 -0
  48. package/dist/exports/RecurrentDatePickerRRule.d.ts +2 -0
  49. package/dist/exports/Spinner.d.ts +2 -1
  50. package/dist/index.d.ts +8 -3
  51. package/dist/prometeo-design-system.es.js +412 -762
  52. package/dist/styles.css +1 -0
  53. package/dist/styles.d.ts +1 -0
  54. package/package.json +27 -6
  55. package/src/styles/app.css +1 -1313
  56. package/src/styles/base.css +1331 -0
  57. package/src/styles/utilities.css +24 -36
  58. package/dist/Icons-DtFC5DJ7.js +0 -1079
  59. package/dist/components/Spinner/SpinnerV2.d.ts +0 -12
  60. package/dist/prometeo-design-system.css +0 -1
@@ -0,0 +1,694 @@
1
+ import { j as r } from "./jsx-runtime-DKDX3adD.js";
2
+ import O, { useMemo as D, memo as b, useRef as M, useCallback as g, useState as L, useEffect as W } from "react";
3
+ import { D as I } from "./DatePicker-CbXUUnv7.js";
4
+ import { S as f } from "./Select-DeKi15Iu.js";
5
+ import { I as R } from "./Input-Cf8P1QJv.js";
6
+ import _ from "./CheckBox.es.js";
7
+ import { c as p } from "./cn-B6yFEsav.js";
8
+ import { H as A } from "./HelperComponent-BeNlTMqI.js";
9
+ import w from "./RadioButton.es.js";
10
+ const B = [
11
+ {
12
+ value: "monday",
13
+ label: "Lunes",
14
+ short: "L"
15
+ },
16
+ {
17
+ value: "tuesday",
18
+ label: "Martes",
19
+ short: "M"
20
+ },
21
+ {
22
+ value: "wednesday",
23
+ label: "Miércoles",
24
+ short: "M"
25
+ },
26
+ {
27
+ value: "thursday",
28
+ label: "Jueves",
29
+ short: "J"
30
+ },
31
+ {
32
+ value: "friday",
33
+ label: "Viernes",
34
+ short: "V"
35
+ },
36
+ {
37
+ value: "saturday",
38
+ label: "Sábado",
39
+ short: "S"
40
+ },
41
+ {
42
+ value: "sunday",
43
+ label: "Domingo",
44
+ short: "D"
45
+ }
46
+ ], E = (e) => {
47
+ const {
48
+ options: a = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"],
49
+ labelVariant: s = "short",
50
+ value: u = [],
51
+ onChange: c,
52
+ label: d,
53
+ required: m = !1,
54
+ error: h
55
+ } = e, o = D(
56
+ () => B.filter((n) => a.includes(n.value)),
57
+ [a]
58
+ ), i = (n) => {
59
+ const t = n.target.value;
60
+ if (!t) return u;
61
+ const l = n.target.checked ? [...u, t] : u.filter((y) => y !== t);
62
+ c(l);
63
+ };
64
+ return /* @__PURE__ */ r.jsxs(
65
+ "div",
66
+ {
67
+ className: p(
68
+ "flex flex-col gap-1 relative"
69
+ ),
70
+ children: [
71
+ d && /* @__PURE__ */ r.jsxs(
72
+ "p",
73
+ {
74
+ className: p(
75
+ "ml-3",
76
+ "prometeo-fonts-label-large text-neutral-medium-default"
77
+ ),
78
+ children: [
79
+ d,
80
+ m && /* @__PURE__ */ r.jsx("span", { children: " *" })
81
+ ]
82
+ }
83
+ ),
84
+ /* @__PURE__ */ r.jsx("div", { className: "flex gap-2 justify-between w-full", children: o?.map((n) => /* @__PURE__ */ r.jsxs(
85
+ "div",
86
+ {
87
+ className: p(
88
+ "flex flex-col items-center justify-center gap-1",
89
+ "h-18 w-12"
90
+ ),
91
+ children: [
92
+ /* @__PURE__ */ r.jsx(
93
+ _,
94
+ {
95
+ value: n.value,
96
+ onChange: i,
97
+ checked: u.includes(n.value)
98
+ }
99
+ ),
100
+ /* @__PURE__ */ r.jsx(
101
+ "p",
102
+ {
103
+ className: p(
104
+ "z-20",
105
+ s === "large" && "text-[11px]"
106
+ ),
107
+ children: s === "short" ? n.short : n.label
108
+ }
109
+ )
110
+ ]
111
+ },
112
+ n.value
113
+ )) }),
114
+ h && /* @__PURE__ */ r.jsx(A, { variant: "error", children: h })
115
+ ]
116
+ }
117
+ );
118
+ }, x = O.memo(E, (e, a) => e.value === a.value);
119
+ x.displayName = "WeekdaysSelector";
120
+ const P = ({ value: e, onChange: a, errors: s }) => {
121
+ const u = [
122
+ {
123
+ singularLabel: "Semana",
124
+ pluralLabel: "Semanas",
125
+ value: "weekly",
126
+ maxInterval: 52
127
+ },
128
+ {
129
+ singularLabel: "Mes",
130
+ pluralLabel: "Meses",
131
+ value: "monthly",
132
+ maxInterval: 12
133
+ }
134
+ ], c = D(
135
+ () => u.find((n) => n.value === e?.frequency)?.maxInterval,
136
+ [e?.frequency]
137
+ ), d = (n) => {
138
+ if (n === "") {
139
+ a({
140
+ kind: "setInterval",
141
+ interval: 1
142
+ });
143
+ return;
144
+ }
145
+ const t = Number(n);
146
+ if (console.log("parsedValue", t), Number.isNaN(t))
147
+ return;
148
+ let l = t;
149
+ if (c && t > c && e?.interval === c) {
150
+ const k = n[n.length - 1], S = Number(k);
151
+ Number.isNaN(S) || (l = S);
152
+ }
153
+ let y = l;
154
+ c ? y < 1 ? y = 1 : y > c && (y = c) : y < 1 && (y = 1), a({
155
+ kind: "setInterval",
156
+ interval: y
157
+ });
158
+ }, m = (n) => {
159
+ if (!n)
160
+ return;
161
+ const t = {
162
+ kind: "setFrequency",
163
+ frequency: n.value
164
+ };
165
+ a(t);
166
+ }, h = (n) => {
167
+ a({
168
+ kind: "setWeekdays",
169
+ weekdays: n
170
+ });
171
+ }, o = (n) => {
172
+ if (!n)
173
+ return;
174
+ const t = {
175
+ kind: "setDayOfMonth",
176
+ dayOfMonth: n.value
177
+ };
178
+ a(t);
179
+ }, i = Array.from(
180
+ { length: 28 },
181
+ (n, t) => t + 1
182
+ ).map((n) => ({ value: n.toString(), label: n.toString() })).concat([{ value: "last", label: "último" }]);
183
+ return /* @__PURE__ */ r.jsxs("div", { children: [
184
+ /* @__PURE__ */ r.jsxs("div", { className: "flex items-start gap-2 w-full mb-5", children: [
185
+ /* @__PURE__ */ r.jsx(
186
+ R,
187
+ {
188
+ type: "number",
189
+ min: 1,
190
+ max: c,
191
+ label: "Cada",
192
+ onChange: (n) => d(n.target.value),
193
+ value: e?.interval?.toString(),
194
+ name: "interval",
195
+ labelVariant: "static",
196
+ className: "w-1/2",
197
+ variant: s?.interval ? "error" : "default",
198
+ errorComponent: s?.interval
199
+ }
200
+ ),
201
+ /* @__PURE__ */ r.jsx("div", { className: "pt-2 w-1/2", children: /* @__PURE__ */ r.jsx(
202
+ f,
203
+ {
204
+ label: "",
205
+ labelVariant: "static",
206
+ options: u,
207
+ optionLabel: (n) => Number(e?.interval) > 1 ? n.pluralLabel : n.singularLabel,
208
+ optionValue: "value",
209
+ value: e?.frequency,
210
+ onChange: m,
211
+ name: "frequency",
212
+ dropdownOptions: {
213
+ hideSearchBar: !0
214
+ }
215
+ }
216
+ ) })
217
+ ] }),
218
+ /* @__PURE__ */ r.jsxs("div", { children: [
219
+ e?.frequency === "weekly" && /* @__PURE__ */ r.jsx(
220
+ x,
221
+ {
222
+ label: "Los días",
223
+ value: e?.weekdays,
224
+ onChange: h,
225
+ required: !0,
226
+ error: s?.weekdays
227
+ }
228
+ ),
229
+ e?.frequency === "monthly" && /* @__PURE__ */ r.jsx(
230
+ f,
231
+ {
232
+ options: i,
233
+ optionLabel: "label",
234
+ optionValue: "value",
235
+ label: "El día",
236
+ value: e?.dayOfMonth?.toString(),
237
+ onChange: o,
238
+ name: "dayOfMonth",
239
+ variant: s?.dayOfMonth ? "error" : "default",
240
+ errorComponent: s?.dayOfMonth,
241
+ dropdownOptions: { hideSearchBar: !0 }
242
+ }
243
+ )
244
+ ] })
245
+ ] });
246
+ }, C = O.memo(
247
+ P,
248
+ (e, a) => e.value === a.value
249
+ );
250
+ C.displayName = "CustomFrequencySettings";
251
+ const T = [
252
+ {
253
+ value: "first",
254
+ label: "Primer"
255
+ },
256
+ {
257
+ value: "second",
258
+ label: "Segundo"
259
+ },
260
+ {
261
+ value: "third",
262
+ label: "Tercer"
263
+ },
264
+ {
265
+ value: "fourth",
266
+ label: "Cuarto"
267
+ },
268
+ {
269
+ value: "last",
270
+ label: "Último"
271
+ }
272
+ ], z = [
273
+ { value: "monday", label: "Lunes" },
274
+ { value: "tuesday", label: "Martes" },
275
+ { value: "wednesday", label: "Miércoles" },
276
+ { value: "thursday", label: "Jueves" },
277
+ { value: "friday", label: "Viernes" },
278
+ { value: "saturday", label: "Sábado" },
279
+ { value: "sunday", label: "Domingo" }
280
+ ], J = ({ value: e, onChange: a, errors: s }) => {
281
+ const u = M(e);
282
+ u.current = e;
283
+ const c = g((i) => {
284
+ const n = i.target.value;
285
+ a({ kind: "setType", newType: n });
286
+ }, [a]), d = g((i) => {
287
+ !i || !u.current || u.current.type !== "relative" || a({ kind: "setRelativeDayOrder", newDayOrder: i.value });
288
+ }, [a, e]), m = g((i) => {
289
+ !i || !u.current || u.current.type !== "relative" || a({ kind: "setRelativeWeekDay", newWeekDay: i.value });
290
+ }, [a, e]), h = g((i) => {
291
+ !i || !u.current || u.current.type !== "absolute" || a({ kind: "setAbsoluteDayOfMonth", newDayOfMonth: i.value });
292
+ }, [a, e]), o = Array.from({ length: 28 }, (i, n) => n + 1).map((i) => ({ value: String(i), label: i.toString() })).concat([
293
+ { value: "last", label: "Último" }
294
+ ]);
295
+ return /* @__PURE__ */ r.jsxs("div", { className: "flex flex-col gap-6 items-start", children: [
296
+ /* @__PURE__ */ r.jsxs("div", { className: "flex gap-2 items-start relative w-full", children: [
297
+ /* @__PURE__ */ r.jsx(
298
+ w,
299
+ {
300
+ name: "monthly-type",
301
+ value: "relative",
302
+ className: "mt-7",
303
+ onChange: c,
304
+ checked: e?.type === "relative"
305
+ }
306
+ ),
307
+ /* @__PURE__ */ r.jsx(
308
+ f,
309
+ {
310
+ label: "El",
311
+ options: T,
312
+ optionLabel: "label",
313
+ optionValue: "value",
314
+ value: e?.type === "relative" ? e.dayOrder : void 0,
315
+ onChange: d,
316
+ labelVariant: "static",
317
+ disabled: e?.type !== "relative",
318
+ variant: s?.dayOrder ? "error" : "default",
319
+ errorComponent: s?.dayOrder,
320
+ dropdownOptions: {
321
+ hideSearchBar: !0
322
+ }
323
+ }
324
+ ),
325
+ /* @__PURE__ */ r.jsx(
326
+ f,
327
+ {
328
+ label: " ",
329
+ labelVariant: "static",
330
+ options: z,
331
+ optionLabel: "label",
332
+ optionValue: "value",
333
+ value: e?.type === "relative" ? e.weekDay : void 0,
334
+ disabled: e?.type !== "relative",
335
+ dropdownOptions: {
336
+ hideSearchBar: !0
337
+ },
338
+ onChange: m,
339
+ variant: s?.weekDay ? "error" : "default",
340
+ errorComponent: s?.weekDay,
341
+ className: "pt-6"
342
+ }
343
+ )
344
+ ] }),
345
+ /* @__PURE__ */ r.jsxs("div", { className: "flex items-start w-full gap-2", children: [
346
+ /* @__PURE__ */ r.jsx(
347
+ w,
348
+ {
349
+ name: "monthly-type",
350
+ className: "mt-7",
351
+ value: "absolute",
352
+ onChange: c,
353
+ checked: e?.type === "absolute"
354
+ }
355
+ ),
356
+ /* @__PURE__ */ r.jsx(
357
+ f,
358
+ {
359
+ label: "El día",
360
+ options: o,
361
+ optionLabel: "label",
362
+ optionValue: "value",
363
+ value: e?.type === "absolute" ? String(e.dayOfMonth) : void 0,
364
+ onChange: h,
365
+ labelVariant: "static",
366
+ disabled: e?.type !== "absolute",
367
+ variant: s?.dayOfMonth ? "error" : "default",
368
+ errorComponent: s?.dayOfMonth,
369
+ dropdownOptions: {
370
+ hideSearchBar: !0
371
+ }
372
+ }
373
+ )
374
+ ] })
375
+ ] });
376
+ }, j = b(J);
377
+ j.displayName = "MonthlyFrequencySettings";
378
+ const Y = ({ value: e, onChange: a, error: s }) => /* @__PURE__ */ r.jsx(
379
+ x,
380
+ {
381
+ label: "Los días",
382
+ value: e,
383
+ onChange: a,
384
+ required: !0,
385
+ error: s
386
+ }
387
+ ), N = b(Y);
388
+ N.displayName = "WeeklyFrequencySettings";
389
+ const H = [
390
+ { value: 1, label: "Enero" },
391
+ { value: 2, label: "Febrero" },
392
+ { value: 3, label: "Marzo" },
393
+ { value: 4, label: "Abril" },
394
+ { value: 5, label: "Mayo" },
395
+ { value: 6, label: "Junio" },
396
+ { value: 7, label: "Julio" },
397
+ { value: 8, label: "Agosto" },
398
+ { value: 9, label: "Septiembre" },
399
+ { value: 10, label: "Octubre" },
400
+ { value: 11, label: "Noviembre" },
401
+ { value: 12, label: "Diciembre" }
402
+ ], $ = ({ value: e, onChange: a, errors: s }) => {
403
+ const u = (o) => {
404
+ o && a({ kind: "setDay", newDay: o.value });
405
+ }, c = (o) => {
406
+ o && (e?.day && !d(o.value) ? a({ kind: "setMonth", newMonth: o.value, newDay: void 0 }) : a({ kind: "setMonth", newMonth: o.value }));
407
+ }, d = (o) => o ? m[e?.month]?.includes(o) : !1, m = {
408
+ 2: [29, 30, 31],
409
+ 4: [31],
410
+ 6: [31],
411
+ 9: [31],
412
+ 11: [31]
413
+ }, h = [...Array.from({ length: 31 }, (o, i) => i + 1).filter((o) => !m[e?.month]?.includes(o))];
414
+ return /* @__PURE__ */ r.jsxs(
415
+ "div",
416
+ {
417
+ className: "flex items-start gap-2",
418
+ children: [
419
+ /* @__PURE__ */ r.jsx(
420
+ f,
421
+ {
422
+ name: "day",
423
+ label: "Día",
424
+ options: h,
425
+ optionLabel: (o) => o.toString(),
426
+ optionValue: (o) => o.toString(),
427
+ value: e?.day,
428
+ onChange: u,
429
+ labelVariant: "static",
430
+ variant: s?.day ? "error" : "default",
431
+ errorComponent: s?.day,
432
+ dropdownOptions: {
433
+ hideSearchBar: !0
434
+ }
435
+ }
436
+ ),
437
+ /* @__PURE__ */ r.jsx(
438
+ f,
439
+ {
440
+ name: "month",
441
+ label: "Mes",
442
+ options: H,
443
+ optionLabel: "label",
444
+ optionValue: "value",
445
+ value: e?.month,
446
+ onChange: c,
447
+ labelVariant: "static",
448
+ variant: s?.month ? "error" : "default",
449
+ errorComponent: s?.month,
450
+ dropdownOptions: {
451
+ hideSearchBar: !0
452
+ }
453
+ }
454
+ )
455
+ ]
456
+ }
457
+ );
458
+ }, V = b($);
459
+ V.displayName = "YearlyFrequencySettings";
460
+ const G = {
461
+ weekly: "El ticket se generará los días que seleccione todas las semanas",
462
+ monthly: "El ticket se generará todos los meses en la frecuencia que seleccione",
463
+ yearly: "El ticket se generará una vez por año en el día y mes que seleccione",
464
+ custom: "El ticket se generará de acuerdo al intervalo y unidad de tiempo que seleccione"
465
+ }, K = (e) => {
466
+ const { frequency: a } = e, s = {
467
+ type: "relative",
468
+ dayOrder: "first",
469
+ weekDay: "monday"
470
+ }, u = {
471
+ type: "absolute",
472
+ dayOfMonth: "1"
473
+ }, c = (t, l) => {
474
+ const y = t.type === "relative" ? t : s, v = t.type === "absolute" ? t : u;
475
+ switch (l.kind) {
476
+ case "setType":
477
+ return l.newType === "relative" ? y : v;
478
+ case "setRelativeDayOrder":
479
+ return { ...y, dayOrder: l.newDayOrder };
480
+ case "setRelativeWeekDay":
481
+ return { ...y, weekDay: l.newWeekDay };
482
+ case "setAbsoluteDayOfMonth":
483
+ return { ...v, dayOfMonth: l.newDayOfMonth };
484
+ }
485
+ }, d = (t) => {
486
+ e.onChange((l) => c(l, t));
487
+ }, m = (t, l) => {
488
+ switch (l.kind) {
489
+ case "setMonth":
490
+ return l.newMonth ? { ...t, month: l.newMonth, day: l?.newDay || t?.day } : t;
491
+ case "setDay":
492
+ return l.newDay ? { ...t, day: l.newDay } : t;
493
+ }
494
+ }, h = (t) => {
495
+ e.onChange((l) => m(l, t));
496
+ }, o = (t) => {
497
+ e.onChange(t);
498
+ }, i = (t, l) => {
499
+ switch (l.kind) {
500
+ case "setInterval":
501
+ return { ...t, interval: l.interval };
502
+ case "setFrequency":
503
+ return { ...t, frequency: l.frequency, interval: 1 };
504
+ case "setWeekdays":
505
+ return { ...t, weekdays: l.weekdays };
506
+ case "setDayOfMonth":
507
+ return { ...t, dayOfMonth: l.dayOfMonth };
508
+ }
509
+ }, n = (t) => {
510
+ e.onChange((l) => i(l, t));
511
+ };
512
+ return /* @__PURE__ */ r.jsxs("div", { children: [
513
+ /* @__PURE__ */ r.jsx("p", { className: " prometeo-fonts-body-large mb-6", children: G[a] }),
514
+ a === "weekly" && /* @__PURE__ */ r.jsx(
515
+ N,
516
+ {
517
+ value: e.frequencySettings,
518
+ onChange: o,
519
+ error: e.errors?.weeklyWeekdays
520
+ }
521
+ ),
522
+ a === "monthly" && /* @__PURE__ */ r.jsx(
523
+ j,
524
+ {
525
+ onChange: d,
526
+ value: e.frequencySettings,
527
+ errors: {
528
+ dayOrder: e.errors?.monthlyDayOrder,
529
+ weekDay: e.errors?.monthlyWeekDay,
530
+ dayOfMonth: e.errors?.monthlyDayOfMonth
531
+ }
532
+ }
533
+ ),
534
+ a === "yearly" && /* @__PURE__ */ r.jsx(
535
+ V,
536
+ {
537
+ onChange: h,
538
+ value: e.frequencySettings,
539
+ errors: {
540
+ month: e.errors?.yearlyMonth,
541
+ day: e.errors?.yearlyDay
542
+ }
543
+ }
544
+ ),
545
+ a === "custom" && /* @__PURE__ */ r.jsx(
546
+ C,
547
+ {
548
+ onChange: n,
549
+ value: e.frequencySettings,
550
+ errors: {
551
+ interval: e.errors?.customInterval,
552
+ weekdays: e.errors?.customWeekdays,
553
+ dayOfMonth: e.errors?.customDayOfMonth
554
+ }
555
+ }
556
+ )
557
+ ] });
558
+ }, F = b(
559
+ K,
560
+ (e, a) => e.frequency === a.frequency && e.frequencySettings === a.frequencySettings && e.onChange === a.onChange && e.errors === a.errors
561
+ );
562
+ F.displayName = "FrequencySettings";
563
+ const Q = [
564
+ {
565
+ label: "Semanalmente",
566
+ value: "weekly"
567
+ },
568
+ {
569
+ label: "Mensualmente",
570
+ value: "monthly"
571
+ },
572
+ {
573
+ label: "Anualmente",
574
+ value: "yearly"
575
+ },
576
+ {
577
+ label: "Personalizado",
578
+ value: "custom"
579
+ }
580
+ ], q = {
581
+ weekly: [],
582
+ monthly: {
583
+ type: "relative",
584
+ dayOrder: "first",
585
+ weekDay: "monday"
586
+ },
587
+ yearly: {
588
+ month: 1,
589
+ day: void 0
590
+ },
591
+ custom: {
592
+ interval: 1,
593
+ frequency: "weekly",
594
+ weekdays: []
595
+ }
596
+ }, U = (e) => {
597
+ const a = e.value, s = a !== void 0, [u, c] = L(
598
+ () => e.value ?? e.defaultValue ?? {
599
+ frequency: "weekly",
600
+ startDate: /* @__PURE__ */ new Date(),
601
+ frequencySettings: q.weekly
602
+ }
603
+ ), d = s ? a : u, m = M(!1);
604
+ W(() => {
605
+ if (!s) {
606
+ if (!m.current) {
607
+ m.current = !0;
608
+ return;
609
+ }
610
+ e.onChange?.(u);
611
+ }
612
+ }, [u, s, e.onChange]);
613
+ const h = (t) => {
614
+ if (s) {
615
+ const y = typeof t == "function" ? t(a ?? u) : t;
616
+ e.onChange?.(y);
617
+ return;
618
+ }
619
+ c(typeof t == "function" ? (l) => t(l) : t);
620
+ }, o = (t) => {
621
+ if (!t)
622
+ return;
623
+ const l = t.value, y = q[l];
624
+ h((v) => ({
625
+ ...v,
626
+ frequency: l,
627
+ frequencySettings: y
628
+ }));
629
+ }, i = (t) => {
630
+ h(typeof t == "function" ? (l) => ({ ...l, frequencySettings: t(l.frequencySettings) }) : (l) => ({ ...l, frequencySettings: t }));
631
+ }, n = (t) => {
632
+ t && h((l) => ({
633
+ ...l,
634
+ startDate: t
635
+ }));
636
+ };
637
+ return /* @__PURE__ */ r.jsxs("div", { className: "w-full flex flex-col gap-6", children: [
638
+ /* @__PURE__ */ r.jsxs("div", { className: "flex max-w-full flex-wrap gap-4", children: [
639
+ /* @__PURE__ */ r.jsx("div", { className: "flex gap-2 items-end w-full justify-between", children: /* @__PURE__ */ r.jsx(
640
+ I,
641
+ {
642
+ selected: d?.startDate,
643
+ onSelect: n,
644
+ label: "Fecha inicio de generación",
645
+ inputProps: {
646
+ autoComplete: "off",
647
+ labelVariant: "static",
648
+ className: "mt-[11px] flex-1",
649
+ ...e.errors?.startDate ? {
650
+ variant: "error",
651
+ errorComponent: e.errors.startDate
652
+ } : {}
653
+ }
654
+ }
655
+ ) }),
656
+ /* @__PURE__ */ r.jsx(
657
+ f,
658
+ {
659
+ className: "min-w-full",
660
+ multiple: !1,
661
+ value: d.frequency,
662
+ options: Q,
663
+ label: "Repetir",
664
+ optionLabel: "label",
665
+ optionValue: "value",
666
+ onChange: o,
667
+ labelVariant: "static",
668
+ dropdownOptions: {
669
+ hideSearchBar: !0
670
+ }
671
+ }
672
+ )
673
+ ] }),
674
+ /* @__PURE__ */ r.jsx(
675
+ "div",
676
+ {
677
+ className: "border-b border-neutral-strong-default w-full min-w-full "
678
+ }
679
+ ),
680
+ /* @__PURE__ */ r.jsx(
681
+ F,
682
+ {
683
+ frequency: d.frequency,
684
+ frequencySettings: d.frequencySettings,
685
+ onChange: i,
686
+ errors: e.errors?.frequencySettings
687
+ }
688
+ )
689
+ ] });
690
+ }, X = b(U);
691
+ X.displayName = "RecurrentDatePicker";
692
+ export {
693
+ X as RecurrentDatePicker
694
+ };
@@ -0,0 +1,2 @@
1
+ export * from './exports/RecurrentDatePickerRRule'
2
+ export {}