@expofp/floorplan 3.1.2 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{CookieConsent-YALfakcg.js → CookieConsent-A4g2GEnB.js} +1104 -1098
- package/dist/browser/{Debug-Dienfacq.js → Debug-okM_H6zB.js} +7 -7
- package/dist/browser/{Demo-BbY4PJhj.js → Demo-3Yx1xi6F.js} +11 -11
- package/dist/browser/{Free-BlfLzpZ4.js → Free-Iqh_45NP.js} +11 -11
- package/dist/browser/{Gallery-BJ8RKc0W.js → Gallery-CMu4jjUa.js} +16 -16
- package/dist/browser/{GpsLoader-C-qC7AlJ.js → GpsLoader-xmUlSf3T.js} +27 -27
- package/dist/browser/{KioskStore-umOa7R8-.js → KioskStore-DomUDeuw.js} +39 -39
- package/dist/browser/{Mapbox-BQKwe6gC.js → Mapbox-D3-e_F58.js} +14 -14
- package/dist/browser/SetKioskMode-BOvxWaGI.js +54 -0
- package/dist/browser/ShowKiosk-xp1WbCm-.js +26 -0
- package/dist/browser/{ThreeComponent-YJ6J3gEv.js → ThreeComponent-C7dPjvKl.js} +219 -219
- package/dist/browser/{TouchHand-DtBzj-Bj.js → TouchHand-QzRQPyEl.js} +4 -4
- package/dist/browser/{ViewerMenuPanel-Cv7KW_rT.js → ViewerMenuPanel-lREjYMl2.js} +20 -20
- package/dist/browser/{add-debug-secret-listener-BRth-pLl.js → add-debug-secret-listener-s_Acfb_j.js} +1 -1
- package/dist/browser/{boolean-editor-D_18BAC7.js → boolean-editor-BN7VDvLb.js} +6 -6
- package/dist/browser/bootIntercom-BsKv9v5g.js +40 -0
- package/dist/browser/bundle.json +46 -43
- package/dist/browser/{chunk-BjP-W_8B.js → chunk-CilcQ-DK.js} +1 -1
- package/dist/browser/{classnames-nDCZdn8S.js → classnames-BG0vlDcj.js} +2 -2
- package/dist/browser/{client-CHtTpwEK.js → client-CfMi8siJ.js} +4 -4
- package/dist/browser/{data-DRzLxQO7.js → data-a-dtD_1P.js} +49 -49
- package/dist/browser/{debug-overlay-B8CWKuKY.js → debug-overlay-CoH7X4al.js} +8 -8
- package/dist/browser/{debug-ui-DUF5K4cu.js → debug-ui-DouD3wg5.js} +6 -6
- package/dist/browser/{dist-C0wOn0VY.js → dist-CzsjAsAg.js} +5 -5
- package/dist/browser/{exports-DJDFfUko.js → exports-BWEh5Wje.js} +1 -1
- package/dist/browser/{favicon-DtqguaGB.js → favicon-CmG6QFs2.js} +1 -1
- package/dist/browser/{fetch-retry.umd-B8F2bkss.js → fetch-retry.umd-B_g_JELw.js} +2 -2
- package/dist/browser/{flex-DCHbgjnw.js → flex-BQA_6ztI.js} +6 -6
- package/dist/browser/{floorplan.loader-CTycsBPj.js → floorplan.loader-CrKDeH3d.js} +656 -679
- package/dist/browser/{floorplan.ready-D8TO96JJ.js → floorplan.ready-xulLyTpM.js} +16 -15
- package/dist/browser/{fuse-BEUAG1Xp.js → fuse-Cxy73jl3.js} +2 -2
- package/dist/browser/index.js +11 -11
- package/dist/browser/{is-debug-C1gwybh0.js → is-debug-BMJczZcU.js} +2 -2
- package/dist/browser/{jsx-runtime-CGa6rouk.js → jsx-runtime-DDrJF8xL.js} +2 -2
- package/dist/browser/{lib-B-kSneKQ.js → lib-B1mH8TSv.js} +4 -4
- package/dist/browser/locales/ar.json +56 -16
- package/dist/browser/locales/de.json +56 -16
- package/dist/browser/locales/es.json +56 -16
- package/dist/browser/locales/fr.json +56 -16
- package/dist/browser/locales/he.json +56 -16
- package/dist/browser/locales/it.json +56 -16
- package/dist/browser/locales/kk.json +56 -16
- package/dist/browser/locales/ko.json +56 -16
- package/dist/browser/locales/mn.json +56 -16
- package/dist/browser/locales/nl.json +56 -16
- package/dist/browser/locales/pl.json +56 -16
- package/dist/browser/locales/pt.json +56 -16
- package/dist/browser/locales/ru.json +60 -20
- package/dist/browser/locales/sv.json +56 -16
- package/dist/browser/locales/th.json +56 -16
- package/dist/browser/locales/tr.json +56 -16
- package/dist/browser/locales/uk.json +56 -16
- package/dist/browser/locales/vi.json +56 -16
- package/dist/browser/locales/zh.json +56 -16
- package/dist/browser/{main-DscTVUQ0.js → main-CTfIntH-.js} +1 -1
- package/dist/browser/{mobx-DfjpWyaW.js → mobx-CNTM25Oc.js} +4 -4
- package/dist/browser/{particles.min-Biy-VbhD.js → particles.min-DHOz1yro.js} +2 -2
- package/dist/browser/{prop-types-BKhIyeNo.js → prop-types-B-y83www.js} +2 -2
- package/dist/browser/{react-19U-5m1O.js → react-VoeHpohi.js} +2 -2
- package/dist/browser/{react-dom-BeWJor3U.js → react-dom-CN7XBo22.js} +3 -3
- package/dist/browser/{reset-all-settings-DbzRwd74.js → reset-all-settings-x3j4rKGC.js} +1 -1
- package/dist/browser/{settings-CH8qvuVX.js → settings-DYv1eHiY.js} +6 -6
- package/dist/browser/{src-_zgzV95f.js → src-CdV1RTUv.js} +4 -4
- package/dist/browser/{store-CwvDErjP.js → store-BkBqfYWF.js} +3803 -3345
- package/dist/browser/{ui-I67QXE1I.js → ui-DqL_r_LU.js} +6 -6
- package/dist/esm/components/Alert.js +1 -1
- package/dist/esm/components/Autocomplete.js +1 -1
- package/dist/esm/components/BaseFilterModal.js +1 -1
- package/dist/esm/components/EntityItem.js +1 -1
- package/dist/esm/components/EntityList.js +1 -1
- package/dist/esm/components/EventBadge.js +1 -1
- package/dist/esm/components/Exhibitor.js +1 -1
- package/dist/esm/components/HeatmapLegend.js +1 -1
- package/dist/esm/components/Kiosk/KioskStore.d.ts +3 -2
- package/dist/esm/components/Kiosk/KioskStore.js +1 -1
- package/dist/esm/components/Kiosk/SetKiosk/FormInput/RangeInput.js +1 -1
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +1 -1
- package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +1 -1
- package/dist/esm/components/Kiosk/SetKioskMode.js +1 -1
- package/dist/esm/components/LanguageRow.js +1 -1
- package/dist/esm/components/LevelBadge.js +1 -1
- package/dist/esm/components/LevelSelector.js +1 -1
- package/dist/esm/components/LogoOverlay.js +1 -1
- package/dist/esm/components/Map/Map.js +1 -1
- package/dist/esm/components/Map/drawing/config/canvases.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-wf.js +1 -1
- package/dist/esm/components/Map/traffic/useBuildRoute.js +4 -4
- package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
- package/dist/esm/components/Map/visibleArea.d.ts +3 -3
- package/dist/esm/components/Map/visibleArea.js +1 -1
- package/dist/esm/components/MarketMaterialList.js +1 -1
- package/dist/esm/components/Overlay.js +1 -1
- package/dist/esm/components/OverlayGrip.d.ts +0 -1
- package/dist/esm/components/OverlayGrip.js +1 -1
- package/dist/esm/components/Share.js +1 -1
- package/dist/esm/components/Shortcuts/ShortcutButton.js +1 -1
- package/dist/esm/components/Shortcuts/ShortcutsFiltersButton.js +1 -1
- package/dist/esm/components/ViewerMenuPanel.js +1 -1
- package/dist/esm/components/WayInformation.js +1 -1
- package/dist/esm/components/WayfindingFloorSelector.js +1 -1
- package/dist/esm/components/YahRow.js +1 -1
- package/dist/esm/floorplan.loader.js +1 -1
- package/dist/esm/floorplan.ready.js +1 -1
- package/dist/esm/intercom/bootIntercom.d.ts +3 -0
- package/dist/esm/intercom/bootIntercom.js +19 -0
- package/dist/esm/intercom/index.d.ts +3 -0
- package/dist/esm/intercom/index.js +1 -0
- package/dist/esm/intercom/shouldLoad.d.ts +4 -0
- package/dist/esm/intercom/shouldLoad.js +1 -0
- package/dist/esm/intercom/types.d.ts +6 -0
- package/dist/esm/intercom/types.js +1 -0
- package/dist/esm/renderer/RendererService.js +1 -1
- package/dist/esm/renderer/engine-core/defs.d.ts +7 -1
- package/dist/esm/renderer/engine-core/defs.js +3 -3
- package/dist/esm/store/SearchButtonsStore.d.ts +1 -1
- package/dist/esm/store/SearchStore.d.ts +1 -1
- package/dist/esm/store/SearchStore.js +1 -1
- package/dist/esm/store/UIState.d.ts +1 -1
- package/dist/esm/store/UIState.js +1 -1
- package/dist/esm/store/init/init-heatmap.js +1 -1
- package/dist/esm/store/init/init-ui.js +1 -1
- package/package.json +4 -4
- package/dist/browser/SetKioskMode-B4WkaonJ.js +0 -49
- package/dist/browser/ShowKiosk-CwQsYu6G.js +0 -26
- package/dist/esm/tools/intercom.d.ts +0 -12
- package/dist/esm/tools/intercom.js +0 -19
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.1.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.1.4" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "366e3673-c350-4f8b-b0f3-9cc93894014c", e._sentryDebugIdIdentifier = "sentry-dbid-366e3673-c350-4f8b-b0f3-9cc93894014c");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./chunk-
|
|
10
|
-
import { t } from "./jsx-runtime-
|
|
11
|
-
import { t as n } from "./settings-
|
|
12
|
-
import { t as r } from "./add-debug-secret-listener-
|
|
9
|
+
import { r as e } from "./chunk-CilcQ-DK.js";
|
|
10
|
+
import { t } from "./jsx-runtime-DDrJF8xL.js";
|
|
11
|
+
import { t as n } from "./settings-DYv1eHiY.js";
|
|
12
|
+
import { t as r } from "./add-debug-secret-listener-s_Acfb_j.js";
|
|
13
13
|
//#region ../debug/src/lib/ui/render-debug-ui.tsx
|
|
14
14
|
var i = t(), a = !1;
|
|
15
15
|
function o() {
|
|
16
16
|
if (a) return;
|
|
17
17
|
a = !0;
|
|
18
18
|
let t = n("Show Debug Button Overlay"), o = async (n) => {
|
|
19
|
-
let { DebugUi: r } = await import("./debug-ui-
|
|
19
|
+
let { DebugUi: r } = await import("./debug-ui-DouD3wg5.js"), { createRoot: a } = await import("./client-CfMi8siJ.js").then((t) => /* @__PURE__ */ e(t.default, 1)), o = document.createElement("div");
|
|
20
20
|
document.body.appendChild(o), a(o).render(/* @__PURE__ */ (0, i.jsx)(r, {
|
|
21
21
|
useDebugButtonState: t.useState,
|
|
22
22
|
open: n
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r,jsxs as
|
|
1
|
+
import{jsx as r,jsxs as t}from"react/jsx-runtime";import a from"classnames";import"./Alert.scss";import{t as i}from"../utils/i18n";const u=({children:o,position:l,variant:e="info",inline:c=!1,showIcon:n=!0,size:d="md",closable:f=!1,title:s,onClose:m})=>{const p=()=>{switch(e){case"error":return"icon-close-solid";case"success":return"icon-checkmark-solid";case"warning":return"icon-warning-solid";default:return"icon-info-solid"}};return t("div",{className:a("efp-alert",`efp-alert--${e} efp-alert--${d}`,{isInline:c,[`efp-alert--${l}`]:l}),role:e==="error"||e==="warning"?"alert":"status","aria-live":e==="error"||e==="warning"?"assertive":"polite",children:[n&&r("div",{className:"efp-alert__icon",children:r("i",{className:a(p()),"aria-hidden":"true"})}),t("div",{className:"efp-alert__content",children:[s&&r("div",{className:"efp-alert__title",children:s}),o]}),f&&r("button",{type:"button",className:"efp-alert__close",onClick:m,"aria-label":i("Close alert"),title:i("Close alert")})]})};export default u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as i,jsxs as j,Fragment as te}from"react/jsx-runtime";import ne from"classnames";import{useEffect as W,useRef as b,useState as p}from"react";import{createPortal as oe}from"react-dom";import re from"../utils/useOnClickOutside";import{useRenderTarget as se}from"../utils/useRenderTarget";import"./Autocomplete.scss";import{t as ce}from"../utils/i18n";const O={ENTER:13,ESCAPE:27,ARROW_UP:38,ARROW_DOWN:40,DELETE:46},le=({placeholder:B,options:c,value:r="",showClear:T=!1,onChange:K})=>{const k=se(),g=b(null),m=b(null),L=b(null),d=b(!1),P=e=>typeof e=="object"&&"value"in e&&"label"in e,E=e=>P(e)?e.value:e,w=e=>P(e)?e.label:e,x=e=>c.findIndex(t=>E(t)===e),S=e=>c.find(t=>E(t)===e),U=()=>{if(!r)return"";const e=S(r);return e?w(e):""},[l,D]=p([]),[_,I]=p(U()),[F,v]=p(r?x(r):null),[n,u]=p(F),[s,a]=p(!1),[A,R]=p(""),[y,$]=p({top:0,left:0,width:0}),h=()=>{if(g.current&&s){const e=g.current.getBoundingClientRect();$({top:e.bottom+window.scrollY+4,left:e.left+window.scrollX,width:e.width})}};W(()=>{if(s)return h(),window.addEventListener("scroll",h,!0),window.addEventListener("resize",h),()=>{window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h)}},[s]),re([g,L],()=>{a(!1)});const N=e=>{const t=S(e);I(t?w(t):""),R(""),D([]),K?.(e)};W(()=>{if(d.current){d.current=!1;return}const e=r?x(r):-1,t=e>=0?c[e]:null;v(e>=0?e:null),u(e>=0?e:null),I(t?w(t):""),R(""),D([])},[r,c]);const z=e=>{const t=x(e);d.current=!0,N(e),v(t),u(t),a(!1),m.current?.blur()},M=e=>{e.preventDefault(),e.stopPropagation();const t=e.currentTarget,o=t.getAttribute("data-value")||t.innerText;D([]),z(o)},V=(e=!1)=>{N(""),v(null),u(null),e&&m.current?.focus()},Y=()=>{a(!0)},X=()=>{setTimeout(()=>{if(d.current){d.current=!1;return}!_&&r&&N(r)},200)},q=()=>{if(!_&&n===null||A&&n===null)return;d.current=!0;const e=l.length>0?l:c;if(n!==null&&e[n]){const t=e[n],o=E(t),f=x(o);N(o),v(f),u(f)}a(!1),m.current?.blur()},G=()=>{!s||n===0||n===null||u(n-1)},H=()=>{if(!s){a(!0);return}const e=l.length>0?l:c,t=n===null?0:n+1;t<e.length&&u(t)},J=e=>{switch(e.keyCode){case O.ENTER:q();break;case O.ARROW_UP:G();break;case O.ARROW_DOWN:H();break;case O.DELETE:V(!0);break;case O.ESCAPE:A||(e.preventDefault(),a(!1),m.current?.blur());break}},Q=e=>{const t=e.target.value,o=t.toLowerCase(),f=t?c.filter(C=>w(C).toLowerCase().includes(o)):[];a(!0),I(t),R(t),u(null),D(f)},Z=()=>{const e=l.length>0?l:c;return A&&l.length===0?i("div",{className:"efp-autocomplete__empty",children:ce("No options")}):i("ul",{children:e.map((t,o)=>{const f=o===n,C=l.length===0&&o===F;return i("li",{className:f?"is-focus":C?"is-active":void 0,"data-value":E(t),onMouseDown:ee=>ee.preventDefault(),onClick:M,children:w(t)},o)})})};return j(te,{children:[i("div",{ref:g,className:ne("efp-autocomplete",{"is-open":s,"with-clear":s&&T}),children:j("div",{className:"efp-autocomplete__inner",children:[i("input",{type:"search",className:"efp-autocomplete__input",onChange:Q,onFocus:Y,onBlur:X,onKeyDown:J,value:_,placeholder:B,ref:m}),T&&s&&_&&i("div",{className:"efp-autocomplete__clear",onMouseDown:e=>{e.preventDefault(),V(!0)}})]})}),s&&k&&oe(i("div",{ref:L,className:"efp-autocomplete-options",style:{top:`${y.top}px`,left:`${y.left}px`,width:`${y.width}px`},children:i("div",{className:"efp-autocomplete-options__scroll",children:Z()})}),k)]})};export default le;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import{observer as u,useLocalStore as C}from"mobx-react-lite";import{t as a}from"../utils/i18n";import{Modal as I,MultiSelectGroups as S}from"./";export const BaseFilterModal=u(({store:t,rootStore:r,title:o,groups:s})=>{const i=C(()=>({get pendingSelectedIds(){return t.state.pendingItems.map(e=>e.id)},get totalItemsCount(){return t.state.pendingItems.length===0?t.getFilteredItems().length:r.exhibitorStore.exhibitors.filter(e=>e.categories.some(l=>t.state.pendingItems.some(n=>n.id===l.id))).length},get allCategories(){return s.flatMap(e=>e.items)},get isAllSelected(){return this.allCategories.every(e=>this.pendingSelectedIds.includes(e.id))},get isPartiallySelected(){const e=this.allCategories.filter(l=>this.pendingSelectedIds.includes(l.id)).length;return e>0&&e<this.allCategories.length},get totalCategoriesCount(){return this.allCategories.length}})),g=e=>{const l=s.flatMap(n=>n.items).filter(n=>e.includes(n.id));t.setPendingItems(l)},c=()=>{t.applyFilter()},h=()=>{t.closeFilter()},m=()=>{t.clearPendingItems()},f=e=>{const l=i.allCategories;t.setPendingItems(e?l:[])},p=()=>t.state.isOpen;return d(I,{open:t.state.isOpen,title:o,onClickClose:h,footerLeft:[{label:a("Clear all"),onClick:m,variant:"gray",disabled:i.pendingSelectedIds.length===0}],footerRight:[{label:i.pendingSelectedIds.length>0?a("Show #{{count}}# Matching Exhibitors",{count:i.totalItemsCount}):a("Show All Exhibitors"),onClick:c,variant:"primary",withBadge:!0,disabled:!p()}],children:d(S,{groups:s,selectedIds:i.pendingSelectedIds,variant:"categories",onChange:g,itemCountProvider:e=>r.categoryStore.categoryById.get(Number(e.id))?.exhibitors?.length||0})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as
|
|
1
|
+
import{jsx as e,Fragment as b,jsxs as a}from"react/jsx-runtime";import r from"classnames";import p from"./HighlightText";import"./EntityItem.scss";import{t as c}from"../utils/i18n";const F=["booth","exhibitor","event","speaker","category"],H=l=>/^\d+$/.test(l),L=({id:l,type:i,url:S,title:s,icon:v,subtitle:n,date:d,time:m,itemsCount:f,image:h,additionalInfo:y=[],bookmarked:T=!1,featured:N=!1,locationTerm:A="Booth",visited:g,onClick:o,highlighted:x=!1,heatmapColor:_,heatmapClicks:I,rebookingColor:u,kioskMode:j=!1,compactDetails:E,foundInDescription:k})=>{const $=F.includes(i)?i:"other";return e("div",{role:"button",className:r("efp-entity-item",{"is-featured":N,"is-visited":g,"is-highlighted":x,"has-heatmap":!!_,"is-speaker":i==="speaker"}),"aria-label":s,tabIndex:0,"aria-pressed":x||void 0,onClick:()=>o&&o(i,l),onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),o?.(i,l))},style:{"--item-type-color":`var(--color-${$})`,..._&&{"--heatmap-color":_},...u?{borderLeft:`5px solid ${u}`}:{}},children:a("div",{className:"efp-entity-item__body",children:[a("div",{className:"efp-entity-item__left",children:[e("div",{className:"efp-entity-item__icon",children:v?e("img",{src:v,alt:s}):e("i",{className:`icon-${i}-solid`,"aria-hidden":"true"})}),!j&&a(b,{children:[g&&e("div",{className:"efp-entity-item__visited",children:e("i",{className:"icon-checkmark"})}),T&&e("i",{className:r("efp-entity-item__bookmarked","icon-bookmark-solid")})]})]}),a("div",{className:"efp-entity-item__right",children:[a("div",{className:r("efp-entity-item__content",{"with-image":h}),children:[a("div",{className:"efp-entity-item__header",children:[a("div",{className:"efp-entity-item__title",children:[e(p,{text:s}),k&&e("div",{className:"efp-entity-item__description",children:e(p,{text:k})}),i==="category"&&e("span",{children:f!==void 0&&f})]}),N&&e("div",{className:"efp-entity-item__featured",children:c("Featured")})]}),(i==="event"||i==="category"||n)&&a("div",{className:"efp-entity-item__subtitle",children:[i==="event"&&(d||m)&&a("div",{className:"efp-entity-item__datetime",children:[d&&e("strong",{children:d}),m&&e("span",{children:m})]}),i==="category"&&e("span",{children:c("Category")}),n&&e("div",{children:n})]}),!!y.length&&i!=="booth"&&e("ul",{className:r("efp-entity-item__details",{"compact-details":E}),children:y.map((t,w)=>a("li",{className:"efp-entity-item__details-item",children:[t.type==="location"&&a(b,{children:[i!=="category"&&i!=="booth"&&e("div",{className:"efp-entity-item__details-item-booth",children:e(p,{text:t.locationName})}),t.hall&&a("div",{children:[c("Hall"),"\xA0",e("span",{children:t.hall})]}),t.level&&a("div",{children:[H(t.level)&&a("span",{children:[c("Level"),"\xA0"]}),e("span",{children:t.level})]})]}),(t.type==="event"||t.type==="speaker")&&e("span",{children:t.text})]},w))})]}),h&&e("div",{className:"efp-entity-item__image",children:e("img",{src:h,alt:s})})]})]})})};export default L;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as c}from"react/jsx-runtime";import{observer as
|
|
1
|
+
import{jsx as c}from"react/jsx-runtime";import{observer as x}from"mobx-react-lite";import{Suspense as v,lazy as C,useEffect as T,useRef as L,useCallback as E,useContext as w}from"react";import e,{uiState as t}from"../store";import R from"../tools/settings";import P from"./EntityListRow";import{OverlayScrollContext as O}from"./Overlay";import"./EntityList.scss";import H from"./LayersLoading";import{t as I}from"../utils/i18n";const g=()=>import("react-virtuoso").then(r=>({default:r.Virtuoso})).catch(()=>new Promise(r=>setTimeout(()=>r(g()),3e3))),V=C(g),_=["ipia2025"],z=({updatedScrollableRef:r,updateScroll:m})=>{const f=w(O),a=L(null),S=t.getListScrollItemId(t.list.type),b=_.includes(R.EXPO);T(()=>{const n=t.getListScrollTop(t.list.type),l=t.getListScrollItemId(t.list.type);(n>0||l)&&setTimeout(()=>{if(a.current){if(l){const o=t.listItems.findIndex(s=>s?.id?.toString()===l.toString());if(o!==-1){a.current.scrollToIndex({index:o,align:"center",behavior:"auto"});return}}n>0&&a.current.scrollTo({top:n,behavior:"auto"})}},100)},[t.list.type]);const u=t.showRouteInstantly,y=E((n,l)=>{const o=parseInt(l,10);switch(t.setListScrollItemId(t.list?.type,o),a.current?a.current.getState(s=>{const h=s?.scrollTop||0;t.setListScrollTop(t.list?.type,h)}):r.current&&t.setListScrollTop(t.list?.type,r.current.scrollTop||0),n){case"exhibitor":const s=e.exhibitorStore.exhibitors.find(i=>i.id===o);u?e.routeStore.clickRoute(null,e.routeStore.tempToBooth||s.booths[0]):e.clickExhibitor(s);break;case"booth":const h=e.boothStore.booths.find(i=>i.id===o);u?e.routeStore.clickRoute(null,h):e.clickBoothInList2(h);break;case"category":e.clickCategory(e.categoryStore.categories.find(i=>i.id===o));break;case"event":const d=e.eventStore.eventItems.find(i=>i.id===o);if(d){const i=e.boothStore.booths.find(p=>p.id===d.boothId);u&&i?e.routeStore.clickRoute(null,i):e.selectEventItem(d,!0)}break;case"speaker":{const i=e.speakerStore.speakers.find(p=>p.id===o);i&&e.selectSpeaker(i,!0);break}}},[u,r]),k=()=>c("div",{className:"list-empty",children:t.list.type==="search"?I("Oops, nothing found"):I("No items to show")});return f===null||t.setKioskModeEnabled?null:t.listItems.length?c("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:c(v,{fallback:c(H,{active:!0,isCenter:!0}),children:c(V,{ref:a,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:(n,l)=>{const o=l;if(!o)return null;const s=S?.toString()===o.id?.toString();return c(P,{item:o,index:n,highlighted:s,compactDetails:b,onClick:y},o.id)},itemsRendered:()=>m&&setTimeout(m),totalListHeightChanged:()=>m&&m(),customScrollParent:f,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialItemCount:Math.min(t.listScrollIndex+30,t.listItems.length)})})}):c(k,{})};export default x(z);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as i,Fragment as f,jsxs as g}from"react/jsx-runtime";import{useState as p,useEffect as v}from"react";import u from"classnames";import{calculateTimeUntilStart as h,formatTimeUntilStart as S,getEventStatus as w}from"../utils/eventTime";import{shouldShowEventFullBadge as E}from"../utils/eventFullBadge";import"./EventBadge.scss";import{t as e}from"../utils/i18n";const x=({event:n,className:s=""})=>{const[a,c]=p(()=>Date.now());v(()=>{const d=setInterval(()=>{c(Date.now())},1e3);return()=>clearInterval(d)},[]);const r=h(n.startDate,a),t=w(n,a,r),m=()=>{switch(t){case"live":return e("LIVE");case"upcoming":return e("UPCOMING");case"starting-soon":return S(r);case"past":return e("PAST");default:return null}},o=E(n),l=t!=="none"?i("div",{className:u("efp-event-badge",`efp-event-badge--${t}`,{"is-urgent":t==="starting-soon"&&r.isLessThan10Minutes},s),children:m()}):null;return!l&&!o?null:g(f,{children:[l,o&&i("div",{className:u("efp-event-badge","efp-event-badge--full",s),children:e("EVENT IS FULL")})]})};export default x;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i,jsxs as a,Fragment as C}from"react/jsx-runtime";import p from"classnames";import{useLocalStore as Z,useObserver as T}from"mobx-react-lite";import ee,{Suspense as O,useRef as y,useState as I,useEffect as ie}from"react";import f from"../data";import l,{uiState as r}from"../store";import{RegularBooth as te}from"../store/BoothStore";import{GaEventActions as d,sendEventToGa as D}from"../tools/gtag";import oe from"../tools/logger";import S from"../tools/settings";import{t as m,getLocale as re}from"../utils/i18n";import ne from"../utils/is-mobile";import{useReaction as ae}from"../utils/mobx";import U from"./Button";import G from"./ErrorBoundary";import"./Exhibitor.scss";import se from"./MarketMaterialList";import le from"./RebookingNotes";import ce,{defaultRebookingOptions as de}from"./RebookingRadioGroup";import he from"./Schedule";import me from"./SidebarActions";import ue from"../utils/useHeatmapOverlay";import be from"./Alert";import{Transition as ke}from"react-transition-group";const z=ee.lazy(()=>import("./Gallery/Gallery"));function ge(){const w=y(),o=Z(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return r.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return r.kiosk?!1:!!["facebook","instagram","linkedin","twitter","googlePlus","xing","youtube"].find(e=>this.exhibitor[e])},get anyAddress(){return!!["address","address2","phone1","website","email"].find(e=>this.exhibitor[e])},get anyMedia(){return!!this.exhibitor.videoUrl||!!(this.exhibitor.gallery&&this.exhibitor.gallery.length)},get anyButtons(){return!!(this.exhibitor.customButtonTitle||this.exhibitor.customButton2Title||this.exhibitor.customButton3Title)},get disableCollapse(){return!this.anySocial&&!this.anyAddress&&!this.anyMedia&&!this.anyButtons||r.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(f.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=ue(o.exhibitor),[x,M]=I(!1),[_,B]=I(!1),v=y(null);ie(()=>((()=>{if(v.current){const c=v.current.offsetHeight;M(c>300)}})(),()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}),[]),ae(()=>o.exhibitor,()=>{w.current&&(w.current.parentElement.scrollTop=0),o.collapsed=!0});function N(e,c){if(u(c),r.kiosk)return e.preventDefault()}function H(e,c,h){D(d.ClickCustomButton,o.exhibitor.name);const b={externalId:o.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:h.preventDefault.bind(h)};r.onExhibitorCustomButtonClick&&r.onExhibitorCustomButtonClick(b)}function u(e){D(e,o.exhibitor.name)}const E=y(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},L=150;return T(()=>{const e=o.exhibitor,c=f.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof te&&s.size&&t.add(s.size);const n=Array.from(t);return a("div",{children:[n.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:a("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),a("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:m("Size")}),i("div",{className:"booth__info-val",children:n.join(", ")})]})]})}),i(ce,{showTitle:!1,options:de,checked:e.rebookingState.toString(),onChange:s=>l.exhibitorStore.setRebookingState(e,parseInt(s.target.value),e.rebookingNote)}),i(le,{state:"default",value:e.rebookingNote||"",onClickSave:s=>l.exhibitorStore.setRebookingState(e,e.rebookingState,s)}),i(ke,{in:l.exhibitorStore.rebookingStateChangeRequested,nodeRef:E,timeout:L,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:E,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${L}ms ease-in-out`,opacity:0,...V[s]},children:i(be,{title:l.exhibitorStore.rebookingStateSaved?m("Changes saved"):m("Oops! Something went wrong"),variant:l.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,h=p({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[r.responsiveClass]:!0}),b=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function k(t,n,s){return!t||!n||r.kiosk||r.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(U,{link:n,inline:!0,onClick:g=>{H(s,n,g)},target:"_blank",children:t})},s)}const W=({exhibitor:t})=>{const s=[k(t.customButtonTitle,t.customButtonUrl,1),k(t.customButton2Title,t.customButton2Url,2),k(t.customButton3Title,t.customButton3Url,3)].filter(Boolean);return s.length===0?null:i("div",{className:"exhibitor-custom-buttons",children:s})};function X(t){if(t===null)return"";const n=t.split(RegExp("(?=!\\*\\/\\/\\|\\|\\^\\^[a-z]{2}\\^\\^\\/\\/\\|\\|\\*!)")),s=`!*//||^^${re()}^^//||*!`,g=n.find(Q=>Q.startsWith(s));return g!=null?g.substring(18):n[0].startsWith("!*//||^^")&&n[0].length>18?n[0].substring(18):n[0]}function K(){return!f.hideShareButton&&!r.kiosk&&window.location.host.endsWith(".expofp.com")&&S.EXPO!=="globalaltsmiami2024"}function R(){o.updateOverlayContent()}const J=t=>/^\d+$/.test(t),Y=t=>f.shortLevelName?t.layer?.shortName:t.layer?.description;return a("div",{className:h,"aria-label":m("Details"),children:[a("div",{className:"exhibitor__header",children:[a("div",{className:"exhibitor__header-name",children:[i("div",{className:"exhibitor__header-icon",children:i("i",{className:"icon-exhibitor-solid"})}),i("span",{dir:"auto",children:e.name}),A]}),i("button",{type:"button",onClick:()=>l.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||a(C,{children:[i("div",{className:"exhibitor__buttons",children:!r.isGuidedToursActive&&i(me,{showBookmark:!r.disableBookmarked&&!f.hideBookmarks&&!r.kiosk,showDirections:e.booths.length>0&&S.wayfinding,inBookmark:o.exhibitor.bookmarked,showShare:K(),showVisited:!r.kiosk,visited:o.exhibitor.visited,onClickBookmark:$,onClickShare:P,onClickDirections:()=>{l.routeStore.clickRoute(null,l.routeStore.tempToBooth||e.booths[0])},onClickVisited:F})}),e.leadingImageUrl?i("div",{className:"exhibitor__leading-image-container exhibitor-slider",children:e.leadingImageLinkUrl?i("a",{href:e.leadingImageLinkUrl,target:"_blank",rel:"noopener noreferrer",children:i("img",{src:e.leadingImageUrl,className:"exhibitor__leading-image",alt:"",crossOrigin:"anonymous"})}):i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,leading:!0,images:[e.leadingImageUrl]})})})}):null,a("div",{className:p("exhibitor__details",{"details-hidden":r.kiosk&&x&&!_}),ref:v,children:[a("div",{className:p("exhibitor-categories",{"is-links-disabled":r.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:"Featured"}),e.booths.map(t=>{const n=Y(t),s=g=>{g.preventDefault(),l.toggleMapOverlay(),l.selectBooth(t)};return a("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),n&&a("div",{className:"exhibitor-categories__booth-level",children:[J(n)?"Level ":"",n]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:n=>{n.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?a("div",{className:p("exhibitor-description",{collapsed:o.collapsed&&!o.disableCollapse}),children:[e.logo?i("div",{className:p("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:X(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(he,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,n)=>new Date(t.startDate).getTime()-new Date(n.startDate).getTime())}),!r.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:m("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(d.ViewGallery),children:i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,images:e.gallery})})})}),!r.kiosk&&e.marketMaterials&&a(C,{children:[i("div",{className:"exhibitor-sep"}),i(se,{list:e.marketMaterials})]}),o.showEdit&&i("div",{className:"exhibitor-sep"}),!r.kiosk&&o.showEdit&&i("div",{className:"exhibitor-edit",children:i(U,{size:"sm",variant:"secondary",onClick:q,children:m("Edit")})}),o.anyAddress&&a("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),a("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&a("div",{children:[e.city,!!(e.city&&e.state)&&i("span",{children:" "}),e.state,!!(e.state&&e.zip)&&i("span",{children:"\xA0"})," ",e.zip]}),!!e.country&&i("div",{children:e.country})]})]}),!!e.phone1&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-phone-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{dir:"ltr",href:"tel:"+e.phone1,className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickPhone),children:e.phone1})})]}),!!e.website&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-globe-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickWebsite),children:o.websiteTrimmed})})]}),!!e.email&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-mail-at-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:"mailto:"+e.email,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickEmail),children:e.email})})]}),o.anySocial&&a("div",{className:"exhibitor-meta__socials",children:[i("a",{href:e.facebook,className:"exhibitor-meta__social",onClick:()=>u(d.ClickFacebook),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-facebook"})}),i("a",{href:e.instagram,className:"exhibitor-meta__social",onClick:()=>u(d.ClickInstagaram),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-instagram"})}),i("a",{href:e.linkedin,className:"exhibitor-meta__social",onClick:()=>u(d.ClickLinkedin),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-linkedin"})}),i("a",{href:e.twitter,className:"exhibitor-meta__social",onClick:()=>u(d.ClickTwitter),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-twitter-x"})}),i("a",{href:e.xing,className:"exhibitor-meta__social",onClick:()=>u(d.ClickXing),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-xing"})}),i("a",{href:e.youtube,className:"exhibitor-meta__social",onClick:()=>u(d.ClickYoutube),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-youtube"})})]})]}),i(W,{exhibitor:e})]}),r.kiosk&&x&&!_?i("div",{className:"show-details-button",children:i("button",{type:"button",onClick:()=>B(!0),children:m("Show More")})}):null]}),r.kiosk&&x&&_?i("button",{type:"button",className:"hide-details-button",onClick:()=>B(!1),children:i("i",{className:"icon-chevron-up-narrow"})}):null]})});function P(){const e=window.navigator,c={title:r.selectedExhibitor.name,url:window.location.href};ne&&e?.canShare&&e.canShare(c)?e.share(c):l.toggleModal("share")}function j(e){l.clickCategory(e)}function q(e){if(r.kiosk)return e.preventDefault();e.target.blur();const c=o.sendLinkEmail;if(!window.confirm(m("Send login instructions to {{email}} to edit profile?",{email:c}))||S.EXPO==="expo")return;const h=new XMLHttpRequest;h.open("POST",f.sendLoginLinkUrl),h.setRequestHeader("Content-Type","application/json");function b(){alert(m("Error sending login instructions"))}h.onload=function(k){if(this.status!==200){b();return}alert(m("A link to edit profile was sent to {{email}}",{email:c}))},h.onerror=function(k){oe.error("Error",k),b()},h.send(JSON.stringify({id:o.exhibitor.id}))}function $(){o.exhibitor.bookmarked=!o.exhibitor.bookmarked,r.onBookmarkClick&&r.onBookmarkClick({name:o.exhibitor.name,bookmarked:o.exhibitor.bookmarked,externalId:o.exhibitor.externalId})}function F(){o.exhibitor.visited=!o.exhibitor.visited,r.onVisitedClick&&r.onVisitedClick({name:o.exhibitor.name,visited:o.exhibitor.visited,externalId:o.exhibitor.externalId})}}export default()=>T(()=>i(C,{children:!r.menu&&r.selectedExhibitor?i(ge,{}):null}));
|
|
1
|
+
import{jsx as i,jsxs as a,Fragment as C}from"react/jsx-runtime";import p from"classnames";import{useLocalStore as Z,useObserver as T}from"mobx-react-lite";import ee,{Suspense as O,useRef as y,useState as I,useEffect as ie}from"react";import f from"../data";import l,{uiState as r}from"../store";import{RegularBooth as te}from"../store/BoothStore";import{GaEventActions as h,sendEventToGa as D}from"../tools/gtag";import oe from"../tools/logger";import S from"../tools/settings";import{t as d,getLocale as re}from"../utils/i18n";import ne from"../utils/is-mobile";import{useReaction as ae}from"../utils/mobx";import U from"./Button";import G from"./ErrorBoundary";import"./Exhibitor.scss";import se from"./MarketMaterialList";import le from"./RebookingNotes";import ce,{defaultRebookingOptions as de}from"./RebookingRadioGroup";import he from"./Schedule";import me from"./SidebarActions";import ue from"../utils/useHeatmapOverlay";import be from"./Alert";import{Transition as ke}from"react-transition-group";const z=ee.lazy(()=>import("./Gallery/Gallery"));function ge(){const w=y(),o=Z(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return r.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return r.kiosk?!1:!!["facebook","instagram","linkedin","twitter","googlePlus","xing","youtube"].find(e=>this.exhibitor[e])},get anyAddress(){return!!["address","address2","phone1","website","email"].find(e=>this.exhibitor[e])},get anyMedia(){return!!this.exhibitor.videoUrl||!!(this.exhibitor.gallery&&this.exhibitor.gallery.length)},get anyButtons(){return!!(this.exhibitor.customButtonTitle||this.exhibitor.customButton2Title||this.exhibitor.customButton3Title)},get disableCollapse(){return!this.anySocial&&!this.anyAddress&&!this.anyMedia&&!this.anyButtons||r.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(f.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=ue(o.exhibitor),[x,M]=I(!1),[_,B]=I(!1),v=y(null);ie(()=>((()=>{if(v.current){const c=v.current.offsetHeight;M(c>300)}})(),()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}),[]),ae(()=>o.exhibitor,()=>{w.current&&(w.current.parentElement.scrollTop=0),o.collapsed=!0});function N(e,c){if(u(c),r.kiosk)return e.preventDefault()}function H(e,c,m){D(h.ClickCustomButton,o.exhibitor.name);const b={externalId:o.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:m.preventDefault.bind(m)};r.onExhibitorCustomButtonClick&&r.onExhibitorCustomButtonClick(b)}function u(e){D(e,o.exhibitor.name)}const E=y(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},L=150;return T(()=>{const e=o.exhibitor,c=f.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof te&&s.size&&t.add(s.size);const n=Array.from(t);return a("div",{children:[n.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:a("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),a("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:d("Size")}),i("div",{className:"booth__info-val",children:n.join(", ")})]})]})}),i(ce,{showTitle:!1,options:de,checked:e.rebookingState.toString(),onChange:s=>l.exhibitorStore.setRebookingState(e,parseInt(s.target.value),e.rebookingNote)}),i(le,{state:"default",value:e.rebookingNote||"",onClickSave:s=>l.exhibitorStore.setRebookingState(e,e.rebookingState,s)}),i(ke,{in:l.exhibitorStore.rebookingStateChangeRequested,nodeRef:E,timeout:L,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:E,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${L}ms ease-in-out`,opacity:0,...V[s]},children:i(be,{title:l.exhibitorStore.rebookingStateSaved?d("Changes saved"):d("Oops! Something went wrong"),variant:l.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,m=p({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[r.responsiveClass]:!0}),b=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function k(t,n,s){return!t||!n||r.kiosk||r.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(U,{link:n,inline:!0,onClick:g=>{H(s,n,g)},target:"_blank",children:t})},s)}const W=({exhibitor:t})=>{const s=[k(t.customButtonTitle,t.customButtonUrl,1),k(t.customButton2Title,t.customButton2Url,2),k(t.customButton3Title,t.customButton3Url,3)].filter(Boolean);return s.length===0?null:i("div",{className:"exhibitor-custom-buttons",children:s})};function X(t){if(t===null)return"";const n=t.split(RegExp("(?=!\\*\\/\\/\\|\\|\\^\\^[a-z]{2}\\^\\^\\/\\/\\|\\|\\*!)")),s=`!*//||^^${re()}^^//||*!`,g=n.find(Q=>Q.startsWith(s));return g!=null?g.substring(18):n[0].startsWith("!*//||^^")&&n[0].length>18?n[0].substring(18):n[0]}function K(){return!f.hideShareButton&&!r.kiosk&&window.location.host.endsWith(".expofp.com")&&S.EXPO!=="globalaltsmiami2024"}function R(){o.updateOverlayContent()}const J=t=>/^\d+$/.test(t),Y=t=>f.shortLevelName?t.layer?.shortName:t.layer?.description;return a("div",{className:m,"aria-label":d("Details"),children:[a("div",{className:"exhibitor__header",children:[a("div",{className:"exhibitor__header-name",children:[i("div",{className:"exhibitor__header-icon",children:i("i",{className:"icon-exhibitor-solid"})}),i("span",{dir:"auto",children:e.name}),A]}),i("button",{type:"button",onClick:()=>l.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||a(C,{children:[i("div",{className:"exhibitor__buttons",children:!r.isGuidedToursActive&&i(me,{showBookmark:!r.disableBookmarked&&!f.hideBookmarks&&!r.kiosk,showDirections:e.booths.length>0&&S.wayfinding,inBookmark:o.exhibitor.bookmarked,showShare:K(),showVisited:!r.kiosk,visited:o.exhibitor.visited,onClickBookmark:$,onClickShare:P,onClickDirections:()=>{l.routeStore.clickRoute(null,l.routeStore.tempToBooth||e.booths[0])},onClickVisited:F})}),e.leadingImageUrl?i("div",{className:"exhibitor__leading-image-container exhibitor-slider",children:e.leadingImageLinkUrl?i("a",{href:e.leadingImageLinkUrl,target:"_blank",rel:"noopener noreferrer",children:i("img",{src:e.leadingImageUrl,className:"exhibitor__leading-image",alt:"",crossOrigin:"anonymous"})}):i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,leading:!0,images:[e.leadingImageUrl]})})})}):null,a("div",{className:p("exhibitor__details",{"details-hidden":r.kiosk&&x&&!_}),ref:v,children:[a("div",{className:p("exhibitor-categories",{"is-links-disabled":r.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:d("Featured")}),e.booths.map(t=>{const n=Y(t),s=g=>{g.preventDefault(),l.toggleMapOverlay(),l.selectBooth(t)};return a("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),n&&a("div",{className:"exhibitor-categories__booth-level",children:[J(n)?d("Level")+" ":"",n]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:n=>{n.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?a("div",{className:p("exhibitor-description",{collapsed:o.collapsed&&!o.disableCollapse}),children:[e.logo?i("div",{className:p("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:X(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(he,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,n)=>new Date(t.startDate).getTime()-new Date(n.startDate).getTime())}),!r.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:d("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(h.ViewGallery),children:i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,images:e.gallery})})})}),!r.kiosk&&e.marketMaterials&&a(C,{children:[i("div",{className:"exhibitor-sep"}),i(se,{list:e.marketMaterials})]}),o.showEdit&&i("div",{className:"exhibitor-sep"}),!r.kiosk&&o.showEdit&&i("div",{className:"exhibitor-edit",children:i(U,{size:"sm",variant:"secondary",onClick:q,children:d("Edit")})}),o.anyAddress&&a("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),a("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&a("div",{children:[e.city,!!(e.city&&e.state)&&i("span",{children:" "}),e.state,!!(e.state&&e.zip)&&i("span",{children:"\xA0"})," ",e.zip]}),!!e.country&&i("div",{children:e.country})]})]}),!!e.phone1&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-phone-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{dir:"ltr",href:"tel:"+e.phone1,className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickPhone),children:e.phone1})})]}),!!e.website&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-globe-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickWebsite),children:o.websiteTrimmed})})]}),!!e.email&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-mail-at-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:"mailto:"+e.email,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickEmail),children:e.email})})]}),o.anySocial&&a("div",{className:"exhibitor-meta__socials",children:[i("a",{href:e.facebook,className:"exhibitor-meta__social",onClick:()=>u(h.ClickFacebook),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-facebook"})}),i("a",{href:e.instagram,className:"exhibitor-meta__social",onClick:()=>u(h.ClickInstagaram),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-instagram"})}),i("a",{href:e.linkedin,className:"exhibitor-meta__social",onClick:()=>u(h.ClickLinkedin),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-linkedin"})}),i("a",{href:e.twitter,className:"exhibitor-meta__social",onClick:()=>u(h.ClickTwitter),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-twitter-x"})}),i("a",{href:e.xing,className:"exhibitor-meta__social",onClick:()=>u(h.ClickXing),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-xing"})}),i("a",{href:e.youtube,className:"exhibitor-meta__social",onClick:()=>u(h.ClickYoutube),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-youtube"})})]})]}),i(W,{exhibitor:e})]}),r.kiosk&&x&&!_?i("div",{className:"show-details-button",children:i("button",{type:"button",onClick:()=>B(!0),children:d("Show More")})}):null]}),r.kiosk&&x&&_?i("button",{type:"button",className:"hide-details-button",onClick:()=>B(!1),children:i("i",{className:"icon-chevron-up-narrow"})}):null]})});function P(){const e=window.navigator,c={title:r.selectedExhibitor.name,url:window.location.href};ne&&e?.canShare&&e.canShare(c)?e.share(c):l.toggleModal("share")}function j(e){l.clickCategory(e)}function q(e){if(r.kiosk)return e.preventDefault();e.target.blur();const c=o.sendLinkEmail;if(!window.confirm(d("Send login instructions to {{email}} to edit profile?",{email:c}))||S.EXPO==="expo")return;const m=new XMLHttpRequest;m.open("POST",f.sendLoginLinkUrl),m.setRequestHeader("Content-Type","application/json");function b(){alert(d("Error sending login instructions"))}m.onload=function(k){if(this.status!==200){b();return}alert(d("A link to edit profile was sent to {{email}}",{email:c}))},m.onerror=function(k){oe.error("Error",k),b()},m.send(JSON.stringify({id:o.exhibitor.id}))}function $(){o.exhibitor.bookmarked=!o.exhibitor.bookmarked,r.onBookmarkClick&&r.onBookmarkClick({name:o.exhibitor.name,bookmarked:o.exhibitor.bookmarked,externalId:o.exhibitor.externalId})}function F(){o.exhibitor.visited=!o.exhibitor.visited,r.onVisitedClick&&r.onVisitedClick({name:o.exhibitor.name,visited:o.exhibitor.visited,externalId:o.exhibitor.externalId})}}export default()=>T(()=>i(C,{children:!r.menu&&r.selectedExhibitor?i(ge,{}):null}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as l,jsxs as c}from"react/jsx-runtime";import{useMemo as n}from"react";import"./HeatmapLegend.scss";import{getColorFromGradient as p}from"../tools/Color";import h from"classnames";import{t as g}from"../utils/i18n";const _=({min:e,max:a,className:i,style:d})=>{const t=n(()=>{const r=a-e;return r<=0?2:Math.min(r+1,5)},[e,a]),s=n(()=>Array.from({length:t},(r,o)=>{const u=o/(t-1);return Math.round(e+(a-e)*u)}),[e,a,t]),m=n(()=>s.map(r=>p(r,e,a)),[s,e,a]);return c("div",{className:h("heatmap-legend",i),style:d,role:"img","aria-label":g("Heatmap intensity scale"),children:[l("div",{className:"heatmap-legend__colors",style:{background:`linear-gradient(to right, ${m.join(", ")})`},"aria-hidden":"true"}),l("div",{className:"heatmap-legend__values",children:s.map((r,o)=>l("span",{className:"heatmap-legend__value","aria-hidden":"true",children:r},o))})]})};export default _;
|
|
@@ -22,8 +22,9 @@ declare class KioskStore {
|
|
|
22
22
|
handleChange(event: any): void;
|
|
23
23
|
initialPtScale: any;
|
|
24
24
|
setInitialPtScale(ptscale: number): void;
|
|
25
|
-
handleClick(
|
|
26
|
-
|
|
25
|
+
handleClick(point: {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
27
28
|
}): void;
|
|
28
29
|
handleNavigationChange(): void;
|
|
29
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__esDecorate as s,__runInitializers as d}from"tslib";import{action as r,computed as u,observable as
|
|
1
|
+
import{__esDecorate as s,__runInitializers as d}from"tslib";import{action as r,computed as u,observable as O,runInAction as j,toJS as c}from"mobx";import{removeKiosk as A,getSavedKiosk as E,saveKiosk as X}from"./SetKiosk";import a from"../../store";import{isPointVisible as Y}from"../Map/visibleArea";import{areLayersEnabled as q}from"../../utils/areLayersEnabled";import{t as m}from"../../utils/i18n";let B=(()=>{let i=[],k,g,S,f,p=[],v=[],_,C,K=[],M=[],b,y,D,P,I,F,z,N,x,T,U,w,R;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;k=[u],g=[r],S=[u],f=[O],_=[u],C=[O],b=[r],y=[r],D=[r],P=[r],I=[r],F=[r],z=[r],N=[r],x=[r],T=[r],U=[r],w=[r],R=[r],s(this,null,k,{kind:"getter",name:"kiosk",static:!1,private:!1,access:{has:e=>"kiosk"in e,get:e=>e.kiosk},metadata:t},null,i),s(this,null,g,{kind:"method",name:"setKiosk",static:!1,private:!1,access:{has:e=>"setKiosk"in e,get:e=>e.setKiosk},metadata:t},null,i),s(this,null,S,{kind:"getter",name:"renderer",static:!1,private:!1,access:{has:e=>"renderer"in e,get:e=>e.renderer},metadata:t},null,i),s(this,null,_,{kind:"getter",name:"hasUnsavedChanges",static:!1,private:!1,access:{has:e=>"hasUnsavedChanges"in e,get:e=>e.hasUnsavedChanges},metadata:t},null,i),s(this,null,b,{kind:"method",name:"addStatusMessage",static:!1,private:!1,access:{has:e=>"addStatusMessage"in e,get:e=>e.addStatusMessage},metadata:t},null,i),s(this,null,y,{kind:"method",name:"clearStatusMessages",static:!1,private:!1,access:{has:e=>"clearStatusMessages"in e,get:e=>e.clearStatusMessages},metadata:t},null,i),s(this,null,D,{kind:"method",name:"startCleanupMessages",static:!1,private:!1,access:{has:e=>"startCleanupMessages"in e,get:e=>e.startCleanupMessages},metadata:t},null,i),s(this,null,P,{kind:"method",name:"resetCamera",static:!1,private:!1,access:{has:e=>"resetCamera"in e,get:e=>e.resetCamera},metadata:t},null,i),s(this,null,I,{kind:"method",name:"restoreData",static:!1,private:!1,access:{has:e=>"restoreData"in e,get:e=>e.restoreData},metadata:t},null,i),s(this,null,F,{kind:"method",name:"handleSetupReady",static:!1,private:!1,access:{has:e=>"handleSetupReady"in e,get:e=>e.handleSetupReady},metadata:t},null,i),s(this,null,z,{kind:"method",name:"handleClose",static:!1,private:!1,access:{has:e=>"handleClose"in e,get:e=>e.handleClose},metadata:t},null,i),s(this,null,N,{kind:"method",name:"handleDelete",static:!1,private:!1,access:{has:e=>"handleDelete"in e,get:e=>e.handleDelete},metadata:t},null,i),s(this,null,x,{kind:"method",name:"handleSave",static:!1,private:!1,access:{has:e=>"handleSave"in e,get:e=>e.handleSave},metadata:t},null,i),s(this,null,T,{kind:"method",name:"handleChange",static:!1,private:!1,access:{has:e=>"handleChange"in e,get:e=>e.handleChange},metadata:t},null,i),s(this,null,U,{kind:"method",name:"setInitialPtScale",static:!1,private:!1,access:{has:e=>"setInitialPtScale"in e,get:e=>e.setInitialPtScale},metadata:t},null,i),s(this,null,w,{kind:"method",name:"handleClick",static:!1,private:!1,access:{has:e=>"handleClick"in e,get:e=>e.handleClick},metadata:t},null,i),s(this,null,R,{kind:"method",name:"handleNavigationChange",static:!1,private:!1,access:{has:e=>"handleNavigationChange"in e,get:e=>e.handleNavigationChange},metadata:t},null,i),s(null,null,f,{kind:"field",name:"savedKiosk",static:!1,private:!1,access:{has:e=>"savedKiosk"in e,get:e=>e.savedKiosk,set:(e,l)=>{e.savedKiosk=l}},metadata:t},p,v),s(null,null,C,{kind:"field",name:"statusMessages",static:!1,private:!1,access:{has:e=>"statusMessages"in e,get:e=>e.statusMessages,set:(e,l)=>{e.statusMessages=l}},metadata:t},K,M),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}get kiosk(){return a.uiState.kioskData}setKiosk(t){a.uiState.setKioskData(t)}get renderer(){return a.rendererService.renderer}getCameraState(){const t=a.rendererService.getCameraState();return t?{mapInitialPtScale:this.initialPtScale,mapPtScale:t.ptScale,mapCenterX:t.center.x,mapCenterY:t.center.y,mapRollDegrees:t.roll,mapPitch:t.pitch}:{}}savedKiosk=(d(this,i),d(this,p,void 0));get hasUnsavedChanges(){const t=this.savedKiosk,e=c(this.kiosk);if(!e||!t)return!!e!=!!t;const l=Object.keys(t),o=Object.keys(e);if(l.length!==o.length)return!0;for(const n of l)if(!(n in e)||t[n]!==e[n])return!0;return!1}statusMessages=(d(this,v),d(this,K,[]));addStatusMessage(t){this.statusMessages=[{...t,id:Date.now()}],this.startCleanupMessages()}clearStatusMessages(){this.statusMessages=[]}statusMessageTimer=(d(this,M),0);startCleanupMessages(){clearTimeout(this.statusMessageTimer),this.statusMessageTimer=window.setTimeout(()=>this.clearStatusMessages(),1e3)}async resetCamera(){const{z:t,mapRollDegrees:e,mapInitialPtScale:l,mapPtScale:o,mapCenterX:n,mapCenterY:h}=this.kiosk||{};await this.renderer.controls.resetCamera({pan:!0,zoom:!0,roll:!0,pitch:!0},!0),j(()=>{Number.isFinite(l)&&Number.isFinite(o)&&o>0&&this.renderer.controls.zoomBy(l/o,!0),Number.isFinite(n)&&Number.isFinite(h)&&this.renderer.controls.panTo(n,h,!0),Number.isFinite(e)&&this.renderer.controls.rollTo(e,!0),t&&a.fp.activateFloor({name:t})})}restoreData(){const t=E();return t&&(this.setKiosk(t),this.savedKiosk=t,a.uiState.kiosk=!0,this.resetCamera()),t}handleSetupReady(){this.restoreData(),a.uiState.kiosk=!0,a.uiState.hideFreeOrDemo=!0,a.uiState.setForceDimm(!0),a.searchStore.setSearchText(""),a.searchStore.setFocused(!1)}handleClose(){this.setKiosk(null),a.uiState.setForceDimm(!1),a.uiState.enableSetKioskMode(!1),a.searchStore.closeSearch(),this.resetCamera()}handleDelete(){A(),this.setKiosk(null),a.uiState.resetMapSettings(),a.uiState.resetUIScale(),this.resetCamera(),this.addStatusMessage({variant:"success",title:m("Deleted")})}handleSave(){const t=c(this.kiosk),e=this.getCameraState(),l={...t,...e};if(!Y(this.renderer,l)){this.addStatusMessage({variant:"error",title:m("Kiosk not visible")});return}this.setKiosk(l),X(l),a.uiState.setUIScale(l.uiScale,!0),this.addStatusMessage({variant:"success",title:m("Saved")}),this.savedKiosk=l}delayChange(t){requestAnimationFrame(()=>t?.())}handleChange(t){const e=c(this.kiosk);e&&(Number.isFinite(t.angle)&&this.setKiosk({...e,heading:t.angle}),Number.isFinite(t.scale)&&(this.setKiosk({...e,uiScale:t.scale}),this.delayChange(()=>a.uiState.setUIScale(t.scale,!1))),Number.isFinite(t.percent)&&this.setKiosk({...e,iconSizePercent:t.percent}))}initialPtScale;setInitialPtScale(t){if(this.initialPtScale)return;this.initialPtScale=t;const e=c(this.kiosk);e&&this.setKiosk({...e,mapInitialPtScale:t})}handleClick(t){const e=c(this.kiosk),l=a.fp.getFloors(),o=q()?l.find(h=>h.active)?.name:null,n=a.uiState.uiScale;this.setKiosk({...e,x:t.x,y:t.y,z:o,uiScale:e?.uiScale||n,heading:e?.heading||0,iconSizePercent:e?.iconSizePercent||100,...this.getCameraState()})}handleNavigationChange(){const t=c(this.kiosk);t&&this.setKiosk({...t,...this.getCameraState()})}}})();export default new B;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as a}from"react/jsx-runtime";import"./RangeInput.scss";export function RangeInput({value:n,name:o,min:
|
|
1
|
+
import{jsx as e,jsxs as a}from"react/jsx-runtime";import"./RangeInput.scss";import{t as u}from"../../../../utils/i18n";export function RangeInput({value:n,name:o,min:t,max:r,step:l,onChange:i,isDisabled:p,symbol:f}){const m=()=>i(Math.min(n+l,r)),d=()=>i(Math.max(n-l,t));let s=0;r!==t&&(s=(n-t)/(r-t)*100);let c="-50%";return s===0?c="0":s===100&&(c="-100%"),a("div",{className:"efp-range-input",children:[a("span",{className:"efp-range-input__header",children:[e("button",{type:"button",className:"efp-range-input__control",draggable:"false",onClick:d,disabled:p,"aria-label":u("Decrease"),children:e("i",{className:"icon-minus"})}),a("span",{className:"efp-no-select",children:[o," ",a("strong",{children:[n,f??""]})]}),e("button",{type:"button",className:"efp-range-input__control",draggable:"false",onClick:m,disabled:p,"aria-label":u("Increase"),children:e("i",{className:"icon-plus"})})]}),a("label",{className:"efp-range-input__input-block",children:[e("input",{className:"efp-range-input__input",name:o,type:"range",min:t,max:r,step:l,value:n,disabled:p,onChange:_=>i(Number(_.target.value))}),a("span",{className:"efp-range-input__custom-input",children:[e("span",{className:"efp-range-input__progress",style:{width:`${s}%`}}),e("span",{className:"efp-range-input__thumb",style:{insetInlineStart:`${s}%`,transform:`translateX(${c}) translateY(-50%)`}})]})]})]})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o,jsxs as i,Fragment as _}from"react/jsx-runtime";import{useState as y}from"react";import{SetKioskForm as L}from"./SetKioskForm";import{InfoMessage as w}from"./Message/InfoMessage";import"./SetKioskComponent.scss";import{Draggable as K}from"../../Draggable";import{ConfirmDialog as N}from"./Confirm/ConfirmDialog";import j from"./SetKioskStatusMessages";import r from"../../../tools/base-runtime-url";import{t as e}from"../../../utils/i18n";export default function I({isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,confirmOnClose:g,angle:p,uiScale:f,minUiScale:h,maxUiScale:u,uiScaleStep:k,iconSizePercent:b,isInfoVisible:v,statusMessages:S,onClose:D,onDelete:C,onSave:x,onChange:s}){const[t,a]=y(null);return i(K,{className:"efp-set-kiosk-mode",translate:{x:window.innerWidth/2,y:0},children:[i("div",{className:"efp-set-kiosk-mode__header",children:[o("img",{src:`${r}icons/dragdrop-solid.svg`,alt:e("Drag and Drop Icon"),width:"24",height:"24"}),o("span",{className:"efp-no-select",children:t?t.title:e("Set Kiosk")}),o("button",{type:"button",draggable:"false",className:"efp-set-kiosk-mode__close","aria-label":e("Close"),onClick:()=>{const n=()=>{a(null)},l=()=>{D?.(),a(null)};t?n():g?a({title:e("Leave without saving?"),content:i("span",{children:[e("You have changes that "),o("strong",{children:e("haven't been saved.")})]}),confirmLabel:e("Keep editing"),cancelLabel:e("Leave"),onCancel:l,onConfirm:n,confirmVariant:"primary",cancelVariant:"danger"}):l()},children:o("i",{className:"icon-close"})})]}),!t&&o(j,{messages:S}),v?o(w,{list:[{id:"1",image:{src:`${r}icons/tap.svg`,alt:e("Tap to set or move kiosk.")},content:i("span",{children:[e("Tap to "),o("strong",{children:e("set or move")}),e(" kiosk.")]})},{id:"2",image:{src:`${r}icons/rotate.svg`,alt:e("Zoom and rotate the map before saving.")},content:i("span",{children:[o("strong",{children:e("Zoom and rotate")}),e(" the map before saving.")]})}]}):o(_,{children:t?o(N,{...t}):o(L,{isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,onSave:()=>{x?.(),a(null)},onDelete:()=>{a({title:e("Delete kiosk?"),content:i("span",{children:[e("Are you sure you want to "),o("strong",{children:e("delete this kiosk?")})]}),confirmLabel:e("Cancel"),cancelLabel:e("Delete"),onConfirm:()=>{a(null)},onCancel:()=>{C?.(),a(null)},confirmVariant:"gray",cancelVariant:"danger"})},angle:p,onRotateIcon:n=>s?.({angle:n}),uiScale:f,minUiScale:h,maxUiScale:u,uiScaleStep:k,onUiScaleChange:n=>s?.({scale:n}),iconSizePercent:b,onChangeIconSizePercent:n=>s?.({percent:n})})})]})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as o}from"react/jsx-runtime";import"./SetKioskForm.scss";import{RangeInput as a}from"./FormInput/RangeInput";import m from"../../Button";import{t as s}from"../../../utils/i18n";export function SetKioskForm({onSave:n,onDelete:t,isSaveDisabled:r,isDeleteDisabled:l,areControlsDisabled:i,angle:c,onRotateIcon:d,uiScale:p,minUiScale:f,maxUiScale:k,uiScaleStep:u,onUiScaleChange:v,iconSizePercent:x,onChangeIconSizePercent:h}){return e("div",{className:"efp-set-kiosk-form",children:o("div",{className:"efp-set-kiosk-form__content",children:[o("div",{className:"efp-set-kiosk-form__inputs",children:[e(a,{value:c,name:s("Icon rotation"),min:0,max:360,step:1,symbol:"\xB0",isDisabled:i,onChange:d}),e(a,{value:x,name:s("Icon size"),min:100,max:300,step:1,symbol:"%",isDisabled:i,onChange:h}),e(a,{value:Math.round(p*100),name:s("UI scale"),min:f*100,max:k*100,step:u*100,symbol:"%",isDisabled:i,onChange:_=>v(_/100)})]}),o("div",{className:"efp-set-kiosk-form__controls",children:[e(m,{size:"md",variant:"gray",text:s("Delete kiosk"),onClick:t,disabled:l}),e(m,{size:"md",variant:"primary",text:s("Save"),onClick:n,disabled:r})]})]})})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as l}from"react/jsx-runtime";import{useEffect as c}from"react";import r from"../../store";import{observer as d}from"mobx-react-lite";import e from"./KioskStore";import v from"./SetKiosk";import{useInit as m}from"../../utils/mobx";import{isDefaultScene as S,pickDefaultScene as h}from"../../renderer/engine-core/defs";const p=d(()=>{m(()=>e.handleSetupReady()),c(()=>{const t=({ptScale:a,sceneId:i})=>{S(i)&&e.setInitialPtScale(a)};e.renderer.events.addEventListener("viewport:ptscale",t);const s=({data:a})=>{const{point:i}=h(a);e.handleClick(i)};e.renderer.events.addEventListener("pointer:click",s);const o=()=>e.handleNavigationChange();return e.renderer.events.addEventListener("navigation:change",o),()=>{e.renderer.events.removeEventListener("viewport:ptscale",t),e.renderer.events.removeEventListener("pointer:click",s),e.renderer.events.removeEventListener("navigation:change",o)}},[e.renderer]);const n=!!e.kiosk;return l(v,{isSaveDisabled:n?!e.hasUnsavedChanges:!0,isDeleteDisabled:!n,areControlsDisabled:!n,confirmOnClose:n?e.hasUnsavedChanges:!1,angle:e.kiosk?.heading||0,uiScale:e.kiosk?.uiScale||r.uiState.uiScale,minUiScale:r.uiState.minUIScale,maxUiScale:r.uiState.maxUIScale,uiScaleStep:.01,iconSizePercent:e.kiosk?.iconSizePercent||100,isInfoVisible:!n,statusMessages:e.statusMessages,onClose:()=>e.handleClose(),onDelete:()=>e.handleDelete(),onSave:()=>e.handleSave(),onChange:t=>e.handleChange(t)})});export default p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{getLocale as o,setLocale as r,t as g}from"../utils/i18n";import{observer as l}from"mobx-react-lite";import n from"./Radio";import"./LanguageRow.scss";const t=l(({item:a})=>e(n,{label:a.name,value:a.id,checked:a.id===o(),className:"language-row","aria-label":g("Change language to {{language}}",{language:a.name}),onChange:()=>r(a.id)}));export default t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as r,jsx as s}from"react/jsx-runtime";import"./LevelBadge.scss";import{t}from"../utils/i18n";const n=e=>/^\d+$/.test(e);export const LevelBadge=({level:e})=>e?s("div",{className:"efp-level-badge",children:r("span",{children:[n(e)&&r("span",{children:[t("Level"),"\xA0"]}),s("span",{children:e})]})}):null;export default LevelBadge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as s,jsxs as v}from"react/jsx-runtime";import m from"classnames";import{useObserver as F}from"mobx-react-lite";import{useRef as w,useEffect as E,useState as O,useCallback as b,useLayoutEffect as I}from"react";import D from"../core/Rect";import i,{uiState as g}from"../store";import{LayersMode as S}from"../store/LayerStore";import R from"../tools/settings";import{t as p}from"../utils/i18n";import L from"../data";import T from"../utils/useOnClickOutside";import"./LevelSelector.scss";const P=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"],V=["ice-gaming2026"];function B(l){return V.includes(R.EXPO)?{layout:"compact-list",useShortNames:l}:{layout:l?"compact-list":"dropdown",useShortNames:l}}export default function X(){const l=w(null),x=w(null),d=w(null),[c,y]=O(!1),[_,C]=O("down");T([x,d],()=>y(!1)),E(()=>()=>{l.current&&clearTimeout(l.current)},[]),E(()=>{if(!c)return;const t=r=>{r.key==="Escape"&&(y(!1),d.current?.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[c]),I(()=>{if(c&&d.current){const t=d.current.getBoundingClientRect(),n=window.innerHeight-t.bottom;C(n<200?"up":"down")}},[c]);const k=b(t=>{if(l.current)return;l.current=setTimeout(()=>l.current=null,500);const r=i.layerStore.layers.find(u=>u.description===t.description);if(i.layerStore.mode===S.Radio){if(i.layerStore.updateVisibility(r,!0),i.mapboxStore.showMapbox)return;if(!!window.__fpSettings?.fpVer||P.includes(R.EXPO)){const o=r.viewbox??r.rect;g.moveToRect=D.fromX1y1x2y2(o.x1,o.y1,o.x2,o.y2)}else{const o=i.layerStore.layers.indexOf(i.layerStore.layers.filter(e=>!e.frozen&&e.visible)[0]),a=i.layerStore.layers.indexOf(r);if(o===a)return;a<o?g.zoomBy=.95:g.zoomBy=1.05}}else i.layerStore.updateVisibility(r,!r.visible);const n=i.toursStore.getTourLayerInfo(r.name)||i.toursStore.getTourLayerInfo(r.description);if(n){i.layerStore.showPathWay(n.id);return}i.fp.hidePathways(),i.toursStore.stopTour()},[]),f=b(t=>{t.disabled||(k(t.layer),y(!1),d.current?.focus())},[k]),N=b((t,r,n)=>{if(t.key==="Enter"||t.key===" "){if(r.disabled)return;t.preventDefault(),f(r);return}if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();const u=n.findIndex(e=>e.layer.description===r.layer.description),o=t.key==="ArrowDown"?1:-1;let a=u+o;for(;a>=0&&a<n.length;){if(!n[a].disabled){t.currentTarget.parentElement?.children?.[a]?.focus();return}a+=o}}t.key==="Escape"&&(y(!1),d.current?.focus())},[f]);return F(()=>{const t=i.layerStore.floors;if(!(i.layerStore.mode===S.Radio||i.layerStore.mode===S.CheckBox)||t.length===0)return null;const{layout:n,useShortNames:u}=B(L.shortLevelName),o=t.find(e=>e.active),a=e=>u?e.shortName:e.description;return n==="compact-list"?s("div",{className:m("efp-level-selector","efp-level-selector--compact-list",{"is-ready":t.length}),role:"radiogroup","aria-label":p("Floor selection"),children:t.map(e=>s("div",{className:m("efp-level-selector__item",{"is-active":e.active,"is-disabled":e.disabled}),role:"radio",title:`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-label":`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-checked":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>!e.disabled&&f(e),onKeyDown:h=>N(h,e,t),dir:"auto",children:s("span",{children:a(e)})},e.layer.description))}):v("div",{className:m("efp-level-selector","efp-level-selector--dropdown",{"is-ready":t.length}),children:[v("button",{ref:d,type:"button",className:m("efp-level-selector__trigger",{"is-open":c}),onClick:()=>y(!c),"aria-haspopup":"listbox","aria-expanded":c,"aria-label":`${p("Current Floor")}: ${o?.description??""}`,children:[v("div",{className:"efp-level-selector__trigger-text",children:[s("i",{className:"icon-layers","aria-hidden":"true"}),s("span",{children:o?.description??""})]}),s("div",{className:"efp-level-selector__trigger-chevron",children:s("i",{className:"icon-chevron-down","aria-hidden":"true"})})]}),c&&s("div",{ref:x,className:m("efp-level-selector__dropdown","efp-level-selector__dropdown--full",{"is-opens-up":_==="up","is-opens-down":_==="down"}),role:"listbox","aria-label":p("Floor selection"),children:t.map(e=>v("div",{className:m("efp-level-selector__dropdown-item",{"is-active":e.active,"is-disabled":e.disabled}),role:"option","aria-selected":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>f(e),onKeyDown:h=>N(h,e,t),children:[s("span",{className:"efp-level-selector__dropdown-item-icon",children:e.active&&s("i",{className:"icon-checkmark-solid","aria-hidden":"true"})}),s("span",{className:"efp-level-selector__dropdown-item-name",children:e.description})]},e.layer.description))})]})})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as m}from"react/jsx-runtime";import l from"classnames";import S from"color";import{Suspense as M}from"react";import{useLocalStore as P,useObserver as R}from"mobx-react-lite";import _ from"../data";import f,{uiState as o}from"../store";import p from"../tools/settings";import{remsToPixels as
|
|
1
|
+
import{jsx as t,jsxs as m}from"react/jsx-runtime";import l from"classnames";import S from"color";import{Suspense as M}from"react";import{useLocalStore as P,useObserver as R}from"mobx-react-lite";import _ from"../data";import f,{uiState as o}from"../store";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import c from"../utils/is-from-designer";import d from"./Alert";import"./Alert.scss";import"./LogoOverlay.scss";import{fpGeo as h}from"./Mapbox/utils/fpGeo";import O from"../tools/base-runtime-url";import{buildExpofpUrl as C,UTM_CAMPAIGNS as N}from"../tools/expofpUrl";import V from"./QrCode";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),A=p.backgroundColor!=="none"&&S(p.backgroundColor).isDark()||h?.properties?.style?.includes("dark");export default function D(){const b=P(()=>{const s=(i,e,E,k)=>({width:k,opacity:o.wsStarted?1:0}),n=g||o.rtl?"left":"right";return{get style(){const i=a((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+i;return s("bottom",n,e,"5rem")}else{let e=o.mapVisibleTop;return f.mapboxStore.showMapbox&&(e=a(.5)),s("bottom",n,20,"4.5rem")}},get warningStyle(){const i=a(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+2*i;return s("bottom",n,e,"3rem")}else{let e=o.mapVisibleTop+2*i;return f.mapboxStore.showMapbox&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=c&&u>=10,x=c&&!h&&_.allow3dView&&!o.kiosk&&!o.heatmap,v=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,y=l("efp-qr",{"is-right":g||o.rtl});return R(()=>m("div",{children:[t("a",{href:C(N.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:A}),style:b.style,children:t("img",{src:`${O}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(d,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),x&&t(d,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottomRight",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),v&&t(M,{fallback:null,children:m("div",{className:l(y,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(V,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as S,jsxs as _,Fragment as K}from"react/jsx-runtime";import{useObserver as U}from"mobx-react-lite";import Y from"classnames";import{useEffect as q,useMemo as J,useRef as z,useState as Q}from"react";import{observable as ee}from"mobx";import i,{boothStore as oe,layersStore as R,uiState as e}from"../../store";import te from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as g}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import C from"../../core/Rect";import{Exhibitor as F}from"../../store/ExhibitorStore";import{BoothBase as re}from"../../store/BoothStore";import{CurrentPosition as ne,Route as ie}from"../../store/RouteStore";import{Category as ae}from"../../store/CategoryStore";import T from"../../tools/logger";import{svgArea as D}from"../../data/svg";import{configMarkers as se,getMarkerFromClick as le}from"./drawing/config/config-markers";import me from"color";import ce from"./drawing/config/config-wf";import{createSceneDef as fe}from"../../renderer";import{convertGpsToLocal as de}from"../../utils/gps";import{fpGeo as ue}from"../Mapbox/utils/fpGeo";import v from"../../utils/is-debug";import{Draggable as pe}from"../Draggable";import{useBuildRoute as he}from"./traffic/useBuildRoute";import{useManageTraffic as ve}from"./traffic/useManageTraffic";import{PATHWAY_KEY as G}from"../../constants";import N from"./booth-by-xy";import{mapRollSetting as O}from"../../renderer";import{loadLayersImages as be}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as ye}from"../../utils/areLayersEnabled";import{pickDefaultScene as X,pickDefaultScenePoint as ge}from"../../renderer/engine-core/defs";const j=Number.isFinite(p.maxZoom);export default function xe(){let k={};const A="#ebebeb",h=z(),b=J(()=>ee({moving:!1,prevLevel:i.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]),s=i.rendererService;let l;const L=z(null);let M=null,B=null;const[V,W]=Q(()=>typeof window<"u"&&window.localStorage?localStorage.getItem("debug")!=="0":!0);d(()=>i.routeStore.currentRouteLayer,()=>{if(!s.scene||b.prevLevel===i.routeStore.currentRouteLayer)return;const o=s.scene.rootLayer.children.filter(r=>i.layerStore.floors.some(n=>r.name.includes(n.name)));let t=i.routeStore.currentRouteLayer.name;if(!o.find(r=>r.name===t))return;const a=o?.map(r=>(r.name===t&&(r.hidden=!1),r.name===b.prevLevel?.name&&(r.hidden=!0),r));b.prevLevel=i.routeStore.currentRouteLayer,s.update(...a)}),d(()=>e.centerMap,()=>{!e.centerMap||i.mapboxStore.showMapbox||(l.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),q(()=>{if(!h.current)return;async function o(){let t={};try{if(v){const r=document.createElement("canvas").getContext("webgl2"),n=r&&r.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=L.current;if(!u)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",u.style.width=`${90*(n?3:2)}px`,u.style.height="48px",u.appendChild(f.dom),t={stats:f,memoryInfoPanel:u}}}catch(a){console.error(a)}l=s.create({canvas:h.current,ui:t}),e.canvasVisibleRectPx&&(l.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx)),te(s).then(a=>{v&&console.log("Renderer settings",l);const r=me(p.backgroundColor==="none"?A:p.backgroundColor).string("rgba");k=fe(a,x.fromCoreRect(D),r),s.start(k),O(l,i.fp.enableRotation?1:0),j&&l.viewport.setMaxZoom(p.maxZoom),R.layersLoaded=!0,i.fp.onFpConfigured&&i.fp?.onFpConfigured(),M=ce(s),B=se(s),be(s)}),l.events.addEventListener("pointer:move",({data:a})=>{if(e.setKioskModeEnabled)return;const{point:r,defs:n}=X(a),c=N(r.x,r.y),m=P(n[0]);e.hoveredBooth=c||m}),l.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),l.events.addEventListener("pointer:click",({data:a})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&i.showMap();const{point:r,defs:n}=X(a),{x:c,y:m}=r;if(e.onGetCoordsClick){const y=i.layerStore.layers.find(w=>w.visible&&(w.mode===g.TurnedOn||w.mode===g.TurnedOff));e.onGetCoordsClick({x:c,y:m,z:y?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const y=le(c,m,s.scale);v&&console.log("marker",y),e.onMarkerClick(y)}const f=N(r.x,r.y),u=P(n[0]);v&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",r),i.clickBooth(f||u)}),l.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),i.fp.getCenterCoordinates=$,()=>Z()},[]);function Z(){M?.(),B?.(),s.dispose()}function $(){const o=h.current;if(!h.current)throw new Error("Canvas not ready");const t=ge(l.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2})),r=i.layerStore.visible.find(n=>n.mode===g.TurnedOff||n.mode===g.TurnedOn)?.name||null;return{...t,z:r}}function P(o){return!o||!o.shape?null:oe.booths.find(t=>t.shapes?.find(a=>a.shape==o.shape))}d(()=>e.zoomBy,()=>{if(!e.zoomBy||i.mapboxStore.showMapbox)return;const o=e.zoomBy;l.controls.zoomBy(o),e.zoomBy=null}),d(()=>e.dimmed,o=>{if(!s.scene)return;const t=s.scene.rootLayer;t.dim!==o&&(t.dim=o,s.update(t))}),d(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(p.EXPO==="wineparis"&&(o instanceof F&&(o=o.booths[0]),!o))return;let t=null,a=[];o instanceof F?(t="exhibitor",a=o.booths.map(n=>n.name).sort((n,c)=>n==i.routeStore.tempToBooth?.name?-1:c==i.routeStore.tempToBooth?.name?1:0)):o instanceof re?(t="booth",a=[o.name]):o instanceof ie?(t="route",a=[o.from?.name,o.to?.name].filter(n=>!!n)):o instanceof ae&&(t="category",a=o.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var r={type:t,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:a};e.onDetails({...r,...t==="route"?{routeInfo:i.routeStore.routeInfo}:{}})}),d(()=>e.canvasVisibleRectPx,()=>{s.renderer&&(s.renderer.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),d(()=>e.moveToRect,()=>{!e.moveToRect||i.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&I(e.moveToRect),e.moveToRect=null)}),d(()=>e.rollReset,o=>{o&&(l.controls.resetCamera({roll:!0}),e.rollReset=!1)}),d(()=>e.moveToBooths,()=>{if(T.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||i.mapboxStore.showMapbox)return;T.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(t=>t.rect).map(t=>t.rect);o.length!==0&&(I(C.fromMultiple(o)),e.moveToBooths=null)}),d(()=>e.mapSettings,({zoomtime:o,center:t,centerxy:a,bearing:r,roll:n,z:c})=>{if(!(i.mapboxStore.showMapbox||!s.renderer))try{o&&o!==e.defaultMapSettings.zoomtime&&s.renderer.controls.configure({zoomTime:o/1e3}),i.fp.enableRotation&&O(l,n);let m;if(t){const f=t.split(",").map(Number),u=new ne(void 0,void 0,void 0,void 0,f[0],f[1]);m=de(u,ue.properties.config)}else if(a){const f=a.split(",").map(Number);m={x:f[0],y:f[1]}}c&&i.fp.activateFloor({name:c}),(m?.x||m?.y)&&s.renderer.controls.panTo(m.x,m.y),Number.isFinite(r)&&s.renderer.controls.rollTo(r)}catch(m){T.error("Error in mapSettings reaction",m)}}),he({enabled:R.layersLoaded&&e.buildRoute,rendererService:s});const E="routes-api.expofp.com";ve({permission:R.layersLoaded,rendererService:s,dataJsonUrl:`https://${E}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${E}/locations?expo=${p.EXPO}`}),d(()=>i.layerStore.visible,o=>{if(!s.scene)return;const t=o.filter(n=>n.name.toLowerCase().includes(G)),r=s.scene.rootLayer.children.filter(n=>n.name.toLowerCase().includes(G));r.forEach(n=>{n.hidden=!t.find(c=>c.name===n.name)}),s.update(...r)});function I(o){let t=o;const a=H(o,D);e.kioskData&&(!ye()||i.routeStore.defaultFrom?.layer?.name===i.routeStore.currentRouteLayer?.name)&&(t=C.fromMultiple([o,C.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const r=x.fromCoreRect(t),n={paddingPercent:a,maxZoom:j?void 0:10};if(e.shouldShiftMapRect){l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x+e.overlayWidthPx};try{l.controls.zoomTo(r,n)}finally{l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x-e.overlayWidthPx}}}else l.controls.zoomTo(r,n)}function H(o,t){return!o||!t?0:(o.w*o.h/(t.h*t.w)>.1?15:25)/100}return U(()=>_(K,{children:[S("canvas",{style:{width:"100%",height:"100%"},ref:h,className:Y({map:!0,moving:b.moving,hidden:i.mapboxStore.showMapbox}),children:"ExpoFP.com"}),v&&V&&_(pe,{className:"debug-fps",children:[S("div",{ref:L}),S("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem("debug","0"),W(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{FONT_FACE as z,FONT_WEIGHT_PRIMARY_BOOTH as f}from"../../../../constants";export function createImageCanvas(n,
|
|
1
|
+
import{FONT_FACE as z,FONT_WEIGHT_PRIMARY_BOOTH as f}from"../../../../constants";export function createImageCanvas(n,l,r,i,c=1,o){const e=n?n.width/n.height:1;let a=l*i*c,t=r*i*c;l/r>e?a=t*e:t=a/e;const v=document.createElement("canvas"),u=v.getContext("2d");return v.width=a,v.height=t,v.id=n.id,o==="horizontal"?(u.scale(-1,1),u.translate(-a,0)):o==="vertical"&&(u.scale(1,-1),u.translate(0,-t)),u.drawImage(n,0,0,a,t),v}export function createCurrentCanvas(n,l="#c8248b",r=n*.4,i,c,o,e="#000"){i=i||95,c=c||95;const a=document.createElement("canvas"),t=a.getContext("2d");a.width=i*r,a.height=c*r,t.scale(r,r);const v=i/2,u=c/2;if(t.translate(v-35,o?0:u-35),t.beginPath(),t.fillStyle="#FFFFFF",t.moveTo(0,35),t.bezierCurveTo(0,54.329966,15.670034,70,35,70),t.bezierCurveTo(54.329966,70,70,54.329966,70,35),t.bezierCurveTo(70,15.670034,54.329966,0,35,0),t.bezierCurveTo(15.670034,0,0,15.670034,0,35),t.fill(),t.beginPath(),t.fillStyle=l,t.moveTo(10,35),t.bezierCurveTo(10,48.807119,21.192881,60,35,60),t.bezierCurveTo(48.807119,60,60,48.807119,60,35),t.bezierCurveTo(60,21.192881,48.807119,10,35,10),t.bezierCurveTo(21.192881,10,10,21.192881,10,35),t.fill(),o){t.textAlign="center",t.textBaseline="alphabetic",t.lineJoin="round",t.strokeStyle="#fff",t.fillStyle=e;const T=38;t.font=getFont(T),t.lineWidth=6;const b=70+T;t.strokeText(o,35,b,i),t.fillText(o,35,b,i)}return a}export function createTargetCanvas(n,l="#c8248b",r=n*.5){const i=70*r,c=100*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=i,o.height=c,e.scale(r,r),e.beginPath(),e.fillStyle="rgb(255, 255, 255)",e.moveTo(32.6,97.8),e.bezierCurveTo(24.4,81.5,0,57,0,32.6),e.bezierCurveTo(0,14.6,14.6,0,32.6,0),e.bezierCurveTo(50.5,0,65.2,14.6,65.2,32.6),e.bezierCurveTo(65.2,57,40.7,81.5,32.6,97.8),e.fill(),e.beginPath(),e.fillStyle=l,e.moveTo(32.6,91.1),e.bezierCurveTo(25.2,76.3,3.1,54.2,3.1,32.1),e.bezierCurveTo(3.1,15.9,16.3,2.6,32.6,2.6),e.bezierCurveTo(48.8,2.6,62,15.9,62,32.1),e.bezierCurveTo(62,54.2,39.9,76.3,32.6,91.1),e.fill(),e.beginPath(),e.fillStyle="rgb(255, 255, 255)",e.moveTo(16.2,32.6),e.bezierCurveTo(16.2,41.6,23.5,48.9,32.5,48.9),e.bezierCurveTo(41.5,48.9,48.8,41.6,48.8,32.6),e.bezierCurveTo(48.8,23.6,41.5,16.3,32.5,16.3),e.bezierCurveTo(23.5,16.3,16.2,23.6,16.2,32.6),e.fill(),o}export function createArrowCurrentCanvas(n,l="#c8248b",r=n*.4){const i=95*r,c=95*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=i,o.height=c,e.scale(r,r),e.beginPath(),e.arc(47,47,25,0,2*Math.PI),e.fillStyle=l,e.fill(),e.beginPath(),e.fillStyle=l,e.moveTo(75,27),e.lineTo(95,47),e.lineTo(75,67),e.lineTo(80,47),e.closePath(),e.fill(),o}export function createYahCanvas(n,l="#ff4343",r=n*.5){const i=77*r,c=116*r,o=document.createElement("canvas"),e=o.getContext("2d");return o.width=i,o.height=c,e.scale(r,r),e.scale(r,r),e.beginPath(),e.fillStyle="#FFFFFF",e.moveTo(68.303,57.335),e.bezierCurveTo(77.894,39.304,70.649,15.785,50.95,8.04),e.bezierCurveTo(30.727,0,8.375,11.837,3.207,32.831),e.bezierCurveTo(0,46.185,6.644,57.323,13.131,68.211),e.fill(),e.beginPath(),e.fillStyle=l,e.moveTo(51.565,35.459),e.bezierCurveTo(51.565,43.256,45.201,49.575,37.354,49.575),e.bezierCurveTo(29.516,49.575,23.159,43.256,23.159,35.459),e.bezierCurveTo(23.159,27.668,29.516,21.345,37.354,21.345),e.bezierCurveTo(45.201,21.345,51.565,27.668,51.565,35.459),e.closePath(),e.fill(),e.beginPath(),e.moveTo(68.303,57.335),e.bezierCurveTo(77.894,39.304,70.649,15.785,50.95,8.04),e.bezierCurveTo(30.727,0,8.375,11.837,3.207,32.831),e.bezierCurveTo(0,46.185,6.644,57.323,13.131,68.211),e.lineTo(13.131,68.211),e.lineTo(13.131,68.211),e.bezierCurveTo(13.921,69.533,14.698,70.829,15.454,72.137),e.bezierCurveTo(19.465,79.158,23.533,86.12,27.571,93.086),e.lineTo(27.571,93.086),e.bezierCurveTo(30.098,97.421,32.611,101.756,35.116,106.077),e.bezierCurveTo(36.128,107.868,38.934,107.868,39.945,106.077),e.bezierCurveTo(49.387,90.003,58.708,74.029,68.031,57.951),e.bezierCurveTo(68.15,57.743,68.24,57.543,68.303,57.335),e.closePath(),e.moveTo(60.103,60.395),e.lineTo(63.201,55.041),e.lineTo(63.201,55.041),e.bezierCurveTo(73.31,36.735,61.285,11.614,39.04,11.17),e.bezierCurveTo(19.388,10.714,2.759,29.479,9.386,49.013),e.bezierCurveTo(10.726,52.998,12.657,56.9,14.84,60.721),e.bezierCurveTo(15.041,58.454,15.938,56.258,17.589,54.586),e.bezierCurveTo(19.708,52.425,22.216,50.638,24.996,49.283),e.bezierCurveTo(28.252,52.249,32.595,54.051,37.354,54.051),e.bezierCurveTo(42.123,54.051,46.47,52.249,49.73,49.283),e.bezierCurveTo(52.505,50.638,55.017,52.425,57.135,54.586),e.bezierCurveTo(58.701,56.188,59.701,58.245,60.103,60.395),e.closePath(),e.fill("evenodd"),e.beginPath(),e.moveTo(29.024,104.982),e.bezierCurveTo(29.024,103.626,27.923,102.527,26.57,102.527),e.bezierCurveTo(25.214,102.527,24.114,103.626,24.114,104.982),e.bezierCurveTo(24.114,111.395,30.347,116.838,37.444,116.838),e.bezierCurveTo(44.54,116.838,50.771,111.395,50.771,104.982),e.bezierCurveTo(50.771,103.626,49.666,102.527,48.317,102.527),e.bezierCurveTo(46.961,102.527,45.855,103.626,45.855,104.982),e.bezierCurveTo(45.855,108.193,42.352,111.956,37.444,111.956),e.bezierCurveTo(32.528,111.956,29.024,108.193,29.024,104.982),e.closePath(),e.fill(),o}const h=document.createElement("canvas"),C=h.getContext("2d");let d;function g(n,l){return d!==n&&(C.font=n),C.measureText(l).width}export function createLabelCanvas(n,l,r,i="#fff",c,o,e){n=n.replace(/^_/,""),l*=r;const a=document.createElement("canvas"),t=a.getContext("2d"),v=Number(getComputedStyle(document.body).getPropertyValue(f)),u=getFont(l,v||c),T=g(u,n.replace(/[0-9]/g,"3").replace(/[A-Z]/g,"A"))+3+3,b=4,s=l+b;return a.width=T*r,a.height=s*r,t.font=u,t.textAlign="center",t.textBaseline="alphabetic",t.fillStyle=i,e&&o&&(t.lineWidth=e,t.strokeStyle=o,t.strokeText(n,T/2,s-b/2*r),t.lineJoin="round"),t.fillText(n,T/2,s-b/2*r),a}export function getFont(n,l=500,r="normal"){const i=getComputedStyle(document.body).getPropertyValue(z),c='Oswald, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',o=i?`${i}, ${c}`:c;return`${r} ${l} ${n}px ${o}`}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import u,{layersStore as
|
|
1
|
+
import u,{layersStore as S}from"../../../../store";import{reaction as v}from"mobx";import{createImageCanvas as x}from"./canvases";import{createImageDef as C,getBounds as E}from"../../../../renderer";import{toRadians as K}from"../../../../utils/math";const L="_selected";export const MARKER_LAYER_NAME="markers";export function configMarkers(s){const h=[],l=new Map,a=new Map;let n=[];const f=s.scene.rootLayer.children.find(t=>t.name===MARKER_LAYER_NAME);async function k(t){const o=[];t.forEach(r=>{const{name:e,content:i,width:c,height:g,scale:y}=r;if(l.has(e))return;const m=new Image,D=new Promise((w,M)=>{m.onload=()=>{l.set(e,{img:m,width:c,height:g,scale:y}),w()},m.onerror=b=>{M(b)}});o.push(D),m.src=i,m.crossOrigin="anonymous"}),await Promise.all(o)}const d=t=>`marker-ptScaleHandlers-${t.id}`,I=t=>`marker-rollHandlers-${t.id}`,P=(t,o)=>{s.onPtScale(o,r=>{const{center:e,rotation:i}=t.bounds,{width:c,height:g}=t.source;return t.bounds=E(e.x,e.y,c,g,r,i),t})},H=(t,o)=>{s.onRoll(o,r=>(t.bounds.rotation=r,t))};function $(){const t=u.routeStore.markersData.markers;if(!t.length)return;n=[];const o=s.scale,r=K(s.angle);t.forEach(e=>{const i=l.get(e.icon);if(!i)return;const c=i.scale||window.devicePixelRatio,g=e.icon;if(!a.has(g)){const R=x(i.img,i.width,i.height,c);a.set(g,R)}const y=a.get(g),m=l.get(e.selectedIcon),D=e.selectedIcon;if(!a.has(D)){const R=x(m.img,m.width,m.height,c);a.set(D,R)}const w=a.get(D),M=S.findLayer(e.z)?.visible??!0,b=E(e.x,e.y,y.width,y.height,o,r),_=E(e.x,e.y,w.width,w.height,o,r);let p;switch(e.position){case"lefttop":p=[0,0];break;case"centertop":p=[.5,0];break;case"centerbottom":p=[.5,1];break;default:p=[.5,.5]}const z={...C(y,b,{hidden:!M,origin:p}),id:e.id,scale:c},A={...C(w,_,{hidden:!(M&&e.active),origin:p}),id:`${e.id}${L}`,scale:c};n.push(z,A)}),f.children=n,n.forEach(e=>{P(e,d(e)),H(e,I(e))})}function B(){n.forEach(t=>{s.ptScaleRegistry.unregisterByName(d(t)),s.rollRegistry.unregisterByName(I(t))}),f.children=[],n=[]}function N(){const t=u.routeStore.markersData.markers;t.length&&t.forEach(o=>{const r=n.find(c=>c.id===o.id),e=n.find(c=>c.id===`${o.id}${L}`);if(!r)return;const i=S.findLayer(o.z)?.visible??!0;o.active?(r.hidden=!0,e.hidden=!(i&&o.active)):(r.hidden=!i,e.hidden=!0)})}return h.push(v(()=>[u.routeStore.selectedMarkers,u.layerStore.visible],()=>{if(!u.routeStore.markersData.markers.length){B(),s.update(f);return}N(),s.update(...n)})),h.push(v(()=>u.routeStore.markersData.markers,()=>{k(u.routeStore.markersData.icons).then(()=>{$(),s.update(f)})},{fireImmediately:!0})),function(){h.forEach(o=>o()),h.length=0}}export function getMarkerFromClick(s,h,l){for(const a of u.routeStore.markersData.markers){const n=u.routeStore.markersData.icons.find(d=>d.name===a.icon);if(!n)continue;const f=n.width*l*devicePixelRatio,k=n.height*l*devicePixelRatio;if(F(s,h,a.x,a.y,f,k)){const d=u.layerStore.findLayer(a.z);if(!d||d&&d.visible)return a}}return null}function F(s,h,l,a,n,f){const k=s>=l-n&&s<=l+n,d=h>=a-f&&h<=a+f;return k&&d}
|