@expofp/floorplan 3.42.1 → 3.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/dist/browser/{Button-CFOilpWS.js → Button-ChvBlyDe.js} +6 -6
  2. package/dist/browser/{CookieConsent-7xtFQUAC.js → CookieConsent-B79szHaS.js} +8 -8
  3. package/dist/browser/{Debug-Ccq8j5HJ.js → Debug-BmtrxpLX.js} +10 -10
  4. package/dist/browser/{DebugTools-dIItZaUb.js → DebugTools-D4NbQEtd.js} +7 -7
  5. package/dist/browser/{Demo-waaMiBvy.js → Demo-C1jGPlTZ.js} +13 -13
  6. package/dist/browser/{Free-DdCaOZ8Q.js → Free-CrPKA8NB.js} +16 -15
  7. package/dist/browser/{GalleryContainer-DlucEORI.js → GalleryContainer-Byk_AjCO.js} +470 -469
  8. package/dist/browser/{GpsLoader-cqPoX_Zr.js → GpsLoader-xcrMJQ3k.js} +40 -37
  9. package/dist/browser/{KioskStore-BJwAcVii.js → KioskStore-CCqEIeOE.js} +52 -48
  10. package/dist/browser/{store-DKVnQzpY.js → LayerStore-CfhO9JTt.js} +21374 -31265
  11. package/dist/browser/{MaplibreAdapter-BZD4cOe-.js → MaplibreAdapter-BkdCl4p0.js} +290 -285
  12. package/dist/browser/{ModalContainer-BSvSFPr9.js → ModalContainer-CdqhG7DC.js} +11 -11
  13. package/dist/browser/{PermissionNotice-DXt-j2f7.js → PermissionNotice-271evNUE.js} +7 -7
  14. package/dist/browser/RouteStore-DYDocOLg.js +1203 -0
  15. package/dist/browser/SetKioskMode-DWceqgEp.js +50 -0
  16. package/dist/browser/{ShowKiosk-BhS74u62.js → ShowKiosk-D5DyThTi.js} +18 -17
  17. package/dist/browser/UIState-Saj7Kjjr.js +2026 -0
  18. package/dist/browser/{ViewerMenuPanel-BYTeVxTR.js → ViewerMenuPanel--NAIzyGt.js} +25 -24
  19. package/dist/browser/{add-debug-secret-listener-B3Oo6_V2.js → add-debug-secret-listener-BqwoAVWZ.js} +1 -1
  20. package/dist/browser/{adopt-global-settings-Yr-a_0F-.js → adopt-global-settings-DvAJraFg.js} +10 -10
  21. package/dist/browser/{boolean-editor-BA7H18pG.js → boolean-editor-Co1Ily6N.js} +10 -10
  22. package/dist/browser/{bootIntercom-BEZV9AQ2.js → bootIntercom-BxKpklX4.js} +3 -3
  23. package/dist/browser/bundle.json +110 -71
  24. package/dist/browser/{camera-events-CJhSKz2q.js → camera-events-BnYGheBl.js} +1 -1
  25. package/dist/browser/{classnames-D4c_D7C1.js → classnames-NaSmbmqt.js} +2 -2
  26. package/dist/browser/{client-DGjMk9A1.js → client-CvZjZ5MY.js} +6 -6
  27. package/dist/browser/{components-MaSv6j2M.js → components-BC_4Rrtm.js} +1491 -1457
  28. package/dist/browser/create-live-plan-DdDxRVpo.js +3650 -0
  29. package/dist/browser/{debug-context-C2PWyEVT.js → debug-context-rb_t7BzM.js} +6 -6
  30. package/dist/browser/{debug-overlay-BXHh1LRW.js → debug-overlay-DX9d63U6.js} +11 -11
  31. package/dist/browser/{debug-ui-CO-3GLEU.js → debug-ui-1zRSn-Pt.js} +7 -7
  32. package/dist/browser/{dimming-kPNlXUew.js → dimming-D9erakE3.js} +277 -270
  33. package/dist/browser/{dist-DEm0E-fN.js → dist-BupLuz7e.js} +6 -6
  34. package/dist/browser/{dist-3gOjtf_f.js → dist-Dy3X0upa.js} +3 -3
  35. package/dist/browser/{dist-B3PLpTVy.js → dist-Dy4ATR13.js} +7 -7
  36. package/dist/browser/{efp-debug-init-DkOOpU1g.js → efp-debug-init-DTmBNC1u.js} +4 -4
  37. package/dist/browser/{enum-editor-DPAX_cAI.js → enum-editor-DS9Mi20y.js} +5 -5
  38. package/dist/browser/{es5-CpN6LQeU.js → es5-TGy8TG8S.js} +2 -2
  39. package/dist/browser/{event-head-oYEDbvk3.js → event-head-ccloCQPA.js} +1 -1
  40. package/dist/browser/{event-not-found-C7GLCJX7.js → event-not-found-B4UzwYx9.js} +4 -4
  41. package/dist/browser/event-scoped-cache-Bo8Pi1bU.js +22 -0
  42. package/dist/browser/{exports-3uPTDFG9.js → exports-DkrDN44T.js} +1 -1
  43. package/dist/browser/{favicon-CQpg641Z.js → favicon-BO6r3JQD.js} +1 -1
  44. package/dist/browser/{fetch-retry.umd-Chmlkexp.js → fetch-retry.umd-CBKWHeDp.js} +2 -2
  45. package/dist/browser/{flex--99NWgQk.js → flex-DK-UWQj-.js} +6 -6
  46. package/dist/browser/{floorplan.loader-Ci226yql.js → floorplan.loader-C3iy3aV0.js} +658 -707
  47. package/dist/browser/{floorplan.ready-y0hYLknK.js → floorplan.ready-Dfo1nWhu.js} +373 -359
  48. package/dist/browser/freeBanner-C7xKlqKw.js +31 -0
  49. package/dist/browser/{fuse-BuFi3LTO.js → fuse-BQcpTy7r.js} +2 -2
  50. package/dist/browser/{i18n-BAQekIFF.js → i18n-D6Lq_Buf.js} +1821 -3872
  51. package/dist/browser/index.js +131 -47
  52. package/dist/browser/{index.module-CXN9GK4C.js → index.module-BSoufRTU.js} +17 -17
  53. package/dist/browser/init-ui-1FfbXJGw.js +286 -0
  54. package/dist/browser/integrateKiosk-D9Q6DLBE.js +35 -0
  55. package/dist/browser/{loadImage-xbueiJmr.js → is-debug-COmQqgiL.js} +30 -14
  56. package/dist/browser/{is-own-domain-DPJZoBiw.js → is-own-domain-DJo0J_LD.js} +1 -1
  57. package/dist/browser/{is-webview-Bs8mxX94.js → is-webview-BBchBwKM.js} +1 -1
  58. package/dist/browser/{jsx-runtime-BXbSNrYY.js → jsx-runtime-DL-d6MrM.js} +2 -2
  59. package/dist/browser/kiosk-mode-_np8_B-l.js +33 -0
  60. package/dist/browser/{kiosk-record-CaWjqNGY.js → kiosk-record-BmaguqBS.js} +1 -1
  61. package/dist/browser/kioskApi-C07lc5Lj.js +440 -0
  62. package/dist/browser/{lib-jJ4yMeEA.js → lib-DrLsicOU.js} +3 -3
  63. package/dist/browser/loadImage-gvajvqmr.js +17 -0
  64. package/dist/browser/{logDeviceInfo-DSmmt_FU.js → logDeviceInfo-Dp6nkPPj.js} +9 -9
  65. package/dist/browser/{mobx-BQA2EJH7.js → mobx-Dfa_Tj0c.js} +11 -11
  66. package/dist/browser/mobx.module-ionKiiCb.js +2064 -0
  67. package/dist/browser/{optional-boolean-editor-Y_exy4JL.js → optional-boolean-editor-IDS6OcC1.js} +4 -4
  68. package/dist/browser/{optional-enum-editor-CKfj0OB9.js → optional-enum-editor-CmHeQhFh.js} +5 -5
  69. package/dist/browser/{optional-string-editor-DeavwcWv.js → optional-string-editor-5lm4OVVA.js} +5 -5
  70. package/dist/browser/{particles.min-BJkirBpN.js → particles.min-Djywwk9n.js} +2 -2
  71. package/dist/browser/{react-CV1gH7Zp.js → react-DATIS1Wg.js} +2 -2
  72. package/dist/browser/{react-dom-BEwgcqEB.js → react-dom-CZoP3ON8.js} +3 -3
  73. package/dist/browser/{rolldown-runtime-BiAnyumg.js → rolldown-runtime-C54u_qRI.js} +1 -1
  74. package/dist/browser/scene-CR4jNFce.js +108 -0
  75. package/dist/browser/{scheduler-CcNpP8xn.js → scheduler-B2SwSUg3.js} +2 -2
  76. package/dist/browser/{select-B13QBWfy.js → select-BXuAa5Mm.js} +11 -11
  77. package/dist/browser/{settings-DJUw3GyU.js → settings-DWSfrYuK.js} +2 -2
  78. package/dist/browser/{settings-item-VzMuDMX6.js → settings-item-Bg1kzAE-.js} +7 -7
  79. package/dist/browser/store-DKFByqxw.js +58 -0
  80. package/dist/browser/{string-editor-B6mio7nq.js → string-editor-CHJTsfW0.js} +5 -5
  81. package/dist/browser/{text-field-7dZmg829.js → text-field-Daedvncr.js} +6 -6
  82. package/dist/browser/{theme-BotlxmwW.js → theme-hSwmbdBg.js} +9 -9
  83. package/dist/browser/{ui-Dn5rbA7O.js → ui-BIFt_vYU.js} +9 -9
  84. package/dist/browser/{useRenderTarget-Rz0x5k4l.js → useRenderTarget-Cf0eV2dg.js} +5 -5
  85. package/dist/browser/{viewport-DOIlU3cR.js → viewport-Dvo8x5tc.js} +4 -3
  86. package/dist/browser/wayfinding-UIwKgl3o.js +2322 -0
  87. package/dist/esm/components/GalleryContainer.js +1 -1
  88. package/dist/esm/components/Kiosk/integrateKiosk.js +1 -1
  89. package/dist/esm/components/LogoOverlay.js +1 -1
  90. package/dist/esm/components/Map/Map.js +1 -1
  91. package/dist/esm/components/Map/MapCamera.js +1 -1
  92. package/dist/esm/components/Map/booth-by-xy.d.ts +8 -10
  93. package/dist/esm/components/Map/booth-by-xy.js +1 -1
  94. package/dist/esm/components/Map/drawing/config/BoothShape.d.ts +0 -1
  95. package/dist/esm/components/Map/drawing/config/BoothShape.js +1 -1
  96. package/dist/esm/components/Map/drawing/config/config-booth-bg.js +1 -1
  97. package/dist/esm/components/Map/drawing/config/config-booth-bookmark.js +1 -1
  98. package/dist/esm/components/Map/drawing/config/config-booth-border.js +1 -1
  99. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
  100. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
  101. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  102. package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
  103. package/dist/esm/components/Map/drawing/config/layer-images.d.ts +7 -2
  104. package/dist/esm/components/Map/drawing/config/layer-images.js +1 -1
  105. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  106. package/dist/esm/components/Maplibre/MaplibreAdapter.js +1 -1
  107. package/dist/esm/components/Maplibre/useCameraReactions.js +1 -1
  108. package/dist/esm/components/Maplibre/utils/geo-config.js +1 -1
  109. package/dist/esm/components/Maplibre/utils/map-helpers.js +1 -1
  110. package/dist/esm/components/Menu.js +1 -1
  111. package/dist/esm/data/fpGeo.d.ts +6 -1
  112. package/dist/esm/data/fpGeo.js +1 -1
  113. package/dist/esm/data/index.d.ts +9 -4
  114. package/dist/esm/data/index.js +1 -1
  115. package/dist/esm/data/svg.d.ts +15 -13
  116. package/dist/esm/data/svg.js +1 -1
  117. package/dist/esm/floorplan.loader.d.ts +6 -1
  118. package/dist/esm/floorplan.loader.js +1 -1
  119. package/dist/esm/floorplan.ready.d.ts +8 -2
  120. package/dist/esm/floorplan.ready.js +1 -1
  121. package/dist/esm/load.js +11 -11
  122. package/dist/esm/plan-lifecycle.d.ts +65 -0
  123. package/dist/esm/plan-lifecycle.js +1 -0
  124. package/dist/esm/services/URLFilterManager.js +1 -1
  125. package/dist/esm/services/url-dispatch.js +1 -1
  126. package/dist/esm/services/url-sync.d.ts +5 -1
  127. package/dist/esm/services/url-sync.js +1 -1
  128. package/dist/esm/store/MaplibreStore.js +1 -1
  129. package/dist/esm/store/OverlayStore.d.ts +15 -2
  130. package/dist/esm/store/OverlayStore.js +1 -1
  131. package/dist/esm/store/RouteStore.js +1 -1
  132. package/dist/esm/store/UIState.js +1 -1
  133. package/dist/esm/store/create-live-plan.d.ts +13 -0
  134. package/dist/esm/store/create-live-plan.js +1 -0
  135. package/dist/esm/store/index.d.ts +2 -13
  136. package/dist/esm/store/index.js +1 -1
  137. package/dist/esm/store/init/init-booths.js +1 -1
  138. package/dist/esm/store/init/init-events.js +1 -1
  139. package/dist/esm/store/init/init-exhibitors.js +1 -1
  140. package/dist/esm/store/init/init-layers.js +1 -1
  141. package/dist/esm/store/init/init-speakers.js +1 -1
  142. package/dist/esm/store/init/init-ui.d.ts +4 -6
  143. package/dist/esm/store/init/init-ui.js +1 -1
  144. package/dist/esm/store/live-store.d.ts +19 -0
  145. package/dist/esm/store/live-store.js +1 -0
  146. package/dist/esm/store/search-buttons/SearchButtonsStore.js +1 -1
  147. package/dist/esm/tools/event-scoped-cache.d.ts +13 -0
  148. package/dist/esm/tools/event-scoped-cache.js +1 -0
  149. package/dist/esm/tools/gtag.d.ts +15 -1
  150. package/dist/esm/tools/gtag.js +1 -1
  151. package/dist/esm/tools/reset.js +1 -1
  152. package/dist/esm/tools/settings.d.ts +7 -2
  153. package/dist/esm/tools/settings.js +1 -1
  154. package/dist/esm/tools/slug.js +1 -1
  155. package/dist/esm/tools/style-registry.d.ts +28 -0
  156. package/dist/esm/tools/style-registry.js +1 -0
  157. package/dist/esm/tools/track-event.js +1 -1
  158. package/dist/esm/types.d.ts +7 -1
  159. package/dist/esm/utils/entity-storage.js +1 -1
  160. package/dist/esm/utils/gps.js +1 -1
  161. package/dist/esm/utils/plan-reactions.d.ts +20 -0
  162. package/dist/esm/utils/plan-reactions.js +1 -0
  163. package/dist/esm/utils/preview-exhibitor.d.ts +9 -2
  164. package/dist/esm/utils/preview-exhibitor.js +1 -1
  165. package/dist/esm/utils/swappable-proxy.d.ts +28 -0
  166. package/dist/esm/utils/swappable-proxy.js +1 -0
  167. package/dist/esm/wayfinding/createWayfinding.js +1 -1
  168. package/package.json +32 -10
  169. package/dist/browser/SetKioskMode-CCZNdKum.js +0 -48
  170. package/dist/browser/integrateKiosk-DjIKsfAy.js +0 -34
@@ -0,0 +1,3650 @@
1
+ (function() {
2
+ try {
3
+ var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4
+ e.SENTRY_RELEASE = { id: "3.43.1" };
5
+ var t = new e.Error().stack;
6
+ t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "ce3ea8b7-5a8c-4dad-8af0-7313cfb10927", e._sentryDebugIdIdentifier = "sentry-dbid-ce3ea8b7-5a8c-4dad-8af0-7313cfb10927");
7
+ } catch {}
8
+ })();
9
+ import { O as e, Tt as t, a as n, c as r, s as i } from "./i18n-D6Lq_Buf.js";
10
+ import { a, o } from "./is-debug-COmQqgiL.js";
11
+ import { a as s, c, n as l, u } from "./mobx.module-ionKiiCb.js";
12
+ import { t as d } from "./is-webview-BBchBwKM.js";
13
+ import { c as ee, d as te, f as ne, l as re, m as ie, o as ae, p as oe, r as se, s as ce, t as le } from "./UIState-Saj7Kjjr.js";
14
+ import { c as ue, l as de } from "./store-DKFByqxw.js";
15
+ import { A as fe, At as f, Ct as pe, E as me, F as he, I as ge, J as _e, L as ve, N as ye, O as p, P as be, R as xe, S as Se, T as Ce, Y as we, d as Te, f as Ee, gt as De, k as Oe, n as ke, q as Ae, r as je, u as Me, w as Ne, x as m, z as Pe } from "./LayerStore-CfhO9JTt.js";
16
+ import { g as Fe } from "./wayfinding-UIwKgl3o.js";
17
+ import { a as Ie, m as Le, n as Re, r as ze, u as Be, v as Ve, w as He, x as Ue } from "./RouteStore-DYDocOLg.js";
18
+ import { r as We } from "./scene-CR4jNFce.js";
19
+ import { n as Ge, r as Ke } from "./init-ui-1FfbXJGw.js";
20
+ //#region src/store/init/init-categories.ts
21
+ function qe(e) {
22
+ let { categoryStore: t, exhibitorStore: n } = e;
23
+ for (let e of f.categories || []) {
24
+ let r = new oe();
25
+ Object.assign(r, e), r.exhibitors = [], r.slug = Pe(r.name);
26
+ for (let t of f.exhibitors || []) if (t.categories.filter((t) => t === e.id)[0]) {
27
+ let e = n.exhibitorById.get(t.id);
28
+ e.categories.push(r), r.exhibitors.push(e);
29
+ }
30
+ r.store = t, t.categories.push(r);
31
+ }
32
+ o.log("initCategories", t.categories.length);
33
+ }
34
+ //#endregion
35
+ //#region src/store/init/init-events.ts
36
+ function Je(e) {
37
+ var t;
38
+ (t = f.events) == null || t.forEach((t) => {
39
+ let n = (t.speakers || []).map((t) => e.speakerStore.addSpeaker({ ...t })), r = new te(t.id, t.externalId || t.id.toString(), t.boothId, t.name || `Event ${t.id}`, t.description || "", t.startDate, t.endDate, t.logoFile, n, t.tracks || []);
40
+ e.eventStore.eventItems.push(r);
41
+ }), o.log("initEvents", e.eventStore.eventItems.length), o.log("initSpeakers", e.speakerStore.speakersMap.size), Xe(e.eventStore), Ye(e.eventStore);
42
+ }
43
+ function Ye(e) {
44
+ let t = p("visited");
45
+ e.replaceVisited(t.events), Ce(() => {
46
+ Oe("visited", {
47
+ exhibitors: p("visited").exhibitors,
48
+ events: e.visited.map((e) => e.id)
49
+ });
50
+ });
51
+ }
52
+ function Xe(e) {
53
+ let t = p("bookmarked");
54
+ e.replaceBookmarked(t.events), Ce(() => {
55
+ var t;
56
+ let n = p("bookmarked");
57
+ Oe("bookmarked", {
58
+ exhibitors: n.exhibitors,
59
+ events: (t = e.bookmarked) == null ? void 0 : t.map((e) => e.id),
60
+ speakers: n.speakers,
61
+ booths: n.booths
62
+ });
63
+ });
64
+ }
65
+ //#endregion
66
+ //#region src/store/init/init-exhibitors.ts
67
+ function Ze(e) {
68
+ let { exhibitorStore: t } = e, n = [...f.exhibitors || []], r = Ke();
69
+ if (r) {
70
+ let e = n.findIndex((e) => e.id === r.id);
71
+ e === -1 ? n.push(r) : n.splice(e, 1, r);
72
+ }
73
+ n.sort((e, t) => Number(t.featured) - Number(e.featured));
74
+ for (let e of n) {
75
+ let n = new Me();
76
+ Object.assign(n, e), n.slug = Pe(n.name), n.rebookingState = n.rebookingState || Ee.Unasked, n.categories = [], n.booths = [], n.store = t, t.exhibitors.push(n), n.schedule = null;
77
+ }
78
+ o.log("initExhibitors", t.exhibitors.length), Qe(t), $e(t);
79
+ }
80
+ function Qe(e) {
81
+ let t = p("bookmarked");
82
+ e.replaceBookmarked(t.exhibitors), Ce(() => {
83
+ var t;
84
+ let n = p("bookmarked");
85
+ Oe("bookmarked", {
86
+ exhibitors: (t = e.bookmarked) == null ? void 0 : t.map((e) => e.id),
87
+ events: n.events,
88
+ speakers: n.speakers,
89
+ booths: n.booths
90
+ });
91
+ });
92
+ }
93
+ function $e(e) {
94
+ let t = p("visited");
95
+ e.replaceVisited(t.exhibitors), Ce(() => {
96
+ let t = p("visited");
97
+ Oe("visited", {
98
+ exhibitors: e.visited.map((e) => e.id),
99
+ events: t.events
100
+ });
101
+ });
102
+ }
103
+ //#endregion
104
+ //#region src/store/init/init-heatmap.ts
105
+ function et(e) {
106
+ if (window.__heatmapData) e.heatmapStore.heatmapData = window.__heatmapData;
107
+ else if (window.__heatmapDataYah) {
108
+ e.heatmapStore.heatmapData.yah = window.__heatmapDataYah.yah.map((e) => {
109
+ let t = new re();
110
+ return t.id = e.id, t.name = e.name, t.viewCount = e.viewCount, t.x = e.x, t.y = e.y, t.z = e.z, t;
111
+ });
112
+ let t = e.heatmapStore.heatmapData.yah.map((t) => {
113
+ let n = e.heatmapStore.getColorByClicks(t.viewCount), r = e.uiState.devicePixelRatio, i = De(r, n, void 0, 95, 120, t.viewCount.toString()), a = i.toDataURL();
114
+ return {
115
+ name: t.id.toString(),
116
+ scale: 1,
117
+ width: i.width,
118
+ height: i.height,
119
+ content: a
120
+ };
121
+ }), n = e.heatmapStore.heatmapData.yah.map((e) => ({
122
+ id: e.id.toString(),
123
+ x: e.x,
124
+ y: e.y,
125
+ z: e.z,
126
+ position: "lefttop",
127
+ icon: e.id.toString(),
128
+ selectedIcon: e.id.toString()
129
+ }));
130
+ e.routeStore.setMarkers({
131
+ markers: n,
132
+ icons: t
133
+ }), e.selectSearch(" ");
134
+ }
135
+ }
136
+ //#endregion
137
+ //#region src/store/init/init-poiTypes.ts
138
+ function tt(e) {
139
+ var t;
140
+ ((t = f.poiTypes) == null ? [] : t).forEach((t) => {
141
+ e.poiTypeStore.poiTypes.push(t);
142
+ });
143
+ }
144
+ //#endregion
145
+ //#region src/store/init/init-speakers.ts
146
+ function nt(e) {
147
+ rt(e.speakerStore);
148
+ }
149
+ function rt(e) {
150
+ let t = p("bookmarked");
151
+ e.replaceBookmarked(t.speakers), Ce(() => {
152
+ var t;
153
+ let n = p("bookmarked");
154
+ Oe("bookmarked", {
155
+ exhibitors: n.exhibitors,
156
+ events: n.events,
157
+ speakers: (t = e.bookmarked) == null ? void 0 : t.map((e) => e.id),
158
+ booths: n.booths
159
+ });
160
+ });
161
+ }
162
+ //#endregion
163
+ //#region src/store/init/index.ts
164
+ function it(e) {
165
+ Se(e), Je(e), nt(e), Ze(e), qe(e), tt(e), Ne(e), et(e), Ge(e);
166
+ }
167
+ //#endregion
168
+ //#region src/store/search-buttons/constants.ts
169
+ var h = /*#__PURE__*/ function(e) {
170
+ return e.BOOKMARKS = "bookmarks", e.VISITED = "visited", e.SESSIONS = "sessions", e.TOURS = "guided_tours", e.CATEGORIES = "categories", e.POI_TYPE = "poi_type", e.POI_TYPES = "poi_types", e.LINK = "link", e.EXHIBITORS = "exhibitors", e;
171
+ }({}), g = {
172
+ POI_TYPE: "poiType_",
173
+ CATEGORIES: "categories_",
174
+ POI_TYPES: "poi_types_",
175
+ LINK: "link_"
176
+ }, at = {
177
+ BOOKMARKS: "icon-bookmark",
178
+ VISITED: "icon-checkmark",
179
+ SESSIONS: "icon-schedule",
180
+ EXHIBITORS: "icon-exhibitors"
181
+ }, _, ot, st;
182
+ function ct(e, t, n, r) {
183
+ n && Object.defineProperty(e, t, {
184
+ enumerable: n.enumerable,
185
+ configurable: n.configurable,
186
+ writable: n.writable,
187
+ value: n.initializer ? n.initializer.call(r) : void 0
188
+ });
189
+ }
190
+ function v(e, t, n, r, i) {
191
+ var a = {};
192
+ return Object.keys(r).forEach(function(e) {
193
+ a[e] = r[e];
194
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
195
+ return r(e, t, n) || n;
196
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
197
+ }
198
+ var y = {
199
+ CATEGORIES: "categories",
200
+ POI_TYPE: "poiType",
201
+ POI_TYPES: "poiTypes",
202
+ EXHIBITORS: "exhibitors"
203
+ }, lt = (_ = class {
204
+ constructor(e) {
205
+ this.rootStore = e, ct(this, "currentFilters", ot, this), ct(this, "isInitialized", st, this), this.setupReactions();
206
+ }
207
+ initialize() {
208
+ this.parseURLFilters(), this.applyFiltersToStore(), this.isInitialized = !0, o.log("URLFilterManager initialized with filters:", this.currentFilters);
209
+ }
210
+ parseURLFilters() {
211
+ let { categories: e, poiType: t, poiTypes: n, exhibitors: r } = this.readRawFilters(), i = n.filter((e) => {
212
+ if (!e) return !1;
213
+ let t = this.rootStore.poiTypeStore.poiTypes.some((t) => t.name.toLowerCase() === e.toLowerCase());
214
+ return t || o.warn(`POI type not found in data: ${e}`), t;
215
+ });
216
+ e.length > 0 && (t || i.length > 0) ? (o.warn("URL contains both categories and POI types. Clearing POI types."), this.currentFilters = {
217
+ categories: e,
218
+ poiType: null,
219
+ poiTypes: [],
220
+ exhibitors: r
221
+ }) : this.currentFilters = {
222
+ categories: e,
223
+ poiType: t,
224
+ poiTypes: i,
225
+ exhibitors: r
226
+ }, o.log("URLFilterManager parsed filters:", {
227
+ categories: e,
228
+ poiType: t,
229
+ poiTypes: n,
230
+ exhibitors: r
231
+ }), this.validateFilters(this.currentFilters);
232
+ }
233
+ readRawFilters() {
234
+ let e = t().filters;
235
+ if (Object.keys(e).length > 0) {
236
+ var n, r, i, a;
237
+ return {
238
+ categories: [...(n = e.categories) == null ? [] : n],
239
+ poiType: (r = e.poiType) == null ? null : r,
240
+ poiTypes: [...(i = e.poiTypes) == null ? [] : i],
241
+ exhibitors: (a = e.exhibitors) != null && a
242
+ };
243
+ }
244
+ let o = new URLSearchParams(window.location.search), s = o.get(y.CATEGORIES), c = s ? be(s) : [], l = o.get(y.POI_TYPE), u = l ? ye(l) : null, d = o.get(y.POI_TYPES), ee = d ? be(d) : [], te = o.get(y.EXHIBITORS);
245
+ return {
246
+ categories: c,
247
+ poiType: u,
248
+ poiTypes: ee,
249
+ exhibitors: te === "true" || te === ""
250
+ };
251
+ }
252
+ applyFiltersToStore() {
253
+ let { uiState: e, categoryFilterStore: t, searchButtonsStore: n } = this.rootStore;
254
+ if (this.currentFilters.categories.length > 0) {
255
+ let n = this.currentFilters.categories.map((e) => this.rootStore.categoryStore.categories.find((t) => t.name.toLowerCase() === e.toLowerCase())).filter((e) => e !== void 0);
256
+ n.length > 0 ? (e.selectedCategoryFilters = n, t.state.selectedItems = n.map((e) => ({
257
+ id: e.id,
258
+ name: e.name
259
+ })), e.categoryFilterOpen = !0, o.log("URLFilterManager applied categories:", n.map((e) => e.name)), setTimeout(() => {
260
+ this.focusOnFilteredBooths(), this.rootStore.searchStore.setFocused(!0);
261
+ }, 100)) : o.warn("URLFilterManager: no categories found for names:", this.currentFilters.categories);
262
+ }
263
+ if (this.currentFilters.poiType) {
264
+ let t = this.rootStore.poiTypeStore.poiTypes.find((e) => e.name.toLowerCase() === this.currentFilters.poiType.toLowerCase());
265
+ t ? (e.selectedPoiTypeFilters = [t], n.setPoiFilterId(`${g.POI_TYPE}${t.id}`), o.log("URLFilterManager applied POI type:", t.name), setTimeout(() => {
266
+ this.focusOnFilteredBooths(), this.rootStore.searchStore.setFocused(!0);
267
+ }, 100)) : o.warn("URLFilterManager: no POI type found for name:", this.currentFilters.poiType);
268
+ }
269
+ if (this.currentFilters.poiTypes.length > 0) {
270
+ let t = this.currentFilters.poiTypes.map((e) => e ? this.rootStore.poiTypeStore.poiTypes.find((t) => t.name.toLowerCase() === e.toLowerCase()) : null).filter((e) => e != null);
271
+ t.length > 0 ? (e.selectedPoiTypeFilters = t, o.log("URLFilterManager applied POI types:", t.map((e) => e.name)), setTimeout(() => {
272
+ this.focusOnFilteredBooths(), this.rootStore.searchStore.setFocused(!0);
273
+ }, 100)) : (o.warn("URLFilterManager: no POI types found for names:", this.currentFilters.poiTypes), this.currentFilters.poiTypes = []);
274
+ }
275
+ this.currentFilters.exhibitors && this.openExhibitorsList();
276
+ }
277
+ filterSearch() {
278
+ let { uiState: e } = this.rootStore, t = new URLSearchParams();
279
+ if (e.selectedCategoryFilters.length > 0) {
280
+ let n = ge(e.selectedCategoryFilters.map((e) => e.name.toLowerCase()));
281
+ n && t.set(y.CATEGORIES, n);
282
+ }
283
+ if (e.selectedPoiTypeFilters.length > 0 && e.selectedCategoryFilters.length === 0) if (e.selectedPoiTypeFilters.length === 1) {
284
+ let n = e.selectedPoiTypeFilters[0].name.toLowerCase();
285
+ if (n) {
286
+ let e = he(n);
287
+ e && t.set(y.POI_TYPE, e);
288
+ }
289
+ } else {
290
+ let n = ge(e.selectedPoiTypeFilters.map((e) => e.name.toLowerCase()));
291
+ n && t.set(y.POI_TYPES, n);
292
+ }
293
+ return this.currentFilters.exhibitors && e.selectedCategoryFilters.length === 0 && e.selectedPoiTypeFilters.length === 0 && t.set(y.EXHIBITORS, "true"), t.toString() ? `?${t.toString()}` : "";
294
+ }
295
+ updateURLFromFilters() {
296
+ let { uiState: e } = this.rootStore;
297
+ He(this.filterSearch()), this.currentFilters = {
298
+ categories: e.selectedCategoryFilters.length > 0 ? e.selectedCategoryFilters.map((e) => e.name) : [],
299
+ poiType: e.selectedPoiTypeFilters.length === 1 && e.selectedCategoryFilters.length === 0 ? e.selectedPoiTypeFilters[0].name : null,
300
+ poiTypes: e.selectedPoiTypeFilters.length > 1 && e.selectedCategoryFilters.length === 0 ? e.selectedPoiTypeFilters.map((e) => e.name) : [],
301
+ exhibitors: this.currentFilters.exhibitors
302
+ };
303
+ }
304
+ setCategories(e) {
305
+ this.currentFilters.categories = ve(e), this.currentFilters.poiType = null, this.isInitialized && this.updateURLFromFilters();
306
+ }
307
+ setPoiType(e) {
308
+ this.currentFilters.poiType = xe(e), this.currentFilters.poiTypes = [], this.currentFilters.categories = [], this.isInitialized && this.updateURLFromFilters();
309
+ }
310
+ setPoiTypes(e) {
311
+ this.currentFilters.poiTypes = ve(e), this.currentFilters.poiType = null, this.currentFilters.categories = [], this.isInitialized && this.updateURLFromFilters();
312
+ }
313
+ clearAllFilters() {
314
+ this.currentFilters = {
315
+ categories: [],
316
+ poiType: null,
317
+ poiTypes: [],
318
+ exhibitors: !1
319
+ };
320
+ let { uiState: e } = this.rootStore;
321
+ e.categoryFilterOpen = !1, this.updateURLFromFilters();
322
+ }
323
+ getCurrentFilters() {
324
+ return { ...this.currentFilters };
325
+ }
326
+ setupReactions() {
327
+ me(() => this.rootStore.uiState.selectedCategoryFilters, (e) => {
328
+ if (this.isInitialized && e.length > 0) {
329
+ let t = ve(e.map((e) => e.name));
330
+ this.setCategories(t);
331
+ }
332
+ }), me(() => this.rootStore.uiState.selectedPoiTypeFilters, (e) => {
333
+ if (this.isInitialized && e.length > 0) if (e.length === 1) {
334
+ let t = xe(e[0].name);
335
+ t && this.setPoiType(t);
336
+ } else {
337
+ let t = ve(e.map((e) => e.name));
338
+ this.setPoiTypes(t);
339
+ }
340
+ });
341
+ }
342
+ validateFilters(e) {
343
+ if (e.categories.length > 0 && (e.poiType || e.poiTypes.length > 0)) return o.warn("Categories and POI types cannot be active simultaneously"), !1;
344
+ if (e.poiType && e.poiTypes.length > 0) return o.warn("Both single POI type and multiple POI types cannot be active simultaneously"), !1;
345
+ for (let t of e.categories) if (!this.getCategoryIdByName(t)) return o.warn(`Category not found: ${t}`), !1;
346
+ if (e.poiType && !this.getPoiTypeIdByName(e.poiType)) return o.warn(`POI type not found: ${e.poiType}`), !1;
347
+ for (let t of e.poiTypes) if (!this.getPoiTypeIdByName(t)) return o.warn(`POI type not found: ${t}`), !1;
348
+ return !0;
349
+ }
350
+ getCategoryIdByName(e) {
351
+ let t = this.rootStore.categoryStore.categories.find((t) => t.name.toLowerCase() === e.toLowerCase());
352
+ return t ? t.id : null;
353
+ }
354
+ getPoiTypeIdByName(e) {
355
+ let t = this.rootStore.poiTypeStore.poiTypes.find((t) => t.name.toLowerCase() === e.toLowerCase());
356
+ return t ? t.id : null;
357
+ }
358
+ focusOnFilteredBooths() {
359
+ if (!this.rootStore.layerStore.layersLoaded) {
360
+ me(() => this.rootStore.layerStore.layersLoaded, () => {
361
+ this.focusOnFilteredBooths();
362
+ }, { fireImmediately: !1 });
363
+ return;
364
+ }
365
+ let { uiState: e, exhibitorStore: t, boothStore: n } = this.rootStore, r = [];
366
+ if (e.selectedCategoryFilters.length > 0) {
367
+ let i = t.exhibitors.filter((t) => e.selectedCategoryFilters.some((e) => t.categories.some((t) => t.id === e.id)));
368
+ r = n.booths.filter((e) => i.some((t) => {
369
+ var n;
370
+ return t.id === ((n = e.exhibitors[0]) == null ? void 0 : n.id);
371
+ }));
372
+ }
373
+ if (e.selectedPoiTypeFilters.length > 0) {
374
+ let t = n.booths.filter((t) => e.selectedPoiTypeFilters.some((e) => t.poiTypeId === e.id));
375
+ r = r.length > 0 ? r.filter((e) => t.some((t) => t.id === e.id)) : t;
376
+ }
377
+ let i = r.filter((e) => e.visible);
378
+ i.length > 0 ? (e.moveToBooths = i, this.rootStore.moveToList(i)) : r.length > 0 && (this.rootStore.showMap(), this.rootStore.moveToList(r));
379
+ }
380
+ openExhibitorsList() {
381
+ let { uiState: e } = this.rootStore;
382
+ e.list = {
383
+ type: "exhibitors",
384
+ text: "",
385
+ focused: !1
386
+ }, setTimeout(() => {
387
+ this.rootStore.searchStore.setFocused(!0);
388
+ }, 100), o.log("URLFilterManager opened exhibitors list");
389
+ }
390
+ }, ot = v(_.prototype, "currentFilters", [c], {
391
+ configurable: !0,
392
+ enumerable: !0,
393
+ writable: !0,
394
+ initializer: function() {
395
+ return {
396
+ categories: [],
397
+ poiType: null,
398
+ poiTypes: [],
399
+ exhibitors: !1
400
+ };
401
+ }
402
+ }), st = v(_.prototype, "isInitialized", [c], {
403
+ configurable: !0,
404
+ enumerable: !0,
405
+ writable: !0,
406
+ initializer: function() {
407
+ return !1;
408
+ }
409
+ }), v(_.prototype, "initialize", [l], Object.getOwnPropertyDescriptor(_.prototype, "initialize"), _.prototype), v(_.prototype, "parseURLFilters", [l], Object.getOwnPropertyDescriptor(_.prototype, "parseURLFilters"), _.prototype), v(_.prototype, "applyFiltersToStore", [l], Object.getOwnPropertyDescriptor(_.prototype, "applyFiltersToStore"), _.prototype), v(_.prototype, "updateURLFromFilters", [l], Object.getOwnPropertyDescriptor(_.prototype, "updateURLFromFilters"), _.prototype), v(_.prototype, "setCategories", [l], Object.getOwnPropertyDescriptor(_.prototype, "setCategories"), _.prototype), v(_.prototype, "setPoiType", [l], Object.getOwnPropertyDescriptor(_.prototype, "setPoiType"), _.prototype), v(_.prototype, "setPoiTypes", [l], Object.getOwnPropertyDescriptor(_.prototype, "setPoiTypes"), _.prototype), v(_.prototype, "clearAllFilters", [l], Object.getOwnPropertyDescriptor(_.prototype, "clearAllFilters"), _.prototype), v(_.prototype, "focusOnFilteredBooths", [l], Object.getOwnPropertyDescriptor(_.prototype, "focusOnFilteredBooths"), _.prototype), v(_.prototype, "openExhibitorsList", [l], Object.getOwnPropertyDescriptor(_.prototype, "openExhibitorsList"), _.prototype), _), b;
410
+ function ut(e, t, n, r, i) {
411
+ var a = {};
412
+ return Object.keys(r).forEach(function(e) {
413
+ a[e] = r[e];
414
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
415
+ return r(e, t, n) || n;
416
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
417
+ }
418
+ var dt = (b = class {
419
+ constructor(e) {
420
+ this.rootStore = void 0, this.rootStore = e;
421
+ }
422
+ get bookmarkedBooths() {
423
+ return this.rootStore.boothStore.booths.filter((e) => e.exhibitors.length === 0 && e.bookmarkedDirectly);
424
+ }
425
+ get total() {
426
+ return this.rootStore.exhibitorStore.bookmarked.length + this.rootStore.eventStore.bookmarked.length + this.rootStore.speakerStore.bookmarked.length + this.bookmarkedBooths.length;
427
+ }
428
+ get hasRoutableBookmarks() {
429
+ return this.rootStore.exhibitorStore.bookmarked.length > 0 || this.bookmarkedBooths.length > 0;
430
+ }
431
+ }, ut(b.prototype, "bookmarkedBooths", [s], Object.getOwnPropertyDescriptor(b.prototype, "bookmarkedBooths"), b.prototype), ut(b.prototype, "total", [s], Object.getOwnPropertyDescriptor(b.prototype, "total"), b.prototype), ut(b.prototype, "hasRoutableBookmarks", [s], Object.getOwnPropertyDescriptor(b.prototype, "hasRoutableBookmarks"), b.prototype), b), x, ft;
432
+ function pt(e, t, n, r) {
433
+ n && Object.defineProperty(e, t, {
434
+ enumerable: n.enumerable,
435
+ configurable: n.configurable,
436
+ writable: n.writable,
437
+ value: n.initializer ? n.initializer.call(r) : void 0
438
+ });
439
+ }
440
+ function S(e, t, n, r, i) {
441
+ var a = {};
442
+ return Object.keys(r).forEach(function(e) {
443
+ a[e] = r[e];
444
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
445
+ return r(e, t, n) || n;
446
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
447
+ }
448
+ var mt = (x = class {
449
+ get publicRootStore() {
450
+ return this.rootStore;
451
+ }
452
+ constructor(e) {
453
+ this.rootStore = void 0, pt(this, "state", ft, this), this.rootStore = e;
454
+ }
455
+ openFilter() {
456
+ this.state.isOpen = !0, this.state.pendingItems = [...this.state.selectedItems];
457
+ }
458
+ closeFilter() {
459
+ this.state.isOpen = !1, this.state.pendingItems = [], this.rootStore.urlFilterManager && this.rootStore.urlFilterManager.isInitialized && this.rootStore.urlFilterManager.clearAllFilters();
460
+ }
461
+ applyFilter() {
462
+ this.state.selectedItems = [...this.state.pendingItems], this.closeFilter(), this.updateUIState();
463
+ }
464
+ resetFilter() {
465
+ this.state.pendingItems = [];
466
+ }
467
+ clearPendingItems() {
468
+ this.state.pendingItems = [];
469
+ }
470
+ setPendingItems(e) {
471
+ this.state.pendingItems = e;
472
+ }
473
+ }, ft = S(x.prototype, "state", [c], {
474
+ configurable: !0,
475
+ enumerable: !0,
476
+ writable: !0,
477
+ initializer: function() {
478
+ return {
479
+ isOpen: !1,
480
+ selectedItems: [],
481
+ pendingItems: []
482
+ };
483
+ }
484
+ }), S(x.prototype, "openFilter", [l], Object.getOwnPropertyDescriptor(x.prototype, "openFilter"), x.prototype), S(x.prototype, "closeFilter", [l], Object.getOwnPropertyDescriptor(x.prototype, "closeFilter"), x.prototype), S(x.prototype, "applyFilter", [l], Object.getOwnPropertyDescriptor(x.prototype, "applyFilter"), x.prototype), S(x.prototype, "resetFilter", [l], Object.getOwnPropertyDescriptor(x.prototype, "resetFilter"), x.prototype), S(x.prototype, "clearPendingItems", [l], Object.getOwnPropertyDescriptor(x.prototype, "clearPendingItems"), x.prototype), S(x.prototype, "setPendingItems", [l], Object.getOwnPropertyDescriptor(x.prototype, "setPendingItems"), x.prototype), x), C;
485
+ function ht(e, t, n, r, i) {
486
+ var a = {};
487
+ return Object.keys(r).forEach(function(e) {
488
+ a[e] = r[e];
489
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
490
+ return r(e, t, n) || n;
491
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
492
+ }
493
+ var gt = (C = class extends mt {
494
+ get filteredExhibitors() {
495
+ return this.state.selectedItems.length === 0 ? this.rootStore.exhibitorStore.exhibitors : this.rootStore.exhibitorStore.exhibitors.filter((e) => this.state.selectedItems.some((t) => e.categories.some((e) => e.id === t.id)));
496
+ }
497
+ get filteredBooths() {
498
+ return this.rootStore.boothStore.booths.filter((e) => this.filteredExhibitors.some((t) => {
499
+ var n;
500
+ return t.id === ((n = e.exhibitors[0]) == null ? void 0 : n.id);
501
+ }));
502
+ }
503
+ get publicRootStore() {
504
+ return this.rootStore;
505
+ }
506
+ updateUIState() {
507
+ this.rootStore.uiState.menu = !1;
508
+ let e = this.state.selectedItems.map((e) => this.rootStore.categoryStore.categories.find((t) => t.id === e.id)).filter(Boolean);
509
+ this.rootStore.uiState.selectedCategoryFilters = e, this.rootStore.uiState.categoryFilterOpen = !0, this.rootStore.searchStore.setFocused(!0), this.rootStore.moveToList(), this.rootStore.showMap();
510
+ let t = e.map((e) => e.name);
511
+ this.rootStore.urlFilterManager.setCategories(t);
512
+ }
513
+ getFilteredItems() {
514
+ return this.rootStore.exhibitorStore.exhibitors.map((e) => ({
515
+ id: e.id,
516
+ name: e.name
517
+ }));
518
+ }
519
+ getMatchingExhibitorsCount() {
520
+ return this.state.pendingItems.length === 0 ? this.rootStore.exhibitorStore.exhibitors.length : this.rootStore.exhibitorStore.exhibitors.filter((e) => e.categories.some((e) => this.state.pendingItems.some((t) => t.id === e.id))).length;
521
+ }
522
+ resetFilter() {
523
+ this.state.pendingItems = [], this.state.selectedItems = [], this.rootStore.uiState.selectedCategoryFilters = [], this.rootStore.uiState.categoryFilterOpen = !1, this.rootStore.uiState.list = {
524
+ type: "search",
525
+ text: "",
526
+ focused: !1
527
+ }, this.rootStore.urlFilterManager.setCategories([]);
528
+ }
529
+ }, ht(C.prototype, "filteredExhibitors", [s], Object.getOwnPropertyDescriptor(C.prototype, "filteredExhibitors"), C.prototype), ht(C.prototype, "filteredBooths", [s], Object.getOwnPropertyDescriptor(C.prototype, "filteredBooths"), C.prototype), ht(C.prototype, "resetFilter", [l], Object.getOwnPropertyDescriptor(C.prototype, "resetFilter"), C.prototype), C), _t, vt;
530
+ function yt(e, t, n, r) {
531
+ n && Object.defineProperty(e, t, {
532
+ enumerable: n.enumerable,
533
+ configurable: n.configurable,
534
+ writable: n.writable,
535
+ value: n.initializer ? n.initializer.call(r) : void 0
536
+ });
537
+ }
538
+ function bt(e, t, n, r, i) {
539
+ var a = {};
540
+ return Object.keys(r).forEach(function(e) {
541
+ a[e] = r[e];
542
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
543
+ return r(e, t, n) || n;
544
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
545
+ }
546
+ var xt = (_t = class {
547
+ constructor(e) {
548
+ this.keys = e, yt(this, "engine", vt, this), this.enginePromise = null, this.lastCollection = null;
549
+ }
550
+ loadEngine() {
551
+ return this.enginePromise || (this.enginePromise = this.buildEngine()), this.enginePromise;
552
+ }
553
+ async buildEngine() {
554
+ try {
555
+ let { default: e } = await import("./fuse-BQcpTy7r.js").then((e) => e.n);
556
+ u(() => {
557
+ this.engine = new e([], {
558
+ keys: this.keys,
559
+ ignoreFieldNorm: !0,
560
+ includeScore: !0,
561
+ threshold: .3,
562
+ ignoreLocation: !0
563
+ });
564
+ });
565
+ } catch (e) {
566
+ console.error(e), this.enginePromise = null;
567
+ }
568
+ }
569
+ search(e, t) {
570
+ return !this.engine || !(e != null && e.length) || !t ? [] : (this.lastCollection !== e && (this.engine.setCollection(e), this.lastCollection = e), this.engine.search(t));
571
+ }
572
+ }, vt = bt(_t.prototype, "engine", [c], {
573
+ configurable: !0,
574
+ enumerable: !0,
575
+ writable: !0,
576
+ initializer: null
577
+ }), _t), w, St, Ct;
578
+ function wt(e, t, n, r) {
579
+ n && Object.defineProperty(e, t, {
580
+ enumerable: n.enumerable,
581
+ configurable: n.configurable,
582
+ writable: n.writable,
583
+ value: n.initializer ? n.initializer.call(r) : void 0
584
+ });
585
+ }
586
+ function Tt(e, t, n, r, i) {
587
+ var a = {};
588
+ return Object.keys(r).forEach(function(e) {
589
+ a[e] = r[e];
590
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
591
+ return r(e, t, n) || n;
592
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
593
+ }
594
+ var Et = (w = class {
595
+ constructor() {
596
+ wt(this, "enabled", St, this), wt(this, "unreadCount", Ct, this);
597
+ }
598
+ setEnabled(e) {
599
+ this.enabled = e;
600
+ }
601
+ setUnreadCount(e) {
602
+ this.unreadCount = e;
603
+ }
604
+ }, St = Tt(w.prototype, "enabled", [c], {
605
+ configurable: !0,
606
+ enumerable: !0,
607
+ writable: !0,
608
+ initializer: function() {
609
+ return !1;
610
+ }
611
+ }), Ct = Tt(w.prototype, "unreadCount", [c], {
612
+ configurable: !0,
613
+ enumerable: !0,
614
+ writable: !0,
615
+ initializer: function() {
616
+ return 0;
617
+ }
618
+ }), Tt(w.prototype, "setEnabled", [l], Object.getOwnPropertyDescriptor(w.prototype, "setEnabled"), w.prototype), Tt(w.prototype, "setUnreadCount", [l], Object.getOwnPropertyDescriptor(w.prototype, "setUnreadCount"), w.prototype), w), Dt, Ot, kt, At, jt, T, Mt, Nt, Pt;
619
+ function Ft(e, t, n, r) {
620
+ n && Object.defineProperty(e, t, {
621
+ enumerable: n.enumerable,
622
+ configurable: n.configurable,
623
+ writable: n.writable,
624
+ value: n.initializer ? n.initializer.call(r) : void 0
625
+ });
626
+ }
627
+ function E(e, t, n, r, i) {
628
+ var a = {};
629
+ return Object.keys(r).forEach(function(e) {
630
+ a[e] = r[e];
631
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
632
+ return r(e, t, n) || n;
633
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
634
+ }
635
+ var It = !0;
636
+ function Lt() {
637
+ return typeof window > "u" || window.navigator.onLine;
638
+ }
639
+ var Rt = (Dt = s({ keepAlive: !0 }), Ot = s({ keepAlive: !0 }), kt = s({ keepAlive: !0 }), At = s({ keepAlive: !0 }), jt = s({ keepAlive: !0 }), T = class {
640
+ constructor(e) {
641
+ this.rootStore = void 0, Ft(this, "mapViewMode", Mt, this), Ft(this, "maplibreSelected", Nt, this), Ft(this, "isOnline", Pt, this), this.cameraPortBox = c.box(null, { deep: !1 }), this.handleOnline = () => this.setOnline(!0), this.handleOffline = () => this.setOnline(!1), this.rootStore = e, this.mapViewMode = this.getInitialViewMode(), this.maplibreSelected = this.mapViewMode !== "floorplan", typeof window < "u" && (window.addEventListener("online", this.handleOnline), window.addEventListener("offline", this.handleOffline));
642
+ }
643
+ dispose() {
644
+ typeof window > "u" || (window.removeEventListener("online", this.handleOnline), window.removeEventListener("offline", this.handleOffline));
645
+ }
646
+ setOnline(e) {
647
+ this.isOnline = e;
648
+ }
649
+ get cameraPort() {
650
+ return this.cameraPortBox.get();
651
+ }
652
+ setCameraPort(e) {
653
+ this.cameraPortBox.set(e);
654
+ }
655
+ clearCameraPortIfCurrent(e) {
656
+ this.cameraPortBox.get() === e && this.cameraPortBox.set(null);
657
+ }
658
+ activateMaplibre() {
659
+ this.maplibreEnabled && (this.mapViewMode = f.allow3dView && this.mapViewMode !== "map3d" ? "map3d" : "map2d", this.maplibreSelected = !0);
660
+ }
661
+ deactivateMaplibre() {
662
+ this.mapViewMode = "floorplan", this.maplibreSelected = !1;
663
+ }
664
+ get hideModeSwitchButton() {
665
+ return !this.maplibreEnabled || !f.allow3dView || It;
666
+ }
667
+ get maplibreEnabled() {
668
+ var e, t, n;
669
+ let r = (e = (t = this.rootStore.fp) == null ? void 0 : t.maplibre) == null ? window.__efpMaplibre : e, i = !!(r != null && r.offline) && (!!r.style || !!r.styleUrl);
670
+ return this.useMaplibreMap && !!(!((n = Fe()) == null || (n = n.properties) == null) && n.config) && (this.isOnline || i);
671
+ }
672
+ get useMaplibreMap() {
673
+ var e, t;
674
+ return (e = f.enableExperimentalMaplibre) == null ? ((t = Fe()) == null || (t = t.properties) == null || (t = t.config) == null ? void 0 : t.type) === "maplibre" : e;
675
+ }
676
+ get showMaplibre() {
677
+ return this.maplibreEnabled && (this.mapViewMode === "map2d" || this.mapViewMode === "map3d");
678
+ }
679
+ get isMap3d() {
680
+ return this.maplibreEnabled && this.mapViewMode === "map3d";
681
+ }
682
+ getInitialViewMode() {
683
+ return this.maplibreEnabled ? this.rootStore.uiState.is3DView ? "map3d" : "map2d" : "floorplan";
684
+ }
685
+ }, Mt = E(T.prototype, "mapViewMode", [c], {
686
+ configurable: !0,
687
+ enumerable: !0,
688
+ writable: !0,
689
+ initializer: function() {
690
+ return "floorplan";
691
+ }
692
+ }), Nt = E(T.prototype, "maplibreSelected", [c], {
693
+ configurable: !0,
694
+ enumerable: !0,
695
+ writable: !0,
696
+ initializer: function() {
697
+ return !1;
698
+ }
699
+ }), Pt = E(T.prototype, "isOnline", [c], {
700
+ configurable: !0,
701
+ enumerable: !0,
702
+ writable: !0,
703
+ initializer: function() {
704
+ return Lt();
705
+ }
706
+ }), E(T.prototype, "setOnline", [l], Object.getOwnPropertyDescriptor(T.prototype, "setOnline"), T.prototype), E(T.prototype, "setCameraPort", [l], Object.getOwnPropertyDescriptor(T.prototype, "setCameraPort"), T.prototype), E(T.prototype, "clearCameraPortIfCurrent", [l], Object.getOwnPropertyDescriptor(T.prototype, "clearCameraPortIfCurrent"), T.prototype), E(T.prototype, "activateMaplibre", [l], Object.getOwnPropertyDescriptor(T.prototype, "activateMaplibre"), T.prototype), E(T.prototype, "deactivateMaplibre", [l], Object.getOwnPropertyDescriptor(T.prototype, "deactivateMaplibre"), T.prototype), E(T.prototype, "hideModeSwitchButton", [Dt], Object.getOwnPropertyDescriptor(T.prototype, "hideModeSwitchButton"), T.prototype), E(T.prototype, "maplibreEnabled", [Ot], Object.getOwnPropertyDescriptor(T.prototype, "maplibreEnabled"), T.prototype), E(T.prototype, "useMaplibreMap", [kt], Object.getOwnPropertyDescriptor(T.prototype, "useMaplibreMap"), T.prototype), E(T.prototype, "showMaplibre", [At], Object.getOwnPropertyDescriptor(T.prototype, "showMaplibre"), T.prototype), E(T.prototype, "isMap3d", [jt], Object.getOwnPropertyDescriptor(T.prototype, "isMap3d"), T.prototype), T), D;
707
+ function zt(e, t, n, r, i) {
708
+ var a = {};
709
+ return Object.keys(r).forEach(function(e) {
710
+ a[e] = r[e];
711
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
712
+ return r(e, t, n) || n;
713
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
714
+ }
715
+ var Bt = (D = class {
716
+ constructor(e) {
717
+ this.rootStore = e;
718
+ }
719
+ get ui() {
720
+ return this.rootStore.uiState;
721
+ }
722
+ get isRouteActive() {
723
+ let e = this.ui.selectedRoute;
724
+ return !!(e != null && e.from && e != null && e.to);
725
+ }
726
+ get isSearchListOpen() {
727
+ let { list: e } = this.ui;
728
+ return e.type === "search" || f.isRebooking && e.type === "exhibitors";
729
+ }
730
+ get mediumSizeMultiplier() {
731
+ return this.isRouteActive ? 7 : this.ui.details ? 3 : this.isSearchListOpen ? 9 : 3;
732
+ }
733
+ get fullSizeOffset() {
734
+ let e = this.ui, t = e.wsShown ? 54 : 0, n = e.bannerType === "free" && !e.freeBannerDismissed ? 40 : 0;
735
+ if (e.details && !(e.details instanceof Re)) return t + n + 20;
736
+ let r = e.shouldShowSearchButtons ? 54 : 0;
737
+ return t + n + 54 + 20 + r;
738
+ }
739
+ }, zt(D.prototype, "mediumSizeMultiplier", [s], Object.getOwnPropertyDescriptor(D.prototype, "mediumSizeMultiplier"), D.prototype), zt(D.prototype, "fullSizeOffset", [s], Object.getOwnPropertyDescriptor(D.prototype, "fullSizeOffset"), D.prototype), D), Vt = {
740
+ active: !1,
741
+ key: "",
742
+ matchingMarkers: []
743
+ };
744
+ function Ht(e, t, n, r) {
745
+ if (!e.length || t) return Vt;
746
+ let i = new Set(e), a = new Map(r.map((e) => [e.boothId, e])), o = [];
747
+ for (let e of n) {
748
+ if (e.poiTypeId == null || !i.has(e.poiTypeId)) continue;
749
+ let t = a.get(e.id);
750
+ t && o.push(t);
751
+ }
752
+ return o.length ? {
753
+ active: !0,
754
+ key: [...new Set(o.map((e) => e.boothId))].sort((e, t) => e - t).join(","),
755
+ matchingMarkers: o
756
+ } : Vt;
757
+ }
758
+ //#endregion
759
+ //#region src/store/PoiMarkerStore.ts
760
+ var Ut, Wt, Gt, Kt, O;
761
+ function qt(e, t, n, r, i) {
762
+ var a = {};
763
+ return Object.keys(r).forEach(function(e) {
764
+ a[e] = r[e];
765
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
766
+ return r(e, t, n) || n;
767
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
768
+ }
769
+ var Jt = (Ut = s({ keepAlive: !0 }), Wt = s({ keepAlive: !0 }), Gt = s({ keepAlive: !0 }), Kt = s({ keepAlive: !0 }), O = class {
770
+ constructor(e) {
771
+ this.rootStore = void 0, this.markersBox = c.box([], { deep: !1 }), this.generation = 0, this.rootStore = e;
772
+ }
773
+ get markers() {
774
+ return this.markersBox.get();
775
+ }
776
+ addMany(e) {
777
+ e.length && this.markersBox.set([...this.markers, ...e]);
778
+ }
779
+ clear() {
780
+ this.generation += 1, this.markersBox.set([]);
781
+ }
782
+ get selectedMarkerId() {
783
+ let e = [...this.rootStore.uiState.selectedBooths], t = e.length === 1 ? e[0] : void 0;
784
+ return t && this.markers.some((e) => e.boothId === t.id) ? t.id : null;
785
+ }
786
+ get selectionActive() {
787
+ return this.selectedMarkerId !== null;
788
+ }
789
+ get outdoorFilter() {
790
+ let { uiState: e, boothStore: t } = this.rootStore;
791
+ return Ht(e.selectedPoiTypeFilters.map((e) => e.id), e.selectedCategoryFilters.length > 0, t.booths, this.markers);
792
+ }
793
+ get dimSuppressed() {
794
+ return this.outdoorFilter.active || this.selectionActive;
795
+ }
796
+ }, qt(O.prototype, "addMany", [l], Object.getOwnPropertyDescriptor(O.prototype, "addMany"), O.prototype), qt(O.prototype, "clear", [l], Object.getOwnPropertyDescriptor(O.prototype, "clear"), O.prototype), qt(O.prototype, "selectedMarkerId", [Ut], Object.getOwnPropertyDescriptor(O.prototype, "selectedMarkerId"), O.prototype), qt(O.prototype, "selectionActive", [Wt], Object.getOwnPropertyDescriptor(O.prototype, "selectionActive"), O.prototype), qt(O.prototype, "outdoorFilter", [Gt], Object.getOwnPropertyDescriptor(O.prototype, "outdoorFilter"), O.prototype), qt(O.prototype, "dimSuppressed", [Kt], Object.getOwnPropertyDescriptor(O.prototype, "dimSuppressed"), O.prototype), O), Yt = class {
797
+ constructor(e) {
798
+ this.rootStore = void 0, this.poiTypes = [], this.rootStore = e;
799
+ }
800
+ }, Xt = class {
801
+ constructor() {
802
+ this.id = void 0;
803
+ }
804
+ shouldShowShortcuts() {
805
+ return !0;
806
+ }
807
+ }, Zt;
808
+ function Qt(e, t, n, r, i) {
809
+ var a = {};
810
+ return Object.keys(r).forEach(function(e) {
811
+ a[e] = r[e];
812
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
813
+ return r(e, t, n) || n;
814
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
815
+ }
816
+ var $t = (Zt = class extends Xt {
817
+ constructor(e) {
818
+ super(), this.rootStore = e, this.id = "search";
819
+ }
820
+ createShortcuts() {
821
+ let { searchButtonsStore: e } = this.rootStore, t = [], n = e.getActiveParent();
822
+ if (n && n.children) {
823
+ let r = n.children.filter((e) => e.visible);
824
+ if (n.type === "poi_types" && r.length === 1) return t;
825
+ r.forEach((r) => {
826
+ if (r.type === "poi_types" || r.type === "categories") {
827
+ var i;
828
+ let a = ((i = r.id) == null ? void 0 : i.toString()) || r.name, o = e.isChildActive(a);
829
+ t.push({
830
+ id: a,
831
+ label: r.name,
832
+ enabled: !0,
833
+ active: o,
834
+ tooltip: o ? `Remove ${r.name} from filter (show all ${n.name})` : `Filter only by ${r.name}`,
835
+ variant: "default",
836
+ action: "toggle",
837
+ showResetButton: !1
838
+ });
839
+ }
840
+ });
841
+ }
842
+ return t;
843
+ }
844
+ get shortcuts() {
845
+ return this.createShortcuts();
846
+ }
847
+ shouldShowShortcuts() {
848
+ let { searchButtonsStore: e } = this.rootStore;
849
+ return e.hasActiveParentWithChildren;
850
+ }
851
+ handleShortcutClick(e) {
852
+ let { searchButtonsStore: t } = this.rootStore;
853
+ t.toggleChildFilter(e);
854
+ }
855
+ handleShortcutReset() {
856
+ let { searchButtonsStore: e } = this.rootStore;
857
+ e.clearAllChildFilters();
858
+ }
859
+ }, Qt(Zt.prototype, "shortcuts", [s], Object.getOwnPropertyDescriptor(Zt.prototype, "shortcuts"), Zt.prototype), Zt), en;
860
+ function tn(e, t, n, r, i) {
861
+ var a = {};
862
+ return Object.keys(r).forEach(function(e) {
863
+ a[e] = r[e];
864
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
865
+ return r(e, t, n) || n;
866
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
867
+ }
868
+ var nn = (en = class extends Xt {
869
+ constructor(e) {
870
+ super(), this.rootStore = e, this.id = "sessions";
871
+ }
872
+ get computedShortcuts() {
873
+ let { sessionsFilterStore: e, eventStore: t } = this.rootStore, { filters: n } = e.state, r = [];
874
+ return r.push({
875
+ id: "bookmarks",
876
+ icon: "icon-bookmark",
877
+ enabled: !0,
878
+ active: n.showBookmarksOnly.value,
879
+ tooltip: "Show bookmarked events only",
880
+ variant: "default",
881
+ action: "toggle",
882
+ showResetButton: !1
883
+ }), t.tracks.length > 0 && r.push({
884
+ id: "tracks",
885
+ label: "Tracks",
886
+ badge: n.selectedTracks.value.length > 0 ? n.selectedTracks.value.length : void 0,
887
+ enabled: !0,
888
+ active: n.selectedTracks.value.length > 0,
889
+ tooltip: "Show events by tracks",
890
+ variant: "default",
891
+ action: "custom",
892
+ showResetButton: !0
893
+ }), this.rootStore.speakerStore.speakers.length > 0 && r.push({
894
+ id: "speakers",
895
+ label: "Speakers",
896
+ enabled: !0,
897
+ active: !1,
898
+ tooltip: "Open speakers list",
899
+ variant: "default",
900
+ action: "custom",
901
+ showResetButton: !1
902
+ }), t.liveEvents.length > 0 && r.push({
903
+ id: "live",
904
+ label: "Live",
905
+ enabled: !0,
906
+ active: n.showLiveOnly.value,
907
+ tooltip: "Show events happening now",
908
+ variant: "default",
909
+ action: "toggle",
910
+ showResetButton: !1
911
+ }), t.todayEvents.length > 0 && r.push({
912
+ id: "today",
913
+ label: "Today",
914
+ enabled: !0,
915
+ active: n.date.value === "today",
916
+ tooltip: "Show today's events",
917
+ variant: "default",
918
+ action: "toggle",
919
+ showResetButton: !1
920
+ }), t.tomorrowEvents.length > 0 && r.push({
921
+ id: "tomorrow",
922
+ label: "Tomorrow",
923
+ enabled: !0,
924
+ active: n.date.value === "tomorrow",
925
+ tooltip: "Show tomorrow's events",
926
+ variant: "default",
927
+ action: "toggle",
928
+ showResetButton: !1
929
+ }), t.pastEvents.length > 0 && r.push({
930
+ id: "past",
931
+ label: "Past",
932
+ enabled: !0,
933
+ active: n.date.value === "past",
934
+ tooltip: "Show past events",
935
+ variant: "default",
936
+ action: "toggle",
937
+ showResetButton: !1
938
+ }), t.venues.length > 0 && r.push({
939
+ id: "venues",
940
+ label: "Venues",
941
+ badge: n.selectedVenues.value.length > 0 ? n.selectedVenues.value.length : void 0,
942
+ enabled: !0,
943
+ active: n.selectedVenues.value.length > 0,
944
+ tooltip: "Show events by venues",
945
+ variant: "default",
946
+ action: "custom",
947
+ showResetButton: !0
948
+ }), r;
949
+ }
950
+ createShortcuts() {
951
+ return this.computedShortcuts;
952
+ }
953
+ handleShortcutClick(e) {
954
+ switch (e) {
955
+ case "live":
956
+ this.toggleLiveFilter();
957
+ break;
958
+ case "bookmarks":
959
+ this.toggleBookmarksFilter();
960
+ break;
961
+ case "tracks":
962
+ this.rootStore.sessionsFilterStore.openFilterWithSections(["tracks"]);
963
+ break;
964
+ case "venues":
965
+ this.rootStore.sessionsFilterStore.openFilterWithSections(["venues"]);
966
+ break;
967
+ case "speakers":
968
+ this.rootStore.selectSpeakers();
969
+ break;
970
+ case "today":
971
+ this.toggleDateFilter("today");
972
+ break;
973
+ case "tomorrow":
974
+ this.toggleDateFilter("tomorrow");
975
+ break;
976
+ case "past":
977
+ this.toggleDateFilter("past");
978
+ break;
979
+ case "earliest":
980
+ this.toggleSortOrder();
981
+ break;
982
+ default: console.warn(`Unknown shortcut ID: ${e}`);
983
+ }
984
+ }
985
+ handleShortcutReset(e) {
986
+ let { sessionsFilterStore: t } = this.rootStore;
987
+ switch (e) {
988
+ case "live":
989
+ t.setPending("showLiveOnly", !1), t.applyFilters();
990
+ break;
991
+ case "tracks":
992
+ t.setPending("selectedTracks", []), t.applyFilters();
993
+ break;
994
+ case "venues":
995
+ t.setPending("selectedVenues", []), t.applyFilters();
996
+ break;
997
+ case "bookmarks":
998
+ t.setPending("showBookmarksOnly", !1), t.applyFilters();
999
+ break;
1000
+ case "today":
1001
+ t.setPending("date", "all"), t.applyFilters();
1002
+ break;
1003
+ case "tomorrow":
1004
+ t.setPending("date", "all"), t.applyFilters();
1005
+ break;
1006
+ case "past":
1007
+ t.setPending("date", "all"), t.applyFilters();
1008
+ break;
1009
+ default: console.warn(`Unknown shortcut reset ID: ${e}`);
1010
+ }
1011
+ }
1012
+ shouldShowShortcuts() {
1013
+ return this.rootStore.uiState.list.type === "sessions" && this.rootStore.uiState.details === null;
1014
+ }
1015
+ toggleBookmarksFilter() {
1016
+ let { sessionsFilterStore: e } = this.rootStore, t = !e.state.filters.showBookmarksOnly.value;
1017
+ e.setPending("showBookmarksOnly", t), e.applyFilters();
1018
+ }
1019
+ toggleLiveFilter() {
1020
+ let { sessionsFilterStore: e } = this.rootStore, t = !e.state.filters.showLiveOnly.value;
1021
+ e.setPending("showLiveOnly", t), e.applyFilters();
1022
+ }
1023
+ setDateFilter(e) {
1024
+ let { sessionsFilterStore: t } = this.rootStore;
1025
+ t.setPending("date", e), t.applyFilters();
1026
+ }
1027
+ toggleDateFilter(e) {
1028
+ let { sessionsFilterStore: t } = this.rootStore;
1029
+ t.state.filters.date.value === e ? t.setPending("date", "all") : t.setPending("date", e), t.applyFilters();
1030
+ }
1031
+ toggleSortOrder() {
1032
+ let { sessionsFilterStore: e } = this.rootStore, t = e.state.filters.sortOrder.value === "asc" ? "desc" : "asc";
1033
+ e.setPending("sortOrder", t), e.applyFilters();
1034
+ }
1035
+ }, tn(en.prototype, "computedShortcuts", [s], Object.getOwnPropertyDescriptor(en.prototype, "computedShortcuts"), en.prototype), en), rn;
1036
+ function an(e, t, n, r, i) {
1037
+ var a = {};
1038
+ return Object.keys(r).forEach(function(e) {
1039
+ a[e] = r[e];
1040
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
1041
+ return r(e, t, n) || n;
1042
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
1043
+ }
1044
+ var on = (rn = class extends Xt {
1045
+ constructor(e) {
1046
+ super(), this.rootStore = e, this.id = "speakers";
1047
+ }
1048
+ get computedShortcuts() {
1049
+ let { speakerFilterStore: e } = this.rootStore, { filters: t } = e.state;
1050
+ return [];
1051
+ }
1052
+ createShortcuts() {
1053
+ return this.computedShortcuts;
1054
+ }
1055
+ handleShortcutClick(e) {
1056
+ switch (e) {
1057
+ case "companies":
1058
+ this.rootStore.speakerFilterStore.openFilterWithSections(["companies"]);
1059
+ break;
1060
+ case "jobTitles":
1061
+ this.rootStore.speakerFilterStore.openFilterWithSections(["jobTitles"]);
1062
+ break;
1063
+ default: console.warn(`Unknown shortcut ID: ${e}`);
1064
+ }
1065
+ }
1066
+ handleShortcutReset(e) {
1067
+ let { speakerFilterStore: t } = this.rootStore;
1068
+ switch (e) {
1069
+ case "companies":
1070
+ t.setPending("selectedCompanies", []), t.applyFilters();
1071
+ break;
1072
+ case "jobTitles":
1073
+ t.setPending("selectedJobTitles", []), t.applyFilters();
1074
+ break;
1075
+ default: console.warn(`Unknown shortcut ID for reset: ${e}`);
1076
+ }
1077
+ }
1078
+ }, an(rn.prototype, "computedShortcuts", [s], Object.getOwnPropertyDescriptor(rn.prototype, "computedShortcuts"), rn.prototype), rn), k, sn, cn, ln, un;
1079
+ function dn(e, t, n, r) {
1080
+ n && Object.defineProperty(e, t, {
1081
+ enumerable: n.enumerable,
1082
+ configurable: n.configurable,
1083
+ writable: n.writable,
1084
+ value: n.initializer ? n.initializer.call(r) : void 0
1085
+ });
1086
+ }
1087
+ function A(e, t, n, r, i) {
1088
+ var a = {};
1089
+ return Object.keys(r).forEach(function(e) {
1090
+ a[e] = r[e];
1091
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
1092
+ return r(e, t, n) || n;
1093
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
1094
+ }
1095
+ var fn = (k = class {
1096
+ constructor(e) {
1097
+ this.rootStore = void 0, dn(this, "items", sn, this), dn(this, "startPoint", cn, this), dn(this, "source", ln, this), dn(this, "excludedVisitedCount", un, this), this.rootStore = e;
1098
+ }
1099
+ get resolvedBooths() {
1100
+ let e = /* @__PURE__ */ new Map();
1101
+ return this.startPoint && e.set(this.startPoint.id, this.startPoint), this.items.forEach((t) => {
1102
+ t.booth && e.set(t.booth.id, t.booth);
1103
+ }), Array.from(e.values());
1104
+ }
1105
+ get stopsCount() {
1106
+ return this.items.length;
1107
+ }
1108
+ get startPointBoothOptions() {
1109
+ return this.rootStore.boothStore.booths;
1110
+ }
1111
+ get startPointAutocompleteOptions() {
1112
+ let { exhibitorStore: e } = this.rootStore, t = this.startPointBoothOptions, n = [], r = /* @__PURE__ */ new Set();
1113
+ return e.exhibitors.forEach((e) => {
1114
+ e.booths.forEach((t) => {
1115
+ r.add(t.id), n.push({
1116
+ value: t.id.toString(),
1117
+ label: `${e.name} - ${t.name}`,
1118
+ exhibitorId: e.id
1119
+ });
1120
+ });
1121
+ }), t.filter((e) => !r.has(e.id)).forEach((e) => {
1122
+ n.push({
1123
+ value: e.id.toString(),
1124
+ label: e.name
1125
+ });
1126
+ }), n.sort((e, t) => e.label.localeCompare(t.label, void 0, { sensitivity: "base" }));
1127
+ }
1128
+ get title() {
1129
+ return this.source === "bookmarks" ? i("Bookmarks route") : "";
1130
+ }
1131
+ get subtitleParts() {
1132
+ let { routeInfo: e } = this.rootStore.routeStore, t;
1133
+ if (e != null && e.time) {
1134
+ let n = e.time;
1135
+ t = n < 60 ? i("< 1 min") : i("~ {{n}} min", { n: Math.round(n / 60) });
1136
+ }
1137
+ return {
1138
+ stops: i("{{count}} stops", { count: this.stopsCount }),
1139
+ from: this.startPoint ? i("From {{name}}", { name: this.startPoint.name }) : void 0,
1140
+ distance: e ? e.distance : void 0,
1141
+ travelTime: t
1142
+ };
1143
+ }
1144
+ get routeFloors() {
1145
+ let e = this.rootStore.routeStore.pathLayers;
1146
+ return e.map((t, n) => {
1147
+ var r, i, a, o, s, c;
1148
+ let l = e[n + 1], u = (r = (i = t.layer) == null ? void 0 : i.basePriority) == null ? 0 : r, d = (a = l == null || (o = l.layer) == null ? void 0 : o.basePriority) == null ? 0 : a, ee = l ? d < u ? "up" : "down" : void 0;
1149
+ return {
1150
+ id: t.id,
1151
+ name: (s = t.layer) == null ? void 0 : s.shortName,
1152
+ description: (c = t.layer) == null ? void 0 : c.description,
1153
+ directionToNext: ee
1154
+ };
1155
+ });
1156
+ }
1157
+ get currentRouteFloor() {
1158
+ let e = this.routeFloors, t = this.rootStore.routeStore.currentRouteLayer;
1159
+ if (!e.length) return;
1160
+ if (!t) return e[0] ? {
1161
+ id: e[0].id,
1162
+ name: e[0].name
1163
+ } : void 0;
1164
+ let n = e.find((e) => {
1165
+ var n, r;
1166
+ return ((n = e.description) == null ? void 0 : n.toLowerCase()) === ((r = t.description) == null ? void 0 : r.toLowerCase());
1167
+ });
1168
+ return n ? {
1169
+ id: n.id,
1170
+ name: n.name
1171
+ } : {
1172
+ id: e[0].id,
1173
+ name: e[0].name
1174
+ };
1175
+ }
1176
+ setRouteFloor(e) {
1177
+ let t = this.rootStore.routeStore.pathLayers.find((t) => t.id === e.id);
1178
+ t != null && t.layer && this.rootStore.layerStore.updateVisibility(t.layer, !0);
1179
+ }
1180
+ launch(e, t = "custom", n) {
1181
+ this.excludedVisitedCount = e.filter((e) => e.type === "exhibitor" && e.entity.visited).length, this.items = e.filter((e) => e.type !== "exhibitor" || !e.entity.visited), this.source = t, this.startPoint = n === void 0 ? this.detectStartPoint() : n;
1182
+ let { uiState: r } = this.rootStore;
1183
+ r.list = {
1184
+ type: "route-planner",
1185
+ source: t
1186
+ }, r.details = null, r.menu = !1, this.buildRoute();
1187
+ }
1188
+ launchFromBookmarks(e) {
1189
+ let { exhibitorStore: t, eventStore: n, boothStore: r } = this.rootStore, i = [];
1190
+ t.bookmarked.forEach((e) => {
1191
+ i.push({
1192
+ type: "exhibitor",
1193
+ entity: e,
1194
+ booth: e.booths[0] || null
1195
+ });
1196
+ }), r.booths.filter((e) => e.exhibitors.length === 0 && e.bookmarkedDirectly).forEach((e) => {
1197
+ i.push({
1198
+ type: "booth",
1199
+ entity: e,
1200
+ booth: e
1201
+ });
1202
+ }), this.launch(i, "bookmarks", e);
1203
+ }
1204
+ launchFromSlugs(e, t) {
1205
+ let n = this.resolveSlugs(e);
1206
+ this.launch(n, "custom", t);
1207
+ }
1208
+ resolveSlugs(e) {
1209
+ let { exhibitorStore: t, eventStore: n, boothStore: r } = this.rootStore;
1210
+ return e.filter(Boolean).map((e) => {
1211
+ let n = e.toLowerCase(), r = t.exhibitors.find((e) => {
1212
+ var t, r;
1213
+ return ((t = e.slug) == null ? void 0 : t.toLowerCase()) === n || ((r = e.externalId) == null ? void 0 : r.toLowerCase()) === n;
1214
+ });
1215
+ if (r) return {
1216
+ type: "exhibitor",
1217
+ entity: r,
1218
+ booth: r.booths[0] || null
1219
+ };
1220
+ let i = Ie(e);
1221
+ return i ? {
1222
+ type: "booth",
1223
+ entity: i,
1224
+ booth: i
1225
+ } : null;
1226
+ }).filter((e) => e !== null);
1227
+ }
1228
+ buildRoute() {
1229
+ let e = [];
1230
+ if (this.startPoint && this.startPoint.name && e.push(this.startPoint.name), this.items.forEach((t) => {
1231
+ t.booth && t.booth.name && e.push(t.booth.name);
1232
+ }), e.length < 2) {
1233
+ this.rootStore.routeStore.updateRoute([]);
1234
+ return;
1235
+ }
1236
+ let t;
1237
+ try {
1238
+ var n, r;
1239
+ let i = (n = this.rootStore.fp) == null || (r = n.getOptimizedRoutes) == null ? void 0 : r.call(n, e);
1240
+ t = Array.isArray(i) ? i.flatMap((e) => {
1241
+ var t;
1242
+ return (t = e == null ? void 0 : e.waypoints) == null ? [] : t;
1243
+ }) : [];
1244
+ } catch {
1245
+ t = [];
1246
+ }
1247
+ let i = new Set(e), a = new Set(t), o = e.length > 0 && [...i].every((e) => a.has(e));
1248
+ (!t.length || !o) && (t = e.slice()), this.reorderItemsByNames(t);
1249
+ let s = this.resolvedBooths;
1250
+ if (s.length < 2) {
1251
+ this.rootStore.routeStore.updateRoute([]);
1252
+ return;
1253
+ }
1254
+ let c = s[0], l = s[s.length - 1], u = s.slice(1, -1), d = new Re(c, l, u);
1255
+ this.rootStore.routeStore.selectRoute(d, !1), this.rootStore.uiState.setIsMultiPointRoute(u.length > 0);
1256
+ }
1257
+ reorderItemsByNames(e) {
1258
+ let t = this.startPoint ? this.startPoint.name : null, n = /* @__PURE__ */ new Map();
1259
+ this.items.forEach((e) => {
1260
+ let t = e.booth ? e.booth.name : null;
1261
+ t && (n.has(t) || n.set(t, []), n.get(t).push(e));
1262
+ });
1263
+ let r = [];
1264
+ e.forEach((e) => {
1265
+ if (e !== t) {
1266
+ let t = n.get(e);
1267
+ t && t.length > 0 && r.push(...t.splice(0));
1268
+ }
1269
+ }), this.items = r;
1270
+ }
1271
+ detectStartPoint() {
1272
+ let { boothStore: e, poiTypeStore: t } = this.rootStore, n = ["entrance", "entrances"], r = t.poiTypes.find((e) => n.includes(e.name.toLowerCase()));
1273
+ return r && e.booths.find((e) => e.poiTypeId === r.id) || null;
1274
+ }
1275
+ setStartPoint(e) {
1276
+ this.startPoint = e, this.buildRoute();
1277
+ }
1278
+ removeItem(e) {
1279
+ this.items.splice(e, 1), this.buildRoute();
1280
+ }
1281
+ reorderItems(e, t) {
1282
+ let [n] = this.items.splice(e, 1);
1283
+ this.items.splice(t, 0, n), this.buildRoute();
1284
+ }
1285
+ close() {
1286
+ this.items = [], this.startPoint = null, this.source = null, this.excludedVisitedCount = 0, this.rootStore.uiState.details = null, this.rootStore.uiState.list = {
1287
+ type: "search",
1288
+ text: "",
1289
+ focused: !1
1290
+ }, this.rootStore.routeStore.selectRoute(null, !1);
1291
+ }
1292
+ }, sn = A(k.prototype, "items", [c], {
1293
+ configurable: !0,
1294
+ enumerable: !0,
1295
+ writable: !0,
1296
+ initializer: function() {
1297
+ return [];
1298
+ }
1299
+ }), cn = A(k.prototype, "startPoint", [c], {
1300
+ configurable: !0,
1301
+ enumerable: !0,
1302
+ writable: !0,
1303
+ initializer: function() {
1304
+ return null;
1305
+ }
1306
+ }), ln = A(k.prototype, "source", [c], {
1307
+ configurable: !0,
1308
+ enumerable: !0,
1309
+ writable: !0,
1310
+ initializer: function() {
1311
+ return null;
1312
+ }
1313
+ }), un = A(k.prototype, "excludedVisitedCount", [c], {
1314
+ configurable: !0,
1315
+ enumerable: !0,
1316
+ writable: !0,
1317
+ initializer: function() {
1318
+ return 0;
1319
+ }
1320
+ }), A(k.prototype, "resolvedBooths", [s], Object.getOwnPropertyDescriptor(k.prototype, "resolvedBooths"), k.prototype), A(k.prototype, "stopsCount", [s], Object.getOwnPropertyDescriptor(k.prototype, "stopsCount"), k.prototype), A(k.prototype, "startPointBoothOptions", [s], Object.getOwnPropertyDescriptor(k.prototype, "startPointBoothOptions"), k.prototype), A(k.prototype, "startPointAutocompleteOptions", [s], Object.getOwnPropertyDescriptor(k.prototype, "startPointAutocompleteOptions"), k.prototype), A(k.prototype, "title", [s], Object.getOwnPropertyDescriptor(k.prototype, "title"), k.prototype), A(k.prototype, "subtitleParts", [s], Object.getOwnPropertyDescriptor(k.prototype, "subtitleParts"), k.prototype), A(k.prototype, "routeFloors", [s], Object.getOwnPropertyDescriptor(k.prototype, "routeFloors"), k.prototype), A(k.prototype, "currentRouteFloor", [s], Object.getOwnPropertyDescriptor(k.prototype, "currentRouteFloor"), k.prototype), A(k.prototype, "setRouteFloor", [l], Object.getOwnPropertyDescriptor(k.prototype, "setRouteFloor"), k.prototype), A(k.prototype, "launch", [l], Object.getOwnPropertyDescriptor(k.prototype, "launch"), k.prototype), A(k.prototype, "launchFromBookmarks", [l], Object.getOwnPropertyDescriptor(k.prototype, "launchFromBookmarks"), k.prototype), A(k.prototype, "launchFromSlugs", [l], Object.getOwnPropertyDescriptor(k.prototype, "launchFromSlugs"), k.prototype), A(k.prototype, "buildRoute", [l], Object.getOwnPropertyDescriptor(k.prototype, "buildRoute"), k.prototype), A(k.prototype, "setStartPoint", [l], Object.getOwnPropertyDescriptor(k.prototype, "setStartPoint"), k.prototype), A(k.prototype, "removeItem", [l], Object.getOwnPropertyDescriptor(k.prototype, "removeItem"), k.prototype), A(k.prototype, "reorderItems", [l], Object.getOwnPropertyDescriptor(k.prototype, "reorderItems"), k.prototype), A(k.prototype, "close", [l], Object.getOwnPropertyDescriptor(k.prototype, "close"), k.prototype), k), pn = class {
1321
+ constructor() {
1322
+ this.id = void 0;
1323
+ }
1324
+ invalidateCache() {}
1325
+ shouldShowSubButtons() {
1326
+ return !0;
1327
+ }
1328
+ }, mn;
1329
+ function hn(e, t, n, r, i) {
1330
+ var a = {};
1331
+ return Object.keys(r).forEach(function(e) {
1332
+ a[e] = r[e];
1333
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
1334
+ return r(e, t, n) || n;
1335
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
1336
+ }
1337
+ var gn = (mn = class extends pn {
1338
+ constructor(e) {
1339
+ super(), this.rootStore = e, this.id = "sessions";
1340
+ }
1341
+ get computedSubButtons() {
1342
+ let e = [];
1343
+ return e.push({
1344
+ id: "sessions_show_all",
1345
+ label: "All Tracks",
1346
+ text: "All Tracks",
1347
+ enabled: !0,
1348
+ active: this.rootStore.searchButtonsStore.activeSubButtonId === "sessions_show_all" || !this.rootStore.searchButtonsStore.activeSubButtonId && !this.rootStore.uiState.selectedTrack,
1349
+ parentButtonId: "sessions",
1350
+ type: "show_all",
1351
+ onClick: () => this.handleSessionsShowAllClick()
1352
+ }), this.rootStore.eventStore.tracks.forEach((t) => {
1353
+ let n = this.rootStore.eventStore.getEventsByTrack(t.id).length;
1354
+ e.push({
1355
+ id: `sessions_track_${t.id}`,
1356
+ label: t.name,
1357
+ text: t.name,
1358
+ enabled: !0,
1359
+ active: this.rootStore.searchButtonsStore.activeSubButtonId === `sessions_track_${t.id}`,
1360
+ parentButtonId: "sessions",
1361
+ type: "track",
1362
+ data: t,
1363
+ count: n,
1364
+ onClick: () => this.handleSessionsTrackClick(t)
1365
+ });
1366
+ }), e;
1367
+ }
1368
+ createSubButtons() {
1369
+ return this.computedSubButtons;
1370
+ }
1371
+ handleSubButtonClick(e) {
1372
+ if (e === "sessions_show_all") this.handleSessionsShowAllClick();
1373
+ else if (e.startsWith("sessions_track_")) {
1374
+ let t = parseInt(e.replace("sessions_track_", "")), n = this.rootStore.eventStore.tracks.find((e) => e.id === t);
1375
+ n && this.handleSessionsTrackClick(n);
1376
+ }
1377
+ }
1378
+ shouldShowSubButtons() {
1379
+ return this.rootStore.eventStore.tracks.length > 0;
1380
+ }
1381
+ reportActivation(e) {
1382
+ if (this.rootStore.searchButtonsStore.activeSubButtonId === e) return;
1383
+ let t = this.computedSubButtons.find((t) => t.id === e);
1384
+ !t || !t.label || Ve("sbtnview", t.label, "subbutton");
1385
+ }
1386
+ handleSessionsShowAllClick() {
1387
+ this.reportActivation("sessions_show_all"), this.rootStore.uiState.list = {
1388
+ type: "sessions",
1389
+ text: "",
1390
+ focused: !1
1391
+ }, this.rootStore.uiState.selectedTrack = null, this.rootStore.searchButtonsStore.setSubButtonId("sessions_show_all");
1392
+ }
1393
+ handleSessionsTrackClick(e) {
1394
+ this.reportActivation(`sessions_track_${e.id}`), this.rootStore.uiState.list = {
1395
+ type: "sessions",
1396
+ text: "",
1397
+ focused: !1
1398
+ }, this.rootStore.uiState.selectedTrack = e, this.rootStore.searchButtonsStore.setSubButtonId(`sessions_track_${e.id}`);
1399
+ }
1400
+ }, hn(mn.prototype, "computedSubButtons", [s], Object.getOwnPropertyDescriptor(mn.prototype, "computedSubButtons"), mn.prototype), mn), _n = class {
1401
+ constructor() {
1402
+ this.providers = /* @__PURE__ */ new Map(), this.cache = /* @__PURE__ */ new Map();
1403
+ }
1404
+ register(e) {
1405
+ this.providers.set(e.id, e), this.cache.delete(e.id);
1406
+ }
1407
+ unregister(e) {
1408
+ this.providers.delete(e), this.cache.delete(e);
1409
+ }
1410
+ getSubButtons(e) {
1411
+ let t = this.providers.get(e);
1412
+ return t ? t.createSubButtons() : [];
1413
+ }
1414
+ handleSubButtonClick(e, t) {
1415
+ let n = this.providers.get(e);
1416
+ n && n.handleSubButtonClick(t);
1417
+ }
1418
+ shouldShowSubButtons(e) {
1419
+ let t = this.providers.get(e);
1420
+ return t ? !t.shouldShowSubButtons || t.shouldShowSubButtons() : !1;
1421
+ }
1422
+ invalidateCache(e) {
1423
+ this.cache.delete(e);
1424
+ let t = this.providers.get(e);
1425
+ t != null && t.invalidateCache && t.invalidateCache();
1426
+ }
1427
+ invalidateAllCache() {
1428
+ this.cache.clear(), this.providers.forEach((e) => {
1429
+ e.invalidateCache && e.invalidateCache();
1430
+ });
1431
+ }
1432
+ getRegisteredProviders() {
1433
+ return Array.from(this.providers.keys());
1434
+ }
1435
+ isProviderRegistered(e) {
1436
+ return this.providers.has(e);
1437
+ }
1438
+ };
1439
+ //#endregion
1440
+ //#region src/store/search-buttons/utils.ts
1441
+ function vn(e) {
1442
+ try {
1443
+ let t = e.replace(g.POI_TYPE, ""), n = parseInt(t, 10);
1444
+ return isNaN(n) ? null : n;
1445
+ } catch {
1446
+ return null;
1447
+ }
1448
+ }
1449
+ function j(e) {
1450
+ let t = f.filterButtonsConfig;
1451
+ return !(t != null && t.searchButtons) || !Array.isArray(t.searchButtons) ? null : t.searchButtons.find((t) => t.id === e) || null;
1452
+ }
1453
+ function yn(e) {
1454
+ let t = 0;
1455
+ for (let n of e.values()) t += n;
1456
+ return t;
1457
+ }
1458
+ function bn(e) {
1459
+ return e && typeof e == "object" && Array.isArray(e.searchButtons) && e.searchButtons.length > 0;
1460
+ }
1461
+ //#endregion
1462
+ //#region src/store/search-buttons/SearchButtonsActions.ts
1463
+ var M;
1464
+ function N(e, t, n, r, i) {
1465
+ var a = {};
1466
+ return Object.keys(r).forEach(function(e) {
1467
+ a[e] = r[e];
1468
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
1469
+ return r(e, t, n) || n;
1470
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
1471
+ }
1472
+ var xn = (M = class {
1473
+ constructor(e, t, n) {
1474
+ this.rootStore = e, this.state = t, this.filters = n;
1475
+ }
1476
+ reportActivation(e) {
1477
+ e && Ve("sbtnview", e);
1478
+ }
1479
+ handleSearchButtonClick(e, t) {
1480
+ let n = {
1481
+ [h.BOOKMARKS]: () => this.handleBookmarksClick(t),
1482
+ [h.VISITED]: () => this.handleVisitedClick(t),
1483
+ [h.SESSIONS]: () => this.handleSessionsClick(t),
1484
+ [h.TOURS]: () => this.handleToursClick(t),
1485
+ [h.CATEGORIES]: () => this.handleCategoriesClick(t),
1486
+ [h.EXHIBITORS]: () => this.handleExhibitorsClick(t)
1487
+ }[e];
1488
+ if (n) {
1489
+ n();
1490
+ return;
1491
+ }
1492
+ e.startsWith(g.POI_TYPE) && this.handlePoiTypeClick(e, t);
1493
+ }
1494
+ handleExtendedSearchButtonClick(e) {
1495
+ var t;
1496
+ let n = j(e);
1497
+ if (!n) return;
1498
+ let r = n.name;
1499
+ if (n.type === "link") {
1500
+ this.handleLinkClick(n, r);
1501
+ return;
1502
+ }
1503
+ let i = ((t = n.children) == null ? void 0 : t.filter((e) => e.visible)) || [];
1504
+ if (i.length === 1 && i[0].type === "poi_types" && i[0].name === n.name) {
1505
+ this.handleSearchButtonClick(e, r);
1506
+ return;
1507
+ }
1508
+ n.children && i.length > 0 ? this.handleParentButton(e, n, r) : this.handleSearchButtonClick(e, r);
1509
+ }
1510
+ handleMainButtonClick(e) {
1511
+ this.handleSearchButtonClick(e);
1512
+ }
1513
+ handleSessionsClick(e) {
1514
+ let { uiState: t } = this.rootStore;
1515
+ t.list.type === "sessions" ? this.switchToSearch() : (this.reportActivation(e), this.resetAllFilters(), t.details = null, t.menu = !1, t.list = {
1516
+ type: "sessions",
1517
+ text: "",
1518
+ focused: !1
1519
+ }, this.state.setSubButton(null), t.selectedTrack = null, this.state.subButtonsEnabled && this.showSubButtons("sessions"), this.isMobile && (t.desiredOverlaySize = "full"));
1520
+ }
1521
+ togglePoiType(e) {
1522
+ this.handleSearchButtonClick(`${g.POI_TYPE}${e}`);
1523
+ }
1524
+ clearAllFilters() {
1525
+ this.switchToSearch();
1526
+ }
1527
+ showSubButtons(e) {
1528
+ this.state.subButtonsEnabled && (this.state.setSubButtonParent(e), this.state.setSubButton(null), this.rootStore.uiState.subButtonsVisible = !0);
1529
+ }
1530
+ hideSubButtons() {
1531
+ this.state.setSubButtonParent(null), this.state.setSubButton(null), this.rootStore.uiState.subButtonsVisible = !1;
1532
+ }
1533
+ handleSubButtonClick(e) {
1534
+ this.state.activeSubButtonId !== e && this.state.setSubButton(e);
1535
+ }
1536
+ toggleListView(e, t, n) {
1537
+ this.rootStore.uiState.list.type === e ? this.switchToSearch() : (this.reportActivation(n), this.resetAllFilters(), t());
1538
+ }
1539
+ handleBookmarksClick(e) {
1540
+ this.toggleListView("bookmarks", () => {
1541
+ this.rootStore.clickBookmarks();
1542
+ }, e);
1543
+ }
1544
+ handleVisitedClick(e) {
1545
+ this.toggleListView("visited", () => {
1546
+ this.rootStore.clickVisited();
1547
+ }, e);
1548
+ }
1549
+ handleToursClick(e) {
1550
+ let { uiState: t } = this.rootStore;
1551
+ t.list.type === "tours" ? this.switchToSearch() : (this.reportActivation(e), this.resetAllFilters(), t.details = null, t.menu = !1, t.list = {
1552
+ type: "tours",
1553
+ text: "",
1554
+ focused: !1
1555
+ }, this.isMobile && (t.desiredOverlaySize = "full"));
1556
+ }
1557
+ handleCategoriesClick(e) {
1558
+ let { uiState: t } = this.rootStore;
1559
+ this.reportActivation(e), t.list.type === "search" ? this.state.activePoiFilterId && this.filters.clearPoiTypeFilters() : this.switchToSearch(), this.state.searchShortcutState.activeParentId && (this.state.setActiveParentId(null), this.state.clearChildren(), this.state.showShortcuts(!1), this.filters.clearAllChildFilters()), this.rootStore.categoryFilterStore.openFilter();
1560
+ }
1561
+ handleExhibitorsClick(e) {
1562
+ let { uiState: t } = this.rootStore;
1563
+ t.list.type === "exhibitors" ? this.switchToSearch() : (this.reportActivation(e), this.resetAllFilters(), t.details = null, t.menu = !1, t.list = {
1564
+ type: "exhibitors",
1565
+ text: "",
1566
+ focused: !1
1567
+ }, this.isMobile && (t.desiredOverlaySize = "full"));
1568
+ }
1569
+ handlePoiTypeClick(e, t) {
1570
+ let { uiState: n } = this.rootStore, r = this.state.activePoiFilterId !== e;
1571
+ r && this.reportActivation(t);
1572
+ let i = n.list.type === "search" && n.list.text || "";
1573
+ n.list.type === "search" ? n.selectedCategoryFilters.length > 0 && this.filters.clearCategoryFilters() : this.switchToSearch(!0), this.state.searchShortcutState.activeParentId && (this.state.setActiveParentId(null), this.state.clearChildren(), this.state.showShortcuts(!1), this.filters.clearAllChildFilters()), r ? this.setPoiFilterFromString(e) : this.filters.clearPoiTypeFilters(), i && n.list.type === "search" && (n.list = {
1574
+ type: "search",
1575
+ text: i,
1576
+ focused: !1
1577
+ }), this.rootStore.searchStore.selectSearchAndFocus(i);
1578
+ }
1579
+ handleLinkClick(e, t) {
1580
+ var n;
1581
+ let r = (n = e.children) == null ? void 0 : n.find((e) => e.type === "link");
1582
+ r && "linkUrl" in r && (this.reportActivation(t), window.open(r.linkUrl, "_blank"));
1583
+ }
1584
+ handleParentButton(e, t, n) {
1585
+ let { uiState: r } = this.rootStore;
1586
+ if (this.state.searchShortcutState.activeParentId === e) {
1587
+ this.state.setActiveParentId(null), this.state.clearChildren(), this.state.showShortcuts(!1), this.filters.clearAllChildFilters(), this.rootStore.urlFilterManager.clearAllFilters(), r.centerMap = !0, r.overlaySize === "full" && r.searchFocused && this.rootStore.searchStore.setFocused(!1);
1588
+ return;
1589
+ }
1590
+ this.reportActivation(n), r.list.type !== "search" && this.switchToSearch(), this.state.activePoiFilterId && this.state.setPoiFilter(null), this.state.setActiveParentId(e), this.state.showShortcuts(!0), this.state.clearChildren(), this.filters.applyAllChildrenFilters(t), this.rootStore.searchStore.selectSearchAndFocus();
1591
+ }
1592
+ preserveSearchText(e) {
1593
+ let { uiState: t } = this.rootStore, n = t.list.type === "search" && t.list.text || "";
1594
+ e(), t.list.type === "search" && n && (t.list = {
1595
+ type: "search",
1596
+ text: n,
1597
+ focused: !1
1598
+ });
1599
+ }
1600
+ switchToSearch(e = !1) {
1601
+ let t = () => {
1602
+ this.resetAllFilters(), this.rootStore.uiState.details = null, this.rootStore.uiState.menu = !1, this.rootStore.uiState.list = {
1603
+ type: "search",
1604
+ text: "",
1605
+ focused: !1
1606
+ };
1607
+ };
1608
+ e ? this.preserveSearchText(t) : t();
1609
+ }
1610
+ resetAllFilters() {
1611
+ this.state.reset(), this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.uiState.selectedCategoryFilters = [], this.rootStore.uiState.categoryFilterOpen = !1, this.rootStore.categoryFilterStore.state.selectedItems = [], this.rootStore.categoryFilterStore.state.pendingItems = [], this.rootStore.urlFilterManager.clearAllFilters(), this.rootStore.fp.hidePathways();
1612
+ }
1613
+ setPoiFilterFromString(e) {
1614
+ this.state.setPoiFilter(e);
1615
+ let t = vn(e);
1616
+ if (t !== null) {
1617
+ let e = this.rootStore.poiTypeStore.poiTypes.find((e) => e.id === t);
1618
+ e && (this.rootStore.uiState.selectedPoiTypeFilters = [e], this.rootStore.urlFilterManager.setPoiType(e.name));
1619
+ }
1620
+ }
1621
+ get isMobile() {
1622
+ return typeof window < "u" && window.innerWidth <= 768;
1623
+ }
1624
+ }, N(M.prototype, "handleSearchButtonClick", [l], Object.getOwnPropertyDescriptor(M.prototype, "handleSearchButtonClick"), M.prototype), N(M.prototype, "handleExtendedSearchButtonClick", [l], Object.getOwnPropertyDescriptor(M.prototype, "handleExtendedSearchButtonClick"), M.prototype), N(M.prototype, "handleMainButtonClick", [l], Object.getOwnPropertyDescriptor(M.prototype, "handleMainButtonClick"), M.prototype), N(M.prototype, "handleSessionsClick", [l], Object.getOwnPropertyDescriptor(M.prototype, "handleSessionsClick"), M.prototype), N(M.prototype, "togglePoiType", [l], Object.getOwnPropertyDescriptor(M.prototype, "togglePoiType"), M.prototype), N(M.prototype, "clearAllFilters", [l], Object.getOwnPropertyDescriptor(M.prototype, "clearAllFilters"), M.prototype), N(M.prototype, "showSubButtons", [l], Object.getOwnPropertyDescriptor(M.prototype, "showSubButtons"), M.prototype), N(M.prototype, "hideSubButtons", [l], Object.getOwnPropertyDescriptor(M.prototype, "hideSubButtons"), M.prototype), N(M.prototype, "handleSubButtonClick", [l], Object.getOwnPropertyDescriptor(M.prototype, "handleSubButtonClick"), M.prototype), M), Sn = class {
1625
+ constructor(e, t, n) {
1626
+ this.rootStore = e, this.state = t, this.actions = n, this.buttonFactories = void 0, this.buttonFactories = {
1627
+ [h.BOOKMARKS]: (e) => this.createBookmarksButton(e),
1628
+ [h.VISITED]: (e) => this.createVisitedButton(e),
1629
+ [h.CATEGORIES]: (e) => this.createCategoriesButton(e),
1630
+ [h.SESSIONS]: (e) => this.createSessionsButton(e),
1631
+ [h.TOURS]: (e) => this.createGuidedToursButton(e),
1632
+ [h.POI_TYPE]: (e) => this.createPoiTypeButton(e),
1633
+ [h.POI_TYPES]: (e) => this.createPoiTypesButton(e),
1634
+ [h.LINK]: (e) => this.createLinkButton(e),
1635
+ [h.EXHIBITORS]: (e) => this.createExhibitorsButton(e)
1636
+ };
1637
+ }
1638
+ createButtons(e) {
1639
+ return this.dedupeButtons(e).filter((e) => e.visible).map((e) => {
1640
+ var t;
1641
+ return {
1642
+ button: this.createButton(e),
1643
+ order: (t = e.order) == null ? 2 ** 53 - 1 : t
1644
+ };
1645
+ }).filter((e) => e.button !== null).sort((e, t) => e.order - t.order).map((e) => e.button);
1646
+ }
1647
+ createButton(e) {
1648
+ let t = this.buttonFactories[e.type];
1649
+ return t ? t(e) : null;
1650
+ }
1651
+ createBaseButton(e) {
1652
+ let t = e.color && e.color.toUpperCase() !== "#FFFFFF", n = r(e.name);
1653
+ return {
1654
+ id: e.id || `${e.type}_${e.name}`,
1655
+ label: n,
1656
+ text: n,
1657
+ enabled: !0,
1658
+ isDimmed: !1,
1659
+ isClickable: !0,
1660
+ backgroundColor: t ? e.color : void 0,
1661
+ textColor: t && e.color ? We(e.color) : void 0
1662
+ };
1663
+ }
1664
+ createButtonId(e, t) {
1665
+ return t.id || `${e}${t.name}`;
1666
+ }
1667
+ createBookmarksButton(e) {
1668
+ let { uiState: t } = this.rootStore;
1669
+ return t.kiosk || t.disableBookmarked || f.hideBookmarks ? null : {
1670
+ ...this.createBaseButton(e),
1671
+ id: h.BOOKMARKS,
1672
+ icon: at.BOOKMARKS,
1673
+ active: t.list.type === "bookmarks",
1674
+ count: this.countBookmarks(),
1675
+ onClick: () => this.actions.handleSearchButtonClick(h.BOOKMARKS, e.name)
1676
+ };
1677
+ }
1678
+ createVisitedButton(e) {
1679
+ let { uiState: t } = this.rootStore;
1680
+ return t.kiosk ? null : {
1681
+ ...this.createBaseButton(e),
1682
+ id: h.VISITED,
1683
+ icon: at.VISITED,
1684
+ active: t.list.type === "visited",
1685
+ count: this.countVisited(),
1686
+ onClick: () => this.actions.handleSearchButtonClick(h.VISITED, e.name)
1687
+ };
1688
+ }
1689
+ createCategoriesButton(e) {
1690
+ var t;
1691
+ if (!((t = e.children) != null && t.length)) {
1692
+ let t = this.getCategoriesTotalCount();
1693
+ return t > 0 ? this.createSimpleCategoriesButton(e, t) : null;
1694
+ }
1695
+ let n = (e.children || []).filter((e) => e.visible);
1696
+ if (n.length === 0) return null;
1697
+ let r = this.createButtonId(g.CATEGORIES, e), i = n.filter((e) => e.type === "categories"), a = this.countCategories(i);
1698
+ return {
1699
+ ...this.createBaseButton(e),
1700
+ id: r,
1701
+ active: this.state.searchShortcutState.activeParentId === r,
1702
+ count: a,
1703
+ showZeroCount: !0,
1704
+ onClick: () => this.actions.handleExtendedSearchButtonClick(r)
1705
+ };
1706
+ }
1707
+ createSimpleCategoriesButton(e, t) {
1708
+ let { uiState: n } = this.rootStore, r = n.selectedCategoryFilters.length > 0 ? n.selectedCategoryFilters.length : t;
1709
+ return {
1710
+ ...this.createBaseButton(e),
1711
+ id: h.CATEGORIES,
1712
+ active: n.selectedCategoryFilters.length > 0 && !this.state.searchShortcutState.activeParentId,
1713
+ count: r,
1714
+ showZeroCount: !0,
1715
+ onClick: () => this.actions.handleSearchButtonClick(h.CATEGORIES, e.name)
1716
+ };
1717
+ }
1718
+ createSessionsButton(e) {
1719
+ let { uiState: t } = this.rootStore, n = this.getSessionsTotalCount();
1720
+ return n === 0 ? null : {
1721
+ ...this.createBaseButton(e),
1722
+ id: h.SESSIONS,
1723
+ icon: at.SESSIONS,
1724
+ active: t.list.type === "sessions",
1725
+ count: n,
1726
+ showZeroCount: !0,
1727
+ hasSubButtons: !0,
1728
+ onClick: () => this.actions.handleSessionsClick(e.name)
1729
+ };
1730
+ }
1731
+ createGuidedToursButton(e) {
1732
+ let { uiState: t } = this.rootStore, n = this.getGuidedToursTotalCount();
1733
+ return n === 0 ? null : {
1734
+ ...this.createBaseButton(e),
1735
+ id: "guided_tours",
1736
+ active: t.list.type === "tours" || t.list.type === "multi-point-tour",
1737
+ count: n,
1738
+ showZeroCount: !0,
1739
+ onClick: () => this.actions.handleSearchButtonClick("guided_tours", e.name)
1740
+ };
1741
+ }
1742
+ createPoiTypeButton(e) {
1743
+ let t = this.rootStore.poiTypeStore.poiTypes.find((t) => t.name === e.name);
1744
+ if (!t) return null;
1745
+ let n = `${g.POI_TYPE}${t.id}`, r = this.getPoiTypeTotalCount(t.id);
1746
+ return r === 0 ? null : {
1747
+ ...this.createBaseButton(e),
1748
+ id: n,
1749
+ active: this.state.activePoiFilterId === n,
1750
+ count: r,
1751
+ showZeroCount: !0,
1752
+ onClick: () => this.actions.handleSearchButtonClick(n, e.name)
1753
+ };
1754
+ }
1755
+ createPoiTypesButton(e) {
1756
+ var t;
1757
+ if (!((t = e.children) != null && t.length)) return this.createPoiTypeButton(e);
1758
+ let n = e.children.filter((e) => e.visible);
1759
+ if (n.length === 0) return null;
1760
+ if (this.shouldFlattenToSinglePoiType(n, e)) return this.createPoiTypeButton(e);
1761
+ let r = n.filter((e) => e.type !== "link"), i = this.countPoiTypes(r), a = this.createButtonId(g.POI_TYPES, e);
1762
+ return {
1763
+ ...this.createBaseButton(e),
1764
+ id: a,
1765
+ active: this.state.searchShortcutState.activeParentId === a,
1766
+ count: i,
1767
+ showZeroCount: !0,
1768
+ onClick: () => this.actions.handleExtendedSearchButtonClick(a)
1769
+ };
1770
+ }
1771
+ shouldFlattenToSinglePoiType(e, t) {
1772
+ return e.length === 1 && e[0].type === "poi_types" && e[0].name === t.name;
1773
+ }
1774
+ createLinkButton(e) {
1775
+ let t = this.createButtonId(g.LINK, e);
1776
+ return {
1777
+ ...this.createBaseButton(e),
1778
+ id: t,
1779
+ active: !1,
1780
+ onClick: () => this.actions.handleExtendedSearchButtonClick(t)
1781
+ };
1782
+ }
1783
+ createExhibitorsButton(e) {
1784
+ let { uiState: t } = this.rootStore, n = this.getExhibitorsTotalCount();
1785
+ return n === 0 ? null : {
1786
+ ...this.createBaseButton(e),
1787
+ id: h.EXHIBITORS,
1788
+ icon: at.EXHIBITORS,
1789
+ active: t.list.type === "exhibitors",
1790
+ count: n,
1791
+ showZeroCount: !0,
1792
+ onClick: () => this.actions.handleSearchButtonClick(h.EXHIBITORS, e.name)
1793
+ };
1794
+ }
1795
+ countCategories(e) {
1796
+ let { categoryById: t } = this.rootStore.categoryStore, n = /* @__PURE__ */ new Set();
1797
+ return e.forEach((e) => {
1798
+ if (e.type !== "categories") return;
1799
+ let r = t.get(Number(e.id));
1800
+ r && r.exhibitors.forEach((e) => n.add(e.id));
1801
+ }), n.size;
1802
+ }
1803
+ countPoiTypes(e) {
1804
+ return e.reduce((e, t) => {
1805
+ if (t.type !== "poi_types") return e;
1806
+ if (t.count !== void 0) return e + t.count;
1807
+ let n = Number(t.id), r = this.rootStore.poiTypeStore.poiTypes.find((e) => e.id === n);
1808
+ return r ? e + this.rootStore.boothStore.booths.filter((e) => e.poiTypeId === r.id).length : e;
1809
+ }, 0);
1810
+ }
1811
+ dedupeButtons(e) {
1812
+ let t = /* @__PURE__ */ new Set();
1813
+ return e.filter((e) => {
1814
+ let n = `${e.type}_${e.name}`;
1815
+ return t.has(n) ? !1 : (t.add(n), !0);
1816
+ });
1817
+ }
1818
+ countBookmarks() {
1819
+ return this.rootStore.exhibitorStore.bookmarked.length + this.rootStore.eventStore.bookmarked.length + this.rootStore.speakerStore.bookmarked.length + this.rootStore.boothStore.booths.filter((e) => e.exhibitors.length === 0 && e.bookmarkedDirectly).length;
1820
+ }
1821
+ countVisited() {
1822
+ return this.rootStore.exhibitorStore.visited.length + this.rootStore.eventStore.visited.length;
1823
+ }
1824
+ getSessionsTotalCount() {
1825
+ return this.rootStore.eventStore.eventItems.length;
1826
+ }
1827
+ getGuidedToursTotalCount() {
1828
+ return this.rootStore.toursStore.hasTours ? this.rootStore.toursStore.tourItems.length : 0;
1829
+ }
1830
+ getCategoriesTotalCount() {
1831
+ return this.rootStore.categoryStore.categories.filter((e) => e.exhibitors.length > 0).length;
1832
+ }
1833
+ getPoiTypeTotalCount(e) {
1834
+ return this.rootStore.boothStore.booths.filter((t) => t.poiTypeId === e).length;
1835
+ }
1836
+ getExhibitorsTotalCount() {
1837
+ return this.rootStore.exhibitorStore.exhibitors.length;
1838
+ }
1839
+ }, P;
1840
+ function F(e, t, n, r, i) {
1841
+ var a = {};
1842
+ return Object.keys(r).forEach(function(e) {
1843
+ a[e] = r[e];
1844
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
1845
+ return r(e, t, n) || n;
1846
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
1847
+ }
1848
+ var Cn = (P = class {
1849
+ constructor(e, t) {
1850
+ this.rootStore = e, this.state = t;
1851
+ }
1852
+ applyAllChildrenFilters(e) {
1853
+ if (!e.children) return;
1854
+ let { uiState: t } = this.rootStore, n = e.children.filter((e) => e.visible), { categories: r, poiTypes: i } = this.collectFilters(n);
1855
+ t.selectedCategoryFilters = r, t.selectedPoiTypeFilters = i, t.categoryFilterOpen = r.length > 0;
1856
+ }
1857
+ applyChildFilters() {
1858
+ let { uiState: e } = this.rootStore, t = Array.from(this.state.searchShortcutState.activeChildren);
1859
+ if (e.selectedCategoryFilters = [], e.selectedPoiTypeFilters = [], e.categoryFilterOpen = !1, t.length === 0) return;
1860
+ let n = j(this.state.searchShortcutState.activeParentId);
1861
+ if (!(n != null && n.children)) return;
1862
+ let r = n.children.filter((e) => e.visible), { categories: i, poiTypes: a } = this.collectSelectedFilters(r, t);
1863
+ e.selectedCategoryFilters = i, e.selectedPoiTypeFilters = a, e.categoryFilterOpen = i.length > 0;
1864
+ }
1865
+ clearAllChildFilters() {
1866
+ this.state.clearChildren(), this.rootStore.uiState.selectedCategoryFilters = [], this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.uiState.categoryFilterOpen = !1;
1867
+ }
1868
+ clearCategoryFilters() {
1869
+ let { uiState: e } = this.rootStore;
1870
+ e.selectedCategoryFilters = [], this.rootStore.categoryFilterStore.state.selectedItems = [], this.rootStore.categoryFilterStore.state.pendingItems = [], this.rootStore.urlFilterManager.setCategories([]);
1871
+ }
1872
+ clearPoiTypeFilters() {
1873
+ this.state.setPoiFilter(null), this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.urlFilterManager.setPoiType(null);
1874
+ }
1875
+ toggleChildFilter(e) {
1876
+ let t = j(this.state.searchShortcutState.activeParentId);
1877
+ t != null && t.children && (this.state.toggleChild(e), this.state.hasActiveChildren ? this.applyChildFilters() : this.applyAllChildrenFilters(t));
1878
+ }
1879
+ getActiveParent() {
1880
+ return this.state.searchShortcutState.activeParentId ? j(this.state.searchShortcutState.activeParentId) : null;
1881
+ }
1882
+ areAllSelected() {
1883
+ if (!this.state.searchShortcutState.activeParentId) return !1;
1884
+ let e = j(this.state.searchShortcutState.activeParentId);
1885
+ if (!(e != null && e.children)) return !1;
1886
+ let t = e.children.filter((e) => e.visible).filter((e) => e.type !== "link");
1887
+ return t.length > 0 && t.every((e) => {
1888
+ var t;
1889
+ let n = ((t = e.id) == null ? void 0 : t.toString()) || e.name;
1890
+ return this.state.isChildActive(n);
1891
+ });
1892
+ }
1893
+ getChildrenCount() {
1894
+ if (!this.state.searchShortcutState.activeParentId) return 0;
1895
+ let e = j(this.state.searchShortcutState.activeParentId);
1896
+ return e != null && e.children ? e.children.filter((e) => e.visible).filter((e) => e.type !== "link").length : 0;
1897
+ }
1898
+ collectFilters(e) {
1899
+ let t = [], n = [];
1900
+ return e.forEach((e) => {
1901
+ let r = Number(e.id);
1902
+ if (e.type === "categories") {
1903
+ let e = this.rootStore.categoryStore.categories.find((e) => e.id === r);
1904
+ e && t.push(e);
1905
+ } else if (e.type === "poi_types") {
1906
+ let e = this.rootStore.poiTypeStore.poiTypes.find((e) => e.id === r);
1907
+ e && n.push(e);
1908
+ }
1909
+ }), {
1910
+ categories: t,
1911
+ poiTypes: n
1912
+ };
1913
+ }
1914
+ collectSelectedFilters(e, t) {
1915
+ let n = [], r = [];
1916
+ return t.forEach((t) => {
1917
+ let i = e.find((e) => {
1918
+ var n;
1919
+ return e.type !== "link" && (((n = e.id) == null ? void 0 : n.toString()) || e.name) === t;
1920
+ });
1921
+ if (!i) return;
1922
+ let a = Number(i.id);
1923
+ if (i.type === "categories") {
1924
+ let e = this.rootStore.categoryStore.categories.find((e) => e.id === a);
1925
+ e && n.push(e);
1926
+ } else if (i.type === "poi_types") {
1927
+ let e = this.rootStore.poiTypeStore.poiTypes.find((e) => e.id === a);
1928
+ e && r.push(e);
1929
+ }
1930
+ }), {
1931
+ categories: n,
1932
+ poiTypes: r
1933
+ };
1934
+ }
1935
+ }, F(P.prototype, "applyAllChildrenFilters", [l], Object.getOwnPropertyDescriptor(P.prototype, "applyAllChildrenFilters"), P.prototype), F(P.prototype, "applyChildFilters", [l], Object.getOwnPropertyDescriptor(P.prototype, "applyChildFilters"), P.prototype), F(P.prototype, "clearAllChildFilters", [l], Object.getOwnPropertyDescriptor(P.prototype, "clearAllChildFilters"), P.prototype), F(P.prototype, "clearCategoryFilters", [l], Object.getOwnPropertyDescriptor(P.prototype, "clearCategoryFilters"), P.prototype), F(P.prototype, "clearPoiTypeFilters", [l], Object.getOwnPropertyDescriptor(P.prototype, "clearPoiTypeFilters"), P.prototype), F(P.prototype, "toggleChildFilter", [l], Object.getOwnPropertyDescriptor(P.prototype, "toggleChildFilter"), P.prototype), P), I, wn, Tn, En, Dn, On, kn;
1936
+ function L(e, t, n, r) {
1937
+ n && Object.defineProperty(e, t, {
1938
+ enumerable: n.enumerable,
1939
+ configurable: n.configurable,
1940
+ writable: n.writable,
1941
+ value: n.initializer ? n.initializer.call(r) : void 0
1942
+ });
1943
+ }
1944
+ function R(e, t, n, r, i) {
1945
+ var a = {};
1946
+ return Object.keys(r).forEach(function(e) {
1947
+ a[e] = r[e];
1948
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
1949
+ return r(e, t, n) || n;
1950
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
1951
+ }
1952
+ var An = (I = class {
1953
+ constructor() {
1954
+ L(this, "isVisible", wn, this), L(this, "activePoiFilterId", Tn, this), L(this, "activeSubButtonsParentId", En, this), L(this, "activeSubButtonId", Dn, this), L(this, "subButtonsEnabled", On, this), L(this, "searchShortcutState", kn, this);
1955
+ }
1956
+ setVisible(e) {
1957
+ this.isVisible = e;
1958
+ }
1959
+ setSubButtonParent(e) {
1960
+ this.activeSubButtonsParentId = e;
1961
+ }
1962
+ setPoiFilter(e) {
1963
+ this.activePoiFilterId = e;
1964
+ }
1965
+ setSubButton(e) {
1966
+ this.activeSubButtonId = e;
1967
+ }
1968
+ setSubButtonsEnabled(e) {
1969
+ this.subButtonsEnabled = e;
1970
+ }
1971
+ setActiveParentId(e) {
1972
+ this.searchShortcutState.activeParentId = e;
1973
+ }
1974
+ showShortcuts(e) {
1975
+ this.searchShortcutState.isShortcutsVisible = e;
1976
+ }
1977
+ clearChildren() {
1978
+ this.searchShortcutState.activeChildren.clear();
1979
+ }
1980
+ toggleChild(e) {
1981
+ this.searchShortcutState.activeChildren.has(e) ? this.searchShortcutState.activeChildren.delete(e) : this.searchShortcutState.activeChildren.add(e);
1982
+ }
1983
+ reset() {
1984
+ this.activePoiFilterId = null, this.searchShortcutState.activeParentId = null, this.searchShortcutState.activeChildren.clear(), this.searchShortcutState.isShortcutsVisible = !1;
1985
+ }
1986
+ get hasActiveChildren() {
1987
+ return this.searchShortcutState.activeChildren.size > 0;
1988
+ }
1989
+ get activeChildrenCount() {
1990
+ return this.searchShortcutState.activeChildren.size;
1991
+ }
1992
+ get hasActiveParentWithChildren() {
1993
+ return this.searchShortcutState.isShortcutsVisible && this.searchShortcutState.activeParentId !== null;
1994
+ }
1995
+ isChildActive(e) {
1996
+ return this.searchShortcutState.activeChildren.has(e);
1997
+ }
1998
+ }, wn = R(I.prototype, "isVisible", [c], {
1999
+ configurable: !0,
2000
+ enumerable: !0,
2001
+ writable: !0,
2002
+ initializer: function() {
2003
+ return !0;
2004
+ }
2005
+ }), Tn = R(I.prototype, "activePoiFilterId", [c], {
2006
+ configurable: !0,
2007
+ enumerable: !0,
2008
+ writable: !0,
2009
+ initializer: function() {
2010
+ return null;
2011
+ }
2012
+ }), En = R(I.prototype, "activeSubButtonsParentId", [c], {
2013
+ configurable: !0,
2014
+ enumerable: !0,
2015
+ writable: !0,
2016
+ initializer: function() {
2017
+ return null;
2018
+ }
2019
+ }), Dn = R(I.prototype, "activeSubButtonId", [c], {
2020
+ configurable: !0,
2021
+ enumerable: !0,
2022
+ writable: !0,
2023
+ initializer: function() {
2024
+ return null;
2025
+ }
2026
+ }), On = R(I.prototype, "subButtonsEnabled", [c], {
2027
+ configurable: !0,
2028
+ enumerable: !0,
2029
+ writable: !0,
2030
+ initializer: function() {
2031
+ return !1;
2032
+ }
2033
+ }), kn = R(I.prototype, "searchShortcutState", [c], {
2034
+ configurable: !0,
2035
+ enumerable: !0,
2036
+ writable: !0,
2037
+ initializer: function() {
2038
+ return {
2039
+ activeParentId: null,
2040
+ activeChildren: /* @__PURE__ */ new Set(),
2041
+ isShortcutsVisible: !1
2042
+ };
2043
+ }
2044
+ }), R(I.prototype, "setVisible", [l], Object.getOwnPropertyDescriptor(I.prototype, "setVisible"), I.prototype), R(I.prototype, "setSubButtonParent", [l], Object.getOwnPropertyDescriptor(I.prototype, "setSubButtonParent"), I.prototype), R(I.prototype, "setPoiFilter", [l], Object.getOwnPropertyDescriptor(I.prototype, "setPoiFilter"), I.prototype), R(I.prototype, "setSubButton", [l], Object.getOwnPropertyDescriptor(I.prototype, "setSubButton"), I.prototype), R(I.prototype, "setSubButtonsEnabled", [l], Object.getOwnPropertyDescriptor(I.prototype, "setSubButtonsEnabled"), I.prototype), R(I.prototype, "setActiveParentId", [l], Object.getOwnPropertyDescriptor(I.prototype, "setActiveParentId"), I.prototype), R(I.prototype, "showShortcuts", [l], Object.getOwnPropertyDescriptor(I.prototype, "showShortcuts"), I.prototype), R(I.prototype, "clearChildren", [l], Object.getOwnPropertyDescriptor(I.prototype, "clearChildren"), I.prototype), R(I.prototype, "toggleChild", [l], Object.getOwnPropertyDescriptor(I.prototype, "toggleChild"), I.prototype), R(I.prototype, "reset", [l], Object.getOwnPropertyDescriptor(I.prototype, "reset"), I.prototype), R(I.prototype, "hasActiveChildren", [s], Object.getOwnPropertyDescriptor(I.prototype, "hasActiveChildren"), I.prototype), R(I.prototype, "activeChildrenCount", [s], Object.getOwnPropertyDescriptor(I.prototype, "activeChildrenCount"), I.prototype), R(I.prototype, "hasActiveParentWithChildren", [s], Object.getOwnPropertyDescriptor(I.prototype, "hasActiveParentWithChildren"), I.prototype), I), z;
2045
+ function B(e, t, n, r, i) {
2046
+ var a = {};
2047
+ return Object.keys(r).forEach(function(e) {
2048
+ a[e] = r[e];
2049
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
2050
+ return r(e, t, n) || n;
2051
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
2052
+ }
2053
+ var jn = (z = class {
2054
+ constructor(e) {
2055
+ this.rootStore = void 0, this._subButtonRegistry = void 0, this.state = void 0, this.filters = void 0, this.actions = void 0, this.factory = void 0, this.poiTypeCountsCache = /* @__PURE__ */ new Map(), this.lastPoiTypeCountUpdate = 0, this.rootStore = e, this.state = new An(), this.filters = new Cn(e, this.state), this.actions = new xn(e, this.state, this.filters), this.factory = new Sn(e, this.state, this.actions), this.setupReactions();
2056
+ }
2057
+ setupReactions() {
2058
+ me(() => this.rootStore.boothStore.booths.length, () => this.invalidatePoiTypeCounts());
2059
+ }
2060
+ get subButtonRegistry() {
2061
+ return this._subButtonRegistry || (this._subButtonRegistry = new _n(), this.registerSubButtonProviders()), this._subButtonRegistry;
2062
+ }
2063
+ registerSubButtonProviders() {
2064
+ this.subButtonRegistry.register(new gn(this.rootStore));
2065
+ }
2066
+ invalidatePoiTypeCounts() {
2067
+ this.poiTypeCountsCache.clear(), this.lastPoiTypeCountUpdate = 0;
2068
+ }
2069
+ get isVisible() {
2070
+ return this.state.isVisible;
2071
+ }
2072
+ get shouldShow() {
2073
+ let { uiState: e } = this.rootStore;
2074
+ if (e.screenSize.width >= 768) return this.state.isVisible;
2075
+ let t = !!(e.selectedExhibitor || e.selectedBooth || e.selectedEventItem || e.selectedRoute || e.menu || e.list.type === "language");
2076
+ return this.state.isVisible && !t;
2077
+ }
2078
+ get activePoiFilterId() {
2079
+ return this.state.activePoiFilterId;
2080
+ }
2081
+ get activeSubButtonsParentId() {
2082
+ return this.state.activeSubButtonsParentId;
2083
+ }
2084
+ get activeSubButtonId() {
2085
+ return this.state.activeSubButtonId;
2086
+ }
2087
+ get subButtonsEnabled() {
2088
+ return this.state.subButtonsEnabled;
2089
+ }
2090
+ get searchShortcutState() {
2091
+ return this.state.searchShortcutState;
2092
+ }
2093
+ get searchButtons() {
2094
+ let e = f.filterButtonsConfig;
2095
+ if (!bn(e)) return console.warn("[SearchButtonsStore] Invalid filterButtonsConfig detected"), [];
2096
+ let t = e.searchButtons;
2097
+ return this.factory.createButtons(t);
2098
+ }
2099
+ get hasAnySearchButtons() {
2100
+ return this.searchButtons.length > 0;
2101
+ }
2102
+ get hasActiveSearchButton() {
2103
+ return this.state.activePoiFilterId !== null || this.rootStore.uiState.selectedCategoryFilters.length > 0;
2104
+ }
2105
+ get activeSearchButtonLabel() {
2106
+ if (this.state.activePoiFilterId) {
2107
+ let e = this.searchButtons.find((e) => e.id === this.state.activePoiFilterId);
2108
+ return (e == null ? void 0 : e.label) || null;
2109
+ }
2110
+ return this.rootStore.uiState.selectedCategoryFilters.length > 0 ? "Categories" : null;
2111
+ }
2112
+ get activeSubButtons() {
2113
+ return this.state.activeSubButtonsParentId ? this.subButtonRegistry.getSubButtons(this.state.activeSubButtonsParentId) : [];
2114
+ }
2115
+ get shouldShowSubButtons() {
2116
+ if (!this.state.subButtonsEnabled || !this.state.activeSubButtonsParentId) return !1;
2117
+ let e = this.searchButtons.find((e) => e.id === this.state.activeSubButtonsParentId);
2118
+ return !e || !e.active ? !1 : this.subButtonRegistry.shouldShowSubButtons(this.state.activeSubButtonsParentId) && this.activeSubButtons.length > 0;
2119
+ }
2120
+ get hasActiveParentWithChildren() {
2121
+ return this.state.hasActiveParentWithChildren;
2122
+ }
2123
+ get areAllSelected() {
2124
+ return this.filters.areAllSelected();
2125
+ }
2126
+ get activeChildrenCount() {
2127
+ return this.state.activeChildrenCount;
2128
+ }
2129
+ get totalChildrenCount() {
2130
+ return this.filters.getChildrenCount();
2131
+ }
2132
+ get poiTypeCounts() {
2133
+ let e = Date.now();
2134
+ if (e - this.lastPoiTypeCountUpdate < 1e3 && this.poiTypeCountsCache.size > 0) return this.poiTypeCountsCache;
2135
+ let t = /* @__PURE__ */ new Map();
2136
+ return this.rootStore.boothStore.booths.forEach((e) => {
2137
+ e.poiTypeId && t.set(e.poiTypeId, (t.get(e.poiTypeId) || 0) + 1);
2138
+ }), this.poiTypeCountsCache = t, this.lastPoiTypeCountUpdate = e, t;
2139
+ }
2140
+ get totalPoiTypeCount() {
2141
+ return yn(this.poiTypeCounts);
2142
+ }
2143
+ get activePoiTypeId() {
2144
+ var e;
2145
+ return (e = this.state.activePoiFilterId) != null && e.startsWith(g.POI_TYPE) ? vn(this.state.activePoiFilterId) : null;
2146
+ }
2147
+ handleSearchButtonClick(e, t) {
2148
+ this.actions.handleSearchButtonClick(e, t);
2149
+ }
2150
+ handleExtendedSearchButtonClick(e) {
2151
+ this.actions.handleExtendedSearchButtonClick(e);
2152
+ }
2153
+ handleMainButtonClick(e) {
2154
+ this.actions.handleMainButtonClick(e);
2155
+ }
2156
+ handleSessionsClick(e) {
2157
+ this.actions.handleSessionsClick(e);
2158
+ }
2159
+ togglePoiType(e) {
2160
+ this.actions.togglePoiType(e);
2161
+ }
2162
+ clearAllFilters() {
2163
+ this.actions.clearAllFilters();
2164
+ }
2165
+ showSubButtons(e) {
2166
+ this.actions.showSubButtons(e);
2167
+ }
2168
+ hideSubButtons() {
2169
+ this.actions.hideSubButtons();
2170
+ }
2171
+ handleSubButtonClick(e) {
2172
+ this.state.activeSubButtonId !== e && (this.state.setSubButton(e), this.state.activeSubButtonsParentId && this.subButtonRegistry.handleSubButtonClick(this.state.activeSubButtonsParentId, e));
2173
+ }
2174
+ toggleChildFilter(e) {
2175
+ this.filters.toggleChildFilter(e);
2176
+ }
2177
+ clearPoiTypeFilters() {
2178
+ this.filters.clearPoiTypeFilters();
2179
+ }
2180
+ clearAllChildFilters() {
2181
+ this.filters.clearAllChildFilters();
2182
+ }
2183
+ setActiveParentId(e) {
2184
+ this.state.setActiveParentId(e);
2185
+ }
2186
+ showShortcuts(e) {
2187
+ this.state.showShortcuts(e);
2188
+ }
2189
+ clearChildren() {
2190
+ this.state.clearChildren();
2191
+ }
2192
+ setSubButtonId(e) {
2193
+ this.state.setSubButton(e);
2194
+ }
2195
+ setPoiFilterId(e) {
2196
+ this.state.setPoiFilter(e);
2197
+ }
2198
+ getPoiTypeTotalCount(e) {
2199
+ return this.poiTypeCounts.get(e) || 0;
2200
+ }
2201
+ isChildActive(e) {
2202
+ return this.state.isChildActive(e);
2203
+ }
2204
+ getActiveParent() {
2205
+ return this.filters.getActiveParent();
2206
+ }
2207
+ }, B(z.prototype, "invalidatePoiTypeCounts", [l], Object.getOwnPropertyDescriptor(z.prototype, "invalidatePoiTypeCounts"), z.prototype), B(z.prototype, "isVisible", [s], Object.getOwnPropertyDescriptor(z.prototype, "isVisible"), z.prototype), B(z.prototype, "shouldShow", [s], Object.getOwnPropertyDescriptor(z.prototype, "shouldShow"), z.prototype), B(z.prototype, "activePoiFilterId", [s], Object.getOwnPropertyDescriptor(z.prototype, "activePoiFilterId"), z.prototype), B(z.prototype, "activeSubButtonsParentId", [s], Object.getOwnPropertyDescriptor(z.prototype, "activeSubButtonsParentId"), z.prototype), B(z.prototype, "activeSubButtonId", [s], Object.getOwnPropertyDescriptor(z.prototype, "activeSubButtonId"), z.prototype), B(z.prototype, "subButtonsEnabled", [s], Object.getOwnPropertyDescriptor(z.prototype, "subButtonsEnabled"), z.prototype), B(z.prototype, "searchShortcutState", [s], Object.getOwnPropertyDescriptor(z.prototype, "searchShortcutState"), z.prototype), B(z.prototype, "searchButtons", [s], Object.getOwnPropertyDescriptor(z.prototype, "searchButtons"), z.prototype), B(z.prototype, "hasAnySearchButtons", [s], Object.getOwnPropertyDescriptor(z.prototype, "hasAnySearchButtons"), z.prototype), B(z.prototype, "hasActiveSearchButton", [s], Object.getOwnPropertyDescriptor(z.prototype, "hasActiveSearchButton"), z.prototype), B(z.prototype, "activeSearchButtonLabel", [s], Object.getOwnPropertyDescriptor(z.prototype, "activeSearchButtonLabel"), z.prototype), B(z.prototype, "activeSubButtons", [s], Object.getOwnPropertyDescriptor(z.prototype, "activeSubButtons"), z.prototype), B(z.prototype, "shouldShowSubButtons", [s], Object.getOwnPropertyDescriptor(z.prototype, "shouldShowSubButtons"), z.prototype), B(z.prototype, "hasActiveParentWithChildren", [s], Object.getOwnPropertyDescriptor(z.prototype, "hasActiveParentWithChildren"), z.prototype), B(z.prototype, "areAllSelected", [s], Object.getOwnPropertyDescriptor(z.prototype, "areAllSelected"), z.prototype), B(z.prototype, "activeChildrenCount", [s], Object.getOwnPropertyDescriptor(z.prototype, "activeChildrenCount"), z.prototype), B(z.prototype, "totalChildrenCount", [s], Object.getOwnPropertyDescriptor(z.prototype, "totalChildrenCount"), z.prototype), B(z.prototype, "poiTypeCounts", [s], Object.getOwnPropertyDescriptor(z.prototype, "poiTypeCounts"), z.prototype), B(z.prototype, "totalPoiTypeCount", [s], Object.getOwnPropertyDescriptor(z.prototype, "totalPoiTypeCount"), z.prototype), B(z.prototype, "activePoiTypeId", [s], Object.getOwnPropertyDescriptor(z.prototype, "activePoiTypeId"), z.prototype), B(z.prototype, "handleSearchButtonClick", [l], Object.getOwnPropertyDescriptor(z.prototype, "handleSearchButtonClick"), z.prototype), B(z.prototype, "handleExtendedSearchButtonClick", [l], Object.getOwnPropertyDescriptor(z.prototype, "handleExtendedSearchButtonClick"), z.prototype), B(z.prototype, "handleMainButtonClick", [l], Object.getOwnPropertyDescriptor(z.prototype, "handleMainButtonClick"), z.prototype), B(z.prototype, "handleSessionsClick", [l], Object.getOwnPropertyDescriptor(z.prototype, "handleSessionsClick"), z.prototype), B(z.prototype, "togglePoiType", [l], Object.getOwnPropertyDescriptor(z.prototype, "togglePoiType"), z.prototype), B(z.prototype, "clearAllFilters", [l], Object.getOwnPropertyDescriptor(z.prototype, "clearAllFilters"), z.prototype), B(z.prototype, "showSubButtons", [l], Object.getOwnPropertyDescriptor(z.prototype, "showSubButtons"), z.prototype), B(z.prototype, "hideSubButtons", [l], Object.getOwnPropertyDescriptor(z.prototype, "hideSubButtons"), z.prototype), B(z.prototype, "handleSubButtonClick", [l], Object.getOwnPropertyDescriptor(z.prototype, "handleSubButtonClick"), z.prototype), B(z.prototype, "toggleChildFilter", [l], Object.getOwnPropertyDescriptor(z.prototype, "toggleChildFilter"), z.prototype), B(z.prototype, "clearPoiTypeFilters", [l], Object.getOwnPropertyDescriptor(z.prototype, "clearPoiTypeFilters"), z.prototype), B(z.prototype, "clearAllChildFilters", [l], Object.getOwnPropertyDescriptor(z.prototype, "clearAllChildFilters"), z.prototype), B(z.prototype, "setActiveParentId", [l], Object.getOwnPropertyDescriptor(z.prototype, "setActiveParentId"), z.prototype), B(z.prototype, "showShortcuts", [l], Object.getOwnPropertyDescriptor(z.prototype, "showShortcuts"), z.prototype), B(z.prototype, "clearChildren", [l], Object.getOwnPropertyDescriptor(z.prototype, "clearChildren"), z.prototype), B(z.prototype, "setSubButtonId", [l], Object.getOwnPropertyDescriptor(z.prototype, "setSubButtonId"), z.prototype), B(z.prototype, "setPoiFilterId", [l], Object.getOwnPropertyDescriptor(z.prototype, "setPoiFilterId"), z.prototype), z), V, Mn, Nn, Pn, Fn;
2208
+ function In(e, t, n, r) {
2209
+ n && Object.defineProperty(e, t, {
2210
+ enumerable: n.enumerable,
2211
+ configurable: n.configurable,
2212
+ writable: n.writable,
2213
+ value: n.initializer ? n.initializer.call(r) : void 0
2214
+ });
2215
+ }
2216
+ function H(e, t, n, r, i) {
2217
+ var a = {};
2218
+ return Object.keys(r).forEach(function(e) {
2219
+ a[e] = r[e];
2220
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
2221
+ return r(e, t, n) || n;
2222
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
2223
+ }
2224
+ var U = class {
2225
+ static closeDetails(e) {
2226
+ return e.details ? (e.details = null, !0) : !1;
2227
+ }
2228
+ static closeMultiPointTour(e) {
2229
+ return e.rootStore.fp.hidePathways(), !0;
2230
+ }
2231
+ static clearSearchAndFocus(e) {
2232
+ return e.searchText ? (e.setSearchText(""), e.setFocused(!0), !0) : !1;
2233
+ }
2234
+ static returnToSearch(e, t = !1) {
2235
+ e.list = {
2236
+ type: "search",
2237
+ text: "",
2238
+ focused: t
2239
+ };
2240
+ }
2241
+ static returnToSessions(e, t = !1) {
2242
+ e.list = {
2243
+ type: "sessions",
2244
+ text: "",
2245
+ focused: t
2246
+ };
2247
+ }
2248
+ static returnToTours(e, t = !1) {
2249
+ e.list = {
2250
+ type: "tours",
2251
+ text: "",
2252
+ focused: t
2253
+ };
2254
+ }
2255
+ static openMenu(e) {
2256
+ e.menu = !0;
2257
+ }
2258
+ static closeMenu(e) {
2259
+ e.menu = !1;
2260
+ }
2261
+ static clearListScroll(e, t) {
2262
+ e.clearListScroll(t);
2263
+ }
2264
+ static resetActiveListIndex(e) {
2265
+ e.activeListIndex = -1;
2266
+ }
2267
+ }, Ln = (V = class {
2268
+ constructor(e) {
2269
+ this.rootStore = void 0, In(this, "searchText", Mn, this), In(this, "isFocused", Nn, this), In(this, "isClearMode", Pn, this), In(this, "skipInputFocus", Fn, this), this.rootStore = e;
2270
+ }
2271
+ get uiState() {
2272
+ return this.rootStore.uiState;
2273
+ }
2274
+ get searchBoxConfig() {
2275
+ return this.uiState.searchBoxConfig;
2276
+ }
2277
+ get searchBoxMode() {
2278
+ return this.searchBoxConfig.mode;
2279
+ }
2280
+ get searchBoxTitle() {
2281
+ return this.searchBoxConfig.title;
2282
+ }
2283
+ get searchBoxSubtitle() {
2284
+ return this.searchBoxConfig.subtitle;
2285
+ }
2286
+ get searchBoxBadge() {
2287
+ return this.searchBoxConfig.badge;
2288
+ }
2289
+ get searchBoxIcon() {
2290
+ return this.searchBoxConfig.icon;
2291
+ }
2292
+ get searchBoxActions() {
2293
+ return this.uiState.searchBoxActions;
2294
+ }
2295
+ get shouldShowSearchInput() {
2296
+ return this.searchBoxMode === "search";
2297
+ }
2298
+ get shouldShowCloseButton() {
2299
+ let { menu: e, details: t, list: n } = this.uiState, r = f.isRebooking && n.type === "exhibitors";
2300
+ return !this.shouldShowSearchInput || n.type === "sessions" || n.type === "tours" || n.type === "speakers" || n.type === "exhibitors" && !r || e || t !== null || !!this.searchText || this.isClearMode || this.isFocused;
2301
+ }
2302
+ get closeButtonAction() {
2303
+ return !this.shouldShowSearchInput || this.searchBoxMode === "details" || this.uiState.list.type === "sessions" || this.uiState.list.type === "speakers" || this.uiState.list.type === "exhibitors" && !f.isRebooking ? "close" : this.searchText ? "clear" : "close";
2304
+ }
2305
+ get shouldShowShadow() {
2306
+ let { menu: e, details: t, list: n } = this.uiState, r = n.type === "search" && !!n.text;
2307
+ return !(this.rootStore.fp.alwaysShowSidebar || e || t !== null || n.type !== "search" || r || this.isFocused || this.uiState.heatmap);
2308
+ }
2309
+ get placeholder() {
2310
+ let { list: e, heatmapYah: t } = this.uiState;
2311
+ return e.type === "sessions" ? i("Search sessions") : e.type === "tours" ? i("Search Guided Tours") : e.type === "exhibitors" ? i("Search exhibitors") : e.type === "speakers" ? i("Search speakers") : pe.EXPO.startsWith("lenzerheidemotorclassics") ? "SUCHE" : pe.EXPO.startsWith("jetlag") ? "Search location or artist" : t ? i("Find values greater than") : this.uiState.hasAppliedFilters ? i("Search") : f.searchText || i("Search");
2312
+ }
2313
+ get searchBoxClass() {
2314
+ return {
2315
+ "is-details": this.searchBoxMode === "details" && !(this.uiState.details instanceof Re),
2316
+ "is-interface": this.searchBoxMode === "interface",
2317
+ "has-shadow": this.shouldShowShadow,
2318
+ "has-subtitle": !!this.searchBoxConfig.subtitle,
2319
+ "has-badge": !!this.searchBoxConfig.badge,
2320
+ "has-icon": !!this.searchBoxConfig.icon,
2321
+ "is-overlay-full": this.uiState.isOverlayOpen && this.uiState.overlaySize === "full",
2322
+ "is-featured-exhibitor": this.uiState.isFeaturedExhibitorActive,
2323
+ "is-route": this.uiState.details instanceof Re,
2324
+ "is-guided-tours": this.uiState.isGuidedToursActive,
2325
+ "is-overlay-scrolled": this.uiState.isOverlayScrolled,
2326
+ "overlay-pulse": this.uiState.kiosk && this.uiState.inIdle && !this.uiState.setKioskModeEnabled
2327
+ };
2328
+ }
2329
+ get ariaLabel() {
2330
+ return !this.shouldShowSearchInput || this.searchBoxMode === "details" ? i("Close") : this.searchText ? i("Clear search") : i("Close");
2331
+ }
2332
+ selectSearch(e) {
2333
+ window.__resett && window.__resett(), this.uiState.details = null;
2334
+ let t = se(e || "", Object.keys(this.uiState.mapSettings).map((e) => `${e}=`));
2335
+ this.setSearchText(t), this.uiState.activeListIndex = -1;
2336
+ }
2337
+ selectSearchAndFocus(e) {
2338
+ this.selectSearch(e), this.setFocused(!0);
2339
+ }
2340
+ setSearchText(e) {
2341
+ this.searchText = e, this.uiState.hasAppliedFilters ? this.rootStore.moveToList() : this.uiState.centerMap = !0, this.uiState.activeListIndex = e ? 0 : -1, this.uiState.list.type !== "sessions" && this.uiState.list.type !== "tours" && this.uiState.list.type !== "speakers" && this.uiState.list.type !== "exhibitors" ? this.uiState.list = {
2342
+ type: "search",
2343
+ text: e,
2344
+ focused: this.isFocused
2345
+ } : this.uiState.list.type === "exhibitors" && (this.uiState.list = {
2346
+ type: "exhibitors",
2347
+ text: e,
2348
+ focused: this.isFocused
2349
+ }), this.uiState.searchClearMode = this.isClearMode;
2350
+ }
2351
+ setFocused(e) {
2352
+ this.isFocused = e, this.isClearMode = !1, this.skipInputFocus = !1, this.uiState.searchFocused = e, this.uiState.searchClearMode = !1, this.uiState.desiredOverlaySize = "full";
2353
+ }
2354
+ handleBackAction() {
2355
+ let { uiState: t } = this, { list: n } = t;
2356
+ if (t.desiredOverlaySize = "full", this.backMode === "menu") {
2357
+ this.resetSearchButtonState(), U.openMenu(t);
2358
+ return;
2359
+ }
2360
+ if (n.type === "route-planner") {
2361
+ this.rootStore.routePlannerStore.close(), this.rootStore.selectBookmarks(), Ue();
2362
+ return;
2363
+ }
2364
+ if (n.type === "multi-point-tour" && !t.details) {
2365
+ U.returnToTours(t, !1), this.rootStore.fp.hidePathways();
2366
+ return;
2367
+ }
2368
+ if (t.details) {
2369
+ t.details = null, Ue();
2370
+ return;
2371
+ }
2372
+ if (t.menu) {
2373
+ n.type === "sessions" ? t.list = {
2374
+ type: "sessions",
2375
+ text: "",
2376
+ focused: !0
2377
+ } : n.type === "exhibitors" ? t.list = {
2378
+ type: "exhibitors",
2379
+ text: "",
2380
+ focused: !0
2381
+ } : t.list = {
2382
+ type: "search",
2383
+ text: "",
2384
+ focused: !0
2385
+ }, this.setFocused(!0), this.isClearMode = !0, U.closeMenu(t);
2386
+ return;
2387
+ }
2388
+ if (n.type === "tours" && t.details instanceof Re) {
2389
+ t.details = null;
2390
+ return;
2391
+ }
2392
+ if (n.type === "sessions" || n.type === "tours" || n.type === "exhibitors") {
2393
+ if (U.closeDetails(t)) return;
2394
+ this.clearActiveFilters(), U.returnToSearch(t, !1), this.selectSearchAndFocus();
2395
+ return;
2396
+ }
2397
+ switch (n.type) {
2398
+ case "filter":
2399
+ t.details = null;
2400
+ return;
2401
+ case "multi-point-tour":
2402
+ this.rootStore.fp.hidePathways(), U.closeDetails(t) ? U.returnToTours(t, !1) : Ue();
2403
+ return;
2404
+ case "category":
2405
+ this.rootStore.selectCategory(n.category);
2406
+ return;
2407
+ case "speakers":
2408
+ if (U.closeDetails(t)) return;
2409
+ U.returnToSessions(t, !1);
2410
+ return;
2411
+ case "bookmarks":
2412
+ case "visited":
2413
+ if (U.closeDetails(t)) return;
2414
+ this.selectSearchAndFocus();
2415
+ return;
2416
+ case e:
2417
+ U.returnToSearch(t, !1), U.openMenu(t);
2418
+ return;
2419
+ }
2420
+ U.closeDetails(t) || U.clearSearchAndFocus(this) || U.openMenu(t);
2421
+ }
2422
+ closeSearch() {
2423
+ let { uiState: e } = this, { list: t } = e;
2424
+ if (t.type === "route-planner") {
2425
+ this.rootStore.routePlannerStore.close(), U.returnToSearch(e, !1), this.resetSearchBox();
2426
+ return;
2427
+ }
2428
+ if (U.closeDetails(e), U.clearListScroll(e, t.type), U.closeMultiPointTour(e), t.type === "bookmarks") {
2429
+ U.returnToSearch(e, !1), this.resetSearchBox();
2430
+ return;
2431
+ }
2432
+ if (e.selectedCategory) {
2433
+ U.returnToSearch(e, !1), this.resetSearchBox();
2434
+ return;
2435
+ }
2436
+ if (t.type === "sessions") {
2437
+ this.closeSessions();
2438
+ return;
2439
+ }
2440
+ if (t.type === "exhibitors") {
2441
+ if (f.isRebooking) {
2442
+ this.searchBoxMode === "search" && this.searchText ? (this.setSearchText(""), this.isClearMode = !0, this.clearActiveFilters()) : this.resetSearchBox();
2443
+ return;
2444
+ }
2445
+ this.closeExhibitors();
2446
+ return;
2447
+ }
2448
+ if (e.menu) {
2449
+ U.closeMenu(e), this.resetSearchBox();
2450
+ return;
2451
+ }
2452
+ if (this.searchBoxMode === "search" && !e.details && this.searchText) {
2453
+ this.setSearchText(""), this.isClearMode = !0, this.clearActiveFilters();
2454
+ return;
2455
+ }
2456
+ U.returnToSearch(e, !1), this.searchText = "", this.resetSearchBox(), e.details = null, this.clearActiveFilters();
2457
+ }
2458
+ clearActiveFilters() {
2459
+ this.rootStore.searchButtonsStore.setPoiFilterId(null), this.rootStore.uiState.selectedPoiTypeFilters = [], this.rootStore.uiState.selectedCategoryFilters = [], this.rootStore.categoryFilterStore.state.selectedItems = [], this.rootStore.categoryFilterStore.state.pendingItems = [], this.rootStore.searchButtonsStore.searchShortcutState.activeParentId = null, this.rootStore.searchButtonsStore.searchShortcutState.activeChildren.clear(), this.rootStore.searchButtonsStore.searchShortcutState.isShortcutsVisible = !1, this.rootStore.urlFilterManager && this.rootStore.urlFilterManager.isInitialized && this.rootStore.urlFilterManager.clearAllFilters();
2460
+ }
2461
+ resetSearchButtonState() {
2462
+ let { uiState: e } = this;
2463
+ this.rootStore.searchButtonsStore.clearAllFilters(), this.rootStore.searchButtonsStore.setSubButtonId(null), this.rootStore.searchButtonsStore.hideSubButtons(), e.selectedTrack = null, this.searchText = "", this.isClearMode = !1;
2464
+ }
2465
+ handleSearchAction() {
2466
+ this.isFocused || this.setFocused(!0);
2467
+ }
2468
+ openOverlayWithoutInputFocus() {
2469
+ this.skipInputFocus = !0, this.isFocused = !0, this.isClearMode = !1, this.uiState.searchFocused = !0, this.uiState.searchClearMode = !1, this.uiState.desiredOverlaySize = "full";
2470
+ }
2471
+ closeSessions() {
2472
+ this.searchText = "", U.returnToSearch(this.uiState, !1), this.uiState.details = null, U.resetActiveListIndex(this.uiState), this.uiState.selectedTrack = null, this.rootStore.searchButtonsStore.setSubButtonId(null), this.rootStore.searchButtonsStore.hideSubButtons();
2473
+ }
2474
+ closeExhibitors() {
2475
+ this.searchText = "", U.returnToSearch(this.uiState, !1), this.uiState.details = null, U.resetActiveListIndex(this.uiState);
2476
+ }
2477
+ resetSearchBox() {
2478
+ this.setFocused(!1), this.isClearMode = !1, this.syncWithUIState();
2479
+ }
2480
+ syncWithUIState() {
2481
+ this.searchText = (this.uiState.list.type === "search" || this.uiState.list.type === "exhibitors") && this.uiState.list.text || "", this.isFocused = this.uiState.searchFocused, this.isClearMode = this.uiState.searchClearMode;
2482
+ }
2483
+ get actionButtonIcon() {
2484
+ return this.shouldShowSearchInput ? this.shouldShowCloseButton ? "icon-close" : "icon-search" : "icon-close";
2485
+ }
2486
+ clearAndSelectSearch() {
2487
+ this.selectSearch(""), this.setFocused(!1);
2488
+ }
2489
+ get backMode() {
2490
+ let e = this.uiState.list.type;
2491
+ return (e === "bookmarks" || e === "visited") && !this.uiState.details && !this.uiState.menu || this.shouldShowSearchInput && !this.searchText ? "menu" : "back";
2492
+ }
2493
+ get isMobileDetailsMode() {
2494
+ return window.innerWidth < 768 && this.uiState.details !== null && this.uiState.overlaySize === "full" && !(this.uiState.details instanceof Re);
2495
+ }
2496
+ get shouldShowTitle() {
2497
+ return !this.shouldShowSearchInput;
2498
+ }
2499
+ get searchState() {
2500
+ return {
2501
+ text: this.searchText,
2502
+ isFocused: this.isFocused,
2503
+ isClearMode: this.isClearMode,
2504
+ mode: this.searchBoxMode,
2505
+ title: this.searchBoxConfig.title,
2506
+ subtitle: this.searchBoxConfig.subtitle,
2507
+ badge: this.searchBoxConfig.badge,
2508
+ icon: this.searchBoxConfig.icon
2509
+ };
2510
+ }
2511
+ }, Mn = H(V.prototype, "searchText", [c], {
2512
+ configurable: !0,
2513
+ enumerable: !0,
2514
+ writable: !0,
2515
+ initializer: function() {
2516
+ return "";
2517
+ }
2518
+ }), Nn = H(V.prototype, "isFocused", [c], {
2519
+ configurable: !0,
2520
+ enumerable: !0,
2521
+ writable: !0,
2522
+ initializer: function() {
2523
+ return !1;
2524
+ }
2525
+ }), Pn = H(V.prototype, "isClearMode", [c], {
2526
+ configurable: !0,
2527
+ enumerable: !0,
2528
+ writable: !0,
2529
+ initializer: function() {
2530
+ return !1;
2531
+ }
2532
+ }), Fn = H(V.prototype, "skipInputFocus", [c], {
2533
+ configurable: !0,
2534
+ enumerable: !0,
2535
+ writable: !0,
2536
+ initializer: function() {
2537
+ return !1;
2538
+ }
2539
+ }), H(V.prototype, "searchBoxConfig", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxConfig"), V.prototype), H(V.prototype, "searchBoxMode", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxMode"), V.prototype), H(V.prototype, "searchBoxTitle", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxTitle"), V.prototype), H(V.prototype, "searchBoxSubtitle", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxSubtitle"), V.prototype), H(V.prototype, "searchBoxBadge", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxBadge"), V.prototype), H(V.prototype, "searchBoxIcon", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxIcon"), V.prototype), H(V.prototype, "searchBoxActions", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxActions"), V.prototype), H(V.prototype, "shouldShowSearchInput", [s], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowSearchInput"), V.prototype), H(V.prototype, "shouldShowCloseButton", [s], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowCloseButton"), V.prototype), H(V.prototype, "closeButtonAction", [s], Object.getOwnPropertyDescriptor(V.prototype, "closeButtonAction"), V.prototype), H(V.prototype, "shouldShowShadow", [s], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowShadow"), V.prototype), H(V.prototype, "placeholder", [s], Object.getOwnPropertyDescriptor(V.prototype, "placeholder"), V.prototype), H(V.prototype, "searchBoxClass", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchBoxClass"), V.prototype), H(V.prototype, "ariaLabel", [s], Object.getOwnPropertyDescriptor(V.prototype, "ariaLabel"), V.prototype), H(V.prototype, "selectSearch", [l], Object.getOwnPropertyDescriptor(V.prototype, "selectSearch"), V.prototype), H(V.prototype, "selectSearchAndFocus", [l], Object.getOwnPropertyDescriptor(V.prototype, "selectSearchAndFocus"), V.prototype), H(V.prototype, "setSearchText", [l], Object.getOwnPropertyDescriptor(V.prototype, "setSearchText"), V.prototype), H(V.prototype, "setFocused", [l], Object.getOwnPropertyDescriptor(V.prototype, "setFocused"), V.prototype), H(V.prototype, "handleBackAction", [l], Object.getOwnPropertyDescriptor(V.prototype, "handleBackAction"), V.prototype), H(V.prototype, "closeSearch", [l], Object.getOwnPropertyDescriptor(V.prototype, "closeSearch"), V.prototype), H(V.prototype, "clearActiveFilters", [l], Object.getOwnPropertyDescriptor(V.prototype, "clearActiveFilters"), V.prototype), H(V.prototype, "resetSearchButtonState", [l], Object.getOwnPropertyDescriptor(V.prototype, "resetSearchButtonState"), V.prototype), H(V.prototype, "handleSearchAction", [l], Object.getOwnPropertyDescriptor(V.prototype, "handleSearchAction"), V.prototype), H(V.prototype, "openOverlayWithoutInputFocus", [l], Object.getOwnPropertyDescriptor(V.prototype, "openOverlayWithoutInputFocus"), V.prototype), H(V.prototype, "closeSessions", [l], Object.getOwnPropertyDescriptor(V.prototype, "closeSessions"), V.prototype), H(V.prototype, "closeExhibitors", [l], Object.getOwnPropertyDescriptor(V.prototype, "closeExhibitors"), V.prototype), H(V.prototype, "resetSearchBox", [l], Object.getOwnPropertyDescriptor(V.prototype, "resetSearchBox"), V.prototype), H(V.prototype, "syncWithUIState", [l], Object.getOwnPropertyDescriptor(V.prototype, "syncWithUIState"), V.prototype), H(V.prototype, "actionButtonIcon", [s], Object.getOwnPropertyDescriptor(V.prototype, "actionButtonIcon"), V.prototype), H(V.prototype, "clearAndSelectSearch", [l], Object.getOwnPropertyDescriptor(V.prototype, "clearAndSelectSearch"), V.prototype), H(V.prototype, "backMode", [s], Object.getOwnPropertyDescriptor(V.prototype, "backMode"), V.prototype), H(V.prototype, "isMobileDetailsMode", [s], Object.getOwnPropertyDescriptor(V.prototype, "isMobileDetailsMode"), V.prototype), H(V.prototype, "shouldShowTitle", [s], Object.getOwnPropertyDescriptor(V.prototype, "shouldShowTitle"), V.prototype), H(V.prototype, "searchState", [s], Object.getOwnPropertyDescriptor(V.prototype, "searchState"), V.prototype), V), W, Rn;
2540
+ function zn(e, t, n, r) {
2541
+ n && Object.defineProperty(e, t, {
2542
+ enumerable: n.enumerable,
2543
+ configurable: n.configurable,
2544
+ writable: n.writable,
2545
+ value: n.initializer ? n.initializer.call(r) : void 0
2546
+ });
2547
+ }
2548
+ function G(e, t, n, r, i) {
2549
+ var a = {};
2550
+ return Object.keys(r).forEach(function(e) {
2551
+ a[e] = r[e];
2552
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
2553
+ return r(e, t, n) || n;
2554
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
2555
+ }
2556
+ var K = {
2557
+ selectedTracks: [],
2558
+ selectedVenues: [],
2559
+ selectedSpeakers: [],
2560
+ date: "all",
2561
+ timeOfDay: "all",
2562
+ sortOrder: "desc",
2563
+ use24hFormat: !1,
2564
+ showBookmarksOnly: !1,
2565
+ showLiveOnly: !1
2566
+ }, Bn = (W = class extends mt {
2567
+ constructor(e) {
2568
+ super(e), zn(this, "state", Rn, this);
2569
+ }
2570
+ createInitialFilters() {
2571
+ let e = {};
2572
+ return Object.keys(K).forEach((t) => {
2573
+ e[t] = {
2574
+ value: K[t],
2575
+ pending: K[t]
2576
+ };
2577
+ }), e;
2578
+ }
2579
+ setSearchText(e) {
2580
+ this.state.searchText = e;
2581
+ }
2582
+ setPending(e, t) {
2583
+ this.state.filters[e].pending = t;
2584
+ }
2585
+ applyFilters() {
2586
+ let { filters: e } = this.state, t = e.selectedTracks.value.length > 0, n = e.selectedVenues.value.length > 0;
2587
+ Object.keys(e).forEach((t) => {
2588
+ e[t].value = e[t].pending;
2589
+ });
2590
+ let r = e.selectedTracks.value.length > 0, i = e.selectedVenues.value.length > 0;
2591
+ t !== r && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "tracks", t, r), n !== i && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "venues", n, i), this.state.selectedItems = [...this.state.pendingItems], this.state.isOpen = !1, this.updateUIState();
2592
+ }
2593
+ resetFilters() {
2594
+ let { filters: e } = this.state;
2595
+ Object.keys(K).forEach((t) => {
2596
+ e[t].pending = K[t];
2597
+ }), this.state.pendingItems = [], this.state.searchText = "";
2598
+ }
2599
+ resetAndApplyFilters() {
2600
+ let { filters: e } = this.state, t = e.selectedTracks.value.length > 0, n = e.selectedVenues.value.length > 0;
2601
+ this.resetFilters(), Object.keys(e).forEach((t) => {
2602
+ e[t].value = e[t].pending;
2603
+ }), t !== !1 && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "tracks", t, !1), n !== !1 && this.rootStore.shortcutRegistry.updateActivationOrderFromState("sessions", "venues", n, !1), this.state.selectedItems = [], this.state.isOpen = !1, this.rootStore.uiState.list = {
2604
+ type: "sessions",
2605
+ text: "",
2606
+ focused: !1
2607
+ };
2608
+ }
2609
+ openFilter() {
2610
+ this.state.isOpen = !0, this.state.pendingItems = [...this.state.selectedItems];
2611
+ let { filters: e } = this.state;
2612
+ Object.keys(e).forEach((t) => {
2613
+ e[t].pending = e[t].value;
2614
+ });
2615
+ }
2616
+ closeFilter() {
2617
+ this.state.isOpen = !1, this.state.pendingItems = [...this.state.selectedItems];
2618
+ let { filters: e } = this.state;
2619
+ Object.keys(e).forEach((t) => {
2620
+ e[t].pending = e[t].value;
2621
+ });
2622
+ }
2623
+ openFilterWithSections(e) {
2624
+ this.state.visibleSections = e, this.openFilter();
2625
+ }
2626
+ get activeFiltersCount() {
2627
+ let { filters: e } = this.state, t = 0;
2628
+ return Object.keys(K).forEach((n) => {
2629
+ let r = e[n].value, i = K[n];
2630
+ Array.isArray(i) && Array.isArray(r) ? r.length > 0 && t++ : r !== i && t++;
2631
+ }), t;
2632
+ }
2633
+ updateUIState() {
2634
+ this.rootStore.uiState.list = {
2635
+ type: "sessions",
2636
+ text: "",
2637
+ focused: !1
2638
+ }, this.rootStore.searchStore.setFocused(!0);
2639
+ }
2640
+ getFilteredItems() {
2641
+ return [];
2642
+ }
2643
+ }, Rn = G(W.prototype, "state", [c], {
2644
+ configurable: !0,
2645
+ enumerable: !0,
2646
+ writable: !0,
2647
+ initializer: function() {
2648
+ return {
2649
+ isOpen: !1,
2650
+ selectedItems: [],
2651
+ pendingItems: [],
2652
+ searchText: "",
2653
+ visibleSections: [
2654
+ "tracks",
2655
+ "venues",
2656
+ "speakers",
2657
+ "date",
2658
+ "time",
2659
+ "sort",
2660
+ "settings"
2661
+ ],
2662
+ filters: this.createInitialFilters()
2663
+ };
2664
+ }
2665
+ }), G(W.prototype, "setSearchText", [l], Object.getOwnPropertyDescriptor(W.prototype, "setSearchText"), W.prototype), G(W.prototype, "setPending", [l], Object.getOwnPropertyDescriptor(W.prototype, "setPending"), W.prototype), G(W.prototype, "applyFilters", [l], Object.getOwnPropertyDescriptor(W.prototype, "applyFilters"), W.prototype), G(W.prototype, "resetFilters", [l], Object.getOwnPropertyDescriptor(W.prototype, "resetFilters"), W.prototype), G(W.prototype, "resetAndApplyFilters", [l], Object.getOwnPropertyDescriptor(W.prototype, "resetAndApplyFilters"), W.prototype), G(W.prototype, "openFilter", [l], Object.getOwnPropertyDescriptor(W.prototype, "openFilter"), W.prototype), G(W.prototype, "closeFilter", [l], Object.getOwnPropertyDescriptor(W.prototype, "closeFilter"), W.prototype), G(W.prototype, "openFilterWithSections", [l], Object.getOwnPropertyDescriptor(W.prototype, "openFilterWithSections"), W.prototype), G(W.prototype, "activeFiltersCount", [s], Object.getOwnPropertyDescriptor(W.prototype, "activeFiltersCount"), W.prototype), W), Vn = class {
2666
+ constructor() {
2667
+ this.providers = /* @__PURE__ */ new Map(), this.activationOrder = /* @__PURE__ */ new Map();
2668
+ }
2669
+ register(e) {
2670
+ if (!(e != null && e.id)) throw Error("Provider must have a valid id");
2671
+ this.providers.set(e.id, e);
2672
+ }
2673
+ unregister(e) {
2674
+ this.providers.delete(e), this.activationOrder.delete(e);
2675
+ }
2676
+ getShortcuts(e) {
2677
+ let t = this.providers.get(e);
2678
+ if (!t) return [];
2679
+ let n = t.createShortcuts(), r = this.activationOrder.get(e);
2680
+ return r ? this.sortShortcuts(n, r) : n;
2681
+ }
2682
+ sortShortcuts(e, t) {
2683
+ let n = new Map(t.map((e, t) => [e, t]));
2684
+ return e.sort((e, t) => {
2685
+ if (e.active !== t.active) return e.active ? -1 : 1;
2686
+ if (e.active && t.active) {
2687
+ let r = n.get(e.id), i = n.get(t.id);
2688
+ return r !== void 0 && i !== void 0 ? r - i : (r === void 0 ? 0 : -1) - (i === void 0 ? 0 : -1);
2689
+ }
2690
+ return 0;
2691
+ });
2692
+ }
2693
+ handleShortcutClick(e, t) {
2694
+ var n;
2695
+ let r = this.providers.get(e);
2696
+ if (!r) return;
2697
+ let i = r.createShortcuts().find((e) => e.id === t), a = (n = i == null ? void 0 : i.active) != null && n;
2698
+ r.handleShortcutClick(t);
2699
+ let o = this.isShortcutActive(r, t);
2700
+ this.reportClick(i, a, o), a !== o && this.updateActivationOrder(e, t, a, o);
2701
+ }
2702
+ reportClick(e, t, n) {
2703
+ if (!e || !(e.action === "custom" || !t && n)) return;
2704
+ let r = e.label || e.id;
2705
+ r && Ve("sbtnview", r, "shortcut");
2706
+ }
2707
+ isShortcutActive(e, t) {
2708
+ var n, r;
2709
+ return (n = (r = e.createShortcuts().find((e) => e.id === t)) == null ? void 0 : r.active) != null && n;
2710
+ }
2711
+ handleShortcutReset(e, t) {
2712
+ let n = this.providers.get(e);
2713
+ if (!(n != null && n.handleShortcutReset)) return;
2714
+ n.handleShortcutReset(t);
2715
+ let r = this.activationOrder.get(e);
2716
+ r != null && r.includes(t) && this.updateActivationOrder(e, t, !0, !1);
2717
+ }
2718
+ updateActivationOrder(e, t, n, r) {
2719
+ let i = this.activationOrder.get(e) || [], a;
2720
+ if (!n && r) a = i.includes(t) ? i : [...i, t];
2721
+ else if (n && !r) a = i.filter((e) => e !== t);
2722
+ else return;
2723
+ a.length > 0 ? this.activationOrder.set(e, a) : this.activationOrder.delete(e);
2724
+ }
2725
+ updateActivationOrderFromState(e, t, n, r) {
2726
+ this.updateActivationOrder(e, t, n, r);
2727
+ }
2728
+ shouldShowShortcuts(e) {
2729
+ var t, n;
2730
+ let r = this.providers.get(e);
2731
+ return (t = r == null || (n = r.shouldShowShortcuts) == null ? void 0 : n.call(r)) == null || t;
2732
+ }
2733
+ getRegisteredProviders() {
2734
+ return Array.from(this.providers.keys());
2735
+ }
2736
+ isProviderRegistered(e) {
2737
+ return this.providers.has(e);
2738
+ }
2739
+ clear() {
2740
+ this.providers.clear(), this.activationOrder.clear();
2741
+ }
2742
+ }, q, Hn, Un, J, Wn;
2743
+ function Gn(e, t, n, r) {
2744
+ n && Object.defineProperty(e, t, {
2745
+ enumerable: n.enumerable,
2746
+ configurable: n.configurable,
2747
+ writable: n.writable,
2748
+ value: n.initializer ? n.initializer.call(r) : void 0
2749
+ });
2750
+ }
2751
+ function Y(e, t, n, r, i) {
2752
+ var a = {};
2753
+ return Object.keys(r).forEach(function(e) {
2754
+ a[e] = r[e];
2755
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
2756
+ return r(e, t, n) || n;
2757
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
2758
+ }
2759
+ var Kn = (q = class {
2760
+ constructor(e) {
2761
+ Gn(this, "value", Hn, this), Gn(this, "pending", Un, this), this.value = e, this.pending = e;
2762
+ }
2763
+ setValue(e) {
2764
+ this.pending = e;
2765
+ }
2766
+ apply() {
2767
+ this.value = this.pending;
2768
+ }
2769
+ reset() {
2770
+ this.pending = this.value;
2771
+ }
2772
+ }, Hn = Y(q.prototype, "value", [c], {
2773
+ configurable: !0,
2774
+ enumerable: !0,
2775
+ writable: !0,
2776
+ initializer: null
2777
+ }), Un = Y(q.prototype, "pending", [c], {
2778
+ configurable: !0,
2779
+ enumerable: !0,
2780
+ writable: !0,
2781
+ initializer: null
2782
+ }), Y(q.prototype, "setValue", [l], Object.getOwnPropertyDescriptor(q.prototype, "setValue"), q.prototype), Y(q.prototype, "apply", [l], Object.getOwnPropertyDescriptor(q.prototype, "apply"), q.prototype), Y(q.prototype, "reset", [l], Object.getOwnPropertyDescriptor(q.prototype, "reset"), q.prototype), q), qn = (J = class {
2783
+ constructor(e) {
2784
+ this.rootStore = void 0, Gn(this, "state", Wn, this), this.rootStore = e;
2785
+ }
2786
+ get activeFiltersCount() {
2787
+ let e = 0, { filters: t } = this.state;
2788
+ return t.selectedCompanies.value.length > 0 && e++, t.selectedJobTitles.value.length > 0 && e++, e;
2789
+ }
2790
+ applyFilters() {
2791
+ let { filters: e } = this.state;
2792
+ e.selectedCompanies.apply(), e.selectedJobTitles.apply(), this.closeFilter();
2793
+ }
2794
+ resetFilters() {
2795
+ let { filters: e } = this.state;
2796
+ e.selectedCompanies.pending = [], e.selectedJobTitles.pending = [];
2797
+ }
2798
+ resetAndApplyFilters() {
2799
+ this.resetFilters(), this.applyFilters();
2800
+ }
2801
+ clearAllFilters() {
2802
+ let { filters: e } = this.state;
2803
+ e.selectedCompanies.pending = [], e.selectedJobTitles.pending = [], e.selectedCompanies.value = [], e.selectedJobTitles.value = [];
2804
+ }
2805
+ openFilter() {
2806
+ this.state.isOpen = !0;
2807
+ }
2808
+ closeFilter() {
2809
+ this.state.isOpen = !1;
2810
+ }
2811
+ openFilterWithSections(e) {
2812
+ this.state.visibleSections = e, this.openFilter();
2813
+ }
2814
+ setPending(e, t) {
2815
+ this.state.filters[e].setValue(t);
2816
+ }
2817
+ toggleCompanyFilter(e) {
2818
+ let { selectedCompanies: t } = this.state.filters, n = t.value;
2819
+ n.includes(e) ? t.setValue(n.filter((t) => t !== e)) : t.setValue([...n, e]);
2820
+ }
2821
+ toggleJobTitleFilter(e) {
2822
+ let { selectedJobTitles: t } = this.state.filters, n = t.value;
2823
+ n.includes(e) ? t.setValue(n.filter((t) => t !== e)) : t.setValue([...n, e]);
2824
+ }
2825
+ getDefaultValues() {
2826
+ return {
2827
+ selectedCompanies: [],
2828
+ selectedJobTitles: []
2829
+ };
2830
+ }
2831
+ }, Wn = Y(J.prototype, "state", [c], {
2832
+ configurable: !0,
2833
+ enumerable: !0,
2834
+ writable: !0,
2835
+ initializer: function() {
2836
+ return {
2837
+ isOpen: !1,
2838
+ filters: {
2839
+ selectedCompanies: new Kn([]),
2840
+ selectedJobTitles: new Kn([])
2841
+ },
2842
+ visibleSections: ["companies", "jobTitles"]
2843
+ };
2844
+ }
2845
+ }), Y(J.prototype, "activeFiltersCount", [s], Object.getOwnPropertyDescriptor(J.prototype, "activeFiltersCount"), J.prototype), Y(J.prototype, "applyFilters", [l], Object.getOwnPropertyDescriptor(J.prototype, "applyFilters"), J.prototype), Y(J.prototype, "resetFilters", [l], Object.getOwnPropertyDescriptor(J.prototype, "resetFilters"), J.prototype), Y(J.prototype, "resetAndApplyFilters", [l], Object.getOwnPropertyDescriptor(J.prototype, "resetAndApplyFilters"), J.prototype), Y(J.prototype, "clearAllFilters", [l], Object.getOwnPropertyDescriptor(J.prototype, "clearAllFilters"), J.prototype), Y(J.prototype, "openFilter", [l], Object.getOwnPropertyDescriptor(J.prototype, "openFilter"), J.prototype), Y(J.prototype, "closeFilter", [l], Object.getOwnPropertyDescriptor(J.prototype, "closeFilter"), J.prototype), Y(J.prototype, "openFilterWithSections", [l], Object.getOwnPropertyDescriptor(J.prototype, "openFilterWithSections"), J.prototype), Y(J.prototype, "setPending", [l], Object.getOwnPropertyDescriptor(J.prototype, "setPending"), J.prototype), Y(J.prototype, "toggleCompanyFilter", [l], Object.getOwnPropertyDescriptor(J.prototype, "toggleCompanyFilter"), J.prototype), Y(J.prototype, "toggleJobTitleFilter", [l], Object.getOwnPropertyDescriptor(J.prototype, "toggleJobTitleFilter"), J.prototype), J), Jn = {
2846
+ uitestdemo: [{
2847
+ id: "connected-business-tour",
2848
+ layers: [{
2849
+ floor: "1",
2850
+ id: "Pathway_1"
2851
+ }, {
2852
+ floor: "2",
2853
+ id: "Pathway_2"
2854
+ }],
2855
+ name: "Connected Business Tour",
2856
+ points: [
2857
+ "2345",
2858
+ "coffee-or-2119",
2859
+ "11-or-1289"
2860
+ ]
2861
+ }],
2862
+ uitest2026: [
2863
+ {
2864
+ id: "knowledge-trail",
2865
+ layers: [{
2866
+ floor: "1",
2867
+ id: "Pathway_1"
2868
+ }],
2869
+ name: "Knowledge Trail",
2870
+ description: "Designed for attendees focused on learning sessions and hands-on workshops, this route provides a clear path through the main educational areas of the event. It ensures quick access to conference rooms, interactive workshops, and the Innovation Lab, allowing participants to maximize their time, gain new knowledge, and engage directly with practical demonstrations.",
2871
+ points: [
2872
+ "2345",
2873
+ "coffee-or-2119",
2874
+ "11-or-1289",
2875
+ "255",
2876
+ "729"
2877
+ ]
2878
+ },
2879
+ {
2880
+ id: "vip-express",
2881
+ layers: [{
2882
+ floor: "1",
2883
+ id: "Pathway_2"
2884
+ }],
2885
+ name: "VIP Express",
2886
+ description: "A reserved route created specifically for VIP guests, allowing them to move efficiently between exclusive areas without interruptions. It connects the VIP Lounge with private meeting rooms and a dedicated exit, ensuring comfort, privacy, and quick access to high-priority zones throughout the event.",
2887
+ points: [
2888
+ "365",
2889
+ "burger-point",
2890
+ "backyard-or-1813",
2891
+ "2122",
2892
+ "2164",
2893
+ "mp12",
2894
+ "11-or-1289"
2895
+ ]
2896
+ },
2897
+ {
2898
+ id: "startup-discovery-walk",
2899
+ layers: [{
2900
+ floor: "1",
2901
+ id: "Pathway_3"
2902
+ }],
2903
+ name: "Startup Discovery Walk",
2904
+ description: "A route designed for attendees interested in exploring the newest and most innovative companies. It guides visitors through the Innovation Hub and Startup Pavilion, finishing at the Pitch Stage where emerging businesses showcase their ideas. This path helps attendees quickly discover fresh solutions and connect with founders shaping the future of logistics and supply chain.",
2905
+ points: [
2906
+ "mc7",
2907
+ "1895",
2908
+ "coffee-or-2183",
2909
+ "2345",
2910
+ "innovation-stage-or-1303",
2911
+ "biergarten-or-620",
2912
+ "spa-or-573"
2913
+ ]
2914
+ },
2915
+ {
2916
+ id: "global-networking-path",
2917
+ layers: [{
2918
+ floor: "1",
2919
+ id: "Pathway_4"
2920
+ }],
2921
+ name: "Global Networking Path",
2922
+ description: "Created for participants who want to expand their global connections. This route leads from the Main Hall to the International Pavilion, highlighting exhibitors from around the world, and continues to the Networking Lounge. It ensures a smooth flow for meeting international partners, discovering global solutions, and engaging in meaningful business conversations.",
2923
+ points: [
2924
+ "puppy-park-or-184",
2925
+ "ocado-intelligent-automation",
2926
+ "533",
2927
+ "mocktails-or-941",
2928
+ "infios",
2929
+ "slip-robotics",
2930
+ "penske-transportation-solutions",
2931
+ "headshot-studio-or-1988",
2932
+ "coffee-or-2183"
2933
+ ]
2934
+ }
2935
+ ],
2936
+ uitestimex: [{
2937
+ id: "startup-discovery-walk",
2938
+ layers: [{
2939
+ floor: "1",
2940
+ id: "Pathway_1"
2941
+ }],
2942
+ name: "Startup Discovery Walk",
2943
+ description: "Designed for attendees focused on learning sessions and hands-on workshops, this route provides a clear path through the main educational areas of the event. It ensures quick access to conference rooms, interactive workshops, and the Innovation Lab, allowing participants to maximize their time, gain new knowledge, and engage directly with practical demonstrations.",
2944
+ points: [
2945
+ "84624",
2946
+ "E1235",
2947
+ "E1817",
2948
+ "E2105"
2949
+ ]
2950
+ }, {
2951
+ id: "tech-innovation-trail",
2952
+ layers: [{
2953
+ floor: "1",
2954
+ id: "Pathway_2"
2955
+ }],
2956
+ name: "Tech Innovation Trail",
2957
+ description: "Focuses on technology exhibitors — mapping a route through companies offering event management software, AI tools, and digital signage solutions. Great for testing longer routes with multiple stops.",
2958
+ points: [
2959
+ "84628",
2960
+ "95111",
2961
+ "E1905",
2962
+ "39440",
2963
+ "91811",
2964
+ "40760",
2965
+ "10651"
2966
+ ]
2967
+ }],
2968
+ ifaberlin2025clone: [{
2969
+ id: "knowledge-trail",
2970
+ layers: [{
2971
+ floor: "1",
2972
+ id: "Pathway_2"
2973
+ }],
2974
+ name: "Knowledge Trail",
2975
+ description: "Designed for attendees focused on learning sessions and hands-on workshops, this route provides a clear path through the main educational areas of the event. It ensures quick access to conference rooms, interactive workshops, and the Innovation Lab, allowing participants to maximize their time, gain new knowledge, and engage directly with practical demonstrations.",
2976
+ points: [
2977
+ "gr-ocg-107",
2978
+ "gr-ocg-109",
2979
+ "gr-ocg-102",
2980
+ "gr-ocg-104",
2981
+ "gr-ocg-106",
2982
+ "gr-ocg-111",
2983
+ "gr-ocg-110",
2984
+ "Seating Lounge | Outdoor 1"
2985
+ ]
2986
+ }],
2987
+ demo: [{
2988
+ id: "the-green-journey",
2989
+ layers: [{
2990
+ floor: "1",
2991
+ id: "Pathway_1"
2992
+ }],
2993
+ name: "The Green Journey — From Idea to Implementation",
2994
+ description: "Embark on a curated journey through the exhibition’s most innovative sustainability zones. This tour highlights how modern industries rethink construction, manufacturing, and waste transformation to create a cleaner future. You’ll explore cutting-edge eco-materials, smart production methods, and next-generation recycling technologies — with a few pleasant stops along the way. The route ends in a relaxing lounge area, perfect for unwinding and reflecting on the ideas you’ve discovered.",
2995
+ points: [
2996
+ "RXhoaWJpdG9yXzE4OTc5ODY=",
2997
+ "RXhoaWJpdG9yXzE4OTc5NTg=",
2998
+ "RXhoaWJpdG9yXzE4OTc5Mzk=",
2999
+ "RXhoaWJpdG9yXzE4OTc5Mjc=",
3000
+ "Coffe Bar | Hall 5.1"
3001
+ ]
3002
+ }],
3003
+ wcc2026: [
3004
+ {
3005
+ id: "learning-on-show-floor",
3006
+ layers: [{
3007
+ floor: "L",
3008
+ id: "Pathway_1"
3009
+ }],
3010
+ name: "Learning on show floor",
3011
+ points: [
3012
+ "Space Domain Theater | 723",
3013
+ "3307",
3014
+ "Unveiled Theater | 2241"
3015
+ ]
3016
+ },
3017
+ {
3018
+ id: "networking-on-show-floor",
3019
+ layers: [{
3020
+ floor: "L",
3021
+ id: "Pathway_2"
3022
+ }],
3023
+ name: "Networking on show floor",
3024
+ points: [
3025
+ "Restaurant | 406",
3026
+ "Meeting Hub | 636",
3027
+ "Brew Lounge | 1163"
3028
+ ]
3029
+ },
3030
+ {
3031
+ id: "welcome-and-information-journey",
3032
+ layers: [
3033
+ {
3034
+ floor: "1",
3035
+ id: "Pathway_5"
3036
+ },
3037
+ {
3038
+ floor: "3",
3039
+ id: "Pathway_3"
3040
+ },
3041
+ {
3042
+ floor: "2",
3043
+ id: "Pathway_4"
3044
+ },
3045
+ {
3046
+ floor: "C",
3047
+ id: "Pathway_6"
3048
+ }
3049
+ ],
3050
+ name: "Welcome and Information Journey",
3051
+ description: "Follow this route to get oriented, find visitor services, complete registration, and enter the exhibition hall."
3052
+ }
3053
+ ],
3054
+ lamma2026: [{
3055
+ id: "innovation-trail",
3056
+ layers: [{
3057
+ floor: "1",
3058
+ id: "Pathway_1"
3059
+ }],
3060
+ name: "Innovation Trail",
3061
+ points: [
3062
+ "12120485",
3063
+ "12120827",
3064
+ "12120497",
3065
+ "15552598",
3066
+ "15552695",
3067
+ "15552538",
3068
+ "12120220",
3069
+ "15552729",
3070
+ "15784756",
3071
+ "15552462",
3072
+ "12120351",
3073
+ "15552470"
3074
+ ]
3075
+ }],
3076
+ fdhw2026: [
3077
+ {
3078
+ id: "association-of-convenience-stores-trail",
3079
+ layers: [{
3080
+ floor: "1",
3081
+ id: "Pathway_1"
3082
+ }],
3083
+ name: "Association of Convenience Stores Trail",
3084
+ description: "Show: IFE.\nData Types Allowed to View: IFE Visitors / IFE Suppliers / IFE Press / IFEM Visitors / IFEM Suppliers / IFEM Press.",
3085
+ points: [
3086
+ "16282530",
3087
+ "16282664",
3088
+ "16572191",
3089
+ "16282882",
3090
+ "16572254",
3091
+ "16282294",
3092
+ "16282527",
3093
+ "16282319",
3094
+ "16445163"
3095
+ ]
3096
+ },
3097
+ {
3098
+ id: "newbies-at-the-pub-show",
3099
+ layers: [{
3100
+ floor: "1",
3101
+ id: "Pathway_2"
3102
+ }],
3103
+ name: "Newbies at The Pub Show",
3104
+ description: "Show: The Pub Show.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
3105
+ points: [
3106
+ "16282289",
3107
+ "16282507",
3108
+ "16282613",
3109
+ "16282283",
3110
+ "16282382",
3111
+ "16282792",
3112
+ "16830654",
3113
+ "16282656",
3114
+ "16282309",
3115
+ "16282902",
3116
+ "16282450",
3117
+ "16283034",
3118
+ "16282743",
3119
+ "16572201",
3120
+ "16282279",
3121
+ "16369552",
3122
+ "16282392",
3123
+ "16282603"
3124
+ ]
3125
+ },
3126
+ {
3127
+ id: "chef-steve-munkley-mbe-s-top-picks",
3128
+ layers: [{
3129
+ floor: "1",
3130
+ id: "Pathway_3"
3131
+ }],
3132
+ name: "Chef Steve Munkley MBE's Top Picks",
3133
+ description: "Show: HRC.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
3134
+ points: [
3135
+ "16282438",
3136
+ "16282525",
3137
+ "16282753",
3138
+ "16282554",
3139
+ "16282784",
3140
+ "16282440",
3141
+ "16282479",
3142
+ "16282833",
3143
+ "PastryHQ | S1290",
3144
+ "16282914",
3145
+ "16282776"
3146
+ ]
3147
+ },
3148
+ {
3149
+ id: "radford-chancellor-s-must-see-exhibitors",
3150
+ layers: [{
3151
+ floor: "1",
3152
+ id: "Pathway_4"
3153
+ }],
3154
+ name: "Radford Chancellor's Must See Exhibitors",
3155
+ description: "Show: HRC.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
3156
+ points: [
3157
+ "16282429",
3158
+ "16283073",
3159
+ "16600529"
3160
+ ]
3161
+ },
3162
+ {
3163
+ id: "anna-sebastian-s-top-tipples",
3164
+ layers: [{
3165
+ floor: "1",
3166
+ id: "Pathway_5"
3167
+ }],
3168
+ name: "Anna Sebastian's Top Tipples",
3169
+ description: "Show: HRC & The Pub Show.\nData Types Allowed to View: Pub Visitor / Pub Supplier / Pub Press / HRC Visitor / HRC Supplier / HRC Press.",
3170
+ points: [
3171
+ "16282311",
3172
+ "16445141",
3173
+ "16837929",
3174
+ "16369552",
3175
+ "16282279",
3176
+ "16282289",
3177
+ "16282603"
3178
+ ]
3179
+ },
3180
+ {
3181
+ id: "fcsi-members-trail",
3182
+ layers: [{
3183
+ floor: "1",
3184
+ id: "Pathway_6"
3185
+ }],
3186
+ name: "\xA0FCSI Members Trail",
3187
+ points: [
3188
+ "16282429",
3189
+ "16600529",
3190
+ "16282606",
3191
+ "16282806",
3192
+ "16282745",
3193
+ "16282964"
3194
+ ]
3195
+ }
3196
+ ],
3197
+ retailtechnologyshow2026: [{
3198
+ id: "innovation-awards-finalists",
3199
+ layers: [{
3200
+ floor: "1",
3201
+ id: "Pathway_1"
3202
+ }],
3203
+ name: "Innovation Awards Finalists",
3204
+ points: [
3205
+ "Business France | K10",
3206
+ "16528837",
3207
+ "16528943",
3208
+ "16528881",
3209
+ "16528816",
3210
+ "16529021",
3211
+ "16529050",
3212
+ "16528953",
3213
+ "16528893",
3214
+ "16529071"
3215
+ ]
3216
+ }, {
3217
+ id: "zebra-partners-scavenger-hunt",
3218
+ layers: [{
3219
+ floor: "1",
3220
+ id: "Pathway_2"
3221
+ }],
3222
+ name: "Zebra Partners Scavenger Hunt",
3223
+ points: [
3224
+ "16528708",
3225
+ "16528793",
3226
+ "16529002",
3227
+ "16529036",
3228
+ "16529030",
3229
+ "16529038",
3230
+ "16528903",
3231
+ "16528855",
3232
+ "16528716",
3233
+ "16528967",
3234
+ "16528895",
3235
+ "16529088",
3236
+ "16529055",
3237
+ "16529024"
3238
+ ]
3239
+ }]
3240
+ }, X, Yn, Xn, Zn, Qn;
3241
+ function $n(e, t, n, r) {
3242
+ n && Object.defineProperty(e, t, {
3243
+ enumerable: n.enumerable,
3244
+ configurable: n.configurable,
3245
+ writable: n.writable,
3246
+ value: n.initializer ? n.initializer.call(r) : void 0
3247
+ });
3248
+ }
3249
+ function Z(e, t, n, r, i) {
3250
+ var a = {};
3251
+ return Object.keys(r).forEach(function(e) {
3252
+ a[e] = r[e];
3253
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
3254
+ return r(e, t, n) || n;
3255
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
3256
+ }
3257
+ var er = 1, tr = (X = class {
3258
+ constructor(e) {
3259
+ this.rootStore = void 0, $n(this, "tours", Yn, this), $n(this, "currentExpo", Xn, this), $n(this, "hasTours", Zn, this), $n(this, "toursLoadError", Qn, this), this.rootStore = e, this.loadTours();
3260
+ }
3261
+ loadTours() {
3262
+ try {
3263
+ if (this.currentExpo = pe.EXPO || "default", this.toursLoadError = null, !this.isValidToursData(Jn)) {
3264
+ this.toursLoadError = "Invalid tours data format", this.resetTours();
3265
+ return;
3266
+ }
3267
+ let e = Jn[this.currentExpo] || [];
3268
+ if (!this.validateToursStructure(e)) {
3269
+ this.toursLoadError = "Invalid tour items structure", this.resetTours();
3270
+ return;
3271
+ }
3272
+ this.tours = e, this.hasTours = e.length > 0;
3273
+ } catch (e) {
3274
+ console.error("Error loading tours:", e), this.toursLoadError = e instanceof Error ? e.message : "Failed to load tours", this.resetTours();
3275
+ }
3276
+ }
3277
+ resetTours() {
3278
+ this.tours = [], this.hasTours = !1;
3279
+ }
3280
+ isValidToursData(e) {
3281
+ return typeof e == "object" && !!e && !Array.isArray(e);
3282
+ }
3283
+ validateToursStructure(e) {
3284
+ return Array.isArray(e) ? e.every((e) => e && typeof e == "object" && typeof e.id == "string" && Array.isArray(e.layers) && e.layers.length >= er && (e.points === void 0 || Array.isArray(e.points))) : !1;
3285
+ }
3286
+ get tourItems() {
3287
+ return this.tours;
3288
+ }
3289
+ getTourById(e) {
3290
+ return this.tours.find((t) => t.id === e);
3291
+ }
3292
+ getToursByPoint(e) {
3293
+ return this.tours.filter((t) => {
3294
+ var n;
3295
+ return (n = t.points) == null ? void 0 : n.includes(e);
3296
+ });
3297
+ }
3298
+ getToursForExpo(e) {
3299
+ return this.isValidToursData(Jn) && Jn[e] || [];
3300
+ }
3301
+ get currentTour() {
3302
+ let { list: e } = this.rootStore.uiState;
3303
+ return e.type !== "multi-point-tour" || !this.isMultiPointTourList(e) ? null : this.getTourById(e.tourId) || null;
3304
+ }
3305
+ isMultiPointTourList(e) {
3306
+ return e.type === "multi-point-tour" && typeof e.tourId == "string";
3307
+ }
3308
+ get isActive() {
3309
+ return this.rootStore.uiState.list.type === "multi-point-tour";
3310
+ }
3311
+ get tourLayers() {
3312
+ let e = this.currentTour;
3313
+ return e ? e.layers.map((e) => this.rootStore.layerStore.findLayer(e.floor)).filter((e) => e != null) : [];
3314
+ }
3315
+ getTourLayerInfo(e) {
3316
+ let t = this.currentTour;
3317
+ if (t) return t.layers.find((t) => {
3318
+ let n = this.rootStore.layerStore.findLayer(t.floor);
3319
+ return n && (n.name === e || n.description === e);
3320
+ });
3321
+ }
3322
+ launchTour(e, t, n) {
3323
+ let r = this.validateTourForLaunch(e);
3324
+ if (r) return console.warn(`Cannot launch tour: ${r}`), !1;
3325
+ let i = e.layers[0].id, a = e.layers[0].floor;
3326
+ return e.points && e.points.length > 0 ? this.rootStore.fp.showPathway(i, e.points) : this.rootStore.fp.showPathwayOnly(i, a), this.rootStore.uiState.setTourTitle(t), this.rootStore.uiState.setTourDescription(n), this.rootStore.uiState.setIsMultiPointTour(!0), this.rootStore.uiState.setMultiPointTourList(e.id), window.setTimeout(() => {
3327
+ this.rootStore.showMap();
3328
+ }, navigator.userAgent.toLowerCase().indexOf("android") > -1 ? 400 : 50), !0;
3329
+ }
3330
+ validateTourForLaunch(e) {
3331
+ return e.layers.length < er ? `Tour must have at least ${er} layer` : null;
3332
+ }
3333
+ stopTour() {
3334
+ this.rootStore.uiState.setIsMultiPointTour(!1), this.rootStore.uiState.setPathwayOnlyMode(!1);
3335
+ let e = this.rootStore.uiState.list.type;
3336
+ (e === "tours" || e === "multi-point-tour") && (this.rootStore.uiState.list = {
3337
+ type: "search",
3338
+ text: "",
3339
+ focused: !1
3340
+ }), this.rootStore.fp.hidePathways();
3341
+ }
3342
+ }, Yn = Z(X.prototype, "tours", [c], {
3343
+ configurable: !0,
3344
+ enumerable: !0,
3345
+ writable: !0,
3346
+ initializer: function() {
3347
+ return [];
3348
+ }
3349
+ }), Xn = Z(X.prototype, "currentExpo", [c], {
3350
+ configurable: !0,
3351
+ enumerable: !0,
3352
+ writable: !0,
3353
+ initializer: function() {
3354
+ return "";
3355
+ }
3356
+ }), Zn = Z(X.prototype, "hasTours", [c], {
3357
+ configurable: !0,
3358
+ enumerable: !0,
3359
+ writable: !0,
3360
+ initializer: function() {
3361
+ return !1;
3362
+ }
3363
+ }), Qn = Z(X.prototype, "toursLoadError", [c], {
3364
+ configurable: !0,
3365
+ enumerable: !0,
3366
+ writable: !0,
3367
+ initializer: function() {
3368
+ return null;
3369
+ }
3370
+ }), Z(X.prototype, "loadTours", [l], Object.getOwnPropertyDescriptor(X.prototype, "loadTours"), X.prototype), Z(X.prototype, "resetTours", [l], Object.getOwnPropertyDescriptor(X.prototype, "resetTours"), X.prototype), Z(X.prototype, "tourItems", [s], Object.getOwnPropertyDescriptor(X.prototype, "tourItems"), X.prototype), Z(X.prototype, "currentTour", [s], Object.getOwnPropertyDescriptor(X.prototype, "currentTour"), X.prototype), Z(X.prototype, "isActive", [s], Object.getOwnPropertyDescriptor(X.prototype, "isActive"), X.prototype), Z(X.prototype, "tourLayers", [s], Object.getOwnPropertyDescriptor(X.prototype, "tourLayers"), X.prototype), Z(X.prototype, "launchTour", [l], Object.getOwnPropertyDescriptor(X.prototype, "launchTour"), X.prototype), Z(X.prototype, "stopTour", [l], Object.getOwnPropertyDescriptor(X.prototype, "stopTour"), X.prototype), X), Q, nr, rr;
3371
+ function ir(e, t, n, r) {
3372
+ n && Object.defineProperty(e, t, {
3373
+ enumerable: n.enumerable,
3374
+ configurable: n.configurable,
3375
+ writable: n.writable,
3376
+ value: n.initializer ? n.initializer.call(r) : void 0
3377
+ });
3378
+ }
3379
+ function $(e, t, n, r, i) {
3380
+ var a = {};
3381
+ return Object.keys(r).forEach(function(e) {
3382
+ a[e] = r[e];
3383
+ }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
3384
+ return r(e, t, n) || n;
3385
+ }, a), i && a.initializer !== void 0 && (a.value = a.initializer ? a.initializer.call(i) : void 0, a.initializer = void 0), a.initializer === void 0 ? (Object.defineProperty(e, t, a), null) : a;
3386
+ }
3387
+ var ar = (Q = class {
3388
+ setResetCameraFn(e) {
3389
+ this.resetCameraFn = e;
3390
+ }
3391
+ constructor() {
3392
+ this.categoryStore = void 0, this.exhibitorStore = void 0, this.boothStore = void 0, this.uiState = void 0, this.overlayStore = void 0, this.routeStore = void 0, this.routePlannerStore = void 0, this.toursStore = void 0, this.maplibreStore = void 0, this.layerStore = void 0, this.intercomStore = void 0, this.eventStore = void 0, this.poiTypeStore = void 0, this.poiMarkerStore = void 0, this.heatmapStore = void 0, this.fuzzySearchEngineStore = void 0, this.categoryFilterStore = void 0, this.sessionsFilterStore = void 0, this.speakerStore = void 0, this.speakerFilterStore = void 0, this.searchStore = void 0, this.searchButtonsStore = void 0, this.bookmarksStore = void 0, this.urlFilterManager = void 0, this.shortcutRegistry = void 0, this.fp = void 0, ir(this, "initialized", nr, this), ir(this, "resetCameraFn", rr, this), this.categoryStore = new ie(this), this.exhibitorStore = new Te(this), this.boothStore = new _e(this), this.routeStore = new ze(this), this.routePlannerStore = new fn(this), this.toursStore = new tr(this), this.uiState = new le(this), this.overlayStore = new Bt(this), this.maplibreStore = new Rt(this), this.layerStore = new ke(), this.intercomStore = new Et(), this.eventStore = new ne(this), this.heatmapStore = new ee(), this.poiTypeStore = new Yt(this), this.poiMarkerStore = new Jt(this), this.fuzzySearchEngineStore = new xt([
3393
+ "name",
3394
+ "title",
3395
+ "fullName",
3396
+ "booths.name"
3397
+ ]), this.categoryFilterStore = new gt(this), this.sessionsFilterStore = new Bn(this), this.speakerStore = new ce(this), this.speakerFilterStore = new qn(this), this.searchStore = new Ln(this), this.searchButtonsStore = new jn(this), this.bookmarksStore = new dt(this), this.urlFilterManager = new lt(this), this.shortcutRegistry = new Vn(), this.registerShortcutProviders();
3398
+ }
3399
+ selectExhibitor(e, t = !0) {
3400
+ this.uiState.hoveredExhibitor = null, this.uiState.details = e;
3401
+ var n = e.booths.filter((e) => e.visible), r = e.booths.filter((e) => !e.visible);
3402
+ !n.length && r.length && this.layerStore.updateVisibility(r[0].layer, !0), t && setTimeout(() => this.moveToList(e.booths.filter((e) => e.visible)), d || m ? 500 : 50);
3403
+ }
3404
+ selectBooth(e, t = !0) {
3405
+ var n;
3406
+ let r = Array.isArray(e) ? e : [e];
3407
+ this.uiState.details = r[0], r.length === 1 && (n = r[0].schedule) != null && n.length && (this.uiState.desiredOverlaySize = "medium"), r.length === 1 && r[0].layer && !r[0].visible && this.layerStore.mode === je.Radio && this.layerStore.updateVisibility(r[0].layer, !0), t && setTimeout(() => this.moveToList(r), d || m ? 500 : 50);
3408
+ }
3409
+ reset() {
3410
+ let e = window.__searchi;
3411
+ e && e.querySelector && e.querySelector("input[type=search]") && e.querySelector("input[type=search]").blur && e.querySelector("input[type=search]").blur(), window.setTimeout(() => {
3412
+ this.uiState.setKioskModeEnabled || n().then(() => {
3413
+ u(() => {
3414
+ var e;
3415
+ this.selectSearch(""), this.uiState.details = null, (e = this.resetCameraFn) == null || e.call(this), this.uiState.menu = !1, this.searchStore.resetSearchBox(), this.searchButtonsStore.clearAllFilters();
3416
+ }), setTimeout(() => {
3417
+ u(() => {
3418
+ this.uiState.inIdle = !0;
3419
+ });
3420
+ }, 100);
3421
+ });
3422
+ }, 1e3);
3423
+ }
3424
+ selectNone() {
3425
+ window.__resett && window.__resett(), this.uiState.details = this.uiState.selectedCategory;
3426
+ }
3427
+ selectBookmarks() {
3428
+ this.uiState.details = null, this.uiState.list = { type: "bookmarks" };
3429
+ }
3430
+ selectVisited() {
3431
+ this.uiState.details = null, this.uiState.list = { type: "visited" };
3432
+ }
3433
+ selectLanguage() {
3434
+ this.uiState.details = null, this.uiState.list = { type: e };
3435
+ }
3436
+ selectCategory(e) {
3437
+ var t;
3438
+ window.__resett && window.__resett(), this.uiState.details = e, this.uiState.list = {
3439
+ type: "category",
3440
+ category: e
3441
+ }, this.uiState.desiredOverlaySize = "full", e.exhibitors.find((e) => e.booths.find((e) => e.visible)) || this.layerStore.updateVisibility((t = e.exhibitors[0]) == null || (t = t.booths[0]) == null ? void 0 : t.layer, !0), setTimeout(() => {
3442
+ this.uiState.moveToBooths = e.exhibitors.filter((e) => e.booths.find((e) => e.visible)).flatMap((e) => e.booths);
3443
+ }, 200);
3444
+ }
3445
+ selectEventItem(e, t = !0) {
3446
+ if (this.uiState.hoveredExhibitor = null, this.uiState.details = e, this.uiState.desiredOverlaySize = "medium", e.boothId) {
3447
+ let t = this.boothStore.booths.find((t) => t.id === e.boothId);
3448
+ t && t.layer && !t.visible && this.layerStore.mode === je.Radio && this.layerStore.updateVisibility(t.layer, !0);
3449
+ }
3450
+ t && setTimeout(() => {
3451
+ if (e.boothId) {
3452
+ let t = this.boothStore.booths.find((t) => t.id === e.boothId);
3453
+ t && this.moveToList([t]);
3454
+ }
3455
+ }, d || m ? 500 : 50);
3456
+ }
3457
+ selectSearch(e) {
3458
+ window.__resett && window.__resett(), this.uiState.details = null, this.speakerStore.clearSelectedSpeaker(), this.uiState.list = {
3459
+ type: "search",
3460
+ text: se(e, Object.keys(this.uiState.mapSettings).map((e) => `${e}=`)),
3461
+ focused: !1
3462
+ }, this.uiState.activeListIndex = -1;
3463
+ }
3464
+ clickBookmarks() {
3465
+ window.__resett && window.__resett(), this.uiState.menu = !1, this.selectBookmarks(), this.moveToList(), this.showMap();
3466
+ }
3467
+ clickVisited() {
3468
+ window.__resett && window.__resett(), this.uiState.menu = !1, this.selectVisited(), this.moveToList(), this.showMap();
3469
+ }
3470
+ clickLanguage() {
3471
+ window.__resett && window.__resett(), this.uiState.menu = !1, this.selectLanguage();
3472
+ }
3473
+ clickCategory(e) {
3474
+ window.__resett && window.__resett(), this.uiState.menu = !1, this.selectCategory(e), this.uiState.onCategoryClick && this.uiState.onCategoryClick({
3475
+ id: e.id,
3476
+ name: e.name,
3477
+ exhibitors: e.exhibitors.map((e) => e.id)
3478
+ }), setTimeout(() => {
3479
+ this.moveToList(), this.showMap();
3480
+ }, 100);
3481
+ }
3482
+ clickSeminars() {
3483
+ this.clickCategory(this.categoryStore.seminarsCategory);
3484
+ }
3485
+ clickBoothInList(e) {
3486
+ window.__resett && window.__resett(), this.uiState.hoveredBooth = null, this.selectBooth(e), this.moveToList([e]), this.showMap();
3487
+ }
3488
+ clickBoothInList2(e) {
3489
+ window.__resett && window.__resett(), this.uiState.hoveredBooth = null, this.selectBooth(e, !1), window.setTimeout(() => {
3490
+ this.moveToList([e]), this.showMap();
3491
+ }, navigator.userAgent.toLowerCase().indexOf("android") > -1 ? 400 : 50);
3492
+ }
3493
+ clickBooth(e) {
3494
+ var t, n, r, i;
3495
+ let a = this.uiState.details;
3496
+ if (this.uiState.menu = !1, this.uiState.list.type === "sessions" && this.searchStore.selectSearch(), this.uiState.list.type === "speakers" && this.searchStore.selectSearch(), this.uiState.list.type === "tours" && this.searchStore.selectSearch(), this.uiState.list.type === "multi-point-tour" && this.searchStore.selectSearch(), !((t = this.uiState.selectedRoute) != null && t.from && (n = this.uiState.selectedRoute) != null && n.to)) {
3497
+ if ((r = this.uiState.selectedRoute) != null && r.to && !((i = this.uiState.selectedRoute) != null && i.from) && e) {
3498
+ this.routeStore.setStartPoint(e);
3499
+ return;
3500
+ }
3501
+ if (e) this.routeStore.tempToBooth = e;
3502
+ else {
3503
+ this.uiState.details = null, this.fp.hidePathways(), this.uiState.list = {
3504
+ type: "search",
3505
+ text: "",
3506
+ focused: !1
3507
+ }, this.uiState.onBoothClick && this.uiState.onBoothClick({ target: null });
3508
+ return;
3509
+ }
3510
+ if (this.uiState.onBoothClick) {
3511
+ let t = {
3512
+ name: "",
3513
+ description: ""
3514
+ }, n = { target: {
3515
+ ...e,
3516
+ layer: e.layer || t
3517
+ } };
3518
+ this.uiState.onBoothClick(n);
3519
+ }
3520
+ if (e.exhibitors.length === 1 && e instanceof we) {
3521
+ let t = e.exhibitors[0];
3522
+ a === t ? Le(Be.ViewBooth, e.name) : this.heatmapStore.forceTrack = {
3523
+ action: Be.ViewBooth,
3524
+ label: e.name,
3525
+ exhibitor: t
3526
+ }, this.selectExhibitor(t, !1);
3527
+ } else a === e && Le(Be.ViewBooth, e.name), this.selectBooth(e, !1);
3528
+ this.showMap();
3529
+ }
3530
+ }
3531
+ clickExhibitor2(e) {
3532
+ this.selectExhibitor(e, !0), this.showMap();
3533
+ }
3534
+ clickExhibitor(e) {
3535
+ window.setTimeout(() => {
3536
+ this.clickExhibitor2(e);
3537
+ }, navigator.userAgent.toLowerCase().indexOf("android") > -1 ? 400 : 50);
3538
+ }
3539
+ showMap() {
3540
+ this.uiState.overlayPosition === "bottom" && fe && (this.uiState.desiredOverlaySize = "medium");
3541
+ }
3542
+ showOverlay() {
3543
+ this.uiState.overlayPosition === "bottom" && (this.uiState.desiredOverlaySize = "full");
3544
+ }
3545
+ toggleMapOverlay() {
3546
+ this.uiState.overlayPosition === "bottom" && this.uiState.overlaySize === "full" ? this.uiState.desiredOverlaySize = "medium" : this.uiState.overlayPosition === "bottom" && this.uiState.overlaySize !== "full" && (this.uiState.desiredOverlaySize = "full");
3547
+ }
3548
+ moveToList(e) {
3549
+ e = e || this.uiState.listItems;
3550
+ let t = [];
3551
+ e.forEach((e) => {
3552
+ if (e instanceof Me) t.push(...e.booths.filter((e) => e.visible));
3553
+ else if (e instanceof Ae) e.visible && t.push(e);
3554
+ else if (e instanceof te && e.boothId) {
3555
+ let n = this.boothStore.boothById.get(e.boothId);
3556
+ n != null && n.visible && t.push(n);
3557
+ } else e instanceof ae && this.speakerStore.getEventsBySpeaker(e.id).forEach((e) => {
3558
+ if (!e.boothId) return;
3559
+ let n = this.boothStore.boothById.get(e.boothId);
3560
+ n != null && n.visible && t.push(n);
3561
+ });
3562
+ }), this.uiState.moveToBooths = t;
3563
+ }
3564
+ moveToExhibitor(e) {
3565
+ this.moveToList([e]);
3566
+ }
3567
+ changeActiveListIndex(e) {
3568
+ let t = this.uiState.activeListIndex + e;
3569
+ t = Math.max(0, Math.min(this.uiState.listItems.length - 1, t)), this.uiState.activeListIndex = t;
3570
+ }
3571
+ toggleModal(e) {
3572
+ this.uiState.modalActive[e] = !this.uiState.modalActive[e];
3573
+ }
3574
+ openGallery() {
3575
+ this.uiState.galleryActive = !0;
3576
+ }
3577
+ closeGallery() {
3578
+ this.uiState.galleryActive = !1;
3579
+ }
3580
+ openActiveListItem() {
3581
+ let e = this.uiState.listItems[this.uiState.activeListIndex];
3582
+ e && (o.log("Opening", e), e instanceof Me ? this.clickExhibitor(e) : e instanceof oe ? this.clickCategory(e) : e instanceof Ae && this.clickBoothInList2(e));
3583
+ }
3584
+ toggleCategoryFilter() {
3585
+ this.uiState.categoryFilterOpen = !this.uiState.categoryFilterOpen;
3586
+ }
3587
+ applyCategoryFilters(e) {
3588
+ this.uiState.selectedCategoryFilters = e, this.uiState.categoryFilterOpen = !1;
3589
+ }
3590
+ get filteredExhibitors() {
3591
+ return this.uiState.selectedCategoryFilters.length === 0 ? this.exhibitorStore.exhibitors : this.exhibitorStore.exhibitors.filter((e) => this.uiState.selectedCategoryFilters.some((t) => e.categories.some((e) => e.id === t.id)));
3592
+ }
3593
+ selectSessions() {
3594
+ this.uiState.list = {
3595
+ type: "sessions",
3596
+ text: "",
3597
+ focused: !1
3598
+ }, this.uiState.menu = !1, this.uiState.selectedTrack = null, this.searchButtonsStore.setSubButtonId(null), this.searchButtonsStore.subButtonsEnabled && this.searchButtonsStore.showSubButtons("sessions"), m && (this.uiState.desiredOverlaySize = "full");
3599
+ }
3600
+ selectExhibitors() {
3601
+ this.uiState.list = {
3602
+ type: "exhibitors",
3603
+ text: "",
3604
+ focused: !1
3605
+ }, this.uiState.menu = !1, m && (this.uiState.desiredOverlaySize = "full");
3606
+ }
3607
+ selectTours() {
3608
+ this.uiState.list = {
3609
+ type: "tours",
3610
+ text: "",
3611
+ focused: !1
3612
+ }, this.uiState.menu = !1, m && (this.uiState.desiredOverlaySize = "full");
3613
+ }
3614
+ selectSpeakers() {
3615
+ this.uiState.list = {
3616
+ type: "speakers",
3617
+ text: "",
3618
+ focused: !1
3619
+ }, this.uiState.menu = !1, m && (this.uiState.desiredOverlaySize = "full");
3620
+ }
3621
+ selectSpeaker(e, t = !0) {
3622
+ this.speakerStore.selectSpeaker(e, t);
3623
+ }
3624
+ resetFilters() {
3625
+ this.searchButtonsStore.clearAllFilters();
3626
+ }
3627
+ registerShortcutProviders() {
3628
+ this.shortcutRegistry.register(new nn(this)), this.shortcutRegistry.register(new on(this)), this.shortcutRegistry.register(new $t(this));
3629
+ }
3630
+ }, nr = $(Q.prototype, "initialized", [c], {
3631
+ configurable: !0,
3632
+ enumerable: !0,
3633
+ writable: !0,
3634
+ initializer: function() {
3635
+ return !1;
3636
+ }
3637
+ }), rr = $(Q.prototype, "resetCameraFn", [c], {
3638
+ configurable: !0,
3639
+ enumerable: !0,
3640
+ writable: !0,
3641
+ initializer: null
3642
+ }), $(Q.prototype, "setResetCameraFn", [l], Object.getOwnPropertyDescriptor(Q.prototype, "setResetCameraFn"), Q.prototype), $(Q.prototype, "selectExhibitor", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectExhibitor"), Q.prototype), $(Q.prototype, "selectBooth", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectBooth"), Q.prototype), $(Q.prototype, "reset", [l], Object.getOwnPropertyDescriptor(Q.prototype, "reset"), Q.prototype), $(Q.prototype, "selectNone", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectNone"), Q.prototype), $(Q.prototype, "selectBookmarks", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectBookmarks"), Q.prototype), $(Q.prototype, "selectVisited", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectVisited"), Q.prototype), $(Q.prototype, "selectLanguage", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectLanguage"), Q.prototype), $(Q.prototype, "selectCategory", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectCategory"), Q.prototype), $(Q.prototype, "selectEventItem", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectEventItem"), Q.prototype), $(Q.prototype, "selectSearch", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectSearch"), Q.prototype), $(Q.prototype, "clickBookmarks", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickBookmarks"), Q.prototype), $(Q.prototype, "clickVisited", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickVisited"), Q.prototype), $(Q.prototype, "clickLanguage", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickLanguage"), Q.prototype), $(Q.prototype, "clickCategory", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickCategory"), Q.prototype), $(Q.prototype, "clickSeminars", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickSeminars"), Q.prototype), $(Q.prototype, "clickBoothInList", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickBoothInList"), Q.prototype), $(Q.prototype, "clickBoothInList2", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickBoothInList2"), Q.prototype), $(Q.prototype, "clickBooth", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickBooth"), Q.prototype), $(Q.prototype, "clickExhibitor2", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickExhibitor2"), Q.prototype), $(Q.prototype, "clickExhibitor", [l], Object.getOwnPropertyDescriptor(Q.prototype, "clickExhibitor"), Q.prototype), $(Q.prototype, "showMap", [l], Object.getOwnPropertyDescriptor(Q.prototype, "showMap"), Q.prototype), $(Q.prototype, "showOverlay", [l], Object.getOwnPropertyDescriptor(Q.prototype, "showOverlay"), Q.prototype), $(Q.prototype, "toggleMapOverlay", [l], Object.getOwnPropertyDescriptor(Q.prototype, "toggleMapOverlay"), Q.prototype), $(Q.prototype, "moveToList", [l], Object.getOwnPropertyDescriptor(Q.prototype, "moveToList"), Q.prototype), $(Q.prototype, "moveToExhibitor", [l], Object.getOwnPropertyDescriptor(Q.prototype, "moveToExhibitor"), Q.prototype), $(Q.prototype, "changeActiveListIndex", [l], Object.getOwnPropertyDescriptor(Q.prototype, "changeActiveListIndex"), Q.prototype), $(Q.prototype, "toggleModal", [l], Object.getOwnPropertyDescriptor(Q.prototype, "toggleModal"), Q.prototype), $(Q.prototype, "openGallery", [l], Object.getOwnPropertyDescriptor(Q.prototype, "openGallery"), Q.prototype), $(Q.prototype, "closeGallery", [l], Object.getOwnPropertyDescriptor(Q.prototype, "closeGallery"), Q.prototype), $(Q.prototype, "openActiveListItem", [l], Object.getOwnPropertyDescriptor(Q.prototype, "openActiveListItem"), Q.prototype), $(Q.prototype, "toggleCategoryFilter", [l], Object.getOwnPropertyDescriptor(Q.prototype, "toggleCategoryFilter"), Q.prototype), $(Q.prototype, "applyCategoryFilters", [l], Object.getOwnPropertyDescriptor(Q.prototype, "applyCategoryFilters"), Q.prototype), $(Q.prototype, "filteredExhibitors", [s], Object.getOwnPropertyDescriptor(Q.prototype, "filteredExhibitors"), Q.prototype), $(Q.prototype, "selectSessions", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectSessions"), Q.prototype), $(Q.prototype, "selectExhibitors", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectExhibitors"), Q.prototype), $(Q.prototype, "selectTours", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectTours"), Q.prototype), $(Q.prototype, "selectSpeakers", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectSpeakers"), Q.prototype), $(Q.prototype, "selectSpeaker", [l], Object.getOwnPropertyDescriptor(Q.prototype, "selectSpeaker"), Q.prototype), $(Q.prototype, "resetFilters", [l], Object.getOwnPropertyDescriptor(Q.prototype, "resetFilters"), Q.prototype), Q);
3643
+ //#endregion
3644
+ //#region src/store/create-live-plan.ts
3645
+ function or() {
3646
+ let e = new ar();
3647
+ ue(e), a(() => ue(null)), it(e), window.__store = de;
3648
+ }
3649
+ //#endregion
3650
+ export { or as createLivePlan };