UNPKG

@xuda.io/xuda-ui-plugin-jewish-date

Version:

The Jewish Date Xuda Plugin integrates Hebrew calendar functionality into Xuda.io, enabling seamless conversion between Gregorian and Jewish dates. Display dates in English or Hebrew, with optional dual-calendar support, localization, and custom date inpu

136 lines (135 loc) 5.6 kB
var t = { None: "None", Tishri: "Tishri", Cheshvan: "Cheshvan", Kislev: "Kislev", Tevet: "Tevet", Shevat: "Shevat", Adar: "Adar", Nisan: "Nisan", Iyyar: "Iyyar", Sivan: "Sivan", Tammuz: "Tammuz", Av: "Av", Elul: "Elul", AdarI: "AdarI", AdarII: "AdarII" }, M = 17214255e-1, S = 347995.5; function p(e, r) { return e - r * Math.floor(e / r); } function _(e) { return e % 4 === 0 && !(e % 100 === 0 && e % 400 !== 0); } function $(e, r, a) { return M - 1 + 365 * (e - 1) + Math.floor((e - 1) / 4) + -Math.floor((e - 1) / 100) + Math.floor((e - 1) / 400) + Math.floor((367 * r - 362) / 12 + (r <= 2 ? 0 : _(e) ? -1 : -2) + a); } function m(e) { return p(e * 7 + 1, 19) < 7; } function C(e) { return m(e) ? 13 : 12; } function y(e) { let r = Math.floor((235 * e - 234) / 19), a = 12084 + 13753 * r, n = r * 29 + Math.floor(a / 25920); return p(3 * (n + 1), 7) < 3 && n++, n; } function b(e) { let r = y(e - 1), a = y(e); return y(e + 1) - a === 356 ? 2 : a - r === 382 ? 1 : 0; } function I(e) { return d(e + 1, 7, 1) - d(e, 7, 1); } function g(e, r) { return r === 2 || r === 4 || r === 6 || r === 10 || r === 13 || r === 12 && !m(e) || r === 8 && p(I(e), 10) !== 5 || r === 9 && p(I(e), 10) === 3 ? 29 : 30; } function d(e, r, a) { let n, l = C(e), u = S + y(e) + b(e) + a + 1; if (r < 7) { for (n = 7; n <= l; n++) u += g(e, n); for (n = 1; n < r; n++) u += g(e, n); } else for (n = 7; n < r; n++) u += g(e, n); return u; } function j(e) { let r, a, n = Math.floor(e) + 0.5, l = Math.floor((n - 347995.5) * 98496 / 35975351); r = l - 1; for (let i = l; n >= d(i, 7, 1); i++) r++; let u = n < d(r, 1, 1) ? 7 : 1; a = u; for (let i = u; n > d(r, i, g(r, i)); i++) a++; let o = n - d(r, a, 1) + 1; return [r, a, o]; } var w = (e) => { let r = e % 19; return r === 0 || r === 3 || r === 6 || r === 8 || r === 11 || r === 14 || r === 17; }, z = (e, r) => { let a = [t.None, t.Nisan, t.Iyyar, t.Sivan, t.Tammuz, t.Av, t.Elul, t.Tishri, t.Cheshvan, t.Kislev, t.Tevet, t.Shevat, t.Adar, t.AdarII][e] || t.None; return a === t.Adar && w(r) ? t.AdarI : a; }, F = (e) => { let r = [t.None, t.Tishri, t.Cheshvan, t.Kislev, t.Tevet, t.Shevat, t.AdarI, t.AdarII, t.Nisan, t.Iyyar, t.Sivan, t.Tammuz, t.Av, t.Elul]; return w(e) ? r : r.filter((a) => a !== "AdarII").map((a) => a === "AdarI" ? "Adar" : a); }, K = (e) => `${e.day} ${e.monthName} ${e.year}`, x = (e) => { let r = e.getFullYear(), a = e.getMonth() + 1, n = e.getDate(), l = $(r, a, n), u = j(l), o = u[0], i = z(u[1], o), v = F(o).findIndex((f) => f === i); return { year: o, monthName: i, month: v, day: u[2] }; }; function H(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var T = { exports: {} }; (function(e) { (function() { var r = {}, a = { "": 0, א: 1, ב: 2, ג: 3, ד: 4, ה: 5, ו: 6, ז: 7, ח: 8, ט: 9, י: 10, כ: 20, ל: 30, מ: 40, נ: 50, ס: 60, ע: 70, פ: 80, צ: 90, ק: 100, ר: 200, ש: 300, ת: 400, תק: 500, תר: 600, תש: 700, תת: 800, תתק: 900, תתר: 1e3 }, n; for (n in a) r[a[n]] = n; function l(u, o) { if (o === void 0) var o = { limit: !1, punctuate: !0, order: !1, geresh: !0 }; if (typeof u != "number" && typeof u != "string") throw new TypeError("non-number or string given to gematriya()"); if (typeof o != "object" || o === null) throw new TypeError("An object was not given as second argument"); var i = o.limit, v = o.order, f = typeof o.punctuate > "u" ? !0 : o.punctuate, c = typeof o.geresh > "u" && f ? !0 : o.geresh, h = typeof u == "string"; return h && (u = u.replace(/('|")/g, "")), u = u.toString().split("").reverse(), !h && i && (u = u.slice(0, i)), u = u.map(function A(s, D) { return h ? v && a[s] < a[u[D - 1]] && a[s] < 100 ? a[s] * 1e3 : a[s] : parseInt(s, 10) * Math.pow(10, D) > 1e3 ? A(s, D - 3) : r[parseInt(s, 10) * Math.pow(10, D)]; }), h ? u.reduce(function(A, s) { return A + s; }, 0) : (u = u.reverse().join("").replace(/יה/g, "טו").replace(/יו/g, "טז").split(""), (f || c) && (u.length === 1 ? u.push(c ? "׳" : "'") : u.length > 1 && u.splice(-1, 0, c ? "״" : '"')), u.join("")); } e.exports = l; })(); })(T); var L = T.exports; const O = /* @__PURE__ */ H(L); var q = (e) => ({ [t.None]: "ללא", [t.Tishri]: "תשרי", [t.Cheshvan]: "חשון", [t.Kislev]: "כסלו", [t.Tevet]: "טבת", [t.Shevat]: "שבט", [t.Adar]: "אדר", [t.AdarI]: "אדר א", [t.AdarII]: "אדר ב", [t.Nisan]: "ניסן", [t.Iyyar]: "אייר", [t.Sivan]: "סיון", [t.Tammuz]: "תמוז", [t.Av]: "אב", [t.Elul]: "אלול" })[e], E = (e, r = !0, a = !0) => O(e, { geresh: r, punctuate: a }), N = (e) => ({ day: E(e.day), monthName: q(e.monthName), year: E(e.year) }), B = (e) => { let r = N(e); return `${r.day} ${r.monthName} ${r.year}`; }; const G = function(e, r, a) { var f, c, h; const n = ((f = a.jewish_date_include_gregorian) == null ? void 0 : f.value) || !1, l = ((c = a.jewish_date_display_in_hebrew) == null ? void 0 : c.value) || !1, u = ((h = a.jewish_date_custom_date) == null ? void 0 : h.value) || null, o = u ? new Date(u) : /* @__PURE__ */ new Date(), i = x(o), v = l ? B(N(i)) : K(i); n && o.toLocaleDateString("en-US", { year: "numeric", month: "long", day: "numeric" }), r.innerHTML = v; }; export { G as fn };