UNPKG

urbi-exhibitions

Version:
1,472 lines (1,471 loc) 48.7 kB
import { useEffect as P, useMemo as T, useState as Z, useCallback as M } from "react"; import { t as K } from "../toChunks-DRfoi4L8.js"; import { u as U, T as z, b as B, a as p } from "../mapContext-IRKlk7O4.js"; import { t as w, c as v, m as _, a as q, u as $ } from "../index-DkCgMG8a.js"; import { b as Et, d as Wt } from "../index-DkCgMG8a.js"; import { jsx as ee } from "react/jsx-runtime"; import { renderToStaticMarkup as te } from "react-dom/server"; let ne = {}; function W() { return ne; } function S(t, e) { var o, c, d, l; const n = W(), r = (e == null ? void 0 : e.weekStartsOn) ?? ((c = (o = e == null ? void 0 : e.locale) == null ? void 0 : o.options) == null ? void 0 : c.weekStartsOn) ?? n.weekStartsOn ?? ((l = (d = n.locale) == null ? void 0 : d.options) == null ? void 0 : l.weekStartsOn) ?? 0, a = w(t, e == null ? void 0 : e.in), i = a.getDay(), s = (i < r ? 7 : 0) + i - r; return a.setDate(a.getDate() - s), a.setHours(0, 0, 0, 0), a; } function E(t, e) { return S(t, { ...e, weekStartsOn: 1 }); } function J(t, e) { const n = w(t, e == null ? void 0 : e.in), r = n.getFullYear(), a = v(n, 0); a.setFullYear(r + 1, 0, 4), a.setHours(0, 0, 0, 0); const i = E(a), s = v(n, 0); s.setFullYear(r, 0, 4), s.setHours(0, 0, 0, 0); const o = E(s); return n.getTime() >= i.getTime() ? r + 1 : n.getTime() >= o.getTime() ? r : r - 1; } function F(t) { const e = w(t), n = new Date( Date.UTC( e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds() ) ); return n.setUTCFullYear(e.getFullYear()), +t - +n; } function re(t, ...e) { const n = v.bind( null, e.find((r) => typeof r == "object") ); return e.map(n); } function I(t, e) { const n = w(t, e == null ? void 0 : e.in); return n.setHours(0, 0, 0, 0), n; } function ae(t, e, n) { const [r, a] = re( n == null ? void 0 : n.in, t, e ), i = I(r), s = I(a), o = +i - F(i), c = +s - F(s); return Math.round((o - c) / _); } function ie(t, e) { const n = J(t, e), r = v(t, 0); return r.setFullYear(n, 0, 4), r.setHours(0, 0, 0, 0), E(r); } function oe(t) { return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]"; } function se(t) { return !(!oe(t) && typeof t != "number" || isNaN(+w(t))); } function ue(t, e) { const n = w(t, e == null ? void 0 : e.in); return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n; } const ce = { 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" } }, de = (t, e, n) => { let r; const a = ce[t]; return typeof a == "string" ? r = a : e === 1 ? r = a.one : r = a.other.replace("{{count}}", e.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "in " + r : r + " ago" : r; }; function Y(t) { return (e = {}) => { const n = e.width ? String(e.width) : t.defaultWidth; return t.formats[n] || t.formats[t.defaultWidth]; }; } const fe = { full: "EEEE, MMMM do, y", long: "MMMM do, y", medium: "MMM d, y", short: "MM/dd/yyyy" }, le = { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, he = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, me = { date: Y({ formats: fe, defaultWidth: "full" }), time: Y({ formats: le, defaultWidth: "full" }), dateTime: Y({ formats: he, defaultWidth: "full" }) }, ge = { lastWeek: "'last' eeee 'at' p", yesterday: "'yesterday at' p", today: "'today at' p", tomorrow: "'tomorrow at' p", nextWeek: "eeee 'at' p", other: "P" }, we = (t, e, n, r) => ge[t]; function C(t) { return (e, n) => { const r = n != null && n.context ? String(n.context) : "standalone"; let a; if (r === "formatting" && t.formattingValues) { const s = t.defaultFormattingWidth || t.defaultWidth, o = n != null && n.width ? String(n.width) : s; a = t.formattingValues[o] || t.formattingValues[s]; } else { const s = t.defaultWidth, o = n != null && n.width ? String(n.width) : t.defaultWidth; a = t.values[o] || t.values[s]; } const i = t.argumentCallback ? t.argumentCallback(e) : e; return a[i]; }; } const ye = { narrow: ["B", "A"], abbreviated: ["BC", "AD"], wide: ["Before Christ", "Anno Domini"] }, be = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] }, Ae = { 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" ] }, Oe = { 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" ] }, Pe = { 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" } }, ve = { 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" } }, xe = (t, e) => { const n = Number(t), r = n % 100; if (r > 20 || r < 10) switch (r % 10) { case 1: return n + "st"; case 2: return n + "nd"; case 3: return n + "rd"; } return n + "th"; }, Me = { ordinalNumber: xe, era: C({ values: ye, defaultWidth: "wide" }), quarter: C({ values: be, defaultWidth: "wide", argumentCallback: (t) => t - 1 }), month: C({ values: Ae, defaultWidth: "wide" }), day: C({ values: Oe, defaultWidth: "wide" }), dayPeriod: C({ values: Pe, defaultWidth: "wide", formattingValues: ve, defaultFormattingWidth: "wide" }) }; function k(t) { return (e, n = {}) => { const r = n.width, a = r && t.matchPatterns[r] || t.matchPatterns[t.defaultMatchWidth], i = e.match(a); if (!i) return null; const s = i[0], o = r && t.parsePatterns[r] || t.parsePatterns[t.defaultParseWidth], c = Array.isArray(o) ? Ce(o, (g) => g.test(s)) : ( // [TODO] -- I challenge you to fix the type De(o, (g) => g.test(s)) ); let d; d = t.valueCallback ? t.valueCallback(c) : c, d = n.valueCallback ? ( // [TODO] -- I challenge you to fix the type n.valueCallback(d) ) : d; const l = e.slice(s.length); return { value: d, rest: l }; }; } function De(t, e) { for (const n in t) if (Object.prototype.hasOwnProperty.call(t, n) && e(t[n])) return n; } function Ce(t, e) { for (let n = 0; n < t.length; n++) if (e(t[n])) return n; } function ke(t) { return (e, n = {}) => { const r = e.match(t.matchPattern); if (!r) return null; const a = r[0], i = e.match(t.parsePattern); if (!i) return null; let s = t.valueCallback ? t.valueCallback(i[0]) : i[0]; s = n.valueCallback ? n.valueCallback(s) : s; const o = e.slice(a.length); return { value: s, rest: o }; }; } const Se = /^(\d+)(th|st|nd|rd)?/i, Ee = /\d+/i, We = { 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 }, Ye = { any: [/^b/i, /^(a|c)/i] }, Te = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](th|st|nd|rd)? quarter/i }, Be = { any: [/1/i, /2/i, /3/i, /4/i] }, Ne = { 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 }, Le = { 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 ] }, ze = { 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 }, Fe = { 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] }, Ie = { 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 }, Re = { 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 } }, He = { ordinalNumber: ke({ matchPattern: Se, parsePattern: Ee, valueCallback: (t) => parseInt(t, 10) }), era: k({ matchPatterns: We, defaultMatchWidth: "wide", parsePatterns: Ye, defaultParseWidth: "any" }), quarter: k({ matchPatterns: Te, defaultMatchWidth: "wide", parsePatterns: Be, defaultParseWidth: "any", valueCallback: (t) => t + 1 }), month: k({ matchPatterns: Ne, defaultMatchWidth: "wide", parsePatterns: Le, defaultParseWidth: "any" }), day: k({ matchPatterns: ze, defaultMatchWidth: "wide", parsePatterns: Fe, defaultParseWidth: "any" }), dayPeriod: k({ matchPatterns: Ie, defaultMatchWidth: "any", parsePatterns: Re, defaultParseWidth: "any" }) }, Qe = { code: "en-US", formatDistance: de, formatLong: me, formatRelative: we, localize: Me, match: He, options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }; function Xe(t, e) { const n = w(t, e == null ? void 0 : e.in); return ae(n, ue(n)) + 1; } function qe(t, e) { const n = w(t, e == null ? void 0 : e.in), r = +E(n) - +ie(n); return Math.round(r / q) + 1; } function G(t, e) { var l, g, y, b; const n = w(t, e == null ? void 0 : e.in), r = n.getFullYear(), a = W(), i = (e == null ? void 0 : e.firstWeekContainsDate) ?? ((g = (l = e == null ? void 0 : e.locale) == null ? void 0 : l.options) == null ? void 0 : g.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((b = (y = a.locale) == null ? void 0 : y.options) == null ? void 0 : b.firstWeekContainsDate) ?? 1, s = v((e == null ? void 0 : e.in) || t, 0); s.setFullYear(r + 1, 0, i), s.setHours(0, 0, 0, 0); const o = S(s, e), c = v((e == null ? void 0 : e.in) || t, 0); c.setFullYear(r, 0, i), c.setHours(0, 0, 0, 0); const d = S(c, e); return +n >= +o ? r + 1 : +n >= +d ? r : r - 1; } function Je(t, e) { var o, c, d, l; const n = W(), r = (e == null ? void 0 : e.firstWeekContainsDate) ?? ((c = (o = e == null ? void 0 : e.locale) == null ? void 0 : o.options) == null ? void 0 : c.firstWeekContainsDate) ?? n.firstWeekContainsDate ?? ((l = (d = n.locale) == null ? void 0 : d.options) == null ? void 0 : l.firstWeekContainsDate) ?? 1, a = G(t, e), i = v((e == null ? void 0 : e.in) || t, 0); return i.setFullYear(a, 0, r), i.setHours(0, 0, 0, 0), S(i, e); } function Ge(t, e) { const n = w(t, e == null ? void 0 : e.in), r = +S(n, e) - +Je(n, e); return Math.round(r / q) + 1; } function u(t, e) { const n = t < 0 ? "-" : "", r = Math.abs(t).toString().padStart(e, "0"); return n + r; } const A = { // Year y(t, e) { const n = t.getFullYear(), r = n > 0 ? n : 1 - n; return u(e === "yy" ? r % 100 : r, e.length); }, // Month M(t, e) { const n = t.getMonth(); return e === "M" ? String(n + 1) : u(n + 1, 2); }, // Day of the month d(t, e) { return u(t.getDate(), e.length); }, // AM or PM a(t, e) { const n = t.getHours() / 12 >= 1 ? "pm" : "am"; switch (e) { case "a": case "aa": return n.toUpperCase(); case "aaa": return n; case "aaaaa": return n[0]; case "aaaa": default: return n === "am" ? "a.m." : "p.m."; } }, // Hour [1-12] h(t, e) { return u(t.getHours() % 12 || 12, e.length); }, // Hour [0-23] H(t, e) { return u(t.getHours(), e.length); }, // Minute m(t, e) { return u(t.getMinutes(), e.length); }, // Second s(t, e) { return u(t.getSeconds(), e.length); }, // Fraction of second S(t, e) { const n = e.length, r = t.getMilliseconds(), a = Math.trunc( r * Math.pow(10, n - 3) ); return u(a, e.length); } }, D = { midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, R = { // Era G: function(t, e, n) { const r = t.getFullYear() > 0 ? 1 : 0; switch (e) { // AD, BC case "G": case "GG": case "GGG": return n.era(r, { width: "abbreviated" }); // A, B case "GGGGG": return n.era(r, { width: "narrow" }); // Anno Domini, Before Christ case "GGGG": default: return n.era(r, { width: "wide" }); } }, // Year y: function(t, e, n) { if (e === "yo") { const r = t.getFullYear(), a = r > 0 ? r : 1 - r; return n.ordinalNumber(a, { unit: "year" }); } return A.y(t, e); }, // Local week-numbering year Y: function(t, e, n, r) { const a = G(t, r), i = a > 0 ? a : 1 - a; if (e === "YY") { const s = i % 100; return u(s, 2); } return e === "Yo" ? n.ordinalNumber(i, { unit: "year" }) : u(i, e.length); }, // ISO week-numbering year R: function(t, e) { const n = J(t); return u(n, e.length); }, // Extended year. This is a single number designating the year of this calendar system. // The main difference between `y` and `u` localizers are B.C. years: // | Year | `y` | `u` | // |------|-----|-----| // | AC 1 | 1 | 1 | // | BC 1 | 1 | 0 | // | BC 2 | 2 | -1 | // Also `yy` always returns the last two digits of a year, // while `uu` pads single digit years to 2 characters and returns other years unchanged. u: function(t, e) { const n = t.getFullYear(); return u(n, e.length); }, // Quarter Q: function(t, e, n) { const r = Math.ceil((t.getMonth() + 1) / 3); switch (e) { // 1, 2, 3, 4 case "Q": return String(r); // 01, 02, 03, 04 case "QQ": return u(r, 2); // 1st, 2nd, 3rd, 4th case "Qo": return n.ordinalNumber(r, { unit: "quarter" }); // Q1, Q2, Q3, Q4 case "QQQ": return n.quarter(r, { width: "abbreviated", context: "formatting" }); // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "QQQQQ": return n.quarter(r, { width: "narrow", context: "formatting" }); // 1st quarter, 2nd quarter, ... case "QQQQ": default: return n.quarter(r, { width: "wide", context: "formatting" }); } }, // Stand-alone quarter q: function(t, e, n) { const r = Math.ceil((t.getMonth() + 1) / 3); switch (e) { // 1, 2, 3, 4 case "q": return String(r); // 01, 02, 03, 04 case "qq": return u(r, 2); // 1st, 2nd, 3rd, 4th case "qo": return n.ordinalNumber(r, { unit: "quarter" }); // Q1, Q2, Q3, Q4 case "qqq": return n.quarter(r, { width: "abbreviated", context: "standalone" }); // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "qqqqq": return n.quarter(r, { width: "narrow", context: "standalone" }); // 1st quarter, 2nd quarter, ... case "qqqq": default: return n.quarter(r, { width: "wide", context: "standalone" }); } }, // Month M: function(t, e, n) { const r = t.getMonth(); switch (e) { case "M": case "MM": return A.M(t, e); // 1st, 2nd, ..., 12th case "Mo": return n.ordinalNumber(r + 1, { unit: "month" }); // Jan, Feb, ..., Dec case "MMM": return n.month(r, { width: "abbreviated", context: "formatting" }); // J, F, ..., D case "MMMMM": return n.month(r, { width: "narrow", context: "formatting" }); // January, February, ..., December case "MMMM": default: return n.month(r, { width: "wide", context: "formatting" }); } }, // Stand-alone month L: function(t, e, n) { const r = t.getMonth(); switch (e) { // 1, 2, ..., 12 case "L": return String(r + 1); // 01, 02, ..., 12 case "LL": return u(r + 1, 2); // 1st, 2nd, ..., 12th case "Lo": return n.ordinalNumber(r + 1, { unit: "month" }); // Jan, Feb, ..., Dec case "LLL": return n.month(r, { width: "abbreviated", context: "standalone" }); // J, F, ..., D case "LLLLL": return n.month(r, { width: "narrow", context: "standalone" }); // January, February, ..., December case "LLLL": default: return n.month(r, { width: "wide", context: "standalone" }); } }, // Local week of year w: function(t, e, n, r) { const a = Ge(t, r); return e === "wo" ? n.ordinalNumber(a, { unit: "week" }) : u(a, e.length); }, // ISO week of year I: function(t, e, n) { const r = qe(t); return e === "Io" ? n.ordinalNumber(r, { unit: "week" }) : u(r, e.length); }, // Day of the month d: function(t, e, n) { return e === "do" ? n.ordinalNumber(t.getDate(), { unit: "date" }) : A.d(t, e); }, // Day of year D: function(t, e, n) { const r = Xe(t); return e === "Do" ? n.ordinalNumber(r, { unit: "dayOfYear" }) : u(r, e.length); }, // Day of week E: function(t, e, n) { const r = t.getDay(); switch (e) { // Tue case "E": case "EE": case "EEE": return n.day(r, { width: "abbreviated", context: "formatting" }); // T case "EEEEE": return n.day(r, { width: "narrow", context: "formatting" }); // Tu case "EEEEEE": return n.day(r, { width: "short", context: "formatting" }); // Tuesday case "EEEE": default: return n.day(r, { width: "wide", context: "formatting" }); } }, // Local day of week e: function(t, e, n, r) { const a = t.getDay(), i = (a - r.weekStartsOn + 8) % 7 || 7; switch (e) { // Numerical value (Nth day of week with current locale or weekStartsOn) case "e": return String(i); // Padded numerical value case "ee": return u(i, 2); // 1st, 2nd, ..., 7th case "eo": return n.ordinalNumber(i, { unit: "day" }); case "eee": return n.day(a, { width: "abbreviated", context: "formatting" }); // T case "eeeee": return n.day(a, { width: "narrow", context: "formatting" }); // Tu case "eeeeee": return n.day(a, { width: "short", context: "formatting" }); // Tuesday case "eeee": default: return n.day(a, { width: "wide", context: "formatting" }); } }, // Stand-alone local day of week c: function(t, e, n, r) { const a = t.getDay(), i = (a - r.weekStartsOn + 8) % 7 || 7; switch (e) { // Numerical value (same as in `e`) case "c": return String(i); // Padded numerical value case "cc": return u(i, e.length); // 1st, 2nd, ..., 7th case "co": return n.ordinalNumber(i, { unit: "day" }); case "ccc": return n.day(a, { width: "abbreviated", context: "standalone" }); // T case "ccccc": return n.day(a, { width: "narrow", context: "standalone" }); // Tu case "cccccc": return n.day(a, { width: "short", context: "standalone" }); // Tuesday case "cccc": default: return n.day(a, { width: "wide", context: "standalone" }); } }, // ISO day of week i: function(t, e, n) { const r = t.getDay(), a = r === 0 ? 7 : r; switch (e) { // 2 case "i": return String(a); // 02 case "ii": return u(a, e.length); // 2nd case "io": return n.ordinalNumber(a, { unit: "day" }); // Tue case "iii": return n.day(r, { width: "abbreviated", context: "formatting" }); // T case "iiiii": return n.day(r, { width: "narrow", context: "formatting" }); // Tu case "iiiiii": return n.day(r, { width: "short", context: "formatting" }); // Tuesday case "iiii": default: return n.day(r, { width: "wide", context: "formatting" }); } }, // AM or PM a: function(t, e, n) { const a = t.getHours() / 12 >= 1 ? "pm" : "am"; switch (e) { case "a": case "aa": return n.dayPeriod(a, { width: "abbreviated", context: "formatting" }); case "aaa": return n.dayPeriod(a, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "aaaaa": return n.dayPeriod(a, { width: "narrow", context: "formatting" }); case "aaaa": default: return n.dayPeriod(a, { width: "wide", context: "formatting" }); } }, // AM, PM, midnight, noon b: function(t, e, n) { const r = t.getHours(); let a; switch (r === 12 ? a = D.noon : r === 0 ? a = D.midnight : a = r / 12 >= 1 ? "pm" : "am", e) { case "b": case "bb": return n.dayPeriod(a, { width: "abbreviated", context: "formatting" }); case "bbb": return n.dayPeriod(a, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "bbbbb": return n.dayPeriod(a, { width: "narrow", context: "formatting" }); case "bbbb": default: return n.dayPeriod(a, { width: "wide", context: "formatting" }); } }, // in the morning, in the afternoon, in the evening, at night B: function(t, e, n) { const r = t.getHours(); let a; switch (r >= 17 ? a = D.evening : r >= 12 ? a = D.afternoon : r >= 4 ? a = D.morning : a = D.night, e) { case "B": case "BB": case "BBB": return n.dayPeriod(a, { width: "abbreviated", context: "formatting" }); case "BBBBB": return n.dayPeriod(a, { width: "narrow", context: "formatting" }); case "BBBB": default: return n.dayPeriod(a, { width: "wide", context: "formatting" }); } }, // Hour [1-12] h: function(t, e, n) { if (e === "ho") { let r = t.getHours() % 12; return r === 0 && (r = 12), n.ordinalNumber(r, { unit: "hour" }); } return A.h(t, e); }, // Hour [0-23] H: function(t, e, n) { return e === "Ho" ? n.ordinalNumber(t.getHours(), { unit: "hour" }) : A.H(t, e); }, // Hour [0-11] K: function(t, e, n) { const r = t.getHours() % 12; return e === "Ko" ? n.ordinalNumber(r, { unit: "hour" }) : u(r, e.length); }, // Hour [1-24] k: function(t, e, n) { let r = t.getHours(); return r === 0 && (r = 24), e === "ko" ? n.ordinalNumber(r, { unit: "hour" }) : u(r, e.length); }, // Minute m: function(t, e, n) { return e === "mo" ? n.ordinalNumber(t.getMinutes(), { unit: "minute" }) : A.m(t, e); }, // Second s: function(t, e, n) { return e === "so" ? n.ordinalNumber(t.getSeconds(), { unit: "second" }) : A.s(t, e); }, // Fraction of second S: function(t, e) { return A.S(t, e); }, // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) X: function(t, e, n) { const r = t.getTimezoneOffset(); if (r === 0) return "Z"; switch (e) { // Hours and optional minutes case "X": return Q(r); // Hours, minutes and optional seconds without `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `XX` case "XXXX": case "XX": return O(r); // Hours, minutes and optional seconds with `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `XXX` case "XXXXX": case "XXX": // Hours and minutes with `:` delimiter default: return O(r, ":"); } }, // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) x: function(t, e, n) { const r = t.getTimezoneOffset(); switch (e) { // Hours and optional minutes case "x": return Q(r); // Hours, minutes and optional seconds without `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `xx` case "xxxx": case "xx": return O(r); // Hours, minutes and optional seconds with `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `xxx` case "xxxxx": case "xxx": // Hours and minutes with `:` delimiter default: return O(r, ":"); } }, // Timezone (GMT) O: function(t, e, n) { const r = t.getTimezoneOffset(); switch (e) { // Short case "O": case "OO": case "OOO": return "GMT" + H(r, ":"); // Long case "OOOO": default: return "GMT" + O(r, ":"); } }, // Timezone (specific non-location) z: function(t, e, n) { const r = t.getTimezoneOffset(); switch (e) { // Short case "z": case "zz": case "zzz": return "GMT" + H(r, ":"); // Long case "zzzz": default: return "GMT" + O(r, ":"); } }, // Seconds timestamp t: function(t, e, n) { const r = Math.trunc(+t / 1e3); return u(r, e.length); }, // Milliseconds timestamp T: function(t, e, n) { return u(+t, e.length); } }; function H(t, e = "") { const n = t > 0 ? "-" : "+", r = Math.abs(t), a = Math.trunc(r / 60), i = r % 60; return i === 0 ? n + String(a) : n + String(a) + e + u(i, 2); } function Q(t, e) { return t % 60 === 0 ? (t > 0 ? "-" : "+") + u(Math.abs(t) / 60, 2) : O(t, e); } function O(t, e = "") { const n = t > 0 ? "-" : "+", r = Math.abs(t), a = u(Math.trunc(r / 60), 2), i = u(r % 60, 2); return n + a + e + i; } const X = (t, e) => { switch (t) { case "P": return e.date({ width: "short" }); case "PP": return e.date({ width: "medium" }); case "PPP": return e.date({ width: "long" }); case "PPPP": default: return e.date({ width: "full" }); } }, j = (t, e) => { switch (t) { case "p": return e.time({ width: "short" }); case "pp": return e.time({ width: "medium" }); case "ppp": return e.time({ width: "long" }); case "pppp": default: return e.time({ width: "full" }); } }, je = (t, e) => { const n = t.match(/(P+)(p+)?/) || [], r = n[1], a = n[2]; if (!a) return X(t, e); let i; switch (r) { case "P": i = e.dateTime({ width: "short" }); break; case "PP": i = e.dateTime({ width: "medium" }); break; case "PPP": i = e.dateTime({ width: "long" }); break; case "PPPP": default: i = e.dateTime({ width: "full" }); break; } return i.replace("{{date}}", X(r, e)).replace("{{time}}", j(a, e)); }, Ve = { p: j, P: je }, Ze = /^D+$/, Ke = /^Y+$/, Ue = ["D", "DD", "YY", "YYYY"]; function pe(t) { return Ze.test(t); } function _e(t) { return Ke.test(t); } function $e(t, e, n) { const r = et(t, e, n); if (console.warn(r), Ue.includes(t)) throw new RangeError(r); } function et(t, e, n) { const r = t[0] === "Y" ? "years" : "days of the month"; return `Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`; } const tt = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, nt = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, rt = /^'([^]*?)'?$/, at = /''/g, it = /[a-zA-Z]/; function ot(t, e, n) { var l, g, y, b; const r = W(), a = r.locale ?? Qe, i = r.firstWeekContainsDate ?? ((g = (l = r.locale) == null ? void 0 : l.options) == null ? void 0 : g.firstWeekContainsDate) ?? 1, s = r.weekStartsOn ?? ((b = (y = r.locale) == null ? void 0 : y.options) == null ? void 0 : b.weekStartsOn) ?? 0, o = w(t, n == null ? void 0 : n.in); if (!se(o)) throw new RangeError("Invalid time value"); let c = e.match(nt).map((f) => { const h = f[0]; if (h === "p" || h === "P") { const x = Ve[h]; return x(f, a.formatLong); } return f; }).join("").match(tt).map((f) => { if (f === "''") return { isToken: !1, value: "'" }; const h = f[0]; if (h === "'") return { isToken: !1, value: st(f) }; if (R[h]) return { isToken: !0, value: f }; if (h.match(it)) throw new RangeError( "Format string contains an unescaped latin alphabet character `" + h + "`" ); return { isToken: !1, value: f }; }); a.localize.preprocessor && (c = a.localize.preprocessor(o, c)); const d = { firstWeekContainsDate: i, weekStartsOn: s, locale: a }; return c.map((f) => { if (!f.isToken) return f.value; const h = f.value; (_e(h) || pe(h)) && $e(h, e, String(t)); const x = R[h[0]]; return x(o, h, a.localize, d); }).join(""); } function st(t) { const e = t.match(rt); return e ? e[1].replace(at, "'") : t; } function ut(t, e) { return +w(t) > +w(e); } const ct = "data:image/png;base64,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", dt = { icon: ct, size: [56, 71], anchor: [28, 35.5], zIndex: 13, opacity: ["match", ["isBehindObjects"], [!0], 0.5, 1] }, Pt = ({ mapInstance: t, isShowCar: e, markerOptions: n }) => { P(() => { if (!t || !e) return; const r = new mapgl.Marker(t, { coordinates: t.getCenter(), ...dt, // Настройки по умолчанию ...n // Переопределённые настройки }), a = () => r.setCoordinates(t.getCenter()); return t.on("move", a), () => { r.destroy(), t.off("move", a); }; }, [e, t, n]); }, vt = (t, e) => T(() => !t || !e ? [] : K(t, e), [t, e]), xt = (t) => { const { setEnabled: e, setInactivityDuration: n } = U(); P(() => (e((t == null ? void 0 : t.enabled) ?? !0), n((t == null ? void 0 : t.inactivityDuration) ?? z), () => { e(!1), n(z); }), [ t == null ? void 0 : t.enabled, t == null ? void 0 : t.inactivityDuration, e, n ]); }, Mt = (t) => { const { models: e } = t, { map: n } = B(); P(() => { if (n) return n.state.floorLevelIndex === 0 && e.forEach((r) => { n.gltfPlugin.getModelStatus(r.modelId) === 0 ? n.gltfPlugin.addModel(r).catch((i) => { console.log("Failed to load stand models: ", i); }) : n.gltfPlugin.showModel(r.modelId); }), () => { n.gltfPlugin.hideModels(e.map((r) => r.modelId)); }; }, [n == null ? void 0 : n.gltfPlugin, n == null ? void 0 : n.state.floorLevelIndex, e]); }, Dt = (t) => { const { logos: e, floorLevelIndexes: n } = t, { map: r } = B(); P(() => { if (!r || n && r.state.floorLevelIndex && !n.includes(r.state.floorLevelIndex)) return; const a = []; return Object.entries(e).forEach(([i, s]) => { const { coordinates: o, src: c, width: d = 220, minZoom: l, maxZoom: g, altitude: y = 50 } = s, b = new mapgl.HtmlMarker(r.instance, { coordinates: o, anchor: [d / 2, y], preventMapInteractions: !1, disableRounding: !0, html: te( /* @__PURE__ */ ee( "img", { src: c, style: { width: d }, className: "animate-fadeIn" } ) ), minZoom: l, maxZoom: g }); a.push(b); }), () => a.forEach((i) => i.destroy()); }, [r, e, r == null ? void 0 : r.state.floorLevelIndex, n]); }, ft = "PIN-CAR", lt = "yyyy-MM-dd", ht = "MY-CAR", Ct = ({ markerOptions: t, fitBoundsOptions: e, disabled: n, expireDateFormat: r, onChange: a }) => { const { map: i } = B(), s = p(), [o, c] = $( ft, null, { serializer: (m) => m ? JSON.stringify(m) : "", deserializer: (m) => { try { return JSON.parse(m); } catch { return null; } } } ), [d, l] = Z(!1), g = T( () => r || lt, [r] ), y = M( () => ot(/* @__PURE__ */ new Date(), g), [g] ), b = M( (m) => { c(m); }, [c] ), f = M(() => { c(null); }, [c]); P(() => { if (n || !o) return; const m = y(); if (ut(m, o.createdDateAt)) { f(); return; } }, [f, n, y, o, b]), P(() => { if (!i || !t || n || !o) return; const m = new mapgl.HtmlMarker(i.instance, { coordinates: o.coordinates, ...t }); return () => { m.destroy(); }; }, [i, n, t, o]), P(() => { !i || !t || n || !o || a == null || a(o, ht, d); }, [i, n, t, o, a, d]); const h = M( (m) => { if (!i) return; const V = y(), L = m || s.coordinates; if (!L) return; b({ coordinates: L, createdDateAt: V }); }, [s.coordinates, i, y, b] ), x = M(() => { f(); }, [f]), N = M(() => { if (l((m) => !m), !d && o && i) { const m = new mapgl.LngLatBoundsClass({ southWest: s.coordinates, northEast: s.coordinates }); m.extend(o.coordinates), i.instance.fitBounds(m, { padding: { top: 200, right: 0, bottom: 370, left: 0 }, maxZoom: 20.5, considerRotation: !0, animation: { duration: 2e3 }, ...e }); } }, [ s.coordinates, e, d, i, o ]); return T( () => ({ pinCar: o, isPinCarMode: d, addCar: h, removeCar: x, toggleCarMode: N }), [o, d, h, x, N] ); }; export { Pt as useAddCarOnDriveKit, vt as useChunks, xt as useClockInactivity, Mt as useGltfModels, Et as useInactivityDetector, Dt as useLogosOnMap, Ct as usePinMyCar, Wt as useTimer };