@expofp/floorplan 3.2.12 → 3.2.14

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 (244) hide show
  1. package/dist/browser/Button-BdvuWzrR.js +204 -0
  2. package/dist/browser/CookieConsent-bTG3GDKg.js +71 -0
  3. package/dist/browser/{Debug-BpJ3Yt6j.js → Debug-CjX9xriA.js} +8 -7
  4. package/dist/browser/{Demo-CAu8tNnV.js → Demo-D66SE96z.js} +12 -11
  5. package/dist/browser/{Free-Dtjbs5Bb.js → Free-ouV3S0cy.js} +12 -11
  6. package/dist/browser/{Gallery-DCd-gVeP.js → Gallery-Bm4oVw4n.js} +608 -642
  7. package/dist/browser/{GpsLoader-CwhaM_rD.js → GpsLoader-BheKXFiI.js} +49 -47
  8. package/dist/browser/{KioskStore-S-D6b5kf.js → KioskStore-CYaE9WLG.js} +62 -62
  9. package/dist/browser/{Mapbox-CYVIXxFC.js → Mapbox-CDlR6UrM.js} +40 -39
  10. package/dist/browser/Modal-DS2N0vIo.js +105 -0
  11. package/dist/browser/{SetKioskMode-DgSmrgmn.js → SetKioskMode-DofzJB3e.js} +18 -17
  12. package/dist/browser/{ShowKiosk-Df5igL4n.js → ShowKiosk-UX2N2NU3.js} +11 -10
  13. package/dist/browser/{ThreeComponent-zl3QtM34.js → ThreeComponent-CglSG5wI.js} +248 -247
  14. package/dist/browser/{TouchHand-QJXR9zrh.js → TouchHand-DvgAAuKo.js} +15 -14
  15. package/dist/browser/{ViewerMenuPanel-BQg2PHof.js → ViewerMenuPanel-KPn2i2KL.js} +22 -21
  16. package/dist/browser/{add-debug-secret-listener-Dpg6hJXG.js → add-debug-secret-listener-BN00-9E4.js} +1 -1
  17. package/dist/browser/{boolean-editor-B1fg8GRP.js → boolean-editor-fbHiF9vJ.js} +11 -11
  18. package/dist/browser/{bootIntercom-DPGUvndP.js → bootIntercom-CKo2IztD.js} +3 -3
  19. package/dist/browser/{box-BgRrEHb5.js → box-B2jxGgXa.js} +6 -6
  20. package/dist/browser/{browser-CM6Y7IGk.js → browser-vqeti97Y.js} +2 -2
  21. package/dist/browser/bundle.json +68 -53
  22. package/dist/browser/{classnames-TFIMEeYe.js → classnames-CHmxGkvV.js} +2 -2
  23. package/dist/browser/{client-Aih6DWd7.js → client-pnzfy6PK.js} +5 -5
  24. package/dist/browser/components-DVzc3v5I.js +8145 -0
  25. package/dist/browser/{data-CfaOzRA9.js → data-BmUUjPca.js} +43 -43
  26. package/dist/browser/{debug-overlay-CvqXKYqC.js → debug-overlay-B_1ADa5Y.js} +12 -12
  27. package/dist/browser/{debug-ui-CbGnH4qz.js → debug-ui-DBOzEUkM.js} +7 -7
  28. package/dist/browser/{dist-Ch41wRCl.js → dist-0qGu5ADv.js} +3 -3
  29. package/dist/browser/{dist-CucOchil.js → dist-BpuX8MZ6.js} +7 -7
  30. package/dist/browser/{dist-B53U7F7A.js → dist-DblWkNUV.js} +6 -6
  31. package/dist/browser/{efp-debug-init-DBd9OXOq.js → efp-debug-init-BwJWCRkJ.js} +3 -3
  32. package/dist/browser/{enum-editor-BFL483S-.js → enum-editor-BYkKqvGq.js} +12 -12
  33. package/dist/browser/{exports-rKPKVDu-.js → exports-BRRDMtlG.js} +1 -1
  34. package/dist/browser/{favicon-D6XggTGV.js → favicon-C_bgpvWA.js} +1 -1
  35. package/dist/browser/{fetch-retry.umd-GAaYdRWp.js → fetch-retry.umd-Dinto0ag.js} +2 -2
  36. package/dist/browser/{flex-B3BtW7Bh.js → flex-uHBCXaOV.js} +7 -7
  37. package/dist/browser/{flex.props-BUSDD_Wi.js → flex.props-eBOcuRMU.js} +3 -3
  38. package/dist/browser/{floorplan.loader-qfH0ZSkQ.js → floorplan.loader-CMXBnLtZ.js} +650 -649
  39. package/dist/browser/{floorplan.ready-BbyaL6hp.js → floorplan.ready-UbtSin_R.js} +215 -215
  40. package/dist/browser/{fuse-D5ZhsMEO.js → fuse-CgTQNNsn.js} +2 -2
  41. package/dist/browser/{is-debug-Wdhvt3ms.js → i18n-BOl9oxrx.js} +774 -883
  42. package/dist/browser/index.js +12 -12
  43. package/dist/browser/is-debug-DMN58EYn.js +122 -0
  44. package/dist/browser/{jsx-runtime-zUblDIPy.js → jsx-runtime-B2BgIlMm.js} +2 -2
  45. package/dist/browser/{lib-BUzzfdPD.js → lib-DByP5YwC.js} +5 -5
  46. package/dist/browser/{main-O6EuNg2i.js → main-D3mbrWsr.js} +1 -1
  47. package/dist/browser/{mobx-PgfpkqhK.js → mobx-CdvsVcc9.js} +5 -5
  48. package/dist/browser/{particles.min-C7I-LldI.js → particles.min-DfI3C-qp.js} +2 -2
  49. package/dist/browser/{prop-types-D8LlC1ig.js → prop-types-B6zERU6Z.js} +2 -2
  50. package/dist/browser/{react--fZLaqnU.js → react-C3o_QT06.js} +2 -2
  51. package/dist/browser/{react-dom-BYFyq6EH.js → react-dom-sBqrMskT.js} +3 -3
  52. package/dist/browser/{reset-all-settings-BlOJ5U7L.js → reset-all-settings-BwKg7iVu.js} +8 -8
  53. package/dist/browser/{rolldown-runtime-inJhu5W8.js → rolldown-runtime-DB8Ddt08.js} +1 -1
  54. package/dist/browser/{settings-BGeWcEmK.js → settings-BLMQJ1yq.js} +2 -2
  55. package/dist/browser/{settings-item-9Fm2cbOj.js → settings-item-C19s0haM.js} +7 -7
  56. package/dist/browser/{store-DtssCn2i.js → store-CQE29UCE.js} +5679 -5857
  57. package/dist/browser/{string-editor-Dr-TZeXy.js → string-editor-DyFEQo_P.js} +9 -9
  58. package/dist/browser/{theme-CXkb1lmK.js → theme-CrwkiIG5.js} +9 -9
  59. package/dist/browser/{ui-div1xB9Z.js → ui-MUJDbhD1.js} +9 -9
  60. package/dist/browser/useRenderTarget-Pk0fGZOz.js +48 -0
  61. package/dist/esm/components/AlertContainer.d.ts +5 -0
  62. package/dist/esm/components/AlertContainer.js +1 -0
  63. package/dist/esm/components/Booth/Booth.js +1 -1
  64. package/dist/esm/components/CookieConsent.js +1 -1
  65. package/dist/esm/components/EntityItem.d.ts +1 -0
  66. package/dist/esm/components/EntityItem.js +1 -1
  67. package/dist/esm/components/EntityItemContainer.d.ts +5 -0
  68. package/dist/esm/components/EntityItemContainer.js +1 -0
  69. package/dist/esm/components/EntityList.js +1 -1
  70. package/dist/esm/components/EntityListRow.js +1 -1
  71. package/dist/esm/components/Event.js +1 -1
  72. package/dist/esm/components/Exhibitor.js +1 -1
  73. package/dist/esm/components/GlobalErrorMessage.js +1 -1
  74. package/dist/esm/components/HighlightTextContainer.d.ts +6 -0
  75. package/dist/esm/components/HighlightTextContainer.js +1 -0
  76. package/dist/esm/components/Kiosk/KioskStore.d.ts +1 -1
  77. package/dist/esm/components/Kiosk/SetKiosk/Confirm/ConfirmDialog.js +1 -1
  78. package/dist/esm/components/Kiosk/SetKiosk/SetKioskForm.js +1 -1
  79. package/dist/esm/components/Kiosk/SetKiosk/types.d.ts +2 -2
  80. package/dist/esm/components/Kiosk/ShowKiosk.js +1 -1
  81. package/dist/esm/components/LanguageRow.js +1 -1
  82. package/dist/esm/components/Layout.js +1 -1
  83. package/dist/esm/components/List.js +1 -1
  84. package/dist/esm/components/LogoOverlay.d.ts +0 -1
  85. package/dist/esm/components/LogoOverlay.js +1 -1
  86. package/dist/esm/components/Menu.js +1 -1
  87. package/dist/esm/components/Modal.d.ts +2 -1
  88. package/dist/esm/components/Modal.js +1 -1
  89. package/dist/esm/components/Overlay.d.ts +1 -0
  90. package/dist/esm/components/Overlay.js +1 -1
  91. package/dist/esm/components/OverlayContainer.js +1 -1
  92. package/dist/esm/components/PermissionNotice/PermissionNotice.js +1 -1
  93. package/dist/esm/components/RebookingNotes.js +1 -1
  94. package/dist/esm/components/RoutePlanner/RoutePlanner.js +1 -1
  95. package/dist/esm/components/RoutePlanner/RoutePlannerHeader.js +1 -1
  96. package/dist/esm/components/RoutePlanner/RoutePlannerStopItem.js +1 -1
  97. package/dist/esm/components/SidebarActions.js +1 -1
  98. package/dist/esm/components/SimpleRow.js +1 -1
  99. package/dist/esm/components/Speakers.js +1 -1
  100. package/dist/esm/components/ToursList.js +1 -1
  101. package/dist/esm/components/Wayfinding.js +1 -1
  102. package/dist/esm/components/WayfindingFloorSelectorContainer.d.ts +5 -0
  103. package/dist/esm/components/WayfindingFloorSelectorContainer.js +1 -0
  104. package/dist/esm/components/WayfindingTemplate.d.ts +6 -8
  105. package/dist/esm/components/WayfindingTemplate.js +1 -1
  106. package/dist/esm/components/index.d.ts +22 -22
  107. package/dist/esm/components/index.js +1 -1
  108. package/dist/esm/components/stories/CookieConsent.stories.js +1 -1
  109. package/dist/esm/components/stories/Modal.stories.d.ts +5 -0
  110. package/dist/esm/components/stories/Modal.stories.js +1 -0
  111. package/dist/esm/components/stories/Share.stories.d.ts +5 -0
  112. package/dist/esm/components/stories/Share.stories.js +1 -0
  113. package/dist/esm/components/stories/{CheckboxButton.stories.d.ts → WayInformation.stories.d.ts} +1 -1
  114. package/dist/esm/components/stories/WayfindingTemplate.stories.d.ts +5 -0
  115. package/dist/esm/components/stories/WayfindingTemplate.stories.js +1 -0
  116. package/dist/esm/data/Flags.d.ts +4 -0
  117. package/dist/esm/data/Flags.js +1 -0
  118. package/dist/esm/store/RoutePlannerStore.d.ts +1 -1
  119. package/dist/esm/store/RoutePlannerStore.js +1 -1
  120. package/dist/esm/store/RouteStore.js +1 -1
  121. package/dist/esm/storybook/store/index.stub.d.ts +4 -0
  122. package/dist/esm/storybook/store/index.stub.js +1 -1
  123. package/dist/esm/{components → ui/Alert}/Alert.d.ts +3 -3
  124. package/dist/esm/ui/Alert/Alert.js +1 -0
  125. package/dist/esm/{components/stories → ui/Alert}/Alert.stories.d.ts +1 -1
  126. package/dist/esm/ui/Alert/Alert.stories.js +1 -0
  127. package/dist/esm/ui/Alert/index.d.ts +3 -0
  128. package/dist/esm/ui/Alert/index.js +1 -0
  129. package/dist/esm/{components → ui/Badge}/Badge.d.ts +1 -2
  130. package/dist/esm/ui/Badge/Badge.stories.d.ts +5 -0
  131. package/dist/esm/ui/Badge/Badge.stories.js +1 -0
  132. package/dist/esm/ui/Badge/index.d.ts +3 -0
  133. package/dist/esm/ui/Badge/index.js +1 -0
  134. package/dist/esm/{components → ui/Button}/Button.d.ts +2 -2
  135. package/dist/esm/ui/Button/Button.js +1 -0
  136. package/dist/esm/ui/Button/Button.stories.d.ts +5 -0
  137. package/dist/esm/ui/Button/Button.stories.js +1 -0
  138. package/dist/esm/ui/Button/index.d.ts +3 -0
  139. package/dist/esm/ui/Button/index.js +1 -0
  140. package/dist/esm/ui/Checkbox/Checkbox.d.ts +18 -0
  141. package/dist/esm/ui/Checkbox/Checkbox.js +1 -0
  142. package/dist/esm/ui/Checkbox/Checkbox.stories.d.ts +5 -0
  143. package/dist/esm/ui/Checkbox/Checkbox.stories.js +1 -0
  144. package/dist/esm/ui/Checkbox/index.d.ts +3 -0
  145. package/dist/esm/ui/Checkbox/index.js +1 -0
  146. package/dist/esm/ui/CheckboxButton/CheckboxButton.d.ts +11 -0
  147. package/dist/esm/ui/CheckboxButton/CheckboxButton.js +1 -0
  148. package/dist/esm/ui/CheckboxButton/CheckboxButton.stories.d.ts +5 -0
  149. package/dist/esm/ui/CheckboxButton/CheckboxButton.stories.js +1 -0
  150. package/dist/esm/ui/CheckboxButton/index.d.ts +3 -0
  151. package/dist/esm/ui/CheckboxButton/index.js +1 -0
  152. package/dist/esm/ui/HighlightText/HighlightText.d.ts +6 -0
  153. package/dist/esm/ui/HighlightText/HighlightText.js +1 -0
  154. package/dist/esm/ui/HighlightText/HighlightText.stories.d.ts +7 -0
  155. package/dist/esm/ui/HighlightText/HighlightText.stories.js +1 -0
  156. package/dist/esm/ui/HighlightText/index.d.ts +2 -0
  157. package/dist/esm/ui/HighlightText/index.js +1 -0
  158. package/dist/esm/ui/Radio/Radio.d.ts +14 -0
  159. package/dist/esm/ui/Radio/Radio.js +1 -0
  160. package/dist/esm/ui/Radio/Radio.stories.d.ts +18 -0
  161. package/dist/esm/ui/Radio/Radio.stories.js +1 -0
  162. package/dist/esm/ui/Radio/index.d.ts +3 -0
  163. package/dist/esm/ui/Radio/index.js +1 -0
  164. package/dist/esm/ui/Spinner/Spinner.d.ts +8 -0
  165. package/dist/esm/ui/Spinner/Spinner.js +1 -0
  166. package/dist/esm/ui/Spinner/Spinner.stories.d.ts +5 -0
  167. package/dist/esm/ui/Spinner/Spinner.stories.js +1 -0
  168. package/dist/esm/ui/Spinner/index.d.ts +3 -0
  169. package/dist/esm/ui/Spinner/index.js +1 -0
  170. package/dist/esm/ui/ToggleButton/ToggleButton.d.ts +16 -0
  171. package/dist/esm/ui/ToggleButton/ToggleButton.js +1 -0
  172. package/dist/esm/ui/ToggleButton/ToggleButton.stories.d.ts +5 -0
  173. package/dist/esm/ui/ToggleButton/ToggleButton.stories.js +1 -0
  174. package/dist/esm/ui/ToggleButton/index.d.ts +3 -0
  175. package/dist/esm/ui/ToggleButton/index.js +1 -0
  176. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.d.ts +17 -0
  177. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.js +1 -0
  178. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.stories.d.ts +5 -0
  179. package/dist/esm/ui/ToggleSwitch/ToggleSwitch.stories.js +1 -0
  180. package/dist/esm/ui/ToggleSwitch/index.d.ts +3 -0
  181. package/dist/esm/ui/ToggleSwitch/index.js +1 -0
  182. package/dist/esm/ui/TouchHand/TouchHand.d.ts +4 -0
  183. package/dist/esm/ui/TouchHand/TouchHand.js +1 -0
  184. package/dist/esm/ui/TouchHand/TouchHand.stories.d.ts +5 -0
  185. package/dist/esm/ui/TouchHand/TouchHand.stories.js +1 -0
  186. package/dist/esm/ui/TouchHand/index.d.ts +2 -0
  187. package/dist/esm/ui/TouchHand/index.js +1 -0
  188. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.d.ts +23 -0
  189. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.js +1 -0
  190. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.stories.d.ts +5 -0
  191. package/dist/esm/ui/WayfindingFloorSelector/WayfindingFloorSelector.stories.js +1 -0
  192. package/dist/esm/ui/WayfindingFloorSelector/index.d.ts +3 -0
  193. package/dist/esm/ui/WayfindingFloorSelector/index.js +1 -0
  194. package/package.json +3 -3
  195. package/dist/browser/CookieConsent-D7Z1zvoH.js +0 -8234
  196. package/dist/esm/components/Alert.js +0 -1
  197. package/dist/esm/components/Button.js +0 -1
  198. package/dist/esm/components/Checkbox.d.ts +0 -13
  199. package/dist/esm/components/Checkbox.js +0 -1
  200. package/dist/esm/components/CheckboxButton.d.ts +0 -11
  201. package/dist/esm/components/CheckboxButton.js +0 -1
  202. package/dist/esm/components/HighlightText.d.ts +0 -6
  203. package/dist/esm/components/HighlightText.js +0 -1
  204. package/dist/esm/components/LayersLoading.d.ts +0 -9
  205. package/dist/esm/components/LayersLoading.js +0 -1
  206. package/dist/esm/components/Radio.d.ts +0 -12
  207. package/dist/esm/components/Radio.js +0 -1
  208. package/dist/esm/components/ToggleButton.d.ts +0 -11
  209. package/dist/esm/components/ToggleButton.js +0 -1
  210. package/dist/esm/components/ToggleSwitch.d.ts +0 -12
  211. package/dist/esm/components/ToggleSwitch.js +0 -1
  212. package/dist/esm/components/TouchHand.d.ts +0 -4
  213. package/dist/esm/components/TouchHand.js +0 -1
  214. package/dist/esm/components/WayfindingFloorSelector.d.ts +0 -21
  215. package/dist/esm/components/WayfindingFloorSelector.js +0 -1
  216. package/dist/esm/components/stories/Alert.stories.js +0 -1
  217. package/dist/esm/components/stories/Badge.stories.d.ts +0 -5
  218. package/dist/esm/components/stories/Badge.stories.js +0 -1
  219. package/dist/esm/components/stories/Button.stories.d.ts +0 -5
  220. package/dist/esm/components/stories/Button.stories.js +0 -1
  221. package/dist/esm/components/stories/Checkbox.stories.d.ts +0 -5
  222. package/dist/esm/components/stories/Checkbox.stories.js +0 -1
  223. package/dist/esm/components/stories/CheckboxButton.stories.js +0 -1
  224. package/dist/esm/components/stories/Loading.stories.d.ts +0 -5
  225. package/dist/esm/components/stories/Loading.stories.js +0 -1
  226. package/dist/esm/components/stories/Modal.storiesss.d.ts +0 -5
  227. package/dist/esm/components/stories/Modal.storiesss.js +0 -1
  228. package/dist/esm/components/stories/Radio.stories.d.ts +0 -10
  229. package/dist/esm/components/stories/Radio.stories.js +0 -1
  230. package/dist/esm/components/stories/Share.storiesSS.d.ts +0 -5
  231. package/dist/esm/components/stories/Share.storiesSS.js +0 -1
  232. package/dist/esm/components/stories/ToggleButton.stories.d.ts +0 -5
  233. package/dist/esm/components/stories/ToggleButton.stories.js +0 -1
  234. package/dist/esm/components/stories/ToggleSwitch.stories.d.ts +0 -5
  235. package/dist/esm/components/stories/ToggleSwitch.stories.js +0 -1
  236. package/dist/esm/components/stories/TouchHand.stories.d.ts +0 -5
  237. package/dist/esm/components/stories/TouchHand.stories.js +0 -1
  238. package/dist/esm/components/stories/WayInformation.storiesss.d.ts +0 -5
  239. package/dist/esm/components/stories/WayfindingFloorSelector.storiesss.d.ts +0 -5
  240. package/dist/esm/components/stories/WayfindingFloorSelector.storiesss.js +0 -1
  241. package/dist/esm/components/stories/WayfindingTemplate.storiesss.d.ts +0 -5
  242. package/dist/esm/components/stories/WayfindingTemplate.storiesss.js +0 -1
  243. /package/dist/esm/components/stories/{WayInformation.storiesss.js → WayInformation.stories.js} +0 -0
  244. /package/dist/esm/{components → ui/Badge}/Badge.js +0 -0
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useEffect as j,useRef as k,useState as _}from"react";import{createPortal as B}from"react-dom";import I from"classnames";import{useRenderTarget as O}from"../utils/useRenderTarget";import{Button as P}from"./";import"./Modal.scss";const V=({open:s,className:h,type:v="default",title:p,badge:$,maxWidth:i,children:N,footerLeft:d=[],footerRight:o=[],onClickClose:l})=>{const n=O(),m=k(null),[b,c]=_(s),[y,u]=_(s);if(j(()=>{if(s)u(!0),setTimeout(()=>{c(!0)},10),document.body.style.overflow="hidden",setTimeout(()=>m.current?.focus(),0);else{c(!1);const a=setTimeout(()=>{u(!1)},200);return()=>clearTimeout(a)}const t=a=>{a.key==="Escape"&&l()};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t),document.body.style.overflow=""}},[s,l]),!y||!n)return null;const f=t=>t?.map(({label:a,onClick:g,variant:x="primary",disabled:w,withBadge:E},T)=>e(P,{onClick:g,variant:x,size:"md",inline:!0,disabled:w,withBadge:E,children:a},T));return B(e("div",{className:I("modal",`modal--${v}`,{isOpen:b},h),role:"dialog","aria-modal":"true",ref:m,tabIndex:-1,onClick:l,children:r("div",{className:"modal__box",style:i?{maxWidth:`${i}px`}:void 0,onClick:t=>t.stopPropagation(),children:[r("div",{className:"modal__header",children:[e("div",{className:"modal__title-container",children:e("div",{className:"modal__title",children:p})}),e("button",{type:"button",className:"modal__close",onClick:l,children:e("i",{className:"icon-close","aria-hidden":"true"})})]}),e("div",{className:"modal__body",children:N}),(d.length>0||o.length>0)&&r("div",{className:"modal__footer",children:[e("div",{className:"modal__footer-left",children:d.length>0&&f(d)}),o.length>0&&e("div",{className:"modal__footer-right",children:f(o)})]})]})}),n)};export default V;
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import{useEffect as B,useRef as I,useState as h}from"react";import{createPortal as O}from"react-dom";import P from"classnames";import{useRenderTarget as V}from"../utils/useRenderTarget";import $ from"../ui/Button";import{t as z}from"../utils/i18n";import"./Modal.scss";const L=({open:l,className:v,type:p="default",title:b,badge:M,maxWidth:d,children:N,closeLabel:y,footerLeft:o=[],footerRight:r=[],onClickClose:s})=>{const n=V(),m=I(null),[g,c]=h(l),[x,u]=h(l);if(B(()=>{if(l)u(!0),setTimeout(()=>{c(!0)},10),document.body.style.overflow="hidden",setTimeout(()=>m.current?.focus(),0);else{c(!1);const a=setTimeout(()=>{u(!1)},200);return()=>clearTimeout(a)}const t=a=>{a.key==="Escape"&&s()};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t),document.body.style.overflow=""}},[l,s]),!x||!n)return null;const f=y??z("Close"),_=t=>t?.map(({label:a,onClick:w,variant:E="primary",disabled:T,withBadge:j},k)=>e($,{onClick:w,variant:E,size:"md",inline:!0,disabled:T,withBadge:j,children:a},k));return O(e("div",{className:P("modal",`modal--${p}`,{isOpen:g},v),role:"dialog","aria-modal":"true",ref:m,tabIndex:-1,onClick:s,children:i("div",{className:"modal__box",style:d?{maxWidth:`${d}px`}:void 0,onClick:t=>t.stopPropagation(),children:[i("div",{className:"modal__header",children:[e("div",{className:"modal__title-container",children:e("div",{className:"modal__title",children:b})}),e("button",{type:"button",className:"modal__close",onClick:s,"aria-label":f,title:f,children:e("i",{className:"icon-close","aria-hidden":"true"})})]}),e("div",{className:"modal__body",children:N}),(o.length>0||r.length>0)&&i("div",{className:"modal__footer",children:[e("div",{className:"modal__footer-left",children:o.length>0&&_(o)}),r.length>0&&e("div",{className:"modal__footer-right",children:_(r)})]})]})}),n)};export default L;
@@ -13,6 +13,7 @@ export interface OverlayPanelProps {
13
13
  scrollThreshold?: number;
14
14
  disableDrag?: boolean;
15
15
  forceFull?: boolean;
16
+ scrollResetKey?: unknown;
16
17
  onChangeSize?: (size: Size) => void;
17
18
  onScrollStateChange?: (isScrolled: boolean) => void;
18
19
  }
@@ -1 +1 @@
1
- import{jsx as R,jsxs as X}from"react/jsx-runtime";import fe from"classnames";import{useEffect as I,useRef as v,useState as u,useCallback as a,useMemo as Y,createContext as me}from"react";import{uiState as U}from"../store";import Z from"../tools/debounce";import ge from"./OverlayParticles";import{useWindowSize as he}from"../hooks/useWindowSize";import{useDragGesture as ve}from"../hooks/useDragGesture";import{MOBILE_BREAKPOINT as $}from"../constants";import"./Overlay.scss";import{t as we}from"../utils/i18n";export const OverlayScrollContext=me(null);const V=70,pe="0.3s",ye=10,x=()=>window!==window.top&&(document.documentElement.clientHeight||document.body.clientHeight)||window.innerHeight,z=(d=x(),r,s,D)=>({small:d/r,medium:d/s,full:d-D}),Te=({children:d,open:r,size:s="medium",particles:D=!1,className:ee,onChangeSize:C,onScrollStateChange:w,smallSizeMultiplier:O=12.6,mediumSizeMultiplier:S=2.6,fullSizeOffset:A=0,scrollThreshold:G=ye,disableDrag:W=!1,forceFull:N=!1})=>{const{width:M,height:te}=he(),[t,oe]=u(()=>z(x(),O,S,A)),[l,ne]=u(()=>M<=$),[p,K]=u(!1),[i,re]=u(()=>t[s]),[g,b]=u(()=>t[s]),[h,y]=u(!1),[se,q]=u(r),[L,P]=u(!1),k=v(),j=v(),F=v(null),J=v(null),f=v(null),c=a(e=>{const o=t[e];re(o),b(o),C?.(e)},[t,C]),le=Y(()=>l?N&&r?{height:x()}:{height:r||h?g:0}:{height:r?"auto":void 0},[l,r,g,p,s,h,N]),Q=a(e=>{const o=[t.small,t.medium,t.full].sort();if(e>=t.full){c("full");return}if(e<=t.small){c("small");return}const n=i||t.medium,m=e>n?o.find(E=>E+V>=e)||t.full:o.reverse().find(E=>E-V<=e)||t.small;m===t.full?c("full"):m===t.medium?c("medium"):c("small")},[t,i,c]),ie=a(e=>{K(!0),k.current=e},[]),ce=a(e=>{const o=k.current;if(o===void 0)return;const n=f.current;if(n?.scrollTop>0&&i===t.full)return;const m=o-e;let _=(i||t.medium)+m;n&&i===t.full&&_<i&&(n.style.overflow="hidden"),_=Math.min(Math.max(_,t.small),t.full),j.current=m,b(_)},[i,t]),ue=a(()=>{K(!1),k.current=void 0;const e=f.current;e&&e.style.removeProperty("overflow");const o=j.current;j.current=void 0,o!==void 0&&g!==void 0&&Q(g)},[g,Q]),B=a(e=>{if(p)return;c(s==="small"?"medium":s==="medium"?"full":"small")},[p,s,c]),{touchHandlers:T,mouseHandlers:H}=ve({onDragStart:ie,onDragMove:ce,onDragEnd:ue}),ae=a(()=>{const e=f.current;if(!e)return;const n=e.scrollTop>=G;L!==n&&(P(n),w?.(n))},[G,L,w]),de=Y(()=>Z(()=>{window.__resett?.()},250),[]);I(()=>{if(!l||W)return;const e=F.current,o=J.current,n=f.current;e&&(e.ontouchstart=T.onTouchStart,e.ontouchend=T.onTouchEnd,window.ontouchmove=T.onTouchMove,e.onmousedown=H.onMouseDown,e.onmouseup=H.onMouseUp,window.onmousemove=H.onMouseMove),o&&o.addEventListener("mouseup",B);const m=()=>{i&&i<t.full&&n&&(n.style.overflow="hidden")};return n&&(n.ontouchstart=m),()=>{e&&(window.ontouchmove=null,window.onmousemove=null),o&&o.removeEventListener("mouseup",B)}},[l,T,H,B,i,t]),I(()=>{ne(M<=$);const e=x();oe(z(e,O,S,A))},[M,te,O,S,A]),I(()=>{if(r){q(!0),y(!0);const e=setTimeout(()=>{c(s),y(!1)},10);return()=>clearTimeout(e)}else{y(!0),l&&b(0);const e=setTimeout(()=>{q(!1),y(!1),P(!1)},parseFloat(pe)*1e3);return()=>clearTimeout(e)}},[r,s,c,l]),I(()=>{r&&!h&&(f.current?.scrollTo({top:0}),P(!1),w?.(!1))},[r,h,w,U.details,U.list.type]);const He=a(Z(()=>{window.__resett?.()},250),[U.kiosk]);return se?R(OverlayScrollContext.Provider,{value:f.current,children:X("div",{className:fe("efp-overlay",{"is-open":r,"is-draggable":p,"is-small":s==="small","is-medium":s==="medium","is-full":s==="full","is-mobile":l,"is-desktop":!l,"is-hidden":!l&&!r,"is-animating":h,"is-scrolled":L,"is-forced-full":N&&l},ee),style:le,ref:F,children:[!W&&R("div",{className:"efp-overlay__draghandle",ref:J}),X("div",{className:"efp-overlay__scroll",ref:f,onScroll:e=>{ae(),de()},children:[D?R(ge,{}):null,R("div",{className:"efp-overlay__content",children:d||we("No content")})]})]})}):null};export default Te;
1
+ import{jsx as _,jsxs as Q}from"react/jsx-runtime";import fe from"classnames";import{useEffect as x,useRef as v,useState as u,useCallback as m,useMemo as X,createContext as de}from"react";import me from"../tools/debounce";import ge from"./OverlayParticles";import{useWindowSize as he}from"../hooks/useWindowSize";import{useDragGesture as ve}from"../hooks/useDragGesture";import{MOBILE_BREAKPOINT as Y}from"../constants";import"./Overlay.scss";import{t as we}from"../utils/i18n";export const OverlayScrollContext=de(null);const Z=70,pe="0.3s",ye=10,D=()=>window!==window.top&&(document.documentElement.clientHeight||document.body.clientHeight)||window.innerHeight,$=(a=D(),r,s,I)=>({small:a/r,medium:a/s,full:a-I}),He=({children:a,open:r,size:s="medium",particles:I=!1,className:V,onChangeSize:U,onScrollStateChange:w,smallSizeMultiplier:O=12.6,mediumSizeMultiplier:A=2.6,fullSizeOffset:S=0,scrollThreshold:C=ye,disableDrag:G=!1,forceFull:N=!1,scrollResetKey:z})=>{const{width:M,height:ee}=he(),[t,te]=u(()=>$(D(),O,A,S)),[l,oe]=u(()=>M<=Y),[p,W]=u(!1),[i,ne]=u(()=>t[s]),[g,b]=u(()=>t[s]),[h,y]=u(!1),[re,K]=u(r),[L,P]=u(!1),j=v(),k=v(),q=v(null),F=v(null),f=v(null),c=m(e=>{const o=t[e];ne(o),b(o),U?.(e)},[t,U]),se=X(()=>l?N&&r?{height:D()}:{height:r||h?g:0}:{height:r?"auto":void 0},[l,r,g,p,s,h,N]),J=m(e=>{const o=[t.small,t.medium,t.full].sort();if(e>=t.full){c("full");return}if(e<=t.small){c("small");return}const n=i||t.medium,d=e>n?o.find(E=>E+Z>=e)||t.full:o.reverse().find(E=>E-Z<=e)||t.small;d===t.full?c("full"):d===t.medium?c("medium"):c("small")},[t,i,c]),le=m(e=>{W(!0),j.current=e},[]),ie=m(e=>{const o=j.current;if(o===void 0)return;const n=f.current;if(n?.scrollTop>0&&i===t.full)return;const d=o-e;let R=(i||t.medium)+d;n&&i===t.full&&R<i&&(n.style.overflow="hidden"),R=Math.min(Math.max(R,t.small),t.full),k.current=d,b(R)},[i,t]),ce=m(()=>{W(!1),j.current=void 0;const e=f.current;e&&e.style.removeProperty("overflow");const o=k.current;k.current=void 0,o!==void 0&&g!==void 0&&J(g)},[g,J]),B=m(e=>{if(p)return;c(s==="small"?"medium":s==="medium"?"full":"small")},[p,s,c]),{touchHandlers:H,mouseHandlers:T}=ve({onDragStart:le,onDragMove:ie,onDragEnd:ce}),ue=m(()=>{const e=f.current;if(!e)return;const n=e.scrollTop>=C;L!==n&&(P(n),w?.(n))},[C,L,w]),ae=X(()=>me(()=>{window.__resett?.()},250),[]);return x(()=>{if(!l||G)return;const e=q.current,o=F.current,n=f.current;e&&(e.ontouchstart=H.onTouchStart,e.ontouchend=H.onTouchEnd,window.ontouchmove=H.onTouchMove,e.onmousedown=T.onMouseDown,e.onmouseup=T.onMouseUp,window.onmousemove=T.onMouseMove),o&&o.addEventListener("mouseup",B);const d=()=>{i&&i<t.full&&n&&(n.style.overflow="hidden")};return n&&(n.ontouchstart=d),()=>{e&&(window.ontouchmove=null,window.onmousemove=null),o&&o.removeEventListener("mouseup",B)}},[l,H,T,B,i,t]),x(()=>{oe(M<=Y);const e=D();te($(e,O,A,S))},[M,ee,O,A,S]),x(()=>{if(r){K(!0),y(!0);const e=setTimeout(()=>{c(s),y(!1)},10);return()=>clearTimeout(e)}else{y(!0),l&&b(0);const e=setTimeout(()=>{K(!1),y(!1),P(!1)},parseFloat(pe)*1e3);return()=>clearTimeout(e)}},[r,s,c,l]),x(()=>{r&&!h&&(f.current?.scrollTo({top:0}),P(!1),w?.(!1))},[r,h,w,z]),re?_(OverlayScrollContext.Provider,{value:f.current,children:Q("div",{className:fe("efp-overlay",{"is-open":r,"is-draggable":p,"is-small":s==="small","is-medium":s==="medium","is-full":s==="full","is-mobile":l,"is-desktop":!l,"is-hidden":!l&&!r,"is-animating":h,"is-scrolled":L,"is-forced-full":N&&l},V),style:se,ref:q,children:[!G&&_("div",{className:"efp-overlay__draghandle",ref:F}),Q("div",{className:"efp-overlay__scroll",ref:f,onScroll:e=>{ue(),ae()},children:[I?_(ge,{}):null,_("div",{className:"efp-overlay__content",children:a||we("No content")})]})]})}):null};export default He;
@@ -1 +1 @@
1
- import{jsx as o,jsxs as v}from"react/jsx-runtime";import{useMemo as S,useCallback as l}from"react";import{observer as y}from"mobx-react-lite";import{uiState as e}from"../store";import h from"./Overlay";import k from"./Menu";import C from"./Search";import z from"./Exhibitor";import g from"./Booth/Booth";import O from"./Bookmarks";import b from"./Visited";import x from"./Language";import M from"./Category";import A from"./Wayfinding";import P from"./Filter";import E from"./Sessions";import R from"./Speakers";import j from"./Tours";import w from"./TourPoints";import F from"./RoutePlanner/RoutePlanner";import B from"./Event";import I from"./Speaker";import _ from"classnames";const T={full:"full",medium:"medium",small:"medium"},D=t=>T[t],L=y(({isGDPR:t,allowConsent:a})=>{const m=l(r=>{e.desiredOverlaySize=r},[]),n=l(r=>{e.setOverlayScrolled(r)},[]),c=D(e.overlaySize),d=e.selectedRoute?.from&&e.selectedRoute?.to,f=e.list.type==="search"&&!e.details?9:d?7:3,p=e.fullSizeOffset,u=S(()=>{const r={"-backdrop":e.canvasStarted&&e.shouldUseBackdrop&&!e.dimmed&&!e.galleryActive,"-no-transition":e.dimmed,"-gallery-active":e.galleryActive,collapsed:e.overlayCollapsed,kiosk:e.kiosk,start:e.overlayPosition==="left",bottom:e.overlayPosition!=="left",[e.overlaySize]:!0},i=_(r),s=e.overlayInterfaceClasses.join(" ");return s?`${i} ${s}`:i},[e.canvasStarted,e.shouldUseBackdrop,e.dimmed,e.galleryActive,e.overlayCollapsed,e.kiosk,e.inIdle,e.setKioskModeEnabled,e.overlayPosition,e.overlaySize,e.overlayInterfaceClasses]);return v(h,{open:e.isOverlayOpen,size:c,particles:e.isFeaturedExhibitorActive,className:u,mediumSizeMultiplier:f,fullSizeOffset:p,disableDrag:e.viewerMode&&e.menu,forceFull:e.viewerMode&&e.menu,onChangeSize:m,onScrollStateChange:n,children:[o(k,{isGDPR:t,allowConsent:a}),o(C,{}),o(z,{}),o(g,{}),o(O,{}),o(b,{}),o(x,{}),o(M,{}),o(A,{}),o(P,{}),o(E,{showFilters:!0}),o(R,{showFilters:!0}),o(j,{}),o(w,{}),o(F,{}),o(B,{}),o(I,{})]})});export default L;
1
+ import{jsx as o,jsxs as S}from"react/jsx-runtime";import{useMemo as l,useCallback as a}from"react";import{observer as h}from"mobx-react-lite";import{uiState as e}from"../store";import k from"./Overlay";import C from"./Menu";import z from"./Search";import g from"./Exhibitor";import O from"./Booth/Booth";import b from"./Bookmarks";import x from"./Visited";import M from"./Language";import R from"./Category";import A from"./Wayfinding";import P from"./Filter";import E from"./Sessions";import j from"./Speakers";import w from"./Tours";import F from"./TourPoints";import B from"./RoutePlanner/RoutePlanner";import I from"./Event";import _ from"./Speaker";import K from"classnames";const T={full:"full",medium:"medium",small:"medium"},D=t=>T[t],L=h(({isGDPR:t,allowConsent:m})=>{const n=a(r=>{e.desiredOverlaySize=r},[]),c=a(r=>{e.setOverlayScrolled(r)},[]),d=D(e.overlaySize),f=e.selectedRoute?.from&&e.selectedRoute?.to,p=e.list.type==="search"&&!e.details?9:f?7:3,u=e.fullSizeOffset,v=l(()=>[e.list.type,e.details],[e.list.type,e.details]),y=l(()=>{const r={"-backdrop":e.canvasStarted&&e.shouldUseBackdrop&&!e.dimmed&&!e.galleryActive,"-no-transition":e.dimmed,"-gallery-active":e.galleryActive,collapsed:e.overlayCollapsed,kiosk:e.kiosk,start:e.overlayPosition==="left",bottom:e.overlayPosition!=="left",[e.overlaySize]:!0},s=K(r),i=e.overlayInterfaceClasses.join(" ");return i?`${s} ${i}`:s},[e.canvasStarted,e.shouldUseBackdrop,e.dimmed,e.galleryActive,e.overlayCollapsed,e.kiosk,e.inIdle,e.setKioskModeEnabled,e.overlayPosition,e.overlaySize,e.overlayInterfaceClasses]);return S(k,{open:e.isOverlayOpen,size:d,particles:e.isFeaturedExhibitorActive,className:y,mediumSizeMultiplier:p,fullSizeOffset:u,disableDrag:e.viewerMode&&e.menu,forceFull:e.viewerMode&&e.menu,scrollResetKey:v,onChangeSize:n,onScrollStateChange:c,children:[o(C,{isGDPR:t,allowConsent:m}),o(z,{}),o(g,{}),o(O,{}),o(b,{}),o(x,{}),o(M,{}),o(R,{}),o(A,{}),o(P,{}),o(E,{showFilters:!0}),o(j,{showFilters:!0}),o(w,{}),o(F,{}),o(B,{}),o(I,{}),o(_,{})]})});export default L;
@@ -1 +1 @@
1
- import{jsx as i,jsxs as e}from"react/jsx-runtime";import d from"classnames";import s from"../Button";import"./PermissionNotice.scss";const l=({onClickAccept:o,onClickReject:r,rejectText:t,children:n,acceptText:c,title:m,className:a})=>e("div",{className:d("permission-notice",a),role:"dialog","aria-modal":"true","aria-labelledby":"permission-notice-title","aria-describedby":"permission-notice-description",children:[i("div",{className:"permission-notice__title",id:"permission-notice-title",children:m}),i("div",{className:"permission-notice__text",id:"permission-notice-description",children:n}),e("div",{className:"permission-notice__bottom",children:[i(s,{size:"md",onClick:o,children:c}),i(s,{size:"md",variant:"gray",onClick:r,children:t})]})]});export default l;
1
+ import{jsx as i,jsxs as e}from"react/jsx-runtime";import d from"classnames";import s from"../../ui/Button";import"./PermissionNotice.scss";const l=({onClickAccept:o,onClickReject:r,rejectText:t,children:n,acceptText:c,title:m,className:a})=>e("div",{className:d("permission-notice",a),role:"dialog","aria-modal":"true","aria-labelledby":"permission-notice-title","aria-describedby":"permission-notice-description",children:[i("div",{className:"permission-notice__title",id:"permission-notice-title",children:m}),i("div",{className:"permission-notice__text",id:"permission-notice-description",children:n}),e("div",{className:"permission-notice__bottom",children:[i(s,{size:"md",onClick:o,children:c}),i(s,{size:"md",variant:"gray",onClick:r,children:t})]})]});export default l;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{useEffect as c,useState as b}from"react";import{observer as m}from"mobx-react-lite";import g from"./Button";import{t as r}from"../utils/i18n";import"./RebookingNotes.scss";const h=({state:k="default",value:o,date:v,onClickSave:i})=>{const[a,n]=b(o);c(()=>{n(o)},[o]);const l=t=>n(t.target.value),_=()=>{n(o)},d=()=>{const t=a;i(t),n(t)};return s("div",{className:"rebooking-notes",children:[e("div",{className:"rebooking-notes__view-header",children:e("strong",{id:"note-label",children:r("Note")})}),s("div",{className:"rebooking-notes__edit",children:[e("div",{className:"rebooking-notes__val",children:e("textarea",{id:"rebooking-notes",name:"rebooking-notes",value:a,onChange:l,"aria-labelledby":"note-label"})}),e("div",{className:"rebooking-notes__buttons",children:e(g,{inline:!0,onClick:d,disabled:o===a,"aria-label":r("Save rebooking note"),children:r("Save note")})})]})]})};export default m(h);
1
+ import{jsx as e,jsxs as s}from"react/jsx-runtime";import{useEffect as c,useState as b}from"react";import{observer as m}from"mobx-react-lite";import g from"../ui/Button";import{t as r}from"../utils/i18n";import"./RebookingNotes.scss";const h=({state:k="default",value:o,date:v,onClickSave:i})=>{const[a,n]=b(o);c(()=>{n(o)},[o]);const l=t=>n(t.target.value),_=()=>{n(o)},d=()=>{const t=a;i(t),n(t)};return s("div",{className:"rebooking-notes",children:[e("div",{className:"rebooking-notes__view-header",children:e("strong",{id:"note-label",children:r("Note")})}),s("div",{className:"rebooking-notes__edit",children:[e("div",{className:"rebooking-notes__val",children:e("textarea",{id:"rebooking-notes",name:"rebooking-notes",value:a,onChange:l,"aria-labelledby":"note-label"})}),e("div",{className:"rebooking-notes__buttons",children:e(g,{inline:!0,onClick:d,disabled:o===a,"aria-label":r("Save rebooking note"),children:r("Save note")})})]})]})};export default m(h);
@@ -1 +1 @@
1
- import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useObserver as i}from"mobx-react-lite";import a,{uiState as n}from"../../store";import{Route as u}from"../../store/RouteStore";import{t as m}from"../../utils/i18n";import p from"./RoutePlannerHeader";import c from"../WayfindingFloorSelector";import f from"./RoutePlannerStartPoint";import d from"./RoutePlannerStopItem";import"./RoutePlanner.scss";function P(){return i(()=>{const t=a.routePlannerStore,r=t.items;return s("div",{className:"efp-planner",children:[r.length>0&&o(p,{}),r.length>0&&t.routeFloors.length>1&&t.currentRouteFloor&&o(c,{floors:t.routeFloors,current:t.currentRouteFloor,onClickFloor:e=>t.setRouteFloor(e)}),s("div",{className:"efp-planner__stops",children:[r.length>0&&o(f,{startPoint:t.startPoint,onSelectStartPoint:e=>t.setStartPoint(e)}),r.map((e,l)=>o(d,{item:e,isLast:l===r.length-1},`${e.type}-${e.entity.id}-${l}`))]}),r.length===0&&o("div",{className:"efp-planner__empty",children:m("Add stops to build a route")})]})})}function h(){return i(()=>{const t=n.details&&!(n.details instanceof u);return n.list.type==="route-planner"&&!n.menu&&!t?o(P,{}):null})}export default h;
1
+ import{jsx as r,jsxs as s}from"react/jsx-runtime";import{useObserver as a}from"mobx-react-lite";import i,{uiState as n}from"../../store";import{Route as u}from"../../store/RouteStore";import{t as m}from"../../utils/i18n";import p from"./RoutePlannerHeader";import f from"../WayfindingFloorSelectorContainer";import c from"./RoutePlannerStartPoint";import d from"./RoutePlannerStopItem";import"./RoutePlanner.scss";function P(){return a(()=>{const t=i.routePlannerStore,o=t.items;return s("div",{className:"efp-planner",children:[o.length>0&&r(p,{}),o.length>0&&t.routeFloors.length>1&&t.currentRouteFloor&&r(f,{floors:t.routeFloors,value:t.currentRouteFloor,onSelect:e=>t.setRouteFloor(e)}),s("div",{className:"efp-planner__stops",children:[o.length>0&&r(c,{startPoint:t.startPoint,onSelectStartPoint:e=>t.setStartPoint(e)}),o.map((e,l)=>r(d,{item:e,isLast:l===o.length-1},`${e.type}-${e.entity.id}-${l}`))]}),o.length===0&&r("div",{className:"efp-planner__empty",children:m("Add stops to build a route")})]})})}function h(){return a(()=>{const t=n.details&&!(n.details instanceof u);return n.list.type==="route-planner"&&!n.menu&&!t?r(P,{}):null})}export default h;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i}from"react/jsx-runtime";import{observer as l}from"mobx-react-lite";import o from"../../store";import d from"../Alert";import{t as c}from"../../utils/i18n";const p=l(()=>{const r=o.routePlannerStore,{from:n,stops:a,distance:s,travelTime:t}=r.subtitleParts;return i("div",{className:"efp-planner__header",children:[e("div",{className:"efp-planner__title",children:r.title}),i("div",{className:"efp-planner__details",children:[n&&e("span",{children:n}),e("span",{children:a}),s&&e("span",{children:s}),t&&e("span",{children:t})]}),r.excludedVisitedCount>0&&e("div",{className:"efp-planner__alert",children:e(d,{variant:"warning",inline:!0,showIcon:!1,size:"sm",children:c("{{count}} visited bookmarks excluded",{count:r.excludedVisitedCount})})})]})});export default p;
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import{observer as l}from"mobx-react-lite";import o from"../../store";import d from"../AlertContainer";import{t as c}from"../../utils/i18n";const p=l(()=>{const r=o.routePlannerStore,{from:n,stops:a,distance:s,travelTime:t}=r.subtitleParts;return i("div",{className:"efp-planner__header",children:[e("div",{className:"efp-planner__title",children:r.title}),i("div",{className:"efp-planner__details",children:[n&&e("span",{children:n}),e("span",{children:a}),s&&e("span",{children:s}),t&&e("span",{children:t})]}),r.excludedVisitedCount>0&&e("div",{className:"efp-planner__alert",children:e(d,{variant:"warning",inline:!0,showIcon:!1,size:"sm",children:c("{{count}} visited bookmarks excluded",{count:r.excludedVisitedCount})})})]})});export default p;
@@ -1 +1 @@
1
- import{jsx as o,Fragment as x,jsxs as l}from"react/jsx-runtime";import _ from"classnames";import u from"../Badge";import r from"../../store";const N={exhibitor:"icon-exhibitor-solid",event:"icon-event-solid",booth:"icon-booth-solid"},p=s=>/^\d+$/.test(s),y=({item:s,isLast:m})=>{const{type:n,entity:c,booth:t}=s,f=N[n]||"icon-booth-solid",h=c.name??"",i=(n==="exhibitor"||n==="event")&&t?t.name:null,e=t?.layer?.shortName??null,b=i||e,v=[h,i,e?p(e)?`Level ${e}`:e:null].filter(Boolean).join(", "),d=()=>{n==="exhibitor"?r.selectExhibitor(c):t&&r.selectBooth(t),r.showMap()};return l("div",{className:_("efp-planner__stop",{"is-last":m}),children:[o("div",{className:"efp-planner__stop-timeline",children:o("div",{className:"efp-planner__stop-icon",style:{"--dot-color":`var(--color-${n})`},children:o("i",{className:f})})}),l("div",{className:"efp-planner__stop-content",role:"button",tabIndex:0,"aria-label":v,onClick:d,onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),d())},children:[o("strong",{children:h}),b&&l(u,{variant:"location",size:"xs",inline:!0,noMargins:!0,children:[i&&o("span",{children:i}),e&&l("span",{children:[p(e)&&o(x,{children:"Level\xA0"}),e]})]})]})]})};export default y;
1
+ import{jsx as o,Fragment as x,jsxs as l}from"react/jsx-runtime";import _ from"classnames";import u from"../../ui/Badge";import r from"../../store";const N={exhibitor:"icon-exhibitor-solid",event:"icon-event-solid",booth:"icon-booth-solid"},p=s=>/^\d+$/.test(s),y=({item:s,isLast:m})=>{const{type:n,entity:c,booth:t}=s,f=N[n]||"icon-booth-solid",h=c.name??"",i=(n==="exhibitor"||n==="event")&&t?t.name:null,e=t?.layer?.shortName??null,b=i||e,v=[h,i,e?p(e)?`Level ${e}`:e:null].filter(Boolean).join(", "),d=()=>{n==="exhibitor"?r.selectExhibitor(c):t&&r.selectBooth(t),r.showMap()};return l("div",{className:_("efp-planner__stop",{"is-last":m}),children:[o("div",{className:"efp-planner__stop-timeline",children:o("div",{className:"efp-planner__stop-icon",style:{"--dot-color":`var(--color-${n})`},children:o("i",{className:f})})}),l("div",{className:"efp-planner__stop-content",role:"button",tabIndex:0,"aria-label":v,onClick:d,onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),d())},children:[o("strong",{children:h}),b&&l(u,{variant:"location",size:"xs",inline:!0,noMargins:!0,children:[i&&o("span",{children:i}),e&&l("span",{children:[p(e)&&o(x,{children:"Level\xA0"}),e]})]})]})]})};export default y;
@@ -1 +1 @@
1
- import{jsx as t,jsxs as i}from"react/jsx-runtime";import{useState as v}from"react";import s from"classnames";import{observer as C}from"mobx-react-lite";import"./SidebarActions.scss";import{t as e}from"../utils/i18n";import S from"./CheckboxButton";const x=C(({className:n,inBookmark:a=!1,visited:o=!1,showVisited:l=!1,showBookmark:c=!0,showDirections:m=!0,showRoutePlanner:u=!1,showShare:d=!0,onClickBookmark:p,onClickVisited:b,onClickDirections:f,onClickRoutePlanner:h,onClickShare:k})=>{const[N,r]=v(!1),B=()=>{r(!0),p(),setTimeout(()=>{r(!1)},320)};return i("div",{className:s("efp-sidebarActions",n),role:"toolbar","aria-label":e("Sidebar Actions"),children:[m&&i("button",{type:"button",className:"efp-actionButton efp-actionButton--directions",onClick:f,title:e("Directions"),"aria-label":e("Directions"),children:[t("i",{className:"icon-directions","aria-hidden":"true"}),e("Directions")]}),l&&t(S,{className:"efp-visited-btn","aria-label":o?e("Visited"):e("Not visited"),"aria-pressed":o,checked:o,label:e("Visited"),onClick:b??(()=>{})}),c&&t("button",{type:"button",className:s("efp-actionButton","efp-actionButton--bookmark",{isActive:a,animate:N}),title:a?e("Remove from Bookmarks"):e("Save to Bookmarks"),"aria-label":a?e("Remove from Bookmarks"):e("Save to Bookmarks"),"aria-pressed":a,onClick:B,children:t("i",{className:a?"icon-bookmark-solid":"icon-bookmark","aria-hidden":"true"})}),u&&i("button",{type:"button",className:"efp-actionButton efp-actionButton--route-planner",title:e("Route planner"),"aria-label":e("Route planner"),onClick:h,children:[t("i",{className:"icon-route-solid","aria-hidden":"true"}),e("Route planner")]}),d&&t("button",{type:"button",className:"efp-actionButton efp-actionButton--share",title:e("Share"),"aria-label":e("Share"),onClick:k,children:t("i",{className:"icon-share","aria-hidden":"true"})})]})});export default x;
1
+ import{jsx as t,jsxs as i}from"react/jsx-runtime";import{useState as v}from"react";import s from"classnames";import{observer as C}from"mobx-react-lite";import"./SidebarActions.scss";import{t as e}from"../utils/i18n";import S from"../ui/CheckboxButton";const x=C(({className:n,inBookmark:a=!1,visited:o=!1,showVisited:l=!1,showBookmark:c=!0,showDirections:m=!0,showRoutePlanner:u=!1,showShare:d=!0,onClickBookmark:p,onClickVisited:b,onClickDirections:f,onClickRoutePlanner:h,onClickShare:k})=>{const[N,r]=v(!1),B=()=>{r(!0),p(),setTimeout(()=>{r(!1)},320)};return i("div",{className:s("efp-sidebarActions",n),role:"toolbar","aria-label":e("Sidebar Actions"),children:[m&&i("button",{type:"button",className:"efp-actionButton efp-actionButton--directions",onClick:f,title:e("Directions"),"aria-label":e("Directions"),children:[t("i",{className:"icon-directions","aria-hidden":"true"}),e("Directions")]}),l&&t(S,{className:"efp-visited-btn","aria-label":o?e("Visited"):e("Not visited"),"aria-pressed":o,checked:o,label:e("Visited"),onClick:b??(()=>{})}),c&&t("button",{type:"button",className:s("efp-actionButton","efp-actionButton--bookmark",{isActive:a,animate:N}),title:a?e("Remove from Bookmarks"):e("Save to Bookmarks"),"aria-label":a?e("Remove from Bookmarks"):e("Save to Bookmarks"),"aria-pressed":a,onClick:B,children:t("i",{className:a?"icon-bookmark-solid":"icon-bookmark","aria-hidden":"true"})}),u&&i("button",{type:"button",className:"efp-actionButton efp-actionButton--route-planner",title:e("Route planner"),"aria-label":e("Route planner"),onClick:h,children:[t("i",{className:"icon-route-solid","aria-hidden":"true"}),e("Route planner")]}),d&&t("button",{type:"button",className:"efp-actionButton efp-actionButton--share",title:e("Share"),"aria-label":e("Share"),onClick:k,children:t("i",{className:"icon-share","aria-hidden":"true"})})]})});export default x;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import x from"../data";import"./SimpleRow.scss";import v from"./HighlightText";const w=({line1:i,line2:a,lineEnd:s,slug:t,style:n,className:m,active:c=!1,onClick:p,onMouseOver:o,onMouseOut:l,highlight:d=!0})=>{return r("a",{href:"?"+encodeURIComponent(t),onClick:f,className:"efp-simple-row"+(c?" active":"")+" "+m,onMouseOver:u,onMouseOut:h,style:{marginLeft:x.isRebooking?"5px":null,...n},children:[r("div",{className:"efp-simple-row__col",children:[e("div",{className:"efp-simple-row__main",dir:"auto",children:d?e(v,{text:i}):i}),e("div",{className:"efp-simple-row__sub",dir:"auto",children:a})]}),s&&e("div",{className:"efp-simple-row__end",children:s})]});function f(_){_.preventDefault(),p()}function u(){o&&o()}function h(){l&&l()}};export default w;
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import x from"../data";import"./SimpleRow.scss";import v from"./HighlightTextContainer";const w=({line1:i,line2:l,lineEnd:o,slug:t,style:n,className:m,active:c=!1,onClick:p,onMouseOver:s,onMouseOut:r,highlight:d=!0})=>{return a("a",{href:"?"+encodeURIComponent(t),onClick:f,className:"efp-simple-row"+(c?" active":"")+" "+m,onMouseOver:u,onMouseOut:h,style:{marginLeft:x.isRebooking?"5px":null,...n},children:[a("div",{className:"efp-simple-row__col",children:[e("div",{className:"efp-simple-row__main",dir:"auto",children:d?e(v,{text:i}):i}),e("div",{className:"efp-simple-row__sub",dir:"auto",children:l})]}),o&&e("div",{className:"efp-simple-row__end",children:o})]});function f(_){_.preventDefault(),p()}function u(){s&&s()}function h(){r&&r()}};export default w;
@@ -1 +1 @@
1
- import{jsx as r,jsxs as S}from"react/jsx-runtime";import{useRef as y,useMemo as b}from"react";import{useObserver as T}from"mobx-react-lite";import{observer as p}from"mobx-react-lite";import t,{uiState as m}from"../store";import{ShortcutsToolbar as g}from"./Shortcuts";import{t as u}from"../utils/i18n";import v from"fuse.js";import x from"./EntityItem";import"./Speakers.scss";const j=p(({showFilters:i=!0})=>{const d=y(),n=t.speakerStore.speakers,{filters:{selectedCompanies:{value:a},selectedJobTitles:{value:l}}}=t.speakerFilterStore.state,c=b(()=>{let e=n;a.length>0&&(e=e.filter(s=>a.includes(s.company))),l.length>0&&(e=e.filter(s=>l.includes(s.jobTitle)));const o=t.searchStore.searchText;if(o){const s={keys:["name","company","jobTitle"],threshold:.3,ignoreLocation:!0,includeScore:!0};e=new v(e,s).search(o).map(k=>k.item)}return e},[n,t.searchStore.searchText,a,l,t.speakerFilterStore.state]);return T(()=>S("div",{className:"efp-speakers-content",children:[i&&r(g,{interfaceId:"speakers"}),c.length>0?r("div",{className:"efp-speakers-list",ref:d,children:c.map(e=>{const o=t.speakerStore.getEventsBySpeaker(e.id),s=[];return e.company&&s.push({type:"speaker",text:e.jobTitle}),r(x,{id:e.id.toString(),type:"speaker",url:`?${e.slug}`,title:e.name,subtitle:e.company,image:e.photoFile,itemsCount:o.length,additionalInfo:s,bookmarked:e.bookmarked,onClick:(f,h)=>t.selectSpeaker(e,!0)},e.id)})}):r("div",{className:"list-empty",children:t.speakerFilterStore.activeFiltersCount>0||t.searchStore.searchText?u("No speakers found. Try adjusting your filters."):u("No speakers found")})]}))}),F=p(i=>m.list.type!=="speakers"||m.details?null:r(j,{...i}));export default F;
1
+ import{jsx as r,jsxs as S}from"react/jsx-runtime";import{useRef as y,useMemo as b}from"react";import{useObserver as T}from"mobx-react-lite";import{observer as p}from"mobx-react-lite";import t,{uiState as m}from"../store";import{ShortcutsToolbar as g}from"./Shortcuts";import{t as u}from"../utils/i18n";import v from"fuse.js";import x from"./EntityItemContainer";import"./Speakers.scss";const j=p(({showFilters:i=!0})=>{const d=y(),l=t.speakerStore.speakers,{filters:{selectedCompanies:{value:a},selectedJobTitles:{value:n}}}=t.speakerFilterStore.state,c=b(()=>{let e=l;a.length>0&&(e=e.filter(s=>a.includes(s.company))),n.length>0&&(e=e.filter(s=>n.includes(s.jobTitle)));const o=t.searchStore.searchText;if(o){const s={keys:["name","company","jobTitle"],threshold:.3,ignoreLocation:!0,includeScore:!0};e=new v(e,s).search(o).map(k=>k.item)}return e},[l,t.searchStore.searchText,a,n,t.speakerFilterStore.state]);return T(()=>S("div",{className:"efp-speakers-content",children:[i&&r(g,{interfaceId:"speakers"}),c.length>0?r("div",{className:"efp-speakers-list",ref:d,children:c.map(e=>{const o=t.speakerStore.getEventsBySpeaker(e.id),s=[];return e.company&&s.push({type:"speaker",text:e.jobTitle}),r(x,{id:e.id.toString(),type:"speaker",url:`?${e.slug}`,title:e.name,subtitle:e.company,image:e.photoFile,itemsCount:o.length,additionalInfo:s,bookmarked:e.bookmarked,onClick:(f,h)=>t.selectSpeaker(e,!0)},e.id)})}):r("div",{className:"list-empty",children:t.speakerFilterStore.activeFiltersCount>0||t.searchStore.searchText?u("No speakers found. Try adjusting your filters."):u("No speakers found")})]}))}),C=p(i=>m.list.type!=="speakers"||m.details?null:r(j,{...i}));export default C;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as m}from"react/jsx-runtime";import{observer as a}from"mobx-react-lite";import{t as d}from"../utils/i18n";import{HighlightText as o}from"./";import"./ToursList.scss";const c=a(({tours:s,onTourClick:r})=>{const n=(i,t,l)=>{r&&r(i,t,l)};return s.length===0?e("div",{className:"efp-tours-empty",children:e("p",{children:d("No Guided Tours found")})}):e("div",{className:"efp-tours-list",children:s.map(i=>e("div",{className:"efp-tour-item",onClick:()=>n(i,i.name,i.description),role:"button",tabIndex:0,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),n(i,i.name,i.description))},children:m("div",{className:"efp-tour-item__body",children:[e("div",{className:"efp-tour-item__left",children:e("div",{className:"efp-tour-item__icon",children:e("i",{className:"icon-route-solid"})})}),e("div",{className:"efp-tour-item__right",children:e("div",{className:"efp-tour-item__content",children:e("div",{className:"efp-tour-item__title",children:e(o,{text:i.name})})})})]})},i.id))})});export default c;
1
+ import{jsx as e,jsxs as l}from"react/jsx-runtime";import{observer as m}from"mobx-react-lite";import{t as o}from"../utils/i18n";import d from"./HighlightTextContainer";import"./ToursList.scss";const c=m(({tours:s,onTourClick:r})=>{const n=(i,t,a)=>{r&&r(i,t,a)};return s.length===0?e("div",{className:"efp-tours-empty",children:e("p",{children:o("No Guided Tours found")})}):e("div",{className:"efp-tours-list",children:s.map(i=>e("div",{className:"efp-tour-item",onClick:()=>n(i,i.name,i.description),role:"button",tabIndex:0,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),n(i,i.name,i.description))},children:l("div",{className:"efp-tour-item__body",children:[e("div",{className:"efp-tour-item__left",children:e("div",{className:"efp-tour-item__icon",children:e("i",{className:"icon-route-solid"})})}),e("div",{className:"efp-tour-item__right",children:e("div",{className:"efp-tour-item__content",children:e("div",{className:"efp-tour-item__title",children:e(d,{text:i.name})})})})]})},i.id))})});export default c;
@@ -1 +1 @@
1
- import{jsx as f,jsxs as U}from"react/jsx-runtime";import x from"classnames";import{useObserver as C}from"mobx-react-lite";import{useEffect as m,useMemo as B,useState as V,useRef as _}from"react";import z from"../data";import{getLayerSvg as $}from"../data/svg";import r,{boothStore as F,exhibitorStore as K,uiState as e}from"../store";import{RegularBooth as L}from"../store/BoothStore";import{Route as S}from"../store/RouteStore";import I from"../tools/settings";import{t as y}from"../utils/i18n";import Q from"./EntityList";import X from"./WayfindingTemplate";import{calcSpeed as q}from"../utils/calcSpeed";import{calcTravelTime as G}from"../utils/calcTravelTime";import{DEFAULT_UNITS as H}from"../constants";import"./Wayfinding.scss";function J(){const k=_(null),a=B(()=>r.routeStore.pathLayers.map(i=>({id:i.id,name:i.layer?.shortName,description:i.layer?.description,basePriority:i.layer?.basePriority??0})),[r.routeStore.pathLayers]),[b,R]=V();m(()=>{b||R(a[0])},[r.routeStore.pathLayers,a]),m(()=>{const i=a.find(u=>u.description?.toLowerCase()===r.routeStore.currentRouteLayer?.description?.toLowerCase());i&&R(i)},[r.routeStore.currentRouteLayer,a]),m(()=>{const i=e.selectedRoute;if(!i){e.setIsMultiPointRoute(!1);return}const c=(i.waypoints?.length||0)>0;e.setIsMultiPointRoute(c)},[e.selectedRoute]);const T=()=>{const{from:i,to:u}=e.selectedRoute;return!!(i&&u)},N=()=>e.overlaySize==="full",D=()=>!!(T()&&!N()),g=()=>{const i=e.selectedRoute;return i?(i.waypoints?.length||0)>0?"multi":"simple":"none"},M=()=>e.routeTitle;return m(()=>{g()==="multi"&&e.selectedRoute},[e.selectedRoute]),C(()=>{const i=g(),u=M();if(i==="multi")return U("div",{className:x("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:[e.routeDescription&&f("div",{className:"efp-wayfinding-description",children:e.routeDescription}),f(Q,{updatedScrollableRef:k})]});const c=[],p=()=>r.routeStore.defaultFrom?F.booths.concat([r.routeStore.defaultFrom]):F.booths,A=p().filter(t=>t instanceof L),E=p().filter(t=>!(t instanceof L)),w=()=>{let t=[];return K.exhibitors.forEach(o=>{c.push(...o.booths.map(s=>s.id)),t.push(...o.booths.map(s=>({value:s.id.toString(),label:o.name+" - "+s.fullName})))}),E.filter(o=>c.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t=t.sort((o,s)=>o.label.localeCompare(s.label,void 0,{sensitivity:"base"})),A.filter(o=>c.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t},v=(t,o=!0)=>{const s=p().filter(d=>d.id.toString()===t)[0],{from:n,to:l}=e.selectedRoute;o?r.routeStore.selectRoute(new S(s||null,l)):r.routeStore.selectRoute(new S(n,s||null))},O=t=>{const o=[],s=$().getAttribute("units")||H,n=G(t,q(s));let l=new Date;l.setMinutes(l.getMinutes()+n/60);const d=l.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return o.push({title:y("Travel time"),text:n<60?"< 1 min":`~ ${Math.round(n/60)} min`},{title:y("Distance"),text:Math.round(t)+` ${s}`},{title:y("Est arrival"),text:d}),o},W=()=>{const{from:t,to:o}=e.selectedRoute;r.routeStore.selectRoute(new S(o,t))},P=e.selectedRoute?.from&&e.selectedRoute?.to&&!r.routeStore.routeLines.length;return f("div",{className:x("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:f(X,{showForm:!D(),showInfo:!!(!z.hideWayInformation&&I.EXPO!=="bloomberg"&&e.selectedRoute?.from&&e.selectedRoute?.to),floors:a,currentFloor:b,onClickFloor:t=>{const o=r.routeStore.pathLayers.find(s=>s.id===t.id);o?.layer&&r.layerStore.updateVisibility(o.layer,!0)},routeFound:!P,options:w(),fromValue:e.selectedRoute?.from?.id?.toString()||"",toValue:e.selectedRoute?.to?.id?.toString()||"",onChangeFrom:t=>v(t,!0),onChangeTo:t=>v(t,!1),onSwitch:W,infoItems:O(r.routeStore.routeDistance),infoAccessible:r.routeStore.onlyAccessible,showAccessible:r.routeStore.showAccessible,onAccessibleCheck:t=>r.routeStore.setOnlyAccessible(t),onClickInfo:()=>r.showOverlay(),routeUrl:e.routeQRCodeUrl,isKiosk:e.kiosk,showDetailsIcon:e.showRouteInstantly,onDetailsIconClick:()=>{const t=r.routeStore.defaultFrom?.id,{from:o,to:s}=e.selectedRoute||{},n=[s,o].find(l=>l?.id!==t);if(n){const d=w().find(h=>h.value===n.id.toString()),j=n.exhibitors.find(h=>d.label.includes(h.name));e.details=j||n}}})})})}function Y(){return C(()=>I.wayfinding&&!e.menu&&e.selectedRoute&&e.list.type!=="route-planner"&&f(J,{}))}export default Y;
1
+ import{jsx as m,jsxs as U}from"react/jsx-runtime";import F from"classnames";import{useObserver as L}from"mobx-react-lite";import{useEffect as h,useMemo as B,useState as V,useRef as _}from"react";import z from"../data";import{getLayerSvg as $}from"../data/svg";import r,{boothStore as I,exhibitorStore as K,uiState as e}from"../store";import{RegularBooth as k}from"../store/BoothStore";import{Route as R}from"../store/RouteStore";import T from"../tools/settings";import{t as g}from"../utils/i18n";import Q from"./EntityList";import X from"./WayfindingTemplate";import{calcSpeed as q}from"../utils/calcSpeed";import{calcTravelTime as G}from"../utils/calcTravelTime";import{DEFAULT_UNITS as H}from"../constants";import"./Wayfinding.scss";function J(){const N=_(null),d=B(()=>{const i=r.routeStore.pathLayers;return i.map((n,c)=>{const a=i[c+1],y=n.layer?.basePriority??0,S=a?.layer?.basePriority??0,p=a?S<y?"up":"down":void 0;return{id:n.id,name:n.layer?.shortName,description:n.layer?.description,directionToNext:p}})},[r.routeStore.pathLayers]),[w,x]=V();h(()=>{w||x(d[0])},[r.routeStore.pathLayers,d]),h(()=>{const i=d.find(n=>n.description?.toLowerCase()===r.routeStore.currentRouteLayer?.description?.toLowerCase());i&&x(i)},[r.routeStore.currentRouteLayer,d]),h(()=>{const i=e.selectedRoute;if(!i){e.setIsMultiPointRoute(!1);return}const c=(i.waypoints?.length||0)>0;e.setIsMultiPointRoute(c)},[e.selectedRoute]);const D=()=>{const{from:i,to:n}=e.selectedRoute;return!!(i&&n)},M=()=>e.overlaySize==="full",A=()=>!!(D()&&!M()),v=()=>{const i=e.selectedRoute;return i?(i.waypoints?.length||0)>0?"multi":"simple":"none"},E=()=>e.routeTitle;return h(()=>{v()==="multi"&&e.selectedRoute},[e.selectedRoute]),L(()=>{const i=v(),n=E();if(i==="multi")return U("div",{className:F("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:[e.routeDescription&&m("div",{className:"efp-wayfinding-description",children:e.routeDescription}),m(Q,{updatedScrollableRef:N})]});const c=[],a=()=>r.routeStore.defaultFrom?I.booths.concat([r.routeStore.defaultFrom]):I.booths,y=a().filter(t=>t instanceof k),S=a().filter(t=>!(t instanceof k)),p=()=>{let t=[];return K.exhibitors.forEach(o=>{c.push(...o.booths.map(s=>s.id)),t.push(...o.booths.map(s=>({value:s.id.toString(),label:o.name+" - "+s.fullName})))}),S.filter(o=>c.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t=t.sort((o,s)=>o.label.localeCompare(s.label,void 0,{sensitivity:"base"})),y.filter(o=>c.indexOf(o.id)===-1).forEach(o=>{t.push({value:o.id.toString(),label:o.fullName})}),t},C=(t,o=!0)=>{const s=a().filter(f=>f.id.toString()===t)[0],{from:l,to:u}=e.selectedRoute;o?r.routeStore.selectRoute(new R(s||null,u)):r.routeStore.selectRoute(new R(l,s||null))},O=t=>{const o=[],s=$().getAttribute("units")||H,l=G(t,q(s));let u=new Date;u.setMinutes(u.getMinutes()+l/60);const f=u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return o.push({title:g("Travel time"),text:l<60?"< 1 min":`~ ${Math.round(l/60)} min`},{title:g("Distance"),text:Math.round(t)+` ${s}`},{title:g("Est arrival"),text:f}),o},P=()=>{const{from:t,to:o}=e.selectedRoute;r.routeStore.selectRoute(new R(o,t))},W=e.selectedRoute?.from&&e.selectedRoute?.to&&!r.routeStore.routeLines.length;return m("div",{className:F("main-wayfinding",{hidden:e.kiosk&&e.selectedRoute?.from&&e.selectedRoute?.to}),children:m(X,{showForm:!A(),showInfo:!!(!z.hideWayInformation&&T.EXPO!=="bloomberg"&&e.selectedRoute?.from&&e.selectedRoute?.to),floors:d,currentFloor:w,onClickFloor:t=>{const o=r.routeStore.pathLayers.find(s=>s.id===t.id);o?.layer&&r.layerStore.updateVisibility(o.layer,!0)},routeFound:!W,options:p(),fromValue:e.selectedRoute?.from?.id?.toString()||"",toValue:e.selectedRoute?.to?.id?.toString()||"",onChangeFrom:t=>C(t,!0),onChangeTo:t=>C(t,!1),onSwitch:P,infoItems:O(r.routeStore.routeDistance),infoAccessible:r.routeStore.onlyAccessible,showAccessible:r.routeStore.showAccessible,onAccessibleCheck:t=>r.routeStore.setOnlyAccessible(t),onClickInfo:()=>r.showOverlay(),routeUrl:e.routeQRCodeUrl,isKiosk:e.kiosk,showDetailsIcon:e.showRouteInstantly,onDetailsIconClick:()=>{const t=r.routeStore.defaultFrom?.id,{from:o,to:s}=e.selectedRoute||{},l=[s,o].find(u=>u?.id!==t);if(l){const f=p().find(b=>b.value===l.id.toString()),j=l.exhibitors.find(b=>f.label.includes(b.name));e.details=j||l}}})})})}function Y(){return L(()=>T.wayfinding&&!e.menu&&e.selectedRoute&&e.list.type!=="route-planner"&&m(J,{}))}export default Y;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { WayfindingFloorSelectorProps } from "../ui/WayfindingFloorSelector";
3
+ declare const WayfindingFloorSelectorContainer: React.FC<WayfindingFloorSelectorProps>;
4
+ export default WayfindingFloorSelectorContainer;
5
+ //# sourceMappingURL=WayfindingFloorSelectorContainer.d.ts.map
@@ -0,0 +1 @@
1
+ import{jsx as n}from"react/jsx-runtime";import l from"../ui/WayfindingFloorSelector";import{t as e}from"../utils/i18n";const m=({floors:r,floorSelectionLabel:a,...t})=>{const i=r.map(o=>({...o,ariaLabel:o.ariaLabel??o.description??e("Floor {{name}}",{name:o.name})}));return n(l,{...t,floors:i,floorSelectionLabel:a??e("Floor selection")})};export default m;
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
2
  import type { AutocompleteOptionObject } from "./Autocomplete";
3
+ import type { WayfindingFloorSelectorProps } from "../ui/WayfindingFloorSelector";
3
4
  import "./WayfindingTemplate.scss";
4
5
  import type { WayInformationItem } from "./WayInformation";
5
6
  export interface WayfindingTemplateProps {
6
- options: string[] | (AutocompleteOptionObject | any)[];
7
+ options: string[] | AutocompleteOptionObject[];
7
8
  fromValue?: string;
8
9
  toValue?: string;
9
10
  showForm?: boolean;
@@ -12,11 +13,8 @@ export interface WayfindingTemplateProps {
12
13
  onlyAccessible?: boolean;
13
14
  routeFound?: boolean;
14
15
  infoItems?: WayInformationItem[];
15
- infoAccessible?: boolean;
16
- floors?: {
17
- id: number;
18
- name: string;
19
- }[];
16
+ infoAccessible: boolean;
17
+ floors?: WayfindingFloorSelectorProps["floors"];
20
18
  currentFloor?: {
21
19
  id: number;
22
20
  name: string;
@@ -35,6 +33,6 @@ export interface WayfindingTemplateProps {
35
33
  showDetailsIcon?: boolean;
36
34
  onDetailsIconClick?: () => void;
37
35
  }
38
- declare const _default: React.FunctionComponent<WayfindingTemplateProps>;
39
- export default _default;
36
+ declare const WayfindingTemplate: React.FC<WayfindingTemplateProps>;
37
+ export default WayfindingTemplate;
40
38
  //# sourceMappingURL=WayfindingTemplate.d.ts.map
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as R}from"react/jsx-runtime";import{observer as M}from"mobx-react-lite";import Z from"classnames";import{t as l}from"../utils/i18n";import t from"./Autocomplete";import B from"./ToggleSwitch";import E from"./WayfindingFloorSelector";import"./WayfindingTemplate.scss";import j from"./WayInformation";import k from"./RouteQR";const D=({options:n=[],fromValue:s="",toValue:d="",showForm:o=!0,showAccessible:c=!1,showInfo:f=!1,routeFound:m=!1,infoItems:h=[],infoAccessible:a,floors:r,currentFloor:p,routeUrl:C,isKiosk:g,onChangeFrom:w,onChangeTo:v,onSwitch:y,onClickInfo:_,onClickFloor:u,onAccessibleCheck:F,showDetailsIcon:N,onDetailsIconClick:x})=>i("div",{className:Z("efp-wayfinding",{isCollapsed:!o}),children:[o&&i("div",{className:"efp-wayfinding__top",children:[i("div",{className:"efp-wayfindingForm",children:[i("div",{className:"efp-wayfindingForm__icons",children:[e("div",{className:"efp-wayfindingForm__from",children:i("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{d:"M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9Z",fill:"white"}),e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 13.375C11.4162 13.375 13.375 11.4162 13.375 9C13.375 6.58375 11.4162 4.625 9 4.625C6.58375 4.625 4.625 6.58375 4.625 9C4.625 11.4162 6.58375 13.375 9 13.375ZM9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16Z",fill:"#30AFEB"})]})}),e("div",{className:"efp-wayfindingForm__to",children:i("svg",{width:"18",height:"25",viewBox:"0 0 18 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 24.1571L10.5475 22.267C11.0023 21.7114 11.4571 21.1656 11.9041 20.6291C13.2939 18.9611 14.6088 17.3829 15.6182 15.8814C16.988 13.8436 18 11.668 18 9.125C18 4.09562 14.0267 0 9 0C3.97332 0 0 4.09562 0 9.125C0 11.668 1.01202 13.8436 2.38182 15.8814C3.39116 17.3829 4.70613 18.9611 6.09588 20.6291C6.54291 21.1656 6.99767 21.7114 7.45249 22.267L9 24.1571Z",fill:"white"}),e("path",{d:"M9 2C5.11111 2 2 5.16667 2 9.125C2 13.0833 5.11111 16.25 9 21C12.8889 16.25 16 13.0833 16 9.125C16 5.16667 12.8889 2 9 2ZM9 6.75C10.2911 6.75 11.3333 7.81083 11.3333 9.125C11.3333 10.4392 10.2911 11.5 9 11.5C7.70889 11.5 6.66667 10.4392 6.66667 9.125C6.66667 7.81083 7.70889 6.75 9 6.75Z",fill:"#FF9E2C"})]})}),e("div",{className:"efp-wayfindingForm__dots",children:i("svg",{width:"4",height:"18",viewBox:"0 0 4 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("circle",{cx:"2",cy:"2",r:"2",fill:"#DCDFE9"}),e("circle",{cx:"2",cy:"16",r:"2",fill:"#DCDFE9"})]})})]}),i("div",{className:"efp-wayfindingForm__controls",children:[e("div",{style:{marginBottom:10},children:e(t,{placeholder:l("Choose starting point"),options:n,value:s,onChange:w})}),e("div",{children:e(t,{placeholder:l("Choose destination point"),options:n,value:d,onChange:v})})]}),i("div",{className:"efp-wayfindingForm__actions",children:[e("button",{type:"button",className:"efp-wayfindingForm__switch",onClick:y}),N&&e("button",{type:"button",className:"efp-wayfindingForm__details",onClick:x})]})]}),c&&e("div",{className:"efp-wayfindingForm__accessible",children:e(B,{name:"onlyAccessible",label:l("Accessible"),value:a,onChange:b=>F(b)})})]}),r.length>1&&e(E,{floors:r,current:p,onClickFloor:u}),f&&e("div",{className:"efp-wayfindingInfo",children:m?i(R,{children:[e(j,{items:h,accessible:a,onClick:_}),g&&e(k,{url:C})]}):e("div",{className:"efp-wayfindingError",children:l("Route not found")})})]});export default M(D);
1
+ import{jsx as e,jsxs as i,Fragment as R}from"react/jsx-runtime";import M from"classnames";import{t as l}from"../utils/i18n";import s from"./Autocomplete";import Z from"../ui/ToggleSwitch";import B from"./WayfindingFloorSelectorContainer";import"./WayfindingTemplate.scss";import E from"./WayInformation";import j from"./RouteQR";const D=({options:n=[],fromValue:d="",toValue:r="",showForm:o=!0,showAccessible:c=!1,showInfo:f=!1,routeFound:m=!1,infoItems:h=[],infoAccessible:a,floors:t=[],currentFloor:p,routeUrl:C,isKiosk:g,onChangeFrom:w,onChangeTo:v,onSwitch:y,onClickInfo:_,onClickFloor:u,onAccessibleCheck:F,showDetailsIcon:N,onDetailsIconClick:x})=>i("div",{className:M("efp-wayfinding",{isCollapsed:!o}),children:[o&&i("div",{className:"efp-wayfinding__top",children:[i("div",{className:"efp-wayfindingForm",children:[i("div",{className:"efp-wayfindingForm__icons",children:[e("div",{className:"efp-wayfindingForm__from",children:i("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{d:"M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9Z",fill:"white"}),e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 13.375C11.4162 13.375 13.375 11.4162 13.375 9C13.375 6.58375 11.4162 4.625 9 4.625C6.58375 4.625 4.625 6.58375 4.625 9C4.625 11.4162 6.58375 13.375 9 13.375ZM9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16Z",fill:"#30AFEB"})]})}),e("div",{className:"efp-wayfindingForm__to",children:i("svg",{width:"18",height:"25",viewBox:"0 0 18 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 24.1571L10.5475 22.267C11.0023 21.7114 11.4571 21.1656 11.9041 20.6291C13.2939 18.9611 14.6088 17.3829 15.6182 15.8814C16.988 13.8436 18 11.668 18 9.125C18 4.09562 14.0267 0 9 0C3.97332 0 0 4.09562 0 9.125C0 11.668 1.01202 13.8436 2.38182 15.8814C3.39116 17.3829 4.70613 18.9611 6.09588 20.6291C6.54291 21.1656 6.99767 21.7114 7.45249 22.267L9 24.1571Z",fill:"white"}),e("path",{d:"M9 2C5.11111 2 2 5.16667 2 9.125C2 13.0833 5.11111 16.25 9 21C12.8889 16.25 16 13.0833 16 9.125C16 5.16667 12.8889 2 9 2ZM9 6.75C10.2911 6.75 11.3333 7.81083 11.3333 9.125C11.3333 10.4392 10.2911 11.5 9 11.5C7.70889 11.5 6.66667 10.4392 6.66667 9.125C6.66667 7.81083 7.70889 6.75 9 6.75Z",fill:"#FF9E2C"})]})}),e("div",{className:"efp-wayfindingForm__dots",children:i("svg",{width:"4",height:"18",viewBox:"0 0 4 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("circle",{cx:"2",cy:"2",r:"2",fill:"#DCDFE9"}),e("circle",{cx:"2",cy:"16",r:"2",fill:"#DCDFE9"})]})})]}),i("div",{className:"efp-wayfindingForm__controls",children:[e("div",{style:{marginBottom:10},children:e(s,{placeholder:l("Choose starting point"),options:n,value:d,onChange:w})}),e("div",{children:e(s,{placeholder:l("Choose destination point"),options:n,value:r,onChange:v})})]}),i("div",{className:"efp-wayfindingForm__actions",children:[e("button",{type:"button",className:"efp-wayfindingForm__switch",onClick:y}),N&&e("button",{type:"button",className:"efp-wayfindingForm__details",onClick:x})]})]}),c&&e("div",{className:"efp-wayfindingForm__accessible",children:e(Z,{name:"onlyAccessible",label:l("Accessible"),value:a,onChange:b=>F(b)})})]}),t.length>1&&e(B,{floors:t,value:p,onSelect:u}),f&&e("div",{className:"efp-wayfindingInfo",children:m?i(R,{children:[e(E,{items:h,accessible:a,onClick:_}),g&&e(j,{url:C})]}):e("div",{className:"efp-wayfindingError",children:l("Route not found")})})]});export default D;
@@ -3,10 +3,10 @@ export { default as Sessions } from "./Sessions";
3
3
  export { default as Tours } from "./Tours";
4
4
  export { default as TourPoints } from "./TourPoints";
5
5
  export { default as ToursList } from "./ToursList";
6
- export { default as Alert } from "./Alert";
6
+ export { default as AlertContainer } from "./AlertContainer";
7
7
  export { default as Autocomplete } from "./Autocomplete";
8
8
  export { BaseFilterModal } from "./BaseFilterModal";
9
- export { default as Badge } from "./Badge";
9
+ export { default as Badge } from "../ui/Badge";
10
10
  export { default as BookmarkSvg } from "./BookmarkSvg";
11
11
  export { default as Bookmarks } from "./Bookmarks";
12
12
  export { default as Visited } from "./Visited";
@@ -14,15 +14,15 @@ export { default as Booth } from "./Booth/Booth";
14
14
  export { BoothOnHold } from "./Booth/BoothOnHold";
15
15
  export { BoothReserved } from "./Booth/BoothReserved";
16
16
  export { BoothWithoutExhibitor } from "./Booth/BoothWithoutExhibitor";
17
- export { default as Button } from "./Button";
17
+ export { default as Button } from "../ui/Button";
18
18
  export { default as Category } from "./Category";
19
19
  export { CategoryFilterModal } from "./CategoryFilterModal";
20
- export { default as Checkbox } from "./Checkbox";
21
- export { default as CheckboxButton } from "./CheckboxButton";
20
+ export { default as Checkbox } from "../ui/Checkbox";
21
+ export { default as CheckboxButton } from "../ui/CheckboxButton";
22
22
  export { default as CookieConsent } from "./CookieConsent";
23
23
  export { default as Controls } from "./Controls";
24
24
  export { default as Demo } from "./Demo";
25
- export { default as EntityItem } from "./EntityItem";
25
+ export { default as EntityItemContainer } from "./EntityItemContainer";
26
26
  export { default as EntityList } from "./EntityList";
27
27
  export { default as EntityListRow } from "./EntityListRow";
28
28
  export { default as ErrorBoundary } from "./ErrorBoundary";
@@ -37,12 +37,12 @@ export { default as Filter } from "./Filter";
37
37
  export { default as LevelSelector } from "./LevelSelector";
38
38
  export { default as Gallery } from "./Gallery/Gallery";
39
39
  export { default as HeatmapLegend } from "./HeatmapLegend";
40
- export { default as HighlightText } from "./HighlightText";
40
+ export { default as HighlightTextContainer } from "./HighlightTextContainer";
41
41
  export { default as Language } from "./Language";
42
42
  export { default as LanguageRow } from "./LanguageRow";
43
43
  export { default as LargeMessage } from "./LargeMessage";
44
44
  export { default as Layout } from "./Layout";
45
- export { default as LayersLoading } from "./LayersLoading";
45
+ export { default as Spinner } from "../ui/Spinner";
46
46
  export { default as LevelBadge } from "./LevelBadge";
47
47
  export { default as List } from "./List";
48
48
  export { default as LogoOverlay } from "./LogoOverlay";
@@ -55,7 +55,7 @@ export { default as MultiSelectGroups } from "./MultiSelectGroups";
55
55
  export { default as Overlay } from "./Overlay";
56
56
  export { default as OverlayGrip } from "./OverlayGrip";
57
57
  export { default as OverlayParticles } from "./OverlayParticles";
58
- export { default as Radio } from "./Radio";
58
+ export { default as Radio } from "../ui/Radio";
59
59
  export { default as RebookingNotes } from "./RebookingNotes";
60
60
  export { default as RebookingRadioGroup } from "./RebookingRadioGroup";
61
61
  export { default as RouteQR } from "./RouteQR";
@@ -66,12 +66,12 @@ export { default as Share } from "./Share";
66
66
  export { default as SidebarActions } from "./SidebarActions";
67
67
  export { default as SimpleRow } from "./SimpleRow";
68
68
  export { useToast } from "./Toast";
69
- export { default as ToggleButton } from "./ToggleButton";
70
- export { default as ToggleSwitch } from "./ToggleSwitch";
71
- export { default as TouchHand } from "./TouchHand";
69
+ export { default as ToggleButton } from "../ui/ToggleButton";
70
+ export { default as ToggleSwitch } from "../ui/ToggleSwitch";
71
+ export { default as TouchHand } from "../ui/TouchHand";
72
72
  export { default as RoutePlanner } from "./RoutePlanner/RoutePlanner";
73
73
  export { default as Wayfinding } from "./Wayfinding";
74
- export { default as WayfindingFloorSelector } from "./WayfindingFloorSelector";
74
+ export { default as WayfindingFloorSelectorContainer } from "./WayfindingFloorSelectorContainer";
75
75
  export { default as WayfindingTemplate } from "./WayfindingTemplate";
76
76
  export { default as WayInformation } from "./WayInformation";
77
77
  export { default as Ws } from "./Ws";
@@ -79,27 +79,27 @@ export { default as YahRow } from "./YahRow";
79
79
  export { default as ScrollableRow } from "./ScrollableRow";
80
80
  export { default as PermissionNotice } from "./PermissionNotice/PermissionNotice";
81
81
  export type { SessionsFiltersModalProps } from "./SessionsFiltersModal";
82
- export type { AlertProps, AlertVariant, AlertPosition } from "./Alert";
82
+ export type { AlertProps, AlertVariant, AlertSize, AlertPosition } from "../ui/Alert";
83
83
  export type { AutocompleteProps, AutocompleteOptionObject } from "./Autocomplete";
84
- export type { ButtonProps, ButtonVariant, ButtonSize } from "./Button";
85
- export type { BadgeProps, BadgeVariant } from "./Badge";
86
- export type { CheckboxProps } from "./Checkbox";
84
+ export type { ButtonProps, ButtonVariant, ButtonSize } from "../ui/Button";
85
+ export type { BadgeProps, BadgeVariant } from "../ui/Badge";
86
+ export type { CheckboxProps } from "../ui/Checkbox";
87
87
  export type { CookieConsentProps } from "./CookieConsent";
88
88
  export type { EntityItemProps, EntityItemType, EntityItemAdditionalInfo } from "./EntityItem";
89
89
  export type { MapControlsProps, MapControlLayersItem } from "./MapControls";
90
90
  export type { MarketMaterialListProps } from "./MarketMaterialList";
91
91
  export type { ModalProps } from "./Modal";
92
92
  export type { MultiSelectGroupsProps, MultiSelectGroup, MultiSelectGroupItem } from "./MultiSelectGroups";
93
- export type { RadioProps } from "./Radio";
93
+ export type { RadioProps } from "../ui/Radio";
94
94
  export type { RebookingNotesProps, RebookingNotesMode } from "./RebookingNotes";
95
95
  export type { RebookingRadioGroupProps, RebookingOption } from "./RebookingRadioGroup";
96
- export type { LayersLoadingProps } from "./LayersLoading";
96
+ export type { SpinnerProps } from "../ui/Spinner";
97
97
  export type { RouteQRProps } from "./RouteQR";
98
98
  export type { ScheduleProps } from "./Schedule";
99
99
  export type { ShareProps } from "./Share";
100
- export type { ToggleButtonProps } from "./ToggleButton";
101
- export type { ToggleSwitchProps } from "./ToggleSwitch";
102
- export type { WayfindingFloorSelectorProps } from "./WayfindingFloorSelector";
100
+ export type { ToggleButtonProps } from "../ui/ToggleButton";
101
+ export type { ToggleSwitchProps } from "../ui/ToggleSwitch";
102
+ export type { WayfindingFloorSelectorProps } from "../ui/WayfindingFloorSelector";
103
103
  export type { WayfindingTemplateProps } from "./WayfindingTemplate";
104
104
  export type { ScrollableRowProps } from "./ScrollableRow";
105
105
  export type { PermissionNoticeProps } from "./PermissionNotice/PermissionNotice";
@@ -1 +1 @@
1
- export{default as SessionsFiltersModal}from"./SessionsFiltersModal";export{default as Sessions}from"./Sessions";export{default as Tours}from"./Tours";export{default as TourPoints}from"./TourPoints";export{default as ToursList}from"./ToursList";export{default as Alert}from"./Alert";export{default as Autocomplete}from"./Autocomplete";export{BaseFilterModal}from"./BaseFilterModal";export{default as Badge}from"./Badge";export{default as BookmarkSvg}from"./BookmarkSvg";export{default as Bookmarks}from"./Bookmarks";export{default as Visited}from"./Visited";export{default as Booth}from"./Booth/Booth";export{BoothOnHold}from"./Booth/BoothOnHold";export{BoothReserved}from"./Booth/BoothReserved";export{BoothWithoutExhibitor}from"./Booth/BoothWithoutExhibitor";export{default as Button}from"./Button";export{default as Category}from"./Category";export{CategoryFilterModal}from"./CategoryFilterModal";export{default as Checkbox}from"./Checkbox";export{default as CheckboxButton}from"./CheckboxButton";export{default as CookieConsent}from"./CookieConsent";export{default as Controls}from"./Controls";export{default as Demo}from"./Demo";export{default as EntityItem}from"./EntityItem";export{default as EntityList}from"./EntityList";export{default as EntityListRow}from"./EntityListRow";export{default as ErrorBoundary}from"./ErrorBoundary";export{default as Event}from"./Event";export{default as EventBadge}from"./EventBadge";export{SearchButtons}from"./SearchButtons";export{ShortcutsToolbar}from"./Shortcuts";export{ShortcutButton}from"./Shortcuts";export{ShortcutsFiltersButton}from"./Shortcuts";export{default as Exhibitor}from"./Exhibitor";export{default as Filter}from"./Filter";export{default as LevelSelector}from"./LevelSelector";export{default as Gallery}from"./Gallery/Gallery";export{default as HeatmapLegend}from"./HeatmapLegend";export{default as HighlightText}from"./HighlightText";export{default as Language}from"./Language";export{default as LanguageRow}from"./LanguageRow";export{default as LargeMessage}from"./LargeMessage";export{default as Layout}from"./Layout";export{default as LayersLoading}from"./LayersLoading";export{default as LevelBadge}from"./LevelBadge";export{default as List}from"./List";export{default as LogoOverlay}from"./LogoOverlay";export{default as MapControls}from"./MapControls";export{default as MarketMaterialList}from"./MarketMaterialList";export{default as Menu}from"./Menu";export{default as MobileToggleButton}from"./MobileToggleButton";export{default as Modal}from"./Modal";export{default as MultiSelectGroups}from"./MultiSelectGroups";export{default as Overlay}from"./Overlay";export{default as OverlayGrip}from"./OverlayGrip";export{default as OverlayParticles}from"./OverlayParticles";export{default as Radio}from"./Radio";export{default as RebookingNotes}from"./RebookingNotes";export{default as RebookingRadioGroup}from"./RebookingRadioGroup";export{default as RouteQR}from"./RouteQR";export{default as Schedule}from"./Schedule";export{default as Search}from"./Search";export{default as SearchBox}from"./SearchBox";export{default as Share}from"./Share";export{default as SidebarActions}from"./SidebarActions";export{default as SimpleRow}from"./SimpleRow";export{useToast}from"./Toast";export{default as ToggleButton}from"./ToggleButton";export{default as ToggleSwitch}from"./ToggleSwitch";export{default as TouchHand}from"./TouchHand";export{default as RoutePlanner}from"./RoutePlanner/RoutePlanner";export{default as Wayfinding}from"./Wayfinding";export{default as WayfindingFloorSelector}from"./WayfindingFloorSelector";export{default as WayfindingTemplate}from"./WayfindingTemplate";export{default as WayInformation}from"./WayInformation";export{default as Ws}from"./Ws";export{default as YahRow}from"./YahRow";export{default as ScrollableRow}from"./ScrollableRow";export{default as PermissionNotice}from"./PermissionNotice/PermissionNotice";
1
+ export{default as SessionsFiltersModal}from"./SessionsFiltersModal";export{default as Sessions}from"./Sessions";export{default as Tours}from"./Tours";export{default as TourPoints}from"./TourPoints";export{default as ToursList}from"./ToursList";export{default as AlertContainer}from"./AlertContainer";export{default as Autocomplete}from"./Autocomplete";export{BaseFilterModal}from"./BaseFilterModal";export{default as Badge}from"../ui/Badge";export{default as BookmarkSvg}from"./BookmarkSvg";export{default as Bookmarks}from"./Bookmarks";export{default as Visited}from"./Visited";export{default as Booth}from"./Booth/Booth";export{BoothOnHold}from"./Booth/BoothOnHold";export{BoothReserved}from"./Booth/BoothReserved";export{BoothWithoutExhibitor}from"./Booth/BoothWithoutExhibitor";export{default as Button}from"../ui/Button";export{default as Category}from"./Category";export{CategoryFilterModal}from"./CategoryFilterModal";export{default as Checkbox}from"../ui/Checkbox";export{default as CheckboxButton}from"../ui/CheckboxButton";export{default as CookieConsent}from"./CookieConsent";export{default as Controls}from"./Controls";export{default as Demo}from"./Demo";export{default as EntityItemContainer}from"./EntityItemContainer";export{default as EntityList}from"./EntityList";export{default as EntityListRow}from"./EntityListRow";export{default as ErrorBoundary}from"./ErrorBoundary";export{default as Event}from"./Event";export{default as EventBadge}from"./EventBadge";export{SearchButtons}from"./SearchButtons";export{ShortcutsToolbar}from"./Shortcuts";export{ShortcutButton}from"./Shortcuts";export{ShortcutsFiltersButton}from"./Shortcuts";export{default as Exhibitor}from"./Exhibitor";export{default as Filter}from"./Filter";export{default as LevelSelector}from"./LevelSelector";export{default as Gallery}from"./Gallery/Gallery";export{default as HeatmapLegend}from"./HeatmapLegend";export{default as HighlightTextContainer}from"./HighlightTextContainer";export{default as Language}from"./Language";export{default as LanguageRow}from"./LanguageRow";export{default as LargeMessage}from"./LargeMessage";export{default as Layout}from"./Layout";export{default as Spinner}from"../ui/Spinner";export{default as LevelBadge}from"./LevelBadge";export{default as List}from"./List";export{default as LogoOverlay}from"./LogoOverlay";export{default as MapControls}from"./MapControls";export{default as MarketMaterialList}from"./MarketMaterialList";export{default as Menu}from"./Menu";export{default as MobileToggleButton}from"./MobileToggleButton";export{default as Modal}from"./Modal";export{default as MultiSelectGroups}from"./MultiSelectGroups";export{default as Overlay}from"./Overlay";export{default as OverlayGrip}from"./OverlayGrip";export{default as OverlayParticles}from"./OverlayParticles";export{default as Radio}from"../ui/Radio";export{default as RebookingNotes}from"./RebookingNotes";export{default as RebookingRadioGroup}from"./RebookingRadioGroup";export{default as RouteQR}from"./RouteQR";export{default as Schedule}from"./Schedule";export{default as Search}from"./Search";export{default as SearchBox}from"./SearchBox";export{default as Share}from"./Share";export{default as SidebarActions}from"./SidebarActions";export{default as SimpleRow}from"./SimpleRow";export{useToast}from"./Toast";export{default as ToggleButton}from"../ui/ToggleButton";export{default as ToggleSwitch}from"../ui/ToggleSwitch";export{default as TouchHand}from"../ui/TouchHand";export{default as RoutePlanner}from"./RoutePlanner/RoutePlanner";export{default as Wayfinding}from"./Wayfinding";export{default as WayfindingFloorSelectorContainer}from"./WayfindingFloorSelectorContainer";export{default as WayfindingTemplate}from"./WayfindingTemplate";export{default as WayInformation}from"./WayInformation";export{default as Ws}from"./Ws";export{default as YahRow}from"./YahRow";export{default as ScrollableRow}from"./ScrollableRow";export{default as PermissionNotice}from"./PermissionNotice/PermissionNotice";
@@ -1 +1 @@
1
- import{jsx as o,Fragment as i,jsxs as a}from"react/jsx-runtime";import{useState as m}from"react";import{action as l}from"@storybook/addon-actions";import t from"../CookieConsent";export default{title:"Components/CookieConsent",component:t};const p=s=>{const[n,c]=m(!0),e=r=>{c(!1),l(r?"onClickAccept":"onClickReject")(!0)};return a(i,{children:[o("iframe",{src:"https://canneslions2023.expofp.com/",className:"sb-iframe",title:"test"}),n?o(t,{...s,onClickAccept:()=>e(!0),onClickReject:()=>e(!1)}):null]})};export const Base=p.bind({});Base.args={link:"https://expofp.com"};
1
+ import{jsx as o,Fragment as a,jsxs as c}from"react/jsx-runtime";import{useState as p}from"react";import{action as l}from"@storybook/addon-actions";import t from"../CookieConsent";export default{title:"Components/CookieConsent",component:t};const m=n=>{const[s,r]=p(!0),e=i=>{r(!1),l(i?"onClickAccept":"onClickReject")(!0)};return c(a,{children:[o("div",{className:"sb-iframe",style:{background:"repeating-linear-gradient(45deg, #f0f0f0 0 20px, #e0e0e0 20px 40px)"}}),s?o(t,{...n,onClickAccept:()=>e(!0),onClickReject:()=>e(!1)}):null]})};export const Base=m.bind({});Base.args={link:"https://expofp.com"};
@@ -0,0 +1,5 @@
1
+ import { Meta } from "@storybook/react";
2
+ declare const _default: Meta;
3
+ export default _default;
4
+ export declare const Base: any;
5
+ //# sourceMappingURL=Modal.stories.d.ts.map
@@ -0,0 +1 @@
1
+ import{jsx as s,Fragment as l,jsxs as i}from"react/jsx-runtime";import{useContext as m,useState as p}from"react";import{action as c}from"@storybook/addon-actions";import o from"../Modal";import h from"../../ui/Button";import f from"../../storybook/contexts/ResponsiveClassContext";export default{title:"Components/Modal",component:o,parameters:{usePadding:!0}};const u=e=>{const[n,t]=p(e.open),r=m(f),a=()=>{t(!1),c("onClickClose")(!0)};return i(l,{children:[s(h,{onClick:()=>t(!0),children:"Open modal"}),s(o,{...e,className:r,open:n,onClickClose:a,children:"While Earth is only the fifth largest planet in the solar system, it is the only world in our solar system with liquid water on the surface. Just slightly larger than nearby Venus, Earth is the biggest of the four planets closest to the Sun, all of which are made of rock and metal."})]})};export const Base=u.bind({});Base.args={open:!1};
@@ -0,0 +1,5 @@
1
+ import { Meta } from "@storybook/react";
2
+ declare const _default: Meta;
3
+ export default _default;
4
+ export declare const Base: any;
5
+ //# sourceMappingURL=Share.stories.d.ts.map
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useState as n}from"react";import l from"../../ui/Button";import m from"../Modal";import t from"../Share";export default{title:"Components/Share",component:t};const p=r=>{const[s,o]=n(!1);return a("div",{className:"layout sb-layout",children:[e(l,{onClick:()=>o(!0),children:"Share"}),e(m,{type:"share",open:s,onClickClose:()=>o(!1),children:e(t,{...r})})]})};export const Base=p.bind({});Base.args={title:"4imprint",url:"https://demo.expofp.com/?4imprint"};
@@ -2,4 +2,4 @@ import type { Meta } from "@storybook/react";
2
2
  declare const _default: Meta;
3
3
  export default _default;
4
4
  export declare const Base: any;
5
- //# sourceMappingURL=CheckboxButton.stories.d.ts.map
5
+ //# sourceMappingURL=WayInformation.stories.d.ts.map
@@ -0,0 +1,5 @@
1
+ import { Meta } from "@storybook/react";
2
+ declare const _default: Meta;
3
+ export default _default;
4
+ export declare const Base: any;
5
+ //# sourceMappingURL=WayfindingTemplate.stories.d.ts.map
@@ -0,0 +1 @@
1
+ import{jsx as l,jsxs as d}from"react/jsx-runtime";import{useState as s}from"react";import{action as o}from"@storybook/addon-actions";import h from"../WayfindingTemplate";export default{title:"Templates/Wayfinding",component:h};const x=n=>{const[t,m]=s(n.options[1].value),[a,u]=s(n.options[6].value),[C,f]=s(n.currentFloor),p=e=>{const c=[],i=Math.round(e/1.4),r=new Date;r.setMinutes(r.getMinutes()+i/60);const T=r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return c.push({title:"Travel time",text:i<60?"< 1 min":`~ ${Math.round(i/60)} min`},{title:"Distance",text:Math.round(e)+" m"},{title:"Est arrival",text:T}),c},g=e=>{m(e),o("onChangeFrom")(e)},v=e=>{u(e),o("onChangeTo")(e)},b=()=>{m(a),u(t),o("onSwitch")(!0)},F=e=>{f(e),o("onClickFloor")(e)};return l("div",{className:"map layout",children:d("aside",{className:"sidebar",children:[l(h,{...n,fromValue:t,toValue:a,onChangeFrom:g,onChangeTo:v,infoItems:p(400),onClickInfo:()=>o("onClickInfo")(!0),onSwitch:b,currentFloor:C,onClickFloor:F}),d("div",{className:"sb-data",children:[l("strong",{children:"From-To:"}),t||"undefined"," - ",a||"undefined"]})]})})};export const Base=x.bind({});Base.args={options:[{value:"4241",label:"42Chat"},{value:"6243",label:"Airways Freight Corporation"},{value:"434",label:"American Tradeshow Services LLC"},{value:"442",label:"ASM Global"},{value:"25442",label:"Austin Convention Center"},{value:"854",label:"Boomer Commerce"},{value:"65",label:"CadmiumCD"},{value:"y635",label:"Choose Chicago"},{value:"6353",label:"CompuSystems, Inc."},{value:"6455",label:"Corporate Events New England"}],showInfo:!0,routeFound:!0,infoAccessible:!1,floors:[{id:1,name:"1"},{id:2,name:"2"},{id:3,name:"3"},{id:4,name:"4"},{id:5,name:"5"}],currentFloor:{id:1,name:"1"}};
@@ -0,0 +1,4 @@
1
+ export interface FloorPlanFlags {
2
+ enableExperimentalRerouting?: boolean;
3
+ }
4
+ //# sourceMappingURL=Flags.d.ts.map
@@ -0,0 +1 @@
1
+ export{};
@@ -33,7 +33,7 @@ export default class RoutePlannerStore {
33
33
  id: number;
34
34
  name: string;
35
35
  description?: string;
36
- basePriority?: number;
36
+ directionToNext?: "up" | "down";
37
37
  }[];
38
38
  get currentRouteFloor(): {
39
39
  id: number;
@@ -1 +1 @@
1
- import{__esDecorate as r,__runInitializers as u}from"tslib";import{action as c,computed as d,observable as g}from"mobx";import{findBooth as Q,Route as U}from"./RouteStore";import{t as p}from"../utils/i18n";let W=(()=>{let n=[],_,S=[],b=[],P,v=[],y=[],k,R=[],x=[],F,B=[],I=[],C,w,O,z,V,E,L,A,N,M,T,j,q,D,$,G,H;return class{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;_=[g],P=[g],k=[g],F=[g],C=[d],w=[d],O=[d],z=[d],V=[d],E=[d],L=[d],A=[d],N=[c],M=[c],T=[c],j=[c],q=[c],D=[c],$=[c],G=[c],H=[c],r(this,null,C,{kind:"getter",name:"resolvedBooths",static:!1,private:!1,access:{has:t=>"resolvedBooths"in t,get:t=>t.resolvedBooths},metadata:e},null,n),r(this,null,w,{kind:"getter",name:"stopsCount",static:!1,private:!1,access:{has:t=>"stopsCount"in t,get:t=>t.stopsCount},metadata:e},null,n),r(this,null,O,{kind:"getter",name:"startPointBoothOptions",static:!1,private:!1,access:{has:t=>"startPointBoothOptions"in t,get:t=>t.startPointBoothOptions},metadata:e},null,n),r(this,null,z,{kind:"getter",name:"startPointAutocompleteOptions",static:!1,private:!1,access:{has:t=>"startPointAutocompleteOptions"in t,get:t=>t.startPointAutocompleteOptions},metadata:e},null,n),r(this,null,V,{kind:"getter",name:"title",static:!1,private:!1,access:{has:t=>"title"in t,get:t=>t.title},metadata:e},null,n),r(this,null,E,{kind:"getter",name:"subtitleParts",static:!1,private:!1,access:{has:t=>"subtitleParts"in t,get:t=>t.subtitleParts},metadata:e},null,n),r(this,null,L,{kind:"getter",name:"routeFloors",static:!1,private:!1,access:{has:t=>"routeFloors"in t,get:t=>t.routeFloors},metadata:e},null,n),r(this,null,A,{kind:"getter",name:"currentRouteFloor",static:!1,private:!1,access:{has:t=>"currentRouteFloor"in t,get:t=>t.currentRouteFloor},metadata:e},null,n),r(this,null,N,{kind:"method",name:"setRouteFloor",static:!1,private:!1,access:{has:t=>"setRouteFloor"in t,get:t=>t.setRouteFloor},metadata:e},null,n),r(this,null,M,{kind:"method",name:"launch",static:!1,private:!1,access:{has:t=>"launch"in t,get:t=>t.launch},metadata:e},null,n),r(this,null,T,{kind:"method",name:"launchFromBookmarks",static:!1,private:!1,access:{has:t=>"launchFromBookmarks"in t,get:t=>t.launchFromBookmarks},metadata:e},null,n),r(this,null,j,{kind:"method",name:"launchFromSlugs",static:!1,private:!1,access:{has:t=>"launchFromSlugs"in t,get:t=>t.launchFromSlugs},metadata:e},null,n),r(this,null,q,{kind:"method",name:"buildRoute",static:!1,private:!1,access:{has:t=>"buildRoute"in t,get:t=>t.buildRoute},metadata:e},null,n),r(this,null,D,{kind:"method",name:"setStartPoint",static:!1,private:!1,access:{has:t=>"setStartPoint"in t,get:t=>t.setStartPoint},metadata:e},null,n),r(this,null,$,{kind:"method",name:"removeItem",static:!1,private:!1,access:{has:t=>"removeItem"in t,get:t=>t.removeItem},metadata:e},null,n),r(this,null,G,{kind:"method",name:"reorderItems",static:!1,private:!1,access:{has:t=>"reorderItems"in t,get:t=>t.reorderItems},metadata:e},null,n),r(this,null,H,{kind:"method",name:"close",static:!1,private:!1,access:{has:t=>"close"in t,get:t=>t.close},metadata:e},null,n),r(null,null,_,{kind:"field",name:"items",static:!1,private:!1,access:{has:t=>"items"in t,get:t=>t.items,set:(t,o)=>{t.items=o}},metadata:e},S,b),r(null,null,P,{kind:"field",name:"startPoint",static:!1,private:!1,access:{has:t=>"startPoint"in t,get:t=>t.startPoint,set:(t,o)=>{t.startPoint=o}},metadata:e},v,y),r(null,null,k,{kind:"field",name:"source",static:!1,private:!1,access:{has:t=>"source"in t,get:t=>t.source,set:(t,o)=>{t.source=o}},metadata:e},R,x),r(null,null,F,{kind:"field",name:"excludedVisitedCount",static:!1,private:!1,access:{has:t=>"excludedVisitedCount"in t,get:t=>t.excludedVisitedCount,set:(t,o)=>{t.excludedVisitedCount=o}},metadata:e},B,I),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}rootStore=u(this,n);items=u(this,S,[]);startPoint=(u(this,b),u(this,v,null));source=(u(this,y),u(this,R,null));excludedVisitedCount=(u(this,x),u(this,B,0));constructor(e){u(this,I),this.rootStore=e}get resolvedBooths(){const e=new Map;return this.startPoint&&e.set(this.startPoint.id,this.startPoint),this.items.forEach(t=>{t.booth&&e.set(t.booth.id,t.booth)}),Array.from(e.values())}get stopsCount(){return this.items.length}get startPointBoothOptions(){const e=this.rootStore.boothStore.booths,t=this.rootStore.routeStore.defaultFrom;return t?[...e,t]:e}get startPointAutocompleteOptions(){const{exhibitorStore:e}=this.rootStore,t=this.startPointBoothOptions,o=[],a=new Set;return e.exhibitors.forEach(s=>{s.booths.forEach(l=>{a.add(l.id),o.push({value:l.id.toString(),label:`${s.name} - ${l.name}`})})}),t.filter(s=>!a.has(s.id)).forEach(s=>{o.push({value:s.id.toString(),label:s.name})}),o.sort((s,l)=>s.label.localeCompare(l.label,void 0,{sensitivity:"base"}))}get title(){return this.source==="bookmarks"?p("Bookmarks route"):""}get subtitleParts(){const{routeInfo:e}=this.rootStore.routeStore;let t;if(e?.time){const o=e.time;t=o<60?p("< 1 min"):p("~ {{n}} min",{n:Math.round(o/60)})}return{stops:p("{{count}} stops",{count:this.stopsCount}),from:this.startPoint?p("From {{name}}",{name:this.startPoint.name}):void 0,distance:e?e.distance:void 0,travelTime:t}}get routeFloors(){return this.rootStore.routeStore.pathLayers.map(e=>({id:e.id,name:e.layer?.shortName,description:e.layer?.description,basePriority:e.layer?.basePriority??0}))}get currentRouteFloor(){const e=this.routeFloors,t=this.rootStore.routeStore.currentRouteLayer;if(!e.length)return;if(!t)return e[0]?{id:e[0].id,name:e[0].name}:void 0;const o=e.find(a=>a.description?.toLowerCase()===t.description?.toLowerCase());return o?{id:o.id,name:o.name}:{id:e[0].id,name:e[0].name}}setRouteFloor(e){const t=this.rootStore.routeStore.pathLayers.find(o=>o.id===e.id);t?.layer&&this.rootStore.layerStore.updateVisibility(t.layer,!0)}launch(e,t="custom",o){this.excludedVisitedCount=e.filter(i=>i.type==="exhibitor"&&i.entity.visited).length,this.items=e.filter(i=>i.type==="exhibitor"?!i.entity.visited:!0),this.source=t,this.startPoint=o!==void 0?o:this.detectStartPoint();const{uiState:a}=this.rootStore;a.list={type:"route-planner",source:t},a.details=null,a.menu=!1,this.buildRoute()}launchFromBookmarks(e){const{exhibitorStore:t,eventStore:o,boothStore:a}=this.rootStore,i=[];t.bookmarked.forEach(s=>{i.push({type:"exhibitor",entity:s,booth:s.booths[0]||null})}),a.booths.filter(s=>s.exhibitors.length===0&&s.bookmarkedDirectly).forEach(s=>{i.push({type:"booth",entity:s,booth:s})}),this.launch(i,"bookmarks",e)}launchFromSlugs(e,t){const o=this.resolveSlugs(e);this.launch(o,"custom",t)}resolveSlugs(e){const{exhibitorStore:t,eventStore:o,boothStore:a}=this.rootStore;return e.filter(Boolean).map(i=>{const s=i.toLowerCase(),l=t.exhibitors.find(f=>f.slug?.toLowerCase()===s||f.externalId?.toLowerCase()===s);if(l)return{type:"exhibitor",entity:l,booth:l.booths[0]||null};const m=Q(i);return m?{type:"booth",entity:m,booth:m}:null}).filter(i=>i!==null)}buildRoute(){const e=[];if(this.startPoint&&this.startPoint.name&&e.push(this.startPoint.name),this.items.forEach(h=>{h.booth&&h.booth.name&&e.push(h.booth.name)}),e.length<2){this.rootStore.routeStore.updateRoute([]);return}let t;try{const h=this.rootStore.fp?.getOptimizedRoutes?.(e);t=Array.isArray(h)?h.flatMap(K=>K?.waypoints??[]):[]}catch{t=[]}const o=new Set(e),a=new Set(t),i=e.length>0&&[...o].every(h=>a.has(h));(!t.length||!i)&&(t=e.slice()),this.reorderItemsByNames(t);const s=this.resolvedBooths;if(s.length<2){this.rootStore.routeStore.updateRoute([]);return}const l=s[0],m=s[s.length-1],f=s.slice(1,-1),J=new U(l,m,f);this.rootStore.routeStore.selectRoute(J,!1),this.rootStore.uiState.setIsMultiPointRoute(f.length>0)}reorderItemsByNames(e){const t=this.startPoint?this.startPoint.name:null,o=new Map;this.items.forEach(i=>{const s=i.booth?i.booth.name:null;s&&(o.has(s)||o.set(s,[]),o.get(s).push(i))});const a=[];e.forEach(i=>{if(i!==t){const s=o.get(i);s&&s.length>0&&a.push(...s.splice(0))}}),this.items=a}detectStartPoint(){const{boothStore:e,poiTypeStore:t}=this.rootStore,o=["entrance","entrances"],a=t.poiTypes.find(i=>o.includes(i.name.toLowerCase()));return a&&e.booths.find(i=>i.poiTypeId===a.id)||null}setStartPoint(e){this.startPoint=e,this.buildRoute()}removeItem(e){this.items.splice(e,1),this.buildRoute()}reorderItems(e,t){const[o]=this.items.splice(e,1);this.items.splice(t,0,o),this.buildRoute()}close(){this.items=[],this.startPoint=null,this.source=null,this.excludedVisitedCount=0,this.rootStore.uiState.details=null,this.rootStore.uiState.list={type:"search",text:"",focused:!1},this.rootStore.routeStore.selectRoute(null,!1)}}})();export default W;
1
+ import{__esDecorate as a,__runInitializers as u}from"tslib";import{action as c,computed as d,observable as g}from"mobx";import{findBooth as Q,Route as U}from"./RouteStore";import{t as p}from"../utils/i18n";let W=(()=>{let n=[],_,S=[],b=[],y,P=[],v=[],k,x=[],R=[],F,B=[],I=[],C,w,O,z,V,E,L,A,N,M,T,j,q,D,$,G,H;return class{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;_=[g],y=[g],k=[g],F=[g],C=[d],w=[d],O=[d],z=[d],V=[d],E=[d],L=[d],A=[d],N=[c],M=[c],T=[c],j=[c],q=[c],D=[c],$=[c],G=[c],H=[c],a(this,null,C,{kind:"getter",name:"resolvedBooths",static:!1,private:!1,access:{has:t=>"resolvedBooths"in t,get:t=>t.resolvedBooths},metadata:e},null,n),a(this,null,w,{kind:"getter",name:"stopsCount",static:!1,private:!1,access:{has:t=>"stopsCount"in t,get:t=>t.stopsCount},metadata:e},null,n),a(this,null,O,{kind:"getter",name:"startPointBoothOptions",static:!1,private:!1,access:{has:t=>"startPointBoothOptions"in t,get:t=>t.startPointBoothOptions},metadata:e},null,n),a(this,null,z,{kind:"getter",name:"startPointAutocompleteOptions",static:!1,private:!1,access:{has:t=>"startPointAutocompleteOptions"in t,get:t=>t.startPointAutocompleteOptions},metadata:e},null,n),a(this,null,V,{kind:"getter",name:"title",static:!1,private:!1,access:{has:t=>"title"in t,get:t=>t.title},metadata:e},null,n),a(this,null,E,{kind:"getter",name:"subtitleParts",static:!1,private:!1,access:{has:t=>"subtitleParts"in t,get:t=>t.subtitleParts},metadata:e},null,n),a(this,null,L,{kind:"getter",name:"routeFloors",static:!1,private:!1,access:{has:t=>"routeFloors"in t,get:t=>t.routeFloors},metadata:e},null,n),a(this,null,A,{kind:"getter",name:"currentRouteFloor",static:!1,private:!1,access:{has:t=>"currentRouteFloor"in t,get:t=>t.currentRouteFloor},metadata:e},null,n),a(this,null,N,{kind:"method",name:"setRouteFloor",static:!1,private:!1,access:{has:t=>"setRouteFloor"in t,get:t=>t.setRouteFloor},metadata:e},null,n),a(this,null,M,{kind:"method",name:"launch",static:!1,private:!1,access:{has:t=>"launch"in t,get:t=>t.launch},metadata:e},null,n),a(this,null,T,{kind:"method",name:"launchFromBookmarks",static:!1,private:!1,access:{has:t=>"launchFromBookmarks"in t,get:t=>t.launchFromBookmarks},metadata:e},null,n),a(this,null,j,{kind:"method",name:"launchFromSlugs",static:!1,private:!1,access:{has:t=>"launchFromSlugs"in t,get:t=>t.launchFromSlugs},metadata:e},null,n),a(this,null,q,{kind:"method",name:"buildRoute",static:!1,private:!1,access:{has:t=>"buildRoute"in t,get:t=>t.buildRoute},metadata:e},null,n),a(this,null,D,{kind:"method",name:"setStartPoint",static:!1,private:!1,access:{has:t=>"setStartPoint"in t,get:t=>t.setStartPoint},metadata:e},null,n),a(this,null,$,{kind:"method",name:"removeItem",static:!1,private:!1,access:{has:t=>"removeItem"in t,get:t=>t.removeItem},metadata:e},null,n),a(this,null,G,{kind:"method",name:"reorderItems",static:!1,private:!1,access:{has:t=>"reorderItems"in t,get:t=>t.reorderItems},metadata:e},null,n),a(this,null,H,{kind:"method",name:"close",static:!1,private:!1,access:{has:t=>"close"in t,get:t=>t.close},metadata:e},null,n),a(null,null,_,{kind:"field",name:"items",static:!1,private:!1,access:{has:t=>"items"in t,get:t=>t.items,set:(t,o)=>{t.items=o}},metadata:e},S,b),a(null,null,y,{kind:"field",name:"startPoint",static:!1,private:!1,access:{has:t=>"startPoint"in t,get:t=>t.startPoint,set:(t,o)=>{t.startPoint=o}},metadata:e},P,v),a(null,null,k,{kind:"field",name:"source",static:!1,private:!1,access:{has:t=>"source"in t,get:t=>t.source,set:(t,o)=>{t.source=o}},metadata:e},x,R),a(null,null,F,{kind:"field",name:"excludedVisitedCount",static:!1,private:!1,access:{has:t=>"excludedVisitedCount"in t,get:t=>t.excludedVisitedCount,set:(t,o)=>{t.excludedVisitedCount=o}},metadata:e},B,I),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}rootStore=u(this,n);items=u(this,S,[]);startPoint=(u(this,b),u(this,P,null));source=(u(this,v),u(this,x,null));excludedVisitedCount=(u(this,R),u(this,B,0));constructor(e){u(this,I),this.rootStore=e}get resolvedBooths(){const e=new Map;return this.startPoint&&e.set(this.startPoint.id,this.startPoint),this.items.forEach(t=>{t.booth&&e.set(t.booth.id,t.booth)}),Array.from(e.values())}get stopsCount(){return this.items.length}get startPointBoothOptions(){const e=this.rootStore.boothStore.booths,t=this.rootStore.routeStore.defaultFrom;return t?[...e,t]:e}get startPointAutocompleteOptions(){const{exhibitorStore:e}=this.rootStore,t=this.startPointBoothOptions,o=[],i=new Set;return e.exhibitors.forEach(s=>{s.booths.forEach(l=>{i.add(l.id),o.push({value:l.id.toString(),label:`${s.name} - ${l.name}`})})}),t.filter(s=>!i.has(s.id)).forEach(s=>{o.push({value:s.id.toString(),label:s.name})}),o.sort((s,l)=>s.label.localeCompare(l.label,void 0,{sensitivity:"base"}))}get title(){return this.source==="bookmarks"?p("Bookmarks route"):""}get subtitleParts(){const{routeInfo:e}=this.rootStore.routeStore;let t;if(e?.time){const o=e.time;t=o<60?p("< 1 min"):p("~ {{n}} min",{n:Math.round(o/60)})}return{stops:p("{{count}} stops",{count:this.stopsCount}),from:this.startPoint?p("From {{name}}",{name:this.startPoint.name}):void 0,distance:e?e.distance:void 0,travelTime:t}}get routeFloors(){const e=this.rootStore.routeStore.pathLayers;return e.map((t,o)=>{const i=e[o+1],r=t.layer?.basePriority??0,s=i?.layer?.basePriority??0,l=i?s<r?"up":"down":void 0;return{id:t.id,name:t.layer?.shortName,description:t.layer?.description,directionToNext:l}})}get currentRouteFloor(){const e=this.routeFloors,t=this.rootStore.routeStore.currentRouteLayer;if(!e.length)return;if(!t)return e[0]?{id:e[0].id,name:e[0].name}:void 0;const o=e.find(i=>i.description?.toLowerCase()===t.description?.toLowerCase());return o?{id:o.id,name:o.name}:{id:e[0].id,name:e[0].name}}setRouteFloor(e){const t=this.rootStore.routeStore.pathLayers.find(o=>o.id===e.id);t?.layer&&this.rootStore.layerStore.updateVisibility(t.layer,!0)}launch(e,t="custom",o){this.excludedVisitedCount=e.filter(r=>r.type==="exhibitor"&&r.entity.visited).length,this.items=e.filter(r=>r.type==="exhibitor"?!r.entity.visited:!0),this.source=t,this.startPoint=o!==void 0?o:this.detectStartPoint();const{uiState:i}=this.rootStore;i.list={type:"route-planner",source:t},i.details=null,i.menu=!1,this.buildRoute()}launchFromBookmarks(e){const{exhibitorStore:t,eventStore:o,boothStore:i}=this.rootStore,r=[];t.bookmarked.forEach(s=>{r.push({type:"exhibitor",entity:s,booth:s.booths[0]||null})}),i.booths.filter(s=>s.exhibitors.length===0&&s.bookmarkedDirectly).forEach(s=>{r.push({type:"booth",entity:s,booth:s})}),this.launch(r,"bookmarks",e)}launchFromSlugs(e,t){const o=this.resolveSlugs(e);this.launch(o,"custom",t)}resolveSlugs(e){const{exhibitorStore:t,eventStore:o,boothStore:i}=this.rootStore;return e.filter(Boolean).map(r=>{const s=r.toLowerCase(),l=t.exhibitors.find(f=>f.slug?.toLowerCase()===s||f.externalId?.toLowerCase()===s);if(l)return{type:"exhibitor",entity:l,booth:l.booths[0]||null};const m=Q(r);return m?{type:"booth",entity:m,booth:m}:null}).filter(r=>r!==null)}buildRoute(){const e=[];if(this.startPoint&&this.startPoint.name&&e.push(this.startPoint.name),this.items.forEach(h=>{h.booth&&h.booth.name&&e.push(h.booth.name)}),e.length<2){this.rootStore.routeStore.updateRoute([]);return}let t;try{const h=this.rootStore.fp?.getOptimizedRoutes?.(e);t=Array.isArray(h)?h.flatMap(K=>K?.waypoints??[]):[]}catch{t=[]}const o=new Set(e),i=new Set(t),r=e.length>0&&[...o].every(h=>i.has(h));(!t.length||!r)&&(t=e.slice()),this.reorderItemsByNames(t);const s=this.resolvedBooths;if(s.length<2){this.rootStore.routeStore.updateRoute([]);return}const l=s[0],m=s[s.length-1],f=s.slice(1,-1),J=new U(l,m,f);this.rootStore.routeStore.selectRoute(J,!1),this.rootStore.uiState.setIsMultiPointRoute(f.length>0)}reorderItemsByNames(e){const t=this.startPoint?this.startPoint.name:null,o=new Map;this.items.forEach(r=>{const s=r.booth?r.booth.name:null;s&&(o.has(s)||o.set(s,[]),o.get(s).push(r))});const i=[];e.forEach(r=>{if(r!==t){const s=o.get(r);s&&s.length>0&&i.push(...s.splice(0))}}),this.items=i}detectStartPoint(){const{boothStore:e,poiTypeStore:t}=this.rootStore,o=["entrance","entrances"],i=t.poiTypes.find(r=>o.includes(r.name.toLowerCase()));return i&&e.booths.find(r=>r.poiTypeId===i.id)||null}setStartPoint(e){this.startPoint=e,this.buildRoute()}removeItem(e){this.items.splice(e,1),this.buildRoute()}reorderItems(e,t){const[o]=this.items.splice(e,1);this.items.splice(t,0,o),this.buildRoute()}close(){this.items=[],this.startPoint=null,this.source=null,this.excludedVisitedCount=0,this.rootStore.uiState.details=null,this.rootStore.uiState.list={type:"search",text:"",focused:!1},this.rootStore.routeStore.selectRoute(null,!1)}}})();export default W;