persian-date-kit 0.0.3 → 0.0.4

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.
@@ -1,1028 +0,0 @@
1
- import { jsxs as mt, jsx as A } from "react/jsx-runtime";
2
- import * as T from "react";
3
- function Jt(t) {
4
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
5
- }
6
- var Mt = { exports: {} }, Zt = Mt.exports, Nt;
7
- function Et() {
8
- return Nt || (Nt = 1, (function(t, s) {
9
- (function(i, n) {
10
- t.exports = n();
11
- })(Zt, (function() {
12
- var i = 1e3, n = 6e4, p = 36e5, h = "millisecond", M = "second", x = "minute", N = "hour", b = "day", L = "week", D = "month", U = "quarter", k = "year", E = "date", rt = "Invalid Date", O = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, st = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, Q = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(d) {
13
- var o = ["th", "st", "nd", "rd"], r = d % 100;
14
- return "[" + d + (o[(r - 20) % 10] || o[r] || o[0]) + "]";
15
- } }, tt = function(d, o, r) {
16
- var f = String(d);
17
- return !f || f.length >= o ? d : "" + Array(o + 1 - f.length).join(r) + d;
18
- }, at = { s: tt, z: function(d) {
19
- var o = -d.utcOffset(), r = Math.abs(o), f = Math.floor(r / 60), u = r % 60;
20
- return (o <= 0 ? "+" : "-") + tt(f, 2, "0") + ":" + tt(u, 2, "0");
21
- }, m: function d(o, r) {
22
- if (o.date() < r.date()) return -d(r, o);
23
- var f = 12 * (r.year() - o.year()) + (r.month() - o.month()), u = o.clone().add(f, D), m = r - u < 0, y = o.clone().add(f + (m ? -1 : 1), D);
24
- return +(-(f + (r - u) / (m ? u - y : y - u)) || 0);
25
- }, a: function(d) {
26
- return d < 0 ? Math.ceil(d) || 0 : Math.floor(d);
27
- }, p: function(d) {
28
- return { M: D, y: k, w: L, d: b, D: E, h: N, m: x, s: M, ms: h, Q: U }[d] || String(d || "").toLowerCase().replace(/s$/, "");
29
- }, u: function(d) {
30
- return d === void 0;
31
- } }, K = "en", W = {};
32
- W[K] = Q;
33
- var J = "$isDayjsObject", R = function(d) {
34
- return d instanceof g || !(!d || !d[J]);
35
- }, a = function d(o, r, f) {
36
- var u;
37
- if (!o) return K;
38
- if (typeof o == "string") {
39
- var m = o.toLowerCase();
40
- W[m] && (u = m), r && (W[m] = r, u = m);
41
- var y = o.split("-");
42
- if (!u && y.length > 1) return d(y[0]);
43
- } else {
44
- var v = o.name;
45
- W[v] = o, u = v;
46
- }
47
- return !f && u && (K = u), u || !f && K;
48
- }, c = function(d, o) {
49
- if (R(d)) return d.clone();
50
- var r = typeof o == "object" ? o : {};
51
- return r.date = d, r.args = arguments, new g(r);
52
- }, l = at;
53
- l.l = a, l.i = R, l.w = function(d, o) {
54
- return c(d, { locale: o.$L, utc: o.$u, x: o.$x, $offset: o.$offset });
55
- };
56
- var g = (function() {
57
- function d(r) {
58
- this.$L = a(r.locale, null, !0), this.parse(r), this.$x = this.$x || r.x || {}, this[J] = !0;
59
- }
60
- var o = d.prototype;
61
- return o.parse = function(r) {
62
- this.$d = (function(f) {
63
- var u = f.date, m = f.utc;
64
- if (u === null) return /* @__PURE__ */ new Date(NaN);
65
- if (l.u(u)) return /* @__PURE__ */ new Date();
66
- if (u instanceof Date) return new Date(u);
67
- if (typeof u == "string" && !/Z$/i.test(u)) {
68
- var y = u.match(O);
69
- if (y) {
70
- var v = y[2] - 1 || 0, S = (y[7] || "0").substring(0, 3);
71
- return m ? new Date(Date.UTC(y[1], v, y[3] || 1, y[4] || 0, y[5] || 0, y[6] || 0, S)) : new Date(y[1], v, y[3] || 1, y[4] || 0, y[5] || 0, y[6] || 0, S);
72
- }
73
- }
74
- return new Date(u);
75
- })(r), this.init();
76
- }, o.init = function() {
77
- var r = this.$d;
78
- this.$y = r.getFullYear(), this.$M = r.getMonth(), this.$D = r.getDate(), this.$W = r.getDay(), this.$H = r.getHours(), this.$m = r.getMinutes(), this.$s = r.getSeconds(), this.$ms = r.getMilliseconds();
79
- }, o.$utils = function() {
80
- return l;
81
- }, o.isValid = function() {
82
- return this.$d.toString() !== rt;
83
- }, o.isSame = function(r, f) {
84
- var u = c(r);
85
- return this.startOf(f) <= u && u <= this.endOf(f);
86
- }, o.isAfter = function(r, f) {
87
- return c(r) < this.startOf(f);
88
- }, o.isBefore = function(r, f) {
89
- return this.endOf(f) < c(r);
90
- }, o.$g = function(r, f, u) {
91
- return l.u(r) ? this[f] : this.set(u, r);
92
- }, o.unix = function() {
93
- return Math.floor(this.valueOf() / 1e3);
94
- }, o.valueOf = function() {
95
- return this.$d.getTime();
96
- }, o.startOf = function(r, f) {
97
- var u = this, m = !!l.u(f) || f, y = l.p(r), v = function(B, H) {
98
- var z = l.w(u.$u ? Date.UTC(u.$y, H, B) : new Date(u.$y, H, B), u);
99
- return m ? z : z.endOf(b);
100
- }, S = function(B, H) {
101
- return l.w(u.toDate()[B].apply(u.toDate("s"), (m ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(H)), u);
102
- }, C = this.$W, w = this.$M, F = this.$D, nt = "set" + (this.$u ? "UTC" : "");
103
- switch (y) {
104
- case k:
105
- return m ? v(1, 0) : v(31, 11);
106
- case D:
107
- return m ? v(1, w) : v(0, w + 1);
108
- case L:
109
- var G = this.$locale().weekStart || 0, X = (C < G ? C + 7 : C) - G;
110
- return v(m ? F - X : F + (6 - X), w);
111
- case b:
112
- case E:
113
- return S(nt + "Hours", 0);
114
- case N:
115
- return S(nt + "Minutes", 1);
116
- case x:
117
- return S(nt + "Seconds", 2);
118
- case M:
119
- return S(nt + "Milliseconds", 3);
120
- default:
121
- return this.clone();
122
- }
123
- }, o.endOf = function(r) {
124
- return this.startOf(r, !1);
125
- }, o.$set = function(r, f) {
126
- var u, m = l.p(r), y = "set" + (this.$u ? "UTC" : ""), v = (u = {}, u[b] = y + "Date", u[E] = y + "Date", u[D] = y + "Month", u[k] = y + "FullYear", u[N] = y + "Hours", u[x] = y + "Minutes", u[M] = y + "Seconds", u[h] = y + "Milliseconds", u)[m], S = m === b ? this.$D + (f - this.$W) : f;
127
- if (m === D || m === k) {
128
- var C = this.clone().set(E, 1);
129
- C.$d[v](S), C.init(), this.$d = C.set(E, Math.min(this.$D, C.daysInMonth())).$d;
130
- } else v && this.$d[v](S);
131
- return this.init(), this;
132
- }, o.set = function(r, f) {
133
- return this.clone().$set(r, f);
134
- }, o.get = function(r) {
135
- return this[l.p(r)]();
136
- }, o.add = function(r, f) {
137
- var u, m = this;
138
- r = Number(r);
139
- var y = l.p(f), v = function(w) {
140
- var F = c(m);
141
- return l.w(F.date(F.date() + Math.round(w * r)), m);
142
- };
143
- if (y === D) return this.set(D, this.$M + r);
144
- if (y === k) return this.set(k, this.$y + r);
145
- if (y === b) return v(1);
146
- if (y === L) return v(7);
147
- var S = (u = {}, u[x] = n, u[N] = p, u[M] = i, u)[y] || 1, C = this.$d.getTime() + r * S;
148
- return l.w(C, this);
149
- }, o.subtract = function(r, f) {
150
- return this.add(-1 * r, f);
151
- }, o.format = function(r) {
152
- var f = this, u = this.$locale();
153
- if (!this.isValid()) return u.invalidDate || rt;
154
- var m = r || "YYYY-MM-DDTHH:mm:ssZ", y = l.z(this), v = this.$H, S = this.$m, C = this.$M, w = u.weekdays, F = u.months, nt = u.meridiem, G = function(H, z, it, lt) {
155
- return H && (H[z] || H(f, m)) || it[z].slice(0, lt);
156
- }, X = function(H) {
157
- return l.s(v % 12 || 12, H, "0");
158
- }, B = nt || function(H, z, it) {
159
- var lt = H < 12 ? "AM" : "PM";
160
- return it ? lt.toLowerCase() : lt;
161
- };
162
- return m.replace(st, (function(H, z) {
163
- return z || (function(it) {
164
- switch (it) {
165
- case "YY":
166
- return String(f.$y).slice(-2);
167
- case "YYYY":
168
- return l.s(f.$y, 4, "0");
169
- case "M":
170
- return C + 1;
171
- case "MM":
172
- return l.s(C + 1, 2, "0");
173
- case "MMM":
174
- return G(u.monthsShort, C, F, 3);
175
- case "MMMM":
176
- return G(F, C);
177
- case "D":
178
- return f.$D;
179
- case "DD":
180
- return l.s(f.$D, 2, "0");
181
- case "d":
182
- return String(f.$W);
183
- case "dd":
184
- return G(u.weekdaysMin, f.$W, w, 2);
185
- case "ddd":
186
- return G(u.weekdaysShort, f.$W, w, 3);
187
- case "dddd":
188
- return w[f.$W];
189
- case "H":
190
- return String(v);
191
- case "HH":
192
- return l.s(v, 2, "0");
193
- case "h":
194
- return X(1);
195
- case "hh":
196
- return X(2);
197
- case "a":
198
- return B(v, S, !0);
199
- case "A":
200
- return B(v, S, !1);
201
- case "m":
202
- return String(S);
203
- case "mm":
204
- return l.s(S, 2, "0");
205
- case "s":
206
- return String(f.$s);
207
- case "ss":
208
- return l.s(f.$s, 2, "0");
209
- case "SSS":
210
- return l.s(f.$ms, 3, "0");
211
- case "Z":
212
- return y;
213
- }
214
- return null;
215
- })(H) || y.replace(":", "");
216
- }));
217
- }, o.utcOffset = function() {
218
- return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
219
- }, o.diff = function(r, f, u) {
220
- var m, y = this, v = l.p(f), S = c(r), C = (S.utcOffset() - this.utcOffset()) * n, w = this - S, F = function() {
221
- return l.m(y, S);
222
- };
223
- switch (v) {
224
- case k:
225
- m = F() / 12;
226
- break;
227
- case D:
228
- m = F();
229
- break;
230
- case U:
231
- m = F() / 3;
232
- break;
233
- case L:
234
- m = (w - C) / 6048e5;
235
- break;
236
- case b:
237
- m = (w - C) / 864e5;
238
- break;
239
- case N:
240
- m = w / p;
241
- break;
242
- case x:
243
- m = w / n;
244
- break;
245
- case M:
246
- m = w / i;
247
- break;
248
- default:
249
- m = w;
250
- }
251
- return u ? m : l.a(m);
252
- }, o.daysInMonth = function() {
253
- return this.endOf(D).$D;
254
- }, o.$locale = function() {
255
- return W[this.$L];
256
- }, o.locale = function(r, f) {
257
- if (!r) return this.$L;
258
- var u = this.clone(), m = a(r, f, !0);
259
- return m && (u.$L = m), u;
260
- }, o.clone = function() {
261
- return l.w(this.$d, this);
262
- }, o.toDate = function() {
263
- return new Date(this.valueOf());
264
- }, o.toJSON = function() {
265
- return this.isValid() ? this.toISOString() : null;
266
- }, o.toISOString = function() {
267
- return this.$d.toISOString();
268
- }, o.toString = function() {
269
- return this.$d.toUTCString();
270
- }, d;
271
- })(), _ = g.prototype;
272
- return c.prototype = _, [["$ms", h], ["$s", M], ["$m", x], ["$H", N], ["$W", b], ["$M", D], ["$y", k], ["$D", E]].forEach((function(d) {
273
- _[d[1]] = function(o) {
274
- return this.$g(o, d[0], d[1]);
275
- };
276
- })), c.extend = function(d, o) {
277
- return d.$i || (d(o, g, c), d.$i = !0), c;
278
- }, c.locale = a, c.isDayjs = R, c.unix = function(d) {
279
- return c(1e3 * d);
280
- }, c.en = W[K], c.Ls = W, c.p = {}, c;
281
- }));
282
- })(Mt)), Mt.exports;
283
- }
284
- var Bt = Et();
285
- const kt = /* @__PURE__ */ Jt(Bt);
286
- var vt = { exports: {} }, zt = vt.exports, Lt;
287
- function qt() {
288
- return Lt || (Lt = 1, (function(t, s) {
289
- (function(i, n) {
290
- t.exports = n(Et());
291
- })(zt, (function(i) {
292
- function n(M) {
293
- return M && typeof M == "object" && "default" in M ? M : { default: M };
294
- }
295
- var p = n(i), h = { name: "fa", weekdays: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"), weekdaysShort: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"), weekdaysMin: "ی_د_س_چ_پ_ج_ش".split("_"), weekStart: 6, months: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"), monthsShort: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"), ordinal: function(M) {
296
- return M;
297
- }, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" }, relativeTime: { future: "در %s", past: "%s پیش", s: "چند ثانیه", m: "یک دقیقه", mm: "%d دقیقه", h: "یک ساعت", hh: "%d ساعت", d: "یک روز", dd: "%d روز", M: "یک ماه", MM: "%d ماه", y: "یک سال", yy: "%d سال" } };
298
- return p.default.locale(h, null, !0), h;
299
- }));
300
- })(vt)), vt.exports;
301
- }
302
- var Kt = qt();
303
- const Xt = /* @__PURE__ */ Jt(Kt);
304
- function Qt(t, s, i) {
305
- let n = Y((t + Y(s - 8, 6) + 100100) * 1461, 4) + Y(153 * ct(s + 9, 12) + 2, 5) + i - 34840408;
306
- return n = n - Y(Y(t + 100100 + Y(s - 8, 6), 100) * 3, 4) + 752, n;
307
- }
308
- const jt = [
309
- -61,
310
- 9,
311
- 38,
312
- 199,
313
- 426,
314
- 686,
315
- 756,
316
- 818,
317
- 1111,
318
- 1181,
319
- 1210,
320
- 1635,
321
- 2060,
322
- 2097,
323
- 2192,
324
- 2262,
325
- 2324,
326
- 2394,
327
- 2456,
328
- 3178
329
- ], et = Math.floor;
330
- function ct(t, s) {
331
- return t - ~~(t / s) * s;
332
- }
333
- function Y(t, s) {
334
- return ~~(t / s);
335
- }
336
- function tn(t, s) {
337
- const i = jt.length, n = t + 621;
338
- let p = -14, h = jt[0], M, x, N;
339
- if (t < h || t >= jt[i - 1]) throw new Error(`Invalid Jalaali year ${t}`);
340
- for (let D = 1; D < i && (M = jt[D], x = M - h, !(t < M)); D += 1)
341
- p = p + Y(x, 33) * 8 + Y(ct(x, 33), 4), h = M;
342
- N = t - h, p = p + Y(N, 33) * 8 + Y(ct(N, 33) + 3, 4), ct(x, 33) === 4 && x - N === 4 && (p += 1);
343
- const b = Y(n, 4) - Y((Y(n, 100) + 1) * 3, 4) - 150, L = 20 + p - b;
344
- return {
345
- gy: n,
346
- march: L
347
- };
348
- }
349
- function nn(t, s, i) {
350
- const n = tn(t);
351
- return Qt(n.gy, 3, n.march) + (s - 1) * 31 - Y(s, 7) * (s - 7) + i - 1;
352
- }
353
- function en(t) {
354
- let s = 4 * t + 139361631;
355
- s = s + Y(Y(4 * t + 183187720, 146097) * 3, 4) * 4 - 3908;
356
- const i = Y(ct(s, 1461), 4) * 5 + 308, n = Y(ct(i, 153), 5) + 1, p = ct(Y(i, 153), 12) + 1;
357
- return [
358
- Y(s, 1461) - 100100 + Y(8 - p, 6),
359
- p,
360
- n
361
- ];
362
- }
363
- function rn(t, s, i) {
364
- return en(nn(t, s, i));
365
- }
366
- function sn(t, s, i) {
367
- const n = {
368
- year: t,
369
- month: s,
370
- day: i
371
- }, p = [
372
- 0,
373
- 31,
374
- 59,
375
- 90,
376
- 120,
377
- 151,
378
- 181,
379
- 212,
380
- 243,
381
- 273,
382
- 304,
383
- 334
384
- ];
385
- let h;
386
- t <= 1600 ? (t -= 621, n.year = 0) : (t -= 1600, n.year = 979);
387
- const M = t > 2 ? t + 1 : t;
388
- return h = et((M + 3) / 4) + 365 * t - et((M + 99) / 100) - 80 + p[s - 1] + et((M + 399) / 400) + i, n.year += 33 * et(h / 12053), h %= 12053, n.year += 4 * et(h / 1461), h %= 1461, h > 365 && (n.year += et((h - 1) / 365), h = (h - 1) % 365), n.month = h < 186 ? 1 + et(h / 31) : 7 + et((h - 186) / 30), n.day = 1 + (h < 186 ? h % 31 : (h - 186) % 30), [
389
- n.year,
390
- n.month,
391
- n.day
392
- ];
393
- }
394
- var _t = {
395
- J: (t, s, i) => sn(t, s, i),
396
- G: (t, s, i) => rn(t, s, i)
397
- };
398
- const an = /^(\d{4})[-/]?(\d{1,2})[-/]?(\d{0,2})(.*)$/, on = /\[.*?\]|jY{2,4}|jM{1,4}|jD{1,2}|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, wt = "date", ht = "day", ot = "month", ut = "year", At = "week", un = "YYYY-MM-DDTHH:mm:ssZ", cn = { jmonths: "فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند".split("_") }, dn = (t, s, i) => {
399
- const n = s.prototype, p = n.$utils(), h = (a) => a.$C === "jalali", M = p.prettyUnit || p.p, x = p.isUndefined || p.u, N = p.padStart || p.s, b = p.monthDiff || p.m, L = p.absFloor || p.a, D = (a) => function(...c) {
400
- const l = a.bind(this)(...c);
401
- return l.$C = this.$C, l.isJalali() && l.InitJalali(), l;
402
- };
403
- n.startOf = D(n.startOf), n.endOf = D(n.endOf), n.add = D(n.add), n.subtract = D(n.subtract), n.set = D(n.set);
404
- const U = n.parse, k = n.init, E = n.startOf, rt = n.$set, O = n.add, st = n.format, Q = n.diff, tt = n.year, at = n.month, K = n.date, W = n.daysInMonth, J = n.toArray;
405
- i.$C = "gregory", i.$fdow = 6, i.calendar = function(a) {
406
- return i.$C = a, i;
407
- }, n.calendar = function(a) {
408
- const c = this.clone();
409
- return c.$C = a, c.isJalali() && c.InitJalali(), c;
410
- }, n.isJalali = function() {
411
- return h(this);
412
- }, i.en.jmonths = "Farvardin_Ordibehesht_Khordaad_Tir_Mordaad_Shahrivar_Mehr_Aabaan_Aazar_Dey_Bahman_Esfand".split("_"), i.locale("fa", {
413
- ...Xt,
414
- ...cn
415
- }, !0);
416
- const R = function(a, c) {
417
- return i(a, {
418
- locale: c.$L,
419
- utc: c.$u,
420
- calendar: c.$C
421
- });
422
- };
423
- n.init = function(a = {}) {
424
- k.bind(this)(a), this.isJalali() && this.InitJalali();
425
- }, n.parse = function(a) {
426
- if (this.$C = a.calendar || this.$C || i.$C, a.jalali && typeof a.date == "string" && /.*[^Z]$/i.test(a.date)) {
427
- const c = a.date.match(an);
428
- if (c) {
429
- const [l, g, _] = _t.G(Number.parseInt(c[1], 10), Number.parseInt(c[2], 10), Number.parseInt(c[3] || 1, 10));
430
- a.date = `${l}-${g}-${_}${c[4] || ""}`;
431
- }
432
- }
433
- return U.bind(this)(a);
434
- }, n.InitJalali = function() {
435
- const [a, c, l] = _t.J(this.$y, this.$M + 1, this.$D);
436
- this.$jy = a, this.$jM = c - 1, this.$jD = l;
437
- }, n.startOf = function(a, c) {
438
- if (!h(this)) return E.bind(this)(a, c);
439
- const l = x(c) ? !0 : c, g = M(a), _ = (o, r, f = this.$jy) => {
440
- const [u, m, y] = _t.G(f, r + 1, o), v = R(new Date(u, m - 1, y), this);
441
- return (l ? v : v.endOf(ht)).$set("hour", 1);
442
- }, d = (this.$W + (7 - i.$fdow)) % 7;
443
- switch (g) {
444
- case ut:
445
- return l ? _(1, 0) : _(0, 0, this.$jy + 1);
446
- case ot:
447
- return l ? _(1, this.$jM) : _(0, (this.$jM + 1) % 12, this.$jy + Math.floor((this.$jM + 1) / 12));
448
- case At:
449
- return l ? _(this.$jD - d, this.$jM) : _(this.$jD + (6 - d), this.$jM);
450
- default:
451
- return E.bind(this)(a, c);
452
- }
453
- }, n.$set = function(a, c) {
454
- if (!h(this)) return rt.bind(this)(a, c);
455
- const l = M(a), g = (_, d, o = this.$jy) => {
456
- const [r, f, u] = _t.G(o, d + 1, _);
457
- return this.$d.setFullYear(r), this.$d.setMonth(f - 1), this.$d.setDate(u), this;
458
- };
459
- switch (l) {
460
- case wt:
461
- case ht:
462
- g(c, this.$jM);
463
- break;
464
- case ot:
465
- g(this.$jD, c);
466
- break;
467
- case ut:
468
- g(this.$jD, this.$jM, c);
469
- break;
470
- default:
471
- return rt.bind(this)(a, c);
472
- }
473
- return this.init(), this;
474
- }, n.add = function(a, c) {
475
- if (!h(this)) return O.bind(this)(a, c);
476
- a = Number(a);
477
- const l = c && (c.length === 1 || c === "ms") ? c : M(c), g = (_, d) => {
478
- const o = this.set(wt, 1).set(_, d + a);
479
- return o.set(wt, Math.min(this.$jD, o.daysInMonth()));
480
- };
481
- if (["M", ot].includes(l)) {
482
- const _ = this.$jM + a, d = _ < 0 ? -Math.ceil(-_ / 12) : Math.floor(_ / 12), o = this.$jD, r = this.set(ht, 1).add(d, ut).set(ot, _ - d * 12);
483
- return r.set(ht, Math.min(r.daysInMonth(), o));
484
- }
485
- if (["y", ut].includes(l)) return g(ut, this.$jy);
486
- if (["d", ht].includes(l)) {
487
- const _ = new Date(this.$d);
488
- return _.setDate(_.getDate() + a), R(_, this);
489
- }
490
- if (["w", At].includes(l)) {
491
- const _ = new Date(this.$d);
492
- return _.setDate(_.getDate() + a * 7), R(_, this);
493
- }
494
- return O.bind(this)(a, c);
495
- }, n.format = function(a, c) {
496
- if (!h(this)) return st.bind(this)(a, c);
497
- const l = a || un, g = c || this.$locale(), { jmonths: _ } = g;
498
- return l.replace(on, (d) => {
499
- if (d.includes("[")) return d.replace(/\[|\]/g, "");
500
- switch (d) {
501
- case "YY":
502
- return String(this.$jy).slice(-2);
503
- case "YYYY":
504
- return String(this.$jy);
505
- case "M":
506
- return String(this.$jM + 1);
507
- case "MM":
508
- return N(this.$jM + 1, 2, "0");
509
- case "MMM":
510
- return _[this.$jM].slice(0, 3);
511
- case "MMMM":
512
- return _[this.$jM];
513
- case "D":
514
- return String(this.$jD);
515
- case "DD":
516
- return N(this.$jD, 2, "0");
517
- default:
518
- return st.bind(this)(d, c);
519
- }
520
- });
521
- }, n.diff = function(a, c, l) {
522
- if (!h(this)) return Q.bind(this)(a, c, l);
523
- const g = M(c), _ = i(a);
524
- let d = b(this, _);
525
- switch (g) {
526
- case ut:
527
- d /= 12;
528
- break;
529
- case ot:
530
- break;
531
- default:
532
- return Q.bind(this)(a, c, l);
533
- }
534
- return l ? d : L(d);
535
- }, n.$g = function(a, c, l) {
536
- return x(a) ? this[c] : this.set(l, a);
537
- }, n.year = function(a) {
538
- return h(this) ? this.$g(a, "$jy", ut) : tt.bind(this)(a);
539
- }, n.month = function(a) {
540
- return h(this) ? this.$g(a, "$jM", ot) : at.bind(this)(a);
541
- }, n.date = function(a) {
542
- return h(this) ? this.$g(a, "$jD", ht) : K.bind(this)(a);
543
- }, n.daysInMonth = function() {
544
- return h(this) ? this.endOf(ot).$jD : W.bind(this)();
545
- }, J && (n.toArray = function() {
546
- return h(this) ? [
547
- this.$jy,
548
- this.$jM,
549
- this.$jD,
550
- this.$H,
551
- this.$m,
552
- this.$s,
553
- this.$ms
554
- ] : J.bind(this)();
555
- }), n.clone = function() {
556
- return R(this.toDate(), this);
557
- };
558
- };
559
- var ln = dn;
560
- kt.extend(ln);
561
- function Dt(t) {
562
- return String(t).padStart(2, "0");
563
- }
564
- function It(t) {
565
- return String(t).padStart(4, "0");
566
- }
567
- function q(t) {
568
- const s = kt(t).calendar("jalali");
569
- return { jy: s.year(), jm: s.month() + 1, jd: s.date() };
570
- }
571
- function V(t) {
572
- const { jy: s, jm: i, jd: n } = t, p = `${It(s)}-${Dt(i)}-${Dt(n)}`, h = kt(p, { jalali: !0 }).calendar("gregory").startOf("day");
573
- if (!h.isValid())
574
- throw new Error(`Invalid Jalali date parts: ${p}`);
575
- return h.toDate();
576
- }
577
- function fn(t, s = {}) {
578
- const i = s.separator ?? "/";
579
- return `${It(t.jy)}${i}${Dt(t.jm)}${i}${Dt(t.jd)}`;
580
- }
581
- function hn(t) {
582
- const s = q(t);
583
- return { ...s, formatted: fn(s) };
584
- }
585
- function pn(t) {
586
- return t.replace(/[^\d]+/g, "-");
587
- }
588
- function Dn(t) {
589
- return V(t);
590
- }
591
- function mn(t, s = {}) {
592
- const i = t.trim();
593
- if (!i) return null;
594
- const p = (s.allowLooseSeparators ? pn(i) : i).match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/);
595
- if (!p) return null;
596
- const h = Number(p[1]), M = Number(p[2]), x = Number(p[3]);
597
- try {
598
- return V({ jy: h, jm: M, jd: x });
599
- } catch {
600
- return null;
601
- }
602
- }
603
- const yn = 1440 * 60 * 1e3;
604
- function bt(t) {
605
- return Date.UTC(t.getFullYear(), t.getMonth(), t.getDate());
606
- }
607
- function dt(t, s) {
608
- const i = bt(t), n = bt(s);
609
- return i === n ? 0 : i < n ? -1 : 1;
610
- }
611
- function St(t, s) {
612
- return dt(t, s) === 0;
613
- }
614
- function pt(t, s) {
615
- const i = new Date(t);
616
- return i.setDate(i.getDate() + s), i;
617
- }
618
- function gt(t, s, i) {
619
- return !(s && dt(t, s) < 0 || i && dt(t, i) > 0);
620
- }
621
- function bn(t, s, i) {
622
- return s && dt(t, s) < 0 ? new Date(s) : i && dt(t, i) > 0 ? new Date(i) : new Date(t);
623
- }
624
- function Ht(t, s) {
625
- const i = t.jy * 12 + (t.jm - 1) + s, n = Math.floor(i / 12), p = (i % 12 + 12) % 12 + 1;
626
- return { jy: n, jm: p };
627
- }
628
- function $n(t, s) {
629
- const i = V({ jy: t, jm: s, jd: 1 }), n = Ht({ jy: t, jm: s }, 1), p = V({ jy: n.jy, jm: n.jm, jd: 1 });
630
- return Math.round((bt(p) - bt(i)) / yn);
631
- }
632
- function Tt(t, s) {
633
- const i = q(t), n = Ht({ jy: i.jy, jm: i.jm }, s), p = $n(n.jy, n.jm), h = Math.min(i.jd, p);
634
- return V({ jy: n.jy, jm: n.jm, jd: h });
635
- }
636
- function jn(t) {
637
- const { jy: s, jm: i } = t, n = t.weekStartsOn ?? 6, p = V({ jy: s, jm: i, jd: 1 }), M = (p.getDay() - n + 7) % 7, x = pt(p, -M), N = [];
638
- for (let b = 0; b < 6; b++) {
639
- const L = [];
640
- for (let D = 0; D < 7; D++) {
641
- const U = b * 7 + D, k = pt(x, U), E = q(k);
642
- L.push({
643
- gregorian: k,
644
- jalali: E,
645
- inCurrentMonth: E.jy === s && E.jm === i
646
- });
647
- }
648
- N.push(L);
649
- }
650
- return N;
651
- }
652
- function I(...t) {
653
- return t.filter(Boolean).join(" ");
654
- }
655
- function _n(t) {
656
- return hn(t).formatted;
657
- }
658
- function Mn(t) {
659
- return mn(t, { allowLooseSeparators: !0 });
660
- }
661
- function vn(t, s, i) {
662
- return gt(t, s, i) ? t : null;
663
- }
664
- function yt(t) {
665
- const i = q(t ?? /* @__PURE__ */ new Date());
666
- return { jy: i.jy, jm: i.jm };
667
- }
668
- function xt() {
669
- const t = /* @__PURE__ */ new Date();
670
- return t.setHours(0, 0, 0, 0), t;
671
- }
672
- function wn(t) {
673
- const {
674
- value: s,
675
- onChange: i,
676
- minDate: n,
677
- maxDate: p,
678
- disabled: h,
679
- placeholder: M,
680
- open: x,
681
- onOpenChange: N,
682
- mode: b = "popover",
683
- formatValue: L = _n,
684
- parseValue: D = Mn,
685
- weekdays: U,
686
- monthLabels: k,
687
- renderMonthLabel: E,
688
- className: rt,
689
- classes: O
690
- } = t, st = T.useRef(null), Q = T.useRef(null), tt = T.useRef(null), at = T.useRef(!1), [K, W] = T.useState(!1), J = b === "inline" ? !0 : x ?? K;
691
- function R(e) {
692
- N?.(e), b !== "inline" && x === void 0 && W(e);
693
- }
694
- const [a, c] = T.useState(() => yt(s)), [l, g] = T.useState(() => s ?? xt()), [_, d] = T.useState(() => s ? L(s) : ""), [o, r] = T.useState("days"), [f, u] = T.useState(() => {
695
- const e = yt(s).jy;
696
- return e - e % 12;
697
- }), [m, y] = T.useState(() => yt(s).jy);
698
- T.useEffect(() => {
699
- if (at.current) return;
700
- d(s ? L(s) : ""), c(yt(s)), g(s ?? xt());
701
- const e = yt(s).jy;
702
- y(e), u(e - e % 12);
703
- }, [s, L]), T.useEffect(() => {
704
- if (b !== "popover" || !J) return;
705
- const e = ($) => {
706
- const j = st.current;
707
- j && $.target instanceof Node && !j.contains($.target) && R(!1);
708
- };
709
- return document.addEventListener("pointerdown", e), () => document.removeEventListener("pointerdown", e);
710
- }, [b, J]), T.useEffect(() => {
711
- J && tt.current?.focus();
712
- }, [J]);
713
- const v = T.useMemo(() => E ? E(a.jy, a.jm) : k && k.length === 12 ? `${k[a.jm - 1] ?? String(a.jm)} ${a.jy}` : `${a.jy} / ${a.jm}`, [k, E, a.jm, a.jy]), S = T.useMemo(() => U && U.length === 7 ? U : ["1", "2", "3", "4", "5", "6", "7"], [U]), C = T.useMemo(() => jn({ jy: a.jy, jm: a.jm }), [a.jm, a.jy]), w = s ?? null, F = T.useMemo(() => xt(), []);
714
- function nt(e) {
715
- const $ = q(e);
716
- c({ jy: $.jy, jm: $.jm });
717
- }
718
- function G() {
719
- if (h) return;
720
- R(!0);
721
- const e = w ?? l ?? F;
722
- nt(e), r("days");
723
- const $ = q(e).jy;
724
- y($), u($ - $ % 12);
725
- }
726
- function X() {
727
- R(!1), r("days"), Q.current?.focus();
728
- }
729
- function B(e) {
730
- const $ = e.trim();
731
- if (!$) {
732
- i(null);
733
- return;
734
- }
735
- const j = D($);
736
- if (!j) {
737
- d(w ? L(w) : $);
738
- return;
739
- }
740
- const P = vn(j, n, p);
741
- if (!P) {
742
- d(w ? L(w) : $);
743
- return;
744
- }
745
- i(P);
746
- }
747
- function H(e) {
748
- if (!h) {
749
- if (e.key === "ArrowDown") {
750
- e.preventDefault(), G();
751
- return;
752
- }
753
- if (e.key === "Escape") {
754
- J && (e.preventDefault(), X());
755
- return;
756
- }
757
- if (e.key === "Enter") {
758
- e.preventDefault(), B(_);
759
- return;
760
- }
761
- }
762
- }
763
- function z(e) {
764
- if (J && !h) {
765
- if (e.key === "Escape") {
766
- e.preventDefault(), X();
767
- return;
768
- }
769
- if (o === "days") {
770
- if (e.key === "ArrowLeft") {
771
- e.preventDefault(), g(($) => pt($, -1));
772
- return;
773
- }
774
- if (e.key === "ArrowRight") {
775
- e.preventDefault(), g(($) => pt($, 1));
776
- return;
777
- }
778
- if (e.key === "ArrowUp") {
779
- e.preventDefault(), g(($) => pt($, -7));
780
- return;
781
- }
782
- if (e.key === "ArrowDown") {
783
- e.preventDefault(), g(($) => pt($, 7));
784
- return;
785
- }
786
- if (e.key === "PageUp") {
787
- e.preventDefault(), $t(-1);
788
- return;
789
- }
790
- if (e.key === "PageDown") {
791
- e.preventDefault(), $t(1);
792
- return;
793
- }
794
- if (e.key === "Enter") {
795
- if (e.preventDefault(), !gt(l, n, p)) return;
796
- i(l), d(L(l)), X();
797
- }
798
- }
799
- }
800
- }
801
- T.useEffect(() => {
802
- if (!J) return;
803
- const e = q(l);
804
- c(($) => $.jy === e.jy && $.jm === e.jm ? $ : { jy: e.jy, jm: e.jm });
805
- }, [l, J]);
806
- function it(e) {
807
- h || gt(e.gregorian, n, p) && (i(e.gregorian), d(L(e.gregorian)), g(e.gregorian), R(!1), Q.current?.focus());
808
- }
809
- function lt(e) {
810
- return h ? !0 : !gt(e.gregorian, n, p);
811
- }
812
- function $t(e) {
813
- const $ = V({ jy: a.jy, jm: a.jm, jd: 1 }), j = Tt($, e), P = q(j);
814
- c({ jy: P.jy, jm: P.jm }), g((Z) => {
815
- const ft = q(Z);
816
- return ft.jy === a.jy && ft.jm === a.jm ? Tt(Z, e) : j;
817
- });
818
- }
819
- function Ft() {
820
- $t(-1);
821
- }
822
- function Pt() {
823
- $t(1);
824
- }
825
- function Rt(e) {
826
- const $ = V({ jy: e, jm: 1, jd: 1 }), j = V({ jy: e + 1, jm: 1, jd: 1 });
827
- return { start: $, endExclusive: j };
828
- }
829
- function Vt(e, $) {
830
- const j = V({ jy: e, jm: $, jd: 1 }), P = $ === 12 ? { jy: e + 1, jm: 1 } : { jy: e, jm: $ + 1 }, Z = V({ jy: P.jy, jm: P.jm, jd: 1 });
831
- return { start: j, endExclusive: Z };
832
- }
833
- function Yt(e) {
834
- return !(n && dt(e.endExclusive, n) <= 0 || p && dt(e.start, p) > 0);
835
- }
836
- function Ut() {
837
- if (o === "days") {
838
- r("years");
839
- const e = a.jy;
840
- y(e), u(e - e % 12);
841
- } else
842
- r("days");
843
- }
844
- function Wt(e) {
845
- y(e), r("months");
846
- }
847
- function Gt(e) {
848
- const $ = { jy: m, jm: e };
849
- c($), g(() => {
850
- const j = q(l).jd;
851
- try {
852
- return V({ jy: $.jy, jm: $.jm, jd: j });
853
- } catch {
854
- return V({ jy: $.jy, jm: $.jm, jd: 1 });
855
- }
856
- }), r("days");
857
- }
858
- const Ot = /* @__PURE__ */ mt(
859
- "div",
860
- {
861
- ref: tt,
862
- tabIndex: -1,
863
- className: "dvx-pdp__calendar",
864
- onKeyDown: z,
865
- children: [
866
- /* @__PURE__ */ mt("div", { className: I("dvx-pdp__header", O?.header), children: [
867
- /* @__PURE__ */ A(
868
- "button",
869
- {
870
- type: "button",
871
- className: I("dvx-pdp__nav", O?.navButton),
872
- onClick: o === "days" ? Ft : () => u((e) => e - 12),
873
- "aria-label": "Previous month",
874
- children: "‹"
875
- }
876
- ),
877
- /* @__PURE__ */ A(
878
- "button",
879
- {
880
- type: "button",
881
- className: I("dvx-pdp__monthLabel", O?.monthLabel),
882
- onClick: Ut,
883
- "aria-label": "Choose month and year",
884
- children: o === "days" ? v : m
885
- }
886
- ),
887
- /* @__PURE__ */ A(
888
- "button",
889
- {
890
- type: "button",
891
- className: I("dvx-pdp__nav", O?.navButton),
892
- onClick: o === "days" ? Pt : () => u((e) => e + 12),
893
- "aria-label": "Next month",
894
- children: "›"
895
- }
896
- )
897
- ] }),
898
- o === "days" ? /* @__PURE__ */ mt("div", { className: I("dvx-pdp__grid", O?.grid), children: [
899
- /* @__PURE__ */ A("div", { className: "dvx-pdp__weekdays", "aria-hidden": "true", children: S.map((e, $) => /* @__PURE__ */ A("div", { className: I("dvx-pdp__weekday", O?.weekday), children: e }, $)) }),
900
- /* @__PURE__ */ A("div", { className: "dvx-pdp__days", children: C.map((e, $) => /* @__PURE__ */ A("div", { className: "dvx-pdp__row", children: e.map((j) => {
901
- const P = lt(j), Z = w ? St(j.gregorian, w) : !1, ft = St(j.gregorian, F), Ct = St(j.gregorian, l);
902
- return /* @__PURE__ */ A(
903
- "button",
904
- {
905
- type: "button",
906
- className: I(
907
- "dvx-pdp__day",
908
- O?.day,
909
- !j.inCurrentMonth && I("dvx-pdp__day--outside", O?.dayOutside),
910
- P && I("dvx-pdp__day--disabled", O?.dayDisabled),
911
- Z && I("dvx-pdp__day--selected", O?.daySelected),
912
- ft && I("dvx-pdp__day--today", O?.dayToday),
913
- Ct && "dvx-pdp__day--focused"
914
- ),
915
- disabled: P,
916
- onClick: () => it(j),
917
- onMouseEnter: () => {
918
- j.inCurrentMonth && g(j.gregorian);
919
- },
920
- "aria-pressed": Z,
921
- children: j.jalali.jd
922
- },
923
- `${j.jalali.jy}-${j.jalali.jm}-${j.jalali.jd}`
924
- );
925
- }) }, $)) })
926
- ] }) : o === "years" ? /* @__PURE__ */ A("div", { className: "dvx-pdp__panel", children: /* @__PURE__ */ A("div", { className: "dvx-pdp__panelGrid", children: Array.from({ length: 12 }).map((e, $) => {
927
- const j = f + $, P = Yt(Rt(j)), Z = j === a.jy;
928
- return /* @__PURE__ */ A(
929
- "button",
930
- {
931
- type: "button",
932
- className: I("dvx-pdp__cell", Z && "dvx-pdp__cell--active"),
933
- disabled: !P,
934
- onClick: () => Wt(j),
935
- children: j
936
- },
937
- j
938
- );
939
- }) }) }) : /* @__PURE__ */ A("div", { className: "dvx-pdp__panel", children: /* @__PURE__ */ A("div", { className: "dvx-pdp__panelGrid", children: Array.from({ length: 12 }).map((e, $) => {
940
- const j = $ + 1, P = Yt(Vt(m, j)), Z = m === a.jy && j === a.jm, ft = k && k.length === 12 ? k[j - 1] ?? String(j) : String(j);
941
- return /* @__PURE__ */ A(
942
- "button",
943
- {
944
- type: "button",
945
- className: I("dvx-pdp__cell", Z && "dvx-pdp__cell--active"),
946
- disabled: !P,
947
- onClick: () => Gt(j),
948
- children: ft
949
- },
950
- j
951
- );
952
- }) }) })
953
- ]
954
- }
955
- );
956
- return /* @__PURE__ */ mt(
957
- "div",
958
- {
959
- ref: st,
960
- className: I("dvx-pdp", b === "inline" && "dvx-pdp--inline", rt, O?.root),
961
- dir: "rtl",
962
- children: [
963
- b === "inline" ? null : /* @__PURE__ */ mt("div", { className: "dvx-pdp__control", children: [
964
- /* @__PURE__ */ A(
965
- "input",
966
- {
967
- ref: Q,
968
- className: I("dvx-pdp__input", O?.input),
969
- disabled: h,
970
- placeholder: M,
971
- inputMode: "numeric",
972
- autoComplete: "off",
973
- value: _,
974
- onChange: (e) => d(e.target.value),
975
- onClick: () => {
976
- J || G();
977
- },
978
- onFocus: () => {
979
- at.current = !0;
980
- },
981
- onBlur: () => {
982
- at.current = !1, B(_);
983
- },
984
- onKeyDown: H,
985
- "aria-haspopup": "dialog",
986
- "aria-expanded": J
987
- }
988
- ),
989
- /* @__PURE__ */ A(
990
- "button",
991
- {
992
- type: "button",
993
- className: I("dvx-pdp__button", O?.button),
994
- onClick: () => J ? R(!1) : G(),
995
- disabled: h,
996
- "aria-label": "Open calendar",
997
- children: /* @__PURE__ */ A("svg", { viewBox: "0 0 24 24", width: "18", height: "18", "aria-hidden": "true", children: /* @__PURE__ */ A(
998
- "path",
999
- {
1000
- fill: "currentColor",
1001
- d: "M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v13A2.5 2.5 0 0 1 19.5 22h-15A2.5 2.5 0 0 1 2 19.5v-13A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm0 6H4v11.5c0 .276.224.5.5.5h15c.276 0 .5-.224.5-.5V8H7Zm-2.5-2c-.276 0-.5.224-.5.5V6h16v.5c0-.276-.224-.5-.5-.5H4.5Z"
1002
- }
1003
- ) })
1004
- }
1005
- )
1006
- ] }),
1007
- b === "inline" ? Ot : J ? /* @__PURE__ */ A("div", { className: I("dvx-pdp__popover", O?.popover), role: "dialog", "aria-modal": "false", children: Ot }) : null
1008
- ]
1009
- }
1010
- );
1011
- }
1012
- export {
1013
- wn as P,
1014
- hn as a,
1015
- jn as b,
1016
- pt as c,
1017
- gt as d,
1018
- Tt as e,
1019
- V as f,
1020
- dt as g,
1021
- fn as h,
1022
- St as i,
1023
- Dn as j,
1024
- bn as k,
1025
- $n as l,
1026
- mn as p,
1027
- q as t
1028
- };