@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
JavaScript
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
};