@eyeon/map 2.0.12 → 2.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/assets/MapViewer.css +1 -1
  2. package/dist/assets/index.css +1 -1
  3. package/dist/chunks/MapViewer.js +2486 -2055
  4. package/dist/chunks/MapViewer.js.map +1 -1
  5. package/dist/chunks/stacking.js +962 -782
  6. package/dist/chunks/stacking.js.map +1 -1
  7. package/dist/chunks/wheelZoom.js +27 -27
  8. package/dist/core/currentLocation.d.ts +15 -0
  9. package/dist/core/currentLocation.d.ts.map +1 -0
  10. package/dist/core/hostChrome.d.ts +9 -1
  11. package/dist/core/hostChrome.d.ts.map +1 -1
  12. package/dist/core/index.d.ts +3 -0
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +144 -130
  15. package/dist/core/publicShapes.d.ts +18 -0
  16. package/dist/core/publicShapes.d.ts.map +1 -0
  17. package/dist/core/publish/index.d.ts.map +1 -1
  18. package/dist/core/types.d.ts +12 -1
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/core/websiteModal.d.ts +53 -0
  21. package/dist/core/websiteModal.d.ts.map +1 -0
  22. package/dist/editor/index.css +239 -48
  23. package/dist/editor/index.js +2215 -2291
  24. package/dist/editor/index.js.map +1 -1
  25. package/dist/editor/panels/formRows.d.ts.map +1 -1
  26. package/dist/specialIcons.d.ts +2 -2
  27. package/dist/viewer/MapViewer.d.ts +2 -0
  28. package/dist/viewer/MapViewer.d.ts.map +1 -1
  29. package/dist/viewer/camera.d.ts +10 -1
  30. package/dist/viewer/camera.d.ts.map +1 -1
  31. package/dist/viewer/components/LevelMeshes.d.ts +6 -2
  32. package/dist/viewer/components/LevelMeshes.d.ts.map +1 -1
  33. package/dist/viewer/components/MapScene.d.ts +7 -2
  34. package/dist/viewer/components/MapScene.d.ts.map +1 -1
  35. package/dist/viewer/components/RouteLine.d.ts +25 -4
  36. package/dist/viewer/components/RouteLine.d.ts.map +1 -1
  37. package/dist/viewer/fetchWebsiteRetailers.d.ts +3 -0
  38. package/dist/viewer/fetchWebsiteRetailers.d.ts.map +1 -0
  39. package/dist/viewer/index.css +227 -0
  40. package/dist/viewer/index.js +6 -6
  41. package/dist/viewer/orbitWheelZoom.d.ts +12 -0
  42. package/dist/viewer/orbitWheelZoom.d.ts.map +1 -0
  43. package/dist/viewer/ui/WebsiteInfoModal.d.ts +10 -0
  44. package/dist/viewer/ui/WebsiteInfoModal.d.ts.map +1 -0
  45. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
- import { aU as M, ax as _, aw as b, ar as L, az as $, b5 as N, d as x, g as T, aK as S, a6 as y, aZ as k, aX as W } from "./stacking.js";
1
+ import { aZ as M, aA as b, az as _, au as L, aC as $, ba as N, d as x, g as O, aO as S, a6 as y, b2 as k, b0 as T } from "./stacking.js";
2
2
  function H(e, u, r) {
3
3
  var o, i, a, l;
4
4
  const s = M(e), t = [];
5
5
  for (const n of s.elements) {
6
- if (!n.d || n.interactive || u != null && u.has(n.id) || /^parking[-_]?lines?(?:[-_]|$)/i.test(n.id) || n.id.toLowerCase().startsWith("route-path") || _(n.id) || b(n.id) || L(n.id) || $(n.id)) continue;
6
+ if (!n.d || n.interactive || u != null && u.has(n.id) || /^parking[-_]?lines?(?:[-_]|$)/i.test(n.id) || n.id.toLowerCase().startsWith("route-path") || b(n.id) || _(n.id) || L(n.id) || $(n.id)) continue;
7
7
  const d = N(n.id, r), m = (d == null ? void 0 : d.fill) ?? ((o = n.style) == null ? void 0 : o.fill), I = (d == null ? void 0 : d.stroke) ?? ((i = n.style) == null ? void 0 : i.stroke), h = (d == null ? void 0 : d.strokeWidth) ?? ((a = n.style) == null ? void 0 : a.strokeWidth);
8
8
  t.push({
9
9
  id: n.id,
@@ -16,7 +16,7 @@ function H(e, u, r) {
16
16
  }
17
17
  return t;
18
18
  }
19
- function F(e, u, r, s = x) {
19
+ function W(e, u, r, s = x) {
20
20
  const t = e.filter((n) => r.includes(n.id));
21
21
  if (t.length < 2) return null;
22
22
  const o = t.reduce((n, d) => d.id < n.id ? d : n), i = [];
@@ -38,7 +38,7 @@ function F(e, u, r, s = x) {
38
38
  rewiredEdgeIds: l
39
39
  };
40
40
  }
41
- function O(e, u = x) {
41
+ function F(e, u = x) {
42
42
  const r = [], s = /* @__PURE__ */ new Set();
43
43
  for (let t = 0; t < e.length; t++) {
44
44
  if (s.has(e[t].id)) continue;
@@ -49,10 +49,10 @@ function O(e, u = x) {
49
49
  }
50
50
  return r;
51
51
  }
52
- function D(e, u, r = x) {
52
+ function C(e, u, r = x) {
53
53
  const s = e.slice(), t = u.map((n) => ({ ...n })), o = /* @__PURE__ */ new Set();
54
- for (const n of O(s, r)) {
55
- const d = F(s, t, n, r);
54
+ for (const n of F(s, r)) {
55
+ const d = W(s, t, n, r);
56
56
  if (d)
57
57
  for (const m of d.removedAnchorIds) o.add(m);
58
58
  }
@@ -64,7 +64,7 @@ function D(e, u, r = x) {
64
64
  }
65
65
  return { anchors: i, edges: l };
66
66
  }
67
- function U(e, u, r, s = x) {
67
+ function V(e, u, r, s = x) {
68
68
  let t = null;
69
69
  for (const i of u) {
70
70
  const a = S(e, i);
@@ -83,7 +83,7 @@ function U(e, u, r, s = x) {
83
83
  }
84
84
  };
85
85
  }
86
- function V(e, u, r, s) {
86
+ function Y(e, u, r, s) {
87
87
  if (r.length === 0) return null;
88
88
  const t = r.flat();
89
89
  if (t.length === 0) return null;
@@ -101,7 +101,7 @@ function V(e, u, r, s) {
101
101
  connectorId: null
102
102
  };
103
103
  }
104
- function X(e, u, r = 20) {
104
+ function U(e, u, r = 20) {
105
105
  if (e.length === 0)
106
106
  return { anchors: [], edges: [] };
107
107
  let s = 1 / 0, t = 1 / 0, o = -1 / 0, i = -1 / 0;
@@ -134,7 +134,7 @@ function X(e, u, r = 20) {
134
134
  }
135
135
  return { anchors: m, edges: I };
136
136
  }
137
- function Y(e, u, r, s, t = x) {
137
+ function X(e, u, r, s, t = x) {
138
138
  const o = [], i = [];
139
139
  let a = s;
140
140
  const l = (d, m) => {
@@ -154,7 +154,7 @@ function Y(e, u, r, s, t = x) {
154
154
  }), h;
155
155
  };
156
156
  for (const d of e) {
157
- const m = W(d);
157
+ const m = T(d);
158
158
  for (const I of m)
159
159
  for (let h = 0; h < I.length - 1; h++) {
160
160
  const f = l(I[h].x, I[h].y), c = l(I[h + 1].x, I[h + 1].y);
@@ -172,10 +172,10 @@ function Y(e, u, r, s, t = x) {
172
172
  });
173
173
  }
174
174
  }
175
- const n = D(o, i, t);
175
+ const n = C(o, i, t);
176
176
  return { anchors: n.anchors, edges: n.edges, nextId: a };
177
177
  }
178
- function K(e) {
178
+ function D(e) {
179
179
  return e === "entrance" ? "entrance" : e === "connector" ? "connector" : "unit";
180
180
  }
181
181
  function P(e) {
@@ -202,7 +202,7 @@ function Z(e, u, r, s = x * 3) {
202
202
  const o = e.filter((l) => l.shapeId == null), i = /* @__PURE__ */ new Set();
203
203
  let a = 0;
204
204
  for (const l of r) {
205
- if (!T.includes(l.kind)) continue;
205
+ if (!O.includes(l.kind)) continue;
206
206
  const n = l.geometry.polygons ?? [];
207
207
  if (n.length === 0) continue;
208
208
  const d = o.filter((c) => !i.has(c.id)).map((c) => ({
@@ -224,16 +224,16 @@ function Z(e, u, r, s = x * 3) {
224
224
  t,
225
225
  I
226
226
  );
227
- if (!h || (h.shapeId = l.id, h.kind = K(l.kind), i.add(h.id), a += 1, (t.get(h.id) ?? 0) > 1)) continue;
227
+ if (!h || (h.shapeId = l.id, h.kind = D(l.kind), i.add(h.id), a += 1, (t.get(h.id) ?? 0) > 1)) continue;
228
228
  const f = P(h.kind);
229
229
  for (const c of u)
230
230
  (c.fromAnchorId === h.id || c.toAnchorId === h.id) && (c.kind = f);
231
231
  }
232
232
  return a;
233
233
  }
234
- const C = 0.95, w = 1;
234
+ const K = 0.95, w = 1;
235
235
  function j(e = w) {
236
- return Math.pow(C, e);
236
+ return Math.pow(K, e);
237
237
  }
238
238
  function q(e, u, r) {
239
239
  if (u === 0) return e;
@@ -241,19 +241,19 @@ function q(e, u, r) {
241
241
  return Math.min(i, Math.max(o, t));
242
242
  }
243
243
  export {
244
- C as W,
244
+ K as W,
245
245
  w as a,
246
246
  Z as b,
247
- U as c,
248
- X as d,
249
- D as e,
250
- O as f,
247
+ V as c,
248
+ U as d,
249
+ C as e,
250
+ F as f,
251
251
  j as g,
252
- Y as i,
252
+ X as i,
253
253
  q as n,
254
254
  H as o,
255
- K as r,
256
- V as u,
257
- F as w
255
+ D as r,
256
+ Y as u,
257
+ W as w
258
258
  };
259
259
  //# sourceMappingURL=wheelZoom.js.map
@@ -0,0 +1,15 @@
1
+ import { CmShape, CmShapeAssignment, MapViewerHost, PublishedDocument } from './types';
2
+ type KioskShape = Pick<CmShape, 'id' | 'kind' | 'orphanedAt'> & {
3
+ assignment?: Pick<CmShapeAssignment, 'kioskId'> | null;
4
+ };
5
+ export interface ViewerKioskOrigin {
6
+ levelId: number;
7
+ shapeId: number;
8
+ anchorId: number | null;
9
+ }
10
+ /** DISPLAY_APP marks the kiosk through which the visitor is using the map. */
11
+ export declare function isViewerKioskOriginShape(host: MapViewerHost, kioskId: number | null | undefined, shape: KioskShape): boolean;
12
+ /** Resolve the kiosk floor, shape, and route anchor from the published map. */
13
+ export declare function findViewerKioskOrigin(document: Pick<PublishedDocument, 'levels'>, host: MapViewerHost, kioskId: number | null | undefined): ViewerKioskOrigin | null;
14
+ export {};
15
+ //# sourceMappingURL=currentLocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currentLocation.d.ts","sourceRoot":"","sources":["../../src/core/currentLocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,KAAK,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,GAAG;IAC9D,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;CACxD,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,KAAK,EAAE,UAAU,GAChB,OAAO,CAQT;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAC3C,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,iBAAiB,GAAG,IAAI,CAe1B"}
@@ -3,7 +3,8 @@ import { MapHost, MapViewerHost } from './types';
3
3
  export declare function mapSurface(host: MapHost): 'editor' | 'viewer';
4
4
  /**
5
5
  * Viewer chrome. Public website (`WEBSITE` / v1 WP_SITE) is floors + zoom/
6
- * reset only — no search or amenity strip. Kiosk origin is DISPLAY_APP only.
6
+ * reset plus the store/amenity Map IT modal — no search or amenity strip.
7
+ * Kiosk origin is DISPLAY_APP only.
7
8
  */
8
9
  export interface ViewerChrome {
9
10
  search: boolean;
@@ -12,7 +13,14 @@ export interface ViewerChrome {
12
13
  zoomReset: boolean;
13
14
  kioskOrigin: boolean;
14
15
  fetchDraft: boolean;
16
+ /** v1 WEBSITE RetailerInfoModal — click a store/amenity, then Map IT. */
17
+ storeModal: boolean;
15
18
  }
16
19
  export declare function viewerChrome(host: MapViewerHost): ViewerChrome;
20
+ /**
21
+ * Embedded website maps must let the page handle mouse-wheel / trackpad
22
+ * scrolling. Touch pinch zoom remains enabled separately in OrbitControls.
23
+ */
24
+ export declare function viewerAllowsWheelZoom(host: MapViewerHost): boolean;
17
25
  export declare function isMapViewerHost(host: MapHost): host is MapViewerHost;
18
26
  //# sourceMappingURL=hostChrome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostChrome.d.ts","sourceRoot":"","sources":["../../src/core/hostChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAE7D;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB;AAuBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAE9D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAEpE"}
1
+ {"version":3,"file":"hostChrome.d.ts","sourceRoot":"","sources":["../../src/core/hostChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAE7D;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAC;CACrB;AAwBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAE9D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAElE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAEpE"}
@@ -4,6 +4,9 @@ export * from './color';
4
4
  export * from './labelAlign';
5
5
  export * from './assignment';
6
6
  export * from './hostChrome';
7
+ export * from './currentLocation';
8
+ export * from './websiteModal';
9
+ export * from './publicShapes';
7
10
  export * from './layerStyles';
8
11
  export * from './mediaUrl';
9
12
  export * from './outdoorDecoration';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -1,165 +1,179 @@
1
- import { A as e, C as o, D as r, a as i, b as n, c as t, d as l, E as S, F as p, I as m, e as d, f as E, g as A, L, M as g, h as b, O as c, i as u, j as I, R as _, S as T, k as y, l as h, m as O, T as N, W as v, n as R, o as P, p as D, q as F, r as C, s as f, t as x, u as B, v as G, w as M, x as w, y as K, z as H, B as V, G as Y, H as k, J as U, K as z, N as W, P as Z, Q as j, U as q, V as X, X as Q, Y as J, Z as $, _ as aa, $ as sa, a0 as ea, a1 as oa, a2 as ra, a3 as ia, a4 as na, a5 as ta, a6 as la, a7 as Sa, a8 as pa, a9 as ma, aa as da, ab as Ea, ac as Aa, ad as La, ae as ga, af as ba, ag as ca, ah as ua, ai as Ia, aj as _a, ak as Ta, al as ya, am as ha, an as Oa, ao as Na, ap as va, aq as Ra, ar as Pa, as as Da, at as Fa, au as Ca, av as fa, aw as xa, ax as Ba, ay as Ga, az as Ma, aA as wa, aB as Ka, aC as Ha, aD as Va, aE as Ya, aF as ka, aG as Ua, aH as za, aI as Wa, aJ as Za, aK as ja, aL as qa, aM as Xa, aN as Qa, aO as Ja, aP as $a, aQ as as, aR as ss, aS as es, aT as os, aU as rs, aV as is, aW as ns, aX as ts, aY as ls, aZ as Ss, a_ as ps, a$ as ms, b0 as ds, b1 as Es, b2 as As, b3 as Ls, b4 as gs, b5 as bs, b6 as cs, b7 as us, b8 as Is, b9 as _s, ba as Ts, bb as ys, bc as hs, bd as Os, be as Ns, bf as vs, bg as Rs, bh as Ps, bi as Ds, bj as Fs, bk as Cs, bl as fs, bm as xs, bn as Bs, bo as Gs, bp as Ms, bq as ws, br as Ks } from "../chunks/stacking.js";
2
- import { W as Vs, a as Ys, b as ks, c as Us, d as zs, e as Ws, f as Zs, i as js, n as qs, o as Xs, r as Qs, u as Js, w as $s, g as ae } from "../chunks/wheelZoom.js";
1
+ import { A as e, C as o, D as i, a as r, b as t, c as n, d as l, E as S, F as p, I as b, e as m, f as d, g as A, L as E, M as L, h as g, O as c, i as u, j as I, R as h, S as _, k as T, l as y, m as O, T as v, W as N, n as R, o as P, p as D, q as F, r as w, s as C, t as f, u as x, v as B, w as M, x as G, y as K, z as V, B as H, G as k, H as U, J as Y, K as z, N as W, P as Z, Q as j, U as q, V as X, X as Q, Y as J, Z as $, _ as aa, $ as sa, a0 as ea, a1 as oa, a2 as ia, a3 as ra, a4 as ta, a5 as na, a6 as la, a7 as Sa, a8 as pa, a9 as ba, aa as ma, ab as da, ac as Aa, ad as Ea, ae as La, af as ga, ag as ca, ah as ua, ai as Ia, aj as ha, ak as _a, al as Ta, am as ya, an as Oa, ao as va, ap as Na, aq as Ra, ar as Pa, as as Da, at as Fa, au as wa, av as Ca, aw as fa, ax as xa, ay as Ba, az as Ma, aA as Ga, aB as Ka, aC as Va, aD as Ha, aE as ka, aF as Ua, aG as Ya, aH as za, aI as Wa, aJ as Za, aK as ja, aL as qa, aM as Xa, aN as Qa, aO as Ja, aP as $a, aQ as as, aR as ss, aS as es, aT as os, aU as is, aV as rs, aW as ts, aX as ns, aY as ls, aZ as Ss, a_ as ps, a$ as bs, b0 as ms, b1 as ds, b2 as As, b3 as Es, b4 as Ls, b5 as gs, b6 as cs, b7 as us, b8 as Is, b9 as hs, ba as _s, bb as Ts, bc as ys, bd as Os, be as vs, bf as Ns, bg as Rs, bh as Ps, bi as Ds, bj as Fs, bk as ws, bl as Cs, bm as fs, bn as xs, bo as Bs, bp as Ms, bq as Gs, br as Ks, bs as Vs, bt as Hs, bu as ks, bv as Us, bw as Ys, bx as zs, by as Ws, bz as Zs, bA as js, bB as qs, bC as Xs, bD as Qs, bE as Js, bF as $s } from "../chunks/stacking.js";
2
+ import { W as se, a as ee, b as oe, c as ie, d as re, e as te, f as ne, i as le, n as Se, o as pe, r as be, u as me, w as de, g as Ae } from "../chunks/wheelZoom.js";
3
3
  export {
4
4
  e as ASSIGNMENT_LAYER_TYPES,
5
5
  o as CONNECTOR_ICON_SIZE,
6
- r as DEFAULT_ASSIGNMENT_SIZE,
7
- i as DEFAULT_ENTRANCE_SIZE,
8
- n as DEFAULT_LABEL_ALIGN,
9
- t as DEFAULT_THEME,
6
+ i as DEFAULT_ASSIGNMENT_SIZE,
7
+ r as DEFAULT_ENTRANCE_SIZE,
8
+ t as DEFAULT_LABEL_ALIGN,
9
+ n as DEFAULT_THEME,
10
10
  l as DEFAULT_WELD_TOLERANCE,
11
11
  S as ENTRANCE_ICON_ID,
12
12
  p as FLOOR_CHANGE_PENALTY,
13
- m as IDENTITY_MATRIX,
14
- d as IMPORT_DRIFT_THRESHOLD,
15
- E as IMPORT_PERSISTED_KINDS,
13
+ b as IDENTITY_MATRIX,
14
+ m as IMPORT_DRIFT_THRESHOLD,
15
+ d as IMPORT_PERSISTED_KINDS,
16
16
  A as INTERACTIVE_SHAPE_KINDS,
17
- L as LABEL_ALIGNS,
18
- g as MAP_NO_FLOORS_MESSAGE,
19
- b as MIN_ENTRANCE_SIZE,
17
+ E as LABEL_ALIGNS,
18
+ L as MAP_NO_FLOORS_MESSAGE,
19
+ g as MIN_ENTRANCE_SIZE,
20
20
  c as OPENING_VOID_FILL,
21
21
  u as OPENING_VOID_MARK,
22
22
  I as OPENING_VOID_STROKE,
23
- _ as RETAIL_LOGO_RENDER_SCALE,
24
- T as SLAB_SHAPE_KINDS,
25
- y as STATIC_LAYER_KEYS,
26
- h as STATIC_LAYER_STYLES,
23
+ h as RETAIL_LOGO_RENDER_SCALE,
24
+ _ as SLAB_SHAPE_KINDS,
25
+ T as STATIC_LAYER_KEYS,
26
+ y as STATIC_LAYER_STYLES,
27
27
  O as STATIC_LAYER_THEME_KEYS,
28
- N as TRANSPARENT_COLOR,
29
- v as WALKING_PATH_COLOR,
30
- Vs as WHEEL_ZOOM_BASE,
31
- Ys as WHEEL_ZOOM_SPEED,
28
+ v as TRANSPARENT_COLOR,
29
+ N as WALKING_PATH_COLOR,
30
+ se as WHEEL_ZOOM_BASE,
31
+ ee as WHEEL_ZOOM_SPEED,
32
32
  R as amenityAssignedName,
33
33
  P as angleFromWall,
34
34
  D as applyBulkAssignPatch,
35
35
  F as applyLevelTransform,
36
- C as applyMatrix,
37
- f as approximateArc,
38
- x as approximateCubic,
39
- B as approximateQuadratic,
40
- G as assignNumberFromDraft,
36
+ w as applyMatrix,
37
+ C as approximateArc,
38
+ f as approximateCubic,
39
+ x as approximateQuadratic,
40
+ B as assignNumberFromDraft,
41
41
  M as assignmentDisplayText,
42
- w as assignmentHasTarget,
42
+ G as assignmentHasTarget,
43
43
  K as assignmentOverlayImageUrl,
44
- H as assignmentOverlayRenderSize,
45
- V as assignmentOverlayVisible,
46
- Y as assignmentSpecialIconId,
47
- k as assignmentVisualPatch,
48
- ks as attachImportedRouteAnchors,
49
- Us as autoConnectUnitAnchor,
50
- U as bboxOf,
44
+ V as assignmentOverlayRenderSize,
45
+ H as assignmentOverlayVisible,
46
+ k as assignmentSpecialIconId,
47
+ U as assignmentVisualPatch,
48
+ oe as attachImportedRouteAnchors,
49
+ ie as autoConnectUnitAnchor,
50
+ Y as bboxOf,
51
51
  z as bboxUnion,
52
52
  W as boundsFromStackedLevels,
53
- zs as buildAutoSkeleton,
53
+ re as buildAutoSkeleton,
54
54
  Z as buildGeometryFromPaths,
55
55
  j as bulkAssignFormState,
56
56
  q as centroid,
57
57
  X as clampEntranceSize,
58
58
  Q as clampStoreRadius,
59
59
  J as classifyId,
60
- Ws as collapseDuplicateRouteGraph,
60
+ te as collapseDuplicateRouteGraph,
61
61
  $ as commitAssignNumberDraft,
62
62
  aa as compareBuildingFloors,
63
63
  sa as compileDocument,
64
64
  ea as compileGraph,
65
65
  oa as connectorIconLayout,
66
- ra as defaultLayerTypeForKind,
67
- ia as defaultTargetTypeForKind,
68
- na as defaultViewerLevelId,
69
- ta as diffImport,
66
+ ia as defaultLayerTypeForKind,
67
+ ra as defaultTargetTypeForKind,
68
+ ta as defaultViewerLevelId,
69
+ na as diffImport,
70
70
  la as distance,
71
71
  Sa as emptyShapeAssignment,
72
72
  pa as expandBounds,
73
- ma as filletPolygon,
74
- da as findNearestAmenityPath,
75
- Ea as findPath,
76
- Zs as findWeldCandidates,
77
- Aa as flipY,
78
- La as floorSwitcherDisplayLevels,
79
- ga as floorSwitcherLevels,
80
- ba as geometryBBox,
81
- ca as geometryCentroid,
82
- ua as hasBuildingFloors,
83
- Ia as holeRingForOuter,
84
- _a as holesOverlappingOuter,
85
- js as importRoutePaths,
86
- Ta as importSvg,
87
- ya as inlineSvgStyles,
88
- ha as isActiveVoidShape,
89
- Oa as isAssignmentLayerType,
90
- Na as isEntranceIcon,
91
- va as isGeometrySpaceStale,
92
- Ra as isIdentityMatrix,
93
- Pa as isInteractiveGroupLabel,
94
- Da as isLayerContainerLabel,
95
- Fa as isMapViewerHost,
96
- Ca as isNonInteractiveGroupLabel,
97
- fa as isOutdoorLevel,
98
- xa as isRouteFolderLabel,
99
- Ba as isRoutePathLabel,
100
- Ga as isSlabShapeKind,
101
- Ma as isStoreFolderLabel,
102
- wa as isTransparentColor,
103
- Ka as isVoidKind,
104
- Ha as kioskAssignedName,
105
- Va as labelAlignX,
106
- Ya as labelSvgTextAnchor,
107
- ka as levelHasVoids,
108
- Ua as mapSurface,
109
- za as mergePresentationStyle,
110
- Wa as mergeTheme,
111
- Za as multiplyMatrix,
112
- ja as nearestPointOnPolyline,
113
- qa as nextLowerBuildingFloor,
114
- qs as nextZoomFromWheel,
115
- Xa as normalizeGeometrySpace,
116
- Qa as normalizeLabelAlign,
117
- Ja as normalizeLayerLabel,
118
- $a as normalizeLayerName,
119
- as as normalizePublishedDocument,
120
- Xs as outdoorDecorationFromSvg,
121
- ss as outdoorSvgSuppressIds,
122
- es as parseKioskIdInput,
123
- os as parseShapeAssignment,
124
- rs as parseSvgString,
125
- is as parseTransform,
126
- ns as parseViewBox,
127
- ts as pathToPolygons,
128
- ls as pointInPolygon,
129
- Ss as pointInPolygons,
130
- ps as polygonBBox,
131
- ms as polygonSignedArea,
132
- ds as polygonsOverlap,
133
- Es as projectOntoSegment,
134
- As as publishedShapeLabel,
135
- Ls as readPresentationStyle,
136
- gs as resolveFetchUrl,
137
- bs as resolveLayerStyle,
138
- cs as resolveStaticLayerKey,
139
- us as resolvedAssignmentBgColor,
140
- Is as resolvedAssignmentTextColor,
141
- _s as retailerOptionLabel,
142
- Ts as revealedBuildingFloors,
143
- ys as reversedRing,
144
- Qs as routeAnchorKindForShape,
145
- hs as sceneBoundsFromBBox,
146
- Os as shouldProxyMediaUrl,
147
- Ns as shouldShowFloorSwitcher,
148
- vs as snapAngle,
149
- Rs as staticLayerHouseColor,
150
- Ps as staticLayerThemeDefaults,
151
- Ds as svgIdsOwnedByShapes,
152
- Fs as tokenizePathData,
153
- Cs as transformPathD,
154
- fs as unionViewBox,
155
- xs as uniqueClosedRing,
156
- Js as unitAnchorFromShape,
157
- Bs as viewBoxToBounds,
158
- Gs as viewerChrome,
159
- Ms as viewerLevelIdAfterShapeSelect,
160
- ws as viewerLevelStack,
161
- Ks as voidPolygonsOnLevel,
162
- $s as weldAnchors,
163
- ae as wheelDollyScale
73
+ ba as filletPolygon,
74
+ ma as findNearestAmenityPath,
75
+ da as findPath,
76
+ Aa as findPublishedShape,
77
+ Ea as findViewerKioskOrigin,
78
+ ne as findWeldCandidates,
79
+ La as flipY,
80
+ ga as floorSwitcherDisplayLevels,
81
+ ca as floorSwitcherLevels,
82
+ ua as formatRetailerPhone,
83
+ Ia as geometryBBox,
84
+ ha as geometryCentroid,
85
+ _a as hasBuildingFloors,
86
+ Ta as holeRingForOuter,
87
+ ya as holesOverlappingOuter,
88
+ le as importRoutePaths,
89
+ Oa as importSvg,
90
+ va as inlineSvgStyles,
91
+ Na as isActiveVoidShape,
92
+ Ra as isAssignmentLayerType,
93
+ Pa as isEntranceIcon,
94
+ Da as isGeometrySpaceStale,
95
+ Fa as isIdentityMatrix,
96
+ wa as isInteractiveGroupLabel,
97
+ Ca as isLayerContainerLabel,
98
+ fa as isMapViewerHost,
99
+ xa as isNonInteractiveGroupLabel,
100
+ Ba as isOutdoorLevel,
101
+ Ma as isRouteFolderLabel,
102
+ Ga as isRoutePathLabel,
103
+ Ka as isSlabShapeKind,
104
+ Va as isStoreFolderLabel,
105
+ Ha as isTransparentColor,
106
+ ka as isViewerKioskOriginShape,
107
+ Ua as isVoidKind,
108
+ Ya as kioskAssignedName,
109
+ za as labelAlignX,
110
+ Wa as labelSvgTextAnchor,
111
+ Za as levelHasVoids,
112
+ ja as mapSurface,
113
+ qa as mergePresentationStyle,
114
+ Xa as mergeTheme,
115
+ Qa as multiplyMatrix,
116
+ Ja as nearestPointOnPolyline,
117
+ $a as nextLowerBuildingFloor,
118
+ Se as nextZoomFromWheel,
119
+ as as normalizeGeometrySpace,
120
+ ss as normalizeLabelAlign,
121
+ es as normalizeLayerLabel,
122
+ os as normalizeLayerName,
123
+ is as normalizePublishedDocument,
124
+ rs as normalizeRetailerCatalogItem,
125
+ pe as outdoorDecorationFromSvg,
126
+ ts as outdoorSvgSuppressIds,
127
+ ns as parseKioskIdInput,
128
+ ls as parseShapeAssignment,
129
+ Ss as parseSvgString,
130
+ ps as parseTransform,
131
+ bs as parseViewBox,
132
+ ms as pathToPolygons,
133
+ ds as pointInPolygon,
134
+ As as pointInPolygons,
135
+ Es as polygonBBox,
136
+ Ls as polygonSignedArea,
137
+ gs as polygonsOverlap,
138
+ cs as projectOntoSegment,
139
+ us as publishedShapeLabel,
140
+ Is as readPresentationStyle,
141
+ hs as resolveFetchUrl,
142
+ _s as resolveLayerStyle,
143
+ Ts as resolveStaticLayerKey,
144
+ ys as resolvedAssignmentBgColor,
145
+ Os as resolvedAssignmentTextColor,
146
+ vs as retailerOptionLabel,
147
+ Ns as revealedBuildingFloors,
148
+ Rs as reversedRing,
149
+ be as routeAnchorKindForShape,
150
+ Ps as sceneBoundsFromBBox,
151
+ Ds as shouldProxyMediaUrl,
152
+ Fs as shouldShowFloorSwitcher,
153
+ ws as snapAngle,
154
+ Cs as staticLayerHouseColor,
155
+ fs as staticLayerThemeDefaults,
156
+ xs as svgIdsOwnedByShapes,
157
+ Bs as tokenizePathData,
158
+ Ms as transformPathD,
159
+ Gs as unionViewBox,
160
+ Ks as uniqueClosedRing,
161
+ me as unitAnchorFromShape,
162
+ Vs as viewBoxToBounds,
163
+ Hs as viewerAllowsWheelZoom,
164
+ ks as viewerChrome,
165
+ Us as viewerHidesUnassignedServiceShapes,
166
+ Ys as viewerLevelIdAfterShapeSelect,
167
+ zs as viewerLevelStack,
168
+ Ws as viewerServiceShapeVisible,
169
+ Zs as viewerShapeVisibleOnHost,
170
+ js as voidPolygonsOnLevel,
171
+ qs as websiteClickOpensModal,
172
+ Xs as websiteDestination,
173
+ Qs as websiteFromRetailerOptions,
174
+ Js as websiteMapItAnchors,
175
+ $s as websiteRetailersOnMap,
176
+ de as weldAnchors,
177
+ Ae as wheelDollyScale
164
178
  };
165
179
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,18 @@
1
+ import { assignmentHasTarget } from './assignment';
2
+ import { MapViewerHost } from './types';
3
+ export type PublicServiceShape = {
4
+ id: number;
5
+ kind: string;
6
+ key?: string;
7
+ sourceSvgId?: string | null;
8
+ assignment?: Parameters<typeof assignmentHasTarget>[0];
9
+ };
10
+ /**
11
+ * Website and kiosk should not draw empty amenity / kiosk / elevator /
12
+ * escalator polygons. PORTAL assign still shows them so staff can link them.
13
+ */
14
+ export declare function viewerHidesUnassignedServiceShapes(host: MapViewerHost): boolean;
15
+ /** False for an unassigned amenity, kiosk, elevator, or escalator. */
16
+ export declare function viewerServiceShapeVisible(shape: PublicServiceShape, assignedConnectorIds: ReadonlySet<number>): boolean;
17
+ export declare function viewerShapeVisibleOnHost(shape: PublicServiceShape, host: MapViewerHost, assignedConnectorIds: ReadonlySet<number>): boolean;
18
+ //# sourceMappingURL=publicShapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicShapes.d.ts","sourceRoot":"","sources":["../../src/core/publicShapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,aAAa,GAClB,OAAO,CAET;AAcD,sEAAsE;AACtE,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,OAAO,CAQT;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,aAAa,EACnB,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,OAAO,CAGT"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/publish/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,OAAO,EACR,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CA2EtE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,iBAAiB,GACrB,iBAAiB,CAuBnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/publish/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,OAAO,EACR,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CA8EtE;AAkBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,iBAAiB,GACrB,iBAAiB,CAuBnB"}
@@ -12,7 +12,8 @@ export type MapVersion = 1 | 2;
12
12
  * in the geometry canvas and grid.
13
13
  * - `PORTAL_ASSIGN` — admin editor default center (`MapViewer` for click-to-
14
14
  * assign). Floors + zoom only — no search / amenities.
15
- * - `WEBSITE` — public website / v1 WP_SITE (`MapViewer`). Floors + zoom only.
15
+ * - `WEBSITE` — public website / v1 WP_SITE (`MapViewer`). Floors + zoom, plus
16
+ * the store/amenity info modal and Map IT routing.
16
17
  * - `DISPLAY_APP` — kiosk (`MapViewer`).
17
18
  */
18
19
  export type MapHost = 'PORTAL' | 'PORTAL_ASSIGN' | 'WEBSITE' | 'DISPLAY_APP';
@@ -39,7 +40,12 @@ export interface MapAssignRetailer {
39
40
  logoUrl?: string | null;
40
41
  /** Stable S3 object key persisted into assignments and published revisions. */
41
42
  logoKey?: string | null;
43
+ phone?: string | null;
44
+ description?: string | null;
45
+ globalRetailerId?: number | null;
42
46
  }
47
+ /** Public website modal / Map IT catalog. Same fields as assign, plus live details. */
48
+ export type PublishedRetailer = MapAssignRetailer;
43
49
  /** Display-app kiosk row. Assign uses a Name; the numeric ID is owned by display_kiosks. */
44
50
  export interface MapAssignKiosk {
45
51
  id: number;
@@ -299,6 +305,11 @@ export interface PublishedDocument {
299
305
  levels: PublishedLevel[];
300
306
  connectors: CmConnector[];
301
307
  amenities: CmAmenityCatalogItem[];
308
+ /**
309
+ * Center retailers for the WEBSITE info modal. Serve-time hydrate prefers
310
+ * live rows; compile also copies the assign catalog when present.
311
+ */
312
+ retailers?: PublishedRetailer[];
302
313
  graph: {
303
314
  nodes: PublishedGraphNode[];
304
315
  edges: PublishedGraphEdge[];