@expofp/floorplan 3.3.8 → 3.4.1

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 (200) hide show
  1. package/dist/browser/{CookieConsent-DhAS93Nm.js → CookieConsent-DfcrHJE4.js} +8 -8
  2. package/dist/browser/{Debug-DciNEVl6.js → Debug-CmqdoArn.js} +7 -7
  3. package/dist/browser/{Demo-Dh3K6IRU.js → Demo-Hoy_N0Z_.js} +11 -11
  4. package/dist/browser/{Free-BHUzZwj9.js → Free-CT6O_Rnj.js} +11 -11
  5. package/dist/browser/{Gallery-C0nPxxJB.js → Gallery-BljmDte7.js} +10 -10
  6. package/dist/browser/{GpsLoader-De8VPIEW.js → GpsLoader-gAQ2jImu.js} +49 -49
  7. package/dist/browser/{KioskStore-D1jnGTbv.js → KioskStore-pVMWw1SV.js} +31 -31
  8. package/dist/browser/MaplibreAdapter-BSNFyqqO.js +35131 -0
  9. package/dist/browser/{Modal-D8kuOldj.js → Modal-vx2GyFQU.js} +10 -10
  10. package/dist/browser/{PermissionNotice-v9vhrWnr.js → PermissionNotice-dzFosoL5.js} +7 -7
  11. package/dist/browser/{SetKioskMode-D2cDGv9V.js → SetKioskMode-DpKxhNjj.js} +21 -21
  12. package/dist/browser/ShowKiosk-DK4cf8sZ.js +26 -0
  13. package/dist/browser/{TouchHand-hrkQyTE4.js → TouchHand-DJqTFALN.js} +4 -4
  14. package/dist/browser/{ViewerMenuPanel-BVfEToAO.js → ViewerMenuPanel-BLMOVmrA.js} +13 -13
  15. package/dist/browser/{add-debug-secret-listener-CdWQ5IqR.js → add-debug-secret-listener-lzYkiNT3.js} +1 -1
  16. package/dist/browser/{boolean-editor-D24_ATfB.js → boolean-editor-BIo7t1o3.js} +10 -10
  17. package/dist/browser/{bootIntercom-DSRi4yws.js → bootIntercom-_8PT4FQ5.js} +2 -2
  18. package/dist/browser/{box-BXDPYk7M.js → box-ClFQfPBk.js} +5 -5
  19. package/dist/browser/{browser-Dk-lVBqy.js → browser-CNl61l-H.js} +2 -2
  20. package/dist/browser/bundle.json +61 -64
  21. package/dist/browser/{classnames-DNY5NR54.js → classnames-CzOdLC35.js} +2 -2
  22. package/dist/browser/{client-CWN096Nx.js → client-uxC45MrM.js} +4 -4
  23. package/dist/browser/components-rG8z7y3m.js +6300 -0
  24. package/dist/browser/createWayfinding-BnWXhjaY.js +1889 -0
  25. package/dist/browser/{debug-overlay-DQG-UfZv.js → debug-overlay-hexy4zxM.js} +15 -16
  26. package/dist/browser/{debug-ui-yYN-_8G_.js → debug-ui-DTEjq_eB.js} +18 -14
  27. package/dist/browser/{dist-uPMox8hh.js → dist-Cv_TFco-.js} +6 -6
  28. package/dist/browser/{dist-7_sOACbd.js → dist-DZk5xw-4.js} +5 -5
  29. package/dist/browser/{dist-CAs4SFEJ.js → dist-EPpxz8po.js} +3 -3
  30. package/dist/browser/{efp-debug-init-Dwp-psKk.js → efp-debug-init-Bs3FZwZP.js} +5 -4
  31. package/dist/browser/{enum-editor-PV_iv0tr.js → enum-editor-C-CMuvRj.js} +11 -11
  32. package/dist/browser/{event-not-found-BjBg31r7.js → event-not-found-BoO2R7hM.js} +1 -1
  33. package/dist/browser/{exports-lMrT2XbM.js → exports-CaawsP5N.js} +1 -1
  34. package/dist/browser/{favicon-qwrv2N2K.js → favicon-Cfw5edT7.js} +1 -1
  35. package/dist/browser/{fetch-retry.umd-D_06P7tx.js → fetch-retry.umd-BNuFWdhd.js} +2 -2
  36. package/dist/browser/{flex-DMyWG2k5.js → flex-C_CBGYoG.js} +6 -6
  37. package/dist/browser/{flex.props-DJYmgUbO.js → flex.props-BrTX-e6I.js} +2 -2
  38. package/dist/browser/{floorplan.loader-CkEu28br.js → floorplan.loader-BC6HaV0P.js} +298 -299
  39. package/dist/browser/{floorplan.ready-CL42thhp.js → floorplan.ready-DyEjsSpU.js} +256 -256
  40. package/dist/browser/{fuse-BrJpK9Lv.js → fuse-5Y1S2aYX.js} +2 -2
  41. package/dist/browser/{i18n-ST-5I_Xd.js → i18n-CDf6bxFZ.js} +5 -5
  42. package/dist/browser/index.js +12 -13
  43. package/dist/browser/{jsx-runtime-z-VgZsNI.js → jsx-runtime-CQQX82Qz.js} +2 -2
  44. package/dist/browser/{lib-resthkmx.js → lib-D8YEKiMm.js} +4 -4
  45. package/dist/browser/locales/ar.json +0 -1
  46. package/dist/browser/locales/de.json +0 -1
  47. package/dist/browser/locales/es.json +0 -1
  48. package/dist/browser/locales/fr.json +0 -1
  49. package/dist/browser/locales/he.json +0 -1
  50. package/dist/browser/locales/it.json +0 -1
  51. package/dist/browser/locales/kk.json +0 -1
  52. package/dist/browser/locales/ko.json +0 -1
  53. package/dist/browser/locales/mn.json +0 -1
  54. package/dist/browser/locales/nl.json +0 -1
  55. package/dist/browser/locales/pl.json +0 -1
  56. package/dist/browser/locales/pt.json +0 -1
  57. package/dist/browser/locales/ru.json +0 -1
  58. package/dist/browser/locales/sv.json +0 -1
  59. package/dist/browser/locales/th.json +0 -1
  60. package/dist/browser/locales/tr.json +0 -1
  61. package/dist/browser/locales/uk.json +0 -1
  62. package/dist/browser/locales/vi.json +0 -1
  63. package/dist/browser/locales/zh.json +0 -1
  64. package/dist/browser/{main-BOaUt8eX.js → main-DLV6-NmW.js} +1 -1
  65. package/dist/browser/{mobx-BGVJo_6r.js → mobx-BJrcB0Vj.js} +5 -5
  66. package/dist/browser/{particles.min-D3-LD_RC.js → particles.min-MhzX8Iok.js} +2 -2
  67. package/dist/browser/{prop-types-xS5Y65WT.js → prop-types-BQqJiJ_U.js} +2 -2
  68. package/dist/browser/{react-CDDaD-I1.js → react-CsfnOko-.js} +2 -2
  69. package/dist/browser/{react-dom-B1aPQ40g.js → react-dom-l6xfbLNt.js} +3 -3
  70. package/dist/browser/{reset-all-settings-DHgz1Ud7.js → reset-all-settings-Dmpe88yX.js} +13 -10
  71. package/dist/browser/{rolldown-runtime-Bb8iYlSJ.js → rolldown-runtime-BrK3KJzc.js} +1 -1
  72. package/dist/browser/{settings-BD9hHBVE.js → settings-BDwO4gl1.js} +2 -2
  73. package/dist/browser/{settings-item-BMJ0aBEh.js → settings-item-CbJ6ldaB.js} +6 -6
  74. package/dist/browser/{storage-B0mOBJql.js → storage-c5Z4yjiL.js} +5 -3
  75. package/dist/browser/{store-Dyrv6nnP.js → store-D_Y9lFsn.js} +5190 -5623
  76. package/dist/browser/{string-editor-DoAiUhFX.js → string-editor-BOID14bU.js} +8 -8
  77. package/dist/browser/{theme-7rduvM4D.js → theme-Ca3r5e2H.js} +8 -8
  78. package/dist/browser/{ui-CgRQk7e0.js → ui-BTe-W0zP.js} +9 -9
  79. package/dist/browser/{useRenderTarget-rq9Hu7Z3.js → useRenderTarget-CbXuqspA.js} +4 -4
  80. package/dist/esm/_misc_to_move/manifest.d.ts +1 -0
  81. package/dist/esm/components/AlertContainer.d.ts +3 -1
  82. package/dist/esm/components/AlertContainer.js +1 -1
  83. package/dist/esm/components/Booth/Booth.js +1 -1
  84. package/dist/esm/components/Controls.js +1 -1
  85. package/dist/esm/components/EntityItemContainer.d.ts +25 -2
  86. package/dist/esm/components/EntityItemContainer.js +1 -1
  87. package/dist/esm/components/EntityList.js +1 -1
  88. package/dist/esm/components/EntityListRow.d.ts +3 -2
  89. package/dist/esm/components/EntityListRow.js +1 -1
  90. package/dist/esm/components/Exhibitor.js +1 -1
  91. package/dist/esm/components/Kiosk/KioskStore.d.ts +1 -1
  92. package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +1 -1
  93. package/dist/esm/components/Layout.js +1 -1
  94. package/dist/esm/components/LevelSelector.js +1 -1
  95. package/dist/esm/components/LogoOverlay.js +1 -1
  96. package/dist/esm/components/Map/Map.js +1 -1
  97. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
  98. package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
  99. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  100. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  101. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  102. package/dist/esm/components/Maplibre/MaplibreAdapter.d.ts +14 -0
  103. package/dist/esm/components/Maplibre/MaplibreAdapter.js +1 -0
  104. package/dist/esm/components/Maplibre/MaplibreWrapper.d.ts +69 -0
  105. package/dist/esm/components/Maplibre/MaplibreWrapper.js +1 -0
  106. package/dist/esm/components/Maplibre/useCameraReactions.d.ts +10 -0
  107. package/dist/esm/components/Maplibre/useCameraReactions.js +1 -0
  108. package/dist/esm/components/Maplibre/useDimming.d.ts +16 -0
  109. package/dist/esm/components/Maplibre/useDimming.js +1 -0
  110. package/dist/esm/components/Maplibre/useLayerVisibilitySync.d.ts +11 -0
  111. package/dist/esm/components/Maplibre/useLayerVisibilitySync.js +1 -0
  112. package/dist/esm/components/Maplibre/useRendererEvents.d.ts +9 -0
  113. package/dist/esm/components/Maplibre/useRendererEvents.js +1 -0
  114. package/dist/esm/components/Maplibre/useWayfindingAndMarkers.d.ts +8 -0
  115. package/dist/esm/components/Maplibre/useWayfindingAndMarkers.js +1 -0
  116. package/dist/esm/components/Maplibre/utils/geo-config.d.ts +30 -0
  117. package/dist/esm/components/Maplibre/utils/geo-config.js +1 -0
  118. package/dist/esm/components/Maplibre/utils/layer-defs.d.ts +4 -0
  119. package/dist/esm/components/Maplibre/utils/layer-defs.js +1 -0
  120. package/dist/esm/components/Maplibre/utils/map-helpers.d.ts +9 -0
  121. package/dist/esm/components/Maplibre/utils/map-helpers.js +1 -0
  122. package/dist/esm/components/Maplibre/utils/solver.d.ts +24 -0
  123. package/dist/esm/components/Maplibre/utils/solver.js +1 -0
  124. package/dist/esm/components/Speakers.js +1 -1
  125. package/dist/esm/components/index.d.ts +2 -1
  126. package/dist/esm/data/Flags.d.ts +1 -0
  127. package/dist/esm/data/fpGeo.d.ts +20 -1
  128. package/dist/esm/floorplan.loader.d.ts +1 -0
  129. package/dist/esm/floorplan.loader.js +1 -1
  130. package/dist/esm/floorplan.ready.js +1 -1
  131. package/dist/esm/renderer/RendererService.d.ts +5 -0
  132. package/dist/esm/renderer/RendererService.js +1 -1
  133. package/dist/esm/services/routing.js +1 -1
  134. package/dist/esm/store/MaplibreStore.d.ts +22 -0
  135. package/dist/esm/store/MaplibreStore.js +1 -0
  136. package/dist/esm/store/RootStore.d.ts +2 -2
  137. package/dist/esm/store/RootStore.js +1 -1
  138. package/dist/esm/store/RouteStore.js +1 -1
  139. package/dist/esm/store/init/init-booths.js +1 -1
  140. package/dist/esm/types.d.ts +9 -0
  141. package/dist/esm/ui/Alert/Alert.d.ts +1 -1
  142. package/dist/esm/ui/Alert/Alert.js +1 -1
  143. package/dist/esm/ui/EntityItem/EntityItem.d.ts +46 -0
  144. package/dist/esm/ui/EntityItem/EntityItem.js +1 -0
  145. package/dist/esm/ui/EntityItem/index.d.ts +3 -0
  146. package/dist/esm/ui/EntityItem/index.js +1 -0
  147. package/dist/esm/utils/dimming.d.ts +16 -0
  148. package/dist/esm/utils/dimming.js +1 -0
  149. package/dist/esm/utils/isNumericLevel.d.ts +2 -0
  150. package/dist/esm/utils/isNumericLevel.js +1 -0
  151. package/dist/esm/wayfinding/core/position/gpsThreshold.d.ts +1 -1
  152. package/package.json +5 -9
  153. package/dist/browser/Mapbox-CzVyYzjj.js +0 -120
  154. package/dist/browser/ShowKiosk-DjrDUQUM.js +0 -26
  155. package/dist/browser/ThreeComponent-CUKVDY94.js +0 -1494
  156. package/dist/browser/components-D9o158HA.js +0 -8128
  157. package/dist/browser/data-ZH4_sxkL.js +0 -27967
  158. package/dist/browser/vendor/mapbox/mapbox-gl.css +0 -1
  159. package/dist/esm/components/EntityItem.d.ts +0 -44
  160. package/dist/esm/components/EntityItem.js +0 -1
  161. package/dist/esm/components/Mapbox/Button.d.ts +0 -10
  162. package/dist/esm/components/Mapbox/Button.js +0 -1
  163. package/dist/esm/components/Mapbox/Dot.d.ts +0 -10
  164. package/dist/esm/components/Mapbox/Dot.js +0 -1
  165. package/dist/esm/components/Mapbox/MapLoader.d.ts +0 -4
  166. package/dist/esm/components/Mapbox/MapLoader.js +0 -1
  167. package/dist/esm/components/Mapbox/Mapbox.d.ts +0 -4
  168. package/dist/esm/components/Mapbox/Mapbox.js +0 -1
  169. package/dist/esm/components/Mapbox/utils/data.d.ts +0 -38
  170. package/dist/esm/components/Mapbox/utils/data.js +0 -1
  171. package/dist/esm/components/Threejs/ThreeComponent.d.ts +0 -7
  172. package/dist/esm/components/Threejs/ThreeComponent.js +0 -1
  173. package/dist/esm/components/Threejs/UIManager.d.ts +0 -28
  174. package/dist/esm/components/Threejs/UIManager.js +0 -1
  175. package/dist/esm/components/Threejs/common/BoothMesh.d.ts +0 -20
  176. package/dist/esm/components/Threejs/common/BoothMesh.js +0 -1
  177. package/dist/esm/components/Threejs/common/Scene.d.ts +0 -13
  178. package/dist/esm/components/Threejs/common/Scene.js +0 -1
  179. package/dist/esm/components/Threejs/common/SpriteMesh.d.ts +0 -5
  180. package/dist/esm/components/Threejs/common/SpriteMesh.js +0 -1
  181. package/dist/esm/components/Threejs/common/dataLoader.d.ts +0 -31
  182. package/dist/esm/components/Threejs/common/dataLoader.js +0 -1
  183. package/dist/esm/components/Threejs/common/modelLoader.d.ts +0 -3
  184. package/dist/esm/components/Threejs/common/modelLoader.js +0 -1
  185. package/dist/esm/components/Threejs/common/sceneLoader.d.ts +0 -7
  186. package/dist/esm/components/Threejs/common/sceneLoader.js +0 -1
  187. package/dist/esm/components/Threejs/index.d.ts +0 -4
  188. package/dist/esm/components/Threejs/index.js +0 -1
  189. package/dist/esm/components/Threejs/mapbox/configureWebGLForMapbox.d.ts +0 -2
  190. package/dist/esm/components/Threejs/mapbox/configureWebGLForMapbox.js +0 -1
  191. package/dist/esm/components/Threejs/mapbox/index_mapbox.d.ts +0 -4
  192. package/dist/esm/components/Threejs/mapbox/index_mapbox.js +0 -1
  193. package/dist/esm/components/Threejs/mapbox/init-mapbox.d.ts +0 -3
  194. package/dist/esm/components/Threejs/mapbox/init-mapbox.js +0 -1
  195. package/dist/esm/components/Threejs/utils/canvasFromText.d.ts +0 -2
  196. package/dist/esm/components/Threejs/utils/canvasFromText.js +0 -1
  197. package/dist/esm/components/Threejs/utils/textureMerger.d.ts +0 -60
  198. package/dist/esm/components/Threejs/utils/textureMerger.js +0 -1
  199. package/dist/esm/store/MapboxStore.d.ts +0 -13
  200. package/dist/esm/store/MapboxStore.js +0 -1
@@ -1,18 +1,18 @@
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.3.8" };
4
+ e.SENTRY_RELEASE = { id: "3.4.1" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "90fb92e4-0c35-4d73-af3d-09f610967014", e._sentryDebugIdIdentifier = "sentry-dbid-90fb92e4-0c35-4d73-af3d-09f610967014");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-Bb8iYlSJ.js";
10
- import { t } from "./react-CDDaD-I1.js";
11
- import { t as n } from "./jsx-runtime-z-VgZsNI.js";
12
- import { E as r, c as i, l as a, o, r as s, v as c } from "./box-BXDPYk7M.js";
13
- import { t as l } from "./classnames-DNY5NR54.js";
14
- import { t as u } from "./flex.props-DJYmgUbO.js";
15
- import { t as d } from "./settings-item-BMJ0aBEh.js";
9
+ import { r as e } from "./rolldown-runtime-BrK3KJzc.js";
10
+ import { t } from "./react-CsfnOko-.js";
11
+ import { t as n } from "./jsx-runtime-CQQX82Qz.js";
12
+ import { E as r, c as i, l as a, o, r as s, v as c } from "./box-ClFQfPBk.js";
13
+ import { t as l } from "./classnames-CzOdLC35.js";
14
+ import { t as u } from "./flex.props-BrTX-e6I.js";
15
+ import { t as d } from "./settings-item-CbJ6ldaB.js";
16
16
  //#region ../../node_modules/.pnpm/@radix-ui+themes@3.3.0_@types+react-dom@19.2.3_@types+react@19.2.16__@types+react@19.2._237ab8922e2725fc6ff51784b4ebc77f/node_modules/@radix-ui/themes/dist/esm/components/text-field.props.js
17
17
  var f = {
18
18
  size: {
@@ -1,18 +1,18 @@
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.3.8" };
4
+ e.SENTRY_RELEASE = { id: "3.4.1" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "cff38276-aa8d-41db-a31e-c60b68cf072c", e._sentryDebugIdIdentifier = "sentry-dbid-cff38276-aa8d-41db-a31e-c60b68cf072c");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-Bb8iYlSJ.js";
10
- import { t } from "./react-CDDaD-I1.js";
11
- import { t as n } from "./jsx-runtime-z-VgZsNI.js";
12
- import { t as r } from "./react-dom-B1aPQ40g.js";
13
- import { C as i, D as a, S as o, T as s, _ as c, a as l, g as u, w as d } from "./box-BXDPYk7M.js";
14
- import { c as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dist-uPMox8hh.js";
15
- import { t as y } from "./classnames-DNY5NR54.js";
9
+ import { r as e } from "./rolldown-runtime-BrK3KJzc.js";
10
+ import { t } from "./react-CsfnOko-.js";
11
+ import { t as n } from "./jsx-runtime-CQQX82Qz.js";
12
+ import { t as r } from "./react-dom-l6xfbLNt.js";
13
+ import { C as i, D as a, S as o, T as s, _ as c, a as l, g as u, w as d } from "./box-ClFQfPBk.js";
14
+ import { c as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dist-Cv_TFco-.js";
15
+ import { t as y } from "./classnames-CzOdLC35.js";
16
16
  //#region ../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.2.3_@types+react@19.2.16__@ty_0100624f14fe05e2fce87091cda222ea/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
17
17
  var b = /* @__PURE__ */ e(r(), 1), x = /* @__PURE__ */ e(t(), 1), S = n(), C = Object.freeze({
18
18
  position: "absolute",
@@ -1,17 +1,17 @@
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.3.8" };
4
+ e.SENTRY_RELEASE = { id: "3.4.1" };
5
5
  var t = new e.Error().stack;
6
- t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "11c667ee-f279-40ae-b116-af84691ecf19", e._sentryDebugIdIdentifier = "sentry-dbid-11c667ee-f279-40ae-b116-af84691ecf19");
6
+ t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "751711f5-8181-4be7-86b5-4dc6d2594afb", e._sentryDebugIdIdentifier = "sentry-dbid-751711f5-8181-4be7-86b5-4dc6d2594afb");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-Bb8iYlSJ.js";
10
- import { i as t, r as n } from "./reset-all-settings-DHgz1Ud7.js";
11
- import { t as r } from "./jsx-runtime-z-VgZsNI.js";
12
- import "./settings-BD9hHBVE.js";
13
- import { t as i } from "./browser-Dk-lVBqy.js";
14
- import { t as a } from "./add-debug-secret-listener-CdWQ5IqR.js";
9
+ import { r as e } from "./rolldown-runtime-BrK3KJzc.js";
10
+ import { a as t, r as n } from "./reset-all-settings-Dmpe88yX.js";
11
+ import { t as r } from "./jsx-runtime-CQQX82Qz.js";
12
+ import "./settings-BDwO4gl1.js";
13
+ import { t as i } from "./browser-CNl61l-H.js";
14
+ import { t as a } from "./add-debug-secret-listener-lzYkiNT3.js";
15
15
  //#region ../debug/src/lib/ui/render-debug-ui.tsx
16
16
  var o = /* @__PURE__ */ e(i(), 1), s = r(), c = !1;
17
17
  function l() {
@@ -26,7 +26,7 @@ function l() {
26
26
  }
27
27
  });
28
28
  let i = async (t) => {
29
- let { DebugUi: n } = await import("./debug-ui-yYN-_8G_.js"), { createRoot: i } = await import("./client-CWN096Nx.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
29
+ let { DebugUi: n } = await import("./debug-ui-DTEjq_eB.js"), { createRoot: i } = await import("./client-uxC45MrM.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
30
30
  document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, s.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.3.8" };
4
+ e.SENTRY_RELEASE = { id: "3.4.1" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "efd08859-ff4a-4f73-977e-4ad657829cfc", e._sentryDebugIdIdentifier = "sentry-dbid-efd08859-ff4a-4f73-977e-4ad657829cfc");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-Bb8iYlSJ.js";
10
- import { t } from "./react-CDDaD-I1.js";
11
- import { s as n } from "./store-Dyrv6nnP.js";
9
+ import { r as e } from "./rolldown-runtime-BrK3KJzc.js";
10
+ import { t } from "./react-CsfnOko-.js";
11
+ import { s as n } from "./store-D_Y9lFsn.js";
12
12
  //#region src/utils/getRenderTargetFromRoot.ts
13
13
  var r = /* @__PURE__ */ e(t(), 1);
14
14
  function i(e) {
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * ExpoFP Manifest format
3
+ * TODO: Keep this in sync with packages/data/src/lib/manifest.ts until this copy is removed.
3
4
  */
4
5
  export interface Manifest {
5
6
  expo: string;
@@ -1,5 +1,7 @@
1
1
  import React from "react";
2
2
  import type { AlertProps } from "../ui/Alert";
3
- declare const AlertContainer: (props: AlertProps) => React.JSX.Element;
3
+ declare const AlertContainer: ({ closeLabel, ...props }: Omit<AlertProps, "closeLabel"> & {
4
+ closeLabel?: string;
5
+ }) => React.JSX.Element;
4
6
  export default AlertContainer;
5
7
  //# sourceMappingURL=AlertContainer.d.ts.map
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import o from"../ui/Alert";import{t as e}from"../utils/i18n";const l=r=>t(o,{closeLabel:e("Close alert"),...r});export default l;
1
+ import{jsx as o}from"react/jsx-runtime";import e from"../ui/Alert";import{t as l}from"../utils/i18n";const m=({closeLabel:r,...t})=>o(e,{...t,closeLabel:r??l("Close alert")});export default m;
@@ -1 +1 @@
1
- import{jsx as o,Fragment as b,jsxs as u}from"react/jsx-runtime";import{useRef as y,useEffect as _}from"react";import{useLocalStore as x,observer as p}from"mobx-react-lite";import l from"../../data";import c,{uiState as s}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"../Schedule";import I from"../SidebarActions";import{BoothOnHold as L}from"./BoothOnHold";import{BoothReserved as j}from"./BoothReserved";import{BoothWithoutExhibitor as k}from"./BoothWithoutExhibitor";import H from"../../utils/useHeatmapOverlay";import A from"../EntityItemContainer";import{LevelBadge as M}from"../";import"./Booth.scss";const U=p(()=>{const d=y(),e=x(()=>({get booth(){return s.selectedBooth},get regular(){return this.booth instanceof N?this.booth:null},get special(){return this.booth instanceof S?this.booth:null},get showReserve(){return!s.kiosk&&this.regular&&(this.regular.price==="0"&&!!this.regular.buyUrl||!!this.regular.reserveUrl)},get showBuy(){return!s.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||""}}));_(()=>{if(e.booth.schedule?.length){const t=new Date,r=[...e.booth.schedule].sort((i,n)=>new Date(i.startDate).getTime()-new Date(n.startDate).getTime());if(r.some(i=>(i.endDate?new Date(i.endDate):new Date(i.startDate))<t)){const i=r.find(n=>(n.endDate?new Date(n.endDate):new Date(n.startDate))>t);if(i&&d.current){const n=d.current.querySelector(`[data-event-id="${i.id}"]`);n&&setTimeout(()=>{const f=d.current.getBoundingClientRect(),R=n.getBoundingClientRect().top-f.top-20;d.current.scrollTop=R},100)}}}},[e.booth.schedule]);function v(t,r){const g=parseInt(r);c.clickExhibitor(c.exhibitorStore.exhibitors.find(i=>i.id===g))}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}=H(e.booth),m=e.booth.exhibitors.sort((t,r)=>+!!r.featured-+!!t.featured).map(t=>o(A,{onClick:v,id:t.id.toString(),featured:t.featured,url:null,type:"exhibitor",image:t.logo,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(L,{booth:t,description:"",showBuy:!1,showReserve:!1,isRebooking:!1,level:h}):t.reserved?a=o(j,{}):t.exhibitors.length===0?a=o(k,{booth:t,description:e.descriptionCombined,showBuy:!s.previewMode&&e.showBuy,showReserve:!s.previewMode&&e.showReserve,isRebooking:!1,level:h}):a=o(b,{children:m})}else a=u("div",{className:"booth__content -spec",children:[o(M,{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&&!s.isGuidedToursActive&&o("div",{className:"exhibitor__directions",style:{paddingLeft:15,paddingRight:15},children:o(I,{showBookmark:!s.disableBookmarked&&!l.hideBookmarks&&!s.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(T,{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(()=>!s.menu&&s.selectedBooth?o(U,{}):null);
1
+ import{jsx as o,Fragment as b,jsxs as u}from"react/jsx-runtime";import{useRef as _,useEffect as y}from"react";import{useLocalStore as x,observer as p}from"mobx-react-lite";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"../Schedule";import I from"../SidebarActions";import{BoothOnHold as L}from"./BoothOnHold";import{BoothReserved as j}from"./BoothReserved";import{BoothWithoutExhibitor as k}from"./BoothWithoutExhibitor";import H from"../../utils/useHeatmapOverlay";import A from"../EntityItemContainer";import{LevelBadge as M}from"../";import"./Booth.scss";const U=p(()=>{const d=_(),e=x(()=>({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}=H(e.booth),m=e.booth.exhibitors.sort((t,r)=>+!!r.featured-+!!t.featured).map(t=>o(A,{onClick:v,id:t.id.toString(),featured:t.featured,kind:"exhibitor",image:t.logo,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(L,{booth:t,description:"",showBuy:!1,showReserve:!1,isRebooking:!1,level:h}):t.reserved?a=o(j,{}):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(M,{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(I,{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(T,{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 +1 @@
1
- import{jsx as m}from"react/jsx-runtime";import c from"classnames";import{useLocalStore as d,useObserver as p}from"mobx-react-lite";import r,{layersStore as i,uiState as o}from"../store";import{LayerMode as n,LayersMode as u}from"../store/LayerStore";import{remsToPixels as a}from"../utils";import{t}from"../utils/i18n";import y from"./MapControls";export default function b(){const s=d(()=>({get className(){return c({controls:!0,container:!0,"-ready":!0,[o.responsiveClass]:!0})},get style(){return{[o.rtl?"left":"right"]:o.overlayPosition==="left"?o.overlayCollapsed?a(.9):(o.kiosk?10:0)+a(.7)+"px":"10px",bottom:o.kiosk?a(4):a(9.6)}},get layers(){return i.layers.filter(e=>e.mode!==n.AlwaysHidden&&e.mode!==n.AlwaysVisible).map(e=>({id:e.name,name:e.description,visible:e.visible})).concat([]).reverse()},get visible(){return i.layers.filter(e=>e.visible).map(e=>e.name)}}));return p(()=>m(y,{className:s.className,style:s.style,title:t("Map controls"),titles:[t("Find your location"),t("Zoom In"),t("Zoom Out"),t("View switch"),t("Fit to screen"),t("Layers")],onClickFindLocation:()=>r.routeStore.findLocation(),onClickZoomIn:()=>o.zoomIn(),onClickZoomOut:()=>o.zoomOut(),onClickByWidth:()=>o.fitBounds(),onViewModeSwitch:()=>r.mapboxStore.activateMapbox(),viewModeSwitch:r.mapboxStore.mapBoxEnabled&&!r.mapboxStore.hideModeSwitchButton,viewMode:r.mapboxStore.showMapbox,findLocation:r.routeStore.canFindLocation&&!o.setKioskModeEnabled,layersActiveItems:s.visible,layersList:i.mode===u.CheckBox?s.layers:null,onChangeLayers:e=>{i.updateVisibility(e,!i.layers.find(l=>l.name===e).visible)}}))}
1
+ import{jsx as m}from"react/jsx-runtime";import c from"classnames";import{useLocalStore as d,useObserver as p}from"mobx-react-lite";import i,{layersStore as r,uiState as o}from"../store";import{LayerMode as l,LayersMode as u}from"../store/LayerStore";import{remsToPixels as a}from"../utils";import{t}from"../utils/i18n";import y from"./MapControls";export default function b(){const s=d(()=>({get className(){return c({controls:!0,container:!0,"-ready":!0,[o.responsiveClass]:!0})},get style(){return{[o.rtl?"left":"right"]:o.overlayPosition==="left"?o.overlayCollapsed?a(.9):(o.kiosk?10:0)+a(.7)+"px":"10px",bottom:o.kiosk?a(4):a(9.6)}},get layers(){return r.layers.filter(e=>e.mode!==l.AlwaysHidden&&e.mode!==l.AlwaysVisible).map(e=>({id:e.name,name:e.description,visible:e.visible})).concat([]).reverse()},get visible(){return r.layers.filter(e=>e.visible).map(e=>e.name)}}));return p(()=>m(y,{className:s.className,style:s.style,title:t("Map controls"),titles:[t("Find your location"),t("Zoom In"),t("Zoom Out"),t("View switch"),t("Fit to screen"),t("Layers")],onClickFindLocation:()=>i.routeStore.findLocation(),onClickZoomIn:()=>o.zoomIn(),onClickZoomOut:()=>o.zoomOut(),onClickByWidth:()=>o.fitBounds(),onViewModeSwitch:()=>i.maplibreStore.activateMaplibre(),viewModeSwitch:i.maplibreStore.maplibreEnabled&&!i.maplibreStore.hideModeSwitchButton,viewMode:i.maplibreStore.isMap3d,findLocation:i.routeStore.canFindLocation&&!o.setKioskModeEnabled,layersActiveItems:s.visible,layersList:r.mode===u.CheckBox?s.layers:null,onChangeLayers:e=>{r.updateVisibility(e,!r.layers.find(n=>n.name===e).visible)}}))}
@@ -1,5 +1,28 @@
1
1
  import React from "react";
2
- import type { EntityItemProps } from "./EntityItem";
3
- declare const EntityItemContainer: React.FunctionComponent<Omit<EntityItemProps, "highlight">>;
2
+ import type { EntityItemAdditionalInfo } from "../ui/EntityItem";
3
+ export type EntityItemKind = "booth" | "exhibitor" | "event" | "speaker" | "category";
4
+ export interface EntityItemContainerProps {
5
+ id: string;
6
+ kind: EntityItemKind;
7
+ title: string;
8
+ subtitle?: string;
9
+ image?: string;
10
+ icon?: string;
11
+ itemsCount?: number;
12
+ date?: string;
13
+ time?: string;
14
+ additionalInfo?: EntityItemAdditionalInfo[];
15
+ bookmarked?: boolean;
16
+ featured?: boolean;
17
+ visited?: boolean;
18
+ current?: boolean;
19
+ heatmapColor?: string;
20
+ accentBorderColor?: string;
21
+ hideUserState?: boolean;
22
+ compactDetails?: boolean;
23
+ secondaryText?: string;
24
+ onClick?: (id: string) => void;
25
+ }
26
+ declare const EntityItemContainer: React.FunctionComponent<EntityItemContainerProps>;
4
27
  export default EntityItemContainer;
5
28
  //# sourceMappingURL=EntityItemContainer.d.ts.map
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{observer as o}from"mobx-react-lite";import{uiState as t}from"../store";import m from"./EntityItem";const n=o(i=>{const r=t.list.type==="search"?t.list.text:void 0;return e(m,{...i,highlight:r})});export default n;
1
+ import{jsx as d}from"react/jsx-runtime";import{observer as u}from"mobx-react-lite";import{uiState as l}from"../store";import v from"../ui/EntityItem";import{t as o}from"../utils/i18n";import{isNumericLevel as h}from"../utils/isNumericLevel";const b={booth:{typeColor:"var(--color-booth)"},exhibitor:{typeColor:"var(--color-exhibitor)"},event:{typeColor:"var(--color-event)",hasDatetime:!0},speaker:{typeColor:"var(--color-speaker)",variant:"person"},category:{typeColor:"var(--color-category)",hasTitleBadge:!0,hasSubtitleLabel:!0}},y=e=>e.type==="location"?{...e,showLevelLabel:h(e.level)}:e,f=u(({kind:e,itemsCount:i,date:r,time:a,additionalInfo:s,...n})=>{const t=b[e],p=t.hasDatetime&&(r||a)?{date:r,time:a}:void 0,c=l.list.type==="search"?l.list.text:void 0,m={...n,additionalInfo:s?.map(y),typeColor:t.typeColor,iconClassName:`icon-${e}-solid`,variant:t.variant??"default",titleBadge:t.hasTitleBadge?i:void 0,datetime:p,subtitleLabel:t.hasSubtitleLabel?o("Category"):void 0,highlight:c,featuredLabel:o("Featured"),hallLabel:o("Hall"),levelLabel:o("Level")};return d(v,{...m})});export default f;
@@ -1 +1 @@
1
- import{jsx as c}from"react/jsx-runtime";import{observer as x}from"mobx-react-lite";import{Suspense as v,lazy as C,useEffect as T,useRef as L,useCallback as E,useContext as w}from"react";import e,{uiState as t}from"../store";import R from"../tools/settings";import P from"./EntityListRow";import{OverlayScrollContext as O}from"./Overlay";import"./EntityList.scss";import H from"../ui/Spinner";import{t as I}from"../utils/i18n";const g=()=>import("react-virtuoso").then(r=>({default:r.Virtuoso})).catch(()=>new Promise(r=>setTimeout(()=>r(g()),3e3))),V=C(g),_=["ipia2025"],z=({updatedScrollableRef:r,updateScroll:m})=>{const f=w(O),a=L(null),S=t.getListScrollItemId(t.list.type),b=_.includes(R.EXPO);T(()=>{const n=t.getListScrollTop(t.list.type),l=t.getListScrollItemId(t.list.type);(n>0||l)&&setTimeout(()=>{if(a.current){if(l){const o=t.listItems.findIndex(s=>s?.id?.toString()===l.toString());if(o!==-1){a.current.scrollToIndex({index:o,align:"center",behavior:"auto"});return}}n>0&&a.current.scrollTo({top:n,behavior:"auto"})}},100)},[t.list.type]);const u=t.showRouteInstantly,y=E((n,l)=>{const o=parseInt(l,10);switch(t.setListScrollItemId(t.list?.type,o),a.current?a.current.getState(s=>{const h=s?.scrollTop||0;t.setListScrollTop(t.list?.type,h)}):r.current&&t.setListScrollTop(t.list?.type,r.current.scrollTop||0),n){case"exhibitor":const s=e.exhibitorStore.exhibitors.find(i=>i.id===o);u?e.routeStore.clickRoute(null,e.routeStore.tempToBooth||s.booths[0]):e.clickExhibitor(s);break;case"booth":const h=e.boothStore.booths.find(i=>i.id===o);u?e.routeStore.clickRoute(null,h):e.clickBoothInList2(h);break;case"category":e.clickCategory(e.categoryStore.categories.find(i=>i.id===o));break;case"event":const d=e.eventStore.eventItems.find(i=>i.id===o);if(d){const i=e.boothStore.booths.find(p=>p.id===d.boothId);u&&i?e.routeStore.clickRoute(null,i):e.selectEventItem(d,!0)}break;case"speaker":{const i=e.speakerStore.speakers.find(p=>p.id===o);i&&e.selectSpeaker(i,!0);break}}},[u,r]),k=()=>c("div",{className:"list-empty",children:t.list.type==="search"?I("Oops, nothing found"):I("No items to show")});return f===null||t.setKioskModeEnabled?null:t.listItems.length?c("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:c(v,{fallback:c(H,{active:!0,isCenter:!0}),children:c(V,{ref:a,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:(n,l)=>{const o=l;if(!o)return null;const s=S?.toString()===o.id?.toString();return c(P,{item:o,index:n,highlighted:s,compactDetails:b,onClick:y},o.id)},itemsRendered:()=>m&&setTimeout(m),totalListHeightChanged:()=>m&&m(),customScrollParent:f,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialItemCount:Math.min(t.listScrollIndex+30,t.listItems.length)})})}):c(k,{})};export default x(z);
1
+ import{jsx as c}from"react/jsx-runtime";import{observer as x}from"mobx-react-lite";import{Suspense as v,lazy as C,useEffect as T,useRef as L,useCallback as E,useContext as w}from"react";import e,{uiState as t}from"../store";import R from"../tools/settings";import P from"./EntityListRow";import{OverlayScrollContext as O}from"./Overlay";import"./EntityList.scss";import H from"../ui/Spinner";import{t as I}from"../utils/i18n";const S=()=>import("react-virtuoso").then(r=>({default:r.Virtuoso})).catch(()=>new Promise(r=>setTimeout(()=>r(S()),3e3))),V=C(S),_=["ipia2025"],z=({updatedScrollableRef:r,updateScroll:m})=>{const f=w(O),a=L(null),b=t.getListScrollItemId(t.list.type),g=_.includes(R.EXPO);T(()=>{const n=t.getListScrollTop(t.list.type),l=t.getListScrollItemId(t.list.type);(n>0||l)&&setTimeout(()=>{if(a.current){if(l){const o=t.listItems.findIndex(s=>s?.id?.toString()===l.toString());if(o!==-1){a.current.scrollToIndex({index:o,align:"center",behavior:"auto"});return}}n>0&&a.current.scrollTo({top:n,behavior:"auto"})}},100)},[t.list.type]);const u=t.showRouteInstantly,y=E((n,l)=>{const o=parseInt(l,10);switch(t.setListScrollItemId(t.list?.type,o),a.current?a.current.getState(s=>{const h=s?.scrollTop||0;t.setListScrollTop(t.list?.type,h)}):r.current&&t.setListScrollTop(t.list?.type,r.current.scrollTop||0),n){case"exhibitor":const s=e.exhibitorStore.exhibitors.find(i=>i.id===o);u?e.routeStore.clickRoute(null,e.routeStore.tempToBooth||s.booths[0]):e.clickExhibitor(s);break;case"booth":const h=e.boothStore.booths.find(i=>i.id===o);u?e.routeStore.clickRoute(null,h):e.clickBoothInList2(h);break;case"category":e.clickCategory(e.categoryStore.categories.find(i=>i.id===o));break;case"event":const p=e.eventStore.eventItems.find(i=>i.id===o);if(p){const i=e.boothStore.booths.find(d=>d.id===p.boothId);u&&i?e.routeStore.clickRoute(null,i):e.selectEventItem(p,!0)}break;case"speaker":{const i=e.speakerStore.speakers.find(d=>d.id===o);i&&e.selectSpeaker(i,!0);break}}},[u,r]),k=()=>c("div",{className:"list-empty",children:t.list.type==="search"?I("Oops, nothing found"):I("No items to show")});return f===null||t.setKioskModeEnabled?null:t.listItems.length?c("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:c(v,{fallback:c(H,{active:!0,isCenter:!0}),children:c(V,{ref:a,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:(n,l)=>{const o=l;if(!o)return null;const s=b?.toString()===o.id?.toString();return c(P,{item:o,index:n,current:s,compactDetails:g,onClick:y},o.id)},itemsRendered:()=>m&&setTimeout(m),totalListHeightChanged:()=>m&&m(),customScrollParent:f,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialItemCount:Math.min(t.listScrollIndex+30,t.listItems.length)})})}):c(k,{})};export default x(z);
@@ -1,11 +1,12 @@
1
1
  import React from "react";
2
2
  import type { ListItem } from "../store/types";
3
+ import type { EntityItemKind } from "./EntityItemContainer";
3
4
  interface Props {
4
5
  item: ListItem;
5
6
  index: number;
6
- highlighted: boolean;
7
+ current: boolean;
7
8
  compactDetails?: boolean;
8
- onClick: (type: string, id: string) => void;
9
+ onClick: (kind: EntityItemKind, id: string) => void;
9
10
  }
10
11
  declare const _default: React.FunctionComponent<Props>;
11
12
  export default _default;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Exhibitor as s}from"../store/ExhibitorStore";import{BoothBase as h}from"../store/BoothStore";import{Category as m}from"../store/CategoryStore";import{SpeakerItem as b}from"../store/SpeakerStore";import{EventItem as y}from"../store/EventStore";import{HeatmapYah as f}from"../store/HeatmapStore";import g from"../utils/useHeatmapData";import I,{boothStore as v,uiState as a}from"../store";import n from"./EntityItemContainer";import S from"./YahRow";import i from"../data";import c from"dateformat";import{defaultRebookingOptions as C}from"./RebookingRadioGroup";import{observer as N}from"mobx-react-lite";import{shortenName as D}from"../utils/shortenName";const x=({item:o,index:k,highlighted:l,compactDetails:u,onClick:d})=>{let e={background:void 0,clicks:void 0};if(a.heatmap&&(o instanceof s||o instanceof h||o instanceof f)&&(e=g(o)),o instanceof s)return r(n,{onClick:d,id:o.id.toString(),featured:o.featured,url:null,type:o instanceof s?"exhibitor":"booth",image:o.logo,title:o.name,bookmarked:o.bookmarked,visited:o.visited,additionalInfo:o.booths.map(t=>({type:"location",locationName:t.name,level:t.layer&&(i.shortLevelName?t.layer.shortName:t.layer.description)||""})),highlighted:l,compactDetails:u,heatmapColor:e.background,heatmapClicks:e.clicks,rebookingColor:i.isRebooking?C[o.rebookingState]?.color.primary:void 0,kioskMode:a.kiosk,foundInDescription:a.foundInDescriptionStruct[o.id]});if("rect"in o)return r(n,{locationTerm:i.boothTerm,onClick:d,id:o.id.toString(),type:"booth",title:o.name,url:null,icon:o.poiIcon,additionalInfo:[{type:"location",locationName:o.name,level:i.shortLevelName?D(o.layer?.description):o.layer?.description}],bookmarked:o.bookmarked,highlighted:l,heatmapColor:e.background,heatmapClicks:e.clicks});if(o instanceof m)return r(n,{onClick:d,id:o.id.toString(),itemsCount:o.exhibitors.length,type:"category",title:o.name,url:null,highlighted:l});if(o instanceof b){const t=[];return o.company&&t.push({type:"speaker",text:o.jobTitle}),r(n,{id:o.id.toString(),type:"speaker",url:`?${o.slug}`,title:o.name,subtitle:o.company,image:o.photoFile,additionalInfo:t,bookmarked:o.bookmarked,onClick:(p,M)=>I.selectSpeaker(o,!0)},o.id)}if(o instanceof y){const t=o.boothId?v.booths.find(p=>p.id===o.boothId):null;return r(n,{id:o.id.toString(),onClick:d,type:"event",title:o.name,url:`?${o.slug}`,date:c(o.startDate,"dd mmm ddd"),time:`${c(o.startDate,"h:MM")} - ${c(o.endDate,"h:MM")}`,additionalInfo:t?[{type:"location",locationName:t.name,level:i.shortLevelName?t.layer?.shortName:t.layer?.description}]:[],bookmarked:o.bookmarked,visited:o.visited,highlighted:l,kioskMode:a.kiosk,foundInDescription:a.foundInDescriptionStruct[o.id]})}if(o instanceof f){const t=`list-row ${k===a.activeListIndex?"active":""}`;return r(S,{yah:o,className:t})}return null};export default N(x);
1
+ import{jsx as e}from"react/jsx-runtime";import{Exhibitor as f}from"../store/ExhibitorStore";import{BoothBase as m}from"../store/BoothStore";import{Category as h}from"../store/CategoryStore";import{SpeakerItem as b}from"../store/SpeakerStore";import{EventItem as g}from"../store/EventStore";import{HeatmapYah as p}from"../store/HeatmapStore";import y from"../utils/useHeatmapData";import v,{boothStore as S,uiState as a}from"../store";import n from"./EntityItemContainer";import I from"./YahRow";import c from"../data";import l from"dateformat";import{defaultRebookingOptions as x}from"./RebookingRadioGroup";import{observer as C}from"mobx-react-lite";const D=({item:o,index:k,current:i,compactDetails:u,onClick:d})=>{let s={background:void 0,clicks:void 0};if(a.heatmap&&(o instanceof f||o instanceof m||o instanceof p)&&(s=y(o)),o instanceof f){const t="exhibitor";return e(n,{onClick:r=>d(t,r),id:o.id.toString(),featured:o.featured,kind:t,image:o.logo,title:o.name,bookmarked:o.bookmarked,visited:o.visited,additionalInfo:o.booths.map(r=>({type:"location",locationName:r.name,level:r.layer&&(c.shortLevelName?r.layer.shortName:r.layer.description)||""})),current:i,compactDetails:u,heatmapColor:s.background,accentBorderColor:c.isRebooking?x[o.rebookingState]?.color.primary:void 0,hideUserState:a.kiosk,secondaryText:a.foundInDescriptionStruct[o.id]})}if("rect"in o)return e(n,{onClick:t=>d("booth",t),id:o.id.toString(),kind:"booth",title:o.name,icon:o.poiIcon,bookmarked:o.bookmarked,current:i,heatmapColor:s.background});if(o instanceof h)return e(n,{onClick:t=>d("category",t),id:o.id.toString(),itemsCount:o.exhibitors.length,kind:"category",title:o.name,current:i});if(o instanceof b){const t=[];return o.jobTitle&&t.push({type:"text",text:o.jobTitle}),e(n,{id:o.id.toString(),kind:"speaker",title:o.name,subtitle:o.company,image:o.photoFile,additionalInfo:t,bookmarked:o.bookmarked,onClick:()=>v.selectSpeaker(o,!0)},o.id)}if(o instanceof g){const t=o.boothId?S.booths.find(r=>r.id===o.boothId):null;return e(n,{id:o.id.toString(),onClick:r=>d("event",r),kind:"event",title:o.name,date:l(o.startDate,"dd mmm ddd"),time:`${l(o.startDate,"h:MM")} - ${l(o.endDate,"h:MM")}`,additionalInfo:t?[{type:"location",locationName:t.name,level:c.shortLevelName?t.layer?.shortName:t.layer?.description}]:[],bookmarked:o.bookmarked,visited:o.visited,current:i,hideUserState:a.kiosk,secondaryText:a.foundInDescriptionStruct[o.id]})}if(o instanceof p){const t=`list-row ${k===a.activeListIndex?"active":""}`;return e(I,{yah:o,className:t})}return null};export default C(D);
@@ -1 +1 @@
1
- import{jsx as i,jsxs as a,Fragment as C}from"react/jsx-runtime";import p from"classnames";import{useLocalStore as Z,useObserver as T}from"mobx-react-lite";import ee,{Suspense as O,useRef as y,useState as I,useEffect as ie}from"react";import f from"../data";import l,{uiState as r}from"../store";import{RegularBooth as te}from"../store/BoothStore";import{GaEventActions as h,sendEventToGa as D}from"../tools/gtag";import oe from"../tools/logger";import S from"../tools/settings";import{t as d,getLocale as re}from"../utils/i18n";import ne from"../utils/is-mobile";import{useReaction as ae}from"../utils/mobx";import U from"../ui/Button";import G from"./ErrorBoundary";import"./Exhibitor.scss";import se from"./MarketMaterialList";import le from"./RebookingNotes";import ce,{defaultRebookingOptions as de}from"./RebookingRadioGroup";import he from"./Schedule";import me from"./SidebarActions";import ue from"../utils/useHeatmapOverlay";import be from"./AlertContainer";import{Transition as ke}from"react-transition-group";const z=ee.lazy(()=>import("./Gallery/Gallery"));function ge(){const w=y(),o=Z(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return r.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return r.kiosk?!1:!!["facebook","instagram","linkedin","twitter","googlePlus","xing","youtube"].find(e=>this.exhibitor[e])},get anyAddress(){return!!["address","address2","phone1","website","email"].find(e=>this.exhibitor[e])},get anyMedia(){return!!this.exhibitor.videoUrl||!!(this.exhibitor.gallery&&this.exhibitor.gallery.length)},get anyButtons(){return!!(this.exhibitor.customButtonTitle||this.exhibitor.customButton2Title||this.exhibitor.customButton3Title)},get disableCollapse(){return!this.anySocial&&!this.anyAddress&&!this.anyMedia&&!this.anyButtons||r.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(f.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=ue(o.exhibitor),[x,M]=I(!1),[_,B]=I(!1),v=y(null);ie(()=>((()=>{if(v.current){const c=v.current.offsetHeight;M(c>300)}})(),()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}),[]),ae(()=>o.exhibitor,()=>{w.current&&(w.current.parentElement.scrollTop=0),o.collapsed=!0});function N(e,c){if(u(c),r.kiosk)return e.preventDefault()}function H(e,c,m){D(h.ClickCustomButton,o.exhibitor.name);const b={externalId:o.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:m.preventDefault.bind(m)};r.onExhibitorCustomButtonClick&&r.onExhibitorCustomButtonClick(b)}function u(e){D(e,o.exhibitor.name)}const E=y(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},L=150;return T(()=>{const e=o.exhibitor,c=f.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof te&&s.size&&t.add(s.size);const n=Array.from(t);return a("div",{children:[n.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:a("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),a("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:d("Size")}),i("div",{className:"booth__info-val",children:n.join(", ")})]})]})}),i(ce,{showTitle:!1,options:de,checked:e.rebookingState.toString(),onChange:s=>l.exhibitorStore.setRebookingState(e,parseInt(s.target.value),e.rebookingNote)}),i(le,{state:"default",value:e.rebookingNote||"",onClickSave:s=>l.exhibitorStore.setRebookingState(e,e.rebookingState,s)}),i(ke,{in:l.exhibitorStore.rebookingStateChangeRequested,nodeRef:E,timeout:L,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:E,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${L}ms ease-in-out`,opacity:0,...V[s]},children:i(be,{title:l.exhibitorStore.rebookingStateSaved?d("Changes saved"):d("Oops! Something went wrong"),variant:l.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,m=p({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[r.responsiveClass]:!0}),b=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function k(t,n,s){return!t||!n||r.kiosk||r.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(U,{link:n,inline:!0,onClick:g=>{H(s,n,g)},target:"_blank",children:t})},s)}const W=({exhibitor:t})=>{const s=[k(t.customButtonTitle,t.customButtonUrl,1),k(t.customButton2Title,t.customButton2Url,2),k(t.customButton3Title,t.customButton3Url,3)].filter(Boolean);return s.length===0?null:i("div",{className:"exhibitor-custom-buttons",children:s})};function X(t){if(t===null)return"";const n=t.split(RegExp("(?=!\\*\\/\\/\\|\\|\\^\\^[a-z]{2}\\^\\^\\/\\/\\|\\|\\*!)")),s=`!*//||^^${re()}^^//||*!`,g=n.find(Q=>Q.startsWith(s));return g!=null?g.substring(18):n[0].startsWith("!*//||^^")&&n[0].length>18?n[0].substring(18):n[0]}function K(){return!f.hideShareButton&&!r.kiosk&&window.location.host.endsWith(".expofp.com")&&S.EXPO!=="globalaltsmiami2024"}function R(){o.updateOverlayContent()}const J=t=>/^\d+$/.test(t),Y=t=>f.shortLevelName?t.layer?.shortName:t.layer?.description;return a("div",{className:m,"aria-label":d("Details"),children:[a("div",{className:"exhibitor__header",children:[a("div",{className:"exhibitor__header-name",children:[i("div",{className:"exhibitor__header-icon",children:i("i",{className:"icon-exhibitor-solid"})}),i("span",{dir:"auto",children:e.name}),A]}),i("button",{type:"button",onClick:()=>l.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||a(C,{children:[i("div",{className:"exhibitor__buttons",children:!r.isGuidedToursActive&&i(me,{showBookmark:!r.disableBookmarked&&!f.hideBookmarks&&!r.kiosk,showDirections:e.booths.length>0&&S.wayfinding,inBookmark:o.exhibitor.bookmarked,showShare:K(),showVisited:!r.kiosk,visited:o.exhibitor.visited,onClickBookmark:$,onClickShare:P,onClickDirections:()=>{l.routeStore.clickRoute(null,l.routeStore.tempToBooth||e.booths[0])},onClickVisited:F})}),e.leadingImageUrl?i("div",{className:"exhibitor__leading-image-container exhibitor-slider",children:e.leadingImageLinkUrl?i("a",{href:e.leadingImageLinkUrl,target:"_blank",rel:"noopener noreferrer",children:i("img",{src:e.leadingImageUrl,className:"exhibitor__leading-image",alt:"",crossOrigin:"anonymous"})}):i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,leading:!0,images:[e.leadingImageUrl]})})})}):null,a("div",{className:p("exhibitor__details",{"details-hidden":r.kiosk&&x&&!_}),ref:v,children:[a("div",{className:p("exhibitor-categories",{"is-links-disabled":r.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:d("Featured")}),e.booths.map(t=>{const n=Y(t),s=g=>{g.preventDefault(),l.toggleMapOverlay(),l.selectBooth(t)};return a("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),n&&a("div",{className:"exhibitor-categories__booth-level",children:[J(n)?d("Level")+" ":"",n]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:n=>{n.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?a("div",{className:p("exhibitor-description",{collapsed:o.collapsed&&!o.disableCollapse}),children:[e.logo?i("div",{className:p("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:X(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(he,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,n)=>new Date(t.startDate).getTime()-new Date(n.startDate).getTime())}),!r.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:d("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(h.ViewGallery),children:i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,images:e.gallery})})})}),!r.kiosk&&e.marketMaterials&&a(C,{children:[i("div",{className:"exhibitor-sep"}),i(se,{list:e.marketMaterials})]}),o.showEdit&&i("div",{className:"exhibitor-sep"}),!r.kiosk&&o.showEdit&&i("div",{className:"exhibitor-edit",children:i(U,{size:"sm",variant:"secondary",onClick:q,children:d("Edit")})}),o.anyAddress&&a("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),a("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&a("div",{children:[e.city,!!(e.city&&e.state)&&i("span",{children:" "}),e.state,!!(e.state&&e.zip)&&i("span",{children:"\xA0"})," ",e.zip]}),!!e.country&&i("div",{children:e.country})]})]}),!!e.phone1&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-phone-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{dir:"ltr",href:"tel:"+e.phone1,className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickPhone),children:e.phone1})})]}),!!e.website&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-globe-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickWebsite),children:o.websiteTrimmed})})]}),!!e.email&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-mail-at-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:"mailto:"+e.email,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickEmail),children:e.email})})]}),o.anySocial&&a("div",{className:"exhibitor-meta__socials",children:[i("a",{href:e.facebook,className:"exhibitor-meta__social",onClick:()=>u(h.ClickFacebook),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-facebook"})}),i("a",{href:e.instagram,className:"exhibitor-meta__social",onClick:()=>u(h.ClickInstagaram),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-instagram"})}),i("a",{href:e.linkedin,className:"exhibitor-meta__social",onClick:()=>u(h.ClickLinkedin),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-linkedin"})}),i("a",{href:e.twitter,className:"exhibitor-meta__social",onClick:()=>u(h.ClickTwitter),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-twitter-x"})}),i("a",{href:e.xing,className:"exhibitor-meta__social",onClick:()=>u(h.ClickXing),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-xing"})}),i("a",{href:e.youtube,className:"exhibitor-meta__social",onClick:()=>u(h.ClickYoutube),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-youtube"})})]})]}),i(W,{exhibitor:e})]}),r.kiosk&&x&&!_?i("div",{className:"show-details-button",children:i("button",{type:"button",onClick:()=>B(!0),children:d("Show More")})}):null]}),r.kiosk&&x&&_?i("button",{type:"button",className:"hide-details-button",onClick:()=>B(!1),children:i("i",{className:"icon-chevron-up-narrow"})}):null]})});function P(){const e=window.navigator,c={title:r.selectedExhibitor.name,url:window.location.href};ne&&e?.canShare&&e.canShare(c)?e.share(c):l.toggleModal("share")}function j(e){l.clickCategory(e)}function q(e){if(r.kiosk)return e.preventDefault();e.target.blur();const c=o.sendLinkEmail;if(!window.confirm(d("Send login instructions to {{email}} to edit profile?",{email:c}))||S.EXPO==="expo")return;const m=new XMLHttpRequest;m.open("POST",f.sendLoginLinkUrl),m.setRequestHeader("Content-Type","application/json");function b(){alert(d("Error sending login instructions"))}m.onload=function(k){if(this.status!==200){b();return}alert(d("A link to edit profile was sent to {{email}}",{email:c}))},m.onerror=function(k){oe.error("Error",k),b()},m.send(JSON.stringify({id:o.exhibitor.id}))}function $(){o.exhibitor.bookmarked=!o.exhibitor.bookmarked,r.onBookmarkClick&&r.onBookmarkClick({name:o.exhibitor.name,bookmarked:o.exhibitor.bookmarked,externalId:o.exhibitor.externalId})}function F(){o.exhibitor.visited=!o.exhibitor.visited,r.onVisitedClick&&r.onVisitedClick({name:o.exhibitor.name,visited:o.exhibitor.visited,externalId:o.exhibitor.externalId})}}export default()=>T(()=>i(C,{children:!r.menu&&r.selectedExhibitor?i(ge,{}):null}));
1
+ import{jsx as i,jsxs as a,Fragment as C}from"react/jsx-runtime";import p from"classnames";import{observer as Z,useLocalStore as ee,useObserver as T}from"mobx-react-lite";import ie,{Suspense as O,useRef as y,useState as I,useEffect as te}from"react";import f from"../data";import l,{uiState as r}from"../store";import{RegularBooth as oe}from"../store/BoothStore";import{GaEventActions as h,sendEventToGa as D}from"../tools/gtag";import re from"../tools/logger";import S from"../tools/settings";import{t as d,getLocale as ne}from"../utils/i18n";import ae from"../utils/is-mobile";import{useReaction as se}from"../utils/mobx";import U from"../ui/Button";import G from"./ErrorBoundary";import"./Exhibitor.scss";import le from"./MarketMaterialList";import ce from"./RebookingNotes";import de,{defaultRebookingOptions as he}from"./RebookingRadioGroup";import me from"./Schedule";import ue from"./SidebarActions";import be from"../utils/useHeatmapOverlay";import ke from"./AlertContainer";import{Transition as ge}from"react-transition-group";const z=ie.lazy(()=>import("./Gallery/Gallery")),fe=Z(function(){const w=y(),o=ee(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return r.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return r.kiosk?!1:!!["facebook","instagram","linkedin","twitter","googlePlus","xing","youtube"].find(e=>this.exhibitor[e])},get anyAddress(){return!!["address","address2","phone1","website","email"].find(e=>this.exhibitor[e])},get anyMedia(){return!!this.exhibitor.videoUrl||!!(this.exhibitor.gallery&&this.exhibitor.gallery.length)},get anyButtons(){return!!(this.exhibitor.customButtonTitle||this.exhibitor.customButton2Title||this.exhibitor.customButton3Title)},get disableCollapse(){return!this.anySocial&&!this.anyAddress&&!this.anyMedia&&!this.anyButtons||r.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(f.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=be(o.exhibitor),[x,M]=I(!1),[_,B]=I(!1),v=y(null);te(()=>((()=>{if(v.current){const c=v.current.offsetHeight;M(c>300)}})(),()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}),[]),se(()=>o.exhibitor,()=>{w.current&&(w.current.parentElement.scrollTop=0),o.collapsed=!0});function N(e,c){if(u(c),r.kiosk)return e.preventDefault()}function H(e,c,m){D(h.ClickCustomButton,o.exhibitor.name);const b={externalId:o.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:m.preventDefault.bind(m)};r.onExhibitorCustomButtonClick&&r.onExhibitorCustomButtonClick(b)}function u(e){D(e,o.exhibitor.name)}const E=y(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},L=150;return T(()=>{const e=o.exhibitor,c=f.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof oe&&s.size&&t.add(s.size);const n=Array.from(t);return a("div",{children:[n.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:a("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),a("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:d("Size")}),i("div",{className:"booth__info-val",children:n.join(", ")})]})]})}),i(de,{showTitle:!1,options:he,checked:e.rebookingState.toString(),onChange:s=>l.exhibitorStore.setRebookingState(e,parseInt(s.target.value),e.rebookingNote)}),i(ce,{state:"default",value:e.rebookingNote||"",onClickSave:s=>l.exhibitorStore.setRebookingState(e,e.rebookingState,s)}),i(ge,{in:l.exhibitorStore.rebookingStateChangeRequested,nodeRef:E,timeout:L,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:E,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${L}ms ease-in-out`,opacity:0,...V[s]},children:i(ke,{title:l.exhibitorStore.rebookingStateSaved?d("Changes saved"):d("Oops! Something went wrong"),variant:l.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,m=p({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[r.responsiveClass]:!0}),b=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function k(t,n,s){return!t||!n||r.kiosk||r.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(U,{link:n,inline:!0,onClick:g=>{H(s,n,g)},target:"_blank",children:t})},s)}const W=({exhibitor:t})=>{const s=[k(t.customButtonTitle,t.customButtonUrl,1),k(t.customButton2Title,t.customButton2Url,2),k(t.customButton3Title,t.customButton3Url,3)].filter(Boolean);return s.length===0?null:i("div",{className:"exhibitor-custom-buttons",children:s})};function X(t){if(t===null)return"";const n=t.split(RegExp("(?=!\\*\\/\\/\\|\\|\\^\\^[a-z]{2}\\^\\^\\/\\/\\|\\|\\*!)")),s=`!*//||^^${ne()}^^//||*!`,g=n.find(Q=>Q.startsWith(s));return g!=null?g.substring(18):n[0].startsWith("!*//||^^")&&n[0].length>18?n[0].substring(18):n[0]}function K(){return!f.hideShareButton&&!r.kiosk&&window.location.host.endsWith(".expofp.com")&&S.EXPO!=="globalaltsmiami2024"}function R(){o.updateOverlayContent()}const J=t=>/^\d+$/.test(t),Y=t=>f.shortLevelName?t.layer?.shortName:t.layer?.description;return a("div",{className:m,"aria-label":d("Details"),children:[a("div",{className:"exhibitor__header",children:[a("div",{className:"exhibitor__header-name",children:[i("div",{className:"exhibitor__header-icon",children:i("i",{className:"icon-exhibitor-solid"})}),i("span",{dir:"auto",children:e.name}),A]}),i("button",{type:"button",onClick:()=>l.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||a(C,{children:[i("div",{className:"exhibitor__buttons",children:!r.isGuidedToursActive&&i(ue,{showBookmark:!r.disableBookmarked&&!f.hideBookmarks&&!r.kiosk,showDirections:e.booths.length>0&&S.wayfinding,inBookmark:o.exhibitor.bookmarked,showShare:K(),showVisited:!r.kiosk,visited:o.exhibitor.visited,onClickBookmark:$,onClickShare:P,onClickDirections:()=>{l.routeStore.clickRoute(null,l.routeStore.tempToBooth||e.booths[0])},onClickVisited:F})}),e.leadingImageUrl?i("div",{className:"exhibitor__leading-image-container exhibitor-slider",children:e.leadingImageLinkUrl?i("a",{href:e.leadingImageLinkUrl,target:"_blank",rel:"noopener noreferrer",children:i("img",{src:e.leadingImageUrl,className:"exhibitor__leading-image",alt:"",crossOrigin:"anonymous"})}):i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,leading:!0,images:[e.leadingImageUrl]})})})}):null,a("div",{className:p("exhibitor__details",{"details-hidden":r.kiosk&&x&&!_}),ref:v,children:[a("div",{className:p("exhibitor-categories",{"is-links-disabled":r.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:d("Featured")}),e.booths.map(t=>{const n=Y(t),s=g=>{g.preventDefault(),l.toggleMapOverlay(),l.selectBooth(t)};return a("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),n&&a("div",{className:"exhibitor-categories__booth-level",children:[J(n)?d("Level")+" ":"",n]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:n=>{n.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?a("div",{className:p("exhibitor-description",{collapsed:o.collapsed&&!o.disableCollapse}),children:[e.logo?i("div",{className:p("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:X(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(me,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,n)=>new Date(t.startDate).getTime()-new Date(n.startDate).getTime())}),!r.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:d("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(h.ViewGallery),children:i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,images:e.gallery})})})}),!r.kiosk&&e.marketMaterials&&a(C,{children:[i("div",{className:"exhibitor-sep"}),i(le,{list:e.marketMaterials})]}),o.showEdit&&i("div",{className:"exhibitor-sep"}),!r.kiosk&&o.showEdit&&i("div",{className:"exhibitor-edit",children:i(U,{size:"sm",variant:"secondary",onClick:q,children:d("Edit")})}),o.anyAddress&&a("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),a("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&a("div",{children:[e.city,!!(e.city&&e.state)&&i("span",{children:" "}),e.state,!!(e.state&&e.zip)&&i("span",{children:"\xA0"})," ",e.zip]}),!!e.country&&i("div",{children:e.country})]})]}),!!e.phone1&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-phone-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{dir:"ltr",href:"tel:"+e.phone1,className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickPhone),children:e.phone1})})]}),!!e.website&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-globe-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickWebsite),children:o.websiteTrimmed})})]}),!!e.email&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-mail-at-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:"mailto:"+e.email,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,h.ClickEmail),children:e.email})})]}),o.anySocial&&a("div",{className:"exhibitor-meta__socials",children:[i("a",{href:e.facebook,className:"exhibitor-meta__social",onClick:()=>u(h.ClickFacebook),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-facebook"})}),i("a",{href:e.instagram,className:"exhibitor-meta__social",onClick:()=>u(h.ClickInstagaram),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-instagram"})}),i("a",{href:e.linkedin,className:"exhibitor-meta__social",onClick:()=>u(h.ClickLinkedin),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-linkedin"})}),i("a",{href:e.twitter,className:"exhibitor-meta__social",onClick:()=>u(h.ClickTwitter),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-twitter-x"})}),i("a",{href:e.xing,className:"exhibitor-meta__social",onClick:()=>u(h.ClickXing),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-xing"})}),i("a",{href:e.youtube,className:"exhibitor-meta__social",onClick:()=>u(h.ClickYoutube),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-youtube"})})]})]}),i(W,{exhibitor:e})]}),r.kiosk&&x&&!_?i("div",{className:"show-details-button",children:i("button",{type:"button",onClick:()=>B(!0),children:d("Show More")})}):null]}),r.kiosk&&x&&_?i("button",{type:"button",className:"hide-details-button",onClick:()=>B(!1),children:i("i",{className:"icon-chevron-up-narrow"})}):null]})});function P(){const e=window.navigator,c={title:r.selectedExhibitor.name,url:window.location.href};ae&&e?.canShare&&e.canShare(c)?e.share(c):l.toggleModal("share")}function j(e){l.clickCategory(e)}function q(e){if(r.kiosk)return e.preventDefault();e.target.blur();const c=o.sendLinkEmail;if(!window.confirm(d("Send login instructions to {{email}} to edit profile?",{email:c}))||S.EXPO==="expo")return;const m=new XMLHttpRequest;m.open("POST",f.sendLoginLinkUrl),m.setRequestHeader("Content-Type","application/json");function b(){alert(d("Error sending login instructions"))}m.onload=function(k){if(this.status!==200){b();return}alert(d("A link to edit profile was sent to {{email}}",{email:c}))},m.onerror=function(k){re.error("Error",k),b()},m.send(JSON.stringify({id:o.exhibitor.id}))}function $(){o.exhibitor.bookmarked=!o.exhibitor.bookmarked,r.onBookmarkClick&&r.onBookmarkClick({name:o.exhibitor.name,bookmarked:o.exhibitor.bookmarked,externalId:o.exhibitor.externalId})}function F(){o.exhibitor.visited=!o.exhibitor.visited,r.onVisitedClick&&r.onVisitedClick({name:o.exhibitor.name,visited:o.exhibitor.visited,externalId:o.exhibitor.externalId})}});export default()=>T(()=>i(C,{children:!r.menu&&r.selectedExhibitor?i(fe,{}):null}));
@@ -8,7 +8,7 @@ declare class KioskStore {
8
8
  savedKiosk: Kiosk;
9
9
  get hasUnsavedChanges(): boolean;
10
10
  statusMessages: StatusMessage[];
11
- addStatusMessage(message: AlertProps): void;
11
+ addStatusMessage(message: Omit<AlertProps, "closeLabel">): void;
12
12
  clearStatusMessages(): void;
13
13
  statusMessageTimer: number;
14
14
  startCleanupMessages(): void;
@@ -19,7 +19,7 @@ export interface Kiosk extends KioskMapState {
19
19
  iconSizePercent: number;
20
20
  uiScale: number;
21
21
  }
22
- export interface StatusMessage extends AlertProps {
22
+ export interface StatusMessage extends Omit<AlertProps, "closeLabel"> {
23
23
  id: number;
24
24
  created?: number;
25
25
  }
@@ -1 +1 @@
1
- import{jsx as o,jsxs as z}from"react/jsx-runtime";import{observer as g}from"mobx-react-lite";import r,{Suspense as a,useEffect as M,useState as E}from"react";import w from"classnames";import t,{layersStore as d,uiState as e}from"../store";import f from"../tools/settings";import{isWebGlSupported as R}from"../utils";import L from"../utils/is-debug";import O from"../utils/is-iframe";import B from"./Controls";import D from"./LevelSelector";import G from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import T from"./LogoOverlay";import A from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import I from"./IntercomLauncher";import{CategoryFilterModal as P}from"./CategoryFilterModal";import V from"./SessionsFiltersModal";import $ from"./SpeakersFiltersModal";import H from"./Map/Map";import{MapLoader as K}from"./Mapbox/MapLoader";import _ from"./OverlayContainer";import N from"./Share";import U from"./Ws";import{LayersMode as y}from"../store/LayerStore";import W from"../ui/Spinner";import{fpGeo as X}from"../data/fpGeo";import{checkUserIsGDPR as q,GaEventActions as s,hasUserConsent as Y,sendEventToGa as l,setConsentSettings as S,setCookieConsent as C}from"../tools/gtag";import J from"./HeatmapLegendContainer";import{useReaction as m}from"../utils/mobx";import Q from"../tools/track-event";import Z from"./GlobalErrorMessage";const ee=r.lazy(()=>import("./Demo")),oe=r.lazy(()=>import("./Free")),te=r.lazy(()=>import("./Debug")),ie=r.lazy(()=>import("./Mapbox/Mapbox")),re=r.lazy(()=>import("./Threejs/ThreeComponent")),ae=r.lazy(()=>import("./Modal")),le=r.lazy(()=>import("./CookieConsent")),ne=r.lazy(()=>import("./GpsLoader")),se=r.lazy(()=>import("./Kiosk/SetKioskMode")),me=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default g(function({offHistory:b,allowConsent:p}){const[u,c]=E(!1);let n=null;e.bannerType==="demo"?n=o(ee,{}):e.bannerType==="free"&&(n=o(oe,{}));const v=()=>{C(!0),S(),t.uiState.hideCookieConsent=!0},x=()=>{C(!1),S(),t.uiState.hideCookieConsent=!0};M(()=>{async function i(){const k=await q();c(!!(k||k===null))}Y(p)?c(!0):i()},[]),m(()=>e.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(Q("exview",i.id),l(s.ViewExhibitor,i.name))}),m(()=>e.selectedBooth,i=>i?.name&&l(s.ViewBooth,i.name)),m(()=>e.selectedCategory,i=>i?.name&&l(s.ViewCategory,i?.name)),m(()=>e.selectedEventItem,i=>i?.name&&l(s.ViewExhibitor,i.name));const h=!e.hideCookieConsent&&!e.kiosk&&u&&p===void 0;return o("div",{id:"efp-layout",className:w("layout",{"efp-kiosk":e.kiosk,"efp-kiosk-route-active":e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":e.wsShown,"efp-no-overlay":e.noOverlay,"efp-top-banner":e.bannerType==="free"&&!e.freeBannerDismissed,"efp-viewer-mode":e.viewerMode}),dir:e.rtl?"rtl":"ltr",style:{"--ui-scale":e.uiScale.toString()},children:z("div",{className:`layout__fixed expo-${f.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!e.floorsControlHidden&&t.initialized&&o(D,{}),!e.noOverlay&&t.initialized&&o(_,{isGDPR:u,allowConsent:p}),t.initialized&&o(T,{}),!e.noOverlay&&t.initialized&&!(e.viewerMode&&e.menu)&&o(A,{}),!e.noOverlay&&t.initialized&&o(j,{}),!e.noOverlay&&t.initialized&&o(F,{}),!e.mapControlsHidden&&t.initialized&&o(B,{}),o(I,{}),!e.hideHeaderLogo&&t.initialized&&o(U,{}),t.routeStore.gpsEnabled&&o(ne,{requestCompassAllowed:!h}),R&&o(H,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&o(a,{fallback:o(K,{}),children:X?.properties?.mode==="threejs"?o(re,{isMapbox:t.mapboxStore.isMapbox,expo:f.EXPO}):o(ie,{})}),n&&!e.hideFreeOrDemo&&!e.heatmap?o(a,{fallback:null,children:n}):null,h&&o(a,{fallback:null,children:o(le,{link:"https://expofp.com/pages/viewer-cookie-consent",onAccept:v,onReject:x})}),L?o(a,{fallback:null,children:o(te,{})}):null,O&&o(G,{}),e.modalActive.share?o(a,{fallback:null,children:o(ae,{type:"share",open:e.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:o(N,{title:e.selectedExhibitor?.name||e.selectedEventItem?.name||"",url:b?`${window.location.origin}?${encodeURI(e.selectedExhibitor?.slug||e.selectedEventItem?.slug)}`:window.location.href})})}):null,e.heatmap||e.heatmapYah?o(J,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:e.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,palette:f.heatmapColors}):null,o(W,{active:!d.layersLoaded}),o("div",{id:"fps"}),t.initialized&&o(P,{}),t.initialized&&o(V,{store:t.sessionsFilterStore}),t.initialized&&o($,{store:t.speakerFilterStore}),o(Z,{}),t.initialized&&e.setKioskModeEnabled&&o(a,{fallback:null,children:o(se,{})}),t.initialized&&!e.setKioskModeEnabled&&o(a,{fallback:null,children:o(me,{})})]})})});
1
+ import{jsx as o,jsxs as z}from"react/jsx-runtime";import{observer as M}from"mobx-react-lite";import r,{Suspense as a,useEffect as x,useState as E}from"react";import R from"classnames";import t,{layersStore as c,uiState as e}from"../store";import y from"../tools/settings";import{isWebGlSupported as D}from"../utils";import L from"../utils/is-debug";import O from"../utils/is-iframe";import B from"./Controls";import G from"./LevelSelector";import T from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import A from"./LogoOverlay";import F from"./SearchBox";import I from"./SearchButtons/SearchButtons";import j from"./MobileToggleButton";import P from"./IntercomLauncher";import{CategoryFilterModal as V}from"./CategoryFilterModal";import $ from"./SessionsFiltersModal";import H from"./SpeakersFiltersModal";import K from"./Map/Map";import _ from"./OverlayContainer";import N from"./Share";import U from"./Ws";import{LayersMode as S}from"../store/LayerStore";import W from"../ui/Spinner";import{checkUserIsGDPR as q,GaEventActions as s,hasUserConsent as X,sendEventToGa as l,setConsentSettings as v,setCookieConsent as C}from"../tools/gtag";import Y from"./HeatmapLegendContainer";import{useReaction as m}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";import Z from"./ErrorBoundary";const ee=r.lazy(()=>import("./Demo")),oe=r.lazy(()=>import("./Free")),te=r.lazy(()=>import("./Debug")),ie=r.lazy(()=>import("./Maplibre/MaplibreAdapter")),re=r.lazy(()=>import("./Modal")),ae=r.lazy(()=>import("./CookieConsent")),le=r.lazy(()=>import("./GpsLoader")),ne=r.lazy(()=>import("./Kiosk/SetKioskMode")),se=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default M(function({offHistory:b,allowConsent:p}){const[f,d]=E(!1),u=t.maplibreStore.showMaplibre;let n=null;e.bannerType==="demo"?n=o(ee,{}):e.bannerType==="free"&&(n=o(oe,{}));const g=()=>{C(!0),v(),t.uiState.hideCookieConsent=!0},w=()=>{C(!1),v(),t.uiState.hideCookieConsent=!0};x(()=>{async function i(){const k=await q();d(!!(k||k===null))}X(p)?d(!0):i()},[]),m(()=>e.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(J("exview",i.id),l(s.ViewExhibitor,i.name))}),m(()=>e.selectedBooth,i=>i?.name&&l(s.ViewBooth,i.name)),m(()=>e.selectedCategory,i=>i?.name&&l(s.ViewCategory,i?.name)),m(()=>e.selectedEventItem,i=>i?.name&&l(s.ViewExhibitor,i.name));const h=!e.hideCookieConsent&&!e.kiosk&&f&&p===void 0;return o("div",{id:"efp-layout",className:R("layout",{"efp-kiosk":e.kiosk,"efp-kiosk-route-active":e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":e.wsShown,"efp-no-overlay":e.noOverlay,"efp-top-banner":e.bannerType==="free"&&!e.freeBannerDismissed,"efp-viewer-mode":e.viewerMode}),dir:e.rtl?"rtl":"ltr",style:{"--ui-scale":e.uiScale.toString()},children:z("div",{className:`layout__fixed expo-${y.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(c.mode===S.Radio||c.mode===S.CheckBox)&&!e.floorsControlHidden&&t.initialized&&o(G,{}),!e.noOverlay&&t.initialized&&o(_,{isGDPR:f,allowConsent:p}),t.initialized&&o(A,{}),!e.noOverlay&&t.initialized&&!(e.viewerMode&&e.menu)&&o(F,{}),!e.noOverlay&&t.initialized&&o(I,{}),!e.noOverlay&&t.initialized&&o(j,{}),!e.mapControlsHidden&&t.initialized&&o(B,{}),o(P,{}),!e.hideHeaderLogo&&t.initialized&&o(U,{}),t.routeStore.gpsEnabled&&o(le,{requestCompassAllowed:!h}),D&&!u&&o(K,{}),u&&o(Z,{children:o(a,{fallback:o("div",{}),children:o(ie,{viewMode:t.maplibreStore.mapViewMode})})}),n&&!e.hideFreeOrDemo&&!e.heatmap?o(a,{fallback:null,children:n}):null,h&&o(a,{fallback:null,children:o(ae,{link:"https://expofp.com/pages/viewer-cookie-consent",onAccept:g,onReject:w})}),L?o(a,{fallback:null,children:o(te,{})}):null,O&&o(T,{}),e.modalActive.share?o(a,{fallback:null,children:o(re,{type:"share",open:e.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:o(N,{title:e.selectedExhibitor?.name||e.selectedEventItem?.name||"",url:b?`${window.location.origin}?${encodeURI(e.selectedExhibitor?.slug||e.selectedEventItem?.slug)}`:window.location.href})})}):null,e.heatmap||e.heatmapYah?o(Y,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:e.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,palette:y.heatmapColors}):null,o(W,{active:!c.layersLoaded}),o("div",{id:"fps"}),t.initialized&&o(V,{}),t.initialized&&o($,{store:t.sessionsFilterStore}),t.initialized&&o(H,{store:t.speakerFilterStore}),o(Q,{}),t.initialized&&e.setKioskModeEnabled&&o(a,{fallback:null,children:o(ne,{})}),t.initialized&&!e.setKioskModeEnabled&&o(a,{fallback:null,children:o(se,{})})]})})});
@@ -1 +1 @@
1
- import{jsx as s,jsxs as v}from"react/jsx-runtime";import m from"classnames";import{useObserver as F}from"mobx-react-lite";import{useRef as b,useEffect as E,useState as O,useCallback as h,useLayoutEffect as I}from"react";import D from"../core/Rect";import i,{uiState as g}from"../store";import{LayersMode as S}from"../store/LayerStore";import R from"../tools/settings";import{t as p}from"../utils/i18n";import L from"../data";import T from"../utils/useOnClickOutside";import"./LevelSelector.scss";const V=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"],P=["ice-gaming2026"];function B(l){return P.includes(R.EXPO)?{layout:"compact-list",useShortNames:l}:{layout:l?"compact-list":"dropdown",useShortNames:l}}export default function X(){const l=b(null),x=b(null),d=b(null),[c,y]=O(!1),[_,C]=O("down");T([x,d],()=>y(!1)),E(()=>()=>{l.current&&clearTimeout(l.current)},[]),E(()=>{if(!c)return;const t=r=>{r.key==="Escape"&&(y(!1),d.current?.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[c]),I(()=>{if(c&&d.current){const t=d.current.getBoundingClientRect(),n=window.innerHeight-t.bottom;C(n<200?"up":"down")}},[c]);const k=h(t=>{if(l.current)return;l.current=setTimeout(()=>l.current=null,500);const r=i.layerStore.layers.find(u=>u.description===t.description);if(i.layerStore.mode===S.Radio){if(i.layerStore.updateVisibility(r,!0),i.mapboxStore.showMapbox)return;if(!!window.__fpSettings?.fpVer||V.includes(R.EXPO)){const o=r.viewbox??r.rect;g.moveToRect=D.fromX1y1x2y2(o.x1,o.y1,o.x2,o.y2)}else{const o=i.layerStore.layers.indexOf(i.layerStore.layers.filter(e=>!e.frozen&&e.visible)[0]),a=i.layerStore.layers.indexOf(r);if(o===a)return;a<o?g.zoomBy=.95:g.zoomBy=1.05}}else i.layerStore.updateVisibility(r,!r.visible);const n=i.toursStore.getTourLayerInfo(r.name)||i.toursStore.getTourLayerInfo(r.description);if(n){i.layerStore.showPathWay(n.id);return}i.toursStore.stopTour()},[]),f=h(t=>{t.disabled||(k(t.layer),y(!1),d.current?.focus())},[k]),N=h((t,r,n)=>{if(t.key==="Enter"||t.key===" "){if(r.disabled)return;t.preventDefault(),f(r);return}if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();const u=n.findIndex(e=>e.layer.description===r.layer.description),o=t.key==="ArrowDown"?1:-1;let a=u+o;for(;a>=0&&a<n.length;){if(!n[a].disabled){t.currentTarget.parentElement?.children?.[a]?.focus();return}a+=o}}t.key==="Escape"&&(y(!1),d.current?.focus())},[f]);return F(()=>{const t=i.layerStore.floors;if(!(i.layerStore.mode===S.Radio||i.layerStore.mode===S.CheckBox)||t.length===0)return null;const{layout:n,useShortNames:u}=B(L.shortLevelName),o=t.find(e=>e.active),a=e=>u?e.shortName:e.description;return n==="compact-list"?s("div",{className:m("efp-level-selector","efp-level-selector--compact-list",{"is-ready":t.length}),role:"radiogroup","aria-label":p("Floor selection"),children:t.map(e=>s("div",{className:m("efp-level-selector__item",{"is-active":e.active,"is-disabled":e.disabled}),role:"radio",title:`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-label":`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-checked":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>!e.disabled&&f(e),onKeyDown:w=>N(w,e,t),dir:"auto",children:s("span",{children:a(e)})},e.layer.description))}):v("div",{className:m("efp-level-selector","efp-level-selector--dropdown",{"is-ready":t.length}),children:[v("button",{ref:d,type:"button",className:m("efp-level-selector__trigger",{"is-open":c}),onClick:()=>y(!c),"aria-haspopup":"listbox","aria-expanded":c,"aria-label":`${p("Current Floor")}: ${o?.description??""}`,children:[v("div",{className:"efp-level-selector__trigger-text",children:[s("i",{className:"icon-layers","aria-hidden":"true"}),s("span",{children:o?.description??""})]}),s("div",{className:"efp-level-selector__trigger-chevron",children:s("i",{className:"icon-chevron-down","aria-hidden":"true"})})]}),c&&s("div",{ref:x,className:m("efp-level-selector__dropdown","efp-level-selector__dropdown--full",{"is-opens-up":_==="up","is-opens-down":_==="down"}),role:"listbox","aria-label":p("Floor selection"),children:t.map(e=>v("div",{className:m("efp-level-selector__dropdown-item",{"is-active":e.active,"is-disabled":e.disabled}),role:"option","aria-selected":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>f(e),onKeyDown:w=>N(w,e,t),children:[s("span",{className:"efp-level-selector__dropdown-item-icon",children:e.active&&s("i",{className:"icon-checkmark-solid","aria-hidden":"true"})}),s("span",{className:"efp-level-selector__dropdown-item-name",children:e.description})]},e.layer.description))})]})})}
1
+ import{jsx as s,jsxs as v}from"react/jsx-runtime";import m from"classnames";import{useObserver as F}from"mobx-react-lite";import{useRef as b,useEffect as E,useState as O,useCallback as h,useLayoutEffect as I}from"react";import D from"../core/Rect";import i,{uiState as g}from"../store";import{LayersMode as S}from"../store/LayerStore";import R from"../tools/settings";import{t as p}from"../utils/i18n";import L from"../data";import T from"../utils/useOnClickOutside";import"./LevelSelector.scss";const V=["money2020usa","rodion2","possible2025","2025virtuosotravelweek","zscalerskofy26","gamescom2025"],P=["ice-gaming2026"];function B(l){return P.includes(R.EXPO)?{layout:"compact-list",useShortNames:l}:{layout:l?"compact-list":"dropdown",useShortNames:l}}export default function X(){const l=b(null),_=b(null),d=b(null),[c,y]=O(!1),[x,C]=O("down");T([_,d],()=>y(!1)),E(()=>()=>{l.current&&clearTimeout(l.current)},[]),E(()=>{if(!c)return;const t=r=>{r.key==="Escape"&&(y(!1),d.current?.focus())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[c]),I(()=>{if(c&&d.current){const t=d.current.getBoundingClientRect(),n=window.innerHeight-t.bottom;C(n<200?"up":"down")}},[c]);const k=h(t=>{if(l.current)return;l.current=setTimeout(()=>l.current=null,500);const r=i.layerStore.layers.find(u=>u.description===t.description);if(i.layerStore.mode===S.Radio){if(i.layerStore.updateVisibility(r,!0),i.maplibreStore.showMaplibre)return;if(!!window.__fpSettings?.fpVer||V.includes(R.EXPO)){const o=r.viewbox??r.rect;g.moveToRect=D.fromX1y1x2y2(o.x1,o.y1,o.x2,o.y2)}else{const o=i.layerStore.layers.indexOf(i.layerStore.layers.filter(e=>!e.frozen&&e.visible)[0]),a=i.layerStore.layers.indexOf(r);if(o===a)return;a<o?g.zoomBy=.95:g.zoomBy=1.05}}else i.layerStore.updateVisibility(r,!r.visible);const n=i.toursStore.getTourLayerInfo(r.name)||i.toursStore.getTourLayerInfo(r.description);if(n){i.layerStore.showPathWay(n.id);return}i.toursStore.stopTour()},[]),f=h(t=>{t.disabled||(k(t.layer),y(!1),d.current?.focus())},[k]),N=h((t,r,n)=>{if(t.key==="Enter"||t.key===" "){if(r.disabled)return;t.preventDefault(),f(r);return}if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault();const u=n.findIndex(e=>e.layer.description===r.layer.description),o=t.key==="ArrowDown"?1:-1;let a=u+o;for(;a>=0&&a<n.length;){if(!n[a].disabled){t.currentTarget.parentElement?.children?.[a]?.focus();return}a+=o}}t.key==="Escape"&&(y(!1),d.current?.focus())},[f]);return F(()=>{const t=i.layerStore.floors;if(!(i.layerStore.mode===S.Radio||i.layerStore.mode===S.CheckBox)||t.length===0)return null;const{layout:n,useShortNames:u}=B(L.shortLevelName),o=t.find(e=>e.active),a=e=>u?e.shortName:e.description;return n==="compact-list"?s("div",{className:m("efp-level-selector","efp-level-selector--compact-list",{"is-ready":t.length}),role:"radiogroup","aria-label":p("Floor selection"),children:t.map(e=>s("div",{className:m("efp-level-selector__item",{"is-active":e.active,"is-disabled":e.disabled}),role:"radio",title:`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-label":`${e.active?p("Current Floor"):p("Floor")} ${e.layer.description}`,"aria-checked":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>!e.disabled&&f(e),onKeyDown:w=>N(w,e,t),dir:"auto",children:s("span",{children:a(e)})},e.layer.description))}):v("div",{className:m("efp-level-selector","efp-level-selector--dropdown",{"is-ready":t.length}),children:[v("button",{ref:d,type:"button",className:m("efp-level-selector__trigger",{"is-open":c}),onClick:()=>y(!c),"aria-haspopup":"listbox","aria-expanded":c,"aria-label":`${p("Current Floor")}: ${o?.description??""}`,children:[v("div",{className:"efp-level-selector__trigger-text",children:[s("i",{className:"icon-layers","aria-hidden":"true"}),s("span",{children:o?.description??""})]}),s("div",{className:"efp-level-selector__trigger-chevron",children:s("i",{className:"icon-chevron-down","aria-hidden":"true"})})]}),c&&s("div",{ref:_,className:m("efp-level-selector__dropdown","efp-level-selector__dropdown--full",{"is-opens-up":x==="up","is-opens-down":x==="down"}),role:"listbox","aria-label":p("Floor selection"),children:t.map(e=>v("div",{className:m("efp-level-selector__dropdown-item",{"is-active":e.active,"is-disabled":e.disabled}),role:"option","aria-selected":e.active,"aria-disabled":e.disabled,tabIndex:e.disabled?-1:0,onClick:()=>f(e),onKeyDown:w=>N(w,e,t),children:[s("span",{className:"efp-level-selector__dropdown-item-icon",children:e.active&&s("i",{className:"icon-checkmark-solid","aria-hidden":"true"})}),s("span",{className:"efp-level-selector__dropdown-item-name",children:e.description})]},e.layer.description))})]})})}
@@ -1 +1 @@
1
- import{jsx as t,jsxs as m}from"react/jsx-runtime";import l from"classnames";import S from"color";import{Suspense as M}from"react";import{useLocalStore as P,useObserver as _}from"mobx-react-lite";import O from"../data";import f,{uiState as o}from"../store";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import c from"../utils/is-from-designer";import d from"./AlertContainer";import"./LogoOverlay.scss";import{fpGeo as h}from"../data/fpGeo";import C from"../tools/base-runtime-url";import{buildExpofpUrl as R,UTM_CAMPAIGNS as N}from"../tools/expofpUrl";import V from"./QrCode";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),A=p.backgroundColor!=="none"&&S(p.backgroundColor).isDark()||h?.properties?.style?.includes("dark");export default function D(){const b=P(()=>{const s=(i,e,E,k)=>({width:k,opacity:o.wsStarted?1:0}),n=g||o.rtl?"left":"right";return{get style(){const i=a((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+i;return s("bottom",n,e,"5rem")}else{let e=o.mapVisibleTop;return f.mapboxStore.showMapbox&&(e=a(.5)),s("bottom",n,20,"4.5rem")}},get warningStyle(){const i=a(o.overlayPosition==="left"?1:.5);if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+2*i;return s("bottom",n,e,"3rem")}else{let e=o.mapVisibleTop+2*i;return f.mapboxStore.showMapbox&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=c&&u>=10,x=c&&!h&&O.allow3dView&&!o.kiosk&&!o.heatmap,v=o.kiosk&&!o.selectedRoute?.to&&!o.selectedRoute?.from,y=l("efp-qr",{"is-right":g||o.rtl});return _(()=>m("div",{children:[t("a",{href:R(N.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:A}),style:b.style,children:t("img",{src:`${C}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(d,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"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")})}),x&&t(d,{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")})}),v&&t(M,{fallback:null,children:m("div",{className:l(y,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(V,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
1
+ import{jsx as t,jsxs as m}from"react/jsx-runtime";import l from"classnames";import S from"color";import{Suspense as M}from"react";import{useLocalStore as P,useObserver as _}from"mobx-react-lite";import O from"../data";import f,{uiState as o}from"../store";import p from"../tools/settings";import{remsToPixels as a}from"../utils";import{t as r}from"../utils/i18n";import c from"../utils/is-from-designer";import d from"./AlertContainer";import"./LogoOverlay.scss";import{fpGeo as h}from"../data/fpGeo";import C from"../tools/base-runtime-url";import{buildExpofpUrl as R,UTM_CAMPAIGNS as N}from"../tools/expofpUrl";import V from"./QrCode";const g=["info-techlive2025","metstrade-superyacht2023"].includes(p.EXPO),A=p.backgroundColor!=="none"&&S(p.backgroundColor).isDark()||h?.properties?.style?.includes("dark");export default function D(){const b=P(()=>{const s=(i,e,E,k)=>({width:k,opacity:o.wsStarted?1:0}),n=g||o.rtl?"left":"right";return{get style(){const i=a((o.overlayPosition==="left",1));if(o.overlayPosition==="left"){const e=o.mapVisibleBottom+i;return s("bottom",n,e,"5rem")}else{let e=o.mapVisibleTop;return f.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 f.maplibreStore.showMaplibre&&(e=a(.5)),s("top",n,e,"2rem")}}}}),u=Math.round(window.__fpStat?.dataSize/1024/1024||0),w=c&&u>=10,v=c&&!h&&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 _(()=>m("div",{children:[t("a",{href:R(N.SUBDOMAIN_LOGO),target:"_blank",rel:"noopener noreferrer",className:l("logo-overlay",{invert:A}),style:b.style,children:t("img",{src:`${C}expofp-overlay.png`,alt:r("Made with ExpoFP"),crossOrigin:"anonymous"})}),w&&t(d,{title:r("This floor plan is too big"),variant:"warning",showIcon:!0,position:"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")})}),v&&t(d,{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(M,{fallback:null,children:m("div",{className:l(x,{"efp-semi-transparent":o.setKioskModeEnabled}),children:[t("div",{children:r("View Map on Phone")}),t(V,{value:o.viewMapOnPhoneQRCodeUrl,size:100})]})})]}))}
@@ -1 +1 @@
1
- import{jsx as S,jsxs as I,Fragment as H}from"react/jsx-runtime";import{useObserver as q}from"mobx-react-lite";import J from"classnames";import{useEffect as Q,useMemo as Y,useRef as z,useState as ee}from"react";import{observable as oe}from"mobx";import i,{boothStore as te,layersStore as R,uiState as e}from"../../store";import re from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as g}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import C from"../../core/Rect";import{Exhibitor as F}from"../../store/ExhibitorStore";import{BoothBase as ne}from"../../store/BoothStore";import{CurrentPosition as ie,Route as ae}from"../../store/RouteStore";import{Category as se}from"../../store/CategoryStore";import T from"../../tools/logger";import{svgArea as D}from"../../data/svg";import{configMarkers as le,getMarkerFromClick as me}from"./drawing/config/config-markers";import ce from"color";import{createWayfinding as fe}from"../../wayfinding/createWayfinding";import{createSceneDef as de}from"../../renderer";import{convertGpsToLocal as ue}from"../../utils/gps";import{fpGeo as pe}from"../../data/fpGeo";import v from"../../utils/is-debug";import he from"../../ui/Draggable";import{useBuildRoute as ve}from"./traffic/useBuildRoute";import{useManageTraffic as be}from"./traffic/useManageTraffic";import{DEBUG_STORAGE_KEY as G}from"../../constants";import{isPathwayLayer as N}from"../../utils/is-pathway-layer";import O from"./booth-by-xy";import{mapRollSetting as X}from"../../renderer";import{loadLayersImages as ye}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as ge}from"../../utils/areLayersEnabled";import{pickDefaultScene as j,pickDefaultScenePoint as xe}from"../../renderer/engine-core/defs";const U=Number.isFinite(p.maxZoom);export default function we(){let k={};const V="#ebebeb",h=z(),b=Y(()=>oe({moving:!1,prevLevel:i.layerStore.layers.find(o=>!o.frozen&&o.visible)}),[]),s=i.rendererService;let l;const L=z(null);let B=null,M=null;const[Z,$]=ee(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(G)!=="false":!0);d(()=>i.routeStore.currentRouteLayer,()=>{if(!s.scene||b.prevLevel===i.routeStore.currentRouteLayer)return;const o=s.scene.rootLayer.children.filter(r=>i.layerStore.floors.some(n=>r.name.includes(n.name)));let t=i.routeStore.currentRouteLayer.name;if(!o.find(r=>r.name===t))return;const a=o?.map(r=>(r.name===t&&(r.hidden=!1),r.name===b.prevLevel?.name&&(r.hidden=!0),r));b.prevLevel=i.routeStore.currentRouteLayer,s.update(...a)}),d(()=>e.centerMap,()=>{!e.centerMap||i.mapboxStore.showMapbox||(l.controls.resetCamera({zoom:!!(e.list.type==="search"&&e.list.text)}),e.centerMap=!1)}),Q(()=>{if(!h.current)return;async function o(){let t={};try{if(v){const r=document.createElement("canvas").getContext("webgl2"),n=r&&r.getExtension("EXT_disjoint_timer_query_webgl2"),m=(await import("stats-gl")).default,f=new m({trackGPU:n,horizontal:!0}),u=L.current;if(!u)throw new Error("memoryInfoPanel not found.");f.dom.style.position="relative",u.style.width=`${90*(n?3:2)}px`,u.style.height="48px",u.appendChild(f.dom),t={stats:f,memoryInfoPanel:u}}}catch(a){console.error(a)}l=s.create({canvas:h.current,ui:t}),e.canvasVisibleRectPx&&(l.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx)),re(s).then(a=>{v&&console.log("Renderer settings",l);const r=ce(p.backgroundColor==="none"?V:p.backgroundColor).string("rgba");k=de(a,x.fromCoreRect(D),r),s.start(k),X(l,i.fp.enableRotation?1:0),U&&l.viewport.setMaxZoom(p.maxZoom),R.layersLoaded=!0,i.fp.onFpConfigured&&i.fp?.onFpConfigured(),B=fe(s),M=le(s),ye(s)}),l.events.addEventListener("pointer:move",({data:a})=>{if(e.setKioskModeEnabled)return;const{point:r,defs:n}=j(a),c=O(r.x,r.y),m=E(n[0]);e.hoveredBooth=c||m}),l.events.addEventListener("pointer:out",()=>{e.setKioskModeEnabled||(e.hoveredBooth=null)}),l.events.addEventListener("pointer:click",({data:a})=>{if(!e?.rootElement)return;window.__resett&&window.__resett(),e.overlayPosition==="bottom"&&e.overlaySize==="full"&&i.showMap();const{point:r,defs:n}=j(a),{x:c,y:m}=r;if(e.onGetCoordsClick){const y=i.layerStore.layers.find(w=>w.visible&&(w.mode===g.TurnedOn||w.mode===g.TurnedOff));e.onGetCoordsClick({x:c,y:m,z:y?.name||null})}if(e.setKioskModeEnabled)return;if(e.onMarkerClick){const y=me(c,m,s.scale);v&&console.log("marker",y),e.onMarkerClick(y)}const f=O(r.x,r.y),u=E(n[0]);v&&console.log("boothIdFromClientXy",f,"boothByShape",u,"pointer:click point",r),i.clickBooth(f||u)}),l.events.addEventListener("navigation:change",()=>window.__resett&&window.__resett())}return o(),i.fp.getCenterCoordinates=K,()=>A()},[]);function A(){B?.(),M?.(),s.dispose()}function K(){const o=h.current;if(!h.current)throw new Error("Canvas not ready");const t=xe(l.viewport.canvasToSvg({x:o.clientWidth/2,y:o.clientHeight/2})),r=i.layerStore.visible.find(n=>n.mode===g.TurnedOff||n.mode===g.TurnedOn)?.name||null;return{...t,z:r}}function E(o){return!o||!o.shape?null:te.booths.find(t=>t.shapes?.find(a=>a.shape==o.shape))}d(()=>e.zoomBy,()=>{if(!e.zoomBy||i.mapboxStore.showMapbox)return;const o=e.zoomBy;l.controls.zoomBy(o),e.zoomBy=null}),d(()=>e.dimmed,o=>{if(!s.scene)return;const t=s.scene.rootLayer;t.dim!==o&&(t.dim=o,s.update(t))}),d(()=>e.details,()=>{if(!e.onDetails)return;if(!e.details){e.onDetails(null);return}var o=e.details;if(p.EXPO==="wineparis"&&(o instanceof F&&(o=o.booths[0]),!o))return;let t=null,a=[];o instanceof F?(t="exhibitor",a=o.booths.map(n=>n.name).sort((n,c)=>n==i.routeStore.tempToBooth?.name?-1:c==i.routeStore.tempToBooth?.name?1:0)):o instanceof ne?(t="booth",a=[o.name]):o instanceof ae?(t="route",a=[o.from?.name,o.to?.name].filter(n=>!!n)):o instanceof se&&(t="category",a=o.exhibitors.map(n=>n.booths.map(c=>c.name)).flat());var r={type:t,name:o?.name,id:o?.id,externalId:o?.externalId,boothsNames:a};e.onDetails({...r,...t==="route"?{routeInfo:i.routeStore.routeInfo}:{}})}),d(()=>e.canvasVisibleRectPx,()=>{s.renderer&&(s.renderer.visibleRect=x.fromCoreRect(e.canvasVisibleRectPx))},{fireImmediately:!0}),d(()=>e.moveToRect,()=>{!e.moveToRect||i.mapboxStore.showMapbox||(e.moveToRect&&e.moveToRect.h!==1/0&&e.moveToRect.w!==1/0&&e.moveToRect.h>0&&e.moveToRect.w>0&&_(e.moveToRect),e.moveToRect=null)}),d(()=>e.rollReset,o=>{o&&(l.controls.resetCamera({roll:!0}),e.rollReset=!1)}),d(()=>e.moveToBooths,()=>{if(T.log("this.moveToBooths",e.moveToBooths),!e.moveToBooths||i.mapboxStore.showMapbox)return;T.log("watched moveToBooths",e.moveToBooths);const o=e.moveToBooths.filter(t=>t.rect).map(t=>t.rect);o.length!==0&&(_(C.fromMultiple(o)),e.moveToBooths=null)}),d(()=>e.mapSettings,({zoomtime:o,center:t,centerxy:a,bearing:r,roll:n,z:c})=>{if(!(i.mapboxStore.showMapbox||!s.renderer))try{o&&o!==e.defaultMapSettings.zoomtime&&s.renderer.controls.configure({zoomTime:o/1e3}),i.fp.enableRotation&&X(l,n);let m;if(t){const f=t.split(",").map(Number),u=new ie(void 0,void 0,void 0,void 0,f[0],f[1]);m=ue(u,pe.properties.config)}else if(a){const f=a.split(",").map(Number);m={x:f[0],y:f[1]}}c&&i.fp.activateFloor({name:c}),(m?.x||m?.y)&&s.renderer.controls.panTo(m.x,m.y),Number.isFinite(r)&&s.renderer.controls.rollTo(r)}catch(m){T.error("Error in mapSettings reaction",m)}}),ve({enabled:R.layersLoaded&&e.buildRoute,rendererService:s});const P="routes-api.expofp.com";be({permission:R.layersLoaded,rendererService:s,dataJsonUrl:`https://${P}/v1/routes?expo=${p.EXPO}`,websocketUrl:`wss://${P}/locations?expo=${p.EXPO}`}),d(()=>i.layerStore.visible,o=>{if(!s.scene)return;const t=o.filter(n=>N(n.name)),r=s.scene.rootLayer.children.filter(n=>N(n.name));r.forEach(n=>{n.hidden=!t.find(c=>c.name===n.name)}),s.update(...r)});function _(o){let t=o;const a=W(o,D);e.kioskData&&(!ge()||i.routeStore.defaultFrom?.layer?.name===i.routeStore.currentRouteLayer?.name)&&(t=C.fromMultiple([o,C.fromXywh(e.kioskData.x,e.kioskData.y,1,1)]));const r=x.fromCoreRect(t),n={paddingPercent:a,maxZoom:U?void 0:10};if(e.shouldShiftMapRect){l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x+e.overlayWidthPx},l.visibleRect=l.visibleRect;try{l.controls.zoomTo(r,n)}finally{l.visibleRect.min={...l.visibleRect.min,x:l.visibleRect.min.x-e.overlayWidthPx}}}else l.controls.zoomTo(r,n)}function W(o,t){return!o||!t?0:(o.w*o.h/(t.h*t.w)>.1?15:25)/100}return q(()=>I(H,{children:[S("canvas",{style:{width:"100%",height:"100%"},ref:h,className:J({map:!0,moving:b.moving,hidden:i.mapboxStore.showMapbox}),children:"ExpoFP.com"}),v&&Z&&I(he,{className:"debug-fps",children:[S("div",{ref:L}),S("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(G,"false"),$(!1)},style:{padding:"4px 8px",fontSize:"11px",cursor:"pointer",backgroundColor:"#333",color:"#fff",border:"1px solid #555",width:"100%"},children:"Hide debug"})]})]}))}
1
+ import{jsx as k,jsxs as N,Fragment as Y}from"react/jsx-runtime";import{useObserver as ee}from"mobx-react-lite";import oe from"classnames";import{useEffect as te,useMemo as re,useRef as S,useState as ne}from"react";import{observable as ie,reaction as ae}from"mobx";import a,{boothStore as se,layersStore as h,uiState as o}from"../../store";import le from"./drawing/config/config-all";import{useReaction as d}from"../../utils/mobx";import{LayerMode as R}from"../../store/LayerStore";import p from"../../tools/settings";import{Rect as x}from"./drawing/config/Rect";import L from"../../core/Rect";import{Exhibitor as O}from"../../store/ExhibitorStore";import{BoothBase as me}from"../../store/BoothStore";import{CurrentPosition as ce,Route as fe}from"../../store/RouteStore";import{Category as de}from"../../store/CategoryStore";import B from"../../tools/logger";import{svgArea as X}from"../../data/svg";import{configMarkers as ue,getMarkerFromClick as pe}from"./drawing/config/config-markers";import he from"color";import{createWayfinding as ve}from"../../wayfinding/createWayfinding";import{createSceneDef as ye}from"../../renderer";import{convertGpsToLocal as be}from"../../utils/gps";import{fpGeo as ge}from"../../data/fpGeo";import y from"../../utils/is-debug";import we from"../../ui/Draggable";import{useBuildRoute as Se}from"./traffic/useBuildRoute";import{useManageTraffic as Re}from"./traffic/useManageTraffic";import{DEBUG_STORAGE_KEY as A}from"../../constants";import{isPathwayLayer as j}from"../../utils/is-pathway-layer";import U from"./booth-by-xy";import{mapRollSetting as Z}from"../../renderer";import{loadLayersImages as xe}from"./drawing/config/loadBoothsImages";import{areLayersEnabled as Ce}from"../../utils/areLayersEnabled";import{pickDefaultScene as $,pickDefaultScenePoint as Te}from"../../renderer/engine-core/defs";import{applyVenueDimValue as ke,createDimmingAnimator as Le}from"../../utils/dimming";const K=Number.isFinite(p.maxZoom);export default function Be(){let M={};const V="#ebebeb",v=S(),b=re(()=>ie({moving:!1,prevLevel:a.layerStore.layers.find(e=>!e.frozen&&e.visible)}),[]),l=a.rendererService,C=S(Le(e=>ke(l,e)));let s;const g=S(null),E=S(null);let P=null,I=null,_=!1;function z(){h.layers.forEach(e=>{e.configured=!1,e.children=[],e.loaded=!1})}const[W,H]=ne(()=>typeof window<"u"&&window.localStorage?localStorage.getItem(A)!=="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)}),te(()=>{if(!v.current)return;async function e(){z(),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=E.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,ae(()=>o.canvasVisibleRectPx,(i,t)=>{i&&(s.visibleRect=x.fromCoreRect(i)),t.dispose()},{fireImmediately:!0}),le(l).then(i=>{if(_||g.current!==s)return;y&&console.log("Renderer settings",s);const t=he(p.backgroundColor==="none"?V:p.backgroundColor).string();M=ye(i,x.fromCoreRect(X),t),l.start(M),C.current.setTarget(o.dimmed,{immediate:!0}),Z(s,a.fp.enableRotation?1:0),K&&s.viewport.setMaxZoom(p.maxZoom),h.layersLoaded=!0,a.fp.onFpConfigured&&a.fp?.onFpConfigured(),P=ve(l),I=ue(l),xe(l)}),s.events.addEventListener("pointer:move",({data:i})=>{if(o.setKioskModeEnabled)return;const{point:t,defs:n}=$(i),c=U(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}=$(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=pe(c,m,l.scale);y&&console.log("marker",w),o.onMarkerClick(w)}const f=U(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=J,()=>q()},[]);function q(){_=!0,C.current.stop(),P?.(),I?.(),z(),h.layersLoaded=!1,l.disposeIfCurrent(g.current),g.current=null}function J(){const e=v.current;if(!v.current)throw new Error("Canvas not ready");const r=Te(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:se.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=>{C.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 O&&(e=e.booths[0]),!e))return;let r=null,i=[];e instanceof O?(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 me?(r="booth",i=[e.name]):e instanceof fe?(r="route",i=[e.from?.name,e.to?.name].filter(n=>!!n)):e instanceof de&&(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=x.fromCoreRect(e))},{fireImmediately:!0}),d(()=>o.moveToRect,()=>{!o.moveToRect||a.maplibreStore.showMaplibre||(o.moveToRect&&o.moveToRect.h!==1/0&&o.moveToRect.w!==1/0&&o.moveToRect.h>0&&o.moveToRect.w>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(L.fromMultiple(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&&Z(s,n);let m;if(r){const f=r.split(",").map(Number),u=new ce(void 0,void 0,void 0,void 0,f[0],f[1]);m=be(u,ge.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)}}),Se({enabled:h.layersLoaded&&o.buildRoute,rendererService:l});const F="routes-api.expofp.com";Re({permission:h.layersLoaded,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=>j(n.name)),t=l.scene.rootLayer.children.filter(n=>j(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=Q(e,X);o.kioskData&&(!Ce()||a.routeStore.defaultFrom?.layer?.name===a.routeStore.currentRouteLayer?.name)&&(r=L.fromMultiple([e,L.fromXywh(o.kioskData.x,o.kioskData.y,1,1)]));const t=x.fromCoreRect(r),n={paddingPercent:i,maxZoom:K?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(t,n)}finally{s.visibleRect.min={...s.visibleRect.min,x:s.visibleRect.min.x-o.overlayWidthPx}}}else s.controls.zoomTo(t,n)}function Q(e,r){return!e||!r?0:(e.w*e.h/(r.h*r.w)>.1?15:25)/100}return ee(()=>N(Y,{children:[k("canvas",{style:{width:"100%",height:"100%"},ref:v,className:oe({map:!0,moving:b.moving,hidden:a.maplibreStore.showMaplibre}),children:"ExpoFP.com"}),y&&W&&N(we,{className:"debug-fps",children:[k("div",{ref:E}),k("button",{onClick:()=>{typeof window<"u"&&window.localStorage&&localStorage.setItem(A,"false"),H(!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{__esDecorate as g,__runInitializers as k}from"tslib";import i from"color";import v from"color-interpolate";import{computed as b,reaction as C}from"mobx";import u from"../../../../data";import p,{boothStore as _,layersStore as S,uiState as f}from"../../../../store";import{RegularBooth as D,SpecialBooth as I}from"../../../../store/BoothStore";import n from"../../../../tools/settings";import{defaultRebookingOptions as B}from"../../../RebookingRadioGroup";import{Rect as w}from"./Rect";import{BoothDrawerBaseWithoutPainter as P}from"./BoothDrawerBase";import{LayersMode as x}from"../../../../store/LayerStore";import{createShapeDef as L}from"../../../../renderer";import{buildPathDef as F}from"./config-bg";export default function R(s,a){return new W(s,a)}function A(s){if(s.length===0)return null;const a=s[0];return s.every(h=>h===a)?a:null}export function pathToShapeDef(s,a){const c=[];for(const h of s){const d=F({index:h.index,color:h.color,unblinking:h.unblinking},a);d&&c.push(d)}return c}let W=(()=>{let s=P,a=[],c,h;return class extends s{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;c=[b({keepAlive:!0})],h=[b],g(this,null,c,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:e=>"defaultColor"in e,get:e=>e.defaultColor},metadata:o},null,a),g(this,null,h,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:e=>"selectedColorInterpolateFunc"in e,get:e=>e.selectedColorInterpolateFunc},metadata:o},null,a),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}rendererService=k(this,a);constructor(o,e){if(super(e),this.rendererService=o,e.paths){const t=pathToShapeDef(e.paths,p.layerStore.mode!==x.Default?e.layer.name:"");e.shapes=t.map(r=>{const l=f.monochrome?i(r.color).grayscale().rgb().string():this.getBoothColor().string("rgba");return r.color==="transparent"?r.color=l:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?_.borderWidth:e.borderWidth;let r=this.booth.rect.withPadding(t/2,t/2);const l=this.getBoothColor().string("rgba");e.shapes=[L(w.fromCoreRect(r,this.booth.rotate),l)]}C(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),C(()=>[S.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(S.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("rgba")}this.rendererService.update(o)}}getBoothPathColor(o){const e=this.booth;let t=i(o).hsl();if(e.selected){const r=n.colors.booths.selected;if(window.__fpSettings?.fpVer){let m=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return i(m==="none"?r:m)}const l=i(r).hsl(),y=l.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(l.hue()).lightness(y)}else e.hover&&(t=t.darken(.1));return t}get defaultColor(){const o=this.booth;let e;if(o instanceof I)e=o.color||n.colors.booths.empty;else if(o instanceof D){if(u.isRebooking){if(!o.exhibitors?.length)return B[0].color.primary;const r=A((o.exhibitors??[]).map(l=>l.rebookingState));return r!==null?B[r].color.primary:"#000000"}const t=n.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}(e==="#666"||e==="#666666")&&(e="rgba(0,0,0,0.172)");try{e==="none"&&(e=n.colors.booths.default),i(e)}catch(t){e=n.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=n.colors.booths.seectedLight||(i(this.booth.labelColor||n.boothLabelColor).isLight()?"#000":"#fff"),e=f.selectedRoute?n?.colors?.booths?.wayfinding?.selected:n?.colors?.booths?.selected;return v([o,e])}getBoothColor(){const o=this.booth;let e;if(f.heatmap){const r=p.heatmapStore.getTotalClicksByBooth(o),l=i(p.heatmapStore.getColorByClicks(r));return o.selected?(e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),i(e==="none"?"#f33":e)):o.hover?l.darken(.2).alpha(l.alpha()*1.5):l}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)),(f.monochrome||f.heatmapYah)&&(t=t.grayscale()),t}}})();
1
+ import{__esDecorate as g,__runInitializers as k}from"tslib";import a from"color";import v from"color-interpolate";import{computed as b,reaction as C}from"mobx";import u from"../../../../data";import p,{boothStore as _,layersStore as S,uiState as f}from"../../../../store";import{RegularBooth as D,SpecialBooth as I}from"../../../../store/BoothStore";import n from"../../../../tools/settings";import{defaultRebookingOptions as B}from"../../../RebookingRadioGroup";import{Rect as w}from"./Rect";import{BoothDrawerBaseWithoutPainter as P}from"./BoothDrawerBase";import{LayersMode as x}from"../../../../store/LayerStore";import{createShapeDef as L}from"../../../../renderer";import{buildPathDef as F}from"./config-bg";export default function R(s,i){return new W(s,i)}function A(s){if(s.length===0)return null;const i=s[0];return s.every(h=>h===i)?i:null}export function pathToShapeDef(s,i){const c=[];for(const h of s){const d=F({index:h.index,color:h.color,unblinking:h.unblinking},i);d&&c.push(d)}return c}let W=(()=>{let s=P,i=[],c,h;return class extends s{static{const o=typeof Symbol=="function"&&Symbol.metadata?Object.create(s[Symbol.metadata]??null):void 0;c=[b({keepAlive:!0})],h=[b({keepAlive:!0})],g(this,null,c,{kind:"getter",name:"defaultColor",static:!1,private:!1,access:{has:e=>"defaultColor"in e,get:e=>e.defaultColor},metadata:o},null,i),g(this,null,h,{kind:"getter",name:"selectedColorInterpolateFunc",static:!1,private:!1,access:{has:e=>"selectedColorInterpolateFunc"in e,get:e=>e.selectedColorInterpolateFunc},metadata:o},null,i),o&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}rendererService=k(this,i);constructor(o,e){if(super(e),this.rendererService=o,e.paths){const t=pathToShapeDef(e.paths,p.layerStore.mode!==x.Default?e.layer.name:"");e.shapes=t.map(r=>{const l=f.monochrome?a(r.color).grayscale().rgb().string():this.getBoothColor().string();return r.color==="transparent"?r.color=l:r.defaultColor=r.color,r})}else{const t=e.borderColor==="none"?0:isNaN(e.borderWidth)?_.borderWidth:e.borderWidth;let r=this.booth.rect.withPadding(t/2,t/2);const l=this.getBoothColor().string();e.shapes=[L(w.fromCoreRect(r,this.booth.rotate),l)]}C(()=>this.booth.hover,()=>!this.booth.selected&&this.update()),C(()=>[S.layersLoaded,this.booth.skipDim,this.booth.selected,this.boothShape.selectBgAnimationPart],()=>this.update())}getShape(){return this.booth.shapes}update(){if(S.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){const e=this.booth;let t=a(o).hsl();if(e.selected){const r=n.colors.booths.selected;if(window.__fpSettings?.fpVer){let m=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart);return a(m==="none"?r:m)}const l=a(r).hsl(),y=l.lightness()*this.boothShape.selectBgAnimationPart;t=t.hue(l.hue()).lightness(y)}else e.hover&&(t=t.darken(.1));return t}get defaultColor(){const o=this.booth;let e;if(o instanceof I)e=o.color||n.colors.booths.empty;else if(o instanceof D){if(u.isRebooking){if(!o.exhibitors?.length)return B[0].color.primary;const r=A((o.exhibitors??[]).map(l=>l.rebookingState));return r!==null?B[r].color.primary:"#000000"}const t=n.colors.booths;o.onHold?e=o.holdColor||t.defaultHold:o.exhibitors.length||o.reserved?e=o.soldColor||t.defaultSold:e=o.availColor||t.empty}(e==="#666"||e==="#666666")&&(e="rgba(0,0,0,0.172)");try{e==="none"&&(e=n.colors.booths.default),a(e)}catch(t){e=n.colors.booths.default,console.error("Booth: defaultColor",t)}return e}get selectedColorInterpolateFunc(){const o=n.colors.booths.seectedLight||(a(this.booth.labelColor||n.boothLabelColor).isLight()?"#000":"#fff"),e=f.selectedRoute?n?.colors?.booths?.wayfinding?.selected:n?.colors?.booths?.selected;return v([o,e])}getBoothColor(){const o=this.booth;let e;if(f.heatmap){const r=p.heatmapStore.getTotalClicksByBooth(o),l=a(p.heatmapStore.getColorByClicks(r));return o.selected?(e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart),a(e==="none"?"#f33":e)):o.hover?l.darken(.2).alpha(l.alpha()*1.5):l}o.error?e="#f33":u.isRebooking?e=this.defaultColor:o.selected?e=this.selectedColorInterpolateFunc(this.boothShape.selectBgAnimationPart):e=this.defaultColor;let t;try{t=a(e==="none"?"#f33":e)}catch{t=a(this.defaultColor)}return(o.hover&&!o.selected||o.selected&&u.isRebooking)&&(t=t.darken(.2).alpha(t.alpha()*1.5)),(f.monochrome||f.heatmapYah)&&(t=t.grayscale()),t}}})();
@@ -1 +1 @@
1
- import g from"color";import{boothStore as c,layersStore as d}from"../../../../store";import a from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{Polygon as h}from"@expofp/renderer";import{reaction as B}from"mobx";import P from"../../../../core/Polygon";import W from"../../../../core/Rect";import{createShapeDef as C}from"../../../../renderer";export default function D(r,e){if(a.EXPO!=="confex20"&&!(e.poiType||e.borderColor==="none"||e.borderWidth===0&&!c.borderWidth||e.paths&&!e.pathsWithRect))return new S(r,e)}function b(r){const e=[{x:r.x1,y:r.y1},{x:r.x2,y:r.y2},{x:r.x3,y:r.y3},{x:r.x4,y:r.y4}],s=[[0,1,2],[2,3,0]];return new h(e,s)}class S extends w{shape;constructor(e,s){super(s);const y=g(s.selected?a.colors.booths.selectedBorder:s.borderColor),o=this.booth.rect,t=s.borderWidth||c.borderWidth,n=[],i=(p,f,l,x)=>{const u=b(P.fromRect(W.fromCxcywh(p,f,l,x)).rotate(s.rotate,o.cx,o.cy));n.push(u)};i(o.cx,o.cy-o.h/2,o.w+t,t),i(o.cx,o.cy+o.h/2,o.w+t,t),i(o.cx-o.w/2,o.cy,t,o.h+t),i(o.cx+o.w/2,o.cy,t,o.h+t);const m=h.merge(...n);this.shape=C(m,y.string("rgba")),B(()=>[this.booth.skipDim,d.layersLoaded],()=>{d.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,e.update(this.shape))})}getShape(){return this.shape}}
1
+ import g from"color";import{boothStore as c,layersStore as d}from"../../../../store";import h from"../../../../tools/settings";import{BoothDrawerBaseWithoutPainter as w}from"./BoothDrawerBase";import{Polygon as a}from"@expofp/renderer";import{reaction as B}from"mobx";import P from"../../../../core/Polygon";import W from"../../../../core/Rect";import{createShapeDef as C}from"../../../../renderer";export default function D(r,e){if(h.EXPO!=="confex20"&&!(e.poiType||e.borderColor==="none"||e.borderWidth===0&&!c.borderWidth||e.paths&&!e.pathsWithRect))return new b(r,e)}function S(r){const e=[{x:r.x1,y:r.y1},{x:r.x2,y:r.y2},{x:r.x3,y:r.y3},{x:r.x4,y:r.y4}],s=[[0,1,2],[2,3,0]];return new a(e,s)}class b extends w{shape;constructor(e,s){super(s);const y=g(s.selected?h.colors.booths.selectedBorder:s.borderColor),o=this.booth.rect,t=s.borderWidth||c.borderWidth,n=[],i=(p,f,l,x)=>{const u=S(P.fromRect(W.fromCxcywh(p,f,l,x)).rotate(s.rotate,o.cx,o.cy));n.push(u)};i(o.cx,o.cy-o.h/2,o.w+t,t),i(o.cx,o.cy+o.h/2,o.w+t,t),i(o.cx-o.w/2,o.cy,t,o.h+t),i(o.cx+o.w/2,o.cy,t,o.h+t);const m=a.merge(...n);this.shape=C(m,y.string()),B(()=>[this.booth.skipDim,d.layersLoaded],()=>{d.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,e.update(this.shape))})}getShape(){return this.shape}}