@expofp/floorplan 3.13.1 → 3.13.3

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.
Files changed (185) hide show
  1. package/dist/browser/{Button-CKiBkbgb.js → Button-BDBNu2fN.js} +6 -6
  2. package/dist/browser/{CookieConsent-CSTxsO7b.js → CookieConsent-BU5tkx67.js} +8 -8
  3. package/dist/browser/{Debug-VJg8Kv3w.js → Debug-DOvyBeZ2.js} +8 -8
  4. package/dist/browser/{Demo-DK7aO8n7.js → Demo-13Pj5i8q.js} +10 -10
  5. package/dist/browser/{Free-Dc9anWmM.js → Free-DY2ixs1X.js} +10 -10
  6. package/dist/browser/{Gallery-Dnm4hSmm.js → Gallery-DSFy8OUt.js} +31 -25
  7. package/dist/browser/{GpsLoader-DQmIKYxp.js → GpsLoader-IUuZFKZB.js} +22 -22
  8. package/dist/browser/{KioskStore-Do9vKaRP.js → KioskStore-DCMfDTY0.js} +6 -6
  9. package/dist/browser/{MaplibreAdapter-bY-ABtGS.js → MaplibreAdapter-BuHDh2tN.js} +161 -133
  10. package/dist/browser/{ModalContainer-DnYcW0A9.js → ModalContainer-B66h-izv.js} +11 -11
  11. package/dist/browser/{PermissionNotice-BfOksslN.js → PermissionNotice-GLC80RiL.js} +7 -7
  12. package/dist/browser/{SetKioskMode-vTpieU9t.js → SetKioskMode-BbtKKH4m.js} +10 -10
  13. package/dist/browser/{ShowKiosk-CdNxtqFI.js → ShowKiosk-Bbc1ibvf.js} +12 -12
  14. package/dist/browser/{TouchHand-B9X_pexY.js → TouchHand-BnpCI_QP.js} +5 -5
  15. package/dist/browser/{ViewerMenuPanel-Cwhfqk7r.js → ViewerMenuPanel-u4eof_k3.js} +10 -10
  16. package/dist/browser/{add-debug-secret-listener-mWeM9pHG.js → add-debug-secret-listener-Dhk_JVpV.js} +1 -1
  17. package/dist/browser/{reset-all-settings-C4_ors4k.js → adopt-global-settings-D-DXuik1.js} +12 -17
  18. package/dist/browser/{boolean-editor-CGPZFexF.js → boolean-editor-Cr3udvWI.js} +46 -46
  19. package/dist/browser/{bootIntercom-CaST_jNX.js → bootIntercom-k9-F0coK.js} +3 -3
  20. package/dist/browser/{booth-by-xy-BO6naDgy.js → booth-by-xy-CfcPXRuo.js} +209 -209
  21. package/dist/browser/bundle.json +67 -70
  22. package/dist/browser/{classnames-ClEJC3j4.js → classnames-t9FqzaWX.js} +2 -2
  23. package/dist/browser/{client-DXdbQp9r.js → client-B_pxskYW.js} +9 -9
  24. package/dist/browser/{components-Bowa21U1.js → components-CUmWC2-D.js} +278 -271
  25. package/dist/browser/{debug-overlay-Y5npuuWR.js → debug-overlay-DDhRZgt_.js} +470 -464
  26. package/dist/browser/{debug-ui-D1g5i_jy.js → debug-ui-DxdcU6Kg.js} +7 -7
  27. package/dist/browser/{dist-BSvcUdys.js → dist-B8mNNnp7.js} +5 -5
  28. package/dist/browser/{dist-Cn9LPy1P.js → dist-CxhCCJRf.js} +7 -7
  29. package/dist/browser/{dist-aJ-8azal.js → dist-Pmi0eHka.js} +66 -67
  30. package/dist/browser/{efp-debug-init-Brk9OaSQ.js → efp-debug-init-Calw8mY0.js} +4 -4
  31. package/dist/browser/{enum-editor-BZ9LwkZ8.js → enum-editor-DCfrJJln.js} +5 -5
  32. package/dist/browser/{es5-XJHAF1nV.js → es5-DoQZDAdU.js} +2 -2
  33. package/dist/browser/{event-not-found-_rTvDWyj.js → event-not-found-ChDTsYTx.js} +1 -1
  34. package/dist/browser/{exports-DWUH8uau.js → exports-BX3S6XZB.js} +567 -566
  35. package/dist/browser/{favicon-5J-1eJZd.js → favicon-ClLPDK1r.js} +1 -1
  36. package/dist/browser/{fetch-retry.umd-Br7VuO9v.js → fetch-retry.umd-DzzXpi7b.js} +2 -2
  37. package/dist/browser/{flex-B3O1z4v3.js → flex-DP6WjhG4.js} +17 -17
  38. package/dist/browser/{floorplan.loader-sk15sA3u.js → floorplan.loader-D69t3BAF.js} +1381 -1307
  39. package/dist/browser/{floorplan.ready-B4ahF1S7.js → floorplan.ready-CHXz-cFn.js} +326 -335
  40. package/dist/browser/{fuse-Ci_KKUTa.js → fuse-BVXtZz6P.js} +2 -2
  41. package/dist/browser/{i18n-99DQd2vS.js → i18n-C8efqjSJ.js} +2921 -2559
  42. package/dist/browser/index.js +37 -37
  43. package/dist/browser/{index.module-DAnhLbye.js → index.module-C2y2P6lx.js} +6 -6
  44. package/dist/browser/{integrateKiosk-DZXpUrOj.js → integrateKiosk-B6woh9vx.js} +4 -4
  45. package/dist/browser/{is-webview-DpONzc0i.js → is-webview-BBrFDwGV.js} +1 -1
  46. package/dist/browser/{jsx-runtime-CaS3omHd.js → jsx-runtime-BJiMhWCh.js} +4 -4
  47. package/dist/browser/{lib-BiZuekek.js → lib-Bp05Ar7H.js} +155 -112
  48. package/dist/browser/{loadImage-CjXrDhKo.js → loadImage-BSxtVhbw.js} +5 -5
  49. package/dist/browser/{logDeviceInfo-BYL9Ek4m.js → logDeviceInfo-CKYIqDka.js} +9 -9
  50. package/dist/browser/{main-C5obpH9n.js → main-R4AfkxbT.js} +1 -1
  51. package/dist/browser/{mobx-DUuRiBpm.js → mobx-DGLsaukl.js} +5 -5
  52. package/dist/browser/{optional-boolean-editor-vmPQV7dq.js → optional-boolean-editor-BU6xH2-y.js} +4 -4
  53. package/dist/browser/{optional-enum-editor-CAafO0D2.js → optional-enum-editor-DguPalWk.js} +5 -5
  54. package/dist/browser/{optional-string-editor-CnDprvv4.js → optional-string-editor-C9Ca_jfw.js} +5 -5
  55. package/dist/browser/{particles.min-Bw-lHwaG.js → particles.min-Cnu30bUy.js} +2 -2
  56. package/dist/browser/{react-DIEnjHSI.js → react-B3i5PHk_.js} +5 -5
  57. package/dist/browser/{react-dom-CK-QaYaJ.js → react-dom-DU4GDIrZ.js} +6 -6
  58. package/dist/browser/{rolldown-runtime-Dfh5_zpq.js → rolldown-runtime-G74B3CmN.js} +1 -1
  59. package/dist/browser/select-D0rZ3mga.js +1367 -0
  60. package/dist/browser/{settings-CkTeZAPn.js → settings-D13emDUN.js} +3 -3
  61. package/dist/browser/{settings-item-Bdmu0-LD.js → settings-item-DwnQYGKx.js} +16 -16
  62. package/dist/browser/{store-C8eFtLML.js → store-Dfx4YNDt.js} +4458 -4458
  63. package/dist/browser/{string-editor-CM26hetz.js → string-editor-BM5ehAvW.js} +5 -5
  64. package/dist/browser/{text-field-CdM7a_e4.js → text-field-BxSBiSG0.js} +25 -25
  65. package/dist/browser/{theme-Byin1YOk.js → theme-Dg-nn5Fm.js} +949 -946
  66. package/dist/browser/{ui-Bso8uSzX.js → ui-D9Ao87UU.js} +11 -11
  67. package/dist/browser/{useRenderTarget-C16k6iot.js → useRenderTarget-bA5k2RxM.js} +5 -5
  68. package/dist/esm/components/AutocompleteContainer.d.ts +1 -1
  69. package/dist/esm/components/Bookmarks.d.ts +1 -1
  70. package/dist/esm/components/Bookmarks.js +1 -1
  71. package/dist/esm/components/Booth/Booth.js +1 -1
  72. package/dist/esm/components/Category.d.ts +1 -1
  73. package/dist/esm/components/Debug.d.ts +1 -1
  74. package/dist/esm/components/Debug.js +1 -1
  75. package/dist/esm/components/ErrorBoundary.d.ts +1 -1
  76. package/dist/esm/components/ErrorBoundary.js +1 -1
  77. package/dist/esm/components/Event.js +1 -1
  78. package/dist/esm/components/Exhibitor.d.ts +1 -1
  79. package/dist/esm/components/Exhibitor.js +1 -1
  80. package/dist/esm/components/Filter.d.ts +1 -1
  81. package/dist/esm/components/Filter.js +1 -1
  82. package/dist/esm/components/Gallery/GalleryBadges/GalleryBadges.js +1 -1
  83. package/dist/esm/components/Gallery/GalleryPreLoader.js +1 -1
  84. package/dist/esm/components/Kiosk/KioskStore.js +1 -1
  85. package/dist/esm/components/Kiosk/SetKiosk/SetKioskComponent.js +1 -1
  86. package/dist/esm/components/LogoOverlay.js +1 -1
  87. package/dist/esm/components/Map/Map.js +1 -1
  88. package/dist/esm/components/Map/drawing/config/BoothDrawerBase.js +1 -1
  89. package/dist/esm/components/Map/drawing/config/BoothShape.js +1 -1
  90. package/dist/esm/components/Map/drawing/config/TextFitter.js +1 -1
  91. package/dist/esm/components/Map/drawing/config/config-bg.d.ts +1 -1
  92. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
  93. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +1 -1
  94. package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
  95. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
  96. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
  97. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  98. package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
  99. package/dist/esm/components/Map/traffic/UpdateQueue.js +1 -1
  100. package/dist/esm/components/Map/traffic/useBuildRoute.js +1 -1
  101. package/dist/esm/components/Menu.d.ts +1 -1
  102. package/dist/esm/components/Menu.js +1 -1
  103. package/dist/esm/components/ModalContainer.d.ts +4 -4
  104. package/dist/esm/components/RebookingNotesContainer.d.ts +1 -1
  105. package/dist/esm/components/RebookingRadioGroupContainer.d.ts +1 -1
  106. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +1 -1
  107. package/dist/esm/components/Schedule.js +1 -1
  108. package/dist/esm/components/Search.d.ts +1 -1
  109. package/dist/esm/components/Search.js +1 -1
  110. package/dist/esm/components/Toast/ToastContainer.d.ts +1 -1
  111. package/dist/esm/components/TourPoints.d.ts +1 -1
  112. package/dist/esm/components/Tours.js +1 -1
  113. package/dist/esm/components/Visited.d.ts +1 -1
  114. package/dist/esm/components/WayfindingTemplate.js +1 -1
  115. package/dist/esm/components/Ws.d.ts +1 -1
  116. package/dist/esm/constants.d.ts +0 -1
  117. package/dist/esm/constants.js +1 -1
  118. package/dist/esm/data/svg.js +1 -1
  119. package/dist/esm/floorplan.loader.js +1 -1
  120. package/dist/esm/floorplan.ready.js +1 -1
  121. package/dist/esm/load-dev.d.ts +1 -1
  122. package/dist/esm/renderer/HandlerRegistry.js +1 -1
  123. package/dist/esm/renderer/RendererService.js +1 -1
  124. package/dist/esm/services/URLFilterManager.js +1 -1
  125. package/dist/esm/services/url-dispatch.js +1 -1
  126. package/dist/esm/store/BaseFilterStore.js +1 -1
  127. package/dist/esm/store/BookmarksStore.js +2 -2
  128. package/dist/esm/store/BoothStore.d.ts +1 -1
  129. package/dist/esm/store/BoothStore.js +1 -1
  130. package/dist/esm/store/CategoryFilterStore.js +1 -1
  131. package/dist/esm/store/CategoryStore.d.ts +1 -1
  132. package/dist/esm/store/CategoryStore.js +1 -1
  133. package/dist/esm/store/EventStore.d.ts +2 -2
  134. package/dist/esm/store/EventStore.js +1 -1
  135. package/dist/esm/store/ExhibitorStore.d.ts +1 -1
  136. package/dist/esm/store/ExhibitorStore.js +1 -1
  137. package/dist/esm/store/FuzzySearchEngineStore.js +1 -1
  138. package/dist/esm/store/HeatmapStore.d.ts +1 -1
  139. package/dist/esm/store/HeatmapStore.js +1 -1
  140. package/dist/esm/store/IntercomStore.js +1 -1
  141. package/dist/esm/store/LayerStore.js +1 -1
  142. package/dist/esm/store/MaplibreStore.js +1 -1
  143. package/dist/esm/store/PoiTypeStore.js +1 -1
  144. package/dist/esm/store/RootStore.js +1 -1
  145. package/dist/esm/store/RoutePlannerStore.js +1 -1
  146. package/dist/esm/store/RouteStore.js +1 -1
  147. package/dist/esm/store/SearchStore.d.ts +1 -1
  148. package/dist/esm/store/SearchStore.js +1 -1
  149. package/dist/esm/store/SessionsFilterStore.js +1 -1
  150. package/dist/esm/store/ShortcutRegistry.js +1 -1
  151. package/dist/esm/store/SpeakerFilterStore.js +1 -1
  152. package/dist/esm/store/SpeakerStore.d.ts +2 -2
  153. package/dist/esm/store/SpeakerStore.js +1 -1
  154. package/dist/esm/store/SubButtonRegistry.js +1 -1
  155. package/dist/esm/store/ToursStore.js +1 -1
  156. package/dist/esm/store/UIState.d.ts +2 -3
  157. package/dist/esm/store/UIState.js +1 -1
  158. package/dist/esm/store/init/init-booths.js +1 -1
  159. package/dist/esm/store/init/init-layers.js +1 -1
  160. package/dist/esm/store/providers/SearchShortcutProvider.js +1 -1
  161. package/dist/esm/store/providers/SessionsShortcutProvider.js +1 -1
  162. package/dist/esm/store/providers/SessionsSubButtonProvider.js +1 -1
  163. package/dist/esm/store/providers/SpeakerShortcutProvider.js +1 -1
  164. package/dist/esm/store/search-buttons/SearchButtonsActions.js +1 -1
  165. package/dist/esm/store/search-buttons/SearchButtonsFactory.js +1 -1
  166. package/dist/esm/store/search-buttons/SearchButtonsFilters.js +1 -1
  167. package/dist/esm/store/search-buttons/SearchButtonsState.js +1 -1
  168. package/dist/esm/store/search-buttons/SearchButtonsStore.js +1 -1
  169. package/dist/esm/store/search-buttons/constants.d.ts +8 -8
  170. package/dist/esm/store/types.d.ts +6 -6
  171. package/dist/esm/tools/expofpUrl.d.ts +2 -2
  172. package/dist/esm/tools/logger.js +1 -1
  173. package/dist/esm/tools/settings.js +1 -1
  174. package/dist/esm/ui/Autocomplete/Autocomplete.js +1 -1
  175. package/dist/esm/ui/EntityItem/EntityItem.js +1 -1
  176. package/dist/esm/ui/EventBadge/EventBadge.js +1 -1
  177. package/dist/esm/ui/Share/Share.js +1 -1
  178. package/dist/esm/utils/camera-map-settings.d.ts +2 -2
  179. package/dist/esm/utils/dimming.d.ts +1 -1
  180. package/dist/esm/utils/is-from-designer.d.ts +1 -1
  181. package/dist/esm/utils/silence-mobx-react-lite-warning.d.ts +1 -0
  182. package/dist/esm/utils/silence-mobx-react-lite-warning.js +1 -1
  183. package/package.json +23 -23
  184. package/dist/browser/prop-types-Bw2U3Pyj.js +0 -57
  185. package/dist/browser/select-CGbkxHY8.js +0 -1360
@@ -1,24 +1,24 @@
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.13.1" };
4
+ e.SENTRY_RELEASE = { id: "3.13.3" };
5
5
  var t = new e.Error().stack;
6
- t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "05a753ca-f6da-4c1e-acf5-eacf4d461db5", e._sentryDebugIdIdentifier = "sentry-dbid-05a753ca-f6da-4c1e-acf5-eacf4d461db5");
6
+ t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "3c34ab8b-5d65-4c06-8595-6ed371acabc5", e._sentryDebugIdIdentifier = "sentry-dbid-3c34ab8b-5d65-4c06-8595-6ed371acabc5");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-Dfh5_zpq.js";
10
- import { a as t, i as n, s as r } from "./efp-debug-init-Brk9OaSQ.js";
11
- import { a as i, o as a } from "./reset-all-settings-C4_ors4k.js";
12
- import { t as o } from "./jsx-runtime-CaS3omHd.js";
13
- import "./settings-CkTeZAPn.js";
14
- import { t as s } from "./add-debug-secret-listener-mWeM9pHG.js";
9
+ import { r as e } from "./rolldown-runtime-G74B3CmN.js";
10
+ import { a as t, i as n, s as r } from "./efp-debug-init-Calw8mY0.js";
11
+ import { a as i, i as a } from "./adopt-global-settings-D-DXuik1.js";
12
+ import { t as o } from "./jsx-runtime-BJiMhWCh.js";
13
+ import "./settings-D13emDUN.js";
14
+ import { t as s } from "./add-debug-secret-listener-Dhk_JVpV.js";
15
15
  //#region ../debug/src/lib/ui/render-debug-ui.tsx
16
16
  var c = /* @__PURE__ */ e(r(), 1), l = o(), u = !1;
17
17
  function d() {
18
18
  if (u) return;
19
19
  u = !0;
20
- let r = a({ key: t });
21
- i({
20
+ let r = i({ key: t });
21
+ a({
22
22
  key: n,
23
23
  placeholder: "e.g. efp:*",
24
24
  onChange: (e) => {
@@ -26,7 +26,7 @@ function d() {
26
26
  }
27
27
  });
28
28
  let o = async (t) => {
29
- let { DebugUi: n } = await import("./debug-ui-D1g5i_jy.js"), { createRoot: i } = await import("./client-DXdbQp9r.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
29
+ let { DebugUi: n } = await import("./debug-ui-DxdcU6Kg.js"), { createRoot: i } = await import("./client-B_pxskYW.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
30
30
  document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, l.jsx)(n, {
31
31
  useDebugButtonState: r.useState,
32
32
  open: t
@@ -1,14 +1,14 @@
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.13.1" };
4
+ e.SENTRY_RELEASE = { id: "3.13.3" };
5
5
  var t = new e.Error().stack;
6
- t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "33455732-e070-4a3b-bdf3-a25a1f54c994", e._sentryDebugIdIdentifier = "sentry-dbid-33455732-e070-4a3b-bdf3-a25a1f54c994");
6
+ t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "a7e05aea-745e-4a4b-ba82-432527d9c312", e._sentryDebugIdIdentifier = "sentry-dbid-a7e05aea-745e-4a4b-ba82-432527d9c312");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-Dfh5_zpq.js";
10
- import { t } from "./react-DIEnjHSI.js";
11
- import { c as n } from "./store-C8eFtLML.js";
9
+ import { r as e } from "./rolldown-runtime-G74B3CmN.js";
10
+ import { t } from "./react-B3i5PHk_.js";
11
+ import { c as n } from "./store-Dfx4YNDt.js";
12
12
  //#region src/utils/getRenderTargetFromRoot.ts
13
13
  var r = /* @__PURE__ */ e(t(), 1);
14
14
  function i(e) {
@@ -1,4 +1,4 @@
1
1
  import { type AutocompleteProps } from '../ui/Autocomplete';
2
- declare const AutocompleteContainer: import("react").FunctionComponent<Omit<AutocompleteProps, "renderTarget" | "noOptionsLabel" | "ariaLabel" | "clearLabel">>;
2
+ declare const AutocompleteContainer: import("react").FunctionComponent<Omit<AutocompleteProps, "ariaLabel" | "clearLabel" | "noOptionsLabel" | "renderTarget">>;
3
3
  export default AutocompleteContainer;
4
4
  //# sourceMappingURL=AutocompleteContainer.d.ts.map
@@ -1,3 +1,3 @@
1
- declare const _default: () => false;
2
1
  export default _default;
2
+ declare function _default(): false;
3
3
  //# sourceMappingURL=Bookmarks.d.ts.map
@@ -1 +1 @@
1
- import{jsx as o,Fragment as a,jsxs as m}from"react/jsx-runtime";import{useObserver as e}from"mobx-react-lite";import{useRef as n}from"react";import i from"../data";import r,{uiState as s}from"../store";import k from"../tools/settings";import{EntityList as l}from"./";import f from"./SidebarActionsContainer";function u(){return e(()=>r.bookmarksStore.hasBookmarks?o(f,{className:"efp-sidebar-actions--bookmarks",showDirections:!1,showBookmark:!1,showRoutePlanner:k.wayfinding&&r.bookmarksStore.hasRoutableBookmarks,showShare:!0,onClickRoutePlanner:()=>r.routePlannerStore.launchFromBookmarks(),onClickShare:()=>r.bookmarksStore.share()}):null)}function c(){const t=n();return e(()=>m(a,{children:[o(u,{}),o(l,{updatedScrollableRef:t})]}))}export default()=>e(()=>!i.hideBookmarks&&!s.details&&s.list.type==="bookmarks"&&o(c,{}));
1
+ import{Fragment as a,jsx as o,jsxs as m}from"react/jsx-runtime";import{useObserver as e}from"mobx-react-lite";import{useRef as n}from"react";import i from"../data";import r,{uiState as s}from"../store";import k from"../tools/settings";import{EntityList as l}from"./";import f from"./SidebarActionsContainer";function u(){return e(()=>r.bookmarksStore.hasBookmarks?o(f,{className:"efp-sidebar-actions--bookmarks",showDirections:!1,showBookmark:!1,showRoutePlanner:k.wayfinding&&r.bookmarksStore.hasRoutableBookmarks,showShare:!0,onClickRoutePlanner:()=>r.routePlannerStore.launchFromBookmarks(),onClickShare:()=>r.bookmarksStore.share()}):null)}function c(){const t=n();return e(()=>m(a,{children:[o(u,{}),o(l,{updatedScrollableRef:t})]}))}export default()=>e(()=>!i.hideBookmarks&&!s.details&&s.list.type==="bookmarks"&&o(c,{}));
@@ -1 +1 @@
1
- import{jsx as o,Fragment as b,jsxs as u}from"react/jsx-runtime";import"./Booth.scss";import{observer as p,useLocalStore as _}from"mobx-react-lite";import{useEffect as y,useRef as x}from"react";import l from"../../data";import c,{uiState as i}from"../../store";import{RegularBooth as N,SpecialBooth as S}from"../../store/BoothStore";import C from"../../tools/settings";import{t as E}from"../../utils/i18n";import T from"../../utils/useHeatmapOverlay";import{LevelBadge as I}from"../";import L from"../EntityItemContainer";import j from"../Schedule";import H from"../SidebarActionsContainer";import{BoothOnHold as A}from"./BoothOnHold";import{BoothReserved as M}from"./BoothReserved";import{BoothWithoutExhibitor as k}from"./BoothWithoutExhibitor";const U=p(()=>{const d=x(),e=_(()=>({get booth(){return i.selectedBooth},get regular(){return this.booth instanceof N?this.booth:null},get special(){return this.booth instanceof S?this.booth:null},get showReserve(){return!i.kiosk&&this.regular&&(this.regular.price==="0"&&!!this.regular.buyUrl||!!this.regular.reserveUrl)},get showBuy(){return!i.kiosk&&this.regular&&this.regular.buyUrl&&this.regular.price&&this.regular.price!=="0"},get title(){return this.booth.fullName},get reserveTitle(){return l.reserveButtonTerm||E("Reserve")},get descriptionCombined(){return this.booth.description||l.reserveInstructions||""}}));y(()=>{if(e.booth.schedule?.length){const t=new Date,r=[...e.booth.schedule].sort((n,s)=>new Date(n.startDate).getTime()-new Date(s.startDate).getTime());if(r.some(n=>(n.endDate?new Date(n.endDate):new Date(n.startDate))<t)){const n=r.find(s=>(s.endDate?new Date(s.endDate):new Date(s.startDate))>t);if(n&&d.current){const s=d.current.querySelector(`[data-event-id="${n.id}"]`);s&&setTimeout(()=>{const f=d.current.getBoundingClientRect(),R=s.getBoundingClientRect().top-f.top-20;d.current.scrollTop=R},100)}}}},[e.booth.schedule]);function v(t){const r=parseInt(t);c.clickExhibitor(c.exhibitorStore.exhibitors.find(g=>g.id===r))}function B(t){c.selectEventItem(t,!0)}function D(){e.booth.exhibitors.length===0&&(e.booth.bookmarkedDirectly=!e.booth.bookmarkedDirectly)}const F=o("div",{className:"booth__bar",children:e.title});let a=null;const h=e.booth.layer?.description,{heatmapBar:w}=T(e.booth),m=e.booth.exhibitors.sort((t,r)=>+!!r.featured-+!!t.featured).map(t=>o(L,{onClick:v,id:t.id.toString(),featured:t.featured,kind:"exhibitor",image:t.logo?.url,title:t.name,bookmarked:t.bookmarked,visited:t.visited,additionalInfo:t.booths.map(r=>({type:"location",locationName:r.name,level:h||r.layer?.name}))},t.id.toString()));if(l.isRebooking)a=o(b,{children:m});else if(e.regular){const t=e.regular;t.onHold?a=o(A,{booth:t,description:"",showBuy:!1,showReserve:!1,isRebooking:!1,level:h}):t.reserved?a=o(M,{}):t.exhibitors.length===0?a=o(k,{booth:t,description:e.descriptionCombined,showBuy:!i.previewMode&&e.showBuy,showReserve:!i.previewMode&&e.showReserve,isRebooking:!1,level:h}):a=o(b,{children:m})}else a=u("div",{className:"booth__content -spec",children:[o(I,{level:h}),o("div",{className:"booth__desc",dangerouslySetInnerHTML:{__html:e.special.description}}),o(b,{children:m})]});return u("div",{className:"booth",children:[u("div",{className:"booth__header",children:[u("div",{className:"booth__header-name",children:[o("div",{className:"booth__header-icon",children:o("i",{className:"icon-booth-solid"})}),o("span",{dir:"auto",children:e.title}),w]}),o("button",{type:"button",onClick:()=>c.searchStore.handleBackAction(),className:"booth__header-close",children:o("i",{className:"icon-close"})})]}),!l.isRebooking&&C.wayfinding&&!i.isGuidedToursActive&&o("div",{className:"exhibitor__directions",style:{paddingLeft:15,paddingRight:15},children:o(H,{showBookmark:!i.disableBookmarked&&!l.hideBookmarks&&!i.kiosk&&e.booth.exhibitors.length===0,showShare:!1,inBookmark:e.booth.exhibitors.length===0?e.booth.bookmarkedDirectly:!1,onClickBookmark:D,onClickDirections:()=>{c.routeStore.clickRoute(null,e.booth)}})}),a,l.isRebooking&&e.regular&&e.regular.exhibitors.length===0&&o(k,{showBuy:!1,description:e.descriptionCombined,showReserve:!1,booth:e.regular,isRebooking:l.isRebooking,level:h}),!!e.booth.schedule?.length&&o(j,{isSessions:!0,showBooths:!0,events:[...e.booth.schedule].sort((t,r)=>new Date(t.startDate).getTime()-new Date(r.startDate).getTime()),onEventClick:B})]})});export default p(()=>!i.menu&&i.selectedBooth?o(U,{}):null);
1
+ import{Fragment as b,jsx as o,jsxs as u}from"react/jsx-runtime";import"./Booth.scss";import{observer as p,useLocalStore as _}from"mobx-react-lite";import{useEffect as y,useRef as x}from"react";import l from"../../data";import c,{uiState as i}from"../../store";import{RegularBooth as N,SpecialBooth as S}from"../../store/BoothStore";import C from"../../tools/settings";import{t as E}from"../../utils/i18n";import T from"../../utils/useHeatmapOverlay";import{LevelBadge as I}from"../";import L from"../EntityItemContainer";import j from"../Schedule";import H from"../SidebarActionsContainer";import{BoothOnHold as A}from"./BoothOnHold";import{BoothReserved as M}from"./BoothReserved";import{BoothWithoutExhibitor as k}from"./BoothWithoutExhibitor";const U=p(()=>{const d=x(),e=_(()=>({get booth(){return i.selectedBooth},get regular(){return this.booth instanceof N?this.booth:null},get special(){return this.booth instanceof S?this.booth:null},get showReserve(){return!i.kiosk&&this.regular&&(this.regular.price==="0"&&!!this.regular.buyUrl||!!this.regular.reserveUrl)},get showBuy(){return!i.kiosk&&this.regular&&this.regular.buyUrl&&this.regular.price&&this.regular.price!=="0"},get title(){return this.booth.fullName},get reserveTitle(){return l.reserveButtonTerm||E("Reserve")},get descriptionCombined(){return this.booth.description||l.reserveInstructions||""}}));y(()=>{if(e.booth.schedule?.length){const t=new Date,r=[...e.booth.schedule].sort((n,s)=>new Date(n.startDate).getTime()-new Date(s.startDate).getTime());if(r.some(n=>(n.endDate?new Date(n.endDate):new Date(n.startDate))<t)){const n=r.find(s=>(s.endDate?new Date(s.endDate):new Date(s.startDate))>t);if(n&&d.current){const s=d.current.querySelector(`[data-event-id="${n.id}"]`);s&&setTimeout(()=>{const f=d.current.getBoundingClientRect(),R=s.getBoundingClientRect().top-f.top-20;d.current.scrollTop=R},100)}}}},[e.booth.schedule]);function v(t){const r=parseInt(t);c.clickExhibitor(c.exhibitorStore.exhibitors.find(g=>g.id===r))}function B(t){c.selectEventItem(t,!0)}function D(){e.booth.exhibitors.length===0&&(e.booth.bookmarkedDirectly=!e.booth.bookmarkedDirectly)}const F=o("div",{className:"booth__bar",children:e.title});let a=null;const h=e.booth.layer?.description,{heatmapBar:w}=T(e.booth),m=e.booth.exhibitors.sort((t,r)=>+!!r.featured-+!!t.featured).map(t=>o(L,{onClick:v,id:t.id.toString(),featured:t.featured,kind:"exhibitor",image:t.logo?.url,title:t.name,bookmarked:t.bookmarked,visited:t.visited,additionalInfo:t.booths.map(r=>({type:"location",locationName:r.name,level:h||r.layer?.name}))},t.id.toString()));if(l.isRebooking)a=o(b,{children:m});else if(e.regular){const t=e.regular;t.onHold?a=o(A,{booth:t,description:"",showBuy:!1,showReserve:!1,isRebooking:!1,level:h}):t.reserved?a=o(M,{}):t.exhibitors.length===0?a=o(k,{booth:t,description:e.descriptionCombined,showBuy:!i.previewMode&&e.showBuy,showReserve:!i.previewMode&&e.showReserve,isRebooking:!1,level:h}):a=o(b,{children:m})}else a=u("div",{className:"booth__content -spec",children:[o(I,{level:h}),o("div",{className:"booth__desc",dangerouslySetInnerHTML:{__html:e.special.description}}),o(b,{children:m})]});return u("div",{className:"booth",children:[u("div",{className:"booth__header",children:[u("div",{className:"booth__header-name",children:[o("div",{className:"booth__header-icon",children:o("i",{className:"icon-booth-solid"})}),o("span",{dir:"auto",children:e.title}),w]}),o("button",{type:"button",onClick:()=>c.searchStore.handleBackAction(),className:"booth__header-close",children:o("i",{className:"icon-close"})})]}),!l.isRebooking&&C.wayfinding&&!i.isGuidedToursActive&&o("div",{className:"exhibitor__directions",style:{paddingLeft:15,paddingRight:15},children:o(H,{showBookmark:!i.disableBookmarked&&!l.hideBookmarks&&!i.kiosk&&e.booth.exhibitors.length===0,showShare:!1,inBookmark:e.booth.exhibitors.length===0?e.booth.bookmarkedDirectly:!1,onClickBookmark:D,onClickDirections:()=>{c.routeStore.clickRoute(null,e.booth)}})}),a,l.isRebooking&&e.regular&&e.regular.exhibitors.length===0&&o(k,{showBuy:!1,description:e.descriptionCombined,showReserve:!1,booth:e.regular,isRebooking:l.isRebooking,level:h}),!!e.booth.schedule?.length&&o(j,{isSessions:!0,showBooths:!0,events:[...e.booth.schedule].sort((t,r)=>new Date(t.startDate).getTime()-new Date(r.startDate).getTime()),onEventClick:B})]})});export default p(()=>!i.menu&&i.selectedBooth?o(U,{}):null);
@@ -1,5 +1,5 @@
1
1
  import './Category.scss';
2
2
  import React from 'react';
3
- declare const _default: () => false | React.JSX.Element;
4
3
  export default _default;
4
+ declare function _default(): false | React.JSX.Element;
5
5
  //# sourceMappingURL=Category.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import './Debug.scss';
2
2
  import React from 'react';
3
- declare const _default: () => React.JSX.Element;
4
3
  export default _default;
4
+ declare function _default(): React.JSX.Element;
5
5
  //# sourceMappingURL=Debug.d.ts.map
@@ -1 +1 @@
1
- import{jsx as r,jsxs as a,Fragment as c}from"react/jsx-runtime";import"./Debug.scss";import{useObserver as l}from"mobx-react-lite";import d,{uiState as s}from"../store";import e from"../tools/debugCanvases";import{t as h}from"../utils/i18n";function u(){const o=e.map(t=>t.width*t.height).reduce((t,n)=>t+=n,0),i=e.map(t=>a("div",{className:"debug__canvas",id:t.toDataURL(),children:[t.width,"x",t.height,"=",t.width*t.height,r("br",{}),r("img",{src:t.toDataURL(),alt:"",crossOrigin:"anonymous"})]},t.toDataURL()));return a("div",{className:"debug",children:[r("button",{onClick:()=>d.searchStore.selectSearch(""),children:h("Close")}),a("div",{children:["Total square: ",o]}),i]})}export default()=>l(()=>r(c,{children:s.list.type==="search"&&s.list.text==="q1"?r(u,{}):null}));
1
+ import{Fragment as c,jsx as r,jsxs as a}from"react/jsx-runtime";import"./Debug.scss";import{useObserver as l}from"mobx-react-lite";import d,{uiState as s}from"../store";import e from"../tools/debugCanvases";import{t as h}from"../utils/i18n";function u(){const o=e.map(t=>t.width*t.height).reduce((t,n)=>t+=n,0),i=e.map(t=>a("div",{className:"debug__canvas",id:t.toDataURL(),children:[t.width,"x",t.height,"=",t.width*t.height,r("br",{}),r("img",{src:t.toDataURL(),alt:"",crossOrigin:"anonymous"})]},t.toDataURL()));return a("div",{className:"debug",children:[r("button",{onClick:()=>d.searchStore.selectSearch(""),children:h("Close")}),a("div",{children:["Total square: ",o]}),i]})}export default()=>l(()=>r(c,{children:s.list.type==="search"&&s.list.text==="q1"?r(u,{}):null}));
@@ -9,7 +9,7 @@ export default class ErrorBoundary extends React.Component<ErrorBoundaryProps, E
9
9
  state: ErrorBoundaryState;
10
10
  static getDerivedStateFromError(): ErrorBoundaryState;
11
11
  componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
12
- render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
12
+ render(): string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | Iterable<React.ReactNode> | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | null | undefined;
13
13
  }
14
14
  export {};
15
15
  //# sourceMappingURL=ErrorBoundary.d.ts.map
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{captureException as o}from"@sentry/react";import a from"react";export default class n extends a.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r,t){o(r,{contexts:{react:{componentStack:t.componentStack}}})}render(){return this.state.hasError?e("h4",{style:{textAlign:"center"},children:"Not available offline."}):this.props.children}}
1
+ import{jsx as e}from"react/jsx-runtime";import{captureException as o}from"@sentry/react";import n from"react";export default class a extends n.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r,t){o(r,{contexts:{react:{componentStack:t.componentStack}}})}render(){return this.state.hasError?e("h4",{style:{textAlign:"center"},children:"Not available offline."}):this.props.children}}
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l,Fragment as I}from"react/jsx-runtime";import"./Event.scss";import c from"classnames";import g from"dateformat";import{observer as M,useLocalStore as T,useObserver as x}from"mobx-react-lite";import{useEffect as F,useRef as C,useState as y}from"react";import u from"../data";import a,{uiState as s}from"../store";import{GaEventActions as m,sendEventToGa as v}from"../tools/gtag";import O from"../tools/settings";import H from"../ui/Button";import{useReaction as j}from"../utils/mobx";import A from"../utils/sanitizeHtml";import B from"./EventBadgeContainer";import V from"./ShowMoreButtonContainer";import G from"./SidebarActionsContainer";import{getDescription as L}from"./utils/getDescription";function R(){const n=C(null),o=T(()=>({collapsed:!0,updateOverlayContent:null,get event(){return s.selectedEventItem},get booth(){return this.event?.boothId?a.boothStore.booths.find(t=>t.id===this.event.boothId):null},get disableCollapse(){return(this.event?.description||"").length<800}})),[k,D]=y(!1),[h,_]=y(!1),f=C(null);F(()=>{(()=>{if(f.current){const r=f.current.offsetHeight;D(r>300)}})()},[]),j(()=>o.event,()=>{n.current&&n.current.parentElement&&(n.current.parentElement.scrollTop=0),o.collapsed=!0,_(!1)});function q(t,r){if(b(r),s.kiosk)return t.preventDefault()}function b(t){o.event&&v(t,o.event.name)}const N=t=>{const r=a.sessionsFilterStore.state.filters.use24hFormat.value,p=new Date(t);return g(p,r?"HH:MM":"h:MMtt")},w=t=>{const r=new Date(t);return g(r,"dddd, mmmm d, yyyy")};return x(()=>{const t=o.event;if(!t)return null;const r=l(I,{children:[e("div",{className:"efp-event__bar",children:e("span",{onClick:()=>a.toggleMapOverlay(),children:l("div",{className:"efp-event__bar-name",children:[e("div",{className:"efp-event__bar-icon",children:e("i",{className:"icon-event-solid"})}),l("span",{dir:"auto",children:[t.name,e(B,{event:t})]})]})})}),e("div",{className:"efp-event__bar-booth",onClick:()=>a.toggleMapOverlay(),children:u.boothTerm})]}),p=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function J(i,d){return!i||!d||s.kiosk||s.previewMode?null:e("div",{className:"event-custom-button",children:e(H,{link:d,inline:!0,onClick:E=>{E.preventDefault(),b(m.ClickCustomButton),window.open(d,"_blank","noopener,noreferrer")},target:"_blank",children:i})})}const S=c({"efp-event":!0,[s.responsiveClass]:!0});return l("div",{className:S,children:[l("div",{className:"efp-event__header",children:[l("div",{className:"efp-event__header-name",children:[e("div",{className:"efp-event__header-icon",children:e("i",{className:"icon-event-solid"})}),l("span",{dir:"auto",children:[t.name,e(B,{event:t})]})]}),e("button",{type:"button",onClick:()=>a.searchStore.handleBackAction(),className:"efp-event__header-close",children:e("i",{className:"icon-close"})})]}),e("div",{className:"efp-event__buttons",children:!s.isGuidedToursActive&&e(G,{showBookmark:!s.disableBookmarked&&!u.hideBookmarks&&!s.kiosk,showDirections:o.booth&&O.wayfinding,inBookmark:o.event?.bookmarked||!1,showShare:!0,showVisited:!s.kiosk,visited:o.event?.visited||!1,onClickBookmark:$,onClickShare:K,onClickDirections:()=>{o.booth&&a.routeStore.clickRoute(null,o.booth)},onClickVisited:z})}),l("div",{className:c("efp-event__details",{"details-hidden":s.kiosk&&k&&!h}),ref:f,children:[l("div",{className:c("efp-event-booths",{"is-links-disabled":s.isGuidedToursActive}),children:[o.booth&&l("a",{href:`?${o.booth.slug}`,onClick:i=>{i.preventDefault(),a.toggleMapOverlay(),a.selectBooth(o.booth)},className:"efp-event-booths__booth",children:[e("div",{className:"efp-event-booths__booth-name",children:o.booth.name}),o.booth.layer&&e("div",{className:"efp-event-categories__booth-level",children:u.shortLevelName?o.booth.layer.shortName:o.booth.layer.description})]}),t.hasTracks&&t.tracks.map(i=>e("div",{className:"efp-event-booths__track",children:i.name},i.id))]}),l("div",{className:"efp-event-list",children:[l("div",{className:"efp-event-list__block",children:[e("div",{className:"efp-event-list__block-icon",children:e("i",{className:"icon-event-solid"})}),e("div",{className:"efp-event-list__block-content",children:e("div",{className:"efp-event-list__block-item",children:l("div",{className:"efp-event-list__block-info",children:[e("div",{className:"efp-event-list__block-title",children:w(t.startDate)}),l("div",{className:"efp-event-list__block-description",children:[N(t.startDate)," to"," ",t.endDate?N(t.endDate):"-"]})]})})})]}),t.hasSpeakers&&l("div",{className:"efp-event-list__block",children:[e("div",{className:"efp-event-list__block-icon",children:e("i",{className:"icon-speaker-solid"})}),e("div",{className:"efp-event-list__block-content",children:t.speakers.map(i=>l("a",{href:`?${i.slug}`,onClick:d=>{d.preventDefault(),a.selectSpeaker(i,!0)},className:"efp-event-list__block-item efp-event-list__block-item--clickable",children:[i.photoFile&&e("div",{className:"efp-event-list__block-avatar",children:e("img",{src:i.photoFile,alt:i.name})}),l("div",{className:"efp-event-list__block-info",children:[e("div",{className:"efp-event-list__block-title",children:i.name}),l("div",{className:"efp-event-list__block-description",children:[i.company&&e("strong",{children:i.company}),i.jobTitle&&e("span",{children:i.jobTitle})]})]})]},i.id))})]})]}),(t.description||t.logoFile)&&l("div",{className:c("efp-event-description",{collapsed:o.collapsed&&!o.disableCollapse&&!s.kiosk}),children:[t.logoFile&&e("div",{className:c("efp-event-description__logo",{"efp-event-description__logo--left":!t.description}),children:e("img",{src:t.logoFile,alt:t.name,crossOrigin:"anonymous"})}),t.description&&e("span",{className:"event-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:A(L(t.description))},onClick:p})]})]}),s.kiosk&&k&&e(V,{className:c("efp-event__show-more",{"is-sticky":h}),expanded:h,onClick:()=>_(i=>!i)})]})})}function K(){const n=s.selectedEventItem;n&&(v(m.ClickCustomButton,n.name),a.toggleModal("share"))}function $(){const n=s.selectedEventItem;n&&(n.bookmarked=!n.bookmarked,s.onBookmarkClick&&s.onBookmarkClick({name:n.name,bookmarked:n.bookmarked,externalId:n.externalId}),v(m.ClickCustomButton,n.name))}function z(){const n=s.selectedEventItem;n&&(n.visited=!n.visited,s.onVisitedClick&&s.onVisitedClick({name:n.name,visited:n.visited,externalId:n.externalId}),v(m.ClickCustomButton,n.name))}const W=M(()=>s.selectedEventItem?e(R,{}):null);export default W;
1
+ import{Fragment as I,jsx as e,jsxs as l}from"react/jsx-runtime";import"./Event.scss";import c from"classnames";import g from"dateformat";import{observer as M,useLocalStore as T,useObserver as x}from"mobx-react-lite";import{useEffect as F,useRef as C,useState as y}from"react";import u from"../data";import a,{uiState as s}from"../store";import{GaEventActions as m,sendEventToGa as v}from"../tools/gtag";import O from"../tools/settings";import H from"../ui/Button";import{useReaction as j}from"../utils/mobx";import A from"../utils/sanitizeHtml";import B from"./EventBadgeContainer";import V from"./ShowMoreButtonContainer";import G from"./SidebarActionsContainer";import{getDescription as L}from"./utils/getDescription";function R(){const n=C(null),o=T(()=>({collapsed:!0,updateOverlayContent:null,get event(){return s.selectedEventItem},get booth(){return this.event?.boothId?a.boothStore.booths.find(t=>t.id===this.event.boothId):null},get disableCollapse(){return(this.event?.description||"").length<800}})),[k,D]=y(!1),[h,_]=y(!1),f=C(null);F(()=>{(()=>{if(f.current){const r=f.current.offsetHeight;D(r>300)}})()},[]),j(()=>o.event,()=>{n.current&&n.current.parentElement&&(n.current.parentElement.scrollTop=0),o.collapsed=!0,_(!1)});function q(t,r){if(b(r),s.kiosk)return t.preventDefault()}function b(t){o.event&&v(t,o.event.name)}const N=t=>{const r=a.sessionsFilterStore.state.filters.use24hFormat.value,p=new Date(t);return g(p,r?"HH:MM":"h:MMtt")},w=t=>{const r=new Date(t);return g(r,"dddd, mmmm d, yyyy")};return x(()=>{const t=o.event;if(!t)return null;const r=l(I,{children:[e("div",{className:"efp-event__bar",children:e("span",{onClick:()=>a.toggleMapOverlay(),children:l("div",{className:"efp-event__bar-name",children:[e("div",{className:"efp-event__bar-icon",children:e("i",{className:"icon-event-solid"})}),l("span",{dir:"auto",children:[t.name,e(B,{event:t})]})]})})}),e("div",{className:"efp-event__bar-booth",onClick:()=>a.toggleMapOverlay(),children:u.boothTerm})]}),p=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function J(i,d){return!i||!d||s.kiosk||s.previewMode?null:e("div",{className:"event-custom-button",children:e(H,{link:d,inline:!0,onClick:E=>{E.preventDefault(),b(m.ClickCustomButton),window.open(d,"_blank","noopener,noreferrer")},target:"_blank",children:i})})}const S=c({"efp-event":!0,[s.responsiveClass]:!0});return l("div",{className:S,children:[l("div",{className:"efp-event__header",children:[l("div",{className:"efp-event__header-name",children:[e("div",{className:"efp-event__header-icon",children:e("i",{className:"icon-event-solid"})}),l("span",{dir:"auto",children:[t.name,e(B,{event:t})]})]}),e("button",{type:"button",onClick:()=>a.searchStore.handleBackAction(),className:"efp-event__header-close",children:e("i",{className:"icon-close"})})]}),e("div",{className:"efp-event__buttons",children:!s.isGuidedToursActive&&e(G,{showBookmark:!s.disableBookmarked&&!u.hideBookmarks&&!s.kiosk,showDirections:o.booth&&O.wayfinding,inBookmark:o.event?.bookmarked||!1,showShare:!0,showVisited:!s.kiosk,visited:o.event?.visited||!1,onClickBookmark:$,onClickShare:K,onClickDirections:()=>{o.booth&&a.routeStore.clickRoute(null,o.booth)},onClickVisited:z})}),l("div",{className:c("efp-event__details",{"details-hidden":s.kiosk&&k&&!h}),ref:f,children:[l("div",{className:c("efp-event-booths",{"is-links-disabled":s.isGuidedToursActive}),children:[o.booth&&l("a",{href:`?${o.booth.slug}`,onClick:i=>{i.preventDefault(),a.toggleMapOverlay(),a.selectBooth(o.booth)},className:"efp-event-booths__booth",children:[e("div",{className:"efp-event-booths__booth-name",children:o.booth.name}),o.booth.layer&&e("div",{className:"efp-event-categories__booth-level",children:u.shortLevelName?o.booth.layer.shortName:o.booth.layer.description})]}),t.hasTracks&&t.tracks.map(i=>e("div",{className:"efp-event-booths__track",children:i.name},i.id))]}),l("div",{className:"efp-event-list",children:[l("div",{className:"efp-event-list__block",children:[e("div",{className:"efp-event-list__block-icon",children:e("i",{className:"icon-event-solid"})}),e("div",{className:"efp-event-list__block-content",children:e("div",{className:"efp-event-list__block-item",children:l("div",{className:"efp-event-list__block-info",children:[e("div",{className:"efp-event-list__block-title",children:w(t.startDate)}),l("div",{className:"efp-event-list__block-description",children:[N(t.startDate)," to"," ",t.endDate?N(t.endDate):"-"]})]})})})]}),t.hasSpeakers&&l("div",{className:"efp-event-list__block",children:[e("div",{className:"efp-event-list__block-icon",children:e("i",{className:"icon-speaker-solid"})}),e("div",{className:"efp-event-list__block-content",children:t.speakers.map(i=>l("a",{href:`?${i.slug}`,onClick:d=>{d.preventDefault(),a.selectSpeaker(i,!0)},className:"efp-event-list__block-item efp-event-list__block-item--clickable",children:[i.photoFile&&e("div",{className:"efp-event-list__block-avatar",children:e("img",{src:i.photoFile,alt:i.name})}),l("div",{className:"efp-event-list__block-info",children:[e("div",{className:"efp-event-list__block-title",children:i.name}),l("div",{className:"efp-event-list__block-description",children:[i.company&&e("strong",{children:i.company}),i.jobTitle&&e("span",{children:i.jobTitle})]})]})]},i.id))})]})]}),(t.description||t.logoFile)&&l("div",{className:c("efp-event-description",{collapsed:o.collapsed&&!o.disableCollapse&&!s.kiosk}),children:[t.logoFile&&e("div",{className:c("efp-event-description__logo",{"efp-event-description__logo--left":!t.description}),children:e("img",{src:t.logoFile,alt:t.name,crossOrigin:"anonymous"})}),t.description&&e("span",{className:"event-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:A(L(t.description))},onClick:p})]})]}),s.kiosk&&k&&e(V,{className:c("efp-event__show-more",{"is-sticky":h}),expanded:h,onClick:()=>_(i=>!i)})]})})}function K(){const n=s.selectedEventItem;n&&(v(m.ClickCustomButton,n.name),a.toggleModal("share"))}function $(){const n=s.selectedEventItem;n&&(n.bookmarked=!n.bookmarked,s.onBookmarkClick&&s.onBookmarkClick({name:n.name,bookmarked:n.bookmarked,externalId:n.externalId}),v(m.ClickCustomButton,n.name))}function z(){const n=s.selectedEventItem;n&&(n.visited=!n.visited,s.onVisitedClick&&s.onVisitedClick({name:n.name,visited:n.visited,externalId:n.externalId}),v(m.ClickCustomButton,n.name))}const W=M(()=>s.selectedEventItem?e(R,{}):null);export default W;
@@ -1,5 +1,5 @@
1
1
  import './Exhibitor.scss';
2
2
  import React from 'react';
3
- declare const _default: () => React.JSX.Element;
4
3
  export default _default;
4
+ declare function _default(): React.JSX.Element;
5
5
  //# sourceMappingURL=Exhibitor.d.ts.map
@@ -1 +1 @@
1
- import{jsx as i,jsxs as n,Fragment as N}from"react/jsx-runtime";import"./Exhibitor.scss";import g from"classnames";import{observer as Q,useLocalStore as Z,useObserver as R}from"mobx-react-lite";import ee,{Suspense as T,useEffect as ie,useRef as C,useState as D}from"react";import{Transition as te}from"react-transition-group";import p from"../data";import a,{uiState as o}from"../store";import{RegularBooth as oe}from"../store/BoothStore";import{GaEventActions as d,sendEventToGa as I}from"../tools/gtag";import re from"../tools/logger";import y from"../tools/settings";import O from"../ui/Button";import{t as h}from"../utils/i18n";import ne from"../utils/is-mobile";import{useReaction as ae}from"../utils/mobx";import se from"../utils/useHeatmapOverlay";import le from"./AlertContainer";import ce from"./DownloadListContainer";import U from"./ErrorBoundary";import de from"./RebookingNotesContainer";import he from"./RebookingRadioGroupContainer";import me from"./Schedule";import ue from"./ShowMoreButtonContainer";import be from"./SidebarActionsContainer";import{getDescription as ke}from"./utils/getDescription";const G=ee.lazy(()=>import("./Gallery/Gallery")),ge=Q(function(){const S=C(null),r=Z(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return o.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return o.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||o.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(p.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=se(r.exhibitor),[w,z]=D(!1),[f,M]=D(!1),x=C(null);ie(()=>((()=>{if(x.current){const c=x.current.offsetHeight;z(c>300)}})(),()=>{a.exhibitorStore.rebookingStateChangeRequested=!1}),[]),ae(()=>r.exhibitor,()=>{S.current&&(S.current.parentElement.scrollTop=0),r.collapsed=!0});function _(e,c){if(u(c),o.kiosk)return e.preventDefault()}function H(e,c,m){I(d.ClickCustomButton,r.exhibitor.name);const b={externalId:r.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:m.preventDefault.bind(m)};o.onExhibitorCustomButtonClick&&o.onExhibitorCustomButtonClick(b)}function u(e){I(e,r.exhibitor.name)}const B=C(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},E=150;return R(()=>{const e=r.exhibitor,c=p.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof oe&&s.size&&t.add(s.size);const l=Array.from(t);return n("div",{children:[l.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:n("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),n("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:h("Size")}),i("div",{className:"booth__info-val",children:l.join(", ")})]})]})}),i(he,{value:e.rebookingState.toString(),onChange:s=>a.exhibitorStore.setRebookingState(e,parseInt(s),e.rebookingNote)}),i(de,{value:e.rebookingNote||"",onSave:s=>a.exhibitorStore.setRebookingState(e,e.rebookingState,s)},e.id),i(te,{in:a.exhibitorStore.rebookingStateChangeRequested,nodeRef:B,timeout:E,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:B,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${E}ms ease-in-out`,opacity:0,...V[s]},children:i(le,{title:a.exhibitorStore.rebookingStateSaved?h("Changes saved"):h("Oops! Something went wrong"),variant:a.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{a.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,m=g({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[o.responsiveClass]:!0}),b=()=>{r.collapsed=!1,setTimeout(r.updateOverlayContent)};function k(t,l,s){return!t||!l||o.kiosk||o.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(O,{link:l,inline:!0,onClick:v=>{H(s,l,v)},target:"_blank",children:t})},s)}const X=({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 K(){return!p.hideShareButton&&!o.kiosk&&window.location.host.endsWith(".expofp.com")&&y.EXPO!=="globalaltsmiami2024"}function L(){r.updateOverlayContent()}const W=()=>{a.routeStore.clickRoute(null,a.routeStore.tempToBooth||e.booths[0]),a.routeStore.currentRouteExhibitor=e},J=t=>/^\d+$/.test(t),Y=t=>p.shortLevelName?t.layer?.shortName:t.layer?.description;return n("div",{className:m,"aria-label":h("Details"),children:[n("div",{className:"exhibitor__header",children:[n("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:()=>a.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||n(N,{children:[i("div",{className:"exhibitor__buttons",children:!o.isGuidedToursActive&&i(be,{showBookmark:!o.disableBookmarked&&!p.hideBookmarks&&!o.kiosk,showDirections:e.booths.length>0&&y.wayfinding,inBookmark:e.bookmarked,showShare:K(),showVisited:!o.kiosk,visited:e.visited,onClickBookmark:F,onClickShare:P,onClickDirections:W,onClickVisited:$})}),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(U,{children:i(T,{fallback:null,children:i(G,{className:o.responsiveClass,onOpenGallery:()=>a.openGallery(),onCloseGallery:()=>a.closeGallery(),onImageLoadHeightUpdate:L,leading:!0,images:[e.leadingImageUrl]})})})}):null,n("div",{className:g("exhibitor__details",{"details-hidden":o.kiosk&&w&&!f}),ref:x,children:[n("div",{className:g("exhibitor-categories",{"is-links-disabled":o.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:h("Featured")}),e.booths.map(t=>{const l=Y(t),s=v=>{v.preventDefault(),a.toggleMapOverlay(),a.selectBooth(t)};return n("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),l&&n("div",{className:"exhibitor-categories__booth-level",children:[J(l)?h("Level")+" ":"",l]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:l=>{l.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?.url?n("div",{className:g("exhibitor-description",{collapsed:r.collapsed&&!r.disableCollapse}),children:[e.logo?.url?i("div",{className:g("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo.url,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:ke(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(me,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,l)=>new Date(t.startDate).getTime()-new Date(l.startDate).getTime())}),!o.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:h("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(d.ViewGallery),children:i(U,{children:i(T,{fallback:null,children:i(G,{className:o.responsiveClass,onOpenGallery:()=>a.openGallery(),onCloseGallery:()=>a.closeGallery(),onImageLoadHeightUpdate:L,images:e.gallery})})})}),!o.kiosk&&e.marketMaterials&&n(N,{children:[i("div",{className:"exhibitor-sep"}),i(ce,{list:e.marketMaterials})]}),r.showEdit&&i("div",{className:"exhibitor-sep"}),!o.kiosk&&r.showEdit&&i("div",{className:"exhibitor-edit",children:i(O,{size:"sm",variant:"secondary",onClick:q,children:h("Edit")})}),r.anyAddress&&n("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&n("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),n("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&n("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&&n("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=>_(t,d.ClickPhone),children:e.phone1})})]}),!!e.website&&n("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=>_(t,d.ClickWebsite),children:r.websiteTrimmed})})]}),!!e.email&&n("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=>_(t,d.ClickEmail),children:e.email})})]}),r.anySocial&&n("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(X,{exhibitor:e})]}),o.kiosk&&w&&i(ue,{className:g("exhibitor__show-more",{"is-sticky":f}),expanded:f,onClick:()=>M(t=>!t)})]})]})});function P(){const e=window.navigator,c={title:o.selectedExhibitor.name,url:window.location.href};ne&&e?.canShare&&e.canShare(c)?e.share(c):a.toggleModal("share")}function j(e){a.clickCategory(e)}function q(e){if(o.kiosk)return e.preventDefault();e.target.blur();const c=r.sendLinkEmail;if(!window.confirm(h("Send login instructions to {{email}} to edit profile?",{email:c}))||y.EXPO==="expo")return;const m=new XMLHttpRequest;m.open("POST",p.sendLoginLinkUrl),m.setRequestHeader("Content-Type","application/json");function b(){alert(h("Error sending login instructions"))}m.onload=function(k){if(this.status!==200){b();return}alert(h("A link to edit profile was sent to {{email}}",{email:c}))},m.onerror=function(k){re.error("Error",k),b()},m.send(JSON.stringify({id:r.exhibitor.id}))}function F(){r.exhibitor.bookmarked=!r.exhibitor.bookmarked,o.onBookmarkClick&&o.onBookmarkClick({name:r.exhibitor.name,bookmarked:r.exhibitor.bookmarked,externalId:r.exhibitor.externalId})}function $(){r.exhibitor.visited=!r.exhibitor.visited,o.onVisitedClick&&o.onVisitedClick({name:r.exhibitor.name,visited:r.exhibitor.visited,externalId:r.exhibitor.externalId})}});export default()=>R(()=>i(N,{children:!o.menu&&o.selectedExhibitor?i(ge,{}):null}));
1
+ import{Fragment as N,jsx as i,jsxs as n}from"react/jsx-runtime";import"./Exhibitor.scss";import g from"classnames";import{observer as Q,useLocalStore as Z,useObserver as R}from"mobx-react-lite";import ee,{Suspense as T,useEffect as ie,useRef as C,useState as D}from"react";import{Transition as te}from"react-transition-group";import p from"../data";import a,{uiState as o}from"../store";import{RegularBooth as oe}from"../store/BoothStore";import{GaEventActions as d,sendEventToGa as I}from"../tools/gtag";import re from"../tools/logger";import y from"../tools/settings";import O from"../ui/Button";import{t as h}from"../utils/i18n";import ne from"../utils/is-mobile";import{useReaction as ae}from"../utils/mobx";import se from"../utils/useHeatmapOverlay";import le from"./AlertContainer";import ce from"./DownloadListContainer";import U from"./ErrorBoundary";import de from"./RebookingNotesContainer";import he from"./RebookingRadioGroupContainer";import me from"./Schedule";import ue from"./ShowMoreButtonContainer";import be from"./SidebarActionsContainer";import{getDescription as ke}from"./utils/getDescription";const G=ee.lazy(()=>import("./Gallery/Gallery")),ge=Q(function(){const S=C(null),r=Z(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return o.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return o.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||o.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(p.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=se(r.exhibitor),[w,z]=D(!1),[f,M]=D(!1),x=C(null);ie(()=>((()=>{if(x.current){const c=x.current.offsetHeight;z(c>300)}})(),()=>{a.exhibitorStore.rebookingStateChangeRequested=!1}),[]),ae(()=>r.exhibitor,()=>{S.current&&(S.current.parentElement.scrollTop=0),r.collapsed=!0});function _(e,c){if(u(c),o.kiosk)return e.preventDefault()}function H(e,c,m){I(d.ClickCustomButton,r.exhibitor.name);const b={externalId:r.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:m.preventDefault.bind(m)};o.onExhibitorCustomButtonClick&&o.onExhibitorCustomButtonClick(b)}function u(e){I(e,r.exhibitor.name)}const B=C(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},E=150;return R(()=>{const e=r.exhibitor,c=p.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof oe&&s.size&&t.add(s.size);const l=Array.from(t);return n("div",{children:[l.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:n("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),n("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:h("Size")}),i("div",{className:"booth__info-val",children:l.join(", ")})]})]})}),i(he,{value:e.rebookingState.toString(),onChange:s=>a.exhibitorStore.setRebookingState(e,parseInt(s),e.rebookingNote)}),i(de,{value:e.rebookingNote||"",onSave:s=>a.exhibitorStore.setRebookingState(e,e.rebookingState,s)},e.id),i(te,{in:a.exhibitorStore.rebookingStateChangeRequested,nodeRef:B,timeout:E,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:B,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${E}ms ease-in-out`,opacity:0,...V[s]},children:i(le,{title:a.exhibitorStore.rebookingStateSaved?h("Changes saved"):h("Oops! Something went wrong"),variant:a.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{a.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,m=g({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[o.responsiveClass]:!0}),b=()=>{r.collapsed=!1,setTimeout(r.updateOverlayContent)};function k(t,l,s){return!t||!l||o.kiosk||o.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(O,{link:l,inline:!0,onClick:v=>{H(s,l,v)},target:"_blank",children:t})},s)}const X=({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 K(){return!p.hideShareButton&&!o.kiosk&&window.location.host.endsWith(".expofp.com")&&y.EXPO!=="globalaltsmiami2024"}function L(){r.updateOverlayContent()}const W=()=>{a.routeStore.clickRoute(null,a.routeStore.tempToBooth||e.booths[0]),a.routeStore.currentRouteExhibitor=e},J=t=>/^\d+$/.test(t),Y=t=>p.shortLevelName?t.layer?.shortName:t.layer?.description;return n("div",{className:m,"aria-label":h("Details"),children:[n("div",{className:"exhibitor__header",children:[n("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:()=>a.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||n(N,{children:[i("div",{className:"exhibitor__buttons",children:!o.isGuidedToursActive&&i(be,{showBookmark:!o.disableBookmarked&&!p.hideBookmarks&&!o.kiosk,showDirections:e.booths.length>0&&y.wayfinding,inBookmark:e.bookmarked,showShare:K(),showVisited:!o.kiosk,visited:e.visited,onClickBookmark:F,onClickShare:P,onClickDirections:W,onClickVisited:$})}),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(U,{children:i(T,{fallback:null,children:i(G,{className:o.responsiveClass,onOpenGallery:()=>a.openGallery(),onCloseGallery:()=>a.closeGallery(),onImageLoadHeightUpdate:L,leading:!0,images:[e.leadingImageUrl]})})})}):null,n("div",{className:g("exhibitor__details",{"details-hidden":o.kiosk&&w&&!f}),ref:x,children:[n("div",{className:g("exhibitor-categories",{"is-links-disabled":o.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:h("Featured")}),e.booths.map(t=>{const l=Y(t),s=v=>{v.preventDefault(),a.toggleMapOverlay(),a.selectBooth(t)};return n("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),l&&n("div",{className:"exhibitor-categories__booth-level",children:[J(l)?h("Level")+" ":"",l]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:l=>{l.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?.url?n("div",{className:g("exhibitor-description",{collapsed:r.collapsed&&!r.disableCollapse}),children:[e.logo?.url?i("div",{className:g("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo.url,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:ke(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(me,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,l)=>new Date(t.startDate).getTime()-new Date(l.startDate).getTime())}),!o.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:h("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(d.ViewGallery),children:i(U,{children:i(T,{fallback:null,children:i(G,{className:o.responsiveClass,onOpenGallery:()=>a.openGallery(),onCloseGallery:()=>a.closeGallery(),onImageLoadHeightUpdate:L,images:e.gallery})})})}),!o.kiosk&&e.marketMaterials&&n(N,{children:[i("div",{className:"exhibitor-sep"}),i(ce,{list:e.marketMaterials})]}),r.showEdit&&i("div",{className:"exhibitor-sep"}),!o.kiosk&&r.showEdit&&i("div",{className:"exhibitor-edit",children:i(O,{size:"sm",variant:"secondary",onClick:q,children:h("Edit")})}),r.anyAddress&&n("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&n("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),n("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&n("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&&n("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=>_(t,d.ClickPhone),children:e.phone1})})]}),!!e.website&&n("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=>_(t,d.ClickWebsite),children:r.websiteTrimmed})})]}),!!e.email&&n("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=>_(t,d.ClickEmail),children:e.email})})]}),r.anySocial&&n("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(X,{exhibitor:e})]}),o.kiosk&&w&&i(ue,{className:g("exhibitor__show-more",{"is-sticky":f}),expanded:f,onClick:()=>M(t=>!t)})]})]})});function P(){const e=window.navigator,c={title:o.selectedExhibitor.name,url:window.location.href};ne&&e?.canShare&&e.canShare(c)?e.share(c):a.toggleModal("share")}function j(e){a.clickCategory(e)}function q(e){if(o.kiosk)return e.preventDefault();e.target.blur();const c=r.sendLinkEmail;if(!window.confirm(h("Send login instructions to {{email}} to edit profile?",{email:c}))||y.EXPO==="expo")return;const m=new XMLHttpRequest;m.open("POST",p.sendLoginLinkUrl),m.setRequestHeader("Content-Type","application/json");function b(){alert(h("Error sending login instructions"))}m.onload=function(k){if(this.status!==200){b();return}alert(h("A link to edit profile was sent to {{email}}",{email:c}))},m.onerror=function(k){re.error("Error",k),b()},m.send(JSON.stringify({id:r.exhibitor.id}))}function F(){r.exhibitor.bookmarked=!r.exhibitor.bookmarked,o.onBookmarkClick&&o.onBookmarkClick({name:r.exhibitor.name,bookmarked:r.exhibitor.bookmarked,externalId:r.exhibitor.externalId})}function $(){r.exhibitor.visited=!r.exhibitor.visited,o.onVisitedClick&&o.onVisitedClick({name:r.exhibitor.name,visited:r.exhibitor.visited,externalId:r.exhibitor.externalId})}});export default()=>R(()=>i(N,{children:!o.menu&&o.selectedExhibitor?i(ge,{}):null}));
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- declare const _default: () => React.JSX.Element;
3
2
  export default _default;
3
+ declare function _default(): React.JSX.Element;
4
4
  //# sourceMappingURL=Filter.d.ts.map
@@ -1 +1 @@
1
- import{jsx as r,Fragment as a}from"react/jsx-runtime";import{useLocalStore as s,useObserver as l}from"mobx-react-lite";import{useCallback as u,useRef as i}from"react";import{uiState as t}from"../store";import p from"./EntityList";function m(){const o=i(),e=s(()=>({updateOverlayContent:null,get list(){return t.list}})),n=u(()=>{e.updateOverlayContent&&e.updateOverlayContent()},[e.updateOverlayContent]);return l(()=>r(p,{updateScroll:n,updatedScrollableRef:o}))}export default()=>l(()=>r(a,{children:!t.details&&!t.menu&&t.list.type==="filter"&&r(m,{})}));
1
+ import{Fragment as a,jsx as r}from"react/jsx-runtime";import{useLocalStore as s,useObserver as l}from"mobx-react-lite";import{useCallback as u,useRef as i}from"react";import{uiState as t}from"../store";import p from"./EntityList";function m(){const o=i(),e=s(()=>({updateOverlayContent:null,get list(){return t.list}})),n=u(()=>{e.updateOverlayContent&&e.updateOverlayContent()},[e.updateOverlayContent]);return l(()=>r(p,{updateScroll:n,updatedScrollableRef:o}))}export default()=>l(()=>r(a,{children:!t.details&&!t.menu&&t.list.type==="filter"&&r(m,{})}));
@@ -1 +1 @@
1
- import{jsx as a,jsxs as e,Fragment as r}from"react/jsx-runtime";const i=({count:l,onFullscreen:s})=>e(r,{children:[e("div",{className:"gallery__badge gallery__badge-count",children:[a("i",{className:"icon-image"}),a("span",{children:l})]}),a("div",{className:"gallery__badge gallery__badge-fullscreen",onClick:s,children:a("i",{className:"icon-maximize"})})]});export default i;
1
+ import{Fragment as r,jsx as a,jsxs as e}from"react/jsx-runtime";const i=({count:l,onFullscreen:s})=>e(r,{children:[e("div",{className:"gallery__badge gallery__badge-count",children:[a("i",{className:"icon-image"}),a("span",{children:l})]}),a("div",{className:"gallery__badge gallery__badge-fullscreen",onClick:s,children:a("i",{className:"icon-maximize"})})]});export default i;
@@ -1 +1 @@
1
- class h{cache=[];load=a=>new Promise((c,s)=>{a||c(null);var e=this.cache.filter(i=>i.src===a)[0];e?c(e):(e=new Image,e.crossOrigin="anonymous",e.src=a,e.onload=()=>{this.cache.length>10&&this.cache.shift(),this.cache.push(e),c(e)},e.onerror=i=>{s(i)})})}export default new h;
1
+ class h{constructor(){this.cache=[],this.load=c=>new Promise((s,i)=>{c||s(null);var e=this.cache.filter(a=>a.src===c)[0];e?s(e):(e=new Image,e.crossOrigin="anonymous",e.src=c,e.onload=()=>{this.cache.length>10&&this.cache.shift(),this.cache.push(e),s(e)},e.onerror=a=>{i(a)})})}}export default new h;
@@ -1 +1 @@
1
- import{__esDecorate as s,__runInitializers as d}from"tslib";import{action as l,computed as u,observable as j,toJS as c}from"mobx";import a from"../../store";import{areLayersEnabled as A}from"../../utils/areLayersEnabled";import{t as m}from"../../utils/i18n";import{isPointVisible as E}from"../Map/visibleArea";import{updateKiosk as X}from"./kioskApi";import{getSavedKiosk as Y,removeKiosk as q,saveKiosk as B}from"./SetKiosk";let J=(()=>{let i=[],k,g,f,S,p=[],v=[],_,C,K=[],M=[],y,b,D,P,F,I,z,N,R,w,x,T,U;return class{static{const t=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;k=[u({keepAlive:!0})],g=[l],f=[u({keepAlive:!0})],S=[j],_=[u({keepAlive:!0})],C=[j],y=[l],b=[l],D=[l],P=[l],F=[l],I=[l],z=[l],N=[l],R=[l],w=[l],x=[l],T=[l],U=[l],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,f,{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,y,{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,b,{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,F,{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,I,{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,R,{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,w,{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,x,{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,T,{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,U,{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,S,{kind:"field",name:"savedKiosk",static:!1,private:!1,access:{has:e=>"savedKiosk"in e,get:e=>e.savedKiosk,set:(e,r)=>{e.savedKiosk=r}},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,r)=>{e.statusMessages=r}},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,null));get hasUnsavedChanges(){const t=this.savedKiosk,e=c(this.kiosk);if(!e||!t)return!!e!=!!t;const r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!0;for(const o of r)if(!(o in e)||t[o]!==e[o])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)}isResettingCamera=!1;async resetCamera(){const t=this.renderer;if(!(!t||this.isResettingCamera)){this.isResettingCamera=!0;try{const{z:e,mapRollDegrees:r,mapInitialPtScale:n,mapPtScale:o,mapCenterX:h,mapCenterY:O}=this.kiosk||{};await t.controls.resetCamera({pan:!0,zoom:!0,roll:!0,pitch:!0},!0),e&&a.fp.activateFloor({name:e}),Number.isFinite(n)&&Number.isFinite(o)&&o>0&&await t.controls.zoomBy(n/o,!0),Number.isFinite(h)&&Number.isFinite(O)&&await t.controls.panTo(h,O,!0),Number.isFinite(r)&&await t.controls.rollTo(r,!0)}finally{this.isResettingCamera=!1}}}restoreData(){const t=Y();t&&(this.setKiosk(t),this.savedKiosk=t,a.uiState.kiosk=!0)}handleSetupReady(){this.restoreData(),a.uiState.kiosk=!0,a.uiState.hideFreeOrDemo=!0,a.uiState.setForceDim(!0),a.searchStore.setSearchText(""),a.searchStore.setFocused(!1),this.resetCamera()}handleClose(){this.setKiosk(null),a.uiState.setForceDim(!1),a.uiState.enableSetKioskMode(!1),a.searchStore.closeSearch()}handleDelete(){q(),this.setKiosk(null),a.uiState.resetMapSettings(),a.uiState.resetUIScale(),this.addStatusMessage({variant:"success",title:m("Deleted")})}handleSave(){const t=this.renderer;if(!t)return;const e=c(this.kiosk),r=this.getCameraState(),n={...e,...r};if(!E(t,n)){this.addStatusMessage({variant:"error",title:m("Kiosk not visible")});return}this.setKiosk(n),B(n),X(n,"https://app.expofp.com/"),a.uiState.setUIScale(n.uiScale,!0),this.addStatusMessage({variant:"success",title:m("Saved")}),this.savedKiosk=n}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),r=a.fp.getFloors(),n=A()?r.find(h=>h.active)?.name??null:null,o=a.uiState.uiScale;this.setKiosk({...e,x:t.x,y:t.y,z:n,uiScale:e?.uiScale||o,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 J;
1
+ import{__decorate as i}from"tslib";import{action as r,computed as h,observable as m,toJS as u}from"mobx";import s from"../../store";import{areLayersEnabled as S}from"../../utils/areLayersEnabled";import{t as p}from"../../utils/i18n";import{isPointVisible as d}from"../Map/visibleArea";import{updateKiosk as g}from"./kioskApi";import{getSavedKiosk as f,removeKiosk as y,saveKiosk as C}from"./SetKiosk";class a{constructor(){this.savedKiosk=null,this.statusMessages=[],this.statusMessageTimer=0,this.isResettingCamera=!1}get kiosk(){return s.uiState.kioskData}setKiosk(e){s.uiState.setKioskData(e)}get renderer(){return s.rendererService.renderer}getCameraState(){const e=s.rendererService.getCameraState();return e?{mapInitialPtScale:this.initialPtScale,mapPtScale:e.ptScale,mapCenterX:e.center.x,mapCenterY:e.center.y,mapRollDegrees:e.roll,mapPitch:e.pitch}:{}}get hasUnsavedChanges(){const e=this.savedKiosk,t=u(this.kiosk);if(!t||!e)return!!t!=!!e;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!0;for(const l of n)if(!(l in t)||e[l]!==t[l])return!0;return!1}addStatusMessage(e){this.statusMessages=[{...e,id:Date.now()}],this.startCleanupMessages()}clearStatusMessages(){this.statusMessages=[]}startCleanupMessages(){clearTimeout(this.statusMessageTimer),this.statusMessageTimer=window.setTimeout(()=>this.clearStatusMessages(),1e3)}async resetCamera(){const e=this.renderer;if(!(!e||this.isResettingCamera)){this.isResettingCamera=!0;try{const{z:t,mapRollDegrees:n,mapInitialPtScale:o,mapPtScale:l,mapCenterX:c,mapCenterY:k}=this.kiosk||{};await e.controls.resetCamera({pan:!0,zoom:!0,roll:!0,pitch:!0},!0),t&&s.fp.activateFloor({name:t}),Number.isFinite(o)&&Number.isFinite(l)&&l>0&&await e.controls.zoomBy(o/l,!0),Number.isFinite(c)&&Number.isFinite(k)&&await e.controls.panTo(c,k,!0),Number.isFinite(n)&&await e.controls.rollTo(n,!0)}finally{this.isResettingCamera=!1}}}restoreData(){const e=f();e&&(this.setKiosk(e),this.savedKiosk=e,s.uiState.kiosk=!0)}handleSetupReady(){this.restoreData(),s.uiState.kiosk=!0,s.uiState.hideFreeOrDemo=!0,s.uiState.setForceDim(!0),s.searchStore.setSearchText(""),s.searchStore.setFocused(!1),this.resetCamera()}handleClose(){this.setKiosk(null),s.uiState.setForceDim(!1),s.uiState.enableSetKioskMode(!1),s.searchStore.closeSearch()}handleDelete(){y(),this.setKiosk(null),s.uiState.resetMapSettings(),s.uiState.resetUIScale(),this.addStatusMessage({variant:"success",title:p("Deleted")})}handleSave(){const e=this.renderer;if(!e)return;const t=u(this.kiosk),n=this.getCameraState(),o={...t,...n};if(!d(e,o)){this.addStatusMessage({variant:"error",title:p("Kiosk not visible")});return}this.setKiosk(o),C(o),g(o,"https://app.expofp.com/"),s.uiState.setUIScale(o.uiScale,!0),this.addStatusMessage({variant:"success",title:p("Saved")}),this.savedKiosk=o}delayChange(e){requestAnimationFrame(()=>e?.())}handleChange(e){const t=u(this.kiosk);t&&(Number.isFinite(e.angle)&&this.setKiosk({...t,heading:e.angle}),Number.isFinite(e.scale)&&(this.setKiosk({...t,uiScale:e.scale}),this.delayChange(()=>s.uiState.setUIScale(e.scale,!1))),Number.isFinite(e.percent)&&this.setKiosk({...t,iconSizePercent:e.percent}))}setInitialPtScale(e){if(this.initialPtScale)return;this.initialPtScale=e;const t=u(this.kiosk);t&&this.setKiosk({...t,mapInitialPtScale:e})}handleClick(e){const t=u(this.kiosk),n=s.fp.getFloors(),o=S()?n.find(c=>c.active)?.name??null:null,l=s.uiState.uiScale;this.setKiosk({...t,x:e.x,y:e.y,z:o,uiScale:t?.uiScale||l,heading:t?.heading||0,iconSizePercent:t?.iconSizePercent||100,...this.getCameraState()})}handleNavigationChange(){const e=u(this.kiosk);e&&this.setKiosk({...e,...this.getCameraState()})}}i([h({keepAlive:!0})],a.prototype,"kiosk",null),i([r],a.prototype,"setKiosk",null),i([h({keepAlive:!0})],a.prototype,"renderer",null),i([m],a.prototype,"savedKiosk",void 0),i([h({keepAlive:!0})],a.prototype,"hasUnsavedChanges",null),i([m],a.prototype,"statusMessages",void 0),i([r],a.prototype,"addStatusMessage",null),i([r],a.prototype,"clearStatusMessages",null),i([r],a.prototype,"startCleanupMessages",null),i([r],a.prototype,"resetCamera",null),i([r],a.prototype,"restoreData",null),i([r],a.prototype,"handleSetupReady",null),i([r],a.prototype,"handleClose",null),i([r],a.prototype,"handleDelete",null),i([r],a.prototype,"handleSave",null),i([r],a.prototype,"handleChange",null),i([r],a.prototype,"setInitialPtScale",null),i([r],a.prototype,"handleClick",null),i([r],a.prototype,"handleNavigationChange",null);export default new a;
@@ -1 +1 @@
1
- import{jsx as o,jsxs as i,Fragment as x}from"react/jsx-runtime";import"./SetKioskComponent.scss";import{useState as L}from"react";import r from"../../../tools/base-runtime-url";import N from"../../../ui/Draggable";import{t as e}from"../../../utils/i18n";import{ConfirmDialog as y}from"./Confirm/ConfirmDialog";import{InfoMessage as K}from"./Message/InfoMessage";import{SetKioskForm as j}from"./SetKioskForm";import I from"./SetKioskStatusMessages";export default function U({isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,confirmOnClose:g,angle:p,uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,iconSizePercent:v,isInfoVisible:b,statusMessages:S,onClose:D,onDelete:C,onSave:_,onChange:s}){const[t,n]=L(null);return o("div",{className:"efp-set-kiosk-mode-anchor",children:i(N,{className:"efp-set-kiosk-mode",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 a=()=>{n(null)},l=()=>{D?.(),n(null)};t?a():g?n({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:a,confirmVariant:"primary",cancelVariant:"danger"}):l()},children:o("i",{className:"icon-close"})})]}),!t&&o(I,{messages:S}),b?o(K,{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(x,{children:t?o(y,{...t}):o(j,{isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,onSave:()=>{_?.(),n(null)},onDelete:()=>{n({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:()=>{n(null)},onCancel:()=>{C?.(),n(null)},confirmVariant:"gray",cancelVariant:"danger"})},angle:p,onRotateIcon:a=>s?.({angle:a}),uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,onUiScaleChange:a=>s?.({scale:a}),iconSizePercent:v,onChangeIconSizePercent:a=>s?.({percent:a})})})]})})}
1
+ import{Fragment as x,jsx as o,jsxs as i}from"react/jsx-runtime";import"./SetKioskComponent.scss";import{useState as L}from"react";import r from"../../../tools/base-runtime-url";import N from"../../../ui/Draggable";import{t as e}from"../../../utils/i18n";import{ConfirmDialog as y}from"./Confirm/ConfirmDialog";import{InfoMessage as K}from"./Message/InfoMessage";import{SetKioskForm as j}from"./SetKioskForm";import I from"./SetKioskStatusMessages";export default function U({isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,confirmOnClose:g,angle:p,uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,iconSizePercent:v,isInfoVisible:b,statusMessages:S,onClose:D,onDelete:C,onSave:_,onChange:s}){const[t,n]=L(null);return o("div",{className:"efp-set-kiosk-mode-anchor",children:i(N,{className:"efp-set-kiosk-mode",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 a=()=>{n(null)},l=()=>{D?.(),n(null)};t?a():g?n({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:a,confirmVariant:"primary",cancelVariant:"danger"}):l()},children:o("i",{className:"icon-close"})})]}),!t&&o(I,{messages:S}),b?o(K,{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(x,{children:t?o(y,{...t}):o(j,{isSaveDisabled:c,isDeleteDisabled:m,areControlsDisabled:d,onSave:()=>{_?.(),n(null)},onDelete:()=>{n({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:()=>{n(null)},onCancel:()=>{C?.(),n(null)},confirmVariant:"gray",cancelVariant:"danger"})},angle:p,onRotateIcon:a=>s?.({angle:a}),uiScale:f,minUiScale:h,maxUiScale:k,uiScaleStep:u,onUiScaleChange:a=>s?.({scale:a}),iconSizePercent:v,onChangeIconSizePercent:a=>s?.({percent:a})})})]})})}
@@ -1 +1 @@
1
- import{jsx as t,jsxs as m}from"react/jsx-runtime";import{getFpSvgJs as k}from"../data/fp-payloads";import"./LogoOverlay.scss";import l from"classnames";import M from"color";import{useLocalStore as P,useObserver as _}from"mobx-react-lite";import{Suspense as O}from"react";import C from"../data";import{fpGeo as f}from"../data/fpGeo";import c,{uiState as o}from"../store";import R from"../tools/base-runtime-url";import{buildExpofpUrl as N,UTM_CAMPAIGNS as V}from"../tools/expofpUrl";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import d from"../utils/is-from-designer";import A from"../utils/lazy-qr-code";import h from"./AlertContainer";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),D=p.backgroundColor!=="none"&&M(p.backgroundColor).isDark()||f?.properties?.style?.includes("dark");export default function E(){const b=P(()=>{const s=(i,e,T,S)=>({width:S,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 c.maplibreStore.showMaplibre&&(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 c.maplibreStore.showMaplibre&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(k().__fpStat?.dataSize/1024/1024||0),v=d&&u>=10,w=d&&!f&&C.allow3dView&&!o.kiosk&&!o.heatmap,y=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,x=l("efp-qr",{"is-right":g||o.rtl});return _(()=>m("div",{children:[t("a",{href:N(V.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:D}),style:b.style,children:t("img",{src:`${R}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),v&&t(h,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),w&&t(h,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),y&&t(O,{fallback:null,children:m("div",{className:l(x,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(A,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
1
+ import{jsx as t,jsxs as m}from"react/jsx-runtime";import"./LogoOverlay.scss";import l from"classnames";import k from"color";import{useLocalStore as M,useObserver as P}from"mobx-react-lite";import{Suspense as _}from"react";import O from"../data";import{getFpSvgJs as C}from"../data/fp-payloads";import{fpGeo as f}from"../data/fpGeo";import c,{uiState as o}from"../store";import R from"../tools/base-runtime-url";import{buildExpofpUrl as N,UTM_CAMPAIGNS as V}from"../tools/expofpUrl";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import d from"../utils/is-from-designer";import A from"../utils/lazy-qr-code";import h from"./AlertContainer";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),D=p.backgroundColor!=="none"&&k(p.backgroundColor).isDark()||f?.properties?.style?.includes("dark");export default function E(){const b=M(()=>{const s=(i,e,T,S)=>({width:S,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 c.maplibreStore.showMaplibre&&(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 c.maplibreStore.showMaplibre&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(C().__fpStat?.dataSize/1024/1024||0),v=d&&u>=10,w=d&&!f&&O.allow3dView&&!o.kiosk&&!o.heatmap,y=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,x=l("efp-qr",{"is-right":g||o.rtl});return P(()=>m("div",{children:[t("a",{href:N(V.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:D}),style:b.style,children:t("img",{src:`${R}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),v&&t(h,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/huge-fp-warning",children:r("Read how to optimize it")})}),w&&t(h,{title:r("3D view is hidden"),variant:"warning",showIcon:!0,position:"bottom-right",children:t("a",{rel:"noopener noreferrer",target:"_blank",href:"https://expofp.com/pages/expofp-mapbox-integration",children:r("Setup mapbox first")})}),y&&t(_,{fallback:null,children:m("div",{className:l(x,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(A,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
@@ -1 +1 @@
1
- import{jsx as C,jsxs as N,Fragment as oe}from"react/jsx-runtime";import{Box as k}from"@expofp/geometry";import te from"classnames";import re from"color";import{observable as ne,reaction as ie}from"mobx";import{useObserver as ae}from"mobx-react-lite";import{useEffect as se,useMemo as le,useRef as S,useState as me}from"react";import{DEBUG_STORAGE_KEY as O}from"../../constants";import ce from"../../data";import{fpGeo as fe}from"../../data/fpGeo";import{svgArea as X}from"../../data/svg";import{boxToRenderer as L,createSceneDef as de,mapRollSetting as U}from"../../renderer";import{pickDefaultScene as A,pickDefaultScenePoint as ue}from"../../renderer/engine-core/defs";import a,{boothStore as pe,layersStore as h,uiState as o}from"../../store";import{BoothBase as j}from"../../store/BoothStore";import{Category as he}from"../../store/CategoryStore";import{Exhibitor as Z}from"../../store/ExhibitorStore";import{LayerMode as R}from"../../store/LayerStore";import{CurrentPosition as ve,Route as ye}from"../../store/RouteStore";import B from"../../tools/logger";import p from"../../tools/settings";import be from"../../ui/Draggable";import{areLayersEnabled as ge}from"../../utils/areLayersEnabled";import{applyVenueDimValue as we,createDimmingAnimator as Se}from"../../utils/dimming";import{convertGpsToLocal as Re}from"../../utils/gps";import y from"../../utils/is-debug";import{isPathwayLayer as $}from"../../utils/is-pathway-layer";import{useReaction as d}from"../../utils/mobx";import{createWayfinding as xe}from"../../wayfinding";import K from"./booth-by-xy";import Te from"./drawing/config/config-all";import{configMarkers as Ce,getMarkerFromClick as ke}from"./drawing/config/config-markers";import{loadLayersImages as Le}from"./drawing/config/loadBoothsImages";import{useBuildRoute as Be}from"./traffic/useBuildRoute";import{useManageTraffic as Ee}from"./traffic/useManageTraffic";const V=Number.isFinite(p.maxZoom);export default function Me(){let E={};const W="#ebebeb",v=S(),b=le(()=>ne({moving:!1,prevLevel:a.layerStore.layers.find(e=>!e.frozen&&e.visible)}),[]),l=a.rendererService,x=S(Se(e=>we(l,e)));let s;const g=S(null),M=S(null);let P=null,z=null,I=!1;function _(){h.layers.forEach(e=>{e.configured=!1,e.children=[],e.loaded=!1})}const[H,q]=me(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(O)!=="false":!0);d(()=>a.routeStore.currentRouteLayer,()=>{if(!l.scene||b.prevLevel===a.routeStore.currentRouteLayer)return;const e=l.scene.rootLayer.children.filter(t=>a.layerStore.floors.some(n=>t.name.includes(n.name)));let r=a.routeStore.currentRouteLayer.name;if(!e.find(t=>t.name===r))return;const i=e?.map(t=>(t.name===r&&(t.hidden=!1),t.name===b.prevLevel?.name&&(t.hidden=!0),t));b.prevLevel=a.routeStore.currentRouteLayer,l.update(...i)}),d(()=>o.centerMap,()=>{!o.centerMap||a.maplibreStore.showMaplibre||(s.controls.resetCamera({zoom:!!(o.list.type==="search"&&o.list.text)}),o.centerMap=!1)}),se(()=>{if(!v.current)return;async function e(){_(),h.layersLoaded=!1;let r={};try{if(y){const t=document.createElement("canvas").getContext("webgl2"),n=t&&t.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=M.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),r={stats:f,memoryInfoPanel:u}}}catch(i){console.error(i)}s=l.create({canvas:v.current,ui:r}),g.current=s,ie(()=>o.canvasVisibleRectPx,(i,t)=>{i&&(s.visibleRect=L(i)),t.dispose()},{fireImmediately:!0}),Te(l).then(i=>{if(I||g.current!==s)return;y&&console.log("Renderer settings",s);const t=re(p.backgroundColor==="none"?W:p.backgroundColor).string();E=de(i,X,t),l.start(E),x.current.setTarget(o.dimmed,{immediate:!0}),U(s,a.fp.enableRotation?1:0),V&&s.viewport.setMaxZoom(p.maxZoom),h.layersLoaded=!0,a.fp.onFpConfigured&&a.fp?.onFpConfigured(),P=xe(l,a),z=Ce(l),Le(l)}),s.events.addEventListener("pointer:move",({data:i})=>{if(o.setKioskModeEnabled)return;const{point:t,defs:n}=A(i),c=K(t.x,t.y),m=D(n[0]);o.hoveredBooth=c||m}),s.events.addEventListener("pointer:out",()=>{o.setKioskModeEnabled||(o.hoveredBooth=null)}),s.events.addEventListener("pointer:click",({data:i})=>{if(!o?.rootElement)return;window.__resett&&window.__resett(),o.overlayPosition==="bottom"&&o.overlaySize==="full"&&a.showMap();const{point:t,defs:n}=A(i),{x:c,y:m}=t;if(o.onGetCoordsClick){const w=a.layerStore.layers.find(T=>T.visible&&(T.mode===R.TurnedOn||T.mode===R.TurnedOff));o.onGetCoordsClick({x:c,y:m,z:w?.name||null})}if(o.setKioskModeEnabled)return;if(o.onMarkerClick){const w=ke(c,m,l.scale);y&&console.log("marker",w),o.onMarkerClick(w)}const f=K(t.x,t.y),u=D(n[0]);y&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",t),a.clickBooth(f||u)}),s.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return e(),a.fp.getCenterCoordinates=Q,()=>J()},[]);function J(){I=!0,x.current.stop(),P?.(),z?.(),_(),h.layersLoaded=!1,l.disposeIfCurrent(g.current),g.current=null}function Q(){const e=v.current;if(!v.current)throw new Error("Canvas not ready");const r=ue(s.viewport.canvasToSvg({x:e.clientWidth/2,y:e.clientHeight/2})),t=a.layerStore.visible.find(n=>n.mode===R.TurnedOff||n.mode===R.TurnedOn)?.name||null;return{...r,z:t}}function D(e){return!e||!e.shape?null:pe.booths.find(r=>r.shapes?.find(i=>i.shape==e.shape))}d(()=>o.zoomBy,()=>{if(!o.zoomBy||a.maplibreStore.showMaplibre)return;const e=o.zoomBy;s.controls.zoomBy(e),o.zoomBy=null}),d(()=>o.dimmed,e=>{x.current.setTarget(e)}),d(()=>o.details,()=>{if(!o.onDetails)return;if(!o.details){o.onDetails(null);return}var e=o.details;if(p.EXPO==="wineparis"&&(e instanceof Z&&(e=e.booths[0]),!e))return;let r=null,i=[];e instanceof Z?(r="exhibitor",i=e.booths.map(n=>n.name).sort((n,c)=>n==a.routeStore.tempToBooth?.name?-1:c==a.routeStore.tempToBooth?.name?1:0)):e instanceof j?(r="booth",i=[e.name]):e instanceof ye?(r="route",i=[e.from?.name,e.to?.name].filter(n=>!!n)):e instanceof he&&(r="category",i=e.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var t={type:r,name:e?.name,id:e?.id,externalId:e?.externalId,boothsNames:i};o.onDetails({...t,...r==="route"?{routeInfo:a.routeStore.routeInfo}:{}})}),d(()=>o.canvasVisibleRectPx,e=>{l.renderer&&(l.renderer.visibleRect=L(e))},{fireImmediately:!0}),d(()=>o.moveToRect,()=>{!o.moveToRect||a.maplibreStore.showMaplibre||(o.moveToRect&&o.moveToRect.size.height!==1/0&&o.moveToRect.size.width!==1/0&&o.moveToRect.size.height>0&&o.moveToRect.size.width>0&&G(o.moveToRect),o.moveToRect=null)}),d(()=>o.rollReset,e=>{e&&(s.controls.resetCamera({roll:!0}),o.rollReset=!1)}),d(()=>o.moveToBooths,()=>{if(B.log("this.moveToBooths",o.moveToBooths),!o.moveToBooths||a.maplibreStore.showMaplibre)return;B.log("watched moveToBooths",o.moveToBooths);const e=o.moveToBooths.filter(r=>r.rect).map(r=>r.rect);e.length!==0&&(G(k.fromUnion(...e)),o.moveToBooths=null)}),d(()=>o.mapSettings,({zoomtime:e,center:r,centerxy:i,bearing:t,roll:n,z:c})=>{if(!(a.maplibreStore.showMaplibre||!l.renderer))try{e&&e!==o.defaultMapSettings.zoomtime&&l.renderer.controls.configure({zoomTime:e/1e3}),a.fp.enableRotation&&U(s,n);let m;if(r){const f=r.split(",").map(Number),u=new ve(void 0,void 0,void 0,void 0,f[0],f[1]);m=Re(u,fe.properties.config)}else if(i){const f=i.split(",").map(Number);m={x:f[0],y:f[1]}}c&&a.fp.activateFloor({name:c}),(m?.x||m?.y)&&l.renderer.controls.panTo(m.x,m.y),Number.isFinite(t)&&l.renderer.controls.rollTo(t)}catch(m){B.error("Error in mapSettings reaction",m)}}),Be({enabled:h.layersLoaded&&o.buildRoute,rendererService:l});const F="routes-api.expofp.com",Y=ce.busRoutes??!1;Ee({permission:h.layersLoaded&&Y,rendererService:l,dataJsonUrl:`https://${F}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${F}/locations?expo=${p.EXPO}`}),d(()=>a.layerStore.visible,e=>{if(!l.scene)return;const r=e.filter(n=>$(n.name)),t=l.scene.rootLayer.children.filter(n=>$(n.name));t.forEach(n=>{n.hidden=!r.find(c=>c.name===n.name)}),l.update(...t)});function G(e){let r=e;const i=ee(e,X),t=o.selectedRoute?.from,n=t instanceof j?t.layer?.name:t?.layer;o.kioskData&&(!ge()||n===a.routeStore.currentRouteLayer?.name)&&(r=k.fromUnion(e,new k(o.kioskData.x,o.kioskData.y,1,1)));const c=L(r),m={paddingPercent:i,maxZoom:V?void 0:10};if(o.shouldShiftMapRect){s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x+o.overlayWidthPx},s.visibleRect=s.visibleRect;try{s.controls.zoomTo(c,m)}finally{s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x-o.overlayWidthPx}}}else s.controls.zoomTo(c,m)}function ee(e,r){return!e||!r?0:(e.area/r.area>.1?15:25)/100}return ae(()=>N(oe,{children:[C("canvas",{style:{width:"100%",height:"100%"},ref:v,className:te({map:!0,moving:b.moving,hidden:a.maplibreStore.showMaplibre}),children:"ExpoFP.com"}),y&&H&&N(be,{className:"debug-fps",children:[C("div",{ref:M}),C("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(O,"false"),q(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
1
+ import{Fragment as oe,jsx as C,jsxs as N}from"react/jsx-runtime";import{Box as k}from"@expofp/geometry";import te from"classnames";import re from"color";import{observable as ne,reaction as ie}from"mobx";import{useObserver as ae}from"mobx-react-lite";import{useEffect as se,useMemo as le,useRef as S,useState as me}from"react";import{DEBUG_STORAGE_KEY as O}from"../../constants";import ce from"../../data";import{fpGeo as fe}from"../../data/fpGeo";import{svgArea as X}from"../../data/svg";import{boxToRenderer as L,createSceneDef as de,mapRollSetting as U}from"../../renderer";import{pickDefaultScene as A,pickDefaultScenePoint as ue}from"../../renderer/engine-core/defs";import a,{boothStore as pe,layersStore as h,uiState as o}from"../../store";import{BoothBase as j}from"../../store/BoothStore";import{Category as he}from"../../store/CategoryStore";import{Exhibitor as Z}from"../../store/ExhibitorStore";import{LayerMode as R}from"../../store/LayerStore";import{CurrentPosition as ve,Route as ye}from"../../store/RouteStore";import B from"../../tools/logger";import p from"../../tools/settings";import be from"../../ui/Draggable";import{areLayersEnabled as ge}from"../../utils/areLayersEnabled";import{applyVenueDimValue as we,createDimmingAnimator as Se}from"../../utils/dimming";import{convertGpsToLocal as Re}from"../../utils/gps";import y from"../../utils/is-debug";import{isPathwayLayer as $}from"../../utils/is-pathway-layer";import{useReaction as d}from"../../utils/mobx";import{createWayfinding as xe}from"../../wayfinding";import K from"./booth-by-xy";import Te from"./drawing/config/config-all";import{configMarkers as Ce,getMarkerFromClick as ke}from"./drawing/config/config-markers";import{loadLayersImages as Le}from"./drawing/config/loadBoothsImages";import{useBuildRoute as Be}from"./traffic/useBuildRoute";import{useManageTraffic as Ee}from"./traffic/useManageTraffic";const V=Number.isFinite(p.maxZoom);export default function Me(){let E={};const W="#ebebeb",v=S(),b=le(()=>ne({moving:!1,prevLevel:a.layerStore.layers.find(e=>!e.frozen&&e.visible)}),[]),l=a.rendererService,x=S(Se(e=>we(l,e)));let s;const g=S(null),M=S(null);let P=null,z=null,I=!1;function _(){h.layers.forEach(e=>{e.configured=!1,e.children=[],e.loaded=!1})}const[H,q]=me(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(O)!=="false":!0);d(()=>a.routeStore.currentRouteLayer,()=>{if(!l.scene||b.prevLevel===a.routeStore.currentRouteLayer)return;const e=l.scene.rootLayer.children.filter(t=>a.layerStore.floors.some(n=>t.name.includes(n.name)));let r=a.routeStore.currentRouteLayer.name;if(!e.find(t=>t.name===r))return;const i=e?.map(t=>(t.name===r&&(t.hidden=!1),t.name===b.prevLevel?.name&&(t.hidden=!0),t));b.prevLevel=a.routeStore.currentRouteLayer,l.update(...i)}),d(()=>o.centerMap,()=>{!o.centerMap||a.maplibreStore.showMaplibre||(s.controls.resetCamera({zoom:!!(o.list.type==="search"&&o.list.text)}),o.centerMap=!1)}),se(()=>{if(!v.current)return;async function e(){_(),h.layersLoaded=!1;let r={};try{if(y){const t=document.createElement("canvas").getContext("webgl2"),n=t&&t.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=M.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),r={stats:f,memoryInfoPanel:u}}}catch(i){console.error(i)}s=l.create({canvas:v.current,ui:r}),g.current=s,ie(()=>o.canvasVisibleRectPx,(i,t)=>{i&&(s.visibleRect=L(i)),t.dispose()},{fireImmediately:!0}),Te(l).then(i=>{if(I||g.current!==s)return;y&&console.log("Renderer settings",s);const t=re(p.backgroundColor==="none"?W:p.backgroundColor).string();E=de(i,X,t),l.start(E),x.current.setTarget(o.dimmed,{immediate:!0}),U(s,a.fp.enableRotation?1:0),V&&s.viewport.setMaxZoom(p.maxZoom),h.layersLoaded=!0,a.fp.onFpConfigured&&a.fp?.onFpConfigured(),P=xe(l,a),z=Ce(l),Le(l)}),s.events.addEventListener("pointer:move",({data:i})=>{if(o.setKioskModeEnabled)return;const{point:t,defs:n}=A(i),c=K(t.x,t.y),m=D(n[0]);o.hoveredBooth=c||m}),s.events.addEventListener("pointer:out",()=>{o.setKioskModeEnabled||(o.hoveredBooth=null)}),s.events.addEventListener("pointer:click",({data:i})=>{if(!o?.rootElement)return;window.__resett&&window.__resett(),o.overlayPosition==="bottom"&&o.overlaySize==="full"&&a.showMap();const{point:t,defs:n}=A(i),{x:c,y:m}=t;if(o.onGetCoordsClick){const w=a.layerStore.layers.find(T=>T.visible&&(T.mode===R.TurnedOn||T.mode===R.TurnedOff));o.onGetCoordsClick({x:c,y:m,z:w?.name||null})}if(o.setKioskModeEnabled)return;if(o.onMarkerClick){const w=ke(c,m,l.scale);y&&console.log("marker",w),o.onMarkerClick(w)}const f=K(t.x,t.y),u=D(n[0]);y&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",t),a.clickBooth(f||u)}),s.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return e(),a.fp.getCenterCoordinates=Q,()=>J()},[]);function J(){I=!0,x.current.stop(),P?.(),z?.(),_(),h.layersLoaded=!1,l.disposeIfCurrent(g.current),g.current=null}function Q(){const e=v.current;if(!v.current)throw new Error("Canvas not ready");const r=ue(s.viewport.canvasToSvg({x:e.clientWidth/2,y:e.clientHeight/2})),t=a.layerStore.visible.find(n=>n.mode===R.TurnedOff||n.mode===R.TurnedOn)?.name||null;return{...r,z:t}}function D(e){return!e||!e.shape?null:pe.booths.find(r=>r.shapes?.find(i=>i.shape==e.shape))}d(()=>o.zoomBy,()=>{if(!o.zoomBy||a.maplibreStore.showMaplibre)return;const e=o.zoomBy;s.controls.zoomBy(e),o.zoomBy=null}),d(()=>o.dimmed,e=>{x.current.setTarget(e)}),d(()=>o.details,()=>{if(!o.onDetails)return;if(!o.details){o.onDetails(null);return}var e=o.details;if(p.EXPO==="wineparis"&&(e instanceof Z&&(e=e.booths[0]),!e))return;let r=null,i=[];e instanceof Z?(r="exhibitor",i=e.booths.map(n=>n.name).sort((n,c)=>n==a.routeStore.tempToBooth?.name?-1:c==a.routeStore.tempToBooth?.name?1:0)):e instanceof j?(r="booth",i=[e.name]):e instanceof ye?(r="route",i=[e.from?.name,e.to?.name].filter(n=>!!n)):e instanceof he&&(r="category",i=e.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var t={type:r,name:e?.name,id:e?.id,externalId:e?.externalId,boothsNames:i};o.onDetails({...t,...r==="route"?{routeInfo:a.routeStore.routeInfo}:{}})}),d(()=>o.canvasVisibleRectPx,e=>{l.renderer&&(l.renderer.visibleRect=L(e))},{fireImmediately:!0}),d(()=>o.moveToRect,()=>{!o.moveToRect||a.maplibreStore.showMaplibre||(o.moveToRect&&o.moveToRect.size.height!==1/0&&o.moveToRect.size.width!==1/0&&o.moveToRect.size.height>0&&o.moveToRect.size.width>0&&G(o.moveToRect),o.moveToRect=null)}),d(()=>o.rollReset,e=>{e&&(s.controls.resetCamera({roll:!0}),o.rollReset=!1)}),d(()=>o.moveToBooths,()=>{if(B.log("this.moveToBooths",o.moveToBooths),!o.moveToBooths||a.maplibreStore.showMaplibre)return;B.log("watched moveToBooths",o.moveToBooths);const e=o.moveToBooths.filter(r=>r.rect).map(r=>r.rect);e.length!==0&&(G(k.fromUnion(...e)),o.moveToBooths=null)}),d(()=>o.mapSettings,({zoomtime:e,center:r,centerxy:i,bearing:t,roll:n,z:c})=>{if(!(a.maplibreStore.showMaplibre||!l.renderer))try{e&&e!==o.defaultMapSettings.zoomtime&&l.renderer.controls.configure({zoomTime:e/1e3}),a.fp.enableRotation&&U(s,n);let m;if(r){const f=r.split(",").map(Number),u=new ve(void 0,void 0,void 0,void 0,f[0],f[1]);m=Re(u,fe.properties.config)}else if(i){const f=i.split(",").map(Number);m={x:f[0],y:f[1]}}c&&a.fp.activateFloor({name:c}),(m?.x||m?.y)&&l.renderer.controls.panTo(m.x,m.y),Number.isFinite(t)&&l.renderer.controls.rollTo(t)}catch(m){B.error("Error in mapSettings reaction",m)}}),Be({enabled:h.layersLoaded&&o.buildRoute,rendererService:l});const F="routes-api.expofp.com",Y=ce.busRoutes??!1;Ee({permission:h.layersLoaded&&Y,rendererService:l,dataJsonUrl:`https://${F}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${F}/locations?expo=${p.EXPO}`}),d(()=>a.layerStore.visible,e=>{if(!l.scene)return;const r=e.filter(n=>$(n.name)),t=l.scene.rootLayer.children.filter(n=>$(n.name));t.forEach(n=>{n.hidden=!r.find(c=>c.name===n.name)}),l.update(...t)});function G(e){let r=e;const i=ee(e,X),t=o.selectedRoute?.from,n=t instanceof j?t.layer?.name:t?.layer;o.kioskData&&(!ge()||n===a.routeStore.currentRouteLayer?.name)&&(r=k.fromUnion(e,new k(o.kioskData.x,o.kioskData.y,1,1)));const c=L(r),m={paddingPercent:i,maxZoom:V?void 0:10};if(o.shouldShiftMapRect){s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x+o.overlayWidthPx},s.visibleRect=s.visibleRect;try{s.controls.zoomTo(c,m)}finally{s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x-o.overlayWidthPx}}}else s.controls.zoomTo(c,m)}function ee(e,r){return!e||!r?0:(e.area/r.area>.1?15:25)/100}return ae(()=>N(oe,{children:[C("canvas",{style:{width:"100%",height:"100%"},ref:v,className:te({map:!0,moving:b.moving,hidden:a.maplibreStore.showMaplibre}),children:"ExpoFP.com"}),y&&H&&N(be,{className:"debug-fps",children:[C("div",{ref:M}),C("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(O,"false"),q(!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 t from"./BoothShape";export class BoothDrawerBaseWithoutPainter{booth;boothShape;constructor(o){this.booth=o,this.boothShape=t.get(o)}}
1
+ import o from"./BoothShape";export class BoothDrawerBaseWithoutPainter{constructor(t){this.booth=t,this.boothShape=o.get(t)}}
@@ -1 +1 @@
1
- import{__esDecorate as b,__runInitializers as l}from"tslib";import{easeQuadInOut as B}from"d3-ease";import{observable as P,reaction as g}from"mobx";const u=new Map;let h=(()=>{let n,r=[],i=[];return class f{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;n=[P],b(null,null,n,{kind:"field",name:"selectBgAnimationPart",static:!1,private:!1,access:{has:t=>"selectBgAnimationPart"in t,get:t=>t.selectBgAnimationPart,set:(t,m)=>{t.selectBgAnimationPart=m}},metadata:e},r,i),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}booth;selectBgAnimationPart=l(this,r,void 0);constructor(e){l(this,i),this.booth=e,A(()=>e.selected,t=>this.selectBgAnimationPart=B(t),1e3,8,!0)}static get(e){let t=u.get(e);return t||(t=new f(e),u.set(e,t)),t}}})();export default h;function A(n,r,i,c,e){const t=e?p:m;c%2===1&&c++,g(n,()=>{if(n()){const o=performance.now(),a=o+c*i,s=()=>{if(n()){if(performance.now()>=a){r(1);return}r(t(o,i)),window.requestAnimationFrame(s)}};s()}else r(0)},{fireImmediately:!0});function m(o,a){return(performance.now()-o)%a/1e3}function p(o,a){const w=((performance.now()-o)%(a*2)-a)/1e3;return 1-Math.abs(Math.abs(w)-a/1e3)/(a/1e3)}}
1
+ import{__decorate as l}from"tslib";import{easeQuadInOut as b}from"d3-ease";import{observable as A,reaction as M}from"mobx";const s=new Map;export default class a{constructor(t){this.booth=t,N(()=>t.selected,n=>this.selectBgAnimationPart=b(n),1e3,8,!0)}static get(t){let n=s.get(t);return n||(n=new a(t),s.set(t,n)),n}}l([A],a.prototype,"selectBgAnimationPart",void 0);function N(c,t,n,i,m){const p=m?u:f;i%2===1&&i++,M(c,()=>{if(c()){const o=performance.now(),r=o+i*n,e=()=>{if(c()){if(performance.now()>=r){t(1);return}t(p(o,n)),window.requestAnimationFrame(e)}};e()}else t(0)},{fireImmediately:!0});function f(o,r){return(performance.now()-o)%r/1e3}function u(o,r){const d=((performance.now()-o)%(r*2)-r)/1e3;return 1-Math.abs(Math.abs(d)-r/1e3)/(r/1e3)}}
@@ -1 +1 @@
1
- const M=document.createElement("canvas").getContext("2d");export default class I{maxMultilineFontSize;baseFontSize;fontSizes;ctx;spaceWidth;constructor(r,s,e){this.baseFontSize=this.maxMultilineFontSize=e,this.fontSizes=s,this.ctx=M,this.ctx.textAlign="center",this.ctx.textBaseline="alphabetic",this.ctx.font=r(this.baseFontSize),this.spaceWidth=this.ctx.measureText(" ").width}getStepsForRect(r,s,e){const t=r.split(/\s+/),c=t.map(o=>this.ctx.measureText(o).width),n=[];let i=1/0,h=0;for(const o of this.fontSizes){const d=o,l=o/this.baseFontSize,u=c.map(p=>p*l),f=this.spaceWidth*l,w=B(u,f,o>this.maxMultilineFontSize?1:1/0).filter(p=>p);for(let p=0;p<w.length;p++){const x=w[p],F=x,m=p+1,z=d*m,W=F/s,L=z/e,g=Math.max(L,W);if(g>i||m<h)continue;i=g,h=m;const v=y(x,m,u,f),S=H(v,u,f);if(!S)continue;const b=k(S,t);n.push({scaleFactor:g,value:o,lines:b,width:x})}}return n}}function B(a,r,s){const e=[];let t,c=1,n=1/0,i;for(;(i=T(n,a,r))&&i.length<=s;)c!==i.length&&(e[c-1]=t),c=i.length,t=Math.max(...i),n=t-1;return e[c-1]=t,e}function T(a,r,s){const e=[];let t,c=-1;function n(){c++,t=0}n();for(const i of r){const h=t+(t>0?s:0)+i;if(h>a){if(i>a)return null;n(),t=i}else t=h;e[c]=t}return e}function y(a,r,s,e){return t(r,0);function t(n,i){const h=c(i),o=[];for(const d of h){const l=i+d.length;if(l>=s.length){o.push([d]);break}if(n>0){const u=t(n-1,l);for(const f of u)f.length===n-1&&o.push([d,...f])}}return o}function c(n){if(n>=s.length)throw new Error("From exceed blocks length");const i=[0,-1];let h=0,o=0;for(;s.length>n+o&&(h+=(o>0?e:0)+s[n+o])&&h/a<1.001;)o++;return i.map(l=>o+l).filter(l=>l>0).map(l=>d(n,l));function d(l,u){const f=Array(u);for(;u--;)f[u]=u+l;return f}}}function H(a,r,s){const e=a.map(t=>{const c=t.map(i=>i.map(h=>r[h]).reduce((h,o,d)=>h+(d>0?s:0)+o),0),n=R(c);return{ll:t,dd:n}});return e.sort((t,c)=>t.dd-c.dd),e.map(t=>t.ll)[0]}function R(a){const r=a.length,s=a.reduce((e,t)=>e+t)/r;return Math.sqrt(a.map(e=>Math.pow(e-s,2)).reduce((e,t)=>e+t)/r)}function k(a,r){return a.map(s=>s.map(e=>r[e]).reduce((e,t,c)=>e+(c>0?" ":"")+t),"")}
1
+ const M=document.createElement("canvas").getContext("2d");export default class I{constructor(r,i,e){this.baseFontSize=this.maxMultilineFontSize=e,this.fontSizes=i,this.ctx=M,this.ctx.textAlign="center",this.ctx.textBaseline="alphabetic",this.ctx.font=r(this.baseFontSize),this.spaceWidth=this.ctx.measureText(" ").width}getStepsForRect(r,i,e){const t=r.split(/\s+/),c=t.map(o=>this.ctx.measureText(o).width),n=[];let s=1/0,h=0;for(const o of this.fontSizes){const d=o,l=o/this.baseFontSize,u=c.map(p=>p*l),f=this.spaceWidth*l,x=B(u,f,o>this.maxMultilineFontSize?1:1/0).filter(p=>p);for(let p=0;p<x.length;p++){const g=x[p],F=g,m=p+1,L=d*m,W=F/i,v=L/e,w=Math.max(v,W);if(w>s||m<h)continue;s=w,h=m;const z=y(g,m,u,f),S=H(z,u,f);if(!S)continue;const b=k(S,t);n.push({scaleFactor:w,value:o,lines:b,width:g})}}return n}}function B(a,r,i){const e=[];let t,c=1,n=1/0,s;for(;(s=T(n,a,r))&&s.length<=i;)c!==s.length&&(e[c-1]=t),c=s.length,t=Math.max(...s),n=t-1;return e[c-1]=t,e}function T(a,r,i){const e=[];let t,c=-1;function n(){c++,t=0}n();for(const s of r){const h=t+(t>0?i:0)+s;if(h>a){if(s>a)return null;n(),t=s}else t=h;e[c]=t}return e}function y(a,r,i,e){return t(r,0);function t(n,s){const h=c(s),o=[];for(const d of h){const l=s+d.length;if(l>=i.length){o.push([d]);break}if(n>0){const u=t(n-1,l);for(const f of u)f.length===n-1&&o.push([d,...f])}}return o}function c(n){if(n>=i.length)throw new Error("From exceed blocks length");const s=[0,-1];let h=0,o=0;for(;i.length>n+o&&(h+=(o>0?e:0)+i[n+o])&&h/a<1.001;)o++;return s.map(l=>o+l).filter(l=>l>0).map(l=>d(n,l));function d(l,u){const f=Array(u);for(;u--;)f[u]=u+l;return f}}}function H(a,r,i){const e=a.map(t=>{const c=t.map(s=>s.map(h=>r[h]).reduce((h,o,d)=>h+(d>0?i:0)+o),0),n=R(c);return{ll:t,dd:n}});return e.sort((t,c)=>t.dd-c.dd),e.map(t=>t.ll)[0]}function R(a){const r=a.length,i=a.reduce((e,t)=>e+t)/r;return Math.sqrt(a.map(e=>Math.pow(e-i,2)).reduce((e,t)=>e+t)/r)}function k(a,r){return a.map(i=>i.map(e=>r[e]).reduce((e,t,c)=>e+(c>0?" ":"")+t),"")}
@@ -1,7 +1,7 @@
1
1
  import { LayerDef } from '@expofp/renderer';
2
- import { ShapeBgDef } from '../../../../types/drawing.types';
3
2
  import { PathInfo } from '../../../../renderer/engine-core/types';
4
3
  import { Layer } from '../../../../store/LayerStore';
4
+ import { ShapeBgDef } from '../../../../types/drawing.types';
5
5
  export declare const BG_LAYER_NAME = "bg";
6
6
  export declare const FG_LAYER_NAME = "fg";
7
7
  export default function configBg(layer: Layer): Promise<LayerDef>;
@@ -1 +1 @@
1
- import{__esDecorate as g,__runInitializers as v}from"tslib";import{Rect as _}from"@expofp/geometry";import i from"color";import D from"color-interpolate";import{computed as b,reaction as C}from"mobx";import u from"../../../../data";import{getFpSvgJs as I}from"../../../../data/fp-payloads";import{createShapeDef as x}from"../../../../renderer";import S,{boothStore as F,layersStore as y,uiState as c}from"../../../../store";import{RegularBooth as P,SpecialBooth as w}from"../../../../store/BoothStore";import{RebookingState as L}from"../../../../store/ExhibitorStore";import{LayersMode as A}from"../../../../store/LayerStore";import{rebookingStateConfig as B}from"../../../../tools/rebooking-config";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as R}from"./BoothDrawerBase";import{buildPathDef as H}from"./config-bg";export default function W(s,l){return new j(s,l)}function z(s){if(s.length===0)return null;const l=s[0];return s.every(n=>n===l)?l:null}export function pathToShapeDef(s,l){const f=[];for(const n of s){const d=H({index:n.index,color:n.color,unblinking:n.unblinking},l);d&&f.push(d)}return f}let j=(()=>{let s=R,l=[],f,n;return class extends s{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;f=[b({keepAlive:!0})],n=[b({keepAlive:!0})],g(this,null,f,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:e=>"defaultColor"in e,get:e=>e.defaultColor},metadata:o},null,l),g(this,null,n,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:e=>"selectedColorInterpolateFunc"in e,get:e=>e.selectedColorInterpolateFunc},metadata:o},null,l),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}rendererService=v(this,l);constructor(o,e){if(super(e),this.rendererService=o,e.paths){const t=pathToShapeDef(e.paths,S.layerStore.mode!==A.Default?e.layer.name:"");e.shapes=t.map(r=>{const h=c.monochrome?i(r.color).grayscale().rgb().string():this.getBoothColor().string();return r.color==="transparent"?r.color=h:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?F.borderWidth:e.borderWidth,r=this.booth.rect.expand(-t/2),h=this.getBoothColor().string();e.shapes=[x(new _(r.center,r.size,this.booth.rotate),h)]}C(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),C(()=>[y.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(y.layersLoaded)for(const o of this.booth.shapes){if(o.dim=this.booth.skipDim?!1:void 0,o.color&&!o.unblinking){const e=o.defaultColor?this.getBoothPathColor(o.defaultColor):this.getBoothColor();o.color=e.string()}this.rendererService.update(o)}}getBoothPathColor(o){if(c.heatmap)return this.getHeatmapColor();const e=this.booth;let t=i(o).hsl();if(e.selected){const r=a.colors.booths.selected;if(I().__fpSettings?.fpVer){const p=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),m=i(p==="none"?r:p);return c.monochrome?m.grayscale():m}const h=i(r).hsl(),k=h.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(h.hue()).lightness(k)}else e.hover&&(t=t.darken(.1));return c.monochrome&&(t=t.grayscale()),t}getHeatmapColor(){const o=this.booth,e=S.heatmapStore.getHeatmapColorForBooth(o);if(o.selected){const t=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return i(t==="none"?"#f33":t)}return o.hover?e.darken(.2).alpha(e.alpha()*1.5):e}get defaultColor(){const o=this.booth;let e=a.colors.booths.default;if(o instanceof w)e=o.color||a.colors.booths.empty;else if(o instanceof P){if(u.isRebooking){if(!o.exhibitors?.length)return B[L.Unasked].color.primary;const r=z((o.exhibitors??[]).map(h=>h.rebookingState));return r!==null?B[r].color.primary:"#000000"}const t=a.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}try{e==="none"&&(e=a.colors.booths.default),i(e)}catch(t){e=a.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=a.colors.booths.seectedLight||(i(this.booth.labelColor||a.boothLabelColor).isLight()?"#000":"#fff"),e=c.selectedRoute?a?.colors?.booths?.wayfinding?.selected:a?.colors?.booths?.selected;return D([o,e])}getBoothColor(){const o=this.booth;if(c.heatmap)return this.getHeatmapColor();let e;o.error?e="#f33":u.isRebooking?e=this.defaultColor:o.selected?e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):e=this.defaultColor;let t;try{t=i(e==="none"?"#f33":e)}catch{t=i(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&u.isRebooking)&&(t=t.darken(.2).alpha(t.alpha()*1.5)),(c.monochrome||c.heatmapYah)&&(t=t.grayscale()),t}}})();
1
+ import{__decorate as d}from"tslib";import{Rect as B}from"@expofp/geometry";import l from"color";import y from"color-interpolate";import{computed as u,reaction as m}from"mobx";import h from"../../../../data";import{getFpSvgJs as k}from"../../../../data/fp-payloads";import{createShapeDef as v}from"../../../../renderer";import g,{boothStore as D,layersStore as b,uiState as a}from"../../../../store";import{RegularBooth as x,SpecialBooth as L}from"../../../../store/BoothStore";import{RebookingState as P}from"../../../../store/ExhibitorStore";import{LayersMode as I}from"../../../../store/LayerStore";import{rebookingStateConfig as C}from"../../../../tools/rebooking-config";import s from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{buildPathDef as A}from"./config-bg";export default function F(i,o){return new c(i,o)}function R(i){if(i.length===0)return null;const o=i[0];return i.every(t=>t===o)?o:null}export function pathToShapeDef(i,o){const e=[];for(const t of i){const r=A({index:t.index,color:t.color,unblinking:t.unblinking},o);r&&e.push(r)}return e}class c extends w{constructor(o,e){if(super(e),this.rendererService=o,e.paths){const t=pathToShapeDef(e.paths,g.layerStore.mode!==I.Default?e.layer.name:"");e.shapes=t.map(r=>{const n=a.monochrome?l(r.color).grayscale().rgb().string():this.getBoothColor().string();return r.color==="transparent"?r.color=n:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?D.borderWidth:e.borderWidth,r=this.booth.rect.expand(-t/2),n=this.getBoothColor().string();e.shapes=[v(new B(r.center,r.size,this.booth.rotate),n)]}m(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),m(()=>[b.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(b.layersLoaded)for(const o of this.booth.shapes){if(o.dim=this.booth.skipDim?!1:void 0,o.color&&!o.unblinking){const e=o.defaultColor?this.getBoothPathColor(o.defaultColor):this.getBoothColor();o.color=e.string()}this.rendererService.update(o)}}getBoothPathColor(o){if(a.heatmap)return this.getHeatmapColor();const e=this.booth;let t=l(o).hsl();if(e.selected){const r=s.colors.booths.selected;if(k().__fpSettings?.fpVer){const f=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),p=l(f==="none"?r:f);return a.monochrome?p.grayscale():p}const n=l(r).hsl(),S=n.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(n.hue()).lightness(S)}else e.hover&&(t=t.darken(.1));return a.monochrome&&(t=t.grayscale()),t}getHeatmapColor(){const o=this.booth,e=g.heatmapStore.getHeatmapColorForBooth(o);if(o.selected){const t=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return l(t==="none"?"#f33":t)}return o.hover?e.darken(.2).alpha(e.alpha()*1.5):e}get defaultColor(){const o=this.booth;let e=s.colors.booths.default;if(o instanceof L)e=o.color||s.colors.booths.empty;else if(o instanceof x){if(h.isRebooking){if(!o.exhibitors?.length)return C[P.Unasked].color.primary;const r=R((o.exhibitors??[]).map(n=>n.rebookingState));return r!==null?C[r].color.primary:"#000000"}const t=s.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}try{e==="none"&&(e=s.colors.booths.default),l(e)}catch(t){e=s.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=s.colors.booths.seectedLight||(l(this.booth.labelColor||s.boothLabelColor).isLight()?"#000":"#fff"),e=a.selectedRoute?s?.colors?.booths?.wayfinding?.selected:s?.colors?.booths?.selected;return y([o,e])}getBoothColor(){const o=this.booth;if(a.heatmap)return this.getHeatmapColor();let e;o.error?e="#f33":h.isRebooking?e=this.defaultColor:o.selected?e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):e=this.defaultColor;let t;try{t=l(e==="none"?"#f33":e)}catch{t=l(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&h.isRebooking)&&(t=t.darken(.2).alpha(t.alpha()*1.5)),(a.monochrome||a.heatmapYah)&&(t=t.grayscale()),t}}d([u({keepAlive:!0})],c.prototype,"defaultColor",null),d([u({keepAlive:!0})],c.prototype,"selectedColorInterpolateFunc",null);
@@ -1 +1 @@
1
- import{Rect as o}from"@expofp/geometry";import{reaction as a}from"mobx";import{createBookmarkCanvas as c,createImageDef as k,getClampedBoundsCanvas as m,getRollValue as l,getRotation as p}from"../../../../renderer";import{layersStore as s,uiState as h}from"../../../../store";import{BoothDrawerBaseWithoutPainter as u}from"./BoothDrawerBase";export default function f(r,e){if(!h.kiosk)return new b(r,e)}class b extends u{rendererService;shape;bookmarkId;canvas;rect;padding;constructor(e,t){super(t),this.rendererService=e,this.padding=this.booth.borderWidth/2,this.rect=new o(this.booth.rect.center,this.booth.rect.size,this.booth.rotate),this.canvas=c(11,devicePixelRatio),this.bookmarkId=`bookmark-${this.booth.id}`,this.shape=k(this.canvas,this.rect,{hidden:!t.bookmarked}),a(()=>[t.bookmarked,s.layersLoaded,this.booth.skipDim],()=>this.update(t.bookmarked),{fireImmediately:t.bookmarked}),a(()=>h.mapSettings,({roll:n})=>{l(n)&&this.rendererService.onRoll(`bookmark-roll-${this.bookmarkId}`,d=>{const i=p(d,this.rect.rotation);return i!==void 0&&(this.rect=new o(this.rect.center,{x:this.rect.size.y,y:this.rect.size.x},this.rect.rotation+i),this.handleBookmarkScale()),this.shape})},{fireImmediately:!0})}getShape=()=>this.shape;update(e){s.layersLoaded&&(this.shape.hidden=!e,this.shape.dim=this.booth.skipDim?!1:void 0,this.handleBookmarkScale(),this.shape.hidden?(this.rendererService.ptScaleRegistry.unregisterByName(this.bookmarkId),this.rendererService.rollRegistry.unregisterByName(`bookmark-roll-${this.bookmarkId}`)):this.rendererService.onPtScale(this.bookmarkId,this.handleBookmarkScale.bind(this)),this.rendererService.update(this.shape))}handleBookmarkScale(e){if(!this.shape.hidden)return this.shape.bounds=m(this.rect,this.canvas,this.padding,e||this.rendererService.scale),this.shape}}
1
+ import{Rect as o}from"@expofp/geometry";import{reaction as s}from"mobx";import{createBookmarkCanvas as k,createImageDef as m,getClampedBoundsCanvas as c,getRollValue as l,getRotation as p}from"../../../../renderer";import{layersStore as a,uiState as h}from"../../../../store";import{BoothDrawerBaseWithoutPainter as u}from"./BoothDrawerBase";export default function f(r,e){if(!h.kiosk)return new b(r,e)}class b extends u{constructor(e,t){super(t),this.getShape=()=>this.shape,this.rendererService=e,this.padding=this.booth.borderWidth/2,this.rect=new o(this.booth.rect.center,this.booth.rect.size,this.booth.rotate),this.canvas=k(11,devicePixelRatio),this.bookmarkId=`bookmark-${this.booth.id}`,this.shape=m(this.canvas,this.rect,{hidden:!t.bookmarked}),s(()=>[t.bookmarked,a.layersLoaded,this.booth.skipDim],()=>this.update(t.bookmarked),{fireImmediately:t.bookmarked}),s(()=>h.mapSettings,({roll:n})=>{l(n)&&this.rendererService.onRoll(`bookmark-roll-${this.bookmarkId}`,d=>{const i=p(d,this.rect.rotation);return i!==void 0&&(this.rect=new o(this.rect.center,{x:this.rect.size.y,y:this.rect.size.x},this.rect.rotation+i),this.handleBookmarkScale()),this.shape})},{fireImmediately:!0})}update(e){a.layersLoaded&&(this.shape.hidden=!e,this.shape.dim=this.booth.skipDim?!1:void 0,this.handleBookmarkScale(),this.shape.hidden?(this.rendererService.ptScaleRegistry.unregisterByName(this.bookmarkId),this.rendererService.rollRegistry.unregisterByName(`bookmark-roll-${this.bookmarkId}`)):this.rendererService.onPtScale(this.bookmarkId,this.handleBookmarkScale.bind(this)),this.rendererService.update(this.shape))}handleBookmarkScale(e){if(!this.shape.hidden)return this.shape.bounds=c(this.rect,this.canvas,this.padding,e||this.rendererService.scale),this.shape}}
@@ -1 +1 @@
1
- import{Polygon as S,Rect as W}from"@expofp/geometry";import p from"color";import{reaction as k}from"mobx";import{createShapeDef as D}from"../../../../renderer";import{boothStore as m,layersStore as f,uiState as u,heatmapStore as P}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as L}from"./BoothDrawerBase";export default function v(c,o){if(a.EXPO!=="confex20"&&!(o.poiType||o.borderColor==="none"||o.borderWidth===0&&!m.borderWidth||o.paths&&!o.pathsWithRect))return new R(c,o)}class R extends L{shape;constructor(o,s){super(s);const t=this.booth.rect,{x:e,y:i}=t.center,{width:h,height:n}=t.size,r=s.borderWidth||m.borderWidth,l=[],d=(B,b,C,x)=>{const w=new W({x:B,y:b},{x:C,y:x}).toPolygon();l.push(w.rotate(s.rotate??0,{x:e,y:i}))};d(e,i-n/2,h+r,r),d(e,i+n/2,h+r,r),d(e-h/2,i,r,n+r),d(e+h/2,i,r,n+r);const g=S.merge(...l),y=this.getBorderColor();this.shape=D(g,y.string()),k(()=>[this.booth.skipDim,f.layersLoaded,this.booth.hover,this.booth.selected,u.heatmap],()=>{f.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,this.shape.color=this.getBorderColor().string(),o.update(this.shape))})}getBorderColor(){const o=this.booth;if(u.heatmap){const t=P.getHeatmapColorForBooth(o);if(o.selected){const e=a.colors.booths.selectedBorder;return e?p(e):t.darken(.4)}return o.hover?t.darken(.3):t.darken(.2)}const s=o.selected?a.colors.booths.selectedBorder:o.borderColor;return p(s||a.colors.booths.default)}getShape(){return this.shape}}
1
+ import{Polygon as S,Rect as W}from"@expofp/geometry";import p from"color";import{reaction as k}from"mobx";import{createShapeDef as D}from"../../../../renderer";import{boothStore as m,heatmapStore as P,layersStore as f,uiState as u}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as L}from"./BoothDrawerBase";export default function v(c,o){if(a.EXPO!=="confex20"&&!(o.poiType||o.borderColor==="none"||o.borderWidth===0&&!m.borderWidth||o.paths&&!o.pathsWithRect))return new R(c,o)}class R extends L{constructor(o,s){super(s);const t=this.booth.rect,{x:e,y:i}=t.center,{width:n,height:h}=t.size,r=s.borderWidth||m.borderWidth,l=[],d=(B,b,C,x)=>{const w=new W({x:B,y:b},{x:C,y:x}).toPolygon();l.push(w.rotate(s.rotate??0,{x:e,y:i}))};d(e,i-h/2,n+r,r),d(e,i+h/2,n+r,r),d(e-n/2,i,r,h+r),d(e+n/2,i,r,h+r);const g=S.merge(...l),y=this.getBorderColor();this.shape=D(g,y.string()),k(()=>[this.booth.skipDim,f.layersLoaded,this.booth.hover,this.booth.selected,u.heatmap],()=>{f.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,this.shape.color=this.getBorderColor().string(),o.update(this.shape))})}getBorderColor(){const o=this.booth;if(u.heatmap){const t=P.getHeatmapColorForBooth(o);if(o.selected){const e=a.colors.booths.selectedBorder;return e?p(e):t.darken(.4)}return o.hover?t.darken(.3):t.darken(.2)}const s=o.selected?a.colors.booths.selectedBorder:o.borderColor;return p(s||a.colors.booths.default)}getShape(){return this.shape}}
@@ -1,2 +1,2 @@
1
- import{Box as x,Rect as f}from"@expofp/geometry";import{reaction as u}from"mobx";import{FONT_WEIGHT_PRIMARY_BOOTH as L,FONT_WEIGHT_PRIMARY_SPECIAL as D}from"../../../../constants";import{boxToRenderer as R,createTextDef as F,getRollValue as v,getRotation as y,shouldFlip as T,updateRectRotation as z,updateTextDefRotation as P}from"../../../../renderer";import{boothStore as w,heatmapStore as I,layersStore as k,uiState as d}from"../../../../store";import{SpecialBooth as B}from"../../../../store/BoothStore";import M from"../../../../tools/settings";import{getFont as C}from"./canvases";import{BoothLabelDrawer as W,getFontUrlByWeight as V,getMinZoomFactorForDot as _,isDirectionsMode as $}from"./config-booth-labels";import H from"./TextFitter";const p=new Map;function N(i){let t=p.get(i);if(!t){const s=[18,16,14,12,10,7].map(h=>h*i),o=14*i;t=new H(C,s,o),p.set(i,t),setTimeout(()=>p.delete(i),5e3)}return t}export default function O(i,t){if(!(!(t instanceof B)||t.noLabels))return new A(i,t)}class A extends W{steps;labelIsVertical;text;constructor(t,s){super(t,s);const o=s.borderWidth/2||w.borderWidth/2,h=this.booth.rect,S=Number(getComputedStyle(document.body).getPropertyValue(D))||Number(getComputedStyle(document.body).getPropertyValue(L))||500,g=V(S,this.rendererService.fontUrls),c=h.expand({x:-(h.size.width*.05+o),y:-(h.size.height*.05+o)});this.setText(),this.canvasRect=new f(c.center,c.size,s.rotate),this.setFactors(this.text),this.labelIsVertical=Math.abs(Math.abs(s.rotate)-Math.PI/2)<.01,this.fontSizes=[this.steps,[]],this.minZoomDotVisible=_(this.steps.map(e=>e.scaleFactor)),this.shapeLabel=F([{text:this.text,color:s.labelColor||M.boothLabelColor,fontUrl:g,fontSize:0}],new f(c.center,c.size,s.rotate),[o,o],{horizontal:"center",text:"center",vertical:"center"}),this.getShapeDot(),u(()=>[this.booth.skipDim,d.selectedRoute,k.layersLoaded],()=>{const e=$();this.shapeLabel.dim=e||this.booth.skipDim?!1:void 0,this.shapeDot.dim=e||this.booth.skipDim?!1:void 0,this.rendererService.update(this.shapeLabel,this.shapeDot)});const m=e=>{let a=this.steps.find(r=>r.scaleFactor<1/e);return a?(this.shapeLabel.lines[0].fontSize=a.value/devicePixelRatio*e,this.shapeLabel.lines[0].text=a.lines.join(`
2
- `),this.shapeLabel.padding=[this.paddingScaled[0]*e+this.padding,this.paddingScaled[1]*e+this.padding],this.shapeLabel):(this.shapeLabel.lines[0].fontSize=0,this.shapeLabel)},b=e=>{let a=this.steps.find(l=>l.scaleFactor<1/e);const r=this.shapeDot.source.width*e,n=this.shapeDot.source.height*e;return this.shapeDot.bounds=R(x.fromCenter(this.canvasRect.center,{x:r,y:n})),this.shapeDot.hidden=!!a,this.shapeDot};this.rendererService.onPtScale(`booth-special-label-${s.id}`,m),this.rendererService.onPtScale(`booth-special-dot-${s.id}`,b),u(()=>d.mapSettings,({roll:e})=>{v(e)&&this.rendererService.onRoll(`booth-special-roll-${s.id}`,a=>{const r=this.shapeLabel.bounds.rotation;if(this.labelIsVertical)T(a,r)&&(this.shapeLabel.bounds.rotation=-r);else{const n=y(a,r);if(n!==void 0){const{size:l}=this.canvasRect;this.shapeLabel=P(this.shapeLabel,n),l.x!==l.y&&!this.shapeLabel.hidden&&(this.canvasRect=z(this.canvasRect,n),this.setFactors(this.text),m(this.rendererService.scale),b(this.rendererService.scale))}}return[this.shapeLabel,this.shapeDot]})},{fireImmediately:!0})}getShape(){return[this.shapeLabel,this.shapeDot]}setFactors(t){this.steps=N(devicePixelRatio).getStepsForRect(t,this.canvasRect.size.x,this.canvasRect.size.y)}setText(){const t=this.booth.title||this.booth.name,o=`Clicks: ${I.getTotalClicksByBooth(this.booth)}`;this.text=d.heatmap?`${t} - ${o}`:t}}
1
+ import{Box as x,Rect as b}from"@expofp/geometry";import{reaction as u}from"mobx";import{FONT_WEIGHT_PRIMARY_BOOTH as L,FONT_WEIGHT_PRIMARY_SPECIAL as D}from"../../../../constants";import{boxToRenderer as R,createTextDef as F,getRollValue as v,getRotation as y,shouldFlip as T,updateRectRotation as z,updateTextDefRotation as P}from"../../../../renderer";import{boothStore as w,heatmapStore as k,layersStore as B,uiState as d}from"../../../../store";import{SpecialBooth as I}from"../../../../store/BoothStore";import M from"../../../../tools/settings";import{getFont as C}from"./canvases";import{BoothLabelDrawer as W,getFontUrlByWeight as V,getMinZoomFactorForDot as _,isDirectionsMode as $}from"./config-booth-labels";import H from"./TextFitter";const p=new Map;function N(i){let t=p.get(i);if(!t){const s=[18,16,14,12,10,7].map(h=>h*i),o=14*i;t=new H(C,s,o),p.set(i,t),setTimeout(()=>p.delete(i),5e3)}return t}export default function O(i,t){if(!(!(t instanceof I)||t.noLabels))return new A(i,t)}class A extends W{constructor(t,s){super(t,s);const o=s.borderWidth/2||w.borderWidth/2,h=this.booth.rect,S=Number(getComputedStyle(document.body).getPropertyValue(D))||Number(getComputedStyle(document.body).getPropertyValue(L))||500,g=V(S,this.rendererService.fontUrls),c=h.expand({x:-(h.size.width*.05+o),y:-(h.size.height*.05+o)});this.setText(),this.canvasRect=new b(c.center,c.size,s.rotate),this.setFactors(this.text),this.labelIsVertical=Math.abs(Math.abs(s.rotate)-Math.PI/2)<.01,this.fontSizes=[this.steps,[]],this.minZoomDotVisible=_(this.steps.map(e=>e.scaleFactor)),this.shapeLabel=F([{text:this.text,color:s.labelColor||M.boothLabelColor,fontUrl:g,fontSize:0}],new b(c.center,c.size,s.rotate),[o,o],{horizontal:"center",text:"center",vertical:"center"}),this.getShapeDot(),u(()=>[this.booth.skipDim,d.selectedRoute,B.layersLoaded],()=>{const e=$();this.shapeLabel.dim=e||this.booth.skipDim?!1:void 0,this.shapeDot.dim=e||this.booth.skipDim?!1:void 0,this.rendererService.update(this.shapeLabel,this.shapeDot)});const m=e=>{let a=this.steps.find(r=>r.scaleFactor<1/e);return a?(this.shapeLabel.lines[0].fontSize=a.value/devicePixelRatio*e,this.shapeLabel.lines[0].text=a.lines.join(`
2
+ `),this.shapeLabel.padding=[this.paddingScaled[0]*e+this.padding,this.paddingScaled[1]*e+this.padding],this.shapeLabel):(this.shapeLabel.lines[0].fontSize=0,this.shapeLabel)},f=e=>{let a=this.steps.find(l=>l.scaleFactor<1/e);const r=this.shapeDot.source.width*e,n=this.shapeDot.source.height*e;return this.shapeDot.bounds=R(x.fromCenter(this.canvasRect.center,{x:r,y:n})),this.shapeDot.hidden=!!a,this.shapeDot};this.rendererService.onPtScale(`booth-special-label-${s.id}`,m),this.rendererService.onPtScale(`booth-special-dot-${s.id}`,f),u(()=>d.mapSettings,({roll:e})=>{v(e)&&this.rendererService.onRoll(`booth-special-roll-${s.id}`,a=>{const r=this.shapeLabel.bounds.rotation;if(this.labelIsVertical)T(a,r)&&(this.shapeLabel.bounds.rotation=-r);else{const n=y(a,r);if(n!==void 0){const{size:l}=this.canvasRect;this.shapeLabel=P(this.shapeLabel,n),l.x!==l.y&&!this.shapeLabel.hidden&&(this.canvasRect=z(this.canvasRect,n),this.setFactors(this.text),m(this.rendererService.scale),f(this.rendererService.scale))}}return[this.shapeLabel,this.shapeDot]})},{fireImmediately:!0})}getShape(){return[this.shapeLabel,this.shapeDot]}setFactors(t){this.steps=N(devicePixelRatio).getStepsForRect(t,this.canvasRect.size.x,this.canvasRect.size.y)}setText(){const t=this.booth.title||this.booth.name,o=`Clicks: ${k.getTotalClicksByBooth(this.booth)}`;this.text=d.heatmap?`${t} - ${o}`:t}}