urbi-exhibitions
Version:
1,472 lines (1,471 loc) • 48.7 kB
JavaScript
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
};