@expofp/floorplan
Version:
Interactive floor plan library for expos and events
134 lines (132 loc) • 5.9 kB
JavaScript
function __vite_inject_css__(css, id, forceLightDom){ if (typeof document==='undefined') return; var shadow=!forceLightDom&&typeof window!=='undefined'&&window.__efpShadowDOMStyleParent; var parent=shadow||document.head; var s=document.createElement('style'); s.setAttribute('data-chunk-style', id); s.appendChild(document.createTextNode(css)); parent.appendChild(s); if (shadow) (window.__efpStyleElements||(window.__efpStyleElements=[])).push(s);}
(function() {
try {
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
e.SENTRY_RELEASE = { id: "3.47.0" };
var t = new e.Error().stack;
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "53ea0724-2176-475c-a2f3-df79c67f89ab", e._sentryDebugIdIdentifier = "sentry-dbid-53ea0724-2176-475c-a2f3-df79c67f89ab");
} catch {}
})();
import { r as e } from "./rolldown-runtime-5rOLGCTp.js";
import { s as t } from "./i18n-DlquqKCP.js";
import { t as n } from "./react-XuvSZP7j.js";
import { t as r } from "./jsx-runtime-BzLvm2y2.js";
import "./components-CzNKFauU.js";
import { t as i } from "./Button-DyqVe4xL.js";
import { t as a } from "./index.module-CN0EtZcO.js";
import { l as o, u as s } from "./store-DTvNQcN7.js";
import { Jt as c } from "./LayerStore-DCg-juRT.js";
//#region src/utils/event-now.ts
var l = /* @__PURE__ */ e(n(), 1), u = /^\d{4}-\d{2}-\d{2}$/, d = (e, t) => new Date(u.test(e) ? `${e}T${t}` : e).getTime(), f = (e, t) => !e || !t ? null : {
start: d(e, "00:00:00"),
end: d(t, "23:59:59")
};
function p(e, t) {
let n = f(e, t);
if (!n) return !1;
let r = Date.now();
return r >= n.start && r <= n.end;
}
function m(e, t) {
let n = f(e, t);
if (!n) return null;
let r = Date.now();
return r < n.start ? n.start - r : r <= n.end ? n.end - r + 1 : null;
}
//#endregion
//#region src/components/ViewerMenuPanel.tsx
var h = r(), g = 2 ** 31 - 1;
function _(e) {
var t, n;
if (!e) return {
venue: "",
dateRange: ""
};
let r = e.split(" | ");
return {
venue: ((t = r[0]) == null ? void 0 : t.trim()) || "",
dateRange: ((n = r[1]) == null ? void 0 : n.trim()) || ""
};
}
function v(e, t) {
let [, n] = l.useReducer((e) => e + 1, 0);
return l.useEffect(() => {
let r = m(e, t);
if (r === null) return;
let i = setTimeout(n, Math.min(r, g));
return () => clearTimeout(i);
}), p(e, t);
}
var y = a(() => {
let { venue: e, dateRange: n } = _(c.subtitle), r = !(c.startDate && c.endDate), a = v(c.startDate, c.endDate), l = o.eventStore.eventItems.length > 0, u = o.toursStore.hasTours;
function d(e) {
e.preventDefault(), s.menu = !1;
}
function f(e) {
e.preventDefault(), o.selectExhibitors();
}
function p(e) {
e.preventDefault(), o.selectSessions();
}
function m(e) {
e.preventDefault(), o.selectTours();
}
return /* @__PURE__ */ (0, h.jsxs)("div", {
className: "viewer-panel",
children: [/* @__PURE__ */ (0, h.jsxs)("div", {
className: "viewer-panel__info",
children: [
/* @__PURE__ */ (0, h.jsx)("div", {
className: "viewer-panel__title",
children: c.title
}),
/* @__PURE__ */ (0, h.jsxs)("div", {
className: "viewer-panel__row",
children: [/* @__PURE__ */ (0, h.jsx)("i", { className: "viewer-panel__icon icon-schedule" }), r ? /* @__PURE__ */ (0, h.jsx)("span", { children: t("Ongoing") }) : /* @__PURE__ */ (0, h.jsxs)("div", {
className: "viewer-panel__date-range",
children: [n, a && /* @__PURE__ */ (0, h.jsxs)(h.Fragment, { children: ["\xA0\xA0", /* @__PURE__ */ (0, h.jsx)("div", {
className: "viewer-panel__now-badge",
children: t("Now")
})] })]
})]
}),
e && /* @__PURE__ */ (0, h.jsxs)("div", {
className: "viewer-panel__row",
children: [/* @__PURE__ */ (0, h.jsx)("i", { className: "viewer-panel__icon icon-marker-pin" }), /* @__PURE__ */ (0, h.jsx)("span", { children: e })]
})
]
}), /* @__PURE__ */ (0, h.jsxs)("div", {
className: "viewer-panel__buttons",
children: [
/* @__PURE__ */ (0, h.jsx)(i, {
variant: "gray",
size: "lg",
text: t("Map"),
onClick: d
}),
/* @__PURE__ */ (0, h.jsx)(i, {
variant: "gray",
size: "lg",
text: t("Exhibitors"),
onClick: f
}),
l && /* @__PURE__ */ (0, h.jsx)(i, {
variant: "gray",
size: "lg",
text: t("Sessions"),
onClick: p
}),
u && /* @__PURE__ */ (0, h.jsx)(i, {
variant: "gray",
size: "lg",
text: t("Guided Tours"),
onClick: m
})
]
})]
});
});
//#endregion
export { y as default };
;/* vite-per-chunk-css */
__vite_inject_css__(".viewer-panel{padding:calc(1rem * var(--ui-scale)) calc(1rem * var(--ui-scale)) calc(2rem * var(--ui-scale))}.viewer-panel__info{gap:calc(.625rem * var(--ui-scale));margin-bottom:calc(1.5rem * var(--ui-scale));flex-direction:column;display:flex}.viewer-panel__title{margin-bottom:calc(.625rem * var(--ui-scale));font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.viewer-panel__row{align-items:center;gap:calc(.5rem * var(--ui-scale));font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);letter-spacing:.02em;line-height:1.3;display:flex}.viewer-panel__icon{font-size:var(--icon-size-xl);color:var(--color-primary);flex-shrink:0;align-self:flex-start}.viewer-panel__now-badge{min-height:calc(1.625rem * var(--ui-scale));padding:calc(.25rem * var(--ui-scale)) calc(.625rem * var(--ui-scale));border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-white);white-space:nowrap;vertical-align:middle;background:#f44;align-items:center;display:inline-flex}.viewer-panel__buttons{gap:calc(.5rem * var(--ui-scale));flex-direction:column;display:flex}\n/*$vite$:1*/", "ViewerMenuPanel.css", false);