UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) • 3.89 kB
import{Fragment as b,jsx as e,jsxs as l}from"react/jsx-runtime";import{Badge as y}from"@expofp/ui";import{useLocalStore as L,useObserver as u}from"mobx-react-lite";import N,{Suspense as S}from"react";import r from"../data";import{getFpSvgJs as C}from"../data/fp-payloads";import t,{uiState as n}from"../store";import{getLocale as x,getLocales as D,t as m}from"../utils/i18n";import d from"../utils/is-iframe";import{useAutorun as E}from"../utils/mobx.js";const T=N.lazy(()=>import("./ViewerMenuPanel"));import"./Menu.scss";import"./Menu_custom.scss";import j from"../tools/logger";import f from"../tools/settings";window.setTimeout(function(){const s=new Image;s.onload=()=>{j.log("Logo image loaded")},s.crossOrigin="anonymous",s.src=r.logo},1500);function F({consent:s,isGDPR:c}){const a=L(()=>({logoVisibility:"visible",shown:!1,shownTimeout:void 0,modalOpen:!1,selectedCategoryIds:(n.selectedCategoryFilters||[]).map(o=>Number(o.id)),pendingSelectedIds:(n.selectedCategoryFilters||[]).map(o=>Number(o.id))}));E(()=>{n.menu?(a.shownTimeout=window.setTimeout(()=>a.shown=!0,1),n.list.type==="sessions"&&t.searchStore.selectSearch()):(a.shown=!1,a.shownTimeout&&window.clearTimeout(a.shownTimeout))});function h(o){if(n.kiosk)return o.preventDefault()}function g(o){o.preventDefault(),k(),t.searchStore.selectSearch()}function p(o){o.preventDefault(),t.fp?.onLeaveEvent?.()}function v(o){o.preventDefault(),t.clickLanguage()}return u(()=>{if(!n.menu)return null;const o=t.boothStore.booths.filter(i=>i.bookmarked).map(i=>i.name),_=C().__fpSettings?.fpVer?`https://d2.expofp.com/export/v2/${f.EXPO}/pdf`:`https://api.expofp.com/service/convert/${f.EXPO}/pdf`,w=n.viewerMode&&typeof t.fp?.onLeaveEvent=="function";return l("div",{className:`menu ${a.shown?"shown":""}`,children:[d?e("div",{className:"menu__cover -empty"}):e("div",{className:"menu__cover",children:e("a",{href:r.homeUrl,target:"_blank",rel:"noopener noreferrer",onClick:h,children:e("img",{src:r.logo,onError:()=>a.logoVisibility="hidden",style:{visibility:a.logoVisibility},alt:"",crossOrigin:"anonymous"})})}),l("div",{className:"menu__content",children:[n.viewerMode&&e(S,{fallback:null,children:e(T,{})}),!n.viewerMode&&e("a",{href:"/#",onClick:g,className:"menu__item",children:m("Search")}),!r.hideEventHomeLink&&!n.kiosk&&!d&&!!r.homeUrl&&l("a",{href:r.homeUrl,target:"_blank",className:"menu__item",rel:"noopener noreferrer",children:[m("Event Home").replace(/ /g,"\xA0"),e("i",{className:"icon-link-external"})]}),!r.hideRegisterToAttendLink&&!n.kiosk&&!d&&!!r.registerUrl&&l("a",{href:r.registerUrl,target:"_blank",className:"menu__item",rel:"noopener noreferrer",children:[m("Register to Attend").replace(/ /g,"\xA0"),e("i",{className:"icon-link-external"})]}),!n.hideLanguage&&!r.hideLanguage&&!r.hideLanguageLink&&l("a",{href:"?language",onClick:v,className:"menu__item -language",children:[l("span",{children:[m("Language")," "]}),l("span",{className:"menu__icons",children:[e(y,{variant:"gray",size:"md",noMargins:!0,rounded:!0,children:D().find(i=>i.id===x())?.name}),e("i",{className:"icon-chevron-right"})]})]}),!r.hideDownloadPdfLink&&!n.kiosk&&e("a",{className:"menu__item -pdf",target:"_blank",rel:"noopener noreferrer",href:`${_}/?exhibitors=true&bookmarks=${o.join(",")}&layers=${(t.layerStore.layers.length>=t.layerStore.visible.length?t.layerStore.visible.map(i=>i.name).join(","):"").replace(/&/g,"%26")}`,children:m("Download PDF")}),s==="ask"&&c&&e("a",{href:"/#",className:"menu__item -cookie-consent",onClick:i=>{i.preventDefault(),n.hideCookieConsent=!1},children:m("Review Cookie Consent")}),w&&e("div",{className:"menu__item-leave",children:e("a",{href:"/#",className:"menu__item -leave-event menu__leave-link",onClick:p,children:m("Select another event")})})]})]})});function k(){n.menu=!1}}export default({isGDPR:s,consent:c})=>u(()=>e(b,{children:n.menu?e(F,{isGDPR:s,consent:c}):null}));