@expofp/floorplan 3.0.0-alpha.16 → 3.0.0-alpha.19

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 (190) hide show
  1. package/dist/browser/Debug-B9JNOBQc.js +40 -0
  2. package/dist/browser/{Demo-CXdISYQf.js → Demo-B_GkeZja.js} +7 -7
  3. package/dist/browser/{Free-CVgHQ8yt.js → Free-bQbjK74Z.js} +10 -10
  4. package/dist/browser/Gallery-E7LpQjiN.js +71 -0
  5. package/dist/browser/{GpsLoader-BiwFO3QG.js → GpsLoader-Du21Hm8x.js} +46 -46
  6. package/dist/browser/{KioskStore-NqUeUutQ.js → KioskStore-iQ67HJlZ.js} +9 -9
  7. package/dist/browser/{Mapbox-PHCrBnx5.js → Mapbox-Bx1tB7yN.js} +6 -6
  8. package/dist/browser/{SetKioskMode-DMQej1ec.js → SetKioskMode-ByetcQ27.js} +50 -50
  9. package/dist/browser/{ShowKiosk-BWlBMcI7.js → ShowKiosk-DqftG9PI.js} +6 -6
  10. package/dist/browser/{ThreeComponent-Dmt2HPyX.js → ThreeComponent-3tEmnbIR.js} +7 -7
  11. package/dist/browser/{ViewerMenuPanel-CuqRZ7m1.js → ViewerMenuPanel-BOkHor-R.js} +14 -14
  12. package/dist/browser/{boolean-editor-zsvPcNpX.js → boolean-editor-BuDAtfnK.js} +5 -5
  13. package/dist/browser/bundle.json +30 -30
  14. package/dist/browser/{client-B2kCMH8A.js → client-DgcsrMQp.js} +4 -4
  15. package/dist/browser/{data-BtD6blv7.js → data-Cs-XM1vn.js} +5 -5
  16. package/dist/browser/{debug-overlay-CF0imHRX.js → debug-overlay-bQ8hCza8.js} +9 -9
  17. package/dist/browser/{debug-ui-Zt7T7T-N.js → debug-ui-D8Y0PiT5.js} +5 -5
  18. package/dist/browser/{favicon-Dj8hNa7i.js → favicon-5YfyvVuW.js} +1 -1
  19. package/dist/browser/{fetch-retry.umd-B-swKpFA.js → fetch-retry.umd-Bn8pxzHz.js} +2 -2
  20. package/dist/browser/{flex-COa6XN1F.js → flex-DD4D5MDd.js} +5 -5
  21. package/dist/browser/{floorplan.ready-CNnM_Yyc.js → floorplan.ready-BFK4GJQI.js} +12360 -11974
  22. package/dist/browser/{index-B1P-x0sk.js → index-6P2K6zwe.js} +5 -5
  23. package/dist/browser/{index-CqICVJZO.js → index-BOv009xQ.js} +4 -4
  24. package/dist/browser/{index-BeS6l0j-.js → index-CFBl9CX9.js} +18 -18
  25. package/dist/browser/{index-atMSRNM1.js → index-CFBwSM0K.js} +12 -12
  26. package/dist/browser/{index-CgWDjED_.js → index-DXfV86G6.js} +6 -6
  27. package/dist/browser/{index-BEcZnTgd.js → index-HRCOcRH_.js} +3 -3
  28. package/dist/browser/{index-C04zJbbt.js → index-tVZou9A0.js} +2398 -2375
  29. package/dist/browser/index.html +1 -0
  30. package/dist/browser/index.js +4 -4
  31. package/dist/browser/{jsx-runtime-DAY7g56y.js → jsx-runtime-BPB0_kNt.js} +1 -1
  32. package/dist/browser/locales/ar.json +48 -4
  33. package/dist/browser/locales/de.json +48 -4
  34. package/dist/browser/locales/es.json +48 -4
  35. package/dist/browser/locales/fr.json +48 -4
  36. package/dist/browser/locales/he.json +48 -4
  37. package/dist/browser/locales/it.json +48 -4
  38. package/dist/browser/locales/kk.json +48 -4
  39. package/dist/browser/locales/ko.json +48 -4
  40. package/dist/browser/locales/mn.json +48 -4
  41. package/dist/browser/locales/nl.json +48 -4
  42. package/dist/browser/locales/pl.json +49 -5
  43. package/dist/browser/locales/pt.json +48 -4
  44. package/dist/browser/locales/ru.json +49 -5
  45. package/dist/browser/locales/sv.json +48 -4
  46. package/dist/browser/locales/th.json +48 -4
  47. package/dist/browser/locales/tr.json +48 -4
  48. package/dist/browser/locales/uk.json +48 -4
  49. package/dist/browser/locales/vi.json +48 -4
  50. package/dist/browser/locales/zh.json +48 -4
  51. package/dist/browser/{main-DZpmA53N.js → main-DxgBqquP.js} +1 -1
  52. package/dist/browser/{particles.min-DXab_WLN.js → particles.min-CvIca3EI.js} +2 -2
  53. package/dist/esm/RouteCutIn.d.ts +0 -1
  54. package/dist/esm/RouteCutIn.js +1 -1
  55. package/dist/esm/components/Booth/BoothOnHold.d.ts +2 -2
  56. package/dist/esm/components/Booth/BoothOnHold.js +1 -1
  57. package/dist/esm/components/Booth/BoothReserved.d.ts +2 -1
  58. package/dist/esm/components/Booth/BoothReserved.js +1 -1
  59. package/dist/esm/components/Booth/BoothWithoutExhibitor.d.ts +2 -2
  60. package/dist/esm/components/Booth/BoothWithoutExhibitor.js +1 -1
  61. package/dist/esm/components/Exhibitor.js +1 -1
  62. package/dist/esm/components/Gallery/GalleryControls/GalleryControls.d.ts +2 -2
  63. package/dist/esm/components/Gallery/GalleryControls/GalleryControls.js +1 -1
  64. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.d.ts +2 -2
  65. package/dist/esm/components/Gallery/GalleryModal/GalleryModal.js +1 -1
  66. package/dist/esm/components/Kiosk/integrateKiosk.js +1 -1
  67. package/dist/esm/components/Language.js +1 -1
  68. package/dist/esm/components/LanguageRow.d.ts +0 -1
  69. package/dist/esm/components/LanguageRow.js +1 -1
  70. package/dist/esm/components/Layout.js +1 -1
  71. package/dist/esm/components/List.js +1 -1
  72. package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
  73. package/dist/esm/components/Map/drawing/config/config-wf.d.ts +0 -2
  74. package/dist/esm/components/Map/drawing/config/config-wf.js +1 -1
  75. package/dist/esm/components/Map/drawing/config/route-snapping/snapPositionToRoute.d.ts +1 -1
  76. package/dist/esm/components/Map/drawing/config/route-snapping/snapPositionToRoute.js +1 -1
  77. package/dist/esm/components/Map/drawing/config/route-snapping/splitRouteByPoint.d.ts +1 -1
  78. package/dist/esm/components/Map/drawing/config/route-snapping/splitRouteByPoint.js +1 -1
  79. package/dist/esm/components/Map/drawing/config/route-snapping/types.d.ts +1 -1
  80. package/dist/esm/components/Map/drawing/config/route-snapping/utils.d.ts +1 -1
  81. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  82. package/dist/esm/components/MarketMaterialList.d.ts +3 -3
  83. package/dist/esm/components/MarketMaterialList.js +1 -1
  84. package/dist/esm/components/Menu.js +1 -1
  85. package/dist/esm/components/MobileToggleButton.js +1 -1
  86. package/dist/esm/components/MultiSelectGroups.d.ts +2 -2
  87. package/dist/esm/components/MultiSelectGroups.js +1 -1
  88. package/dist/esm/components/OverlayContainer.js +1 -1
  89. package/dist/esm/components/RebookingNotes.d.ts +2 -2
  90. package/dist/esm/components/RebookingNotes.js +1 -1
  91. package/dist/esm/components/RebookingRadioGroup.d.ts +2 -2
  92. package/dist/esm/components/RebookingRadioGroup.js +1 -1
  93. package/dist/esm/components/RouteQR.d.ts +2 -2
  94. package/dist/esm/components/RouteQR.js +1 -1
  95. package/dist/esm/components/Sessions.js +1 -1
  96. package/dist/esm/components/Share.d.ts +2 -2
  97. package/dist/esm/components/Share.js +1 -1
  98. package/dist/esm/components/SidebarActions.js +1 -1
  99. package/dist/esm/components/WayfindingTemplate.d.ts +2 -2
  100. package/dist/esm/components/WayfindingTemplate.js +1 -1
  101. package/dist/esm/components/gps/GpsPermissionRequest.d.ts +4 -2
  102. package/dist/esm/components/gps/GpsPermissionRequest.js +1 -1
  103. package/dist/esm/constants.d.ts +1 -0
  104. package/dist/esm/constants.js +1 -1
  105. package/dist/esm/floorplan.loader.js +1 -1
  106. package/dist/esm/floorplan.ready.js +1 -1
  107. package/dist/esm/load.js +3 -3
  108. package/dist/esm/services/routing.js +1 -1
  109. package/dist/esm/store/RootStore.d.ts +0 -2
  110. package/dist/esm/store/RootStore.js +1 -1
  111. package/dist/esm/store/RouteStore.d.ts +1 -1
  112. package/dist/esm/store/RouteStore.js +1 -1
  113. package/dist/esm/store/SearchStore.js +1 -1
  114. package/dist/esm/store/UIState.d.ts +1 -2
  115. package/dist/esm/store/UIState.js +1 -1
  116. package/dist/esm/store/init/index.js +1 -1
  117. package/dist/esm/store/search-buttons/SearchButtonsStore.d.ts +1 -1
  118. package/dist/esm/store/search-buttons/SearchButtonsStore.js +1 -1
  119. package/dist/esm/store/types.d.ts +0 -2
  120. package/dist/esm/tools/sentry.js +1 -1
  121. package/dist/esm/tools/telemetry.js +1 -1
  122. package/dist/esm/utils/i18n.d.ts +5 -3
  123. package/dist/esm/utils/i18n.js +1 -1
  124. package/dist/esm/utils/loadCustomCss.d.ts +1 -1
  125. package/dist/esm/utils/loadCustomCss.js +1 -1
  126. package/dist/esm/utils/mapEntity.js +1 -1
  127. package/dist/esm/utils/math.d.ts +7 -0
  128. package/dist/esm/utils/math.js +1 -0
  129. package/dist/esm/utils/use-shadow.d.ts +1 -1
  130. package/dist/esm/utils/use-shadow.js +1 -1
  131. package/dist/esm/wayfinding/_PLAN-public-api.d.ts +220 -0
  132. package/dist/esm/wayfinding/_PLAN-public-api.js +1 -0
  133. package/dist/esm/{utils/wayfinding.d.ts → wayfinding/__integration__/legacy/legacyWayfinding.d.ts} +5 -4
  134. package/dist/esm/wayfinding/__integration__/legacy/legacyWayfinding.js +1 -0
  135. package/dist/esm/wayfinding/__tests__/helpers.d.ts +21 -0
  136. package/dist/esm/wayfinding/__tests__/helpers.js +1 -0
  137. package/dist/esm/wayfinding/adapters/boothToWaypoint.d.ts +12 -0
  138. package/dist/esm/wayfinding/adapters/boothToWaypoint.js +1 -0
  139. package/dist/esm/wayfinding/adapters/graphDataSource.d.ts +3 -0
  140. package/dist/esm/wayfinding/adapters/graphDataSource.js +1 -0
  141. package/dist/esm/wayfinding/graph/buildGraph.d.ts +3 -0
  142. package/dist/esm/wayfinding/graph/buildGraph.js +1 -0
  143. package/dist/esm/wayfinding/graph/buildNGraph.d.ts +9 -0
  144. package/dist/esm/wayfinding/graph/buildNGraph.js +1 -0
  145. package/dist/esm/wayfinding/graph/constants.d.ts +3 -0
  146. package/dist/esm/wayfinding/graph/constants.js +1 -0
  147. package/dist/esm/wayfinding/graph/findShortestPath.d.ts +14 -0
  148. package/dist/esm/wayfinding/graph/findShortestPath.js +1 -0
  149. package/dist/esm/wayfinding/graph/graphCache.d.ts +6 -0
  150. package/dist/esm/wayfinding/graph/graphCache.js +1 -0
  151. package/dist/esm/wayfinding/graph/graphHelpers.d.ts +8 -0
  152. package/dist/esm/wayfinding/graph/graphHelpers.js +1 -0
  153. package/dist/esm/wayfinding/graph/linkCost.d.ts +4 -0
  154. package/dist/esm/wayfinding/graph/linkCost.js +1 -0
  155. package/dist/esm/wayfinding/graph/pathfinder/aStarPathFinder.d.ts +3 -0
  156. package/dist/esm/wayfinding/graph/pathfinder/aStarPathFinder.js +1 -0
  157. package/dist/esm/wayfinding/graph/pathfinder/parseNodeId.d.ts +9 -0
  158. package/dist/esm/wayfinding/graph/pathfinder/parseNodeId.js +1 -0
  159. package/dist/esm/wayfinding/index.d.ts +18 -0
  160. package/dist/esm/wayfinding/index.js +1 -0
  161. package/dist/esm/wayfinding/rendering/computeTransitionPoints.d.ts +31 -0
  162. package/dist/esm/wayfinding/rendering/computeTransitionPoints.js +1 -0
  163. package/dist/esm/wayfinding/rendering/normalizeRouteDirection.d.ts +19 -0
  164. package/dist/esm/wayfinding/rendering/normalizeRouteDirection.js +1 -0
  165. package/dist/esm/wayfinding/rendering/routeGeometry.d.ts +16 -0
  166. package/dist/esm/wayfinding/rendering/routeGeometry.js +1 -0
  167. package/dist/esm/wayfinding/routing/buildMultiPointRoute.d.ts +11 -0
  168. package/dist/esm/wayfinding/routing/buildMultiPointRoute.js +1 -0
  169. package/dist/esm/wayfinding/routing/buildRoute.d.ts +9 -0
  170. package/dist/esm/wayfinding/routing/buildRoute.js +1 -0
  171. package/dist/esm/wayfinding/routing/findNearestGraphPoint.d.ts +21 -0
  172. package/dist/esm/wayfinding/routing/findNearestGraphPoint.js +1 -0
  173. package/dist/esm/wayfinding/routing/getGraphLines.d.ts +14 -0
  174. package/dist/esm/wayfinding/routing/getGraphLines.js +1 -0
  175. package/dist/esm/wayfinding/routing/getRouteLength.d.ts +3 -0
  176. package/dist/esm/wayfinding/routing/getRouteLength.js +1 -0
  177. package/dist/esm/wayfinding/routing/routeResult.d.ts +4 -0
  178. package/dist/esm/wayfinding/routing/routeResult.js +1 -0
  179. package/dist/esm/wayfinding/types.d.ts +76 -0
  180. package/dist/esm/wayfinding/types.js +1 -0
  181. package/package.json +3 -3
  182. package/dist/browser/Debug-DazuGIJc.js +0 -40
  183. package/dist/browser/Gallery-BMcvPLO_.js +0 -288
  184. package/dist/esm/store/LanguageStore.d.ts +0 -19
  185. package/dist/esm/store/LanguageStore.js +0 -1
  186. package/dist/esm/store/init/init-language.d.ts +0 -3
  187. package/dist/esm/store/init/init-language.js +0 -1
  188. package/dist/esm/utils/toRadians.d.ts +0 -3
  189. package/dist/esm/utils/toRadians.js +0 -1
  190. package/dist/esm/utils/wayfinding.js +0 -1
@@ -6,7 +6,6 @@
6
6
  "Buy": "Купити",
7
7
  "Categories": "Категорії",
8
8
  "Category": "Категорія",
9
- "Changes saved": "Зміни збережено",
10
9
  "Choose destination point": "Виберіть пункт призначення",
11
10
  "Choose starting point": "Виберіть початкову точку",
12
11
  "Close": "Закрити",
@@ -70,8 +69,9 @@
70
69
  "or copy link": "або скопіюйте посилання",
71
70
  "Copy link to clipboard": "Скопіювати посилання в буфер",
72
71
  "Copied": "Скопійовано",
73
- "Changes saved.": "Зміни збережено.",
74
- "Oops! Something went wrong.": "Ой! Щось пішло не так.",
72
+ "Copy": "Копіювати",
73
+ "Changes saved": "Зміни збережено",
74
+ "Oops! Something went wrong": "Ой! Щось пішло не так",
75
75
  "Exhibitor Video": "Відео експонента",
76
76
  "Read how to optimize it": "Дізнайтесь, як це оптимізувати",
77
77
  "Setup mapbox first": "Спочатку налаштуйте Mapbox",
@@ -124,5 +124,49 @@
124
124
  "Add stops to build a route": "Додайте зупинки, щоб побудувати маршрут",
125
125
  "Select starting point": "Оберіть початкову точку",
126
126
  "Now": "Зараз",
127
- "Ongoing": "Триває"
127
+ "Ongoing": "Триває",
128
+ "{{count}} visited bookmarks excluded": "{{count}} відвіданих закладок виключено",
129
+ "< 1 min": "< 1 хв",
130
+ "~ {{n}} min": "~ {{n}} хв",
131
+ "Clear search": "Очистити пошук",
132
+ "Details": "Деталі",
133
+ "Error loading Guided Tours": "Помилка завантаження екскурсій",
134
+ "Filter": "Фільтр",
135
+ "Filters": "Фільтри",
136
+ "Find Categories...": "Знайти категорії...",
137
+ "Find Companies...": "Знайти компанії...",
138
+ "Find scans above": "Знайти скани вище",
139
+ "Find Sessions...": "Знайти сесії...",
140
+ "Guided Tours": "Екскурсії",
141
+ "Guided tours": "Екскурсії",
142
+ "List": "Список",
143
+ "Map": "Карта",
144
+ "Menu": "Меню",
145
+ "Multi-point route": "Багатоточковий маршрут",
146
+ "No bookmarked events found. Try adjusting your filters.": "Збережені заходи не знайдені. Спробуйте змінити фільтри",
147
+ "No Guided Tours available for": "Немає доступних екскурсій для",
148
+ "No Guided Tours found": "Екскурсій не знайдено",
149
+ "No Guided Tours found matching your search": "Екскурсій за вашим запитом не знайдено",
150
+ "No speakers found": "Спікерів не знайдено",
151
+ "No speakers found. Try adjusting your filters.": "Спікерів не знайдено. Спробуйте змінити фільтри",
152
+ "Open filters": "Відкрити фільтри",
153
+ "Past Sessions": "Минулі сесії",
154
+ "QR code to open the route on your phone": "QR-код для відкриття маршруту на телефоні",
155
+ "Read more about cookie usage in a new tab": "Дізнатися більше про використання файлів cookie в новій вкладці",
156
+ "Route planner": "Планувальник маршруту",
157
+ "Save rebooking note": "Зберегти нотатку про перебронювання",
158
+ "Search exhibitors": "Пошук експонентів",
159
+ "Search Guided Tours": "Пошук екскурсій",
160
+ "Search sessions": "Пошук сесій",
161
+ "Search speakers": "Пошук спікерів",
162
+ "Search...": "Пошук...",
163
+ "Select all": "Вибрати все",
164
+ "Select another event": "Вибрати інший захід",
165
+ "selected": "вибрано",
166
+ "Show All Exhibitors": "Показати всіх експонентів",
167
+ "Show bookmarks only": "Показати лише закладки",
168
+ "Sidebar Actions": "Дії бічної панелі",
169
+ "Speaker Filters": "Фільтри спікерів",
170
+ "Speaker not found": "Спікера не знайдено",
171
+ "Speakers": "Спікери"
128
172
  }
@@ -6,7 +6,6 @@
6
6
  "Buy": "Mua",
7
7
  "Categories": "Danh mục",
8
8
  "Category": "Danh mục",
9
- "Changes saved": "Thay đổi đã được lưu.",
10
9
  "Choose destination point": "Chọn điểm đến",
11
10
  "Choose starting point": "Chọn điểm bắt đầu",
12
11
  "Close": "Đóng",
@@ -69,8 +68,9 @@
69
68
  "or copy link": "hoặc sao chép liên kết",
70
69
  "Copy link to clipboard": "Sao chép liên kết vào bảng tạm",
71
70
  "Copied": "Đã sao chép",
72
- "Changes saved.": "Đã lưu thay đổi.",
73
- "Oops! Something went wrong.": "Rất tiếc! lỗi xảy ra.",
71
+ "Copy": "Sao chép",
72
+ "Changes saved": "Đã lưu thay đổi",
73
+ "Oops! Something went wrong": "Rất tiếc! Có lỗi xảy ra",
74
74
  "Exhibitor Video": "Video nhà triển lãm",
75
75
  "Read how to optimize it": "Đọc cách tối ưu hóa",
76
76
  "Setup mapbox first": "Cài đặt Mapbox trước",
@@ -124,5 +124,49 @@
124
124
  "Add stops to build a route": "Thêm điểm dừng để tạo tuyến đường",
125
125
  "Select starting point": "Chọn điểm bắt đầu",
126
126
  "Now": "Bây giờ",
127
- "Ongoing": "Đang diễn ra"
127
+ "Ongoing": "Đang diễn ra",
128
+ "{{count}} visited bookmarks excluded": "Đã loại trừ {{count}} mục đã đánh dấu đã ghé thăm",
129
+ "< 1 min": "< 1 phút",
130
+ "~ {{n}} min": "~ {{n}} phút",
131
+ "Clear search": "Xóa tìm kiếm",
132
+ "Details": "Chi tiết",
133
+ "Error loading Guided Tours": "Lỗi tải chuyến tham quan có hướng dẫn",
134
+ "Filter": "Bộ lọc",
135
+ "Filters": "Bộ lọc",
136
+ "Find Categories...": "Tìm danh mục...",
137
+ "Find Companies...": "Tìm công ty...",
138
+ "Find scans above": "Tìm quét ở trên",
139
+ "Find Sessions...": "Tìm phiên...",
140
+ "Guided Tours": "Chuyến tham quan có hướng dẫn",
141
+ "Guided tours": "Chuyến tham quan có hướng dẫn",
142
+ "List": "Danh sách",
143
+ "Map": "Bản đồ",
144
+ "Menu": "Menu",
145
+ "Multi-point route": "Tuyến đường nhiều điểm",
146
+ "No bookmarked events found. Try adjusting your filters.": "Không tìm thấy sự kiện đã đánh dấu. Hãy thử điều chỉnh bộ lọc",
147
+ "No Guided Tours available for": "Không có chuyến tham quan có hướng dẫn cho",
148
+ "No Guided Tours found": "Không tìm thấy chuyến tham quan có hướng dẫn",
149
+ "No Guided Tours found matching your search": "Không tìm thấy chuyến tham quan có hướng dẫn phù hợp với tìm kiếm của bạn",
150
+ "No speakers found": "Không tìm thấy diễn giả",
151
+ "No speakers found. Try adjusting your filters.": "Không tìm thấy diễn giả. Hãy thử điều chỉnh bộ lọc",
152
+ "Open filters": "Mở bộ lọc",
153
+ "Past Sessions": "Phiên đã qua",
154
+ "QR code to open the route on your phone": "Mã QR để mở tuyến đường trên điện thoại của bạn",
155
+ "Read more about cookie usage in a new tab": "Đọc thêm về việc sử dụng cookie trong tab mới",
156
+ "Route planner": "Công cụ lập tuyến đường",
157
+ "Save rebooking note": "Lưu ghi chú đặt lại",
158
+ "Search exhibitors": "Tìm kiếm nhà triển lãm",
159
+ "Search Guided Tours": "Tìm kiếm chuyến tham quan có hướng dẫn",
160
+ "Search sessions": "Tìm kiếm phiên",
161
+ "Search speakers": "Tìm kiếm diễn giả",
162
+ "Search...": "Tìm kiếm...",
163
+ "Select all": "Chọn tất cả",
164
+ "Select another event": "Chọn sự kiện khác",
165
+ "selected": "đã chọn",
166
+ "Show All Exhibitors": "Hiển thị tất cả nhà triển lãm",
167
+ "Show bookmarks only": "Chỉ hiển thị mục đã đánh dấu",
168
+ "Sidebar Actions": "Hành động thanh bên",
169
+ "Speaker Filters": "Bộ lọc diễn giả",
170
+ "Speaker not found": "Không tìm thấy diễn giả",
171
+ "Speakers": "Diễn giả"
128
172
  }
@@ -6,7 +6,6 @@
6
6
  "Buy": "购买",
7
7
  "Categories": "类别",
8
8
  "Category": "类别",
9
- "Changes saved": "保存更改",
10
9
  "Choose destination point": "选择目的地点",
11
10
  "Choose starting point": "选择起点",
12
11
  "Close": "关闭",
@@ -69,8 +68,9 @@
69
68
  "or copy link": "或复制链接",
70
69
  "Copy link to clipboard": "复制链接到剪贴板",
71
70
  "Copied": "已复制",
72
- "Changes saved.": "更改已保存。",
73
- "Oops! Something went wrong.": "哎呀!出现了问题。",
71
+ "Copy": "复制",
72
+ "Changes saved": "更改已保存",
73
+ "Oops! Something went wrong": "哎呀!出现了问题",
74
74
  "Exhibitor Video": "参展商视频",
75
75
  "Read how to optimize it": "阅读如何优化它",
76
76
  "Setup mapbox first": "请先设置 Mapbox",
@@ -124,5 +124,49 @@
124
124
  "Add stops to build a route": "添加站点以构建路线",
125
125
  "Select starting point": "选择起点",
126
126
  "Now": "现在",
127
- "Ongoing": "进行中"
127
+ "Ongoing": "进行中",
128
+ "{{count}} visited bookmarks excluded": "已排除 {{count}} 个已访问的收藏",
129
+ "< 1 min": "< 1 分钟",
130
+ "~ {{n}} min": "~ {{n}} 分钟",
131
+ "Clear search": "清除搜索",
132
+ "Details": "详情",
133
+ "Error loading Guided Tours": "加载导览时出错",
134
+ "Filter": "筛选",
135
+ "Filters": "筛选条件",
136
+ "Find Categories...": "查找类别...",
137
+ "Find Companies...": "查找公司...",
138
+ "Find scans above": "在上方查找扫描",
139
+ "Find Sessions...": "查找会议...",
140
+ "Guided Tours": "导览",
141
+ "Guided tours": "导览",
142
+ "List": "列表",
143
+ "Map": "地图",
144
+ "Menu": "菜单",
145
+ "Multi-point route": "多点路线",
146
+ "No bookmarked events found. Try adjusting your filters.": "未找到收藏的活动。请尝试调整筛选条件",
147
+ "No Guided Tours available for": "没有可用的导览:",
148
+ "No Guided Tours found": "未找到导览",
149
+ "No Guided Tours found matching your search": "未找到与您搜索匹配的导览",
150
+ "No speakers found": "未找到演讲者",
151
+ "No speakers found. Try adjusting your filters.": "未找到演讲者。请尝试调整筛选条件",
152
+ "Open filters": "打开筛选",
153
+ "Past Sessions": "过往会议",
154
+ "QR code to open the route on your phone": "扫描二维码在手机上打开路线",
155
+ "Read more about cookie usage in a new tab": "在新标签页中阅读更多关于Cookie使用的信息",
156
+ "Route planner": "路线规划器",
157
+ "Save rebooking note": "保存重新预订备注",
158
+ "Search exhibitors": "搜索参展商",
159
+ "Search Guided Tours": "搜索导览",
160
+ "Search sessions": "搜索会议",
161
+ "Search speakers": "搜索演讲者",
162
+ "Search...": "搜索...",
163
+ "Select all": "全选",
164
+ "Select another event": "选择其他活动",
165
+ "selected": "已选择",
166
+ "Show All Exhibitors": "显示所有参展商",
167
+ "Show bookmarks only": "仅显示收藏",
168
+ "Sidebar Actions": "侧边栏操作",
169
+ "Speaker Filters": "演讲者筛选",
170
+ "Speaker not found": "未找到演讲者",
171
+ "Speakers": "演讲者"
128
172
  }
@@ -1,7 +1,7 @@
1
1
  (function() {
2
2
  try {
3
3
  var o = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4
- o.SENTRY_RELEASE = { id: "3.0.0-alpha.16" };
4
+ o.SENTRY_RELEASE = { id: "3.0.0-alpha.19" };
5
5
  var t = new o.Error().stack;
6
6
  t && (o._sentryDebugIds = o._sentryDebugIds || {}, o._sentryDebugIds[t] = "7bb9c1f4-826f-44b2-80a8-3d0519897683", o._sentryDebugIdIdentifier = "sentry-dbid-7bb9c1f4-826f-44b2-80a8-3d0519897683");
7
7
  } catch {
@@ -1,8 +1,8 @@
1
- import { k } from "./index-C04zJbbt.js";
1
+ import { k } from "./index-tVZou9A0.js";
2
2
  (function() {
3
3
  try {
4
4
  var c = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
5
- c.SENTRY_RELEASE = { id: "3.0.0-alpha.16" };
5
+ c.SENTRY_RELEASE = { id: "3.0.0-alpha.19" };
6
6
  var f = new c.Error().stack;
7
7
  f && (c._sentryDebugIds = c._sentryDebugIds || {}, c._sentryDebugIds[f] = "032598d7-e41e-4a76-8d59-9ab38d97f81c", c._sentryDebugIdIdentifier = "sentry-dbid-032598d7-e41e-4a76-8d59-9ab38d97f81c");
8
8
  } catch {
@@ -15,7 +15,6 @@ export declare class RouteCutIn extends SpecialBooth {
15
15
  readonly type: "route-cut-in";
16
16
  };
17
17
  constructor(id: number, name: string, destination: LayerPoint, slug: string, meta?: {});
18
- getDestinationRect(): Rect;
19
18
  private findClosestRoutePoint;
20
19
  private distanceToLine;
21
20
  private findClosestPointOnLine;
@@ -1 +1 @@
1
- import{SpecialBooth as R}from"./store/BoothStore";import{sublines as P}from"./utils/wayfinding";import D from"./store";import C from"./core/Rect";import{areLayersEnabled as b}from"./utils/areLayersEnabled";export class RouteCutIn extends R{id;name;destination;slug;meta;store=D.boothStore;exhibitors=[];paths=[];routePoint;rect=C.fromCxcywh(0,0,0,0);entity={type:"route-cut-in"};constructor(i,r,e,s,t={}){super(),this.id=i,this.name=r,this.destination=e,this.slug=s,this.meta=t,this.layer=D.layerStore.findLayer(e.layer),this.routePoint=this.findClosestRoutePoint();const n=this.findClosestLineEnd(this.routePoint);n&&(this.rect=C.fromCxcywh(n.x,n.y,1,1)),Object.freeze(this)}getDestinationRect(){return C.fromCxcywh(this.destination.x,this.destination.y,1,1)}findClosestRoutePoint(){const i=P()?.lines||[],r=b()?i.filter(t=>t.p0.layer===this.destination.layer&&t.p1.layer===this.destination.layer):i;if(!r?.length)return null;let e=1/0,s=null;return r.forEach(t=>{const n=this.distanceToLine(this.destination,t.p0,t.p1);n<e&&(e=n,s=t)}),{...this.findClosestPointOnLine(this.destination,s),layer:this.destination.layer}}distanceToLine(i,r,e){const s=i.x,t=i.y,n=r.x,o=r.y,l=e.x,d=e.y,x=s-n,h=t-o,a=l-n,u=d-o,m=x*a+h*u,f=a*a+u*u;let c=-1;f!==0&&(c=m/f);let y,p;c<0?(y=n,p=o):c>1?(y=l,p=d):(y=n+c*a,p=o+c*u);const L=s-y,E=t-p;return Math.sqrt(L*L+E*E)}findClosestPointOnLine(i,r){const{x:e,y:s}=r.p0,{x:t,y:n}=r.p1,{x:o,y:l}=i,d=o-e,x=l-s,h=t-e,a=n-s,u=d*h+x*a,m=h*h+a*a;let f=-1;m!==0&&(f=u/m);let c,y;return f<0?(c=e,y=s):f>1?(c=t,y=n):(c=e+f*h,y=s+f*a),{x:c,y}}findClosestLineEnd(i){if(!i)return null;const r=P()?.lineEnds||[],e=b()?r.filter(o=>o.layer===i.layer):r;let s=null,t=1/0;function n(o,l,d,x){return Math.sqrt((d-o)**2+(x-l)**2)}return e.forEach(o=>{const l=n(i.x,i.y,o.x,o.y);l<t&&(t=l,s=o)}),s}}
1
+ import{SpecialBooth as b}from"./store/BoothStore";import{graphDataSource as E}from"./wayfinding";import P from"./store";import D from"./core/Rect";import{areLayersEnabled as S}from"./utils/areLayersEnabled";export class RouteCutIn extends b{id;name;destination;slug;meta;store=P.boothStore;exhibitors=[];paths=[];routePoint;rect=D.fromCxcywh(0,0,0,0);entity={type:"route-cut-in"};constructor(i,r,n,s,t={}){super(),this.id=i,this.name=r,this.destination=n,this.slug=s,this.meta=t,this.layer=P.layerStore.findLayer(n.layer),this.routePoint=this.findClosestRoutePoint();const e=this.findClosestLineEnd(this.routePoint);e&&(this.rect=D.fromCxcywh(e.x,e.y,1,1)),Object.freeze(this)}findClosestRoutePoint(){const i=E.getLines(),r=S()?i.filter(t=>t.p0.layer===this.destination.layer&&t.p1.layer===this.destination.layer):i;if(!r?.length)return null;let n=1/0,s=null;return r.forEach(t=>{const e=this.distanceToLine(this.destination,t.p0,t.p1);e<n&&(n=e,s=t)}),{...this.findClosestPointOnLine(this.destination,s),layer:this.destination.layer}}distanceToLine(i,r,n){const s=i.x,t=i.y,e=r.x,o=r.y,l=n.x,d=n.y,x=s-e,h=t-o,a=l-e,u=d-o,m=x*a+h*u,f=a*a+u*u;let c=-1;f!==0&&(c=m/f);let y,p;c<0?(y=e,p=o):c>1?(y=l,p=d):(y=e+c*a,p=o+c*u);const L=s-y,C=t-p;return Math.sqrt(L*L+C*C)}findClosestPointOnLine(i,r){const{x:n,y:s}=r.p0,{x:t,y:e}=r.p1,{x:o,y:l}=i,d=o-n,x=l-s,h=t-n,a=e-s,u=d*h+x*a,m=h*h+a*a;let f=-1;m!==0&&(f=u/m);let c,y;return f<0?(c=n,y=s):f>1?(c=t,y=e):(c=n+f*h,y=s+f*a),{x:c,y}}findClosestLineEnd(i){if(!i)return null;const r=E.getLineEnds(),n=S()?r.filter(o=>o.layer===i.layer):r;let s=null,t=1/0;function e(o,l,d,x){return Math.sqrt((d-o)**2+(x-l)**2)}return n.forEach(o=>{const l=e(i.x,i.y,o.x,o.y);l<t&&(t=l,s=o)}),s}}
@@ -1,5 +1,5 @@
1
- import type { FC } from "react";
2
- import type { RegularBooth } from "../../store/BoothStore";
1
+ import { FC } from "react";
2
+ import { RegularBooth } from "../../store/BoothStore";
3
3
  interface BoothWithoutExhibitorProps {
4
4
  booth: RegularBooth;
5
5
  description: string;
@@ -1 +1 @@
1
- import{jsx as i,jsxs as o}from"react/jsx-runtime";import{t as s}from"../../utils/i18n";import l from"../../data";import{Badge as n,LevelBadge as c}from"../";import{uiState as d}from"../../store";export const BoothOnHold=({booth:e,level:a})=>o("div",{className:"booth__content -reg",children:[i(c,{level:a}),o(n,{variant:"orange",children:[i("i",{className:"icon-hand-solid"}),s("On Hold")]}),o("div",{className:"booth__infos",children:[e.type&&o("div",{className:"booth__info is-onhold",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-box-3d"})}),o("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:s("{{boothTerm}} Type",{boothTerm:l.boothTerm})}),i("div",{className:"booth__info-val",children:e.type})]})]}),e.size&&o("div",{className:"booth__info is-onhold",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),o("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:s("Size")}),i("div",{className:"booth__info-val",children:e.size})]})]}),e.price&&e.price!=="0"&&!d.previewMode&&o("div",{className:"booth__info is-onhold",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-tag"})}),o("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:s("Price")}),i("div",{className:"booth__info-val",children:e.price})]})]})]})]});
1
+ import{jsx as i,jsxs as o}from"react/jsx-runtime";import{t as s}from"../../utils/i18n";import{observer as l}from"mobx-react-lite";import n from"../../data";import{Badge as c,LevelBadge as d}from"../";import{uiState as r}from"../../store";export const BoothOnHold=l(({booth:e,level:a})=>o("div",{className:"booth__content -reg",children:[i(d,{level:a}),o(c,{variant:"orange",children:[i("i",{className:"icon-hand-solid"}),s("On Hold")]}),o("div",{className:"booth__infos",children:[e.type&&o("div",{className:"booth__info is-onhold",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-box-3d"})}),o("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:s("{{boothTerm}} Type",{boothTerm:n.boothTerm})}),i("div",{className:"booth__info-val",children:e.type})]})]}),e.size&&o("div",{className:"booth__info is-onhold",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),o("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:s("Size")}),i("div",{className:"booth__info-val",children:e.size})]})]}),e.price&&e.price!=="0"&&!r.previewMode&&o("div",{className:"booth__info is-onhold",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-tag"})}),o("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:s("Price")}),i("div",{className:"booth__info-val",children:e.price})]})]})]})]}));
@@ -1,2 +1,3 @@
1
- export declare const BoothReserved: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const BoothReserved: React.FunctionComponent<object>;
2
3
  //# sourceMappingURL=BoothReserved.d.ts.map
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{t as r}from"../../utils/i18n";export const BoothReserved=()=>e("div",{className:"booth__content -reg",children:e("div",{children:r("Reserved")})});
1
+ import{jsx as r}from"react/jsx-runtime";import{t as e}from"../../utils/i18n";import{observer as o}from"mobx-react-lite";export const BoothReserved=o(()=>r("div",{className:"booth__content -reg",children:r("div",{children:e("Reserved")})}));
@@ -1,5 +1,5 @@
1
- import type { RegularBooth } from "../../store/BoothStore";
2
- import type { FC } from "react";
1
+ import { RegularBooth } from "../../store/BoothStore";
2
+ import { FC } from "react";
3
3
  interface BoothWithoutExhibitorProps {
4
4
  booth: RegularBooth;
5
5
  description: string;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{t as a}from"../../utils/i18n";import N from"../../data";import d from"../../utils/is-iframe";import{Button as _,LevelBadge as b}from"../";import{uiState as m}from"../../store";export const BoothWithoutExhibitor=({booth:i,description:o,showBuy:h,showReserve:f,isRebooking:l,level:v})=>{const c=t=>{if(t){const s=new URL(t);return!s.searchParams.has("type")&&i.type&&s.searchParams.append("type",i.type),!s.searchParams.has("price")&&i.price&&!m.previewMode&&s.searchParams.append("price",i.price),s}else return null},n=c(i.buyUrl),p=c(i.reserveUrl);return r("div",{className:"booth__content -reg",children:[e(b,{level:v}),r("div",{className:"booth__infos",children:[i.type&&r("div",{className:"booth__info",children:[e("div",{className:"booth__info-icon",children:e("i",{className:"icon-box-3d"})}),r("div",{className:"booth__info-body",children:[e("div",{className:"booth__info-title",children:a("{{boothTerm}} Type",{boothTerm:N.boothTerm})}),e("div",{className:"booth__info-val",children:i.type})]})]}),i.size&&r("div",{className:"booth__info",children:[e("div",{className:"booth__info-icon",children:e("i",{className:"icon-size"})}),r("div",{className:"booth__info-body",children:[e("div",{className:"booth__info-title",children:a("Size")}),e("div",{className:"booth__info-val",children:i.size})]})]}),!l&&i.price&&i.price!=="0"&&!m.previewMode&&r("div",{className:"booth__info",children:[e("div",{className:"booth__info-icon",children:e("i",{className:"icon-tag"})}),r("div",{className:"booth__info-body",children:[e("div",{className:"booth__info-title",children:a("Price")}),e("div",{className:"booth__info-val",children:i.price})]})]})]}),!l&&o&&e("span",{dangerouslySetInnerHTML:{__html:o},className:"booth__reserve-instructions"}),r("div",{className:"booth__buy",children:[!l&&h&&e(_,{link:n?.href,target:d?"_blank":"_self",children:a("Buy")}),!l&&f&&e(_,{link:p?.href||n?.href,target:d?"_blank":"_self",children:a("Reserve")})]})]})};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{t as a}from"../../utils/i18n";import N from"../../data";import d from"../../utils/is-iframe";import{observer as b}from"mobx-react-lite";import{Button as m,LevelBadge as y}from"../";import{uiState as _}from"../../store";export const BoothWithoutExhibitor=b(({booth:i,description:l,showBuy:h,showReserve:f,isRebooking:o,level:v})=>{const c=t=>{if(t){const s=new URL(t);return!s.searchParams.has("type")&&i.type&&s.searchParams.append("type",i.type),!s.searchParams.has("price")&&i.price&&!_.previewMode&&s.searchParams.append("price",i.price),s}else return null},n=c(i.buyUrl),p=c(i.reserveUrl);return r("div",{className:"booth__content -reg",children:[e(y,{level:v}),r("div",{className:"booth__infos",children:[i.type&&r("div",{className:"booth__info",children:[e("div",{className:"booth__info-icon",children:e("i",{className:"icon-box-3d"})}),r("div",{className:"booth__info-body",children:[e("div",{className:"booth__info-title",children:a("{{boothTerm}} Type",{boothTerm:N.boothTerm})}),e("div",{className:"booth__info-val",children:i.type})]})]}),i.size&&r("div",{className:"booth__info",children:[e("div",{className:"booth__info-icon",children:e("i",{className:"icon-size"})}),r("div",{className:"booth__info-body",children:[e("div",{className:"booth__info-title",children:a("Size")}),e("div",{className:"booth__info-val",children:i.size})]})]}),!o&&i.price&&i.price!=="0"&&!_.previewMode&&r("div",{className:"booth__info",children:[e("div",{className:"booth__info-icon",children:e("i",{className:"icon-tag"})}),r("div",{className:"booth__info-body",children:[e("div",{className:"booth__info-title",children:a("Price")}),e("div",{className:"booth__info-val",children:i.price})]})]})]}),!o&&l&&e("span",{dangerouslySetInnerHTML:{__html:l},className:"booth__reserve-instructions"}),r("div",{className:"booth__buy",children:[!o&&h&&e(m,{link:n?.href,target:d?"_blank":"_self",children:a("Buy")}),!o&&f&&e(m,{link:p?.href||n?.href,target:d?"_blank":"_self",children:a("Reserve")})]})]})});
@@ -1 +1 @@
1
- import{jsx as i,jsxs as a,Fragment as C}from"react/jsx-runtime";import p from"classnames";import{useLocalStore as Z,useObserver as T}from"mobx-react-lite";import ee,{Suspense as O,useRef as y,useState as I,useEffect as ie}from"react";import f from"../data";import l,{uiState as r}from"../store";import{RegularBooth as te}from"../store/BoothStore";import{GaEventActions as d,sendEventToGa as D}from"../tools/gtag";import oe from"../tools/logger";import S from"../tools/settings";import{t as m,getLocale as re}from"../utils/i18n";import ne from"../utils/is-mobile";import{useReaction as ae}from"../utils/mobx";import U from"./Button";import G from"./ErrorBoundary";import"./Exhibitor.scss";import se from"./MarketMaterialList";import le from"./RebookingNotes";import ce,{defaultRebookingOptions as de}from"./RebookingRadioGroup";import he from"./Schedule";import me from"./SidebarActions";import ue from"../utils/useHeatmapOverlay";import be from"./Alert";import{Transition as ke}from"react-transition-group";const z=ee.lazy(()=>import("./Gallery/Gallery"));function ge(){const w=y(),o=Z(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return r.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return r.kiosk?!1:!!["facebook","instagram","linkedin","twitter","googlePlus","xing","youtube"].find(e=>this.exhibitor[e])},get anyAddress(){return!!["address","address2","phone1","website","email"].find(e=>this.exhibitor[e])},get anyMedia(){return!!this.exhibitor.videoUrl||!!(this.exhibitor.gallery&&this.exhibitor.gallery.length)},get anyButtons(){return!!(this.exhibitor.customButtonTitle||this.exhibitor.customButton2Title||this.exhibitor.customButton3Title)},get disableCollapse(){return!this.anySocial&&!this.anyAddress&&!this.anyMedia&&!this.anyButtons||r.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(f.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=ue(o.exhibitor),[x,M]=I(!1),[_,B]=I(!1),v=y(null);ie(()=>((()=>{if(v.current){const c=v.current.offsetHeight;M(c>300)}})(),()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}),[]),ae(()=>o.exhibitor,()=>{w.current&&(w.current.parentElement.scrollTop=0),o.collapsed=!0});function N(e,c){if(u(c),r.kiosk)return e.preventDefault()}function H(e,c,h){D(d.ClickCustomButton,o.exhibitor.name);const b={externalId:o.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:h.preventDefault.bind(h)};r.onExhibitorCustomButtonClick&&r.onExhibitorCustomButtonClick(b)}function u(e){D(e,o.exhibitor.name)}const E=y(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},L=150;return T(()=>{const e=o.exhibitor,c=f.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof te&&s.size&&t.add(s.size);const n=Array.from(t);return a("div",{children:[n.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:a("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),a("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:m("Size")}),i("div",{className:"booth__info-val",children:n.join(", ")})]})]})}),i(ce,{showTitle:!1,options:de,checked:e.rebookingState.toString(),onChange:s=>l.exhibitorStore.setRebookingState(e,parseInt(s.target.value),e.rebookingNote)}),i(le,{state:"default",value:e.rebookingNote||"",onClickSave:s=>l.exhibitorStore.setRebookingState(e,e.rebookingState,s)}),i(ke,{in:l.exhibitorStore.rebookingStateChangeRequested,nodeRef:E,timeout:L,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:E,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${L}ms ease-in-out`,opacity:0,...V[s]},children:i(be,{title:l.exhibitorStore.rebookingStateSaved?m("Changes saved."):m("Oops! Something went wrong."),variant:l.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,h=p({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[r.responsiveClass]:!0}),b=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function k(t,n,s){return!t||!n||r.kiosk||r.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(U,{link:n,inline:!0,onClick:g=>{H(s,n,g)},target:"_blank",children:t})},s)}const W=({exhibitor:t})=>{const s=[k(t.customButtonTitle,t.customButtonUrl,1),k(t.customButton2Title,t.customButton2Url,2),k(t.customButton3Title,t.customButton3Url,3)].filter(Boolean);return s.length===0?null:i("div",{className:"exhibitor-custom-buttons",children:s})};function X(t){if(t===null)return"";const n=t.split(RegExp("(?=!\\*\\/\\/\\|\\|\\^\\^[a-z]{2}\\^\\^\\/\\/\\|\\|\\*!)")),s=`!*//||^^${re()}^^//||*!`,g=n.find(Q=>Q.startsWith(s));return g!=null?g.substring(18):n[0].startsWith("!*//||^^")&&n[0].length>18?n[0].substring(18):n[0]}function K(){return!f.hideShareButton&&!r.kiosk&&window.location.host.endsWith(".expofp.com")&&S.EXPO!=="globalaltsmiami2024"}function R(){o.updateOverlayContent()}const J=t=>/^\d+$/.test(t),Y=t=>f.shortLevelName?t.layer?.shortName:t.layer?.description;return a("div",{className:h,"aria-label":m("Details"),children:[a("div",{className:"exhibitor__header",children:[a("div",{className:"exhibitor__header-name",children:[i("div",{className:"exhibitor__header-icon",children:i("i",{className:"icon-exhibitor-solid"})}),i("span",{dir:"auto",children:e.name}),A]}),i("button",{type:"button",onClick:()=>l.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||a(C,{children:[i("div",{className:"exhibitor__buttons",children:!r.isGuidedToursActive&&i(me,{showBookmark:!r.disableBookmarked&&!f.hideBookmarks&&!r.kiosk,showDirections:e.booths.length>0&&S.wayfinding,inBookmark:o.exhibitor.bookmarked,showShare:K(),showVisited:!r.kiosk,visited:o.exhibitor.visited,onClickBookmark:$,onClickShare:P,onClickDirections:()=>{l.routeStore.clickRoute(null,l.routeStore.tempToBooth||e.booths[0])},onClickVisited:F})}),e.leadingImageUrl?i("div",{className:"exhibitor__leading-image-container exhibitor-slider",children:e.leadingImageLinkUrl?i("a",{href:e.leadingImageLinkUrl,target:"_blank",rel:"noopener noreferrer",children:i("img",{src:e.leadingImageUrl,className:"exhibitor__leading-image",alt:"",crossOrigin:"anonymous"})}):i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,leading:!0,images:[e.leadingImageUrl]})})})}):null,a("div",{className:p("exhibitor__details",{"details-hidden":r.kiosk&&x&&!_}),ref:v,children:[a("div",{className:p("exhibitor-categories",{"is-links-disabled":r.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:"Featured"}),e.booths.map(t=>{const n=Y(t),s=g=>{g.preventDefault(),l.toggleMapOverlay(),l.selectBooth(t)};return a("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),n&&a("div",{className:"exhibitor-categories__booth-level",children:[J(n)?"Level ":"",n]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:n=>{n.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?a("div",{className:p("exhibitor-description",{collapsed:o.collapsed&&!o.disableCollapse}),children:[e.logo?i("div",{className:p("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:X(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(he,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,n)=>new Date(t.startDate).getTime()-new Date(n.startDate).getTime())}),!r.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:m("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(d.ViewGallery),children:i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,images:e.gallery})})})}),!r.kiosk&&e.marketMaterials&&a(C,{children:[i("div",{className:"exhibitor-sep"}),i(se,{list:e.marketMaterials})]}),o.showEdit&&i("div",{className:"exhibitor-sep"}),!r.kiosk&&o.showEdit&&i("div",{className:"exhibitor-edit",children:i(U,{size:"sm",variant:"secondary",onClick:q,children:m("Edit")})}),o.anyAddress&&a("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),a("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&a("div",{children:[e.city,!!(e.city&&e.state)&&i("span",{children:" "}),e.state,!!(e.state&&e.zip)&&i("span",{children:"\xA0"})," ",e.zip]}),!!e.country&&i("div",{children:e.country})]})]}),!!e.phone1&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-phone-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{dir:"ltr",href:"tel:"+e.phone1,className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickPhone),children:e.phone1})})]}),!!e.website&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-globe-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickWebsite),children:o.websiteTrimmed})})]}),!!e.email&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-mail-at-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:"mailto:"+e.email,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickEmail),children:e.email})})]}),o.anySocial&&a("div",{className:"exhibitor-meta__socials",children:[i("a",{href:e.facebook,className:"exhibitor-meta__social",onClick:()=>u(d.ClickFacebook),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-facebook"})}),i("a",{href:e.instagram,className:"exhibitor-meta__social",onClick:()=>u(d.ClickInstagaram),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-instagram"})}),i("a",{href:e.linkedin,className:"exhibitor-meta__social",onClick:()=>u(d.ClickLinkedin),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-linkedin"})}),i("a",{href:e.twitter,className:"exhibitor-meta__social",onClick:()=>u(d.ClickTwitter),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-twitter-x"})}),i("a",{href:e.xing,className:"exhibitor-meta__social",onClick:()=>u(d.ClickXing),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-xing"})}),i("a",{href:e.youtube,className:"exhibitor-meta__social",onClick:()=>u(d.ClickYoutube),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-youtube"})})]})]}),i(W,{exhibitor:e})]}),r.kiosk&&x&&!_?i("div",{className:"show-details-button",children:i("button",{type:"button",onClick:()=>B(!0),children:m("Show More")})}):null]}),r.kiosk&&x&&_?i("button",{type:"button",className:"hide-details-button",onClick:()=>B(!1),children:i("i",{className:"icon-chevron-up-narrow"})}):null]})});function P(){const e=window.navigator,c={title:r.selectedExhibitor.name,url:window.location.href};ne&&e?.canShare&&e.canShare(c)?e.share(c):l.toggleModal("share")}function j(e){l.clickCategory(e)}function q(e){if(r.kiosk)return e.preventDefault();e.target.blur();const c=o.sendLinkEmail;if(!window.confirm(m("Send login instructions to {{email}} to edit profile?",{email:c}))||S.EXPO==="expo")return;const h=new XMLHttpRequest;h.open("POST",f.sendLoginLinkUrl),h.setRequestHeader("Content-Type","application/json");function b(){alert(m("Error sending login instructions"))}h.onload=function(k){if(this.status!==200){b();return}alert(m("A link to edit profile was sent to {{email}}",{email:c}))},h.onerror=function(k){oe.error("Error",k),b()},h.send(JSON.stringify({id:o.exhibitor.id}))}function $(){o.exhibitor.bookmarked=!o.exhibitor.bookmarked,r.onBookmarkClick&&r.onBookmarkClick({name:o.exhibitor.name,bookmarked:o.exhibitor.bookmarked,externalId:o.exhibitor.externalId})}function F(){o.exhibitor.visited=!o.exhibitor.visited,r.onVisitedClick&&r.onVisitedClick({name:o.exhibitor.name,visited:o.exhibitor.visited,externalId:o.exhibitor.externalId})}}export default()=>T(()=>i(C,{children:!r.menu&&r.selectedExhibitor?i(ge,{}):null}));
1
+ import{jsx as i,jsxs as a,Fragment as C}from"react/jsx-runtime";import p from"classnames";import{useLocalStore as Z,useObserver as T}from"mobx-react-lite";import ee,{Suspense as O,useRef as y,useState as I,useEffect as ie}from"react";import f from"../data";import l,{uiState as r}from"../store";import{RegularBooth as te}from"../store/BoothStore";import{GaEventActions as d,sendEventToGa as D}from"../tools/gtag";import oe from"../tools/logger";import S from"../tools/settings";import{t as m,getLocale as re}from"../utils/i18n";import ne from"../utils/is-mobile";import{useReaction as ae}from"../utils/mobx";import U from"./Button";import G from"./ErrorBoundary";import"./Exhibitor.scss";import se from"./MarketMaterialList";import le from"./RebookingNotes";import ce,{defaultRebookingOptions as de}from"./RebookingRadioGroup";import he from"./Schedule";import me from"./SidebarActions";import ue from"../utils/useHeatmapOverlay";import be from"./Alert";import{Transition as ke}from"react-transition-group";const z=ee.lazy(()=>import("./Gallery/Gallery"));function ge(){const w=y(),o=Z(()=>({collapsed:!0,updateOverlayContent:null,get exhibitor(){return r.selectedExhibitor},get websiteTrimmed(){return this.exhibitor.website?this.exhibitor.website.replace(/^(http(s?):\/\/)([^/]+)(\/)?$/i,"$3"):""},get anySocial(){return r.kiosk?!1:!!["facebook","instagram","linkedin","twitter","googlePlus","xing","youtube"].find(e=>this.exhibitor[e])},get anyAddress(){return!!["address","address2","phone1","website","email"].find(e=>this.exhibitor[e])},get anyMedia(){return!!this.exhibitor.videoUrl||!!(this.exhibitor.gallery&&this.exhibitor.gallery.length)},get anyButtons(){return!!(this.exhibitor.customButtonTitle||this.exhibitor.customButton2Title||this.exhibitor.customButton3Title)},get disableCollapse(){return!this.anySocial&&!this.anyAddress&&!this.anyMedia&&!this.anyButtons||r.overlayPosition==="left"&&(this.exhibitor.description||"").length<800},get showEdit(){return!!(f.sendLoginLinkUrl&&this.sendLinkEmail)},get sendLinkEmail(){return this.exhibitor.privateEmail||this.exhibitor.email}})),{heatmapBar:A}=ue(o.exhibitor),[x,M]=I(!1),[_,B]=I(!1),v=y(null);ie(()=>((()=>{if(v.current){const c=v.current.offsetHeight;M(c>300)}})(),()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}),[]),ae(()=>o.exhibitor,()=>{w.current&&(w.current.parentElement.scrollTop=0),o.collapsed=!0});function N(e,c){if(u(c),r.kiosk)return e.preventDefault()}function H(e,c,h){D(d.ClickCustomButton,o.exhibitor.name);const b={externalId:o.exhibitor.externalId,buttonNumber:e,buttonUrl:c,preventDefault:h.preventDefault.bind(h)};r.onExhibitorCustomButtonClick&&r.onExhibitorCustomButtonClick(b)}function u(e){D(e,o.exhibitor.name)}const E=y(),V={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},L=150;return T(()=>{const e=o.exhibitor,c=f.isRebooking?(()=>{const t=new Set;for(const s of e.booths)s instanceof te&&s.size&&t.add(s.size);const n=Array.from(t);return a("div",{children:[n.length>0&&i("div",{className:"booth__infos",style:{padding:"0 15px",marginBottom:"1rem"},children:a("div",{className:"booth__info",children:[i("div",{className:"booth__info-icon",children:i("i",{className:"icon-size"})}),a("div",{className:"booth__info-body",children:[i("div",{className:"booth__info-title",children:m("Size")}),i("div",{className:"booth__info-val",children:n.join(", ")})]})]})}),i(ce,{showTitle:!1,options:de,checked:e.rebookingState.toString(),onChange:s=>l.exhibitorStore.setRebookingState(e,parseInt(s.target.value),e.rebookingNote)}),i(le,{state:"default",value:e.rebookingNote||"",onClickSave:s=>l.exhibitorStore.setRebookingState(e,e.rebookingState,s)}),i(ke,{in:l.exhibitorStore.rebookingStateChangeRequested,nodeRef:E,timeout:L,appear:!0,enter:!0,exit:!0,mountOnEnter:!0,unmountOnExit:!0,children:s=>i("div",{ref:E,style:{position:"fixed",bottom:"1rem",left:"1rem",zIndex:9999,transition:`opacity ${L}ms ease-in-out`,opacity:0,...V[s]},children:i(be,{title:l.exhibitorStore.rebookingStateSaved?m("Changes saved"):m("Oops! Something went wrong"),variant:l.exhibitorStore.rebookingStateSaved?"success":"error",inline:!0,closable:!0,onClose:()=>{l.exhibitorStore.rebookingStateChangeRequested=!1}})})})]})})():null,h=p({exhibitor:!0,"is-featured":e.featured,bookmarked:e.bookmarked,[r.responsiveClass]:!0}),b=()=>{o.collapsed=!1,setTimeout(o.updateOverlayContent)};function k(t,n,s){return!t||!n||r.kiosk||r.previewMode?null:i("div",{className:"exhibitor-custom-button",children:i(U,{link:n,inline:!0,onClick:g=>{H(s,n,g)},target:"_blank",children:t})},s)}const W=({exhibitor:t})=>{const s=[k(t.customButtonTitle,t.customButtonUrl,1),k(t.customButton2Title,t.customButton2Url,2),k(t.customButton3Title,t.customButton3Url,3)].filter(Boolean);return s.length===0?null:i("div",{className:"exhibitor-custom-buttons",children:s})};function X(t){if(t===null)return"";const n=t.split(RegExp("(?=!\\*\\/\\/\\|\\|\\^\\^[a-z]{2}\\^\\^\\/\\/\\|\\|\\*!)")),s=`!*//||^^${re()}^^//||*!`,g=n.find(Q=>Q.startsWith(s));return g!=null?g.substring(18):n[0].startsWith("!*//||^^")&&n[0].length>18?n[0].substring(18):n[0]}function K(){return!f.hideShareButton&&!r.kiosk&&window.location.host.endsWith(".expofp.com")&&S.EXPO!=="globalaltsmiami2024"}function R(){o.updateOverlayContent()}const J=t=>/^\d+$/.test(t),Y=t=>f.shortLevelName?t.layer?.shortName:t.layer?.description;return a("div",{className:h,"aria-label":m("Details"),children:[a("div",{className:"exhibitor__header",children:[a("div",{className:"exhibitor__header-name",children:[i("div",{className:"exhibitor__header-icon",children:i("i",{className:"icon-exhibitor-solid"})}),i("span",{dir:"auto",children:e.name}),A]}),i("button",{type:"button",onClick:()=>l.searchStore.handleBackAction(),className:"exhibitor__header-close",children:i("i",{className:"icon-close"})})]}),c||a(C,{children:[i("div",{className:"exhibitor__buttons",children:!r.isGuidedToursActive&&i(me,{showBookmark:!r.disableBookmarked&&!f.hideBookmarks&&!r.kiosk,showDirections:e.booths.length>0&&S.wayfinding,inBookmark:o.exhibitor.bookmarked,showShare:K(),showVisited:!r.kiosk,visited:o.exhibitor.visited,onClickBookmark:$,onClickShare:P,onClickDirections:()=>{l.routeStore.clickRoute(null,l.routeStore.tempToBooth||e.booths[0])},onClickVisited:F})}),e.leadingImageUrl?i("div",{className:"exhibitor__leading-image-container exhibitor-slider",children:e.leadingImageLinkUrl?i("a",{href:e.leadingImageLinkUrl,target:"_blank",rel:"noopener noreferrer",children:i("img",{src:e.leadingImageUrl,className:"exhibitor__leading-image",alt:"",crossOrigin:"anonymous"})}):i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,leading:!0,images:[e.leadingImageUrl]})})})}):null,a("div",{className:p("exhibitor__details",{"details-hidden":r.kiosk&&x&&!_}),ref:v,children:[a("div",{className:p("exhibitor-categories",{"is-links-disabled":r.isGuidedToursActive}),children:[e.featured&&i("div",{className:"exhibitor-featured",children:"Featured"}),e.booths.map(t=>{const n=Y(t),s=g=>{g.preventDefault(),l.toggleMapOverlay(),l.selectBooth(t)};return a("a",{href:`?${t.slug}`,onClick:s,className:"exhibitor-categories__booth",children:[i("div",{className:"exhibitor-categories__booth-name",children:t.name}),n&&a("div",{className:"exhibitor-categories__booth-level",children:[J(n)?"Level ":"",n]})]},t.id)}),e.categories.map(t=>i("a",{href:"?"+encodeURIComponent(t.slug),onClick:n=>{n.preventDefault(),j(t)},className:t.sponsorship?"exhibitor-categories__sponsorship":"exhibitor-categories__cat",children:t.name},t.id))]}),e.description||e.logo?a("div",{className:p("exhibitor-description",{collapsed:o.collapsed&&!o.disableCollapse}),children:[e.logo?i("div",{className:p("exhibitor-description__logo",{"exhibitor-description__logo--left":!e.description}),children:i("img",{src:e.logo,alt:e.name,crossOrigin:"anonymous"})}):null,e.description?i("span",{className:"exhibitor-description__content",dir:"auto",dangerouslySetInnerHTML:{__html:X(e.description)},onClick:b}):null]}):null,(!!e.schedule?.length||!!e.booths[0]?.schedule.length)&&i(he,{events:[...e.schedule||e.booths[0]?.schedule||[]].sort((t,n)=>new Date(t.startDate).getTime()-new Date(n.startDate).getTime())}),!r.kiosk&&e.videoUrl&&navigator.onLine&&i("div",{className:"exhibitor-video",children:i("iframe",{src:e.videoUrl,"data-allow":"encrypted-media; autoplay; fullscreen",title:m("Exhibitor Video"),allowFullScreen:!0})}),e.gallery&&i("div",{className:"exhibitor-slider",onClick:()=>u(d.ViewGallery),children:i(G,{children:i(O,{fallback:null,children:i(z,{className:r.responsiveClass,onOpenGallery:()=>l.openGallery(),onCloseGallery:()=>l.closeGallery(),onImageLoadHeightUpdate:R,images:e.gallery})})})}),!r.kiosk&&e.marketMaterials&&a(C,{children:[i("div",{className:"exhibitor-sep"}),i(se,{list:e.marketMaterials})]}),o.showEdit&&i("div",{className:"exhibitor-sep"}),!r.kiosk&&o.showEdit&&i("div",{className:"exhibitor-edit",children:i(U,{size:"sm",variant:"secondary",onClick:q,children:m("Edit")})}),o.anyAddress&&a("div",{className:"exhibitor-meta",children:[!!(e.address||e.address2)&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-marker-pin-solid"})}),a("div",{className:"exhibitor-meta__content",children:[e.address,!!e.address2&&i("div",{children:e.address2}),!!(e.city||e.state||e.zip)&&a("div",{children:[e.city,!!(e.city&&e.state)&&i("span",{children:" "}),e.state,!!(e.state&&e.zip)&&i("span",{children:"\xA0"})," ",e.zip]}),!!e.country&&i("div",{children:e.country})]})]}),!!e.phone1&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-phone-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{dir:"ltr",href:"tel:"+e.phone1,className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickPhone),children:e.phone1})})]}),!!e.website&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-globe-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickWebsite),children:o.websiteTrimmed})})]}),!!e.email&&a("div",{className:"exhibitor-meta__item",children:[i("div",{className:"exhibitor-meta__icon",children:i("i",{className:"icon-mail-at-solid"})}),i("div",{className:"exhibitor-meta__content",children:i("a",{href:"mailto:"+e.email,target:"_blank",rel:"noopener noreferrer",className:"exhibitor-meta__link",onClick:t=>N(t,d.ClickEmail),children:e.email})})]}),o.anySocial&&a("div",{className:"exhibitor-meta__socials",children:[i("a",{href:e.facebook,className:"exhibitor-meta__social",onClick:()=>u(d.ClickFacebook),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-facebook"})}),i("a",{href:e.instagram,className:"exhibitor-meta__social",onClick:()=>u(d.ClickInstagaram),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-instagram"})}),i("a",{href:e.linkedin,className:"exhibitor-meta__social",onClick:()=>u(d.ClickLinkedin),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-linkedin"})}),i("a",{href:e.twitter,className:"exhibitor-meta__social",onClick:()=>u(d.ClickTwitter),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-twitter-x"})}),i("a",{href:e.xing,className:"exhibitor-meta__social",onClick:()=>u(d.ClickXing),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-xing"})}),i("a",{href:e.youtube,className:"exhibitor-meta__social",onClick:()=>u(d.ClickYoutube),target:"_blank",rel:"noopener noreferrer",children:i("i",{className:"icon-youtube"})})]})]}),i(W,{exhibitor:e})]}),r.kiosk&&x&&!_?i("div",{className:"show-details-button",children:i("button",{type:"button",onClick:()=>B(!0),children:m("Show More")})}):null]}),r.kiosk&&x&&_?i("button",{type:"button",className:"hide-details-button",onClick:()=>B(!1),children:i("i",{className:"icon-chevron-up-narrow"})}):null]})});function P(){const e=window.navigator,c={title:r.selectedExhibitor.name,url:window.location.href};ne&&e?.canShare&&e.canShare(c)?e.share(c):l.toggleModal("share")}function j(e){l.clickCategory(e)}function q(e){if(r.kiosk)return e.preventDefault();e.target.blur();const c=o.sendLinkEmail;if(!window.confirm(m("Send login instructions to {{email}} to edit profile?",{email:c}))||S.EXPO==="expo")return;const h=new XMLHttpRequest;h.open("POST",f.sendLoginLinkUrl),h.setRequestHeader("Content-Type","application/json");function b(){alert(m("Error sending login instructions"))}h.onload=function(k){if(this.status!==200){b();return}alert(m("A link to edit profile was sent to {{email}}",{email:c}))},h.onerror=function(k){oe.error("Error",k),b()},h.send(JSON.stringify({id:o.exhibitor.id}))}function $(){o.exhibitor.bookmarked=!o.exhibitor.bookmarked,r.onBookmarkClick&&r.onBookmarkClick({name:o.exhibitor.name,bookmarked:o.exhibitor.bookmarked,externalId:o.exhibitor.externalId})}function F(){o.exhibitor.visited=!o.exhibitor.visited,r.onVisitedClick&&r.onVisitedClick({name:o.exhibitor.name,visited:o.exhibitor.visited,externalId:o.exhibitor.externalId})}}export default()=>T(()=>i(C,{children:!r.menu&&r.selectedExhibitor?i(ge,{}):null}));
@@ -4,6 +4,6 @@ interface GalleryControlsProps {
4
4
  zoomOut: () => void;
5
5
  onClose: () => void;
6
6
  }
7
- declare const GalleryControls: React.FC<GalleryControlsProps>;
8
- export default GalleryControls;
7
+ declare const _default: React.FunctionComponent<GalleryControlsProps>;
8
+ export default _default;
9
9
  //# sourceMappingURL=GalleryControls.d.ts.map
@@ -1 +1 @@
1
- import{jsx as l,jsxs as s}from"react/jsx-runtime";import{t as o}from"../../../utils/i18n";const r=({zoomIn:e,zoomOut:a,onClose:i})=>s("div",{className:"gallery-slider__controls",children:[l("button",{className:"gallery-slider__btn close",title:o("Close"),"aria-label":o("Close"),onClick:i,children:l("i",{className:"icon-close","aria-hidden":"true"})}),l("button",{className:"gallery-slider__btn zoom-in",title:o("Zoom In"),"aria-label":o("Zoom In"),onClick:()=>e(),children:l("i",{className:"icon-zoom-in","aria-hidden":"true"})}),l("button",{className:"gallery-slider__btn zoom-out",title:o("Zoom Out"),"aria-label":o("Zoom Out"),onClick:()=>a(),children:l("i",{className:"icon-zoom-out","aria-hidden":"true"})})]});export default r;
1
+ import{jsx as l,jsxs as r}from"react/jsx-runtime";import{observer as s}from"mobx-react-lite";import{t as o}from"../../../utils/i18n";const t=({zoomIn:e,zoomOut:a,onClose:i})=>r("div",{className:"gallery-slider__controls",children:[l("button",{className:"gallery-slider__btn close",title:o("Close"),"aria-label":o("Close"),onClick:i,children:l("i",{className:"icon-close","aria-hidden":"true"})}),l("button",{className:"gallery-slider__btn zoom-in",title:o("Zoom In"),"aria-label":o("Zoom In"),onClick:()=>e(),children:l("i",{className:"icon-zoom-in","aria-hidden":"true"})}),l("button",{className:"gallery-slider__btn zoom-out",title:o("Zoom Out"),"aria-label":o("Zoom Out"),onClick:()=>a(),children:l("i",{className:"icon-zoom-out","aria-hidden":"true"})})]});export default s(t);
@@ -7,6 +7,6 @@ interface GalleryModalProps {
7
7
  onClose: () => void;
8
8
  className?: string;
9
9
  }
10
- declare const GalleryModal: React.FC<GalleryModalProps>;
11
- export default GalleryModal;
10
+ declare const _default: React.FunctionComponent<GalleryModalProps>;
11
+ export default _default;
12
12
  //# sourceMappingURL=GalleryModal.d.ts.map
@@ -1 +1 @@
1
- import{jsx as e,jsxs as w}from"react/jsx-runtime";import{useRef as o,useState as d}from"react";import{createPortal as z}from"react-dom";import{Navigation as y}from"swiper";import{Swiper as R,SwiperSlide as _}from"swiper/react";import{TransformWrapper as j}from"react-zoom-pan-pinch-sr";import T from"../GalleryControls/GalleryControls";import O from"../TransformImg/TransformImg";import{t as p}from"../../../utils/i18n";import{useRenderTarget as P}from"../../../utils/useRenderTarget";import"./GalleryModal.scss";import E from"classnames";const G=u=>{const{images:n,leading:f,initialSlideIndex:t,onClose:g,className:x}=u,i=P(),[s,h]=d(t),[l,S]=d([]),a=o(null),m=o(null),c=o(null),v={initialSlide:t,draggable:!1,modules:[y],spaceBetween:50,slidesPerView:1,navigation:{prevEl:m.current,nextEl:c.current},grabCursor:!0},C=e("div",{className:E("gallery-modal",x),children:w(R,{onSwiper:r=>a.current=r,className:"gallery-slider",onSlideChange:r=>{h(r.activeIndex),l[r.previousIndex]?.resetTransform()},...v,children:[l.length?e(T,{onClose:g,zoomIn:l[s].zoomIn,zoomOut:l[s].zoomOut}):null,n.length>1&&e("button",{ref:c,title:p("Next slide"),"aria-label":"\u02C3",className:"gallery-slider__btn next",children:e("i",{className:"icon-chevron-right"})}),n.length>1&&e("button",{ref:m,title:p("Prev slide"),"aria-label":"\u02C2",className:"gallery-slider__btn prev",children:e("i",{className:"icon-chevron-left"})}),n.map((r,N)=>e(_,{children:e(j,{initialScale:1,alignmentAnimation:{sizeX:0,sizeY:0},onInit:I=>{S(b=>[...b,I])},children:e(O,{leading:f,swiperRef:a,url:r})})},r+N))]})});return i?z(C,i):null};export default G;
1
+ import{jsx as e,jsxs as w}from"react/jsx-runtime";import{useRef as n,useState as d}from"react";import{createPortal as z}from"react-dom";import{observer as y}from"mobx-react-lite";import{Navigation as R}from"swiper";import{Swiper as _,SwiperSlide as j}from"swiper/react";import{TransformWrapper as T}from"react-zoom-pan-pinch-sr";import O from"../GalleryControls/GalleryControls";import P from"../TransformImg/TransformImg";import{t as p}from"../../../utils/i18n";import{useRenderTarget as E}from"../../../utils/useRenderTarget";import"./GalleryModal.scss";import G from"classnames";const U=f=>{const{images:l,leading:u,initialSlideIndex:t,onClose:g,className:x}=f,i=E(),[s,h]=d(t),[o,S]=d([]),a=n(null),m=n(null),c=n(null),v={initialSlide:t,draggable:!1,modules:[R],spaceBetween:50,slidesPerView:1,navigation:{prevEl:m.current,nextEl:c.current},grabCursor:!0},C=e("div",{className:G("gallery-modal",x),children:w(_,{onSwiper:r=>a.current=r,className:"gallery-slider",onSlideChange:r=>{h(r.activeIndex),o[r.previousIndex]?.resetTransform()},...v,children:[o.length?e(O,{onClose:g,zoomIn:o[s].zoomIn,zoomOut:o[s].zoomOut}):null,l.length>1&&e("button",{ref:c,title:p("Next slide"),"aria-label":"\u02C3",className:"gallery-slider__btn next",children:e("i",{className:"icon-chevron-right"})}),l.length>1&&e("button",{ref:m,title:p("Prev slide"),"aria-label":"\u02C2",className:"gallery-slider__btn prev",children:e("i",{className:"icon-chevron-left"})}),l.map((r,N)=>e(j,{children:e(T,{initialScale:1,alignmentAnimation:{sizeX:0,sizeY:0},onInit:b=>{S(I=>[...I,b])},children:e(P,{leading:u,swiperRef:a,url:r})})},r+N))]})});return i?z(C,i):null};export default y(U);
@@ -1 +1 @@
1
- import{runInAction as a}from"mobx";import{RouteCutIn as n}from"../../RouteCutIn";import e from"../../store";import{getName as o,getSlug as m}from"./SetKiosk";export function integrateKioskIntoMap(t,r){t&&a(()=>{e.uiState.setKioskData(t),e.uiState.kiosk=r,e.uiState.setMapSettings({centerxy:`${t.mapCenterX},${t.mapCenterY}`,z:t.z,bearing:t.mapRollDegrees}),e.uiState.changeZoom(t.mapInitialPtScale/t.mapPtScale)})}export function integrateKioskIntoWf(t){if(!t)return;const r={x:t.x,y:t.y,layer:t.z?.toString()};e.routeStore.defaultFrom=new n(Number.MAX_SAFE_INTEGER,o(),r,m()),r.layer&&e.fp.activateFloor({name:r.layer})}
1
+ import{runInAction as a}from"mobx";import{RouteCutIn as n}from"../../RouteCutIn";import e from"../../store";import{getName as o,getSlug as m}from"./SetKiosk";export function integrateKioskIntoMap(t,r){t&&a(()=>{e.uiState.setKioskData(t),e.uiState.kiosk=r,e.uiState.setMapSettings({centerxy:`${t.mapCenterX},${t.mapCenterY}`,z:t.z,bearing:t.mapRollDegrees}),t.mapPtScale&&e.uiState.changeZoom(t.mapInitialPtScale/t.mapPtScale)})}export function integrateKioskIntoWf(t){if(!t)return;const r={x:t.x,y:t.y,layer:t.z?.toString()};e.routeStore.defaultFrom=new n(Number.MAX_SAFE_INTEGER,o(),r,m()),r.layer&&e.fp.activateFloor({name:r.layer})}
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{observer as o}from"mobx-react-lite";import a from"../data";import{uiState as e}from"../store";import m from"./List";import{useRef as i}from"react";const s=o(()=>{const r=i();return!a.hideLanguage&&!e.details&&e.list.type==="language"&&t(m,{updatedScrollableRef:r})});export default s;
1
+ import{jsx as t}from"react/jsx-runtime";import{observer as e}from"mobx-react-lite";import{LANGUAGE_TYPE as m}from"../constants";import a from"../data";import{uiState as r}from"../store";import i from"./List";import{useRef as f}from"react";const s=e(()=>{const o=f();return!a.hideLanguage&&!r.details&&r.list.type===m&&t(i,{updatedScrollableRef:o})});export default s;
@@ -1,4 +1,3 @@
1
- import type { Language } from "../store/LanguageStore";
2
1
  import React from "react";
3
2
  import "./LanguageRow.scss";
4
3
  declare const LanguageRow: React.FunctionComponent<{
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import o from"../store";import{observer as r}from"mobx-react-lite";import g from"./Radio";import"./LanguageRow.scss";const n=r(({item:a})=>e(g,{label:a.name,value:a.id,checked:a.selected,className:"language-row","aria-label":`Change language to ${a.name}`,onChange:()=>o.languageStore.changeLanguage(a.id)}));export default n;
1
+ import{jsx as o}from"react/jsx-runtime";import{getLocale as e,setLocale as r}from"../utils/i18n";import{observer as l}from"mobx-react-lite";import n from"./Radio";import"./LanguageRow.scss";const g=l(({item:a})=>o(n,{label:a.name,value:a.id,checked:a.id===e(),className:"language-row","aria-label":`Change language to ${a.name}`,onChange:()=>r(a.id)}));export default g;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as g}from"react/jsx-runtime";import{observer as z}from"mobx-react-lite";import r,{Suspense as a,useEffect as E,useState as M}from"react";import w from"classnames";import t,{layersStore as d,uiState as o}from"../store";import f from"../tools/settings";import{isWebGlSupported as L}from"../utils";import R from"../utils/is-debug";import O from"../utils/is-iframe";import G from"./Controls";import D from"./LevelSelector";import T from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import A from"./LogoOverlay";import B from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import{CategoryFilterModal as P}from"./CategoryFilterModal";import I from"./SessionsFiltersModal";import V from"./SpeakersFiltersModal";import $ from"./Map/Map";import{MapLoader as H}from"./Mapbox/MapLoader";import K from"./OverlayContainer";import _ from"./Share";import N from"./Ws";import{LayersMode as y}from"../store/LayerStore";import U from"./LayersLoading";import{fpGeo as W}from"./Mapbox/utils/fpGeo";import{checkUserIsGDPR as X,GaEventActions as n,hasUserConsent as q,sendEventToGa as l,setConsentSettings as S,setCookieConsent as C}from"../tools/gtag";import Y from"./HeatmapLegend";import{useReaction as m}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";const Z=r.lazy(()=>import("./Demo")),ee=r.lazy(()=>import("./Free")),oe=r.lazy(()=>import("./Debug")),te=r.lazy(()=>import("./Mapbox/Mapbox")),ie=r.lazy(()=>import("./Threejs/ThreeComponent")),re=r.lazy(()=>import("./Modal")),ae=r.lazy(()=>import("./CookieConsent")),le=r.lazy(()=>import("./GpsLoader")),se=r.lazy(()=>import("./Kiosk/SetKioskMode")),ne=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default z(function({offHistory:b,allowConsent:p}){const[u,c]=M(!1);let s=null;o.bannerType==="demo"?s=e(Z,{}):o.bannerType==="free"&&(s=e(ee,{}));const v=()=>{C(!0),S(),t.uiState.hideCookieConsent=!0},x=()=>{C(!1),S(),t.uiState.hideCookieConsent=!0};E(()=>{async function i(){const k=await X();c(!!(k||k===null))}q(p)?c(!0):i()},[]),m(()=>o.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(J("exview",i.id),l(n.ViewExhibitor,i.name))}),m(()=>o.selectedBooth,i=>i?.name&&l(n.ViewBooth,i.name)),m(()=>o.selectedCategory,i=>i?.name&&l(n.ViewCategory,i?.name)),m(()=>o.selectedEventItem,i=>i?.name&&l(n.ViewExhibitor,i.name));const h=!o.hideCookieConsent&&!o.kiosk&&u&&p===void 0;return e("div",{id:"efp-layout",className:w("layout",{"efp-kiosk":o.kiosk,"efp-kiosk-route-active":o.kiosk&&o.selectedRoute?.from&&o.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":o.wsShown,"efp-no-overlay":o.noOverlay}),dir:o.rtl?"rtl":"ltr",style:{"--ui-scale":o.uiScale.toString()},children:g("div",{className:`layout__fixed expo-${f.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!o.floorsControlHidden&&t.initialized&&e(D,{}),!o.noOverlay&&t.initialized&&e(K,{isGDPR:u,allowConsent:p}),t.initialized&&e(A,{}),!o.noOverlay&&t.initialized&&e(B,{}),!o.noOverlay&&t.initialized&&e(j,{}),!o.noOverlay&&t.initialized&&e(F,{}),!o.mapControlsHidden&&t.initialized&&e(G,{}),!o.hideHeaderLogo&&t.initialized&&e(N,{}),t.routeStore.gpsEnabled&&e(le,{requestCompassAllowed:!h}),L&&e($,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&e(a,{fallback:e(H,{}),children:W?.properties?.mode==="threejs"?e(ie,{isMapbox:t.mapboxStore.isMapbox,expo:f.EXPO}):e(te,{})}),s&&!o.hideFreeOrDemo&&!o.heatmap?e(a,{fallback:null,children:s}):null,h&&e(a,{fallback:null,children:e(ae,{link:"https://expofp.com/pages/viewer-cookie-consent",onClickAccept:v,onClickReject:x})}),R?e(a,{fallback:null,children:e(oe,{})}):null,O&&e(T,{}),o.modalActive.share?e(a,{fallback:null,children:e(re,{type:"share",open:o.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:e(_,{title:o.selectedExhibitor?.name||o.selectedEventItem?.name,url:b?`${window.location.origin}?${encodeURI(o.selectedExhibitor?.slug||o.selectedEventItem?.slug)}`:window.location.href})})}):null,o.heatmap||o.heatmapYah?e(Y,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:o.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,colors:f.heatmapColors}):null,e(U,{active:!d.layersLoaded}),e("div",{id:"fps"}),t.initialized&&e(P,{}),t.initialized&&e(I,{store:t.sessionsFilterStore}),t.initialized&&e(V,{store:t.speakerFilterStore}),e(Q,{}),t.initialized&&o.setKioskModeEnabled&&e(a,{fallback:null,children:e(se,{})}),t.initialized&&!o.setKioskModeEnabled&&e(a,{fallback:null,children:e(ne,{})})]})})});
1
+ import{jsx as e,jsxs as g}from"react/jsx-runtime";import{observer as z}from"mobx-react-lite";import r,{Suspense as a,useEffect as E,useState as M}from"react";import w from"classnames";import t,{layersStore as d,uiState as o}from"../store";import f from"../tools/settings";import{isWebGlSupported as L}from"../utils";import R from"../utils/is-debug";import O from"../utils/is-iframe";import G from"./Controls";import D from"./LevelSelector";import T from"./LargeMessage";import"../styles/main.scss";import"./Layout.scss";import A from"./LogoOverlay";import B from"./SearchBox";import j from"./SearchButtons/SearchButtons";import F from"./MobileToggleButton";import{CategoryFilterModal as P}from"./CategoryFilterModal";import I from"./SessionsFiltersModal";import V from"./SpeakersFiltersModal";import $ from"./Map/Map";import{MapLoader as H}from"./Mapbox/MapLoader";import K from"./OverlayContainer";import _ from"./Share";import N from"./Ws";import{LayersMode as y}from"../store/LayerStore";import U from"./LayersLoading";import{fpGeo as W}from"./Mapbox/utils/fpGeo";import{checkUserIsGDPR as X,GaEventActions as n,hasUserConsent as q,sendEventToGa as l,setConsentSettings as S,setCookieConsent as C}from"../tools/gtag";import Y from"./HeatmapLegend";import{useReaction as m}from"../utils/mobx";import J from"../tools/track-event";import Q from"./GlobalErrorMessage";const Z=r.lazy(()=>import("./Demo")),ee=r.lazy(()=>import("./Free")),oe=r.lazy(()=>import("./Debug")),te=r.lazy(()=>import("./Mapbox/Mapbox")),ie=r.lazy(()=>import("./Threejs/ThreeComponent")),re=r.lazy(()=>import("./Modal")),ae=r.lazy(()=>import("./CookieConsent")),le=r.lazy(()=>import("./GpsLoader")),se=r.lazy(()=>import("./Kiosk/SetKioskMode")),ne=r.lazy(()=>import("./Kiosk/ShowKiosk"));export default z(function({offHistory:b,allowConsent:p}){const[u,c]=M(!1);let s=null;o.bannerType==="demo"?s=e(Z,{}):o.bannerType==="free"&&(s=e(ee,{}));const v=()=>{C(!0),S(),t.uiState.hideCookieConsent=!0},x=()=>{C(!1),S(),t.uiState.hideCookieConsent=!0};E(()=>{async function i(){const k=await X();c(!!(k||k===null))}q(p)?c(!0):i()},[]),m(()=>o.selectedExhibitor,i=>{t.heatmapStore.forceTrack?(l(t.heatmapStore.forceTrack.action,t.heatmapStore.forceTrack.label),t.heatmapStore.forceTrack=null):i&&(J("exview",i.id),l(n.ViewExhibitor,i.name))}),m(()=>o.selectedBooth,i=>i?.name&&l(n.ViewBooth,i.name)),m(()=>o.selectedCategory,i=>i?.name&&l(n.ViewCategory,i?.name)),m(()=>o.selectedEventItem,i=>i?.name&&l(n.ViewExhibitor,i.name));const h=!o.hideCookieConsent&&!o.kiosk&&u&&p===void 0;return e("div",{id:"efp-layout",className:w("layout",{"efp-kiosk":o.kiosk,"efp-kiosk-route-active":o.kiosk&&o.selectedRoute?.from&&o.selectedRoute?.to,"efp-layers-mode":t.layerStore.mode,"efp-ws-mode":o.wsShown,"efp-no-overlay":o.noOverlay}),dir:o.rtl?"rtl":"ltr",style:{"--ui-scale":o.uiScale.toString()},children:g("div",{className:`layout__fixed expo-${f.EXPO} overlay-${t.uiState.overlayPosition}`,children:[(d.mode===y.Radio||d.mode===y.CheckBox)&&!o.floorsControlHidden&&t.initialized&&e(D,{}),!o.noOverlay&&t.initialized&&e(K,{isGDPR:u,allowConsent:p}),t.initialized&&e(A,{}),!o.noOverlay&&t.initialized&&e(B,{}),!o.noOverlay&&t.initialized&&e(j,{}),!o.noOverlay&&t.initialized&&e(F,{}),!o.mapControlsHidden&&t.initialized&&e(G,{}),!o.hideHeaderLogo&&t.initialized&&e(N,{}),t.routeStore.gpsEnabled&&e(le,{requestCompassAllowed:!h}),L&&e($,{}),t.mapboxStore.mapBoxActivated&&t.mapboxStore.mapBoxEnabled&&e(a,{fallback:e(H,{}),children:W?.properties?.mode==="threejs"?e(ie,{isMapbox:t.mapboxStore.isMapbox,expo:f.EXPO}):e(te,{})}),s&&!o.hideFreeOrDemo&&!o.heatmap?e(a,{fallback:null,children:s}):null,h&&e(a,{fallback:null,children:e(ae,{link:"https://expofp.com/pages/viewer-cookie-consent",onClickAccept:v,onClickReject:x})}),R?e(a,{fallback:null,children:e(oe,{})}):null,O&&e(T,{}),o.modalActive.share?e(a,{fallback:null,children:e(re,{type:"share",open:o.modalActive.share,onClickClose:()=>t.toggleModal("share"),children:e(_,{title:o.selectedExhibitor?.name||o.selectedEventItem?.name||"",url:b?`${window.location.origin}?${encodeURI(o.selectedExhibitor?.slug||o.selectedEventItem?.slug)}`:window.location.href})})}):null,o.heatmap||o.heatmapYah?e(Y,{style:{left:`calc(50% + ${t.uiState.mapVisibleStart/2}px)`},className:o.responsiveClass,max:t.heatmapStore.minAndMaxClicks.max,min:t.heatmapStore.minAndMaxClicks.min,colors:f.heatmapColors}):null,e(U,{active:!d.layersLoaded}),e("div",{id:"fps"}),t.initialized&&e(P,{}),t.initialized&&e(I,{store:t.sessionsFilterStore}),t.initialized&&e(V,{store:t.speakerFilterStore}),e(Q,{}),t.initialized&&o.setKioskModeEnabled&&e(a,{fallback:null,children:e(se,{})}),t.initialized&&!o.setKioskModeEnabled&&e(a,{fallback:null,children:e(ne,{})})]})})});
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{useObserver as h}from"mobx-react-lite";import{Suspense as g,lazy as y,useEffect as c,useRef as T,useState as I,useCallback as v}from"react";import{uiState as t}from"../store";import L from"./LanguageRow";import"./List.scss";import S from"./LayersLoading";const m=()=>import("react-virtuoso").then(o=>({default:o.Virtuoso})).catch(()=>new Promise(o=>setTimeout(()=>o(m()),3e3))),b=y(m);export default function x({updatedScrollableRef:o,updateScroll:n}){const[i,a]=I(null),l=T(null);c(()=>{a(o??null)},[o]),c(()=>{const s=t.getListScrollTop(t.list.type);if(s>0){const e=setTimeout(()=>{l.current&&l.current.scrollTo({top:s,behavior:"auto"})},100);return()=>clearTimeout(e)}},[t.list.type]);const u=v(()=>{l.current?l.current.getState(s=>{const e=s?.scrollTop||0;t.setListScrollTop(t.list?.type,e)}):i?.current&&t.setListScrollTop(t.list?.type,i.current.scrollTop||0)},[i]);c(()=>()=>{u()},[]);const p=({index:s})=>{const e=t.listItems[s];return e.entity.type==="language"?r(L,{item:e},e.id??s):(console.error("Invalid item type"),null)},f=()=>{n&&setTimeout(n)},d=()=>{n&&n()};return h(()=>{const s=t.listItems.findIndex(e=>e.selected);return r("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i&&r(g,{fallback:r(S,{active:!0,isCenter:!0}),children:r(b,{ref:l,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:e=>p({index:e}),itemsRendered:f,totalListHeightChanged:d,customScrollParent:i.current,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialTopMostItemIndex:s!==-1?s:0,components:{EmptyPlaceholder:()=>r("div",{className:"list-empty",children:"No items to show"})}})})})})}
1
+ import{jsx as r}from"react/jsx-runtime";import{useObserver as h}from"mobx-react-lite";import{Suspense as T,lazy as g,useEffect as c,useRef as y,useState as I,useCallback as L}from"react";import{uiState as t}from"../store";import{getLocale as v}from"../utils/i18n";import{LANGUAGE_TYPE as x}from"../constants";import S from"./LanguageRow";import"./List.scss";import b from"./LayersLoading";const m=()=>import("react-virtuoso").then(s=>({default:s.Virtuoso})).catch(()=>new Promise(s=>setTimeout(()=>s(m()),3e3))),C=g(m);export default function R({updatedScrollableRef:s,updateScroll:n}){const[i,a]=I(null),l=y(null);c(()=>{a(s??null)},[s]),c(()=>{const o=t.getListScrollTop(t.list.type);if(o>0){const e=setTimeout(()=>{l.current&&l.current.scrollTo({top:o,behavior:"auto"})},100);return()=>clearTimeout(e)}},[t.list.type]);const u=L(()=>{l.current?l.current.getState(o=>{const e=o?.scrollTop||0;t.setListScrollTop(t.list?.type,e)}):i?.current&&t.setListScrollTop(t.list?.type,i.current.scrollTop||0)},[i]);c(()=>()=>{u()},[]);const p=({index:o})=>{const e=t.listItems[o];return e.entity.type===x?r(S,{item:e},e.id):(console.error("Invalid item type"),null)},f=()=>{n&&setTimeout(n)},d=()=>{n&&n()};return h(()=>{const o=t.listItems.findIndex(e=>e.id===v());return r("div",{style:{height:"100%",cursor:"pointer",resize:"both",minHeight:100},children:i&&r(T,{fallback:r(b,{active:!0,isCenter:!0}),children:r(C,{ref:l,className:"list-virtual",style:{minHeight:t.listItems.length?"1px":0},data:t.listItems,itemContent:e=>p({index:e}),itemsRendered:f,totalListHeightChanged:d,customScrollParent:i.current,totalCount:t.listItems.length,overscan:20,increaseViewportBy:200,initialTopMostItemIndex:o!==-1?o:0,components:{EmptyPlaceholder:()=>r("div",{className:"list-empty",children:"No items to show"})}})})})})}
@@ -1 +1 @@
1
- import u,{layersStore as I}from"../../../../store";import{reaction as v}from"mobx";import{createImageCanvas as C}from"./canvases";import{createImageDef as x,getBounds as R}from"../../../../renderer";import{toRadians as F}from"../../../../utils/toRadians";const L="_selected";export const MARKER_LAYER_NAME="markers";export function configMarkers(a){const h=[],l=new Map,s=new Map;let n=[];const m=a.scene.rootLayer.children.find(e=>e.name===MARKER_LAYER_NAME);async function k(e){const o=[];e.forEach(c=>{const{name:i,content:t,width:r,height:g,scale:y}=c;if(l.has(i))return;const f=new Image,M=new Promise((D,w)=>{f.onload=()=>{l.set(i,{img:f,width:r,height:g,scale:y}),D()},f.onerror=S=>{w(S)}});o.push(M),f.src=t,f.crossOrigin="anonymous"}),await Promise.all(o)}const d=e=>`marker-ptScaleHandlers-${e.id}`,E=e=>`marker-rollHandlers-${e.id}`,P=(e,o)=>{a.onPtScale(o,c=>{const{center:i,rotation:t}=e.bounds,{width:r,height:g}=e.source;return e.bounds=R(i.x,i.y,r,g,c,t),e})},H=(e,o)=>{a.onRoll(o,c=>(e.bounds.rotation=c,e))};function $(){const e=u.routeStore.markersData.markers;if(!e.length)return;n=[];const o=a.getCameraState(),c=o?.ptScale||1,i=F(o?.roll)||0;e.forEach(t=>{const r=l.get(t.icon);if(!r)return;const g=r.scale||window.devicePixelRatio,y=t.icon;if(!s.has(y)){const b=C(r.img,r.width,r.height,g);s.set(y,b)}const f=s.get(y),M=l.get(t.selectedIcon),D=t.selectedIcon;if(!s.has(D)){const b=C(r.img,M.width,M.height,g);s.set(D,b)}const w=s.get(D),S=I.findLayer(t.z)?.visible??!0,_=R(t.x,t.y,f.width,f.height,c,i),z=R(t.x,t.y,w.width,w.height,c,i);let p;switch(t.position){case"lefttop":p=[0,0];break;case"centertop":p=[.5,0];break;case"centerbottom":p=[.5,1];break;default:p=[.5,.5]}const A={...x(f,_,{hidden:!S,origin:p}),id:t.id,scale:g},K={...x(w,z,{hidden:!(S&&t.active),origin:p}),id:`${t.id}${L}`,scale:g};n.push(A,K)}),m.children=n,n.forEach(t=>{P(t,d(t)),H(t,E(t))})}function B(){n.forEach(e=>{a.ptScaleRegistry.unregisterByName(d(e)),a.rollRegistry.unregisterByName(E(e))}),m.children=[],n=[]}function N(){const e=u.routeStore.markersData.markers;e.length&&e.forEach(o=>{const c=n.find(r=>r.id===o.id),i=n.find(r=>r.id===`${o.id}${L}`);if(!c)return;const t=I.findLayer(o.z)?.visible??!0;o.active?(c.hidden=!0,i.hidden=!(t&&o.active)):(c.hidden=!t,i.hidden=!0)})}return h.push(v(()=>[u.routeStore.selectedMarkers,u.layerStore.visible],()=>{if(!u.routeStore.markersData.markers.length){B(),a.update(m);return}N(),a.update(...n)})),h.push(v(()=>u.routeStore.markersData.markers,()=>{k(u.routeStore.markersData.icons).then(()=>{$(),a.update(m)})})),function(){h.forEach(o=>o()),h.length=0}}export function getMarkerFromClick(a,h,l){for(const s of u.routeStore.markersData.markers){const n=u.routeStore.markersData.icons.find(d=>d.name===s.icon);if(!n)continue;const m=n.width*l*devicePixelRatio,k=n.height*l*devicePixelRatio;if(O(a,h,s.x,s.y,m,k)){const d=u.layerStore.findLayer(s.z);if(!d||d&&d.visible)return s}}return null}function O(a,h,l,s,n,m){const k=a>=l-n&&a<=l+n,d=h>=s-m&&h<=s+m;return k&&d}
1
+ import u,{layersStore as I}from"../../../../store";import{reaction as v}from"mobx";import{createImageCanvas as C}from"./canvases";import{createImageDef as x,getBounds as R}from"../../../../renderer";import{toRadians as F}from"../../../../utils/math";const L="_selected";export const MARKER_LAYER_NAME="markers";export function configMarkers(a){const h=[],l=new Map,s=new Map;let n=[];const m=a.scene.rootLayer.children.find(e=>e.name===MARKER_LAYER_NAME);async function k(e){const o=[];e.forEach(c=>{const{name:i,content:t,width:r,height:g,scale:y}=c;if(l.has(i))return;const f=new Image,M=new Promise((D,w)=>{f.onload=()=>{l.set(i,{img:f,width:r,height:g,scale:y}),D()},f.onerror=S=>{w(S)}});o.push(M),f.src=t,f.crossOrigin="anonymous"}),await Promise.all(o)}const d=e=>`marker-ptScaleHandlers-${e.id}`,E=e=>`marker-rollHandlers-${e.id}`,P=(e,o)=>{a.onPtScale(o,c=>{const{center:i,rotation:t}=e.bounds,{width:r,height:g}=e.source;return e.bounds=R(i.x,i.y,r,g,c,t),e})},H=(e,o)=>{a.onRoll(o,c=>(e.bounds.rotation=c,e))};function $(){const e=u.routeStore.markersData.markers;if(!e.length)return;n=[];const o=a.getCameraState(),c=o?.ptScale||1,i=F(o?.roll)||0;e.forEach(t=>{const r=l.get(t.icon);if(!r)return;const g=r.scale||window.devicePixelRatio,y=t.icon;if(!s.has(y)){const b=C(r.img,r.width,r.height,g);s.set(y,b)}const f=s.get(y),M=l.get(t.selectedIcon),D=t.selectedIcon;if(!s.has(D)){const b=C(r.img,M.width,M.height,g);s.set(D,b)}const w=s.get(D),S=I.findLayer(t.z)?.visible??!0,_=R(t.x,t.y,f.width,f.height,c,i),z=R(t.x,t.y,w.width,w.height,c,i);let p;switch(t.position){case"lefttop":p=[0,0];break;case"centertop":p=[.5,0];break;case"centerbottom":p=[.5,1];break;default:p=[.5,.5]}const A={...x(f,_,{hidden:!S,origin:p}),id:t.id,scale:g},K={...x(w,z,{hidden:!(S&&t.active),origin:p}),id:`${t.id}${L}`,scale:g};n.push(A,K)}),m.children=n,n.forEach(t=>{P(t,d(t)),H(t,E(t))})}function B(){n.forEach(e=>{a.ptScaleRegistry.unregisterByName(d(e)),a.rollRegistry.unregisterByName(E(e))}),m.children=[],n=[]}function N(){const e=u.routeStore.markersData.markers;e.length&&e.forEach(o=>{const c=n.find(r=>r.id===o.id),i=n.find(r=>r.id===`${o.id}${L}`);if(!c)return;const t=I.findLayer(o.z)?.visible??!0;o.active?(c.hidden=!0,i.hidden=!(t&&o.active)):(c.hidden=!t,i.hidden=!0)})}return h.push(v(()=>[u.routeStore.selectedMarkers,u.layerStore.visible],()=>{if(!u.routeStore.markersData.markers.length){B(),a.update(m);return}N(),a.update(...n)})),h.push(v(()=>u.routeStore.markersData.markers,()=>{k(u.routeStore.markersData.icons).then(()=>{$(),a.update(m)})})),function(){h.forEach(o=>o()),h.length=0}}export function getMarkerFromClick(a,h,l){for(const s of u.routeStore.markersData.markers){const n=u.routeStore.markersData.icons.find(d=>d.name===s.icon);if(!n)continue;const m=n.width*l*devicePixelRatio,k=n.height*l*devicePixelRatio;if(O(a,h,s.x,s.y,m,k)){const d=u.layerStore.findLayer(s.z);if(!d||d&&d.visible)return s}}return null}function O(a,h,l,s,n,m){const k=a>=l-n&&a<=l+n,d=h>=s-m&&h<=s+m;return k&&d}
@@ -1,4 +1,3 @@
1
- import { Point, Line } from "simple-geometry";
2
1
  import { RendererService } from "../../../../renderer";
3
2
  export declare const WF_TRAIL_LAYER_NAME = "wf-trail-points";
4
3
  export declare const WF_POINTS_LAYER_NAME = "wf-points";
@@ -6,5 +5,4 @@ export declare const WF_CURRENT_POSITION_NAME = "wf-current-position";
6
5
  export declare const WF_LINES_LAYER_NAME = "wf-lines";
7
6
  export declare const WF_LINES_ANIMATED_LAYER_NAME = "wf-lines-animated";
8
7
  export default function configWf(rendererService: RendererService): () => void;
9
- export declare function splitPolyLine(lines: Line[], interval: number): Point[];
10
8
  //# sourceMappingURL=config-wf.d.ts.map