@mngh/jalali-datepicker 1.0.0 → 1.0.1

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 (100) hide show
  1. package/README.md +665 -8
  2. package/dist/a11y/aria-helpers.d.ts +7 -0
  3. package/dist/a11y/aria-helpers.d.ts.map +1 -0
  4. package/dist/a11y/keyboard-navigation.d.ts +3 -0
  5. package/dist/a11y/keyboard-navigation.d.ts.map +1 -0
  6. package/dist/a11y/types.d.ts +20 -0
  7. package/dist/a11y/types.d.ts.map +1 -0
  8. package/dist/a11y/useCalendarKeyboard.d.ts +9 -0
  9. package/dist/a11y/useCalendarKeyboard.d.ts.map +1 -0
  10. package/dist/components/DayCell.d.ts +19 -0
  11. package/dist/components/DayCell.d.ts.map +1 -0
  12. package/dist/components/Header.d.ts +15 -0
  13. package/dist/components/Header.d.ts.map +1 -0
  14. package/dist/components/JalaliDatePicker.d.ts +56 -0
  15. package/dist/components/JalaliDatePicker.d.ts.map +1 -0
  16. package/dist/components/MonthYearPicker.d.ts +11 -0
  17. package/dist/components/MonthYearPicker.d.ts.map +1 -0
  18. package/dist/components/Weekdays.d.ts +10 -0
  19. package/dist/components/Weekdays.d.ts.map +1 -0
  20. package/dist/components/dual-calendar/DualMonthCalendar.d.ts +4 -0
  21. package/dist/components/dual-calendar/DualMonthCalendar.d.ts.map +1 -0
  22. package/dist/components/dual-calendar/index.d.ts +3 -0
  23. package/dist/components/dual-calendar/index.d.ts.map +1 -0
  24. package/dist/components/dual-calendar/types.d.ts +29 -0
  25. package/dist/components/dual-calendar/types.d.ts.map +1 -0
  26. package/dist/components/footer/CalendarFooter.d.ts +9 -0
  27. package/dist/components/footer/CalendarFooter.d.ts.map +1 -0
  28. package/dist/components/footer/types.d.ts +28 -0
  29. package/dist/components/footer/types.d.ts.map +1 -0
  30. package/dist/components/masked-input/MaskedDateInput.d.ts +4 -0
  31. package/dist/components/masked-input/MaskedDateInput.d.ts.map +1 -0
  32. package/dist/components/masked-input/index.d.ts +4 -0
  33. package/dist/components/masked-input/index.d.ts.map +1 -0
  34. package/dist/components/masked-input/mask-utils.d.ts +11 -0
  35. package/dist/components/masked-input/mask-utils.d.ts.map +1 -0
  36. package/dist/components/masked-input/types.d.ts +37 -0
  37. package/dist/components/masked-input/types.d.ts.map +1 -0
  38. package/dist/core/calendar-grid.d.ts +10 -0
  39. package/dist/core/calendar-grid.d.ts.map +1 -0
  40. package/dist/core/constants.d.ts +14 -0
  41. package/dist/core/constants.d.ts.map +1 -0
  42. package/dist/core/jalali-helpers.d.ts +35 -0
  43. package/dist/core/jalali-helpers.d.ts.map +1 -0
  44. package/dist/core/jalali-math.d.ts +27 -0
  45. package/dist/core/jalali-math.d.ts.map +1 -0
  46. package/dist/core/types.d.ts +62 -0
  47. package/dist/core/types.d.ts.map +1 -0
  48. package/dist/events/event-utils.d.ts +7 -0
  49. package/dist/events/event-utils.d.ts.map +1 -0
  50. package/dist/events/index.d.ts +3 -0
  51. package/dist/events/index.d.ts.map +1 -0
  52. package/dist/events/types.d.ts +17 -0
  53. package/dist/events/types.d.ts.map +1 -0
  54. package/dist/formatters/jalali-formatter.d.ts +18 -0
  55. package/dist/formatters/jalali-formatter.d.ts.map +1 -0
  56. package/dist/formatters/persian-digits.d.ts +9 -0
  57. package/dist/formatters/persian-digits.d.ts.map +1 -0
  58. package/dist/holidays/index.d.ts +3 -0
  59. package/dist/holidays/index.d.ts.map +1 -0
  60. package/dist/holidays/iran-holidays.d.ts +11 -0
  61. package/dist/holidays/iran-holidays.d.ts.map +1 -0
  62. package/dist/holidays/types.d.ts +21 -0
  63. package/dist/holidays/types.d.ts.map +1 -0
  64. package/dist/hooks/types.d.ts +53 -0
  65. package/dist/hooks/types.d.ts.map +1 -0
  66. package/dist/hooks/useJalaliDatePicker.d.ts +17 -0
  67. package/dist/hooks/useJalaliDatePicker.d.ts.map +1 -0
  68. package/dist/index.cjs +1 -1
  69. package/dist/index.cjs.map +1 -1
  70. package/dist/index.d.ts +28 -1
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.mjs +369 -333
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/plugins/presets/PresetsBar.d.ts +4 -0
  75. package/dist/plugins/presets/PresetsBar.d.ts.map +1 -0
  76. package/dist/plugins/presets/default-presets.d.ts +6 -0
  77. package/dist/plugins/presets/default-presets.d.ts.map +1 -0
  78. package/dist/plugins/presets/index.d.ts +4 -0
  79. package/dist/plugins/presets/index.d.ts.map +1 -0
  80. package/dist/plugins/presets/types.d.ts +38 -0
  81. package/dist/plugins/presets/types.d.ts.map +1 -0
  82. package/dist/plugins/time-picker/TimePicker.d.ts +4 -0
  83. package/dist/plugins/time-picker/TimePicker.d.ts.map +1 -0
  84. package/dist/plugins/time-picker/index.d.ts +4 -0
  85. package/dist/plugins/time-picker/index.d.ts.map +1 -0
  86. package/dist/plugins/time-picker/time-utils.d.ts +18 -0
  87. package/dist/plugins/time-picker/time-utils.d.ts.map +1 -0
  88. package/dist/plugins/time-picker/types.d.ts +36 -0
  89. package/dist/plugins/time-picker/types.d.ts.map +1 -0
  90. package/dist/theme/ThemeProvider.d.ts +5 -0
  91. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  92. package/dist/theme/style-slots.d.ts +46 -0
  93. package/dist/theme/style-slots.d.ts.map +1 -0
  94. package/dist/theme/tokens.d.ts +8 -0
  95. package/dist/theme/tokens.d.ts.map +1 -0
  96. package/dist/theme/types.d.ts +31 -0
  97. package/dist/theme/types.d.ts.map +1 -0
  98. package/package.json +39 -6
  99. package/dist/favicon.svg +0 -1
  100. package/dist/icons.svg +0 -24
package/dist/index.mjs CHANGED
@@ -193,26 +193,33 @@ function S(e) {
193
193
  }
194
194
  //#endregion
195
195
  //#region src/core/jalali-helpers.ts
196
- function C(e, t, n) {
196
+ function C(e) {
197
+ return _(e.getFullYear(), e.getMonth() + 1, e.getDate());
198
+ }
199
+ function w(e, t = 0, n = 0, r = 0) {
200
+ let i = v(e.year, e.month, e.day);
201
+ return i.setHours(t, n, r, 0), i;
202
+ }
203
+ function T(e, t, n) {
197
204
  return (v(e, t, n).getDay() + 1) % 7;
198
205
  }
199
- function w(e, t) {
206
+ function E(e, t) {
200
207
  let n = v(e.year, e.month, e.day);
201
208
  return n.setDate(n.getDate() + t), _(n.getFullYear(), n.getMonth() + 1, n.getDate());
202
209
  }
203
- var T = w;
204
- function E(e, t) {
210
+ var D = E;
211
+ function O(e, t) {
205
212
  return e.year === t.year ? e.month === t.month ? e.day === t.day ? 0 : e.day < t.day ? -1 : 1 : e.month < t.month ? -1 : 1 : e.year < t.year ? -1 : 1;
206
213
  }
207
- function D(e, t, n, r = !0) {
208
- let i = E(t, n) <= 0 ? t : n, a = E(t, n) <= 0 ? n : t, o = E(e, i), s = E(e, a);
214
+ function k(e, t, n, r = !0) {
215
+ let i = O(t, n) <= 0 ? t : n, a = O(t, n) <= 0 ? n : t, o = O(e, i), s = O(e, a);
209
216
  return r ? o >= 0 && s <= 0 : o > 0 && s < 0;
210
217
  }
211
- function O(e) {
212
- let t = w(e, -C(e.year, e.month, e.day));
213
- return [t, w(t, 6)];
218
+ function A(e) {
219
+ let t = E(e, -T(e.year, e.month, e.day));
220
+ return [t, E(t, 6)];
214
221
  }
215
- function k(e) {
222
+ function j(e) {
216
223
  let t = g(e.year, e.month);
217
224
  return [{
218
225
  year: e.year,
@@ -226,126 +233,105 @@ function k(e) {
226
233
  }
227
234
  //#endregion
228
235
  //#region src/hooks/useJalaliDatePicker.ts
229
- function A(e = {}) {
230
- let { mode: t = "single", value: r, defaultValue: i, onChange: o, initialViewDate: c, firstDayOfWeek: l = 0, minDate: u, maxDate: d, isDateDisabled: f } = e, [p, m] = s(() => i === void 0 ? t === "single" ? null : t === "range" ? [null, null] : [] : i), h = r === void 0 ? p : r, [g, _] = s(null), v = a(() => y(), []), [x, C] = s(() => {
231
- if (c) return c;
232
- if (t === "single" && h) return {
233
- year: h.year,
234
- month: h.month
235
- };
236
- if (t === "range" && h?.[0]) {
237
- let e = h[0];
238
- return {
239
- year: e.year,
240
- month: e.month
241
- };
242
- }
243
- return {
244
- year: v.year,
245
- month: v.month
246
- };
247
- }), w = n(() => {
248
- C((e) => e.month === 11 ? {
249
- year: e.year + 1,
250
- month: 0
251
- } : {
252
- year: e.year,
253
- month: e.month + 1
254
- });
255
- }, []), T = n(() => {
256
- C((e) => e.month === 0 ? {
257
- year: e.year - 1,
258
- month: 11
259
- } : {
260
- year: e.year,
261
- month: e.month - 1
262
- });
263
- }, []), O = n((e, t) => {
264
- C({
265
- year: e,
266
- month: t
267
- });
268
- }, []), k = n(() => {
269
- C({
270
- year: v.year,
271
- month: v.month
272
- });
273
- }, [v]), A = n((e) => {
274
- if (t === "single") return b(h, e);
275
- if (t === "range") {
276
- let [t, n] = h || [null, null];
277
- return b(t, e) || b(n, e);
278
- }
279
- return t === "multiple" && (h || []).some((t) => b(t, e));
280
- }, [t, h]), j = n((e) => {
281
- r === void 0 && m(e), o?.(e);
282
- }, [r, o]), M = n((e) => {
283
- if (t === "single") j(e);
284
- else if (t === "multiple") {
285
- let t = h || [], n = t.some((t) => b(t, e)) ? t.filter((t) => !b(t, e)) : [...t, e].sort(E);
286
- j(n);
287
- } else if (t === "range") {
288
- let [t, n] = h || [null, null];
289
- !t || t && n ? j([e, null]) : (E(e, t) < 0 ? j([e, t]) : j([t, e]), _(null));
236
+ function M(e = {}) {
237
+ let { mode: t = "single", value: r, defaultValue: i, initialViewDate: o, onChange: c, minDate: l, maxDate: u, isDateDisabled: d, firstDayOfWeek: f = 0 } = e, p = a(() => y(), []), [m, h] = s(() => i === void 0 ? t === "single" ? null : t === "range" ? [null, null] : [] : i), g = r === void 0 ? m : r, [_, v] = s(() => o ? o.year : i && !Array.isArray(i) ? i.year : p.year), [x, C] = s(() => o ? o.month : i && !Array.isArray(i) ? i.month : p.month), [w, T] = s(null), E = n((e, t) => {
238
+ v(e), C(t);
239
+ }, []), D = n(() => {
240
+ x === 0 ? (v((e) => e - 1), C(11)) : C((e) => e - 1);
241
+ }, [x]), O = n(() => {
242
+ x === 11 ? (v((e) => e + 1), C(0)) : C((e) => e + 1);
243
+ }, [x]), A = n(() => {
244
+ let e = y();
245
+ v(e.year), C(e.month);
246
+ }, []), j = n((e) => {
247
+ let n;
248
+ if (t === "single") n = e;
249
+ else if (t === "range") {
250
+ let [t, r] = g || [null, null];
251
+ n = !t || t && r ? [e, null] : e.year < t.year || e.year === t.year && e.month < t.month || e.year === t.year && e.month === t.month && e.day < t.day ? [e, t] : [t, e];
252
+ } else {
253
+ let t = g || [];
254
+ n = t.some((t) => b(t, e)) ? t.filter((t) => !b(t, e)) : [...t, e];
290
255
  }
256
+ r === void 0 && h(n), c?.(n);
291
257
  }, [
292
258
  t,
293
- h,
294
- j
295
- ]), N = n(() => {
296
- j(t === "single" ? null : t === "range" ? [null, null] : []);
297
- }, [t, j]), P = a(() => S({
298
- year: x.year,
299
- month: x.month,
300
- firstDayOfWeek: l,
301
- minDate: u,
302
- maxDate: d,
303
- isDateDisabled: f
304
- }), [
305
- x.year,
306
- x.month,
307
- l,
308
- u,
309
- d,
310
- f
311
- ]), F = a(() => {
312
- let e = t === "range" ? h?.[0] : null, n = (t === "range" ? h?.[1] : null) ?? (e && g ? g : null);
313
- return P.map((r) => {
314
- let i = A(r.jalali), a = !1, o = !1, s = !1;
315
- return t === "range" && e && (o = b(r.jalali, e), s = n ? b(r.jalali, n) : !1, n && (a = D(r.jalali, e, n))), {
316
- ...r,
317
- isSelected: i,
318
- isInRange: a,
319
- isRangeStart: o,
320
- isRangeEnd: s
321
- };
322
- });
259
+ g,
260
+ r,
261
+ c
262
+ ]), M = n(() => {
263
+ let e = t === "single" ? null : t === "range" ? [null, null] : [];
264
+ r === void 0 && h(e), c?.(e);
323
265
  }, [
324
- P,
325
266
  t,
326
- h,
327
- g,
328
- A
267
+ r,
268
+ c
329
269
  ]);
330
270
  return {
331
- selected: h,
332
- viewYear: x.year,
333
- viewMonth: x.month,
334
- grid: F,
335
- goToPrevMonth: T,
336
- goToNextMonth: w,
337
- setView: O,
338
- goToToday: k,
339
- selectDate: M,
340
- setHoverDate: _,
341
- clear: N,
342
- isDateSelected: A,
343
- hoverDate: g
271
+ selected: g,
272
+ viewYear: _,
273
+ viewMonth: x,
274
+ grid: a(() => {
275
+ let e = S({
276
+ year: _,
277
+ month: x,
278
+ firstDayOfWeek: f,
279
+ minDate: l,
280
+ maxDate: u,
281
+ isDateDisabled: d
282
+ });
283
+ if (t === "single") {
284
+ let t = g;
285
+ return e.map((e) => ({
286
+ ...e,
287
+ isSelected: t ? b(e.jalali, t) : !1
288
+ }));
289
+ }
290
+ if (t === "range") {
291
+ let [t, n] = g || [null, null], r = n ?? (t && w ? w : null);
292
+ return e.map((e) => {
293
+ let n = t ? b(e.jalali, t) : !1, i = r ? b(e.jalali, r) : !1, a = !1;
294
+ return t && r && (a = k(e.jalali, t, r)), {
295
+ ...e,
296
+ isSelected: n || i,
297
+ isInRange: a,
298
+ isRangeStart: n,
299
+ isRangeEnd: i
300
+ };
301
+ });
302
+ }
303
+ if (t === "multiple") {
304
+ let t = g || [];
305
+ return e.map((e) => ({
306
+ ...e,
307
+ isSelected: t.some((t) => b(t, e.jalali))
308
+ }));
309
+ }
310
+ return e;
311
+ }, [
312
+ _,
313
+ x,
314
+ f,
315
+ l,
316
+ u,
317
+ d,
318
+ t,
319
+ g,
320
+ w
321
+ ]),
322
+ goToPrevMonth: D,
323
+ goToNextMonth: O,
324
+ goToToday: A,
325
+ setView: E,
326
+ selectDate: j,
327
+ setHoverDate: T,
328
+ hoverDate: w,
329
+ clear: M
344
330
  };
345
331
  }
346
332
  //#endregion
347
333
  //#region src/a11y/keyboard-navigation.ts
348
- function j(e) {
334
+ function N(e) {
349
335
  let { currentFocused: t, key: n, isRtl: r = !0 } = e, { year: i, month: a, day: o } = t, s = !1, c = !0, l = r ? 1 : -1, u = r ? -1 : 1;
350
336
  switch (n) {
351
337
  case "ArrowRight":
@@ -392,13 +378,13 @@ function j(e) {
392
378
  }
393
379
  //#endregion
394
380
  //#region src/a11y/aria-helpers.ts
395
- function M(e) {
381
+ function P(e) {
396
382
  let t = m[(v(e.year, e.month, e.day).getDay() + 1) % 7], n = d[e.month];
397
383
  return `${t}، ${e.day} ${n} ${e.year}`;
398
384
  }
399
385
  //#endregion
400
386
  //#region src/a11y/useCalendarKeyboard.ts
401
- function N(e) {
387
+ function F(e) {
402
388
  let { viewYear: t, viewMonth: r, selectedDate: i, onSelectDate: a, onViewChange: o, isRtl: c = !0 } = e, [l, u] = s(() => i ?? {
403
389
  year: t,
404
390
  month: r,
@@ -412,7 +398,7 @@ function N(e) {
412
398
  e.preventDefault(), a(l);
413
399
  return;
414
400
  }
415
- let t = j({
401
+ let t = N({
416
402
  currentFocused: l,
417
403
  key: e.key,
418
404
  isRtl: c
@@ -429,7 +415,7 @@ function N(e) {
429
415
  }
430
416
  //#endregion
431
417
  //#region src/formatters/persian-digits.ts
432
- var P = [
418
+ var I = [
433
419
  "۰",
434
420
  "۱",
435
421
  "۲",
@@ -440,7 +426,7 @@ var P = [
440
426
  "۷",
441
427
  "۸",
442
428
  "۹"
443
- ], F = {
429
+ ], ee = {
444
430
  "۰": "0",
445
431
  "۱": "1",
446
432
  "۲": "2",
@@ -462,22 +448,22 @@ var P = [
462
448
  "٨": "8",
463
449
  "٩": "9"
464
450
  };
465
- function I(e) {
466
- return String(e).replace(/[0-9]/g, (e) => P[+e]);
467
- }
468
451
  function L(e) {
469
- return e.replace(/[۰-۹٠-٩]/g, (e) => F[e] ?? e);
452
+ return String(e).replace(/[0-9]/g, (e) => I[+e]);
453
+ }
454
+ function R(e) {
455
+ return e.replace(/[۰-۹٠-٩]/g, (e) => ee[e] ?? e);
470
456
  }
471
457
  //#endregion
472
458
  //#region src/formatters/jalali-formatter.ts
473
- function R(e, t = "YYYY/MM/DD", n = {}) {
459
+ function z(e, t = "YYYY/MM/DD", n = {}) {
474
460
  if (!e) return "";
475
461
  let { digitType: r = "persian" } = n, i = (v(e.year, e.month, e.day).getDay() + 1) % 7, a = String(e.year), o = a.slice(-2), s = e.month + 1, c = s < 10 ? `0${s}` : String(s), l = d[e.month], u = e.day < 10 ? `0${e.day}` : String(e.day), f = m[i], p = t.replace(/\bYYYY\b/g, a).replace(/\bYY\b/g, o).replace(/\bMMMM\b/g, l).replace(/\bMM\b/g, c).replace(/\bM\b/g, String(s)).replace(/\bdddd\b/g, f).replace(/\bDD\b/g, u).replace(/\bD\b/g, String(e.day));
476
- return r === "persian" && (p = p.replace(/\d+/g, (e) => I(e))), p;
462
+ return r === "persian" && (p = p.replace(/\d+/g, (e) => L(e))), p;
477
463
  }
478
464
  //#endregion
479
465
  //#region src/theme/tokens.ts
480
- var z = {
466
+ var B = {
481
467
  primaryColor: "#0284c7",
482
468
  primaryHover: "#0369a1",
483
469
  primaryActive: "#075985",
@@ -496,7 +482,7 @@ var z = {
496
482
  cellSize: "36px",
497
483
  shadow: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
498
484
  fontFamily: "inherit"
499
- }, ee = {
485
+ }, te = {
500
486
  primaryColor: "#38bdf8",
501
487
  primaryHover: "#7dd3fc",
502
488
  primaryActive: "#bae6fd",
@@ -516,7 +502,7 @@ var z = {
516
502
  shadow: "0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.5)",
517
503
  fontFamily: "inherit"
518
504
  };
519
- function te(e) {
505
+ function V(e) {
520
506
  let t = {};
521
507
  for (let [n, r] of Object.entries(e)) if (r !== void 0) {
522
508
  let e = `--pdp-${n.replace(/([A-Z])/g, "-$1").toLowerCase()}`;
@@ -527,13 +513,13 @@ function te(e) {
527
513
  //#endregion
528
514
  //#region src/theme/ThemeProvider.tsx
529
515
  var ne = t({
530
- tokens: z,
516
+ tokens: B,
531
517
  mode: "light"
532
- }), B = ({ mode: e = "light", customTokens: t, children: n }) => {
518
+ }), re = ({ mode: e = "light", customTokens: t, children: n }) => {
533
519
  let r = a(() => ({
534
- ...e === "dark" ? ee : z,
520
+ ...e === "dark" ? te : B,
535
521
  ...t
536
- }), [e, t]), i = a(() => te(r), [r]);
522
+ }), [e, t]), i = a(() => V(r), [r]);
537
523
  return /* @__PURE__ */ l(ne.Provider, {
538
524
  value: {
539
525
  tokens: r,
@@ -550,7 +536,7 @@ var ne = t({
550
536
  children: n
551
537
  })
552
538
  });
553
- }, V = () => r(ne), re = ({ year: e, month: t, onPrevMonth: n, onNextMonth: r, onTogglePicker: i, classNames: a, styles: o }) => /* @__PURE__ */ u("div", {
539
+ }, ie = () => r(ne), ae = ({ year: e, month: t, onPrevMonth: n, onNextMonth: r, onTogglePicker: i, classNames: a, styles: o }) => /* @__PURE__ */ u("div", {
554
540
  className: a?.header,
555
541
  style: {
556
542
  display: "flex",
@@ -594,7 +580,7 @@ var ne = t({
594
580
  gap: "6px",
595
581
  ...o?.headerTitle
596
582
  },
597
- children: [/* @__PURE__ */ l("span", { children: d[t] }), /* @__PURE__ */ l("span", { children: I(e) })]
583
+ children: [/* @__PURE__ */ l("span", { children: d[t] }), /* @__PURE__ */ l("span", { children: L(e) })]
598
584
  }),
599
585
  /* @__PURE__ */ l("button", {
600
586
  type: "button",
@@ -614,7 +600,7 @@ var ne = t({
614
600
  children: "‹"
615
601
  })
616
602
  ]
617
- }), ie = ({ firstDayOfWeek: e = 0, classNames: t, styles: n }) => {
603
+ }), oe = ({ firstDayOfWeek: e = 0, classNames: t, styles: n }) => {
618
604
  let r = [...p.slice(e), ...p.slice(0, e)];
619
605
  return /* @__PURE__ */ l("div", {
620
606
  role: "row",
@@ -641,8 +627,8 @@ var ne = t({
641
627
  children: e
642
628
  }, r))
643
629
  });
644
- }, ae = ({ cell: e, tabIndex: t, digitType: n = "persian", isHoliday: r = !1, holidayTitle: i, events: a = [], classNames: o, styles: c, onSelect: d, onHover: f, onFocus: p }) => {
645
- let { jalali: m, isCurrentMonth: h, isToday: g, isSelected: _, isDisabled: v, isInRange: y, isRangeStart: b, isRangeEnd: x } = e, [S, C] = s(!1), w = n === "persian" ? I(e.dayNumber) : e.dayNumber, T = M(m);
630
+ }, se = ({ cell: e, tabIndex: t, digitType: n = "persian", isHoliday: r = !1, holidayTitle: i, events: a = [], classNames: o, styles: c, onSelect: d, onHover: f, onFocus: p }) => {
631
+ let { jalali: m, isCurrentMonth: h, isToday: g, isSelected: _, isDisabled: v, isInRange: y, isRangeStart: b, isRangeEnd: x } = e, [S, C] = s(!1), w = n === "persian" ? L(e.dayNumber) : e.dayNumber, T = P(m);
646
632
  r && i && (T += ` (${i})`);
647
633
  let E = "transparent", D = h ? r ? "var(--pdp-holiday-color, #ef4444)" : "var(--pdp-text-primary, #0f172a)" : "var(--pdp-text-disabled, #cbd5e1)";
648
634
  y && !_ && (E = "var(--pdp-range-between-bg, #e0f2fe)", D = "var(--pdp-range-between-text, #0369a1)"), (_ || b || x) && (E = "var(--pdp-primary-color, #0284c7)", D = "var(--pdp-primary-contrast-text, #ffffff)");
@@ -782,7 +768,7 @@ var ne = t({
782
768
  ]
783
769
  })]
784
770
  });
785
- }, oe = ({ currentYear: e, currentMonth: t, onSelectMonth: n, onSelectYear: r, onClose: i }) => {
771
+ }, ce = ({ currentYear: e, currentMonth: t, onSelectMonth: n, onSelectYear: r, onClose: i }) => {
786
772
  let [a, o] = s("months"), [c, f] = s(Math.floor(e / 12) * 12), p = Array.from({ length: 12 }, (e, t) => c + t);
787
773
  return /* @__PURE__ */ u("div", {
788
774
  style: {
@@ -837,7 +823,7 @@ var ne = t({
837
823
  cursor: "pointer",
838
824
  color: "var(--pdp-primary-color, #0284c7)"
839
825
  },
840
- children: I(e)
826
+ children: L(e)
841
827
  })]
842
828
  }),
843
829
  /* @__PURE__ */ l("button", {
@@ -897,7 +883,7 @@ var ne = t({
897
883
  color: e === t ? "#ffffff" : "var(--pdp-text-primary, #0f172a)",
898
884
  fontSize: "13px"
899
885
  },
900
- children: I(t)
886
+ children: L(t)
901
887
  }, t))
902
888
  })
903
889
  ]
@@ -907,7 +893,7 @@ var ne = t({
907
893
  //#region src/plugins/time-picker/time-utils.ts
908
894
  function H(e, t = "persian") {
909
895
  let n = e < 10 ? `0${e}` : `${e}`;
910
- return t === "persian" ? I(n) : n;
896
+ return t === "persian" ? L(n) : n;
911
897
  }
912
898
  function U() {
913
899
  let e = /* @__PURE__ */ new Date();
@@ -917,28 +903,28 @@ function U() {
917
903
  second: e.getSeconds()
918
904
  };
919
905
  }
920
- function W(e) {
906
+ function le(e) {
921
907
  return {
922
908
  hour: Math.max(0, Math.min(23, e.hour)),
923
909
  minute: Math.max(0, Math.min(59, e.minute)),
924
910
  second: e.second === void 0 ? void 0 : Math.max(0, Math.min(59, e.second))
925
911
  };
926
912
  }
927
- function se(e, t = !1, n = "persian") {
913
+ function ue(e, t = !1, n = "persian") {
928
914
  if (!e) return "";
929
915
  let r = H(e.hour, n), i = H(e.minute, n);
930
916
  return t && e.second !== void 0 ? `${r}:${i}:${H(e.second, n)}` : `${r}:${i}`;
931
917
  }
932
918
  //#endregion
933
919
  //#region src/components/footer/CalendarFooter.tsx
934
- var ce = ({ selectedDate: e, selectedRange: t, selectedDates: n, selectedTime: r, mode: i = "single", digitType: a = "persian", showStatusText: o = !0, showActions: s = !0, onToday: c, onClear: d, onConfirm: f, classNames: p, styles: m }) => {
920
+ var de = ({ selectedDate: e, selectedRange: t, selectedDates: n, selectedTime: r, mode: i = "single", digitType: a = "persian", showStatusText: o = !0, showActions: s = !0, onToday: c, onClear: d, onConfirm: f, classNames: p, styles: m }) => {
935
921
  let h = () => {
936
922
  let o = "هیچ تاریخی انتخاب نشده است";
937
- if (i === "single" && e) o = R(e, "dddd D MMMM YYYY", { digitType: a }), r && (o += ` - ${se(r, !1, a)}`);
923
+ if (i === "single" && e) o = z(e, "dddd D MMMM YYYY", { digitType: a }), r && (o += ` - ${ue(r, !1, a)}`);
938
924
  else if (i === "range") {
939
925
  let [e, n] = t || [null, null];
940
- e && n ? o = `${R(e, "YYYY/MM/DD", { digitType: a })} تا ${R(n, "YYYY/MM/DD", { digitType: a })}` : e && (o = `شروع: ${R(e, "YYYY/MM/DD", { digitType: a })} (پایان را انتخاب کنید)`);
941
- } else i === "multiple" && n && n.length > 0 && (o = `${a === "persian" ? I(n.length) : n.length} روز انتخاب شده`);
926
+ e && n ? o = `${z(e, "YYYY/MM/DD", { digitType: a })} تا ${z(n, "YYYY/MM/DD", { digitType: a })}` : e && (o = `شروع: ${z(e, "YYYY/MM/DD", { digitType: a })} (پایان را انتخاب کنید)`);
927
+ } else i === "multiple" && n && n.length > 0 && (o = `${a === "persian" ? L(n.length) : n.length} روز انتخاب شده`);
942
928
  return o;
943
929
  };
944
930
  return /* @__PURE__ */ u("div", {
@@ -1018,9 +1004,9 @@ var ce = ({ selectedDate: e, selectedRange: t, selectedDates: n, selectedTime: r
1018
1004
  })]
1019
1005
  })]
1020
1006
  });
1021
- }, le = ({ value: t, defaultValue: r, onChange: i, minuteStep: a = 1, hourStep: o = 1, showSeconds: s = !1, digitType: d = "persian", disabled: f = !1, styles: p, classNames: m }) => {
1007
+ }, fe = ({ value: t, defaultValue: r, onChange: i, minuteStep: a = 1, hourStep: o = 1, showSeconds: s = !1, digitType: d = "persian", disabled: f = !1, styles: p, classNames: m }) => {
1022
1008
  let [h, g] = e.useState(r ?? U()), _ = t === void 0 ? h : t ?? U(), v = n((e) => {
1023
- let n = W(e);
1009
+ let n = le(e);
1024
1010
  t === void 0 && g(n), i?.(n);
1025
1011
  }, [t, i]), y = (e) => {
1026
1012
  let t = (_.hour + e * o + 24) % 24;
@@ -1171,8 +1157,8 @@ var ce = ({ selectedDate: e, selectedRange: t, selectedDates: n, selectedTime: r
1171
1157
  };
1172
1158
  //#endregion
1173
1159
  //#region src/plugins/presets/default-presets.ts
1174
- function G(e = "persian") {
1175
- let t = (t) => e === "persian" ? I(t) : `${t}`;
1160
+ function pe(e = "persian") {
1161
+ let t = (t) => e === "persian" ? L(t) : `${t}`;
1176
1162
  return [
1177
1163
  {
1178
1164
  id: "today",
@@ -1182,20 +1168,20 @@ function G(e = "persian") {
1182
1168
  {
1183
1169
  id: "this_week",
1184
1170
  label: "این هفته",
1185
- getValue: () => O(y())
1171
+ getValue: () => A(y())
1186
1172
  },
1187
1173
  {
1188
1174
  id: "last_7_days",
1189
1175
  label: `${t(7)} روز گذشته`,
1190
1176
  getValue: () => {
1191
1177
  let e = y();
1192
- return [w(e, -6), e];
1178
+ return [E(e, -6), e];
1193
1179
  }
1194
1180
  },
1195
1181
  {
1196
1182
  id: "this_month",
1197
1183
  label: "این ماه",
1198
- getValue: () => k(y())
1184
+ getValue: () => j(y())
1199
1185
  },
1200
1186
  {
1201
1187
  id: "last_month",
@@ -1220,13 +1206,13 @@ function G(e = "persian") {
1220
1206
  label: `${t(30)} روز گذشته`,
1221
1207
  getValue: () => {
1222
1208
  let e = y();
1223
- return [w(e, -29), e];
1209
+ return [E(e, -29), e];
1224
1210
  }
1225
1211
  }
1226
1212
  ];
1227
1213
  }
1228
- var ue = G("persian"), de = ({ presets: e, onSelectPreset: t, selectedValue: n, orientation: r = "vertical", digitType: i = "persian", disabled: o = !1, classNames: s, styles: c }) => {
1229
- let u = a(() => e ?? G(i), [e, i]), d = (e) => {
1214
+ var me = pe("persian"), he = ({ presets: e, onSelectPreset: t, selectedValue: n, orientation: r = "vertical", digitType: i = "persian", disabled: o = !1, classNames: s, styles: c }) => {
1215
+ let u = a(() => e ?? pe(i), [e, i]), d = (e) => {
1230
1216
  if (!n) return !1;
1231
1217
  let t = e.getValue();
1232
1218
  if (!Array.isArray(t) && !Array.isArray(n)) return b(t, n);
@@ -1280,12 +1266,12 @@ var ue = G("persian"), de = ({ presets: e, onSelectPreset: t, selectedValue: n,
1280
1266
  };
1281
1267
  //#endregion
1282
1268
  //#region src/components/masked-input/mask-utils.ts
1283
- function K(e, t = "persian") {
1284
- let n = L(e).replace(/\D/g, "").slice(0, 8), r = "";
1285
- return n.length > 0 && (r = n.slice(0, 4)), n.length >= 5 && (r += `/${n.slice(4, 6)}`), n.length >= 7 && (r += `/${n.slice(6, 8)}`), t === "persian" ? I(r) : r;
1269
+ function ge(e, t = "persian") {
1270
+ let n = R(e).replace(/\D/g, "").slice(0, 8), r = "";
1271
+ return n.length > 0 && (r = n.slice(0, 4)), n.length >= 5 && (r += `/${n.slice(4, 6)}`), n.length >= 7 && (r += `/${n.slice(6, 8)}`), t === "persian" ? L(r) : r;
1286
1272
  }
1287
- function fe(e, t, n, r) {
1288
- let i = L(e).trim();
1273
+ function W(e, t, n, r) {
1274
+ let i = R(e).trim();
1289
1275
  if (!i) return {
1290
1276
  isValid: !0,
1291
1277
  date: null
@@ -1313,11 +1299,11 @@ function fe(e, t, n, r) {
1313
1299
  month: l,
1314
1300
  day: c
1315
1301
  };
1316
- return t && E(d, t) < 0 ? {
1302
+ return t && O(d, t) < 0 ? {
1317
1303
  isValid: !1,
1318
1304
  date: d,
1319
1305
  error: "OUT_OF_MIN_BOUNDS"
1320
- } : n && E(d, n) > 0 ? {
1306
+ } : n && O(d, n) > 0 ? {
1321
1307
  isValid: !1,
1322
1308
  date: d,
1323
1309
  error: "OUT_OF_MAX_BOUNDS"
@@ -1332,15 +1318,15 @@ function fe(e, t, n, r) {
1332
1318
  }
1333
1319
  //#endregion
1334
1320
  //#region src/components/masked-input/MaskedDateInput.tsx
1335
- var pe = ({ value: e, defaultValue: t = null, onChange: r, onValidationError: a, digitType: c = "persian", minDate: d, maxDate: f, isDateDisabled: p, clearable: m = !0, placeholder: h = "۱۴۰۵/۰۱/۱۵", disabled: g = !1, style: _, ...v }) => {
1336
- let [y, b] = s(t), x = e === void 0 ? y : e, [S, C] = s(() => x ? R(x, "YYYY/MM/DD", { digitType: c }) : ""), [w, T] = s(!1), E = o(null);
1321
+ var _e = ({ value: e, defaultValue: t = null, onChange: r, onValidationError: a, digitType: c = "persian", minDate: d, maxDate: f, isDateDisabled: p, clearable: m = !0, placeholder: h = "۱۴۰۵/۰۱/۱۵", disabled: g = !1, style: _, ...v }) => {
1322
+ let [y, b] = s(t), x = e === void 0 ? y : e, [S, C] = s(() => x ? z(x, "YYYY/MM/DD", { digitType: c }) : ""), [w, T] = s(!1), E = o(null);
1337
1323
  i(() => {
1338
- e !== void 0 && (C(e ? R(e, "YYYY/MM/DD", { digitType: c }) : ""), T(!1));
1324
+ e !== void 0 && (C(e ? z(e, "YYYY/MM/DD", { digitType: c }) : ""), T(!1));
1339
1325
  }, [e, c]);
1340
1326
  let D = (t) => {
1341
- let n = t.target.value, i = K(n, c);
1327
+ let n = t.target.value, i = ge(n, c);
1342
1328
  if (C(i), i.length === 10 || i.length === 0) {
1343
- let t = fe(i, d, f, p);
1329
+ let t = W(i, d, f, p);
1344
1330
  t.isValid ? (T(!1), a?.(null), e === void 0 && b(t.date), r?.(t.date)) : (T(!0), a?.(t.error));
1345
1331
  } else T(!1), a?.(null);
1346
1332
  }, O = n(() => {
@@ -1406,12 +1392,12 @@ var pe = ({ value: e, defaultValue: t = null, onChange: r, onValidationError: a,
1406
1392
  };
1407
1393
  //#endregion
1408
1394
  //#region src/events/event-utils.ts
1409
- function me(e, t) {
1395
+ function ve(e, t) {
1410
1396
  return !t || t.length === 0 ? [] : t.filter((t) => b(t.date, e));
1411
1397
  }
1412
1398
  //#endregion
1413
1399
  //#region src/holidays/iran-holidays.ts
1414
- var he = {
1400
+ var G = {
1415
1401
  "0-1": "جشن نوروز / سال نو",
1416
1402
  "0-2": "عید نوروز",
1417
1403
  "0-3": "عید نوروز",
@@ -1423,10 +1409,10 @@ var he = {
1423
1409
  "10-22": "پیروزی انقلاب اسلامی",
1424
1410
  "11-29": "روز ملی شدن صنعت نفت"
1425
1411
  };
1426
- function q(e) {
1412
+ function ye(e) {
1427
1413
  return v(e.year, e.month, e.day).getDay() === 5;
1428
1414
  }
1429
- function ge(e, t) {
1415
+ function be(e, t) {
1430
1416
  if (t && t.length > 0) {
1431
1417
  let n = t.find((t) => t.date.year === e.year && t.date.month === e.month && t.date.day === e.day);
1432
1418
  if (n) return {
@@ -1436,11 +1422,11 @@ function ge(e, t) {
1436
1422
  };
1437
1423
  }
1438
1424
  let n = `${e.month}-${e.day}`;
1439
- return he[n] ? {
1440
- title: he[n],
1425
+ return G[n] ? {
1426
+ title: G[n],
1441
1427
  type: "solar",
1442
1428
  isOff: !0
1443
- } : q(e) ? {
1429
+ } : ye(e) ? {
1444
1430
  title: "جمعه (تعطیل پایان هفته)",
1445
1431
  type: "solar",
1446
1432
  isOff: !0
@@ -1448,36 +1434,84 @@ function ge(e, t) {
1448
1434
  }
1449
1435
  //#endregion
1450
1436
  //#region src/components/JalaliDatePicker.tsx
1451
- function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ...", digitType: r = "persian", className: f, style: p, classNames: m, styles: h, showFooter: g = !1, showStatusText: _ = !0, showActions: v = !0, onConfirm: y, defaultValue: x, enableTime: C = !1, timeValue: w, defaultTimeValue: T, onTimeChange: E, minuteStep: O = 1, hourStep: k = 1, showSeconds: j = !1, enablePresets: M = !1, presets: P, presetsOrientation: F = "vertical", numberOfMonths: L = 1, useMaskedInput: z = !1, events: ee, showHolidays: te = !1, customHolidays: ne, ...B }) {
1452
- let [V, H] = s(e === "inline"), [W, G] = s(!1), ue = o(null), K = e === "modal", [fe, he] = s(() => T ?? U()), q = w === void 0 ? fe : w ?? U(), _e = n((e) => {
1453
- w === void 0 && he(e), E?.(e);
1454
- }, [w, E]), { selected: J, viewYear: Y, viewMonth: X, grid: ve, goToPrevMonth: ye, goToNextMonth: be, setView: Z, goToToday: xe, selectDate: Q, setHoverDate: Se, hoverDate: Ce, clear: we } = A({
1455
- defaultValue: x,
1456
- ...B
1457
- }), Te = B.mode === "single" ? J : null, Ee = (t) => {
1458
- Q(t), e === "popover" && B.mode === "single" && !C && H(!1);
1459
- }, { handleKeyDown: De, getCellTabIndex: Oe, setFocusedDate: ke } = N({
1437
+ function xe({ mode: e = "single", value: t, defaultValue: r, onChange: f, minDate: p, maxDate: m, isDateDisabled: h, firstDayOfWeek: g = 0, variant: _ = "inline", placeholder: v = "انتخاب تاریخ...", digitType: y = "persian", className: x, style: T, classNames: E, styles: D, showFooter: O = !1, showStatusText: A = !0, showActions: j = !0, onConfirm: N, enableTime: P = !1, timeValue: I, defaultTimeValue: ee, onTimeChange: R, minuteStep: B = 1, hourStep: te = 1, showSeconds: V = !1, enablePresets: ne = !1, presets: re, presetsOrientation: ie = "vertical", numberOfMonths: H = 1, useMaskedInput: le = !1, events: pe, showHolidays: me = !1, customHolidays: ge }) {
1438
+ let [W, G] = s(_ === "inline"), [ye, xe] = s(!1), Se = o(null), K = _ === "modal", Ce = a(() => {
1439
+ if (t !== void 0) {
1440
+ if (!t) return null;
1441
+ if (t instanceof Date) return C(t);
1442
+ if (Array.isArray(t)) {
1443
+ if (e === "range") {
1444
+ let [e, n] = t;
1445
+ return [e ? C(e) : null, n ? C(n) : null];
1446
+ }
1447
+ if (e === "multiple") return t.map((e) => C(e));
1448
+ }
1449
+ return null;
1450
+ }
1451
+ }, [t, e]), we = a(() => {
1452
+ if (r !== void 0) {
1453
+ if (!r) return null;
1454
+ if (r instanceof Date) return C(r);
1455
+ if (Array.isArray(r)) {
1456
+ if (e === "range") {
1457
+ let [e, t] = r;
1458
+ return [e ? C(e) : null, t ? C(t) : null];
1459
+ }
1460
+ if (e === "multiple") return r.map((e) => C(e));
1461
+ }
1462
+ return null;
1463
+ }
1464
+ }, [r, e]), Te = a(() => p ? C(p) : void 0, [p]), Ee = a(() => m ? C(m) : void 0, [m]), [De, Oe] = s(() => ee ?? U()), q = I === void 0 ? De : I ?? U(), ke = n((e) => {
1465
+ I === void 0 && Oe(e), R?.(e);
1466
+ }, [I, R]), Ae = n((t) => {
1467
+ if (!t) return null;
1468
+ let n = P ? q.hour : 0, r = P ? q.minute : 0, i = P && V ? q.second ?? 0 : 0;
1469
+ if (e === "single" && !Array.isArray(t)) return w(t, n, r, i);
1470
+ if (e === "range" && Array.isArray(t)) {
1471
+ let [e, n] = t;
1472
+ return [e ? w(e, 0, 0, 0) : null, n ? w(n, 23, 59, 59) : null];
1473
+ }
1474
+ return e === "multiple" && Array.isArray(t) ? t.map((e) => w(e, n, r, i)) : null;
1475
+ }, [
1476
+ e,
1477
+ P,
1478
+ q,
1479
+ V
1480
+ ]), { selected: J, viewYear: Y, viewMonth: X, grid: je, goToPrevMonth: Me, goToNextMonth: Ne, setView: Z, goToToday: Pe, selectDate: Q, setHoverDate: Fe, hoverDate: Ie, clear: Le } = M({
1481
+ mode: e,
1482
+ value: Ce,
1483
+ defaultValue: we,
1484
+ minDate: Te,
1485
+ maxDate: Ee,
1486
+ firstDayOfWeek: g,
1487
+ isDateDisabled: h ? (e) => h(w(e)) : void 0,
1488
+ onChange: (e) => {
1489
+ f?.(Ae(e));
1490
+ }
1491
+ }), Re = e === "single" ? J : null, ze = (t) => {
1492
+ Q(t), _ === "popover" && e === "single" && !P && G(!1);
1493
+ }, { handleKeyDown: Be, getCellTabIndex: Ve, setFocusedDate: He } = F({
1460
1494
  viewYear: Y,
1461
1495
  viewMonth: X,
1462
- selectedDate: Te,
1463
- onSelectDate: Ee,
1496
+ selectedDate: Re,
1497
+ onSelectDate: ze,
1464
1498
  onViewChange: Z,
1465
1499
  isRtl: !0
1466
1500
  });
1467
1501
  i(() => {
1468
- if (!K || !V) return;
1502
+ if (!K || !W) return;
1469
1503
  let e = document.body.style.overflow;
1470
1504
  document.body.style.overflow = "hidden";
1471
1505
  let t = (e) => {
1472
- e.key === "Escape" && H(!1);
1506
+ e.key === "Escape" && G(!1);
1473
1507
  };
1474
1508
  return window.addEventListener("keydown", t), () => {
1475
1509
  document.body.style.overflow = e, window.removeEventListener("keydown", t);
1476
1510
  };
1477
- }, [K, V]);
1478
- let Ae = (t) => {
1479
- if (B.mode === "single" && !Array.isArray(t)) Q(t), Z(t.year, t.month), e === "popover" && !C && H(!1);
1480
- else if (B.mode === "range" && Array.isArray(t)) {
1511
+ }, [K, W]);
1512
+ let Ue = (t) => {
1513
+ if (e === "single" && !Array.isArray(t)) Q(t), Z(t.year, t.month), _ === "popover" && !P && G(!1);
1514
+ else if (e === "range" && Array.isArray(t)) {
1481
1515
  let [e, n] = t;
1482
1516
  e && n && (Q(e), Q(n), Z(e.year, e.month));
1483
1517
  }
@@ -1487,110 +1521,112 @@ function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ..
1487
1521
  } : {
1488
1522
  year: Y,
1489
1523
  month: X + 1
1490
- }, [Y, X]), je = a(() => {
1491
- if (L !== 2) return [];
1492
- let e = S({
1524
+ }, [Y, X]), We = a(() => {
1525
+ if (H !== 2) return [];
1526
+ let t = S({
1493
1527
  year: $.year,
1494
1528
  month: $.month,
1495
- firstDayOfWeek: B.firstDayOfWeek ?? 0,
1496
- minDate: B.minDate,
1497
- maxDate: B.maxDate,
1498
- isDateDisabled: B.isDateDisabled
1529
+ firstDayOfWeek: g,
1530
+ minDate: Te,
1531
+ maxDate: Ee
1499
1532
  });
1500
- if (B.mode !== "range") return e;
1501
- let [t, n] = J || [null, null], r = n ?? (t && Ce ? Ce : null);
1502
- return e.map((e) => {
1503
- let n = t ? b(e.jalali, t) : !1, i = r ? b(e.jalali, r) : !1, a = !1;
1504
- return t && r && (a = D(e.jalali, t, r)), {
1533
+ if (e !== "range") return t;
1534
+ let [n, r] = J || [null, null], i = r ?? (n && Ie ? Ie : null);
1535
+ return t.map((e) => {
1536
+ let t = n ? b(e.jalali, n) : !1, r = i ? b(e.jalali, i) : !1, a = !1;
1537
+ return n && i && (a = k(e.jalali, n, i)), {
1505
1538
  ...e,
1506
- isSelected: n || i,
1539
+ isSelected: t || r,
1507
1540
  isInRange: a,
1508
- isRangeStart: n,
1509
- isRangeEnd: i
1541
+ isRangeStart: t,
1542
+ isRangeEnd: r
1510
1543
  };
1511
1544
  });
1512
1545
  }, [
1513
- L,
1546
+ H,
1514
1547
  $,
1515
- B,
1548
+ g,
1549
+ Te,
1550
+ Ee,
1551
+ e,
1516
1552
  J,
1517
- Ce
1518
- ]), Me = a(() => {
1553
+ Ie
1554
+ ]), Ge = a(() => {
1519
1555
  if (!J) return "";
1520
- if (B.mode === "single") {
1521
- let e = R(J, "YYYY/MM/DD", { digitType: r });
1522
- return C && q ? `${e} ${se(q, j, r)}` : e;
1556
+ if (e === "single") {
1557
+ let e = z(J, "YYYY/MM/DD", { digitType: y });
1558
+ return P && q ? `${e} ${ue(q, V, y)}` : e;
1523
1559
  }
1524
- if (B.mode === "range") {
1560
+ if (e === "range") {
1525
1561
  let [e, t] = J || [null, null];
1526
- if (e && t) return `${R(e, "YYYY/MM/DD", { digitType: r })} - ${R(t, "YYYY/MM/DD", { digitType: r })}`;
1527
- if (e) return R(e, "YYYY/MM/DD", { digitType: r });
1562
+ if (e && t) return `${z(e, "YYYY/MM/DD", { digitType: y })} - ${z(t, "YYYY/MM/DD", { digitType: y })}`;
1563
+ if (e) return z(e, "YYYY/MM/DD", { digitType: y });
1528
1564
  }
1529
1565
  return "";
1530
1566
  }, [
1531
1567
  J,
1532
- B.mode,
1533
- r,
1534
- C,
1568
+ e,
1569
+ y,
1570
+ P,
1535
1571
  q,
1536
- j
1537
- ]), Ne = (e, t, n, i = !0, a = !0) => /* @__PURE__ */ u("div", {
1572
+ V
1573
+ ]), Ke = (e, t, n, r = !0, i = !0) => /* @__PURE__ */ u("div", {
1538
1574
  style: { minWidth: "270px" },
1539
1575
  children: [
1540
- /* @__PURE__ */ l(re, {
1576
+ /* @__PURE__ */ l(ae, {
1541
1577
  year: e,
1542
1578
  month: t,
1543
- onPrevMonth: i ? ye : () => {},
1544
- onNextMonth: a ? be : () => {},
1545
- onTogglePicker: () => L === 1 && G(!0),
1546
- onGoToToday: xe,
1547
- classNames: m,
1548
- styles: h
1579
+ onPrevMonth: r ? Me : () => {},
1580
+ onNextMonth: i ? Ne : () => {},
1581
+ onTogglePicker: () => H === 1 && xe(!0),
1582
+ onGoToToday: Pe,
1583
+ classNames: E,
1584
+ styles: D
1549
1585
  }),
1550
- /* @__PURE__ */ l(ie, {
1551
- firstDayOfWeek: B.firstDayOfWeek,
1552
- classNames: m,
1553
- styles: h
1586
+ /* @__PURE__ */ l(oe, {
1587
+ firstDayOfWeek: g,
1588
+ classNames: E,
1589
+ styles: D
1554
1590
  }),
1555
1591
  /* @__PURE__ */ l("div", {
1556
1592
  role: "grid",
1557
- "aria-label": `${d[t]} ${I(e)}`,
1558
- className: m?.grid,
1593
+ "aria-label": `${d[t]} ${L(e)}`,
1594
+ className: E?.grid,
1559
1595
  style: {
1560
1596
  display: "grid",
1561
1597
  gridTemplateColumns: "repeat(7, var(--pdp-cell-size, 36px))",
1562
1598
  gap: "4px",
1563
- ...h?.grid
1599
+ ...D?.grid
1564
1600
  },
1565
1601
  children: n.map((e, t) => {
1566
- let n = te ? ge(e.jalali, ne) : null, i = me(e.jalali, ee);
1567
- return /* @__PURE__ */ l(ae, {
1602
+ let n = me ? be(e.jalali, ge) : null, r = ve(e.jalali, pe);
1603
+ return /* @__PURE__ */ l(se, {
1568
1604
  cell: e,
1569
- digitType: r,
1605
+ digitType: y,
1570
1606
  isHoliday: !!n,
1571
1607
  holidayTitle: n?.title,
1572
- events: i,
1573
- classNames: m,
1574
- styles: h,
1575
- tabIndex: Oe(e.jalali),
1576
- onSelect: Ee,
1577
- onHover: Se,
1578
- onFocus: ke
1608
+ events: r,
1609
+ classNames: E,
1610
+ styles: D,
1611
+ tabIndex: Ve(e.jalali),
1612
+ onSelect: ze,
1613
+ onHover: Fe,
1614
+ onFocus: He
1579
1615
  }, t);
1580
1616
  })
1581
1617
  })
1582
1618
  ]
1583
- }), Pe = /* @__PURE__ */ u("div", {
1619
+ }), qe = /* @__PURE__ */ u("div", {
1584
1620
  role: K ? "dialog" : "region",
1585
1621
  "aria-modal": K ? !0 : void 0,
1586
1622
  "aria-label": "تقویم شمسی",
1587
- onKeyDown: De,
1623
+ onKeyDown: Be,
1588
1624
  onClick: (e) => K && e.stopPropagation(),
1589
- className: m?.calendar,
1625
+ className: E?.calendar,
1590
1626
  style: {
1591
- position: e === "popover" ? "absolute" : K ? "relative" : "static",
1592
- top: e === "popover" ? "calc(100% + 4px)" : void 0,
1593
- right: e === "popover" ? 0 : void 0,
1627
+ position: _ === "popover" ? "absolute" : K ? "relative" : "static",
1628
+ top: _ === "popover" ? "calc(100% + 4px)" : void 0,
1629
+ right: _ === "popover" ? 0 : void 0,
1594
1630
  zIndex: K ? 1001 : 50,
1595
1631
  padding: "16px",
1596
1632
  backgroundColor: "var(--pdp-surface-bg, #ffffff)",
@@ -1600,15 +1636,15 @@ function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ..
1600
1636
  width: "fit-content",
1601
1637
  userSelect: "none",
1602
1638
  display: "flex",
1603
- flexDirection: F === "horizontal" ? "column" : "row",
1639
+ flexDirection: ie === "horizontal" ? "column" : "row",
1604
1640
  gap: "12px",
1605
- ...h?.calendar
1641
+ ...D?.calendar
1606
1642
  },
1607
1643
  children: [
1608
1644
  K && /* @__PURE__ */ l("button", {
1609
1645
  type: "button",
1610
1646
  "aria-label": "بستن",
1611
- onClick: () => H(!1),
1647
+ onClick: () => G(!1),
1612
1648
  style: {
1613
1649
  position: "absolute",
1614
1650
  top: "10px",
@@ -1623,14 +1659,14 @@ function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ..
1623
1659
  },
1624
1660
  children: "✕"
1625
1661
  }),
1626
- M && /* @__PURE__ */ l(de, {
1627
- presets: P,
1628
- orientation: F,
1629
- digitType: r,
1662
+ ne && /* @__PURE__ */ l(he, {
1663
+ presets: re,
1664
+ orientation: ie,
1665
+ digitType: y,
1630
1666
  selectedValue: J,
1631
- onSelectPreset: Ae,
1632
- classNames: m,
1633
- styles: h
1667
+ onSelectPreset: Ue,
1668
+ classNames: E,
1669
+ styles: D
1634
1670
  }),
1635
1671
  /* @__PURE__ */ l("div", {
1636
1672
  style: {
@@ -1638,12 +1674,12 @@ function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ..
1638
1674
  flexDirection: "column",
1639
1675
  gap: "8px"
1640
1676
  },
1641
- children: W ? /* @__PURE__ */ l(oe, {
1677
+ children: ye ? /* @__PURE__ */ l(ce, {
1642
1678
  currentYear: Y,
1643
1679
  currentMonth: X,
1644
1680
  onSelectMonth: (e) => Z(Y, e),
1645
1681
  onSelectYear: (e) => Z(e, X),
1646
- onClose: () => G(!1)
1682
+ onClose: () => xe(!1)
1647
1683
  }) : /* @__PURE__ */ u(c, { children: [
1648
1684
  /* @__PURE__ */ u("div", {
1649
1685
  style: {
@@ -1651,69 +1687,69 @@ function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ..
1651
1687
  gap: "16px",
1652
1688
  alignItems: "flex-start"
1653
1689
  },
1654
- children: [Ne(Y, X, ve, !0, L === 1), L === 2 && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("div", { style: {
1690
+ children: [Ke(Y, X, je, !0, H === 1), H === 2 && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("div", { style: {
1655
1691
  width: "1px",
1656
1692
  backgroundColor: "var(--pdp-surface-border, #e2e8f0)",
1657
1693
  alignSelf: "stretch"
1658
- } }), Ne($.year, $.month, je, !1, !0)] })]
1694
+ } }), Ke($.year, $.month, We, !1, !0)] })]
1659
1695
  }),
1660
- C && /* @__PURE__ */ l(le, {
1696
+ P && /* @__PURE__ */ l(fe, {
1661
1697
  value: q,
1662
- onChange: _e,
1663
- minuteStep: O,
1664
- hourStep: k,
1665
- showSeconds: j,
1666
- digitType: r,
1667
- classNames: m,
1668
- styles: h
1698
+ onChange: ke,
1699
+ minuteStep: B,
1700
+ hourStep: te,
1701
+ showSeconds: V,
1702
+ digitType: y,
1703
+ classNames: E,
1704
+ styles: D
1669
1705
  }),
1670
- g && /* @__PURE__ */ l(ce, {
1671
- mode: B.mode,
1672
- digitType: r,
1673
- showStatusText: _,
1674
- showActions: v,
1675
- selectedDate: B.mode === "single" ? J : null,
1676
- selectedRange: B.mode === "range" ? J : void 0,
1677
- selectedDates: B.mode === "multiple" ? J : void 0,
1678
- selectedTime: C ? q : void 0,
1679
- onToday: xe,
1680
- onClear: we,
1706
+ O && /* @__PURE__ */ l(de, {
1707
+ mode: e,
1708
+ digitType: y,
1709
+ showStatusText: A,
1710
+ showActions: j,
1711
+ selectedDate: e === "single" ? J : null,
1712
+ selectedRange: e === "range" ? J : void 0,
1713
+ selectedDates: e === "multiple" ? J : void 0,
1714
+ selectedTime: P ? q : void 0,
1715
+ onToday: Pe,
1716
+ onClear: Le,
1681
1717
  onConfirm: () => {
1682
- e !== "inline" && H(!1), y?.();
1718
+ _ !== "inline" && G(!1), N?.();
1683
1719
  },
1684
- classNames: m,
1685
- styles: h
1720
+ classNames: E,
1721
+ styles: D
1686
1722
  })
1687
1723
  ] })
1688
1724
  })
1689
1725
  ]
1690
1726
  });
1691
1727
  return /* @__PURE__ */ u("div", {
1692
- ref: ue,
1693
- className: f ?? m?.root,
1728
+ ref: Se,
1729
+ className: x ?? E?.root,
1694
1730
  style: {
1695
1731
  position: "relative",
1696
1732
  display: "inline-block",
1697
- ...p,
1698
- ...h?.root
1733
+ ...T,
1734
+ ...D?.root
1699
1735
  },
1700
- children: [e !== "inline" && (z && B.mode === "single" && e === "popover" ? /* @__PURE__ */ l(pe, {
1701
- value: Te,
1702
- digitType: r,
1703
- placeholder: t,
1736
+ children: [_ !== "inline" && (le && e === "single" && _ === "popover" ? /* @__PURE__ */ l(_e, {
1737
+ value: Re,
1738
+ digitType: y,
1739
+ placeholder: v,
1704
1740
  onChange: (e) => {
1705
- e ? (Q(e), Z(e.year, e.month)) : we();
1741
+ e ? (Q(e), Z(e.year, e.month)) : Le();
1706
1742
  },
1707
- onClick: () => H(!0),
1708
- className: m?.input,
1709
- style: h?.input
1743
+ onClick: () => G(!0),
1744
+ className: E?.input,
1745
+ style: D?.input
1710
1746
  }) : /* @__PURE__ */ l("input", {
1711
1747
  type: "text",
1712
1748
  readOnly: !0,
1713
- placeholder: t,
1714
- value: Me,
1715
- onClick: () => H(!0),
1716
- className: m?.input,
1749
+ placeholder: v,
1750
+ value: Ge,
1751
+ onClick: () => G(!0),
1752
+ className: E?.input,
1717
1753
  style: {
1718
1754
  padding: "8px 12px",
1719
1755
  borderRadius: "var(--pdp-border-radius, 8px)",
@@ -1724,13 +1760,13 @@ function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ..
1724
1760
  textAlign: "right",
1725
1761
  direction: "rtl",
1726
1762
  fontSize: "14px",
1727
- minWidth: C ? "200px" : L === 2 ? "240px" : "150px",
1728
- ...h?.input
1763
+ minWidth: P ? "200px" : H === 2 ? "240px" : "150px",
1764
+ ...D?.input
1729
1765
  }
1730
- })), V && (K ? /* @__PURE__ */ l("div", {
1766
+ })), W && (K ? /* @__PURE__ */ l("div", {
1731
1767
  role: "presentation",
1732
- onClick: () => H(!1),
1733
- className: m?.modalBackdrop,
1768
+ onClick: () => G(!1),
1769
+ className: E?.modalBackdrop,
1734
1770
  style: {
1735
1771
  position: "fixed",
1736
1772
  top: 0,
@@ -1745,28 +1781,28 @@ function _e({ variant: e = "inline", placeholder: t = "انتخاب تاریخ..
1745
1781
  justifyContent: "center",
1746
1782
  padding: "16px",
1747
1783
  direction: "rtl",
1748
- ...h?.modalBackdrop
1784
+ ...D?.modalBackdrop
1749
1785
  },
1750
- children: Pe
1751
- }) : Pe)]
1786
+ children: qe
1787
+ }) : qe)]
1752
1788
  });
1753
1789
  }
1754
1790
  //#endregion
1755
1791
  //#region src/components/dual-calendar/DualMonthCalendar.tsx
1756
- var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDate: i, firstDayOfWeek: o = 0, digitType: c = "persian", minDate: f, maxDate: p, isDateDisabled: m }) => {
1792
+ var Se = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDate: i, firstDayOfWeek: o = 0, digitType: c = "persian", minDate: f, maxDate: p, isDateDisabled: m }) => {
1757
1793
  let [h, g] = s(t), _ = e === void 0 ? h : e, [v, x] = s(null), C = a(() => y(), []), [w, T] = s(() => i || (_[0] ? {
1758
1794
  year: _[0].year,
1759
1795
  month: _[0].month
1760
1796
  } : {
1761
1797
  year: C.year,
1762
1798
  month: C.month
1763
- })), O = a(() => w.month === 11 ? {
1799
+ })), E = a(() => w.month === 11 ? {
1764
1800
  year: w.year + 1,
1765
1801
  month: 0
1766
1802
  } : {
1767
1803
  year: w.year,
1768
1804
  month: w.month + 1
1769
- }, [w]), k = () => {
1805
+ }, [w]), D = () => {
1770
1806
  T((e) => e.month === 0 ? {
1771
1807
  year: e.year - 1,
1772
1808
  month: 11
@@ -1784,7 +1820,7 @@ var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDat
1784
1820
  });
1785
1821
  }, j = n((t) => {
1786
1822
  let [n, i] = _, a;
1787
- !n || n && i ? a = [t, null] : (a = E(t, n) < 0 ? [t, n] : [n, t], x(null)), e === void 0 && g(a), r?.(a);
1823
+ !n || n && i ? a = [t, null] : (a = O(t, n) < 0 ? [t, n] : [n, t], x(null)), e === void 0 && g(a), r?.(a);
1788
1824
  }, [
1789
1825
  _,
1790
1826
  e,
@@ -1800,7 +1836,7 @@ var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDat
1800
1836
  }), [r, i] = _, a = i ?? (r && v ? v : null);
1801
1837
  return n.map((e) => {
1802
1838
  let t = r ? b(e.jalali, r) : !1, n = a ? b(e.jalali, a) : !1, i = !1;
1803
- return r && a && (i = D(e.jalali, r, a)), {
1839
+ return r && a && (i = k(e.jalali, r, a)), {
1804
1840
  ...e,
1805
1841
  isSelected: t || n,
1806
1842
  isInRange: i,
@@ -1819,10 +1855,10 @@ var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDat
1819
1855
  M,
1820
1856
  w.year,
1821
1857
  w.month
1822
- ]), P = a(() => M(O.year, O.month), [
1858
+ ]), P = a(() => M(E.year, E.month), [
1823
1859
  M,
1824
- O.year,
1825
- O.month
1860
+ E.year,
1861
+ E.month
1826
1862
  ]), F = (e, t, n, r) => /* @__PURE__ */ u("div", {
1827
1863
  style: {
1828
1864
  display: "flex",
@@ -1843,7 +1879,7 @@ var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDat
1843
1879
  r ? /* @__PURE__ */ l("button", {
1844
1880
  type: "button",
1845
1881
  "aria-label": "ماه قبل",
1846
- onClick: k,
1882
+ onClick: D,
1847
1883
  style: {
1848
1884
  width: "28px",
1849
1885
  height: "28px",
@@ -1864,7 +1900,7 @@ var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDat
1864
1900
  children: [
1865
1901
  d[t],
1866
1902
  " ",
1867
- I(e)
1903
+ L(e)
1868
1904
  ]
1869
1905
  }),
1870
1906
  r ? /* @__PURE__ */ l("div", { style: { width: "28px" } }) : /* @__PURE__ */ l("button", {
@@ -1884,16 +1920,16 @@ var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDat
1884
1920
  })
1885
1921
  ]
1886
1922
  }),
1887
- /* @__PURE__ */ l(ie, { firstDayOfWeek: o }),
1923
+ /* @__PURE__ */ l(oe, { firstDayOfWeek: o }),
1888
1924
  /* @__PURE__ */ l("div", {
1889
1925
  role: "grid",
1890
- "aria-label": `${d[t]} ${I(e)}`,
1926
+ "aria-label": `${d[t]} ${L(e)}`,
1891
1927
  style: {
1892
1928
  display: "grid",
1893
1929
  gridTemplateColumns: "repeat(7, var(--pdp-cell-size, 36px))",
1894
1930
  gap: "4px"
1895
1931
  },
1896
- children: n.map((e, t) => /* @__PURE__ */ l(ae, {
1932
+ children: n.map((e, t) => /* @__PURE__ */ l(se, {
1897
1933
  cell: e,
1898
1934
  digitType: c,
1899
1935
  tabIndex: 0,
@@ -1924,11 +1960,11 @@ var J = ({ value: e, defaultValue: t = [null, null], onChange: r, initialViewDat
1924
1960
  width: "1px",
1925
1961
  backgroundColor: "var(--pdp-surface-border, #e2e8f0)"
1926
1962
  } }),
1927
- F(O.year, O.month, P, !1)
1963
+ F(E.year, E.month, P, !1)
1928
1964
  ]
1929
1965
  });
1930
1966
  };
1931
1967
  //#endregion
1932
- export { ue as DEFAULT_DATE_PICKER_PRESETS, B as DatePickerThemeProvider, ae as DayCell, J as DualMonthCalendar, re as Header, f as JALALI_MONTH_NAMES_EN, _e as JalaliDatePicker, pe as MaskedDateInput, oe as MonthYearPicker, d as PERSIAN_MONTH_NAMES, m as PERSIAN_WEEK_DAYS_LONG, p as PERSIAN_WEEK_DAYS_SHORT, de as PresetsBar, le as TimePicker, ie as Weekdays, w as addDaysToJalali, T as addJalaliDays, K as applyDateMask, j as calculateNextFocusedDate, W as clampTime, E as compareJalaliDates, ee as darkThemeTokens, R as formatJalaliDate, H as formatTimeSegment, se as formatTimeString, S as generateJalaliCalendarGrid, M as getAriaDayLabel, U as getCurrentTime, g as getDaysInJalaliMonth, G as getDefaultJalaliPresets, me as getEventsForDate, C as getJalaliDayOfWeek, k as getJalaliMonthRange, O as getJalaliWeekRange, y as getTodayJalali, _ as gregorianToJalali, D as isJalaliDateBetween, h as isJalaliLeapYear, b as isSameJalaliDay, v as jalaliToGregorian, z as lightThemeTokens, fe as parseAndValidateJalaliString, x as toJalaliDate, L as toLatinDigits, I as toPersianDigits, te as tokensToCssVariables, N as useCalendarKeyboard, V as useDatePickerTheme, A as useJalaliDatePicker };
1968
+ export { me as DEFAULT_DATE_PICKER_PRESETS, re as DatePickerThemeProvider, se as DayCell, Se as DualMonthCalendar, ae as Header, f as JALALI_MONTH_NAMES_EN, xe as JalaliDatePicker, _e as MaskedDateInput, ce as MonthYearPicker, d as PERSIAN_MONTH_NAMES, m as PERSIAN_WEEK_DAYS_LONG, p as PERSIAN_WEEK_DAYS_SHORT, he as PresetsBar, fe as TimePicker, oe as Weekdays, E as addDaysToJalali, D as addJalaliDays, ge as applyDateMask, N as calculateNextFocusedDate, le as clampTime, O as compareJalaliDates, te as darkThemeTokens, z as formatJalaliDate, H as formatTimeSegment, ue as formatTimeString, S as generateJalaliCalendarGrid, P as getAriaDayLabel, U as getCurrentTime, g as getDaysInJalaliMonth, pe as getDefaultJalaliPresets, ve as getEventsForDate, T as getJalaliDayOfWeek, j as getJalaliMonthRange, A as getJalaliWeekRange, y as getTodayJalali, _ as gregorianToJalali, k as isJalaliDateBetween, h as isJalaliLeapYear, b as isSameJalaliDay, v as jalaliToGregorian, w as jalaliToJsDate, C as jsDateToJalali, B as lightThemeTokens, W as parseAndValidateJalaliString, x as toJalaliDate, R as toLatinDigits, L as toPersianDigits, V as tokensToCssVariables, F as useCalendarKeyboard, ie as useDatePickerTheme, M as useJalaliDatePicker };
1933
1969
 
1934
1970
  //# sourceMappingURL=index.mjs.map