UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

134 lines (132 loc) • 5.9 kB
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);