UNPKG

@konstructio/ui

Version:

A set of reusable and customizable React components built for konstruct.io

68 lines (67 loc) 2.65 kB
var p = (t, n) => { if (!t) return ""; const e = new Date(t); return n && e.setHours(n.getHours(), n.getMinutes(), n.getSeconds()), e.toISOString(); }, c = (t, n) => { const e = t.length < n.length; let r = t.replace(/[^0-9/]/g, "").replace(/\/+/g, "/"); return r = r.slice(0, 10), e || (/^\d{2}$/.test(r) || /^\d{2}\/\d{2}$/.test(r)) && (r = r + "/"), r; }, g = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], l = (t, n = "24") => { if (!t) return !0; const [e, r] = t.split(":").map(Number); return isNaN(e) || isNaN(r) ? !1 : n === "24" ? e >= 0 && e <= 23 && r >= 0 && r <= 59 : e >= 1 && e <= 12 && r >= 0 && r <= 59; }, v = (t, n = "24", e) => { if (!t || !l(t, n)) return; const [r, i] = t.split(":").map(Number), a = /* @__PURE__ */ new Date(); let o = r; return n === "12" && e && (e === "PM" && r !== 12 ? o = r + 12 : e === "AM" && r === 12 && (o = 0)), a.setHours(o, i, 0, 0), a; }, d = (t, n = "24") => { if (!t) return ""; const e = t.getHours(), r = t.getMinutes(); if (n === "24") return `${e.toString().padStart(2, "0")}:${r.toString().padStart(2, "0")}`; const i = e >= 12 ? "PM" : "AM"; return `${(e % 12 || 12).toString().padStart(2, "0")}:${r.toString().padStart(2, "0")} ${i}`; }, S = (t) => t ? `${t.getDate()} ${g[t.getMonth()]} ${t.getFullYear()}` : "", N = (t) => t ? `${(t.getMonth() + 1).toString().padStart(2, "0")}/${t.getDate().toString().padStart(2, "0")}/${t.getFullYear()}` : "", m = (t) => { if (!t) return; const n = t.trim().split(" "); if (n.length !== 3) return; const [e, r, i] = n, a = parseInt(e, 10), o = parseInt(i, 10), u = g.findIndex((f) => f.toLowerCase() === r.toLowerCase()); if (isNaN(a) || isNaN(o) || u === -1 || a < 1 || a > 31 || o < 1900 || o > 2100) return; const s = new Date(o, u, a); if (!(s.getMonth() !== u || s.getDate() !== a || s.getFullYear() !== o)) return s; }, D = (t) => { if (!t) return; const n = t.split("/"); if (n.length !== 3) return; const [e, r, i] = n.map(Number); if (isNaN(e) || isNaN(r) || isNaN(i) || e < 1 || e > 12 || r < 1 || r > 31 || i < 1900 || i > 2100) return; const a = new Date(i, e - 1, r); if (!(a.getMonth() !== e - 1 || a.getDate() !== r || a.getFullYear() !== i)) return a; }, h = (t) => g[t] || ""; export { c as autoFormatDateInput, p as combineDateAndTime, S as formatDateToDisplayString, N as formatDateToString, d as formatTimeToString, h as getMonthName, l as isValidTimeString, D as parseDateString, m as parseDisplayDateString, v as parseTimeString };