UNPKG

react-svg-timeline

Version:

React Timeline Component

1,729 lines 143 kB
var wa = Object.defineProperty; var xa = (e, t, n) => t in e ? wa(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n; var bt = (e, t, n) => (xa(e, typeof t != "symbol" ? t + "" : t, n), n); import * as ba from "react"; import { useState as pe, useCallback as ne, useMemo as Ce, useEffect as se, useContext as Ma, useDebugValue as Ta, createElement as pn, Component as Sa, useRef as dr, Fragment as Ca } from "react"; import { jsx as h, Fragment as Qt, jsxs as B } from "react/jsx-runtime"; import { createPortal as Da } from "react-dom"; const Jt = ba.createContext(null); process.env.NODE_ENV !== "production" && (Jt.displayName = "TimelineThemeContext"); const ka = ({ theme: e, children: t }) => /* @__PURE__ */ h(Jt.Provider, { value: e, children: t }); function hr(e, t) { return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; } function Kt(e) { let t = e, n = e; e.length === 1 && (t = (i, u) => e(i) - u, n = Oa(e)); function r(i, u, c, s) { for (c == null && (c = 0), s == null && (s = i.length); c < s; ) { const l = c + s >>> 1; n(i[l], u) < 0 ? c = l + 1 : s = l; } return c; } function a(i, u, c, s) { for (c == null && (c = 0), s == null && (s = i.length); c < s; ) { const l = c + s >>> 1; n(i[l], u) > 0 ? s = l : c = l + 1; } return c; } function o(i, u, c, s) { c == null && (c = 0), s == null && (s = i.length); const l = r(i, u, c, s - 1); return l > c && t(i[l - 1], u) > -t(i[l], u) ? l - 1 : l; } return { left: r, center: o, right: a }; } function Oa(e) { return (t, n) => hr(e(t), n); } function Ea(e) { return e === null ? NaN : +e; } const Ua = Kt(hr), Na = Ua.right; Kt(Ea).center; const Ya = Na; function Fa(e, t) { let n, r; if (t === void 0) for (const a of e) a != null && (n === void 0 ? a >= a && (n = r = a) : (n > a && (n = a), r < a && (r = a))); else { let a = -1; for (let o of e) (o = t(o, ++a, e)) != null && (n === void 0 ? o >= o && (n = r = o) : (n > o && (n = o), r < o && (r = o))); } return [n, r]; } class _a extends Map { constructor(t, n = Ha) { if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: n } }), t != null) for (const [r, a] of t) this.set(r, a); } get(t) { return super.get(wn(this, t)); } has(t) { return super.has(wn(this, t)); } set(t, n) { return super.set(Wa(this, t), n); } delete(t) { return super.delete(Pa(this, t)); } } function wn({ _intern: e, _key: t }, n) { const r = t(n); return e.has(r) ? e.get(r) : n; } function Wa({ _intern: e, _key: t }, n) { const r = t(n); return e.has(r) ? e.get(r) : (e.set(r, n), n); } function Pa({ _intern: e, _key: t }, n) { const r = t(n); return e.has(r) && (n = e.get(n), e.delete(r)), n; } function Ha(e) { return e !== null && typeof e == "object" ? e.valueOf() : e; } function $a(e) { return e; } function Aa(e, ...t) { return Ra(e, Array.from, $a, t); } function Ra(e, t, n, r) { return function a(o, i) { if (i >= r.length) return n(o); const u = new _a(), c = r[i++]; let s = -1; for (const l of o) { const f = c(l, ++s, o), d = u.get(f); d ? d.push(l) : u.set(f, [l]); } for (const [l, f] of u) u.set(l, a(f, i)); return t(u); }(e, 0); } var $t = Math.sqrt(50), At = Math.sqrt(10), Rt = Math.sqrt(2); function La(e, t, n) { var r, a = -1, o, i, u; if (t = +t, e = +e, n = +n, e === t && n > 0) return [e]; if ((r = t < e) && (o = e, e = t, t = o), (u = mr(e, t, n)) === 0 || !isFinite(u)) return []; if (u > 0) { let c = Math.round(e / u), s = Math.round(t / u); for (c * u < e && ++c, s * u > t && --s, i = new Array(o = s - c + 1); ++a < o; ) i[a] = (c + a) * u; } else { u = -u; let c = Math.round(e * u), s = Math.round(t * u); for (c / u < e && ++c, s / u > t && --s, i = new Array(o = s - c + 1); ++a < o; ) i[a] = (c + a) / u; } return r && i.reverse(), i; } function mr(e, t, n) { var r = (t - e) / Math.max(0, n), a = Math.floor(Math.log(r) / Math.LN10), o = r / Math.pow(10, a); return a >= 0 ? (o >= $t ? 10 : o >= At ? 5 : o >= Rt ? 2 : 1) * Math.pow(10, a) : -Math.pow(10, -a) / (o >= $t ? 10 : o >= At ? 5 : o >= Rt ? 2 : 1); } function Lt(e, t, n) { var r = Math.abs(t - e) / Math.max(0, n), a = Math.pow(10, Math.floor(Math.log(r) / Math.LN10)), o = r / a; return o >= $t ? a *= 10 : o >= At ? a *= 5 : o >= Rt && (a *= 2), t < e ? -a : a; } function Ia(e, t) { let n; if (t === void 0) for (const r of e) r != null && (n < r || n === void 0 && r >= r) && (n = r); else { let r = -1; for (let a of e) (a = t(a, ++r, e)) != null && (n < a || n === void 0 && a >= a) && (n = a); } return n; } function qa(e, t) { let n; if (t === void 0) for (const r of e) r != null && (n > r || n === void 0 && r >= r) && (n = r); else { let r = -1; for (let a of e) (a = t(a, ++r, e)) != null && (n > a || n === void 0 && a >= a) && (n = a); } return n; } function za(e, t, n) { e = +e, t = +t, n = (a = arguments.length) < 2 ? (t = e, e = 0, 1) : a < 3 ? 1 : +n; for (var r = -1, a = Math.max(0, Math.ceil((t - e) / n)) | 0, o = new Array(a); ++r < a; ) o[r] = e + r * n; return o; } function ie(e) { if (e === null || e === !0 || e === !1) return NaN; var t = Number(e); return isNaN(t) ? t : t < 0 ? Math.ceil(t) : Math.floor(t); } function z(e, t) { if (t.length < e) throw new TypeError(e + " argument" + (e > 1 ? "s" : "") + " required, but only " + t.length + " present"); } function ut(e) { return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? ut = function(n) { return typeof n; } : ut = function(n) { return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n; }, ut(e); } function V(e) { z(1, arguments); var t = Object.prototype.toString.call(e); return e instanceof Date || ut(e) === "object" && t === "[object Date]" ? new Date(e.getTime()) : typeof e == "number" || t === "[object Number]" ? new Date(e) : ((typeof e == "string" || t === "[object String]") && typeof console < "u" && (console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"), console.warn(new Error().stack)), new Date(NaN)); } function Xa(e, t) { z(2, arguments); var n = V(e), r = ie(t); return isNaN(r) ? new Date(NaN) : (r && n.setDate(n.getDate() + r), n); } function ja(e, t) { z(2, arguments); var n = V(e), r = ie(t); if (isNaN(r)) return new Date(NaN); if (!r) return n; var a = n.getDate(), o = new Date(n.getTime()); o.setMonth(n.getMonth() + r + 1, 0); var i = o.getDate(); return a >= i ? o : (n.setFullYear(o.getFullYear(), o.getMonth(), a), n); } function Ba(e, t) { z(2, arguments); var n = V(e).getTime(), r = ie(t); return new Date(n + r); } var Va = {}; function Re() { return Va; } function Ga(e, t) { var n, r, a, o, i, u, c, s; z(1, arguments); var l = Re(), f = ie((n = (r = (a = (o = t == null ? void 0 : t.weekStartsOn) !== null && o !== void 0 ? o : t == null || (i = t.locale) === null || i === void 0 || (u = i.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && a !== void 0 ? a : l.weekStartsOn) !== null && r !== void 0 ? r : (c = l.locale) === null || c === void 0 || (s = c.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && n !== void 0 ? n : 0); if (!(f >= 0 && f <= 6)) throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); var d = V(e), v = d.getDay(), g = (v < f ? 7 : 0) + v - f; return d.setDate(d.getDate() - g), d.setHours(0, 0, 0, 0), d; } function Za(e) { var t = new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds())); return t.setUTCFullYear(e.getFullYear()), e.getTime() - t.getTime(); } function xn(e, t) { z(2, arguments); var n = ie(t), r = n * 7; return Xa(e, r); } function st(e) { return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? st = function(n) { return typeof n; } : st = function(n) { return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n; }, st(e); } function Qa(e) { return z(1, arguments), e instanceof Date || st(e) === "object" && Object.prototype.toString.call(e) === "[object Date]"; } function Ja(e) { if (z(1, arguments), !Qa(e) && typeof e != "number") return !1; var t = V(e); return !isNaN(Number(t)); } function Ka(e) { z(1, arguments); var t = V(e), n = t.getMonth(); return t.setFullYear(t.getFullYear(), n + 1, 0), t.setHours(23, 59, 59, 999), t; } function eo(e, t) { var n, r, a, o, i, u, c, s; z(1, arguments); var l = Re(), f = ie((n = (r = (a = (o = t == null ? void 0 : t.weekStartsOn) !== null && o !== void 0 ? o : t == null || (i = t.locale) === null || i === void 0 || (u = i.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && a !== void 0 ? a : l.weekStartsOn) !== null && r !== void 0 ? r : (c = l.locale) === null || c === void 0 || (s = c.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && n !== void 0 ? n : 0); if (!(f >= 0 && f <= 6)) throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); var d = V(e), v = d.getDay(), g = (v < f ? -7 : 0) + 6 - (v - f); return d.setDate(d.getDate() + g), d.setHours(23, 59, 59, 999), d; } function to(e, t) { z(2, arguments); var n = ie(t); return Ba(e, -n); } var no = 864e5; function ro(e) { z(1, arguments); var t = V(e), n = t.getTime(); t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); var r = t.getTime(), a = n - r; return Math.floor(a / no) + 1; } function ct(e) { z(1, arguments); var t = 1, n = V(e), r = n.getUTCDay(), a = (r < t ? 7 : 0) + r - t; return n.setUTCDate(n.getUTCDate() - a), n.setUTCHours(0, 0, 0, 0), n; } function gr(e) { z(1, arguments); var t = V(e), n = t.getUTCFullYear(), r = new Date(0); r.setUTCFullYear(n + 1, 0, 4), r.setUTCHours(0, 0, 0, 0); var a = ct(r), o = new Date(0); o.setUTCFullYear(n, 0, 4), o.setUTCHours(0, 0, 0, 0); var i = ct(o); return t.getTime() >= a.getTime() ? n + 1 : t.getTime() >= i.getTime() ? n : n - 1; } function ao(e) { z(1, arguments); var t = gr(e), n = new Date(0); n.setUTCFullYear(t, 0, 4), n.setUTCHours(0, 0, 0, 0); var r = ct(n); return r; } var oo = 6048e5; function io(e) { z(1, arguments); var t = V(e), n = ct(t).getTime() - ao(t).getTime(); return Math.round(n / oo) + 1; } function lt(e, t) { var n, r, a, o, i, u, c, s; z(1, arguments); var l = Re(), f = ie((n = (r = (a = (o = t == null ? void 0 : t.weekStartsOn) !== null && o !== void 0 ? o : t == null || (i = t.locale) === null || i === void 0 || (u = i.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && a !== void 0 ? a : l.weekStartsOn) !== null && r !== void 0 ? r : (c = l.locale) === null || c === void 0 || (s = c.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && n !== void 0 ? n : 0); if (!(f >= 0 && f <= 6)) throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); var d = V(e), v = d.getUTCDay(), g = (v < f ? 7 : 0) + v - f; return d.setUTCDate(d.getUTCDate() - g), d.setUTCHours(0, 0, 0, 0), d; } function vr(e, t) { var n, r, a, o, i, u, c, s; z(1, arguments); var l = V(e), f = l.getUTCFullYear(), d = Re(), v = ie((n = (r = (a = (o = t == null ? void 0 : t.firstWeekContainsDate) !== null && o !== void 0 ? o : t == null || (i = t.locale) === null || i === void 0 || (u = i.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && a !== void 0 ? a : d.firstWeekContainsDate) !== null && r !== void 0 ? r : (c = d.locale) === null || c === void 0 || (s = c.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && n !== void 0 ? n : 1); if (!(v >= 1 && v <= 7)) throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively"); var g = new Date(0); g.setUTCFullYear(f + 1, 0, v), g.setUTCHours(0, 0, 0, 0); var S = lt(g, t), y = new Date(0); y.setUTCFullYear(f, 0, v), y.setUTCHours(0, 0, 0, 0); var M = lt(y, t); return l.getTime() >= S.getTime() ? f + 1 : l.getTime() >= M.getTime() ? f : f - 1; } function uo(e, t) { var n, r, a, o, i, u, c, s; z(1, arguments); var l = Re(), f = ie((n = (r = (a = (o = t == null ? void 0 : t.firstWeekContainsDate) !== null && o !== void 0 ? o : t == null || (i = t.locale) === null || i === void 0 || (u = i.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && a !== void 0 ? a : l.firstWeekContainsDate) !== null && r !== void 0 ? r : (c = l.locale) === null || c === void 0 || (s = c.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && n !== void 0 ? n : 1), d = vr(e, t), v = new Date(0); v.setUTCFullYear(d, 0, f), v.setUTCHours(0, 0, 0, 0); var g = lt(v, t); return g; } var so = 6048e5; function co(e, t) { z(1, arguments); var n = V(e), r = lt(n, t).getTime() - uo(n, t).getTime(); return Math.round(r / so) + 1; } function $(e, t) { for (var n = e < 0 ? "-" : "", r = Math.abs(e).toString(); r.length < t; ) r = "0" + r; return n + r; } var lo = { y: function(t, n) { var r = t.getUTCFullYear(), a = r > 0 ? r : 1 - r; return $(n === "yy" ? a % 100 : a, n.length); }, M: function(t, n) { var r = t.getUTCMonth(); return n === "M" ? String(r + 1) : $(r + 1, 2); }, d: function(t, n) { return $(t.getUTCDate(), n.length); }, a: function(t, n) { var r = t.getUTCHours() / 12 >= 1 ? "pm" : "am"; switch (n) { case "a": case "aa": return r.toUpperCase(); case "aaa": return r; case "aaaaa": return r[0]; case "aaaa": default: return r === "am" ? "a.m." : "p.m."; } }, h: function(t, n) { return $(t.getUTCHours() % 12 || 12, n.length); }, H: function(t, n) { return $(t.getUTCHours(), n.length); }, m: function(t, n) { return $(t.getUTCMinutes(), n.length); }, s: function(t, n) { return $(t.getUTCSeconds(), n.length); }, S: function(t, n) { var r = n.length, a = t.getUTCMilliseconds(), o = Math.floor(a * Math.pow(10, r - 3)); return $(o, n.length); } }; const ye = lo; var Ye = { am: "am", pm: "pm", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, fo = { G: function(t, n, r) { var a = t.getUTCFullYear() > 0 ? 1 : 0; switch (n) { case "G": case "GG": case "GGG": return r.era(a, { width: "abbreviated" }); case "GGGGG": return r.era(a, { width: "narrow" }); case "GGGG": default: return r.era(a, { width: "wide" }); } }, y: function(t, n, r) { if (n === "yo") { var a = t.getUTCFullYear(), o = a > 0 ? a : 1 - a; return r.ordinalNumber(o, { unit: "year" }); } return ye.y(t, n); }, Y: function(t, n, r, a) { var o = vr(t, a), i = o > 0 ? o : 1 - o; if (n === "YY") { var u = i % 100; return $(u, 2); } return n === "Yo" ? r.ordinalNumber(i, { unit: "year" }) : $(i, n.length); }, R: function(t, n) { var r = gr(t); return $(r, n.length); }, u: function(t, n) { var r = t.getUTCFullYear(); return $(r, n.length); }, Q: function(t, n, r) { var a = Math.ceil((t.getUTCMonth() + 1) / 3); switch (n) { case "Q": return String(a); case "QQ": return $(a, 2); case "Qo": return r.ordinalNumber(a, { unit: "quarter" }); case "QQQ": return r.quarter(a, { width: "abbreviated", context: "formatting" }); case "QQQQQ": return r.quarter(a, { width: "narrow", context: "formatting" }); case "QQQQ": default: return r.quarter(a, { width: "wide", context: "formatting" }); } }, q: function(t, n, r) { var a = Math.ceil((t.getUTCMonth() + 1) / 3); switch (n) { case "q": return String(a); case "qq": return $(a, 2); case "qo": return r.ordinalNumber(a, { unit: "quarter" }); case "qqq": return r.quarter(a, { width: "abbreviated", context: "standalone" }); case "qqqqq": return r.quarter(a, { width: "narrow", context: "standalone" }); case "qqqq": default: return r.quarter(a, { width: "wide", context: "standalone" }); } }, M: function(t, n, r) { var a = t.getUTCMonth(); switch (n) { case "M": case "MM": return ye.M(t, n); case "Mo": return r.ordinalNumber(a + 1, { unit: "month" }); case "MMM": return r.month(a, { width: "abbreviated", context: "formatting" }); case "MMMMM": return r.month(a, { width: "narrow", context: "formatting" }); case "MMMM": default: return r.month(a, { width: "wide", context: "formatting" }); } }, L: function(t, n, r) { var a = t.getUTCMonth(); switch (n) { case "L": return String(a + 1); case "LL": return $(a + 1, 2); case "Lo": return r.ordinalNumber(a + 1, { unit: "month" }); case "LLL": return r.month(a, { width: "abbreviated", context: "standalone" }); case "LLLLL": return r.month(a, { width: "narrow", context: "standalone" }); case "LLLL": default: return r.month(a, { width: "wide", context: "standalone" }); } }, w: function(t, n, r, a) { var o = co(t, a); return n === "wo" ? r.ordinalNumber(o, { unit: "week" }) : $(o, n.length); }, I: function(t, n, r) { var a = io(t); return n === "Io" ? r.ordinalNumber(a, { unit: "week" }) : $(a, n.length); }, d: function(t, n, r) { return n === "do" ? r.ordinalNumber(t.getUTCDate(), { unit: "date" }) : ye.d(t, n); }, D: function(t, n, r) { var a = ro(t); return n === "Do" ? r.ordinalNumber(a, { unit: "dayOfYear" }) : $(a, n.length); }, E: function(t, n, r) { var a = t.getUTCDay(); switch (n) { case "E": case "EE": case "EEE": return r.day(a, { width: "abbreviated", context: "formatting" }); case "EEEEE": return r.day(a, { width: "narrow", context: "formatting" }); case "EEEEEE": return r.day(a, { width: "short", context: "formatting" }); case "EEEE": default: return r.day(a, { width: "wide", context: "formatting" }); } }, e: function(t, n, r, a) { var o = t.getUTCDay(), i = (o - a.weekStartsOn + 8) % 7 || 7; switch (n) { case "e": return String(i); case "ee": return $(i, 2); case "eo": return r.ordinalNumber(i, { unit: "day" }); case "eee": return r.day(o, { width: "abbreviated", context: "formatting" }); case "eeeee": return r.day(o, { width: "narrow", context: "formatting" }); case "eeeeee": return r.day(o, { width: "short", context: "formatting" }); case "eeee": default: return r.day(o, { width: "wide", context: "formatting" }); } }, c: function(t, n, r, a) { var o = t.getUTCDay(), i = (o - a.weekStartsOn + 8) % 7 || 7; switch (n) { case "c": return String(i); case "cc": return $(i, n.length); case "co": return r.ordinalNumber(i, { unit: "day" }); case "ccc": return r.day(o, { width: "abbreviated", context: "standalone" }); case "ccccc": return r.day(o, { width: "narrow", context: "standalone" }); case "cccccc": return r.day(o, { width: "short", context: "standalone" }); case "cccc": default: return r.day(o, { width: "wide", context: "standalone" }); } }, i: function(t, n, r) { var a = t.getUTCDay(), o = a === 0 ? 7 : a; switch (n) { case "i": return String(o); case "ii": return $(o, n.length); case "io": return r.ordinalNumber(o, { unit: "day" }); case "iii": return r.day(a, { width: "abbreviated", context: "formatting" }); case "iiiii": return r.day(a, { width: "narrow", context: "formatting" }); case "iiiiii": return r.day(a, { width: "short", context: "formatting" }); case "iiii": default: return r.day(a, { width: "wide", context: "formatting" }); } }, a: function(t, n, r) { var a = t.getUTCHours(), o = a / 12 >= 1 ? "pm" : "am"; switch (n) { case "a": case "aa": return r.dayPeriod(o, { width: "abbreviated", context: "formatting" }); case "aaa": return r.dayPeriod(o, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "aaaaa": return r.dayPeriod(o, { width: "narrow", context: "formatting" }); case "aaaa": default: return r.dayPeriod(o, { width: "wide", context: "formatting" }); } }, b: function(t, n, r) { var a = t.getUTCHours(), o; switch (a === 12 ? o = Ye.noon : a === 0 ? o = Ye.midnight : o = a / 12 >= 1 ? "pm" : "am", n) { case "b": case "bb": return r.dayPeriod(o, { width: "abbreviated", context: "formatting" }); case "bbb": return r.dayPeriod(o, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "bbbbb": return r.dayPeriod(o, { width: "narrow", context: "formatting" }); case "bbbb": default: return r.dayPeriod(o, { width: "wide", context: "formatting" }); } }, B: function(t, n, r) { var a = t.getUTCHours(), o; switch (a >= 17 ? o = Ye.evening : a >= 12 ? o = Ye.afternoon : a >= 4 ? o = Ye.morning : o = Ye.night, n) { case "B": case "BB": case "BBB": return r.dayPeriod(o, { width: "abbreviated", context: "formatting" }); case "BBBBB": return r.dayPeriod(o, { width: "narrow", context: "formatting" }); case "BBBB": default: return r.dayPeriod(o, { width: "wide", context: "formatting" }); } }, h: function(t, n, r) { if (n === "ho") { var a = t.getUTCHours() % 12; return a === 0 && (a = 12), r.ordinalNumber(a, { unit: "hour" }); } return ye.h(t, n); }, H: function(t, n, r) { return n === "Ho" ? r.ordinalNumber(t.getUTCHours(), { unit: "hour" }) : ye.H(t, n); }, K: function(t, n, r) { var a = t.getUTCHours() % 12; return n === "Ko" ? r.ordinalNumber(a, { unit: "hour" }) : $(a, n.length); }, k: function(t, n, r) { var a = t.getUTCHours(); return a === 0 && (a = 24), n === "ko" ? r.ordinalNumber(a, { unit: "hour" }) : $(a, n.length); }, m: function(t, n, r) { return n === "mo" ? r.ordinalNumber(t.getUTCMinutes(), { unit: "minute" }) : ye.m(t, n); }, s: function(t, n, r) { return n === "so" ? r.ordinalNumber(t.getUTCSeconds(), { unit: "second" }) : ye.s(t, n); }, S: function(t, n) { return ye.S(t, n); }, X: function(t, n, r, a) { var o = a._originalDate || t, i = o.getTimezoneOffset(); if (i === 0) return "Z"; switch (n) { case "X": return Mn(i); case "XXXX": case "XX": return Se(i); case "XXXXX": case "XXX": default: return Se(i, ":"); } }, x: function(t, n, r, a) { var o = a._originalDate || t, i = o.getTimezoneOffset(); switch (n) { case "x": return Mn(i); case "xxxx": case "xx": return Se(i); case "xxxxx": case "xxx": default: return Se(i, ":"); } }, O: function(t, n, r, a) { var o = a._originalDate || t, i = o.getTimezoneOffset(); switch (n) { case "O": case "OO": case "OOO": return "GMT" + bn(i, ":"); case "OOOO": default: return "GMT" + Se(i, ":"); } }, z: function(t, n, r, a) { var o = a._originalDate || t, i = o.getTimezoneOffset(); switch (n) { case "z": case "zz": case "zzz": return "GMT" + bn(i, ":"); case "zzzz": default: return "GMT" + Se(i, ":"); } }, t: function(t, n, r, a) { var o = a._originalDate || t, i = Math.floor(o.getTime() / 1e3); return $(i, n.length); }, T: function(t, n, r, a) { var o = a._originalDate || t, i = o.getTime(); return $(i, n.length); } }; function bn(e, t) { var n = e > 0 ? "-" : "+", r = Math.abs(e), a = Math.floor(r / 60), o = r % 60; if (o === 0) return n + String(a); var i = t || ""; return n + String(a) + i + $(o, 2); } function Mn(e, t) { if (e % 60 === 0) { var n = e > 0 ? "-" : "+"; return n + $(Math.abs(e) / 60, 2); } return Se(e, t); } function Se(e, t) { var n = t || "", r = e > 0 ? "-" : "+", a = Math.abs(e), o = $(Math.floor(a / 60), 2), i = $(a % 60, 2); return r + o + n + i; } const ho = fo; var Tn = function(t, n) { switch (t) { case "P": return n.date({ width: "short" }); case "PP": return n.date({ width: "medium" }); case "PPP": return n.date({ width: "long" }); case "PPPP": default: return n.date({ width: "full" }); } }, yr = function(t, n) { switch (t) { case "p": return n.time({ width: "short" }); case "pp": return n.time({ width: "medium" }); case "ppp": return n.time({ width: "long" }); case "pppp": default: return n.time({ width: "full" }); } }, mo = function(t, n) { var r = t.match(/(P+)(p+)?/) || [], a = r[1], o = r[2]; if (!o) return Tn(t, n); var i; switch (a) { case "P": i = n.dateTime({ width: "short" }); break; case "PP": i = n.dateTime({ width: "medium" }); break; case "PPP": i = n.dateTime({ width: "long" }); break; case "PPPP": default: i = n.dateTime({ width: "full" }); break; } return i.replace("{{date}}", Tn(a, n)).replace("{{time}}", yr(o, n)); }, go = { p: yr, P: mo }; const vo = go; var yo = ["D", "DD"], po = ["YY", "YYYY"]; function wo(e) { return yo.indexOf(e) !== -1; } function xo(e) { return po.indexOf(e) !== -1; } function Sn(e, t, n) { if (e === "YYYY") throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t, "`) for formatting years to the input `").concat(n, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); if (e === "YY") throw new RangeError("Use `yy` instead of `YY` (in `".concat(t, "`) for formatting years to the input `").concat(n, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); if (e === "D") throw new RangeError("Use `d` instead of `D` (in `".concat(t, "`) for formatting days of the month to the input `").concat(n, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); if (e === "DD") throw new RangeError("Use `dd` instead of `DD` (in `".concat(t, "`) for formatting days of the month to the input `").concat(n, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); } var bo = { lessThanXSeconds: { one: "less than a second", other: "less than {{count}} seconds" }, xSeconds: { one: "1 second", other: "{{count}} seconds" }, halfAMinute: "half a minute", lessThanXMinutes: { one: "less than a minute", other: "less than {{count}} minutes" }, xMinutes: { one: "1 minute", other: "{{count}} minutes" }, aboutXHours: { one: "about 1 hour", other: "about {{count}} hours" }, xHours: { one: "1 hour", other: "{{count}} hours" }, xDays: { one: "1 day", other: "{{count}} days" }, aboutXWeeks: { one: "about 1 week", other: "about {{count}} weeks" }, xWeeks: { one: "1 week", other: "{{count}} weeks" }, aboutXMonths: { one: "about 1 month", other: "about {{count}} months" }, xMonths: { one: "1 month", other: "{{count}} months" }, aboutXYears: { one: "about 1 year", other: "about {{count}} years" }, xYears: { one: "1 year", other: "{{count}} years" }, overXYears: { one: "over 1 year", other: "over {{count}} years" }, almostXYears: { one: "almost 1 year", other: "almost {{count}} years" } }, Mo = function(t, n, r) { var a, o = bo[t]; return typeof o == "string" ? a = o : n === 1 ? a = o.one : a = o.other.replace("{{count}}", n.toString()), r != null && r.addSuffix ? r.comparison && r.comparison > 0 ? "in " + a : a + " ago" : a; }; const To = Mo; function Mt(e) { return function() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = t.width ? String(t.width) : e.defaultWidth, r = e.formats[n] || e.formats[e.defaultWidth]; return r; }; } var So = { full: "EEEE, MMMM do, y", long: "MMMM do, y", medium: "MMM d, y", short: "MM/dd/yyyy" }, Co = { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, Do = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, ko = { date: Mt({ formats: So, defaultWidth: "full" }), time: Mt({ formats: Co, defaultWidth: "full" }), dateTime: Mt({ formats: Do, defaultWidth: "full" }) }; const Oo = ko; var Eo = { lastWeek: "'last' eeee 'at' p", yesterday: "'yesterday at' p", today: "'today at' p", tomorrow: "'tomorrow at' p", nextWeek: "eeee 'at' p", other: "P" }, Uo = function(t, n, r, a) { return Eo[t]; }; const No = Uo; function Ie(e) { return function(t, n) { var r = n != null && n.context ? String(n.context) : "standalone", a; if (r === "formatting" && e.formattingValues) { var o = e.defaultFormattingWidth || e.defaultWidth, i = n != null && n.width ? String(n.width) : o; a = e.formattingValues[i] || e.formattingValues[o]; } else { var u = e.defaultWidth, c = n != null && n.width ? String(n.width) : e.defaultWidth; a = e.values[c] || e.values[u]; } var s = e.argumentCallback ? e.argumentCallback(t) : t; return a[s]; }; } var Yo = { narrow: ["B", "A"], abbreviated: ["BC", "AD"], wide: ["Before Christ", "Anno Domini"] }, Fo = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] }, _o = { narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], abbreviated: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], wide: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] }, Wo = { narrow: ["S", "M", "T", "W", "T", "F", "S"], short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], wide: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] }, Po = { narrow: { am: "a", pm: "p", midnight: "mi", noon: "n", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, abbreviated: { am: "AM", pm: "PM", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, wide: { am: "a.m.", pm: "p.m.", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" } }, Ho = { narrow: { am: "a", pm: "p", midnight: "mi", noon: "n", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" }, abbreviated: { am: "AM", pm: "PM", midnight: "midnight", noon: "noon", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" }, wide: { am: "a.m.", pm: "p.m.", midnight: "midnight", noon: "noon", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" } }, $o = function(t, n) { var r = Number(t), a = r % 100; if (a > 20 || a < 10) switch (a % 10) { case 1: return r + "st"; case 2: return r + "nd"; case 3: return r + "rd"; } return r + "th"; }, Ao = { ordinalNumber: $o, era: Ie({ values: Yo, defaultWidth: "wide" }), quarter: Ie({ values: Fo, defaultWidth: "wide", argumentCallback: function(t) { return t - 1; } }), month: Ie({ values: _o, defaultWidth: "wide" }), day: Ie({ values: Wo, defaultWidth: "wide" }), dayPeriod: Ie({ values: Po, defaultWidth: "wide", formattingValues: Ho, defaultFormattingWidth: "wide" }) }; const Ro = Ao; function qe(e) { return function(t) { var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = n.width, a = r && e.matchPatterns[r] || e.matchPatterns[e.defaultMatchWidth], o = t.match(a); if (!o) return null; var i = o[0], u = r && e.parsePatterns[r] || e.parsePatterns[e.defaultParseWidth], c = Array.isArray(u) ? Io(u, function(f) { return f.test(i); }) : Lo(u, function(f) { return f.test(i); }), s; s = e.valueCallback ? e.valueCallback(c) : c, s = n.valueCallback ? n.valueCallback(s) : s; var l = t.slice(i.length); return { value: s, rest: l }; }; } function Lo(e, t) { for (var n in e) if (e.hasOwnProperty(n) && t(e[n])) return n; } function Io(e, t) { for (var n = 0; n < e.length; n++) if (t(e[n])) return n; } function qo(e) { return function(t) { var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = t.match(e.matchPattern); if (!r) return null; var a = r[0], o = t.match(e.parsePattern); if (!o) return null; var i = e.valueCallback ? e.valueCallback(o[0]) : o[0]; i = n.valueCallback ? n.valueCallback(i) : i; var u = t.slice(a.length); return { value: i, rest: u }; }; } var zo = /^(\d+)(th|st|nd|rd)?/i, Xo = /\d+/i, jo = { narrow: /^(b|a)/i, abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, wide: /^(before christ|before common era|anno domini|common era)/i }, Bo = { any: [/^b/i, /^(a|c)/i] }, Vo = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](th|st|nd|rd)? quarter/i }, Go = { any: [/1/i, /2/i, /3/i, /4/i] }, Zo = { narrow: /^[jfmasond]/i, abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i }, Qo = { narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] }, Jo = { narrow: /^[smtwf]/i, short: /^(su|mo|tu|we|th|fr|sa)/i, abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i }, Ko = { narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] }, ei = { narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i }, ti = { any: { am: /^a/i, pm: /^p/i, midnight: /^mi/i, noon: /^no/i, morning: /morning/i, afternoon: /afternoon/i, evening: /evening/i, night: /night/i } }, ni = { ordinalNumber: qo({ matchPattern: zo, parsePattern: Xo, valueCallback: function(t) { return parseInt(t, 10); } }), era: qe({ matchPatterns: jo, defaultMatchWidth: "wide", parsePatterns: Bo, defaultParseWidth: "any" }), quarter: qe({ matchPatterns: Vo, defaultMatchWidth: "wide", parsePatterns: Go, defaultParseWidth: "any", valueCallback: function(t) { return t + 1; } }), month: qe({ matchPatterns: Zo, defaultMatchWidth: "wide", parsePatterns: Qo, defaultParseWidth: "any" }), day: qe({ matchPatterns: Jo, defaultMatchWidth: "wide", parsePatterns: Ko, defaultParseWidth: "any" }), dayPeriod: qe({ matchPatterns: ei, defaultMatchWidth: "any", parsePatterns: ti, defaultParseWidth: "any" }) }; const ri = ni; var ai = { code: "en-US", formatDistance: To, formatLong: Oo, formatRelative: No, localize: Ro, match: ri, options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }; const oi = ai; var ii = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, ui = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, si = /^'([^]*?)'?$/, ci = /''/g, li = /[a-zA-Z]/; function Cn(e, t, n) { var r, a, o, i, u, c, s, l, f, d, v, g, S, y, M, F, k, w; z(2, arguments); var O = String(t), x = Re(), T = (r = (a = n == null ? void 0 : n.locale) !== null && a !== void 0 ? a : x.locale) !== null && r !== void 0 ? r : oi, _ = ie((o = (i = (u = (c = n == null ? void 0 : n.firstWeekContainsDate) !== null && c !== void 0 ? c : n == null || (s = n.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && u !== void 0 ? u : x.firstWeekContainsDate) !== null && i !== void 0 ? i : (f = x.locale) === null || f === void 0 || (d = f.options) === null || d === void 0 ? void 0 : d.firstWeekContainsDate) !== null && o !== void 0 ? o : 1); if (!(_ >= 1 && _ <= 7)) throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively"); var q = ie((v = (g = (S = (y = n == null ? void 0 : n.weekStartsOn) !== null && y !== void 0 ? y : n == null || (M = n.locale) === null || M === void 0 || (F = M.options) === null || F === void 0 ? void 0 : F.weekStartsOn) !== null && S !== void 0 ? S : x.weekStartsOn) !== null && g !== void 0 ? g : (k = x.locale) === null || k === void 0 || (w = k.options) === null || w === void 0 ? void 0 : w.weekStartsOn) !== null && v !== void 0 ? v : 0); if (!(q >= 0 && q <= 6)) throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); if (!T.localize) throw new RangeError("locale must contain localize property"); if (!T.formatLong) throw new RangeError("locale must contain formatLong property"); var b = V(e); if (!Ja(b)) throw new RangeError("Invalid time value"); var C = Za(b), U = to(b, C), L = { firstWeekContainsDate: _, weekStartsOn: q, locale: T, _originalDate: b }, X = O.match(ui).map(function(W) { var j = W[0]; if (j === "p" || j === "P") { var Q = vo[j]; return Q(W, T.formatLong); } return W; }).join("").match(ii).map(function(W) { if (W === "''") return "'"; var j = W[0]; if (j === "'") return fi(W); var Q = ho[j]; if (Q) return !(n != null && n.useAdditionalWeekYearTokens) && xo(W) && Sn(W, t, String(e)), !(n != null && n.useAdditionalDayOfYearTokens) && wo(W) && Sn(W, t, String(e)), Q(U, W, T.localize, L); if (j.match(li)) throw new RangeError("Format string contains an unescaped latin alphabet character `" + j + "`"); return W; }).join(""); return X; } function fi(e) { var t = e.match(si); return t ? t[1].replace(ci, "'") : e; } function di(e, t) { z(2, arguments); var n = V(e), r = V(t); return n.getTime() < r.getTime(); } function hi(e, t) { z(2, arguments); var n = V(e), r = V(t); return n.getTime() === r.getTime(); } const _e = () => { }, pr = (e, t) => new Array(t - e).fill(void 0).map((n, r) => r + e), Dn = (e, t, n) => Math.min(Math.max(e, t), n), en = (e, t) => Math.abs(Math.max(e, t) - Math.min(e, t)), Be = 1e3, Le = 60 * Be, mi = 5 * Le, gi = 10 * Le, vi = 15 * Le, yi = 30 * Le, et = 60 * Le, pi = 3 * et, wi = 6 * et, xi = 12 * et, pt = 24 * et, wr = 7 * pt, xr = 30 * pt, It = 365 * pt; var ae = /* @__PURE__ */ ((e) => (e.MIN = "minimum", e.TEN_MS = "10 ms", e.HUNDRED_MS = "100 ms", e.FIVEHUNDRED_MS = "500 ms", e.ONE_SEC = "1 sec", e.FIVE_SECS = "5 secs", e.TEN_SECS = "10 secs", e.THIRTY_SECS = "30 secs", e.ONE_MIN = "1 min", e.FIVE_MINS = "5 mins", e.TEN_MINS = "10 mins", e.FIFTEEN_MINS = "15 mins", e.THIRTY_MINS = "30 mins", e.ONE_HOUR = "1 hour", e.THREE_HOURS = "3 hours", e.SIX_HOURS = "6 hours", e.TWELVE_HOURS = "12 hours", e.ONE_DAY = "1 day", e.ONE_WEEK = "1 week", e.ONE_MONTH = "1 month", e.ONE_YEAR = "1 year", e.TEN_YEARS = "10 years", e.MAX = "maximum", e))(ae || {}); const bi = [ "10 years", "1 year", "1 month", "1 week", "1 day", "12 hours", "6 hours", "3 hours", "1 hour", "30 mins", "15 mins", "10 mins", "5 mins", "1 min" ], me = (e) => { switch (e) { case "maximum": return Number.MAX_SAFE_INTEGER; case "10 years": return 10 * It; case "1 year": return It; case "1 month": return xr; case "1 week": return wr; case "1 day": return pt; case "12 hours": return xi; case "6 hours": return wi; case "3 hours": return pi; case "1 hour": return et; case "30 mins": return yi; case "15 mins": return vi; case "10 mins": return gi; case "5 mins": return mi; case "1 min": return Le; case "30 secs": return 30 * Be; case "10 secs": return 10 * Be; case "5 secs": return 5 * Be; case "1 sec": return Be; case "500 ms": return 500; case "100 ms": return 100; case "10 ms": return 10; case "minimum": return 0; default: return 0; } }, Mi = (e, t) => { const n = en(e[1], e[0]); return n > me(t[0]) ? "maximum" : n <= me("minimum") ? "minimum" : [...t].reverse().find((r) => n <= me(r)) || "maximum"; }, Ti = (e, t) => { const n = en(e[1], e[0]) / 2; return t.find((r) => me(r) <= n) || "minimum"; }, Si = (e, t) => { const n = en(e[1], e[0]) * 2; return [...t].reverse().find((r) => me(r) > n) || "maximum"; }, br = (e, t, n, r) => [ Math.max(e, n - r / 2), Math.min(t, n + r / 2) ]; function kn(e) { switch (e) { case ae.MAX: return "yyyy"; case ae.TEN_YEARS: return "yyyy-MM"; case ae.ONE_YEAR: return "yyyy-MM-ww"; case ae.ONE_MONTH: return "yyyy-MM-ww-dd"; case ae.ONE_WEEK: return "yyyy-MM-ww-dd-aaa"; case ae.ONE_DAY: return "yyyy-MM-ww-dd-HH"; case ae.MIN: return "T"; default: return "T"; } } const On = "isPinnedOrSelected", Ci = (e, t, n, r, a, o, i) => { const [u, c] = pe(!1), s = ne( (g) => { c(!0), o(g); }, [c, o] ), l = ne( (g) => { c(!1), i(g); }, [c, i] ), [f, d, v] = Ce(() => { const g = e.filter((y) => { const M = y.startTimeMillis >= t[0] && y.startTimeMillis <= t[1], F = y.endTimeMillis && y.endTimeMillis >= t[0] && y.endTimeMillis <= t[1], k = y.endTimeMillis && y.startTimeMillis < t[0] && y.endTimeMillis > t[1]; return M || F || k; }), S = g.some((y) => y.isSelected) === !1; return !a || n === ae.ONE_DAY ? [g, [], S] : Aa( g, (y) => y.isPinned || y.isSelected ? On : `${r ? `${y.laneId}-` : ""}${Cn(y.startTimeMillis, kn(n))}${y.endTimeMillis ? `-${Cn(y.endTimeMillis, kn(n))}` : ""}` ).reduce( (y, M) => M[0] === On || M[1].length <= 1 ? [[...y[0], ...M[1]], [...y[1]], S] : [ [...y[0]], [ ...y[1], { timeMillis: M[1].reduce( (F, k) => { var w; return F + (k.startTimeMillis + ((w = k.endTimeMillis) != null ? w : k.startTimeMillis)) / 2; }, 0 ) / M[1].length, laneId: M[1][0].laneId, size: M[1].length } ], S ], [[], [], S] ); }, [e, t, n, r, a]); return { eventsInsideDomain: f, eventClustersInsideDomain: d, isNoEventSelected: v, isMouseOverEvent: u, onEventHoverDecorated: s, onEventUnhoverDecorated: l }; }; function tt(e, t) { switch (arguments.length) { case 0: break; case 1: this.range(e); break; default: this.range(t).domain(e); break; } return this; } const En = Symbol("implicit"); function Mr() { var e = /* @__PURE__ */ new Map(), t = [], n = [], r = En; function a(o) { var i = o + "", u = e.get(i); if (!u) { if (r !== En) return r; e.set(i, u = t.push(o)); } return n[(u - 1) % n.length]; } return a.domain = function(o) { if (!arguments.length) return t.slice(); t = [], e = /* @__PURE__ */ new Map(); for (const i of o) { const u = i + ""; e.has(u) || e.set(u, t.push(i)); } return a; }, a.range = function(o) { return arguments.length ? (n = Array.from(o), a) : n.slice(); }, a.unknown = function(o) { return arguments.length ? (r = o, a) : r; }, a.copy = function() { return Mr(t, n).unknown(r); }, tt.apply(a, arguments), a; } function Tr() { var e = Mr().unknown(void 0), t = e.domain, n = e.range, r = 0, a = 1, o, i, u = !1, c = 0, s = 0, l = 0.5; delete e.unknown; function f() { var d = t().length, v = a < r, g = v ? a : r, S = v ? r : a; o = (S - g) / Math.max(1, d - c + s * 2), u && (o = Math.floor(o)), g += (S - g - o * (d - c)) * l, i = o * (1 - c), u && (g = Math.round(g), i = Math.round(i)); var y = za(d).map(function(M) { return g + o * M; }); return n(v ? y.reverse() : y); } return e.domain = function(d) { return arguments.length ? (t(d), f()) : t(); }, e.range = function(d) { return arguments.length ? ([r, a] = d, r = +r, a = +a, f()) : [r, a]; }, e.rangeRound = function(d) { return [r, a] = d, r = +r, a = +a, u = !0, f(); }, e.bandwidth = function() { return i; }, e.step = function() { return o; }, e.round = function(d) { return arguments.length ? (u = !!d, f()) : u; }, e.padding = function(d) { return arguments.length ? (c = Math.min(1, s = +d), f()) : c; }, e.paddingInner = function(d) { return arguments.length ? (c = Math.min(1, d), f()) : c; }, e.paddingOuter = function(d) { return arguments.length ? (s = +d, f()) : s; }, e.align = function(d) { return arguments.length ? (l = Math.max(0, Math.min(1, d)), f()) : l; }, e.copy = function() { return Tr(t(), [r, a]).round(u).paddingInner(c).paddingOuter(s).align(l); }, tt.apply(f(), arguments); } function tn(e, t, n) { e.prototype = t.prototype = n, n.constructor = e; } function Sr(e, t) { var n = Object.create(e.prototype); for (var r in t) n[r] = t[r]; return n; } function nt() { } var Ge = 0.7, ft = 1 / Ge, We = "\\s*([+-]?\\d+)\\s*", Ze = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", fe = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", Di = /^#([0-9a-f]{3,8})$/, ki = new RegExp("^rgb\\(" + [We, We, We] + "\\)$"), Oi = new RegExp("^rgb\\(" + [fe, fe, fe] + "\\)$"), Ei = new RegExp("^rgba\\(" + [We, We, We, Ze] + "\\)$"), Ui = new RegExp("^rgba\\(" + [fe, fe, fe, Ze] + "\\)$"), Ni = new RegExp("^hsl\\(" + [Ze, fe, fe] + "\\)$"), Yi = new RegExp("^hsla\\(" + [Ze, fe, fe, Ze] + "\\)$"), Un = { aliceblue: 15792383, antiquewhite: 16444375, aqua: 65535, aquamarine: 8388564, azure: 15794175, beige: 16119260, bisque: 16770244, black: 0, blanchedalmond: 16772045, blue: 255, blueviolet: 9055202, brown: 10824234, burlywood: 14596231, cadetblue: 6266528, chartreuse: 8388352, chocolate: 13789470, coral: 16744272, cornflowerblue: 6591981, cornsilk: 16775388, crimson: 14423100, cyan: 65535, darkblue: 139, darkcyan: 35723, darkgoldenrod: 12092939, darkgray: 11119017, darkgreen: 25600, darkgrey: 11119017, d