@expofp/floorplan 3.2.7 → 3.2.9

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 (98) hide show
  1. package/dist/browser/{CookieConsent-C0WrwOQU.js → CookieConsent-CWY01nS_.js} +1787 -1803
  2. package/dist/browser/{Debug-7KOvbcgu.js → Debug-Ch39-r8o.js} +9 -9
  3. package/dist/browser/{Demo-BTrpOaT8.js → Demo-CA2Dtr9p.js} +11 -11
  4. package/dist/browser/Free-tZoGYbm5.js +63 -0
  5. package/dist/browser/{Gallery-PP-H3fui.js → Gallery-DQ-NTa6R.js} +9 -9
  6. package/dist/browser/{GpsLoader-pif05qaO.js → GpsLoader-Bznt_xLN.js} +14 -14
  7. package/dist/browser/{KioskStore-BmqfGXEW.js → KioskStore-A9vmXOZE.js} +3 -3
  8. package/dist/browser/{Mapbox-BEO3oA1E.js → Mapbox-eDkFWPPi.js} +37 -37
  9. package/dist/browser/{SetKioskMode-BjyRxPem.js → SetKioskMode-AU-W_Z-f.js} +17 -17
  10. package/dist/browser/{ShowKiosk-DrNFPO0o.js → ShowKiosk-CLuMqmTz.js} +10 -10
  11. package/dist/browser/{ThreeComponent-CkTRDPj-.js → ThreeComponent-DsCG_vs5.js} +156 -156
  12. package/dist/browser/{TouchHand-BX9ElW6V.js → TouchHand-B8RiBF7o.js} +4 -4
  13. package/dist/browser/{ViewerMenuPanel-BpxIaNdU.js → ViewerMenuPanel-DZ5vz7rp.js} +13 -13
  14. package/dist/browser/{add-debug-secret-listener-BV3Vlx9C.js → add-debug-secret-listener-qEasEfwK.js} +1 -1
  15. package/dist/browser/{boolean-editor-DfkvcIH0.js → boolean-editor-KFTxmdzj.js} +10 -10
  16. package/dist/browser/{bootIntercom-XKKrQyNd.js → bootIntercom-CNQeFaoJ.js} +2 -2
  17. package/dist/browser/{box-Cy-U95_G.js → box-DutTTrem.js} +5 -5
  18. package/dist/browser/{browser-oUjLaYcl.js → browser-CPxDQEuR.js} +2 -2
  19. package/dist/browser/bundle.json +53 -53
  20. package/dist/browser/{classnames-DpaK9tQ8.js → classnames-Ik0tGjEU.js} +2 -2
  21. package/dist/browser/{client-smunwL9U.js → client-nXMugISE.js} +4 -4
  22. package/dist/browser/{data-BVaCNE1I.js → data-CydM_gUZ.js} +44 -44
  23. package/dist/browser/{debug-overlay-CYWt6Xv8.js → debug-overlay-BSe6nuZ0.js} +11 -11
  24. package/dist/browser/{debug-ui-D63K4FZz.js → debug-ui-2Bawq2Zx.js} +6 -6
  25. package/dist/browser/{dist-irw0I8ne.js → dist-4or7mRbG.js} +5 -5
  26. package/dist/browser/{dist-BU_A8R-K.js → dist-CAmPggJH.js} +6 -6
  27. package/dist/browser/{dist-XBFUxmAT.js → dist-KO_kG62p.js} +3 -3
  28. package/dist/browser/{efp-debug-init-CPGmIrNj.js → efp-debug-init-B-QTb8ay.js} +2 -2
  29. package/dist/browser/{enum-editor-B_JVlLVN.js → enum-editor-_Giaelpg.js} +11 -11
  30. package/dist/browser/{exports-C5NN5UxX.js → exports-M1edBIa9.js} +1 -1
  31. package/dist/browser/{favicon-B0nAd4Pr.js → favicon-D-Go_G7E.js} +1 -1
  32. package/dist/browser/{fetch-retry.umd-DBq0GieJ.js → fetch-retry.umd-Bc9GSOuq.js} +2 -2
  33. package/dist/browser/{flex-DOhgUp1k.js → flex-BUqhIIGb.js} +6 -6
  34. package/dist/browser/{flex.props-D8JHoC5B.js → flex.props-BU9Dksr-.js} +2 -2
  35. package/dist/browser/{floorplan.loader-Cme4mipd.js → floorplan.loader-D-OUcFuZ.js} +9 -9
  36. package/dist/browser/{floorplan.ready-C25lQjgP.js → floorplan.ready-BWHY8wbf.js} +12 -12
  37. package/dist/browser/{fuse-D1o3bI0m.js → fuse-D01t_ZBu.js} +2 -2
  38. package/dist/browser/index.js +13 -13
  39. package/dist/browser/{is-debug-D9BzIDdu.js → is-debug-C0ORuwBz.js} +3 -3
  40. package/dist/browser/{jsx-runtime-C0zFKVvF.js → jsx-runtime-Cd4pI6Dj.js} +2 -2
  41. package/dist/browser/{lib-D2sBqUIY.js → lib-BjLS1Qen.js} +4 -4
  42. package/dist/browser/{main-GLYY8zv3.js → main-CBzEenbU.js} +1 -1
  43. package/dist/browser/{mobx-D5pYBM85.js → mobx-h7HhZjCg.js} +4 -4
  44. package/dist/browser/{particles.min-egXyIDIV.js → particles.min-V6djuJnx.js} +2 -2
  45. package/dist/browser/{prop-types-xhHzBbvi.js → prop-types-8DrggUgf.js} +2 -2
  46. package/dist/browser/{react-CanbjT5I.js → react-Dd6qt83k.js} +2 -2
  47. package/dist/browser/{react-dom-wNBYs_H5.js → react-dom-aRO55sP1.js} +3 -3
  48. package/dist/browser/{reset-all-settings-5oUUws5J.js → reset-all-settings-N7kAP_D7.js} +7 -7
  49. package/dist/browser/{rolldown-runtime-BKpHzyBK.js → rolldown-runtime-wY3V7GBs.js} +1 -1
  50. package/dist/browser/{settings-D5qqIejY.js → settings-D7A9piKA.js} +2 -2
  51. package/dist/browser/{settings-item-Blm7DAEt.js → settings-item-BVKYXscM.js} +6 -6
  52. package/dist/browser/{store-CM7rJpRZ.js → store-D670bJ4A.js} +4296 -4396
  53. package/dist/browser/{string-editor-CLdOCbq2.js → string-editor-Cg7jqVa9.js} +8 -8
  54. package/dist/browser/{theme-App4ywLP.js → theme-4dAp6vO1.js} +8 -8
  55. package/dist/browser/{ui-BN6m_5pK.js → ui-BzQCWHO0.js} +8 -8
  56. package/dist/esm/components/Map/Map.js +1 -1
  57. package/dist/esm/components/Map/drawing/config/config-all.js +1 -1
  58. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  59. package/dist/esm/components/SearchBox.js +1 -1
  60. package/dist/esm/load.js +1 -1
  61. package/dist/esm/services/routing.js +1 -1
  62. package/dist/esm/store/BoothStore.d.ts +0 -1
  63. package/dist/esm/store/BoothStore.js +1 -1
  64. package/dist/esm/store/RouteStore.js +1 -1
  65. package/dist/esm/store/UIState.js +1 -1
  66. package/dist/esm/store/init/init-booths.js +1 -1
  67. package/dist/esm/tools/track-event.js +1 -1
  68. package/dist/esm/utils/customCommands.d.ts +1 -1
  69. package/dist/esm/utils/customCommands.js +1 -1
  70. package/dist/esm/wayfinding/adapters/boothToEndpoint.d.ts +2 -6
  71. package/dist/esm/wayfinding/adapters/boothToEndpoint.js +1 -1
  72. package/dist/esm/wayfinding/adapters/index.d.ts +0 -1
  73. package/dist/esm/wayfinding/adapters/index.js +1 -1
  74. package/dist/esm/wayfinding/bindMobxReactions.js +1 -1
  75. package/dist/esm/wayfinding/core/createWayfindingEngine.d.ts +3 -3
  76. package/dist/esm/wayfinding/core/geometry/pointInPolygon.d.ts +11 -0
  77. package/dist/esm/wayfinding/core/geometry/pointInPolygon.js +1 -0
  78. package/dist/esm/wayfinding/core/index.d.ts +1 -2
  79. package/dist/esm/wayfinding/core/index.js +1 -1
  80. package/dist/esm/wayfinding/core/position/snapToRoute.js +1 -1
  81. package/dist/esm/wayfinding/core/rendering/computeTransitionPoints.js +1 -1
  82. package/dist/esm/wayfinding/core/routing/findNearestGraphPoint.d.ts +5 -20
  83. package/dist/esm/wayfinding/core/routing/findNearestGraphPoint.js +1 -1
  84. package/dist/esm/wayfinding/core/routing/resolveWaypointCandidates.d.ts +3 -6
  85. package/dist/esm/wayfinding/core/routing/resolveWaypointCandidates.js +1 -1
  86. package/dist/esm/wayfinding/core/types.d.ts +9 -26
  87. package/dist/esm/wayfinding/runtime/createWayfindingRuntime.js +1 -1
  88. package/dist/esm/wayfinding/runtime/types.d.ts +1 -1
  89. package/package.json +3 -3
  90. package/dist/browser/Free-1JPcV1Tq.js +0 -63
  91. package/dist/esm/components/Map/drawing/config/config-booth-scaled.d.ts +0 -14
  92. package/dist/esm/components/Map/drawing/config/config-booth-scaled.js +0 -1
  93. package/dist/esm/components/Map/drawing/config/config-yah.d.ts +0 -2
  94. package/dist/esm/components/Map/drawing/config/config-yah.js +0 -1
  95. package/dist/esm/utils/yah.d.ts +0 -8
  96. package/dist/esm/utils/yah.js +0 -1
  97. package/dist/esm/wayfinding/adapters/boothToWaypoint.d.ts +0 -12
  98. package/dist/esm/wayfinding/adapters/boothToWaypoint.js +0 -1
@@ -1,7 +1,4 @@
1
- import type { GraphInstance, RoutePoint, RouteWaypoint } from "../types";
2
- /**
3
- * Resolves a waypoint to candidate graph points.
4
- * Uses rect-based search if the waypoint has a rect, otherwise falls back to nearest-point lookup.
5
- */
6
- export declare function resolveWaypointCandidates(graph: GraphInstance, waypoint: RouteWaypoint): RoutePoint[];
1
+ import type { GraphInstance, RouteEndpoint, RoutePoint } from "../types";
2
+ /** Resolves a route endpoint to candidate graph points. */
3
+ export declare function resolveWaypointCandidates(graph: GraphInstance, endpoint: RouteEndpoint): RoutePoint[];
7
4
  //# sourceMappingURL=resolveWaypointCandidates.d.ts.map
@@ -1 +1 @@
1
- import{findGraphPointsInRect as n,findNearestGraphPoint as a}from"./findNearestGraphPoint";export function resolveWaypointCandidates(r,e){if(e.rect)return n(r.dataSource,e.rect,e.layer);const t=a(r,{x:e.x,y:e.y,layer:e.layer});return t?[t]:[]}
1
+ import{findGraphPointsInPolygon as a,findNearestGraphPoint as e}from"./findNearestGraphPoint";export function resolveWaypointCandidates(o,r){if(r.bounds?.length)return a(o.dataSource,r.bounds,r.layer);const t=e(o.dataSource,r);return t?[t]:[]}
@@ -1,4 +1,7 @@
1
- import { Rect as SimpleGeometryRect } from "simple-geometry";
1
+ export type PolygonVertex = {
2
+ readonly x: number;
3
+ readonly y: number;
4
+ };
2
5
  export interface RoutePoint {
3
6
  readonly x: number;
4
7
  readonly y: number;
@@ -61,18 +64,6 @@ export interface RouteResult {
61
64
  readonly lines: RouteLine[];
62
65
  readonly totalDistance: number;
63
66
  }
64
- export interface RouteWaypoint {
65
- readonly x: number;
66
- readonly y: number;
67
- readonly layer?: string;
68
- /**
69
- * Optional containment rect for booth-based graph point resolution.
70
- * When set, resolveWaypointCandidates finds all graph endpoints inside this rect
71
- * instead of falling back to nearest-point lookup.
72
- * Populated by boothToWaypoint adapter. Not part of the public module contract.
73
- */
74
- readonly rect?: SimpleGeometryRect;
75
- }
76
67
  /** Minimal position interface — replaces CurrentPosition class dependency in core. */
77
68
  export interface PositionPoint {
78
69
  readonly x: number;
@@ -89,20 +80,12 @@ export type RouteSnapResult = {
89
80
  distance: number;
90
81
  };
91
82
  /**
92
- * An endpoint of a route — anchor coordinates on a layer, optionally with a
93
- * polygon describing the surrounding region (for booths and similar areas).
94
- * Absence of `bounds` means the endpoint is a single off-graph point (e.g.
95
- * a kiosk) and the runtime will draw a dotted trail to the nearest graph
96
- * anchor.
83
+ * Route endpoint: anchor on a layer, with optional perimeter polygon (booth bounds).
84
+ * With `bounds` → engine picks the optimal graph node inside the polygon.
85
+ * Without `bounds` off-graph point (e.g. kiosk); engine snaps to nearest graph anchor.
97
86
  */
98
- export interface RouteEndpoint {
99
- readonly x: number;
100
- readonly y: number;
101
- readonly layer: string;
102
- readonly bounds?: ReadonlyArray<{
103
- readonly x: number;
104
- readonly y: number;
105
- }>;
87
+ export interface RouteEndpoint extends RoutePoint {
88
+ readonly bounds?: ReadonlyArray<PolygonVertex>;
106
89
  }
107
90
  export type SnapToRouteConfig = {
108
91
  snapThreshold: number;
@@ -1 +1 @@
1
- import{getRouteLength as B,snapToRoute as G}from"../core";import{getRouteLines as H}from"./getRouteLines";import{createEndpointView as J}from"./endpointView";import{createPositionTrailView as K}from"./positionTrailView";import{createRouteLinesView as N}from"./routeLinesView";import{computeRouteRenderData as O}from"./routeRenderData";import{computeRouteUpdate as Q}from"./routeUpdate";import{createTrailView as X}from"./trailView";import{createTransitionView as Y}from"./transitionView";const Z=g=>g.flatMap(i=>[i.p0,i.p1]);export function createWayfindingRuntime({engine:g,renderer:i,iconProvider:h,floorContext:s,layers:a,snapThreshold:b,onTransitionClick:E,onRouteUpdate:d,onRouteDistance:m}){const L=J({renderer:i,iconProvider:h,floorContext:s,layer:a.points}),y=Y({renderer:i,iconProvider:h,floorContext:s,onTransitionClick:E,layer:a.points}),M=X({renderer:i,iconProvider:h,floorContext:s,layer:a.trail}),u=K({renderer:i,iconProvider:h,floorContext:s,trails:M,iconLayer:a.points,snapThreshold:b}),F=N({renderer:i,linesLayer:a.lines,animatedLinesLayer:a.linesAnimated});let o=[],e=null,r=null,l=null,c=0;function P(){return s.showAllFloors()?null:s.getActiveFloor()}function A(){const t=P();return t===null?o.filter(n=>!n.virtual):o.filter(n=>n.p0.layer===t&&!n.virtual)}function R(){if(!e||!r)return null;const t=A();return t.length?{from:e,to:r,routePoints:Z(t),visibleLines:t}:null}function f(t,n=!1){if(!e||!r)return;const p=O({routeLines:o,currentRouteLayer:P(),from:e,to:r,snap:t});F.draw(p,n),c=p.distance}function v(){if(!e||!r)return;const t=R();if(!t){L.hide(),y.clear(),u.refreshTrail(null),f();return}L.place(e,r,t.routePoints),y.place(o),f(),u.refreshTrail(t)}function T(){if(!l||!e||!r)return;const t=o.filter(p=>!p.virtual);if(!t.length)return;const n=R();return n?u.applyToRoute(l,n,t):(u.refreshTrail(null),G({x:l.x,y:l.y,z:l.layer||null},t,{snapThreshold:b,from:e,to:r}))}function I(){const t=Q(o,A());return d(t.lines,t.bounds),t}function S({from:t,to:n,waypoints:p,accessible:k}){const z=H({engine:g,from:t,to:n,waypoints:p,accessible:k});if(!z.length){V();return}e=t,r=n,o=z,v();const{lines:q}=I(),w=T();w&&f(w,!0),m(w?c:B(q)),i.flush()}function U(t){if(l=t,!t){u.hideIcon(),u.refreshTrail(R()),f(),m(c),i.flush();return}u.placeIcon(t);const n=T();n&&f(n,!0),m(c),i.flush()}function W(){v();const t=T();t&&f(t,!0),o.length&&I(),m(c),i.flush()}function V(){o=[],e=null,r=null,c=0,L.hide(),y.clear(),u.clearTrail(),F.clear(),d([],null),m(0),i.flush()}function j(){V(),l=null,i.destroy()}return{setRoute:S,onPositionChanged:U,onFloorChanged:W,clearRoute:V,destroy:j}}
1
+ import{getRouteLength as B,snapToRoute as G}from"../core";import{getRouteLines as H}from"./getRouteLines";import{createEndpointView as J}from"./endpointView";import{createPositionTrailView as K}from"./positionTrailView";import{createRouteLinesView as N}from"./routeLinesView";import{computeRouteRenderData as O}from"./routeRenderData";import{computeRouteUpdate as Q}from"./routeUpdate";import{createTrailView as X}from"./trailView";import{createTransitionView as Y}from"./transitionView";const Z=g=>g.flatMap(e=>[e.p0,e.p1]);export function createWayfindingRuntime({engine:g,renderer:e,iconProvider:h,floorContext:s,layers:a,snapThreshold:b,onTransitionClick:E,onRouteUpdate:d,onRouteDistance:m}){const L=J({renderer:e,iconProvider:h,floorContext:s,layer:a.points}),y=Y({renderer:e,iconProvider:h,floorContext:s,onTransitionClick:E,layer:a.points}),M=X({renderer:e,iconProvider:h,floorContext:s,layer:a.trail}),o=K({renderer:e,iconProvider:h,floorContext:s,trails:M,iconLayer:a.points,snapThreshold:b}),F=N({renderer:e,linesLayer:a.lines,animatedLinesLayer:a.linesAnimated});let u=[],i=null,r=null,l=null,c=0;function P(){return s.showAllFloors()?null:s.getActiveFloor()}function A(){const t=P();return t===null?u.filter(n=>!n.virtual):u.filter(n=>n.p0.layer===t&&!n.virtual)}function R(){if(!i||!r)return null;const t=A();return t.length?{from:i,to:r,routePoints:Z(t),visibleLines:t}:null}function f(t,n=!1){if(!i||!r)return;const p=O({routeLines:u,currentRouteLayer:P(),from:i,to:r,snap:t});F.draw(p,n),c=p.distance}function v(){if(!i||!r)return;const t=R();if(!t){L.hide(),y.clear(),o.refreshTrail(null),f();return}L.place(i,r,t.routePoints),y.place(u),f(),o.refreshTrail(t)}function T(){if(!l||!i||!r)return;const t=u.filter(p=>!p.virtual);if(!t.length)return;const n=R();return n?o.applyToRoute(l,n,t):(o.refreshTrail(null),G({x:l.x,y:l.y,z:l.layer||null},t,{snapThreshold:b,from:i,to:r}))}function I(){const t=Q(u,A());return d(t.lines,t.bounds),t}function S({from:t,to:n,waypoints:p,accessible:k}){const z=H({engine:g,from:t,to:n,waypoints:p,accessible:k});if(!z.length)return V(),!1;i=t,r=n,u=z,v();const{lines:q}=I(),w=T();return w&&f(w,!0),m(w?c:B(q)),e.flush(),!0}function U(t){if(l=t,!t){o.hideIcon(),o.refreshTrail(R()),f(),m(c),e.flush();return}o.placeIcon(t);const n=T();n&&f(n,!0),m(c),e.flush()}function W(){v();const t=T();t&&f(t,!0),u.length&&I(),m(c),e.flush()}function V(){u=[],i=null,r=null,c=0,L.hide(),y.clear(),o.clearTrail(),F.clear(),d([],null),m(0),e.flush()}function j(){V(),l=null,e.destroy()}return{setRoute:S,onPositionChanged:U,onFloorChanged:W,clearRoute:V,destroy:j}}
@@ -26,7 +26,7 @@ export interface WayfindingRuntime {
26
26
  * Build (or update) the active route. Places endpoint/transition/trail icons
27
27
  * and fires `onRouteUpdate` + `onRouteDistance` callbacks.
28
28
  */
29
- setRoute(input: SetRouteInput): void;
29
+ setRoute(input: SetRouteInput): boolean;
30
30
  /**
31
31
  * Notify the runtime that the user position changed. `null` hides the position icon and clears
32
32
  * the off-route trail. Dot vs arrow variant is derived from `position.angle` internally.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/floorplan",
3
- "version": "3.2.7",
3
+ "version": "3.2.9",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/expofp/efp-app.git",
@@ -76,8 +76,8 @@
76
76
  "twgl.js": "^4.14.0",
77
77
  "uuid": "^9.0.1",
78
78
  "zod": "4.3.5",
79
- "@expofp/debug": "3.2.7",
80
- "@expofp/resolve": "3.2.7"
79
+ "@expofp/debug": "3.2.9",
80
+ "@expofp/resolve": "3.2.9"
81
81
  },
82
82
  "devDependencies": {
83
83
  "@babel/plugin-proposal-decorators": "^7.29.0",
@@ -1,63 +0,0 @@
1
- function __vite_inject_css__(css, id, forceLightDom){ if (typeof document==='undefined') return; var shadow=!forceLightDom&&typeof window!=='undefined'&&window.__efpShadowDOMStyleParent; var parent=shadow||document.head; var s=document.createElement('style'); s.setAttribute('data-chunk-style', id); s.appendChild(document.createTextNode(css)); parent.appendChild(s);}
2
- (function() {
3
- try {
4
- var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
5
- e.SENTRY_RELEASE = { id: "3.2.7" };
6
- var t = new e.Error().stack;
7
- t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "9ad5d0de-4572-49ad-88b4-4786c4730563", e._sentryDebugIdIdentifier = "sentry-dbid-9ad5d0de-4572-49ad-88b4-4786c4730563");
8
- } catch {}
9
- })();
10
- import { r as e } from "./rolldown-runtime-BKpHzyBK.js";
11
- import { t } from "./react-CanbjT5I.js";
12
- import { t as n } from "./jsx-runtime-C0zFKVvF.js";
13
- import { u as r } from "./is-debug-D9BzIDdu.js";
14
- import { t as i } from "./classnames-DpaK9tQ8.js";
15
- import { er as a, l as o, s, tr as c, u as l } from "./store-CM7rJpRZ.js";
16
- import { n as u } from "./mobx-D5pYBM85.js";
17
- t();
18
- var d = /* @__PURE__ */ e(i(), 1), f = n();
19
- function p() {
20
- let e = a(() => ({
21
- hidden: !0,
22
- get classes() {
23
- return (0, d.default)("free", { hidden: this.hidden });
24
- }
25
- }));
26
- return u(() => {
27
- s.freeBannerDismissed || window.setTimeout(() => {
28
- e.hidden = !1;
29
- }, 2e3);
30
- }), c(() => /* @__PURE__ */ (0, f.jsx)("div", {
31
- className: e.classes,
32
- children: /* @__PURE__ */ (0, f.jsxs)("section", { children: [/* @__PURE__ */ (0, f.jsx)("div", {
33
- className: "free__message",
34
- children: /* @__PURE__ */ (0, f.jsxs)("span", { children: [
35
- r("Create a free floor plan at"),
36
- "\xA0",
37
- /* @__PURE__ */ (0, f.jsx)("a", {
38
- href: o(),
39
- target: "_blank",
40
- rel: "noopener noreferrer",
41
- children: "ExpoFP.com"
42
- })
43
- ] })
44
- }), /* @__PURE__ */ (0, f.jsx)("button", {
45
- type: "button",
46
- className: "free__dismiss",
47
- onClick: t,
48
- "aria-label": r("Dismiss"),
49
- children: /* @__PURE__ */ (0, f.jsx)("i", {
50
- className: "icon-close",
51
- "aria-hidden": "true"
52
- })
53
- })] })
54
- }));
55
- function t() {
56
- e.hidden = !0, l(sessionStorage), s.freeBannerDismissed = !0;
57
- }
58
- }
59
- //#endregion
60
- export { p as default };
61
-
62
- ;/* vite-per-chunk-css */
63
- __vite_inject_css__(".free{opacity:1;background:linear-gradient(90deg,#e5175c,#5c17e5);justify-content:center;width:100%;min-height:2.5rem;transition:all .5s;display:flex;position:absolute;top:0}.free>section{-webkit-user-select:none;user-select:none;padding:.2rem .5rem;font-size:.8rem;display:flex}.free__message{color:#fff;align-items:center;display:flex}.free__message a{color:#fff;text-decoration:underline}.free__dismiss{opacity:.8;color:#fff;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.free__dismiss:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.5rem}.free__dismiss:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.5rem}.free__dismiss:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.5rem}.free__dismiss:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.5rem}.free__dismiss:hover{opacity:1}@media print{.free__dismiss{display:none}}@media (min-width:768px){.free{min-height:3.25rem}.free>section{padding:.5rem}.free .free__message{color:#ffffffe6;font-size:1.5rem;font-weight:300}.free .free__dismiss{font-size:1.5rem}}.free.hidden{transform:translateY(-100%)}\n/*$vite$:1*/", "Free.css", false);
@@ -1,14 +0,0 @@
1
- import { Booth } from "../../../../store/BoothStore";
2
- import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
3
- import { PathInfo } from "../../../../data/Data";
4
- import { RendererService } from "../../../../renderer";
5
- import { ImageDef, ImageSource } from "@expofp/renderer";
6
- export declare function canvasFromPath(paths: PathInfo[], scale: number | undefined, suffix: string): ImageSource;
7
- export default function configScaledBooth(rendererService: RendererService, booth: Booth): ScaledBoothDrawer;
8
- declare class ScaledBoothDrawer extends BoothDrawerBaseWithoutPainter {
9
- protected shape: ImageDef;
10
- constructor(rendererService: RendererService, booth: Booth);
11
- getShape(): ImageDef[];
12
- }
13
- export {};
14
- //# sourceMappingURL=config-booth-scaled.d.ts.map
@@ -1 +0,0 @@
1
- import d,{layersStore as f}from"../../../../store";import{LayersMode as h}from"../../../../store/LayerStore";import{BoothDrawerBaseWithoutPainter as u}from"./BoothDrawerBase";import{getTrianglesFromFpPaths as g}from"../../../../data/svg";import{reaction as p}from"mobx";import{Rect as E}from"./Rect";import{createImageDef as y}from"../../../../renderer";const l=document.createElement("canvas"),a=l.getContext("2d");export function canvasFromPath(m,s=.5,t){var e=[Number.MAX_VALUE,Number.MAX_VALUE,Number.MIN_VALUE,Number.MIN_VALUE];m.forEach(c=>{c.triangles=g(c.index,t),c.triangles.forEach(r=>{r.forEach(o=>{o[0]<e[0]?e[0]=o[0]:o[0]>e[2]&&(e[2]=o[0]),o[1]<e[1]?e[1]=o[1]:o[1]>e[3]&&(e[3]=o[1])})})});const n=e[0],i=e[1];return a.scale(s,s),m.forEach(c=>{a.beginPath(),a.fillStyle=c.color,c.triangles.forEach(r=>{a.moveTo(r[0][0]-n,r[0][1]-i),a.lineTo(r[1][0]-n,r[1][1]-i),a.lineTo(r[2][0]-n,r[2][1]-i),a.lineTo(r[0][0]-n,r[0][1]-i)}),a.fill()}),l}export default function x(m,s){return new L(m,s)}class L extends u{shape;constructor(s,t){super(t);const e=E.fromCoreRect(t.rect,t.rotate),n=canvasFromPath(t.paths,.5,d.layerStore.mode!==h.Default?t.layer.name:"");this.shape=y(n,e,{hidden:!0,dim:!0}),p(()=>[this.booth.skipDim,f.layersLoaded],()=>{f.layersLoaded&&(this.shape.dim=this.booth.skipDim?!1:void 0,s.update(this.shape))})}getShape(){return[this.shape]}}
@@ -1,2 +0,0 @@
1
- export default function configYah(): () => void;
2
- //# sourceMappingURL=config-yah.d.ts.map
@@ -1 +0,0 @@
1
- import{Point as n}from"simple-geometry";import r from"../../../../store";import{getYah as s}from"../../../../utils/yah";export default function a(){let t=s();const e=window.location.search.length>1?decodeURIComponent(window.location.search.substring(1)):"";if(!t&&e.startsWith("route")){const o=e.split(":").find(h=>h.startsWith("yah_"));o&&(t=o)}const i=Array.isArray(t)||!1;return r.routeStore.defaultFrom=i?r.boothStore.getBoothAtPoint(new n(t[0],t[1])):r.boothStore.booths.find(o=>o.name===t),r.boothStore.booths.filter(o=>o.yah).forEach(o=>r.boothStore.booths.splice(r.boothStore.booths.indexOf(o),1)),()=>{}}
@@ -1,8 +0,0 @@
1
- import type { BoothBase } from "../store/BoothStore";
2
- export declare const yahKey = "__yah";
3
- export declare function setYah(value: string): void;
4
- export declare function removeYah(): void;
5
- export declare function isYahBooth(booth: BoothBase): boolean;
6
- export declare function getYah(): [number, number, number] | string;
7
- export declare function getRawYah(): string | null;
8
- //# sourceMappingURL=yah.d.ts.map
@@ -1 +0,0 @@
1
- import{isLocalStorageAvailable as e}from"./localStorage";export const yahKey="__yah";export function setYah(t){e&&localStorage.setItem(yahKey,t)}export function removeYah(){e&&localStorage.removeItem(yahKey)}export function isYahBooth(t){return/^yah_/i.test(t.name)||/^You\s+are\s+here$/i.test(t.title?.trim())}export function getYah(){if(e&&localStorage.getItem(yahKey)){const t=localStorage.getItem(yahKey).split(",");if(t.length===3)return[parseFloat(t[0]),parseFloat(t[1]),parseFloat(t[2])];if(t.length===1)return t[0]}}export function getRawYah(){return localStorage.getItem(yahKey)}
@@ -1,12 +0,0 @@
1
- import type { Booth } from "../../store/BoothStore";
2
- import type { RouteWaypoint } from "../core";
3
- /**
4
- * Converts a MobX Booth entity to a framework-free RouteWaypoint.
5
- *
6
- * This adapter is exported as a public API for current consumers (RouteStore,
7
- * config-wf.ts). In Phase 7, it will become an internal detail of
8
- * MobxStateAdapter — the Booth→RouteWaypoint conversion will happen inside
9
- * the state port, and callers will work with RouteWaypoint directly.
10
- */
11
- export declare function boothToWaypoint(booth: Booth): RouteWaypoint;
12
- //# sourceMappingURL=boothToWaypoint.d.ts.map
@@ -1 +0,0 @@
1
- import{Point as t,Rect as c}from"simple-geometry";import n from"../../core/Polygon";export function boothToWaypoint(r){const e=n.fromRect(r.rect).rotate(r.rotate,r.rect.cx,r.rect.cy);return{x:r.rect.cx,y:r.rect.cy,layer:r.layer?.name,rect:new c(new t(e.x1,e.y1),new t(e.x2,e.y2),new t(e.x3,e.y3),new t(e.x4,e.y4))}}