@eyeon/map 2.0.20 → 2.0.26

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 (58) hide show
  1. package/dist/assets/index.css +1 -1
  2. package/dist/chunks/MapViewer.js +446 -443
  3. package/dist/chunks/MapViewer.js.map +1 -1
  4. package/dist/chunks/responsive.js +967 -929
  5. package/dist/chunks/responsive.js.map +1 -1
  6. package/dist/chunks/wheelZoom.js +33 -33
  7. package/dist/chunks/wheelZoom.js.map +1 -1
  8. package/dist/core/assignment.d.ts +6 -2
  9. package/dist/core/assignment.d.ts.map +1 -1
  10. package/dist/core/index.js +185 -183
  11. package/dist/core/layerStyles.d.ts +19 -5
  12. package/dist/core/layerStyles.d.ts.map +1 -1
  13. package/dist/core/types.d.ts +1 -1
  14. package/dist/core/types.d.ts.map +1 -1
  15. package/dist/editor/GridPrefsControl.d.ts +16 -0
  16. package/dist/editor/GridPrefsControl.d.ts.map +1 -0
  17. package/dist/editor/MapEditor.d.ts +17 -1
  18. package/dist/editor/MapEditor.d.ts.map +1 -1
  19. package/dist/editor/canvas/EditorCanvas.d.ts +5 -1
  20. package/dist/editor/canvas/EditorCanvas.d.ts.map +1 -1
  21. package/dist/editor/canvas/editorHover.d.ts +12 -0
  22. package/dist/editor/canvas/editorHover.d.ts.map +1 -1
  23. package/dist/editor/dirty.d.ts +24 -0
  24. package/dist/editor/dirty.d.ts.map +1 -0
  25. package/dist/editor/draftOps.d.ts.map +1 -1
  26. package/dist/editor/geometryEdit.d.ts +2 -0
  27. package/dist/editor/geometryEdit.d.ts.map +1 -1
  28. package/dist/editor/index.css +70 -4
  29. package/dist/editor/index.d.ts +1 -0
  30. package/dist/editor/index.d.ts.map +1 -1
  31. package/dist/editor/index.js +4326 -3923
  32. package/dist/editor/index.js.map +1 -1
  33. package/dist/editor/labels.d.ts.map +1 -1
  34. package/dist/editor/ortho.d.ts +20 -0
  35. package/dist/editor/ortho.d.ts.map +1 -0
  36. package/dist/editor/panels/AssignForm.d.ts.map +1 -1
  37. package/dist/editor/panels/EntranceIconForm.d.ts.map +1 -1
  38. package/dist/editor/panels/LeftRail.d.ts +1 -1
  39. package/dist/editor/panels/LeftRail.d.ts.map +1 -1
  40. package/dist/editor/railAssignments.d.ts +5 -1
  41. package/dist/editor/railAssignments.d.ts.map +1 -1
  42. package/dist/editor/railListCopy.d.ts +1 -1
  43. package/dist/editor/railListCopy.d.ts.map +1 -1
  44. package/dist/editor/routeStubs.d.ts +10 -0
  45. package/dist/editor/routeStubs.d.ts.map +1 -1
  46. package/dist/editor/shapeCopy.d.ts.map +1 -1
  47. package/dist/editor/tools.d.ts +12 -4
  48. package/dist/editor/tools.d.ts.map +1 -1
  49. package/dist/viewer/components/SvgVectorLayer.d.ts.map +1 -1
  50. package/dist/viewer/index.js +2 -2
  51. package/dist/viewer/pointer.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/dist/test-maps/shops-at-south-town/BASE - Shops At South Town.ai +42 -26689
  54. package/dist/test-maps/shops-at-south-town/LF - Shops At South Town.ai +0 -4459
  55. package/dist/test-maps/shops-at-south-town/SVG/BASE - Shops At South Town.svg +0 -567
  56. package/dist/test-maps/shops-at-south-town/SVG/LF - Shops At South Town.svg +0 -238
  57. package/dist/test-maps/shops-at-south-town/SVG/escalator.svg +0 -13
  58. package/dist/test-maps/shops-at-south-town/UF - Shops At South Town.ai +2 -4130
@@ -1,11 +1,11 @@
1
- import me from "ngraph.graph";
2
- import xe from "ngraph.path";
3
- const gt = "transparent", Ct = "#94a3b8", be = 0.28, Et = 32, Ie = 48, ct = 56;
4
- function W(t) {
1
+ import Ie from "ngraph.graph";
2
+ import ge from "ngraph.path";
3
+ const St = "transparent", vt = "#94a3b8", _e = 0.28, Nt = 32, ke = 48, ut = 56;
4
+ function V(t) {
5
5
  const e = (t ?? "").trim().toLowerCase();
6
- return e === gt || e === "none";
6
+ return e === St || e === "none";
7
7
  }
8
- function Rt(t) {
8
+ function Tt(t) {
9
9
  const e = t.replace("#", "").trim();
10
10
  if (e.length === 3) {
11
11
  const i = [
@@ -13,44 +13,45 @@ function Rt(t) {
13
13
  parseInt(e[1] + e[1], 16),
14
14
  parseInt(e[2] + e[2], 16)
15
15
  ];
16
- return i.some((l) => Number.isNaN(l)) ? null : i;
16
+ return i.some((c) => Number.isNaN(c)) ? null : i;
17
17
  }
18
18
  if (e.length !== 6) return null;
19
19
  const n = parseInt(e.slice(0, 2), 16), r = parseInt(e.slice(2, 4), 16), o = parseInt(e.slice(4, 6), 16);
20
20
  return [n, r, o].some((i) => Number.isNaN(i)) ? null : [n, r, o];
21
21
  }
22
- function Lt(t, e, n) {
22
+ function Mt(t, e, n) {
23
23
  const r = (o) => Math.max(0, Math.min(255, Math.round(o))).toString(16).padStart(2, "0");
24
24
  return `#${r(t)}${r(e)}${r(n)}`;
25
25
  }
26
- function Yr(t, e = Ct) {
27
- const n = W(t) ? e : t, r = Rt(n) ?? Rt(e);
28
- return r ? ge(r) : Ct;
26
+ function Gr(t, e = vt) {
27
+ const n = V(t) ? e : t, r = Tt(n) ?? Tt(e);
28
+ return r ? Oe(r) : vt;
29
29
  }
30
- function ge([t, e, n]) {
30
+ function Oe([t, e, n]) {
31
31
  const r = Math.max(t, e, n);
32
- if (r < Ie)
33
- return Lt(t + ct, e + ct, n + ct);
34
- let o = 1 - be, i = t * o, l = e * o, c = n * o;
35
- return r - Math.max(i, l, c) < Et && (o = (r - Et) / r, i = t * o, l = e * o, c = n * o), Lt(i, l, c);
32
+ if (r < ke)
33
+ return Mt(t + ut, e + ut, n + ut);
34
+ let o = 1 - _e, i = t * o, c = e * o, a = n * o;
35
+ return r - Math.max(i, c, a) < Nt && (o = (r - Nt) / r, i = t * o, c = e * o, a = n * o), Mt(i, c, a);
36
36
  }
37
- const qt = "#E9F7FC", _e = [
37
+ const te = "#E9F7FC", Se = [
38
38
  "green-area",
39
39
  "water-area",
40
40
  "parking-lane",
41
41
  "parking-icon",
42
42
  "walking-path"
43
- ], ke = {
43
+ ], Ae = {
44
44
  "green-area": "GREEN_AREA_COLOR",
45
45
  "water-area": "WATER_COLOR",
46
46
  "parking-lane": "PARKING_LANE_COLOR",
47
47
  "parking-icon": "PARKING_ICON_COLOR",
48
48
  "walking-path": "WALKABLE_COLOR"
49
- }, Oe = 2, Qt = {
49
+ }, Ce = 2, ee = {
50
50
  "green-area": {
51
51
  fill: "#C4DDAB",
52
- // Above parking lanes (and other house fills). Parking icons stay at 7.
53
- renderOrder: 4,
52
+ // Same band as other artwork. Parking lanes are pulled under green areas
53
+ // by sortByOutdoorSvgPaintOrder; later special shapes keep SVG order.
54
+ renderOrder: 2,
54
55
  extrudeHeight: 1
55
56
  },
56
57
  "water-area": {
@@ -69,95 +70,118 @@ const qt = "#E9F7FC", _e = [
69
70
  extrudeHeight: 1
70
71
  },
71
72
  "walking-path": {
72
- fill: qt,
73
+ fill: te,
73
74
  renderOrder: 2,
74
75
  extrudeHeight: 1
75
76
  }
76
77
  };
77
- function X(t) {
78
- const e = Qt[t];
78
+ function H(t) {
79
+ const e = ee[t];
79
80
  return e.fill ?? e.stroke ?? "";
80
81
  }
81
- function Se() {
82
+ function Ee() {
82
83
  return {
83
- GREEN_AREA_COLOR: X("green-area"),
84
- WATER_COLOR: X("water-area"),
85
- PARKING_LANE_COLOR: X("parking-lane"),
86
- PARKING_ICON_COLOR: X("parking-icon"),
87
- WALKABLE_COLOR: X("walking-path")
84
+ GREEN_AREA_COLOR: H("green-area"),
85
+ WATER_COLOR: H("water-area"),
86
+ PARKING_LANE_COLOR: H("parking-lane"),
87
+ PARKING_ICON_COLOR: H("parking-icon"),
88
+ WALKABLE_COLOR: H("walking-path")
88
89
  };
89
90
  }
90
- const at = {
91
+ const ft = {
91
92
  amenity: "#444444",
92
93
  kiosk: "#444444",
93
94
  connector: "#0763b1"
94
- }, Br = {
95
+ }, $r = {
95
96
  amenity: "AMENITY_ICON_COLOR",
96
97
  kiosk: "KIOSK_ICON_COLOR",
97
98
  connector: "CONNECTOR_ICON_COLOR"
98
99
  };
99
- function Ae() {
100
+ function Re() {
100
101
  return {
101
- AMENITY_ICON_COLOR: at.amenity,
102
- KIOSK_ICON_COLOR: at.kiosk,
103
- CONNECTOR_ICON_COLOR: at.connector
102
+ AMENITY_ICON_COLOR: ft.amenity,
103
+ KIOSK_ICON_COLOR: ft.kiosk,
104
+ CONNECTOR_ICON_COLOR: ft.connector
104
105
  };
105
106
  }
106
- function Jt(t) {
107
+ function ne(t) {
107
108
  return t.toLowerCase().replace(/[-_]+/g, " ").replace(/\s+/g, " ").trim();
108
109
  }
109
- function Ce(t, e) {
110
- const n = Jt(e);
110
+ function Le(t, e) {
111
+ const n = ne(e);
111
112
  return !!(t === n || t.startsWith(`${n} `) || t === `${n}s` || t.startsWith(`${n}s `));
112
113
  }
113
- function Ee(t) {
114
+ function it(t) {
114
115
  if (!t) return null;
115
- const e = Jt(t);
116
+ const e = ne(t);
116
117
  if (!e) return null;
117
- const n = [..._e].sort((r, o) => o.length - r.length);
118
+ const n = [...Se].sort((r, o) => o.length - r.length);
118
119
  for (const r of n)
119
- if (Ce(e, r)) return r;
120
+ if (Le(e, r)) return r;
120
121
  return null;
121
122
  }
122
- function Re(t, e, n) {
123
- const r = ke[e];
123
+ function ve(t, e, n) {
124
+ const r = Ae[e];
124
125
  if (!r) return t;
125
126
  const o = n == null ? void 0 : n[r];
126
- return typeof o != "string" ? t : W(o) ? t.fill ? { ...t, fill: "transparent" } : t.stroke ? { ...t, stroke: "transparent" } : t : o.trim() ? t.fill ? { ...t, fill: o } : t.stroke ? { ...t, stroke: o } : t : t;
127
+ return typeof o != "string" ? t : V(o) ? t.fill ? { ...t, fill: "transparent" } : t.stroke ? { ...t, stroke: "transparent" } : t : o.trim() ? t.fill ? { ...t, fill: o } : t.stroke ? { ...t, stroke: o } : t : t;
127
128
  }
128
- function rt(t, e) {
129
- const n = Ee(t);
130
- return n ? Re(Qt[n], n, e) : null;
129
+ function st(t, e) {
130
+ const n = it(t);
131
+ return n ? ve(ee[n], n, e) : null;
131
132
  }
132
- function vt(t) {
133
+ function Hr(t) {
133
134
  var e;
134
- return ((e = rt(t)) == null ? void 0 : e.renderOrder) ?? Oe;
135
- }
136
- function zr(t, e) {
137
- return t.map((n, r) => ({ item: n, index: r })).sort((n, r) => {
138
- const o = vt(e(n.item)) - vt(e(r.item));
139
- return o !== 0 ? o : n.index - r.index;
140
- }).map(({ item: n }) => n);
141
- }
142
- function Le(t, e) {
135
+ return ((e = st(t)) == null ? void 0 : e.renderOrder) ?? Ce;
136
+ }
137
+ function nt(t) {
138
+ return it(t) === "parking-lane";
139
+ }
140
+ function rt(t) {
141
+ return it(t) === "parking-icon";
142
+ }
143
+ function gt(t) {
144
+ return it(t) === "green-area";
145
+ }
146
+ function Xr(t, e) {
147
+ const n = rt(t.layerName), r = rt(e.layerName);
148
+ if (n !== r) return n ? 1 : -1;
149
+ const o = nt(t.layerName), i = nt(e.layerName), c = gt(t.layerName), a = gt(e.layerName);
150
+ return o && a ? -1 : c && i ? 1 : t.index - e.index;
151
+ }
152
+ function Ur(t, e) {
153
+ const n = t.map((s, h) => ({
154
+ item: s,
155
+ index: h,
156
+ layerName: e(s)
157
+ })), r = n.filter((s) => rt(s.layerName)), o = n.filter((s) => nt(s.layerName)), i = n.filter(
158
+ (s) => !rt(s.layerName) && !nt(s.layerName)
159
+ ), c = i.findIndex((s) => gt(s.layerName));
160
+ return [...c >= 0 ? [
161
+ ...i.slice(0, c),
162
+ ...o,
163
+ ...i.slice(c)
164
+ ] : [...i, ...o].sort((s, h) => s.index - h.index), ...r].map((s) => s.item);
165
+ }
166
+ function Ne(t, e) {
143
167
  const n = (e == null ? void 0 : e.omitStaticLayers) === !0, r = /* @__PURE__ */ new Set();
144
168
  for (const o of t) {
145
169
  const i = o.sourceSvgId;
146
- i && (n && rt(i) || r.add(i));
170
+ i && (n && st(i) || r.add(i));
147
171
  }
148
172
  return r;
149
173
  }
150
- function $r(t) {
151
- return Le(
174
+ function Vr(t) {
175
+ return Ne(
152
176
  t.flatMap((e) => [...e.shapes]),
153
177
  { omitStaticLayers: !0 }
154
178
  );
155
179
  }
156
- const Gr = ["escalator", "elevator"];
157
- function ve(t) {
180
+ const Wr = ["escalator", "elevator"];
181
+ function Te(t) {
158
182
  return t === "escalator" || t === "elevator";
159
183
  }
160
- const H = {
184
+ const X = {
161
185
  MAP_STYLE: "2D",
162
186
  MAP_BACKGROUND_COLOR: "#FFFFFF",
163
187
  ACCENT_COLOR: "#2563eb",
@@ -175,72 +199,73 @@ const H = {
175
199
  OVERLAY_COLOR: "#000000",
176
200
  OVERLAY_OPACITY: 0.15,
177
201
  PARKING_ZONE_COLOR: "#cbd5e1",
178
- ...Se(),
179
- ...Ae(),
202
+ ...Ee(),
203
+ ...Re(),
180
204
  KIOSK_SIZE: 12,
181
205
  ZOOM_STEP: 0.5,
182
206
  CAMERA_MAX_DISTANCE: 2e3,
183
207
  CAMERA_MIN_DISTANCE: 50
184
- }, Ne = "#f5f5f5", Te = /* @__PURE__ */ new Set(["#f8fafc", "#f1efea"]), Me = "#86efac", we = "#7dd3fc", Pe = "#e2e8f0", Fe = 500, De = 100;
185
- function te(t) {
208
+ }, Me = "#f5f5f5", we = /* @__PURE__ */ new Set(["#f8fafc", "#f1efea"]), Pe = "#86efac", Fe = "#7dd3fc", De = "#e2e8f0", Ke = 500, Ye = 100;
209
+ function re(t) {
186
210
  const e = typeof t == "number" ? t : Number(t);
187
- return !Number.isFinite(e) || e <= 0 ? 0 : Math.min(e, Fe);
211
+ return !Number.isFinite(e) || e <= 0 ? 0 : Math.min(e, Ke);
188
212
  }
189
- function Ke(t) {
213
+ function Be(t) {
190
214
  const e = typeof t == "number" ? t : Number(t);
191
- return !Number.isFinite(e) || e <= 0 ? H.ROUTE_THICKNESS : Math.min(e, De);
215
+ return !Number.isFinite(e) || e <= 0 ? X.ROUTE_THICKNESS : Math.min(e, Ye);
192
216
  }
193
- function Ye(...t) {
194
- const e = Object.assign({}, H, ...t.filter(Boolean));
195
- return e.MAP_BACKGROUND_COLOR.toLowerCase() === Ne && (e.MAP_BACKGROUND_COLOR = H.MAP_BACKGROUND_COLOR), Te.has(e.WALKABLE_COLOR.toLowerCase()) && (e.WALKABLE_COLOR = qt), e.GREEN_AREA_COLOR.toLowerCase() === Me && (e.GREEN_AREA_COLOR = H.GREEN_AREA_COLOR), e.WATER_COLOR.toLowerCase() === we && (e.WATER_COLOR = H.WATER_COLOR), e.STORE_DEFAULT_COLOR.toLowerCase() === Pe && (e.STORE_DEFAULT_COLOR = H.STORE_DEFAULT_COLOR), e.STORE_RADIUS = te(e.STORE_RADIUS), e.ROUTE_THICKNESS = Ke(e.ROUTE_THICKNESS), e;
217
+ function ze(...t) {
218
+ const e = Object.assign({}, X, ...t.filter(Boolean));
219
+ return e.MAP_BACKGROUND_COLOR.toLowerCase() === Me && (e.MAP_BACKGROUND_COLOR = X.MAP_BACKGROUND_COLOR), we.has(e.WALKABLE_COLOR.toLowerCase()) && (e.WALKABLE_COLOR = te), e.GREEN_AREA_COLOR.toLowerCase() === Pe && (e.GREEN_AREA_COLOR = X.GREEN_AREA_COLOR), e.WATER_COLOR.toLowerCase() === Fe && (e.WATER_COLOR = X.WATER_COLOR), e.STORE_DEFAULT_COLOR.toLowerCase() === De && (e.STORE_DEFAULT_COLOR = X.STORE_DEFAULT_COLOR), e.STORE_RADIUS = re(e.STORE_RADIUS), e.ROUTE_THICKNESS = Be(e.ROUTE_THICKNESS), e;
196
220
  }
197
- const Be = [
221
+ const Ge = [
198
222
  "unit",
199
223
  "amenity",
200
224
  "kiosk_screen",
201
225
  "connector",
202
226
  "entrance",
203
- "parking_zone"
204
- ], xt = 1e4, Xr = 2.5, nt = "entrance", Hr = 24, ze = 8;
205
- function $e(t) {
227
+ "parking_zone",
228
+ "custom"
229
+ ], _t = 1e4, Zr = 2.5, ot = "entrance", jr = 24, $e = 8;
230
+ function He(t) {
206
231
  var o;
207
232
  if (!t) return !1;
208
233
  const e = t.trim();
209
- return e ? e === nt ? !0 : ((o = (e.split(/[?#]/, 1)[0] ?? e).split("/").filter(Boolean).pop()) == null ? void 0 : o.toLowerCase()) === nt : !1;
234
+ return e ? e === ot ? !0 : ((o = (e.split(/[?#]/, 1)[0] ?? e).split("/").filter(Boolean).pop()) == null ? void 0 : o.toLowerCase()) === ot : !1;
210
235
  }
211
- function Ge(t) {
236
+ function Xe(t) {
212
237
  var e;
213
- return t.kind !== "entrance" ? !1 : $e((e = t.label) == null ? void 0 : e.imageKey) ? !0 : t.origin === "manual" && !t.sourceSvgId;
238
+ return t.kind !== "entrance" ? !1 : He((e = t.label) == null ? void 0 : e.imageKey) ? !0 : t.origin === "manual" && !t.sourceSvgId;
214
239
  }
215
- function ee(t) {
240
+ function oe(t) {
216
241
  var e;
217
- return !Ge(t) || ((e = t.label) == null ? void 0 : e.imageKey) === nt ? t.label : {
242
+ return !Xe(t) || ((e = t.label) == null ? void 0 : e.imageKey) === ot ? t.label : {
218
243
  ...t.label ?? {},
219
- imageKey: nt
244
+ imageKey: ot
220
245
  };
221
246
  }
222
- function Vr(t, e, n) {
247
+ function qr(t, e, n) {
223
248
  const r = e != null ? { ...t, ...e } : { ...t ?? {} };
224
- return ee({
249
+ return oe({
225
250
  ...n,
226
251
  kind: n.kind ?? "unit",
227
252
  label: r
228
253
  }) ?? r;
229
254
  }
230
- function Wr(t) {
231
- return Math.max(ze, t);
255
+ function Qr(t) {
256
+ return Math.max($e, t);
232
257
  }
233
- const Ur = ["left", "center", "right"], Xe = "center";
234
- function Zr(t) {
235
- return t === "left" || t === "right" ? t : Xe;
258
+ const Jr = ["left", "center", "right"], Ue = "center";
259
+ function to(t) {
260
+ return t === "left" || t === "right" ? t : Ue;
236
261
  }
237
- function jr(t, e) {
262
+ function eo(t, e) {
238
263
  return e === "left" ? t.minX : e === "right" ? t.maxX : (t.minX + t.maxX) / 2;
239
264
  }
240
- function qr(t) {
265
+ function no(t) {
241
266
  return t === "left" ? "start" : t === "right" ? "end" : "middle";
242
267
  }
243
- const ot = 12, He = ot, Ve = 4, We = [
268
+ const ct = 12, Ve = ct, We = 4, Ze = [
244
269
  "retail_name",
245
270
  "retail_logo",
246
271
  "retail_text",
@@ -249,21 +274,21 @@ const ot = 12, He = ot, Ve = 4, We = [
249
274
  "connector",
250
275
  "custom_text",
251
276
  "custom_image"
252
- ], Ue = new Set(We);
253
- function U(t, e) {
277
+ ], je = new Set(Ze);
278
+ function W(t, e) {
254
279
  const n = typeof t == "number" ? t : Number(t);
255
280
  return Number.isFinite(n) ? n : e;
256
281
  }
257
- const Ze = /^(?:|[+\-]|[+\-]?\.(?:0*)?)$/;
258
- function je(t) {
282
+ const qe = /^(?:|[+\-]|[+\-]?\.(?:0*)?)$/;
283
+ function Qe(t) {
259
284
  const e = t.trim();
260
- if (Ze.test(e))
285
+ if (qe.test(e))
261
286
  return { render: 0, complete: !1 };
262
287
  const n = Number(e);
263
288
  return Number.isFinite(n) ? { render: n, complete: !0 } : { render: 0, complete: !1 };
264
289
  }
265
- function Qr(t) {
266
- const e = je(t);
290
+ function ro(t) {
291
+ const e = Qe(t);
267
292
  return e.complete ? { display: String(e.render), render: e.render } : { display: "0", render: 0 };
268
293
  }
269
294
  function F(t) {
@@ -271,26 +296,36 @@ function F(t) {
271
296
  const e = String(t).trim();
272
297
  return e || null;
273
298
  }
274
- function qe(t) {
299
+ function Je(t) {
275
300
  if (t == null) return null;
276
301
  const e = String(t);
277
302
  return e === "" ? null : e;
278
303
  }
279
- function lt(t) {
304
+ function dt(t) {
280
305
  if (t == null || t === "") return null;
281
306
  const e = Number(t);
282
307
  return Number.isFinite(e) ? e : null;
283
308
  }
284
- function Qe(t) {
285
- return typeof t == "string" && Ue.has(t);
309
+ function tn(t) {
310
+ return typeof t == "string" && je.has(t);
286
311
  }
287
- function _t(t) {
288
- return t === "amenity" ? "amenity" : t === "kiosk_screen" ? "kiosk" : t === "connector" ? "connector" : "retail_name";
312
+ function At(t) {
313
+ return t === "amenity" ? "amenity" : t === "kiosk_screen" ? "kiosk" : t === "connector" ? "connector" : t === "custom" ? "custom_text" : "retail_name";
289
314
  }
290
- function Jr(t) {
315
+ function en(t) {
316
+ const e = t == null ? void 0 : t.trim();
317
+ if (!e) return !1;
318
+ try {
319
+ const n = new URL(e);
320
+ return n.protocol === "http:" || n.protocol === "https:";
321
+ } catch {
322
+ return !1;
323
+ }
324
+ }
325
+ function oo(t) {
291
326
  return t === "amenity" ? "amenity" : t === "kiosk_screen" ? "kiosk" : t === "unit" || t === "parking_zone" ? "retailer" : "none";
292
327
  }
293
- function to(t, e) {
328
+ function io(t, e) {
294
329
  return {
295
330
  shapeId: t,
296
331
  targetType: "none",
@@ -301,8 +336,8 @@ function to(t, e) {
301
336
  unitNumber: null,
302
337
  customLabel: null,
303
338
  customImageKey: null,
304
- layerType: _t(e),
305
- size: ot,
339
+ layerType: At(e),
340
+ size: ct,
306
341
  rotate: 0,
307
342
  offsetX: 0,
308
343
  offsetY: 0,
@@ -310,41 +345,41 @@ function to(t, e) {
310
345
  textColor: null
311
346
  };
312
347
  }
313
- function eo(t, e = "unit") {
348
+ function so(t, e = "unit") {
314
349
  const n = t.layerType ?? t.layer_type, r = t.unitStatus ?? t.unit_status ?? "vacant";
315
350
  return {
316
- shapeId: U(
351
+ shapeId: W(
317
352
  t.shapeId ?? t.shape_id,
318
353
  0
319
354
  ),
320
355
  targetType: t.targetType ?? t.target_type ?? "none",
321
- retailerId: lt(
356
+ retailerId: dt(
322
357
  t.retailerId ?? t.retailer_id
323
358
  ),
324
- amenityId: lt(
359
+ amenityId: dt(
325
360
  t.amenityId ?? t.amenity_id
326
361
  ),
327
- kioskId: lt(
362
+ kioskId: dt(
328
363
  t.kioskId ?? t.kiosk_id
329
364
  ),
330
365
  unitStatus: r || "vacant",
331
366
  unitNumber: F(
332
367
  t.unitNumber ?? t.unit_number
333
368
  ),
334
- customLabel: qe(
369
+ customLabel: Je(
335
370
  t.customLabel ?? t.custom_label
336
371
  ),
337
372
  customImageKey: F(
338
373
  t.customImageKey ?? t.custom_image_key
339
374
  ),
340
- layerType: Qe(n) ? n : _t(e),
341
- size: U(t.size, ot),
342
- rotate: U(t.rotate, 0),
343
- offsetX: U(
375
+ layerType: tn(n) ? n : At(e),
376
+ size: W(t.size, ct),
377
+ rotate: W(t.rotate, 0),
378
+ offsetX: W(
344
379
  t.offsetX ?? t.offset_x,
345
380
  0
346
381
  ),
347
- offsetY: U(
382
+ offsetY: W(
348
383
  t.offsetY ?? t.offset_y,
349
384
  0
350
385
  ),
@@ -354,55 +389,55 @@ function eo(t, e = "unit") {
354
389
  textColor: F(
355
390
  t.textColor ?? t.text_color
356
391
  ),
357
- align: Je(t.align)
392
+ align: nn(t.align)
358
393
  };
359
394
  }
360
- function Je(t) {
395
+ function nn(t) {
361
396
  if (t === "left" || t === "right" || t === "center") return t;
362
397
  }
363
- function no(t, e) {
398
+ function co(t, e) {
364
399
  const n = (t.location ?? "").trim();
365
400
  return e && n && n !== "-" ? `${t.name} (${n})` : t.name;
366
401
  }
367
- function Nt(t, e) {
402
+ function wt(t, e) {
368
403
  var r;
369
404
  const n = (r = t == null ? void 0 : t.bgColor) == null ? void 0 : r.trim();
370
- return W(n) ? "transparent" : n || e;
405
+ return V(n) ? "transparent" : n || e;
371
406
  }
372
- function kt(t) {
407
+ function Ct(t) {
373
408
  return t === "amenity" || t === "kiosk_screen" || t === "connector";
374
409
  }
375
- function ro(t, e) {
376
- return kt(t) ? gt : e;
410
+ function ao(t, e) {
411
+ return Ct(t) ? St : e;
377
412
  }
378
- function oo(t, e) {
413
+ function lo(t, e) {
379
414
  var r;
380
415
  const n = (r = t == null ? void 0 : t.textColor) == null ? void 0 : r.trim();
381
- return W(n) ? "transparent" : n || e;
416
+ return V(n) ? "transparent" : n || e;
382
417
  }
383
- function tn(t, e, n) {
384
- const r = (t == null ? void 0 : t.layerType) ?? (n ? _t(n) : void 0);
418
+ function rn(t, e, n) {
419
+ const r = (t == null ? void 0 : t.layerType) ?? (n ? At(n) : void 0);
385
420
  return r === "kiosk" ? e.KIOSK_ICON_COLOR : r === "amenity" ? e.AMENITY_ICON_COLOR : r === "connector" ? e.CONNECTOR_ICON_COLOR : e.STORE_TEXT_COLOR;
386
421
  }
387
- function io(t, e, n, r) {
422
+ function uo(t, e, n, r) {
388
423
  var i;
389
424
  const o = (i = n ?? (t == null ? void 0 : t.textColor)) == null ? void 0 : i.trim();
390
- return W(o) ? "transparent" : o || tn(t, e, r);
425
+ return V(o) ? "transparent" : o || rn(t, e, r);
391
426
  }
392
- function so(t) {
427
+ function fo(t) {
393
428
  const e = t.trim();
394
429
  if (!e || !/^\d+$/.test(e)) return null;
395
430
  const n = Number(e);
396
431
  return Number.isSafeInteger(n) && n > 0 ? n : null;
397
432
  }
398
- function co(t, e) {
433
+ function ho(t, e) {
399
434
  var o;
400
435
  const n = e == null ? void 0 : e.trim();
401
436
  if (n) return n;
402
437
  const r = (o = t == null ? void 0 : t.customLabel) == null ? void 0 : o.trim();
403
438
  return r || ((t == null ? void 0 : t.amenityId) != null ? `Amenity ${t.amenityId}` : null);
404
439
  }
405
- function ao(t, e) {
440
+ function yo(t, e) {
406
441
  var o;
407
442
  const n = (o = t == null ? void 0 : t.customLabel) == null ? void 0 : o.trim();
408
443
  if (n) return n;
@@ -410,32 +445,33 @@ function ao(t, e) {
410
445
  return r || ((t == null ? void 0 : t.kioskId) != null ? `Kiosk ${t.kioskId}` : null);
411
446
  }
412
447
  function N(t) {
413
- var e, n;
414
- return t ? t.targetType === "retailer" ? t.retailerId != null : t.targetType === "amenity" ? t.amenityId != null || !!((e = t.customLabel) != null && e.trim()) : t.targetType === "kiosk" ? t.kioskId != null || !!((n = t.customLabel) != null && n.trim()) : !1 : !1;
448
+ var e, n, r;
449
+ return t ? t.targetType === "retailer" ? t.retailerId != null : t.targetType === "amenity" ? t.amenityId != null || !!((e = t.customLabel) != null && e.trim()) : t.targetType === "kiosk" ? t.kioskId != null || !!((n = t.customLabel) != null && n.trim()) : t.targetType === "none" && t.layerType === "custom_text" ? !!((r = t.customLabel) != null && r.trim()) : t.targetType === "none" && t.layerType === "custom_image" ? en(t.customImageKey) : !1 : !1;
415
450
  }
416
- const en = /* @__PURE__ */ new Set([
451
+ const on = /* @__PURE__ */ new Set([
417
452
  "unit",
418
453
  "parking_zone",
419
454
  "amenity",
420
- "kiosk_screen"
455
+ "kiosk_screen",
456
+ "custom"
421
457
  ]);
422
- function ne(t, e, n) {
458
+ function ie(t, e, n) {
423
459
  var r, o;
424
- return t.kind === "label" ? t.label : t.kind === "entrance" ? ee(t) ?? t.label : t.kind === "connector" || (e == null ? void 0 : e.layerType) === "connector" ? e ? Mt(
460
+ return t.kind === "label" ? t.label : t.kind === "entrance" ? oe(t) ?? t.label : t.kind === "connector" || (e == null ? void 0 : e.layerType) === "connector" ? e ? Ft(
425
461
  { style: t.style ?? {}, label: t.label },
426
462
  e,
427
463
  n
428
- ).label : t.label : en.has(t.kind) ? !e || !N(e) ? !((r = t.label) != null && r.text) && !((o = t.label) != null && o.imageKey) ? t.label : {
464
+ ).label : t.label : on.has(t.kind) ? !e || !N(e) ? !((r = t.label) != null && r.text) && !((o = t.label) != null && o.imageKey) ? t.label : {
429
465
  ...t.label,
430
466
  text: void 0,
431
467
  imageKey: void 0
432
- } : Mt(
468
+ } : Ft(
433
469
  { style: t.style ?? {}, label: t.label },
434
470
  e,
435
471
  n
436
472
  ).label : t.label;
437
473
  }
438
- function nn(t, e) {
474
+ function sn(t, e) {
439
475
  if (N(t)) {
440
476
  if (t.layerType === "retail_text" || t.layerType === "custom_text")
441
477
  return t.customLabel ?? void 0;
@@ -443,11 +479,11 @@ function nn(t, e) {
443
479
  return (e == null ? void 0 : e.name) ?? t.customLabel ?? void 0;
444
480
  }
445
481
  }
446
- function re(t, e, n) {
482
+ function se(t, e, n) {
447
483
  if (!(!N(t) || !t) && !(t.layerType !== "retail_logo" && t.layerType !== "custom_image"))
448
- return on(t, e) ?? F(n == null ? void 0 : n.imageKey) ?? void 0;
484
+ return an(t, e) ?? F(n == null ? void 0 : n.imageKey) ?? void 0;
449
485
  }
450
- function lo(t, e) {
486
+ function po(t, e) {
451
487
  var n, r;
452
488
  if (!(!N(t) || !t)) {
453
489
  if (t.layerType === "kiosk") return "kiosk";
@@ -455,15 +491,15 @@ function lo(t, e) {
455
491
  return ((n = e == null ? void 0 : e.find((o) => o.id === t.amenityId)) == null ? void 0 : n.code) ?? ((r = t.customLabel) == null ? void 0 : r.trim()) ?? void 0;
456
492
  }
457
493
  }
458
- function rn(t, e) {
459
- const n = Number.isFinite(t) && t > 0 ? t : ot;
460
- return (e == null ? void 0 : e.layerType) === "retail_logo" ? n * Ve : n;
494
+ function cn(t, e) {
495
+ const n = Number.isFinite(t) && t > 0 ? t : ct;
496
+ return (e == null ? void 0 : e.layerType) === "retail_logo" || (e == null ? void 0 : e.layerType) === "custom_image" ? n * We : n;
461
497
  }
462
- function uo(t) {
498
+ function mo(t) {
463
499
  const e = t.assignment, n = t.label;
464
500
  return {
465
- size: rn(
466
- (e == null ? void 0 : e.size) ?? (n == null ? void 0 : n.size) ?? He
501
+ size: cn(
502
+ (e == null ? void 0 : e.size) ?? (n == null ? void 0 : n.size) ?? Ve
467
503
  ),
468
504
  rotate: (e == null ? void 0 : e.rotate) ?? (n == null ? void 0 : n.rotate) ?? 0,
469
505
  offsetX: (e == null ? void 0 : e.offsetX) ?? (n == null ? void 0 : n.offsetX) ?? 0,
@@ -471,11 +507,11 @@ function uo(t) {
471
507
  iconColor: (e == null ? void 0 : e.textColor) ?? (n == null ? void 0 : n.color) ?? null
472
508
  };
473
509
  }
474
- function fo(t, e) {
510
+ function xo(t, e) {
475
511
  var n;
476
- return N(t) ? (t == null ? void 0 : t.layerType) === "kiosk" || (t == null ? void 0 : t.layerType) === "amenity" || re(t, null, e) ? !0 : !!((n = e == null ? void 0 : e.text) != null && n.trim()) : !1;
512
+ return N(t) ? (t == null ? void 0 : t.layerType) === "kiosk" || (t == null ? void 0 : t.layerType) === "amenity" || se(t, null, e) ? !0 : !!((n = e == null ? void 0 : e.text) != null && n.trim()) : !1;
477
513
  }
478
- function on(t, e) {
514
+ function an(t, e) {
479
515
  if (N(t)) {
480
516
  if (t.layerType === "retail_logo")
481
517
  return F(e == null ? void 0 : e.logoKey) ?? F(e == null ? void 0 : e.logoUrl) ?? F(t.customImageKey) ?? void 0;
@@ -483,27 +519,27 @@ function on(t, e) {
483
519
  return F(t.customImageKey) ?? void 0;
484
520
  }
485
521
  }
486
- function ut(t) {
522
+ function ht(t) {
487
523
  if (t.length === 0) return "";
488
524
  const e = t[0];
489
525
  return t.every((n) => n === e) ? e : "";
490
526
  }
491
- function Tt(t) {
527
+ function Pt(t) {
492
528
  if (t.length === 0) return !1;
493
529
  const e = t[0];
494
530
  return t.some((n) => n !== e);
495
531
  }
496
- function ho(t) {
532
+ function bo(t) {
497
533
  const e = t.map((r) => r.bgColor ?? ""), n = t.map((r) => r.textColor ?? "");
498
534
  return {
499
- size: ut(t.map((r) => r.size)),
500
- bgColor: ut(e),
501
- textColor: ut(n),
502
- bgColorMixed: Tt(e),
503
- textColorMixed: Tt(n)
535
+ size: ht(t.map((r) => r.size)),
536
+ bgColor: ht(e),
537
+ textColor: ht(n),
538
+ bgColorMixed: Pt(e),
539
+ textColorMixed: Pt(n)
504
540
  };
505
541
  }
506
- function yo(t, e) {
542
+ function Io(t, e) {
507
543
  return {
508
544
  ...t,
509
545
  ...e.size != null ? { size: e.size } : {},
@@ -511,8 +547,8 @@ function yo(t, e) {
511
547
  ...e.textColor !== void 0 ? { textColor: e.textColor } : {}
512
548
  };
513
549
  }
514
- function Mt(t, e, n) {
515
- const r = re(e, n, t.label), o = N(e) ? r ? void 0 : nn(e, n) ?? t.label.text : void 0;
550
+ function Ft(t, e, n) {
551
+ const r = se(e, n, t.label), o = N(e) ? r ? void 0 : sn(e, n) ?? t.label.text : void 0;
516
552
  return {
517
553
  style: {
518
554
  ...t.style,
@@ -531,7 +567,7 @@ function Mt(t, e, n) {
531
567
  }
532
568
  };
533
569
  }
534
- const sn = [
570
+ const ln = [
535
571
  "floorplate",
536
572
  "walkable",
537
573
  "decor",
@@ -540,107 +576,107 @@ const sn = [
540
576
  "water",
541
577
  "parking_zone"
542
578
  ];
543
- function cn(t) {
579
+ function un(t) {
544
580
  return t === "void";
545
581
  }
546
- function po(t) {
547
- return sn.includes(t);
582
+ function go(t) {
583
+ return ln.includes(t);
548
584
  }
549
- function oe(t) {
550
- return cn(t.kind) && !t.orphanedAt;
585
+ function ce(t) {
586
+ return un(t.kind) && !t.orphanedAt;
551
587
  }
552
- function an(t) {
553
- return (t.shapes ?? []).some(oe);
588
+ function fn(t) {
589
+ return (t.shapes ?? []).some(ce);
554
590
  }
555
- function mo(t) {
591
+ function _o(t) {
556
592
  var n;
557
593
  const e = [];
558
594
  for (const r of t.shapes ?? [])
559
- if (oe(r))
595
+ if (ce(r))
560
596
  for (const o of ((n = r.geometry) == null ? void 0 : n.polygons) ?? [])
561
597
  o.length >= 3 && e.push(o);
562
598
  return e;
563
599
  }
564
- function wt(t) {
600
+ function Dt(t) {
565
601
  let e = 0;
566
602
  for (let n = 0, r = t.length - 1; n < t.length; r = n++)
567
603
  e += t[r].x * t[n].y - t[n].x * t[r].y;
568
604
  return e / 2;
569
605
  }
570
- function ln(t) {
606
+ function dn(t) {
571
607
  return t.slice().reverse();
572
608
  }
573
- function un(t, e) {
574
- const n = wt(t), r = wt(e);
575
- return n === 0 || r === 0 ? e : Math.sign(n) === Math.sign(r) ? ln(e) : e;
609
+ function hn(t, e) {
610
+ const n = Dt(t), r = Dt(e);
611
+ return n === 0 || r === 0 ? e : Math.sign(n) === Math.sign(r) ? dn(e) : e;
576
612
  }
577
- function Pt(t) {
613
+ function Kt(t) {
578
614
  let e = 1 / 0, n = 1 / 0, r = -1 / 0, o = -1 / 0;
579
615
  for (const i of t)
580
616
  i.x < e && (e = i.x), i.y < n && (n = i.y), i.x > r && (r = i.x), i.y > o && (o = i.y);
581
617
  return { minX: e, minY: n, maxX: r, maxY: o };
582
618
  }
583
- function fn(t, e) {
584
- const n = Pt(t), r = Pt(e);
619
+ function yn(t, e) {
620
+ const n = Kt(t), r = Kt(e);
585
621
  return n.minX <= r.maxX && n.maxX >= r.minX && n.minY <= r.maxY && n.maxY >= r.minY;
586
622
  }
587
- function xo(t, e) {
588
- return e.filter((n) => n.length >= 3 && fn(t, n)).map((n) => un(t, n));
623
+ function ko(t, e) {
624
+ return e.filter((n) => n.length >= 3 && yn(t, n)).map((n) => hn(t, n));
589
625
  }
590
- const bo = "#e8eef4", Io = "#64748b", go = "#475569";
591
- function dn(t, e) {
626
+ const Oo = "#e8eef4", So = "#64748b", Ao = "#475569";
627
+ function pn(t, e) {
592
628
  return t.ordering - e.ordering || t.levelIndex - e.levelIndex;
593
629
  }
594
- function V(t) {
630
+ function U(t) {
595
631
  return t.kind === "outdoor";
596
632
  }
597
- function hn(t, e) {
598
- const n = t.filter(V), r = e == null ? null : t.find((o) => o.id === e) ?? null;
599
- return !r || V(r) || n.some((o) => o.id === r.id) ? n : [...n, r];
633
+ function mn(t, e) {
634
+ const n = t.filter(U), r = e == null ? null : t.find((o) => o.id === e) ?? null;
635
+ return !r || U(r) || n.some((o) => o.id === r.id) ? n : [...n, r];
600
636
  }
601
- function yn(t, e) {
637
+ function xn(t, e) {
602
638
  if (e == null) return [];
603
- const n = it(t), r = n.findIndex((l) => l.id === e);
639
+ const n = at(t), r = n.findIndex((c) => c.id === e);
604
640
  if (r < 0) return [];
605
641
  const o = [];
606
642
  let i = n[r];
607
- for (let l = r; l < n.length - 1 && an(i); l++) {
608
- const c = n[l + 1];
609
- if (!c) break;
610
- o.unshift(c), i = c;
643
+ for (let c = r; c < n.length - 1 && fn(i); c++) {
644
+ const a = n[c + 1];
645
+ if (!a) break;
646
+ o.unshift(a), i = a;
611
647
  }
612
648
  return o;
613
649
  }
614
- function _o(t, e) {
615
- return yn(t, e).at(-1) ?? null;
650
+ function Co(t, e) {
651
+ return xn(t, e).at(-1) ?? null;
616
652
  }
617
- function ko(t, e, n) {
653
+ function Eo(t, e, n) {
618
654
  const r = t.find((i) => i.id === n);
619
- if (!r || !V(r)) return n;
655
+ if (!r || !U(r)) return n;
620
656
  const o = e == null ? null : t.find((i) => i.id === e) ?? null;
621
- return o && !V(o) ? o.id : xn(t) ?? n;
657
+ return o && !U(o) ? o.id : gn(t) ?? n;
622
658
  }
623
- function it(t) {
624
- return t.filter((e) => e.kind === "floor").slice().sort(dn);
659
+ function at(t) {
660
+ return t.filter((e) => e.kind === "floor").slice().sort(pn);
625
661
  }
626
- function Oo(t) {
627
- return it(t);
662
+ function Ro(t) {
663
+ return at(t);
628
664
  }
629
- function So(t) {
630
- return it(t).length > 1;
665
+ function Lo(t) {
666
+ return at(t).length > 1;
631
667
  }
632
- function pn(t) {
668
+ function bn(t) {
633
669
  return t.some((e) => e.kind === "floor");
634
670
  }
635
- function mn(t) {
636
- return t.some(V);
671
+ function In(t) {
672
+ return t.some(U);
637
673
  }
638
- const Ao = "This map doesn’t have any floors yet.";
639
- function xn(t) {
674
+ const vo = "This map doesn’t have any floors yet.";
675
+ function gn(t) {
640
676
  var e, n;
641
- return ((e = it(t).at(-1)) == null ? void 0 : e.id) ?? ((n = t[0]) == null ? void 0 : n.id) ?? null;
677
+ return ((e = at(t).at(-1)) == null ? void 0 : e.id) ?? ((n = t[0]) == null ? void 0 : n.id) ?? null;
642
678
  }
643
- function Ft(t) {
679
+ function Yt(t) {
644
680
  return {
645
681
  minX: t.x,
646
682
  minY: t.y,
@@ -651,20 +687,20 @@ function Ft(t) {
651
687
  size: Math.max(t.width, t.height, 100)
652
688
  };
653
689
  }
654
- function bn(t, e) {
655
- const n = e.scale || 1, r = (e.rotate || 0) * Math.PI / 180, o = Math.cos(r), i = Math.sin(r), l = t.x * n, c = t.y * n;
690
+ function _n(t, e) {
691
+ const n = e.scale || 1, r = (e.rotate || 0) * Math.PI / 180, o = Math.cos(r), i = Math.sin(r), c = t.x * n, a = t.y * n;
656
692
  return {
657
- x: l * o - c * i + (e.translateX || 0),
658
- y: l * i + c * o + (e.translateY || 0)
693
+ x: c * o - a * i + (e.translateX || 0),
694
+ y: c * i + a * o + (e.translateY || 0)
659
695
  };
660
696
  }
661
- function In(t, e) {
697
+ function kn(t, e) {
662
698
  const n = [
663
699
  { x: t.minX, y: t.minY },
664
700
  { x: t.maxX, y: t.minY },
665
701
  { x: t.minX, y: t.maxY },
666
702
  { x: t.maxX, y: t.maxY }
667
- ].map((c) => e ? bn(c, e) : c), r = Math.min(
703
+ ].map((a) => e ? _n(a, e) : a), r = Math.min(
668
704
  n[0].x,
669
705
  n[1].x,
670
706
  n[2].x,
@@ -679,7 +715,7 @@ function In(t, e) {
679
715
  n[1].x,
680
716
  n[2].x,
681
717
  n[3].x
682
- ), l = Math.max(
718
+ ), c = Math.max(
683
719
  n[0].y,
684
720
  n[1].y,
685
721
  n[2].y,
@@ -689,13 +725,13 @@ function In(t, e) {
689
725
  minX: r,
690
726
  minY: o,
691
727
  maxX: i,
692
- maxY: l,
728
+ maxY: c,
693
729
  cx: (r + i) / 2,
694
- cy: (o + l) / 2,
695
- size: Math.max(i - r, l - o, 100)
730
+ cy: (o + c) / 2,
731
+ size: Math.max(i - r, c - o, 100)
696
732
  };
697
733
  }
698
- function Dt(t, e) {
734
+ function Bt(t, e) {
699
735
  const n = Math.min(t.minX, e.minX), r = Math.min(t.minY, e.minY), o = Math.max(t.maxX, e.maxX), i = Math.max(t.maxY, e.maxY);
700
736
  return {
701
737
  minX: n,
@@ -707,31 +743,31 @@ function Dt(t, e) {
707
743
  size: Math.max(o - n, i - r, 100)
708
744
  };
709
745
  }
710
- function Co(t, e, n) {
711
- let r = n ? Ft(n) : null;
712
- for (const o of hn(t, e)) {
746
+ function No(t, e, n) {
747
+ let r = n ? Yt(n) : null;
748
+ for (const o of mn(t, e)) {
713
749
  if (o.viewbox) {
714
- const i = Ft(o.viewbox);
715
- r = r ? Dt(r, i) : i;
750
+ const i = Yt(o.viewbox);
751
+ r = r ? Bt(r, i) : i;
716
752
  }
717
753
  for (const i of o.shapes) {
718
- const l = In(i.bbox);
719
- r = r ? Dt(r, l) : l;
754
+ const c = kn(i.bbox);
755
+ r = r ? Bt(r, c) : c;
720
756
  }
721
757
  }
722
758
  return r ?? { minX: 0, minY: 0, maxX: 500, maxY: 500, cx: 250, cy: 250, size: 500 };
723
759
  }
724
- function Eo(t, e) {
760
+ function To(t, e) {
725
761
  if (!t && !e) return { x: 0, y: 0, width: 1e3, height: 800 };
726
762
  if (!t) return e;
727
763
  if (!e) return t;
728
764
  const n = Math.min(t.x, e.x), r = Math.min(t.y, e.y), o = Math.max(t.x + t.width, e.x + e.width), i = Math.max(t.y + t.height, e.y + e.height);
729
765
  return { x: n, y: r, width: o - n, height: i - r };
730
766
  }
731
- function Ro(t) {
767
+ function Mo(t) {
732
768
  return t === "PORTAL" ? "editor" : "viewer";
733
769
  }
734
- const ft = {
770
+ const yt = {
735
771
  search: !1,
736
772
  amenities: !1,
737
773
  floors: !0,
@@ -740,78 +776,78 @@ const ft = {
740
776
  fetchDraft: !1,
741
777
  storeModal: !1,
742
778
  hoverTooltip: !1
743
- }, gn = {
779
+ }, On = {
744
780
  /** v1 WP_SITE / MapBox HOST WEBSITE. */
745
- WEBSITE: { ...ft, storeModal: !0, hoverTooltip: !0 },
781
+ WEBSITE: { ...yt, storeModal: !0, hoverTooltip: !0 },
746
782
  /** Assign mode: click shapes, no public directory chrome. */
747
- PORTAL_ASSIGN: ft,
783
+ PORTAL_ASSIGN: yt,
748
784
  DISPLAY_APP: {
749
- ...ft,
785
+ ...yt,
750
786
  kioskOrigin: !0,
751
787
  hoverTooltip: !0
752
788
  }
753
789
  };
754
- function ie(t) {
755
- return gn[t];
790
+ function ae(t) {
791
+ return On[t];
756
792
  }
757
- function Lo(t) {
793
+ function wo(t) {
758
794
  return t !== "WEBSITE";
759
795
  }
760
- function vo(t) {
796
+ function Po(t) {
761
797
  return t !== "PORTAL";
762
798
  }
763
- function _n(t) {
799
+ function Sn(t) {
764
800
  return t === "WEBSITE" || t === "DISPLAY_APP";
765
801
  }
766
- function No(t, e) {
767
- return pn(e) ? !0 : _n(t) ? !1 : mn(e);
802
+ function Fo(t, e) {
803
+ return bn(e) ? !0 : Sn(t) ? !1 : In(e);
768
804
  }
769
- function Kt(...t) {
805
+ function zt(...t) {
770
806
  for (const e of t) {
771
807
  const n = e == null ? void 0 : e.trim();
772
808
  if (n) return n;
773
809
  }
774
810
  return null;
775
811
  }
776
- function To(t) {
777
- return ie(t).hoverTooltip;
812
+ function Do(t) {
813
+ return ae(t).hoverTooltip;
778
814
  }
779
- function Mo(t, e = [], n = []) {
780
- var r, o, i, l, c, s, h;
815
+ function Ko(t, e = [], n = []) {
816
+ var r, o, i, c, a, s, h;
781
817
  if (t.kind === "unit") {
782
- const p = (r = t.assignment) == null ? void 0 : r.retailerId, a = p != null ? e.find((x) => x.id === p) : void 0;
783
- return Kt(
784
- a == null ? void 0 : a.name,
818
+ const p = (r = t.assignment) == null ? void 0 : r.retailerId, l = p != null ? e.find((x) => x.id === p) : void 0;
819
+ return zt(
820
+ l == null ? void 0 : l.name,
785
821
  (o = t.assignment) == null ? void 0 : o.customLabel,
786
822
  (i = t.label) == null ? void 0 : i.text
787
823
  );
788
824
  }
789
825
  if (t.kind === "amenity") {
790
- const p = (l = t.assignment) == null ? void 0 : l.amenityId, a = (s = (c = t.assignment) == null ? void 0 : c.customLabel) == null ? void 0 : s.trim(), x = p != null ? n.find((d) => d.id === p) : void 0, u = a ? n.find((d) => d.code === a) : void 0;
791
- return Kt(x == null ? void 0 : x.name, u == null ? void 0 : u.name, a, (h = t.label) == null ? void 0 : h.text);
826
+ const p = (c = t.assignment) == null ? void 0 : c.amenityId, l = (s = (a = t.assignment) == null ? void 0 : a.customLabel) == null ? void 0 : s.trim(), x = p != null ? n.find((d) => d.id === p) : void 0, u = l ? n.find((d) => d.code === l) : void 0;
827
+ return zt(x == null ? void 0 : x.name, u == null ? void 0 : u.name, l, (h = t.label) == null ? void 0 : h.text);
792
828
  }
793
829
  return null;
794
830
  }
795
- function kn(t, e, n) {
831
+ function An(t, e, n) {
796
832
  var r;
797
833
  return t === "DISPLAY_APP" && e != null && n.kind === "kiosk_screen" && !n.orphanedAt && ((r = n.assignment) == null ? void 0 : r.kioskId) === e;
798
834
  }
799
- function wo(t, e, n) {
835
+ function Yo(t, e, n) {
800
836
  var r;
801
837
  for (const o of t.levels) {
802
838
  const i = o.shapes.find(
803
- (l) => kn(e, n, l)
839
+ (c) => An(e, n, c)
804
840
  );
805
841
  if (i)
806
842
  return {
807
843
  levelId: o.id,
808
844
  shapeId: i.id,
809
- anchorId: ((r = o.anchors.find((l) => l.shapeId === i.id)) == null ? void 0 : r.id) ?? null
845
+ anchorId: ((r = o.anchors.find((c) => c.shapeId === i.id)) == null ? void 0 : r.id) ?? null
810
846
  };
811
847
  }
812
848
  return null;
813
849
  }
814
- function Po(t) {
850
+ function Bo(t) {
815
851
  var o, i;
816
852
  const e = ((o = t.kioskOrigin) == null ? void 0 : o.anchorId) ?? null;
817
853
  if (t.kind === "chrome")
@@ -841,85 +877,85 @@ function Q(t) {
841
877
  function J(t) {
842
878
  return !t || typeof t != "object" ? null : k(t.url);
843
879
  }
844
- function Fo(t, e) {
880
+ function zo(t, e) {
845
881
  var n;
846
- return !e || !ie(t).storeModal ? !1 : e.kind === "unit" ? ((n = e.assignment) == null ? void 0 : n.retailerId) != null : e.kind === "amenity" ? N(e.assignment) : !1;
882
+ return !e || !ae(t).storeModal ? !1 : e.kind === "unit" ? ((n = e.assignment) == null ? void 0 : n.retailerId) != null : e.kind === "amenity" ? N(e.assignment) : !1;
847
883
  }
848
- function On(t, e) {
884
+ function Cn(t, e) {
849
885
  for (const n of t.levels) {
850
886
  const r = n.shapes.find((o) => o.id === e);
851
887
  if (r) return { level: n, shape: r };
852
888
  }
853
889
  return null;
854
890
  }
855
- function Sn(t, e) {
856
- var r, o, i, l;
857
- const n = ((r = t.assignment) == null ? void 0 : r.amenityId) != null ? e == null ? void 0 : e.find((c) => c.id === t.assignment.amenityId) : void 0;
858
- return k((o = t.assignment) == null ? void 0 : o.customLabel) || k(n == null ? void 0 : n.name) || k((i = t.label) == null ? void 0 : i.text) || k((l = t.assignment) == null ? void 0 : l.unitNumber) || t.key;
891
+ function En(t, e) {
892
+ var r, o, i, c;
893
+ const n = ((r = t.assignment) == null ? void 0 : r.amenityId) != null ? e == null ? void 0 : e.find((a) => a.id === t.assignment.amenityId) : void 0;
894
+ return k((o = t.assignment) == null ? void 0 : o.customLabel) || k(n == null ? void 0 : n.name) || k((i = t.label) == null ? void 0 : i.text) || k((c = t.assignment) == null ? void 0 : c.unitNumber) || t.key;
859
895
  }
860
- function Do(t, e) {
861
- var i, l;
862
- const n = On(t, e);
896
+ function Go(t, e) {
897
+ var i, c;
898
+ const n = Cn(t, e);
863
899
  if (!n) return null;
864
- const r = n.shape.kind === "amenity" ? "amenity" : "store", o = n.level.anchors.find((c) => c.shapeId === e);
900
+ const r = n.shape.kind === "amenity" ? "amenity" : "store", o = n.level.anchors.find((a) => a.shapeId === e);
865
901
  return {
866
902
  shapeId: e,
867
903
  levelId: n.level.id,
868
904
  anchorId: (o == null ? void 0 : o.id) ?? null,
869
905
  kind: r,
870
906
  retailerId: ((i = n.shape.assignment) == null ? void 0 : i.retailerId) ?? null,
871
- amenityId: ((l = n.shape.assignment) == null ? void 0 : l.amenityId) ?? null,
872
- name: Sn(n.shape, t.amenities),
873
- isExterior: V(n.level)
907
+ amenityId: ((c = n.shape.assignment) == null ? void 0 : c.amenityId) ?? null,
908
+ name: En(n.shape, t.amenities),
909
+ isExterior: U(n.level)
874
910
  };
875
911
  }
876
- const An = "Directions are unavailable for this location.";
877
- function Cn(t) {
912
+ const Rn = "Directions are unavailable for this location.";
913
+ function Ln(t) {
878
914
  return t ? t.isExterior || t.anchorId == null : !0;
879
915
  }
880
- function Ko(t, e) {
881
- const n = Cn(e), r = t !== "DISPLAY_APP";
916
+ function $o(t, e) {
917
+ const n = Ln(e), r = t !== "DISPLAY_APP";
882
918
  return {
883
919
  showFromRetailers: r && !n,
884
920
  showMapIt: r,
885
921
  mapItDisabled: n,
886
- mapItTooltip: r && n ? An : null
922
+ mapItTooltip: r && n ? Rn : null
887
923
  };
888
924
  }
889
- function En(t) {
925
+ function vn(t) {
890
926
  const e = /* @__PURE__ */ new Map();
891
927
  for (const n of t ?? [])
892
928
  (n == null ? void 0 : n.id) != null && e.set(n.id, n);
893
929
  return e;
894
930
  }
895
- function Rn(t, e) {
931
+ function Nn(t, e) {
896
932
  var n, r;
897
933
  return k(t == null ? void 0 : t.logoUrl) || k(t == null ? void 0 : t.logoKey) || k((n = e.label) == null ? void 0 : n.imageKey) || k((r = e.assignment) == null ? void 0 : r.customImageKey);
898
934
  }
899
- function Yo(t, e) {
900
- var i, l, c, s;
901
- const n = En(e ?? t.retailers), r = /* @__PURE__ */ new Map();
935
+ function Ho(t, e) {
936
+ var i, c, a, s;
937
+ const n = vn(e ?? t.retailers), r = /* @__PURE__ */ new Map();
902
938
  for (const h of t.levels)
903
939
  for (const p of h.shapes) {
904
- const a = (i = p.assignment) == null ? void 0 : i.retailerId;
905
- if (a == null || p.kind !== "unit") continue;
906
- const x = n.get(a), u = h.anchors.find((y) => y.shapeId === p.id), d = {
907
- id: a,
908
- name: k(x == null ? void 0 : x.name) || k((l = p.label) == null ? void 0 : l.text) || k((c = p.assignment) == null ? void 0 : c.customLabel) || `Store ${a}`,
940
+ const l = (i = p.assignment) == null ? void 0 : i.retailerId;
941
+ if (l == null || p.kind !== "unit") continue;
942
+ const x = n.get(l), u = h.anchors.find((y) => y.shapeId === p.id), d = {
943
+ id: l,
944
+ name: k(x == null ? void 0 : x.name) || k((c = p.label) == null ? void 0 : c.text) || k((a = p.assignment) == null ? void 0 : a.customLabel) || `Store ${l}`,
909
945
  location: k(x == null ? void 0 : x.location) || k((s = p.assignment) == null ? void 0 : s.unitNumber),
910
946
  phone: k(x == null ? void 0 : x.phone),
911
947
  description: k(x == null ? void 0 : x.description),
912
- logoUrl: Rn(x, p),
948
+ logoUrl: Nn(x, p),
913
949
  globalRetailerId: (x == null ? void 0 : x.globalRetailerId) ?? null,
914
950
  shapeId: p.id,
915
951
  levelId: h.id,
916
952
  anchorId: (u == null ? void 0 : u.id) ?? null
917
- }, f = r.get(a);
918
- (!f || f.anchorId == null && d.anchorId != null) && r.set(a, d);
953
+ }, f = r.get(l);
954
+ (!f || f.anchorId == null && d.anchorId != null) && r.set(l, d);
919
955
  }
920
956
  return Array.from(r.values()).sort((h, p) => h.name.localeCompare(p.name));
921
957
  }
922
- function Bo(t, e) {
958
+ function Xo(t, e) {
923
959
  const n = /* @__PURE__ */ new Map();
924
960
  for (const r of t)
925
961
  r.globalRetailerId != null && n.set(r.globalRetailerId, (n.get(r.globalRetailerId) ?? 0) + 1);
@@ -931,18 +967,18 @@ function Bo(t, e) {
931
967
  };
932
968
  });
933
969
  }
934
- function zo(t, e) {
970
+ function Uo(t, e) {
935
971
  return (t == null ? void 0 : t.anchorId) == null || (e == null ? void 0 : e.anchorId) == null ? null : {
936
972
  fromAnchorId: t.anchorId,
937
973
  toAnchorId: e.anchorId,
938
974
  toLevelId: e.levelId
939
975
  };
940
976
  }
941
- function $o(t) {
977
+ function Vo(t) {
942
978
  const e = t.replace(/\D/g, "").slice(-10);
943
979
  return e.length === 10 ? `${e.slice(0, 3)}.${e.slice(3, 6)}.${e.slice(-4)}` : t;
944
980
  }
945
- function Go(t) {
981
+ function Wo(t) {
946
982
  if (!t || typeof t != "object") return null;
947
983
  const e = t, n = e.global_retailer && typeof e.global_retailer == "object" ? e.global_retailer : null, r = Q(e.id);
948
984
  if (r == null) return null;
@@ -958,47 +994,47 @@ function Go(t) {
958
994
  globalRetailerId: Q(n == null ? void 0 : n.id) || Q(e.global_retailer_id) || Q(e.globalRetailerId)
959
995
  };
960
996
  }
961
- function se(t) {
997
+ function le(t) {
962
998
  return t === "WEBSITE" || t === "DISPLAY_APP";
963
999
  }
964
- function Ln(t) {
1000
+ function Tn(t) {
965
1001
  return t === "PORTAL_ASSIGN";
966
1002
  }
967
- function vn(t) {
968
- return se(t);
1003
+ function Mn(t) {
1004
+ return le(t);
969
1005
  }
970
- function Xo(t, e) {
971
- return vn(e) ? N(t.assignment) : !0;
1006
+ function Zo(t, e) {
1007
+ return Mn(e) ? N(t.assignment) : !0;
972
1008
  }
973
- function Nn(t) {
1009
+ function wn(t) {
974
1010
  const e = (t.sourceSvgId ?? t.key ?? "").trim().toLowerCase().replace(/_/g, "-");
975
1011
  return e === "escalator" || e.startsWith("escalator-") ? "escalator" : e === "elevator" || e.startsWith("elevator-") ? "elevator" : null;
976
1012
  }
977
- function Tn(t, e) {
978
- return Nn(t) ? e.has(t.id) : t.kind === "amenity" || t.kind === "kiosk_screen" ? N(t.assignment) : !0;
1013
+ function Pn(t, e) {
1014
+ return wn(t) ? e.has(t.id) : t.kind === "amenity" || t.kind === "kiosk_screen" ? N(t.assignment) : !0;
979
1015
  }
980
- function Ho(t, e, n) {
981
- return se(e) ? Tn(t, n) : !0;
1016
+ function jo(t, e, n) {
1017
+ return le(e) ? Pn(t, n) : !0;
982
1018
  }
983
- const ce = "#e2e8f0";
984
- function Vo(t) {
1019
+ const ue = "#e2e8f0";
1020
+ function qo(t) {
985
1021
  if (!t) return !1;
986
1022
  const e = t.toLowerCase();
987
1023
  return e === "amenity" || e.startsWith("amenity-");
988
1024
  }
989
- function Mn(t) {
1025
+ function Fn(t) {
990
1026
  var n;
991
- return ((n = t == null ? void 0 : t.GREEN_AREA_COLOR) == null ? void 0 : n.trim()) || X("green-area");
1027
+ return ((n = t == null ? void 0 : t.GREEN_AREA_COLOR) == null ? void 0 : n.trim()) || H("green-area");
992
1028
  }
993
- function wn(t, e) {
994
- return t === "amenity" ? Mn(e) : ce;
1029
+ function Dn(t, e) {
1030
+ return t === "amenity" ? Fn(e) : ue;
995
1031
  }
996
- function Pn(t, e, n, r) {
1032
+ function Kn(t, e, n, r) {
997
1033
  if (t === "walkable") return e.WALKABLE_COLOR;
998
- if (kt(t))
999
- return Nt(r, gt);
1000
- if (t === "unit")
1001
- return Nt(r, e.STORE_DEFAULT_COLOR);
1034
+ if (Ct(t))
1035
+ return wt(r, St);
1036
+ if (t === "unit" || t === "custom")
1037
+ return wt(r, e.STORE_DEFAULT_COLOR);
1002
1038
  if (n) return n;
1003
1039
  switch (t) {
1004
1040
  case "wall":
@@ -1015,40 +1051,40 @@ function Pn(t, e, n, r) {
1015
1051
  case "void":
1016
1052
  return "#00000000";
1017
1053
  default:
1018
- return ce;
1054
+ return ue;
1019
1055
  }
1020
1056
  }
1021
- function Wo(t, e, n, r, o) {
1022
- const i = Pn(t, e, r, o);
1023
- return Ln(n) && kt(t) && W(i) ? wn(t, e) : i;
1057
+ function Qo(t, e, n, r, o) {
1058
+ const i = Kn(t, e, r, o);
1059
+ return Tn(n) && Ct(t) && V(i) ? Dn(t, e) : i;
1024
1060
  }
1025
- function Uo(t, e) {
1061
+ function Jo(t, e) {
1026
1062
  return t === "amenity" ? 1 : e ?? 1;
1027
1063
  }
1028
- function Fn(t) {
1064
+ function Yn(t) {
1029
1065
  return /^https?:\/\//i.test(t.trim());
1030
1066
  }
1031
- function Zo(t, e) {
1032
- return !e || !Fn(t) ? t : e + encodeURIComponent(t);
1067
+ function ti(t, e) {
1068
+ return !e || !Yn(t) ? t : e + encodeURIComponent(t);
1033
1069
  }
1034
- function jo(t, e) {
1070
+ function ei(t, e) {
1035
1071
  return t.map((n) => ({ x: n.x, y: e - n.y }));
1036
1072
  }
1037
1073
  function D(t, e) {
1038
1074
  const n = t.x - e.x, r = t.y - e.y;
1039
1075
  return Math.hypot(n, r);
1040
1076
  }
1041
- function Dn(t) {
1077
+ function Bn(t) {
1042
1078
  if (t.length === 0)
1043
1079
  return { minX: 0, minY: 0, maxX: 0, maxY: 0 };
1044
1080
  let e = t[0].x, n = t[0].y, r = t[0].x, o = t[0].y;
1045
1081
  for (let i = 1; i < t.length; i++) {
1046
- const l = t[i];
1047
- l.x < e && (e = l.x), l.y < n && (n = l.y), l.x > r && (r = l.x), l.y > o && (o = l.y);
1082
+ const c = t[i];
1083
+ c.x < e && (e = c.x), c.y < n && (n = c.y), c.x > r && (r = c.x), c.y > o && (o = c.y);
1048
1084
  }
1049
1085
  return { minX: e, minY: n, maxX: r, maxY: o };
1050
1086
  }
1051
- function qo(t, e) {
1087
+ function ni(t, e) {
1052
1088
  return {
1053
1089
  minX: Math.min(t.minX, e.minX),
1054
1090
  minY: Math.min(t.minY, e.minY),
@@ -1056,95 +1092,95 @@ function qo(t, e) {
1056
1092
  maxY: Math.max(t.maxY, e.maxY)
1057
1093
  };
1058
1094
  }
1059
- function Kn(t) {
1095
+ function zn(t) {
1060
1096
  if (t.length === 0) return { x: 0, y: 0 };
1061
1097
  let e = 0, n = 0;
1062
1098
  for (const r of t)
1063
1099
  e += r.x, n += r.y;
1064
1100
  return { x: e / t.length, y: n / t.length };
1065
1101
  }
1066
- function Yn(t, e) {
1102
+ function Gn(t, e) {
1067
1103
  let n = !1;
1068
1104
  for (let r = 0, o = e.length - 1; r < e.length; o = r++) {
1069
- const i = e[r].x, l = e[r].y, c = e[o].x, s = e[o].y;
1070
- l > t.y != s > t.y && t.x < (c - i) * (t.y - l) / (s - l + Number.EPSILON) + i && (n = !n);
1105
+ const i = e[r].x, c = e[r].y, a = e[o].x, s = e[o].y;
1106
+ c > t.y != s > t.y && t.x < (a - i) * (t.y - c) / (s - c + Number.EPSILON) + i && (n = !n);
1071
1107
  }
1072
1108
  return n;
1073
1109
  }
1074
- function Qo(t, e) {
1075
- return e.some((n) => Yn(t, n));
1110
+ function ri(t, e) {
1111
+ return e.some((n) => Gn(t, n));
1076
1112
  }
1077
- function Bn(t, e, n) {
1113
+ function $n(t, e, n) {
1078
1114
  const r = n.x - e.x, o = n.y - e.y, i = r * r + o * o;
1079
1115
  if (i === 0)
1080
1116
  return { point: { ...e }, t: 0, distance: D(t, e) };
1081
- let l = ((t.x - e.x) * r + (t.y - e.y) * o) / i;
1082
- l = Math.max(0, Math.min(1, l));
1083
- const c = { x: e.x + l * r, y: e.y + l * o };
1084
- return { point: c, t: l, distance: D(t, c) };
1117
+ let c = ((t.x - e.x) * r + (t.y - e.y) * o) / i;
1118
+ c = Math.max(0, Math.min(1, c));
1119
+ const a = { x: e.x + c * r, y: e.y + c * o };
1120
+ return { point: a, t: c, distance: D(t, a) };
1085
1121
  }
1086
- function Jo(t, e) {
1122
+ function oi(t, e) {
1087
1123
  if (e.length < 2) return null;
1088
1124
  let n = null;
1089
1125
  for (let r = 0; r < e.length - 1; r++) {
1090
- const o = Bn(t, e[r], e[r + 1]);
1126
+ const o = $n(t, e[r], e[r + 1]);
1091
1127
  (!n || o.distance < n.distance) && (n = { point: o.point, segmentIndex: r, distance: o.distance });
1092
1128
  }
1093
1129
  return n;
1094
1130
  }
1095
- function Yt(t, e, n, r, o = 8) {
1131
+ function Gt(t, e, n, r, o = 8) {
1096
1132
  const i = [];
1097
- for (let l = 0; l <= o; l++) {
1098
- const c = l / o, s = 1 - c;
1133
+ for (let c = 0; c <= o; c++) {
1134
+ const a = c / o, s = 1 - a;
1099
1135
  i.push({
1100
- x: s * s * s * t.x + 3 * s * s * c * e.x + 3 * s * c * c * n.x + c * c * c * r.x,
1101
- y: s * s * s * t.y + 3 * s * s * c * e.y + 3 * s * c * c * n.y + c * c * c * r.y
1136
+ x: s * s * s * t.x + 3 * s * s * a * e.x + 3 * s * a * a * n.x + a * a * a * r.x,
1137
+ y: s * s * s * t.y + 3 * s * s * a * e.y + 3 * s * a * a * n.y + a * a * a * r.y
1102
1138
  });
1103
1139
  }
1104
1140
  return i;
1105
1141
  }
1106
- function Bt(t, e, n, r = 6) {
1142
+ function $t(t, e, n, r = 6) {
1107
1143
  const o = [];
1108
1144
  for (let i = 0; i <= r; i++) {
1109
- const l = i / r, c = 1 - l;
1145
+ const c = i / r, a = 1 - c;
1110
1146
  o.push({
1111
- x: c * c * t.x + 2 * c * l * e.x + l * l * n.x,
1112
- y: c * c * t.y + 2 * c * l * e.y + l * l * n.y
1147
+ x: a * a * t.x + 2 * a * c * e.x + c * c * n.x,
1148
+ y: a * a * t.y + 2 * a * c * e.y + c * c * n.y
1113
1149
  });
1114
1150
  }
1115
1151
  return o;
1116
1152
  }
1117
- const zn = 8;
1118
- function $n(t, e, n, r, o, i, l) {
1119
- if (t.x === l.x && t.y === l.y) return [{ ...t }];
1120
- let c = Math.abs(e), s = Math.abs(n);
1121
- if (c === 0 || s === 0 || !Number.isFinite(c) || !Number.isFinite(s))
1122
- return [{ ...t }, { ...l }];
1123
- const h = r % 360 * Math.PI / 180, p = Math.cos(h), a = Math.sin(h), x = (t.x - l.x) / 2, u = (t.y - l.y) / 2, d = p * x + a * u, f = -a * x + p * u, y = d * d / (c * c) + f * f / (s * s);
1153
+ const Hn = 8;
1154
+ function Xn(t, e, n, r, o, i, c) {
1155
+ if (t.x === c.x && t.y === c.y) return [{ ...t }];
1156
+ let a = Math.abs(e), s = Math.abs(n);
1157
+ if (a === 0 || s === 0 || !Number.isFinite(a) || !Number.isFinite(s))
1158
+ return [{ ...t }, { ...c }];
1159
+ const h = r % 360 * Math.PI / 180, p = Math.cos(h), l = Math.sin(h), x = (t.x - c.x) / 2, u = (t.y - c.y) / 2, d = p * x + l * u, f = -l * x + p * u, y = d * d / (a * a) + f * f / (s * s);
1124
1160
  if (y > 1) {
1125
1161
  const w = Math.sqrt(y);
1126
- c *= w, s *= w;
1162
+ a *= w, s *= w;
1127
1163
  }
1128
- const b = c * c, g = s * s, m = b * g - b * f * f - g * d * d, I = b * f * f + g * d * d, _ = Math.sqrt(Math.max(0, m / I)) * (o === i ? -1 : 1), S = _ * c * f / s, O = -_ * s * d / c, A = p * S - a * O + (t.x + l.x) / 2, R = a * S + p * O + (t.y + l.y) / 2, E = (d - S) / c, K = (f - O) / s, T = (-d - S) / c, Y = (-f - O) / s, L = Math.atan2(K, E);
1164
+ const b = a * a, g = s * s, m = b * g - b * f * f - g * d * d, I = b * f * f + g * d * d, _ = Math.sqrt(Math.max(0, m / I)) * (o === i ? -1 : 1), S = _ * a * f / s, O = -_ * s * d / a, A = p * S - l * O + (t.x + c.x) / 2, R = l * S + p * O + (t.y + c.y) / 2, E = (d - S) / a, K = (f - O) / s, T = (-d - S) / a, Y = (-f - O) / s, L = Math.atan2(K, E);
1129
1165
  let C = Math.atan2(E * Y - K * T, E * T + K * Y);
1130
1166
  !i && C > 0 ? C -= 2 * Math.PI : i && C < 0 && (C += 2 * Math.PI);
1131
- const B = Math.abs(C) / (Math.PI / 2) * zn, z = Math.max(1, Math.round(B)), M = [{ ...t }];
1167
+ const B = Math.abs(C) / (Math.PI / 2) * Hn, z = Math.max(1, Math.round(B)), M = [{ ...t }];
1132
1168
  for (let w = 1; w <= z; w++) {
1133
- const j = L + C * w / z, q = Math.cos(j), At = Math.sin(j);
1169
+ const j = L + C * w / z, q = Math.cos(j), Lt = Math.sin(j);
1134
1170
  M.push({
1135
- x: A + c * p * q - s * a * At,
1136
- y: R + c * a * q + s * p * At
1171
+ x: A + a * p * q - s * l * Lt,
1172
+ y: R + a * l * q + s * p * Lt
1137
1173
  });
1138
1174
  }
1139
- return M[M.length - 1] = { ...l }, M;
1175
+ return M[M.length - 1] = { ...c }, M;
1140
1176
  }
1141
- const Gn = /[\s,]/;
1142
- function ae(t) {
1177
+ const Un = /[\s,]/;
1178
+ function fe(t) {
1143
1179
  const e = [];
1144
1180
  let n = 0, r = "", o = 0;
1145
1181
  for (; n < t.length; ) {
1146
1182
  const i = t[n];
1147
- if (Gn.test(i)) {
1183
+ if (Un.test(i)) {
1148
1184
  n++;
1149
1185
  continue;
1150
1186
  }
@@ -1152,12 +1188,12 @@ function ae(t) {
1152
1188
  r = i, o = 0, e.push(i), n++;
1153
1189
  continue;
1154
1190
  }
1155
- const l = r === "A" || r === "a" ? o % 7 : -1;
1156
- if ((l === 3 || l === 4) && (i === "0" || i === "1")) {
1191
+ const c = r === "A" || r === "a" ? o % 7 : -1;
1192
+ if ((c === 3 || c === 4) && (i === "0" || i === "1")) {
1157
1193
  e.push(i), n++, o++;
1158
1194
  continue;
1159
1195
  }
1160
- const c = n;
1196
+ const a = n;
1161
1197
  let s = 0;
1162
1198
  for ((i === "+" || i === "-") && n++; n < t.length && t[n] >= "0" && t[n] <= "9"; )
1163
1199
  n++, s++;
@@ -1172,47 +1208,47 @@ function ae(t) {
1172
1208
  n = h;
1173
1209
  }
1174
1210
  if (s === 0) {
1175
- n = c + 1;
1211
+ n = a + 1;
1176
1212
  continue;
1177
1213
  }
1178
- e.push(t.slice(c, n)), o++;
1214
+ e.push(t.slice(a, n)), o++;
1179
1215
  }
1180
1216
  return e;
1181
1217
  }
1182
- function le(t) {
1183
- const e = ae(t), n = [];
1184
- let r = [], o = 0, i = 0, l = 0, c = 0, s = null, h = 0, p = "";
1185
- const a = () => Number(e[h++]);
1218
+ function de(t) {
1219
+ const e = fe(t), n = [];
1220
+ let r = [], o = 0, i = 0, c = 0, a = 0, s = null, h = 0, p = "";
1221
+ const l = () => Number(e[h++]);
1186
1222
  for (; h < e.length; ) {
1187
1223
  const x = e[h];
1188
1224
  switch (/[a-zA-Z]/.test(x) && (p = x, h++), p) {
1189
1225
  case "M":
1190
1226
  case "m": {
1191
- const u = p === "m", d = a(), f = a();
1192
- o = u ? o + d : d, i = u ? i + f : f, r.length > 0 && n.push(r), r = [{ x: o, y: i }], l = o, c = i, s = null, p = u ? "l" : "L";
1227
+ const u = p === "m", d = l(), f = l();
1228
+ o = u ? o + d : d, i = u ? i + f : f, r.length > 0 && n.push(r), r = [{ x: o, y: i }], c = o, a = i, s = null, p = u ? "l" : "L";
1193
1229
  break;
1194
1230
  }
1195
1231
  case "L":
1196
1232
  case "l": {
1197
- const u = p === "l", d = a(), f = a();
1233
+ const u = p === "l", d = l(), f = l();
1198
1234
  o = u ? o + d : d, i = u ? i + f : f, r.push({ x: o, y: i }), s = null;
1199
1235
  break;
1200
1236
  }
1201
1237
  case "H":
1202
1238
  case "h": {
1203
- const u = p === "h", d = a();
1239
+ const u = p === "h", d = l();
1204
1240
  o = u ? o + d : d, r.push({ x: o, y: i }), s = null;
1205
1241
  break;
1206
1242
  }
1207
1243
  case "V":
1208
1244
  case "v": {
1209
- const u = p === "v", d = a();
1245
+ const u = p === "v", d = l();
1210
1246
  i = u ? i + d : d, r.push({ x: o, y: i }), s = null;
1211
1247
  break;
1212
1248
  }
1213
1249
  case "C":
1214
1250
  case "c": {
1215
- const u = p === "c", d = u ? o + a() : a(), f = u ? i + a() : a(), y = u ? o + a() : a(), b = u ? i + a() : a(), g = u ? o + a() : a(), m = u ? i + a() : a(), I = Yt(
1251
+ const u = p === "c", d = u ? o + l() : l(), f = u ? i + l() : l(), y = u ? o + l() : l(), b = u ? i + l() : l(), g = u ? o + l() : l(), m = u ? i + l() : l(), I = Gt(
1216
1252
  { x: o, y: i },
1217
1253
  { x: d, y: f },
1218
1254
  { x: y, y: b },
@@ -1223,7 +1259,7 @@ function le(t) {
1223
1259
  }
1224
1260
  case "Q":
1225
1261
  case "q": {
1226
- const u = p === "q", d = u ? o + a() : a(), f = u ? i + a() : a(), y = u ? o + a() : a(), b = u ? i + a() : a(), g = Bt(
1262
+ const u = p === "q", d = u ? o + l() : l(), f = u ? i + l() : l(), y = u ? o + l() : l(), b = u ? i + l() : l(), g = $t(
1227
1263
  { x: o, y: i },
1228
1264
  { x: d, y: f },
1229
1265
  { x: y, y: b }
@@ -1233,7 +1269,7 @@ function le(t) {
1233
1269
  }
1234
1270
  case "S":
1235
1271
  case "s": {
1236
- const u = p === "s", d = s ? 2 * o - s.x : o, f = s ? 2 * i - s.y : i, y = u ? o + a() : a(), b = u ? i + a() : a(), g = u ? o + a() : a(), m = u ? i + a() : a(), I = Yt(
1272
+ const u = p === "s", d = s ? 2 * o - s.x : o, f = s ? 2 * i - s.y : i, y = u ? o + l() : l(), b = u ? i + l() : l(), g = u ? o + l() : l(), m = u ? i + l() : l(), I = Gt(
1237
1273
  { x: o, y: i },
1238
1274
  { x: d, y: f },
1239
1275
  { x: y, y: b },
@@ -1244,7 +1280,7 @@ function le(t) {
1244
1280
  }
1245
1281
  case "T":
1246
1282
  case "t": {
1247
- const u = p === "t", d = s ? 2 * o - s.x : o, f = s ? 2 * i - s.y : i, y = u ? o + a() : a(), b = u ? i + a() : a(), g = Bt(
1283
+ const u = p === "t", d = s ? 2 * o - s.x : o, f = s ? 2 * i - s.y : i, y = u ? o + l() : l(), b = u ? i + l() : l(), g = $t(
1248
1284
  { x: o, y: i },
1249
1285
  { x: d, y: f },
1250
1286
  { x: y, y: b }
@@ -1254,7 +1290,7 @@ function le(t) {
1254
1290
  }
1255
1291
  case "A":
1256
1292
  case "a": {
1257
- const u = p === "a", d = a(), f = a(), y = a(), b = a() !== 0, g = a() !== 0, m = u ? o + a() : a(), I = u ? i + a() : a(), _ = $n(
1293
+ const u = p === "a", d = l(), f = l(), y = l(), b = l() !== 0, g = l() !== 0, m = u ? o + l() : l(), I = u ? i + l() : l(), _ = Xn(
1258
1294
  { x: o, y: i },
1259
1295
  d,
1260
1296
  f,
@@ -1268,7 +1304,7 @@ function le(t) {
1268
1304
  }
1269
1305
  case "Z":
1270
1306
  case "z": {
1271
- r.push({ x: l, y: c }), n.push(r), r = [], o = l, i = c, s = null;
1307
+ r.push({ x: c, y: a }), n.push(r), r = [], o = c, i = a, s = null;
1272
1308
  break;
1273
1309
  }
1274
1310
  default:
@@ -1278,7 +1314,7 @@ function le(t) {
1278
1314
  }
1279
1315
  return r.length > 0 && n.push(r), n;
1280
1316
  }
1281
- function Xn(t) {
1317
+ function Vn(t) {
1282
1318
  const e = t.match(
1283
1319
  /^\s*M\s*(-?\d*\.?\d+(?:e[-+]?\d+)?)[\s,]+(-?\d*\.?\d+(?:e[-+]?\d+)?)/i
1284
1320
  );
@@ -1286,56 +1322,56 @@ function Xn(t) {
1286
1322
  const n = Number(e[1]), r = Number(e[2]);
1287
1323
  return Number.isFinite(n) && Number.isFinite(r) ? { x: n, y: r } : null;
1288
1324
  }
1289
- function Hn(t) {
1325
+ function Wn(t) {
1290
1326
  var o, i;
1291
1327
  const e = (o = t.paths[0]) == null ? void 0 : o.d;
1292
1328
  if (!e || t.polygons.length === 0) return !1;
1293
- const n = Xn(e), r = (i = t.polygons[0]) == null ? void 0 : i[0];
1329
+ const n = Vn(e), r = (i = t.polygons[0]) == null ? void 0 : i[0];
1294
1330
  return !n || !r ? !1 : Math.abs(n.x - r.x) > 0.01 || Math.abs(n.y - r.y) > 0.01;
1295
1331
  }
1296
- function ue(t) {
1297
- if (!Hn(t)) return t;
1298
- const e = t.paths.flatMap((n) => le(n.d));
1332
+ function he(t) {
1333
+ if (!Wn(t)) return t;
1334
+ const e = t.paths.flatMap((n) => de(n.d));
1299
1335
  return e.length === 0 ? t : { paths: t.paths, polygons: e };
1300
1336
  }
1301
- function Vn(t) {
1337
+ function Zn(t) {
1302
1338
  const e = t.map((r) => ({
1303
1339
  d: r,
1304
1340
  closed: /z/i.test(r)
1305
- })), n = t.flatMap((r) => le(r));
1341
+ })), n = t.flatMap((r) => de(r));
1306
1342
  return { paths: e, polygons: n };
1307
1343
  }
1308
- function Ot(t) {
1344
+ function Et(t) {
1309
1345
  const e = t.polygons.flat();
1310
- return Dn(e);
1346
+ return Bn(e);
1311
1347
  }
1312
- function Wn(t) {
1313
- return Kn(t.polygons.flat());
1348
+ function jn(t) {
1349
+ return zn(t.polygons.flat());
1314
1350
  }
1315
- function ti(t, e, n = 0, r = [15, 45, 90]) {
1316
- const o = e.x - t.x, i = e.y - t.y, l = Math.hypot(o, i);
1317
- if (l === 0) return { ...e };
1351
+ function ii(t, e, n = 0, r = [15, 45, 90]) {
1352
+ const o = e.x - t.x, i = e.y - t.y, c = Math.hypot(o, i);
1353
+ if (c === 0) return { ...e };
1318
1354
  const s = Math.atan2(i, o) * 180 / Math.PI - n;
1319
1355
  let h = s, p = 1 / 0;
1320
1356
  for (const x of r) {
1321
1357
  const u = Math.round(s / x) * x, d = Math.abs(s - u);
1322
1358
  d < p && (p = d, h = u);
1323
1359
  }
1324
- const a = (h + n) * Math.PI / 180;
1360
+ const l = (h + n) * Math.PI / 180;
1325
1361
  return {
1326
- x: t.x + Math.cos(a) * l,
1327
- y: t.y + Math.sin(a) * l
1362
+ x: t.x + Math.cos(l) * c,
1363
+ y: t.y + Math.sin(l) * c
1328
1364
  };
1329
1365
  }
1330
- function ei(t, e) {
1366
+ function si(t, e) {
1331
1367
  return Math.atan2(e.y - t.y, e.x - t.x) * 180 / Math.PI;
1332
1368
  }
1333
- function Un(t) {
1369
+ function qn(t) {
1334
1370
  if (!t) return null;
1335
1371
  const e = t.trim().split(/[\s,]+/).map(Number);
1336
1372
  return e.length !== 4 || e.some((n) => Number.isNaN(n)) ? null : { x: e[0], y: e[1], width: e[2], height: e[3] };
1337
1373
  }
1338
- const Zn = {
1374
+ const Qn = {
1339
1375
  fill: "fill",
1340
1376
  "fill-opacity": "fill-opacity",
1341
1377
  stroke: "stroke",
@@ -1343,7 +1379,7 @@ const Zn = {
1343
1379
  "stroke-opacity": "stroke-opacity",
1344
1380
  opacity: "opacity"
1345
1381
  };
1346
- function jn(t) {
1382
+ function Jn(t) {
1347
1383
  const e = {};
1348
1384
  for (const n of t.split(";")) {
1349
1385
  const r = n.indexOf(":");
@@ -1353,14 +1389,14 @@ function jn(t) {
1353
1389
  }
1354
1390
  return e;
1355
1391
  }
1356
- function qn(t) {
1392
+ function tr(t) {
1357
1393
  const e = /* @__PURE__ */ new Map(), n = t.replace(/\/\*[\s\S]*?\*\//g, "");
1358
1394
  for (const r of n.matchAll(/([^{]+)\{([^}]*)\}/g)) {
1359
- const o = r[1].split(",").map((l) => l.trim()), i = jn(r[2]);
1360
- for (const l of o) {
1361
- const c = l.match(/^\.([a-zA-Z0-9_-]+)$/);
1362
- if (!c) continue;
1363
- const s = c[1];
1395
+ const o = r[1].split(",").map((c) => c.trim()), i = Jn(r[2]);
1396
+ for (const c of o) {
1397
+ const a = c.match(/^\.([a-zA-Z0-9_-]+)$/);
1398
+ if (!a) continue;
1399
+ const s = a[1];
1364
1400
  e.set(s, {
1365
1401
  ...e.get(s) || {},
1366
1402
  ...i
@@ -1369,42 +1405,42 @@ function qn(t) {
1369
1405
  }
1370
1406
  return e;
1371
1407
  }
1372
- function Qn(t, e) {
1408
+ function er(t, e) {
1373
1409
  const n = {};
1374
1410
  for (const r of t.split(/\s+/).map((o) => o.trim()).filter(Boolean))
1375
1411
  Object.assign(n, e.get(r) || {});
1376
1412
  return n;
1377
1413
  }
1378
- function Jn(t) {
1414
+ function nr(t) {
1379
1415
  const e = [], n = t.replace(/<!--[\s\S]*?-->/g, "");
1380
1416
  for (const o of n.matchAll(/<style\b[^>]*>([\s\S]*?)<\/style>/gi))
1381
1417
  e.push(o[1]);
1382
1418
  if (e.length === 0) return t;
1383
1419
  const r = /* @__PURE__ */ new Map();
1384
1420
  for (const o of e)
1385
- for (const [i, l] of qn(o))
1386
- r.set(i, { ...r.get(i) || {}, ...l });
1421
+ for (const [i, c] of tr(o))
1422
+ r.set(i, { ...r.get(i) || {}, ...c });
1387
1423
  return r.size === 0 ? t : t.replace(
1388
1424
  /<(path|polygon|polyline|line|rect|g|circle|ellipse)\b([^>]*)>/gi,
1389
- (o, i, l) => {
1390
- const c = /\/\s*$/.test(l), s = l.replace(/\/\s*$/, ""), h = s.match(/\bclass\s*=\s*["']([^"']*)["']/i);
1425
+ (o, i, c) => {
1426
+ const a = /\/\s*$/.test(c), s = c.replace(/\/\s*$/, ""), h = s.match(/\bclass\s*=\s*["']([^"']*)["']/i);
1391
1427
  if (!h) return o;
1392
- const p = Qn(h[1], r);
1393
- let a = s;
1428
+ const p = er(h[1], r);
1429
+ let l = s;
1394
1430
  for (const [x, u] of Object.entries(p)) {
1395
- const d = Zn[x];
1396
- d && (new RegExp(`\\b${d}\\s*=`, "i").test(a) || (a += ` ${d}="${u}"`));
1431
+ const d = Qn[x];
1432
+ d && (new RegExp(`\\b${d}\\s*=`, "i").test(l) || (l += ` ${d}="${u}"`));
1397
1433
  }
1398
- return `<${i}${a}${c ? " /" : ""}>`;
1434
+ return `<${i}${l}${a ? " /" : ""}>`;
1399
1435
  }
1400
1436
  );
1401
1437
  }
1402
- function zt(t) {
1403
- var c, s, h, p, a;
1404
- const e = {}, n = (c = t.match(/\bfill\s*=\s*["']([^"']*)["']/i)) == null ? void 0 : c[1], r = (s = t.match(/\bstroke\s*=\s*["']([^"']*)["']/i)) == null ? void 0 : s[1], o = (h = t.match(/\bstroke-width\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : h[1], i = (p = t.match(/\bopacity\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : p[1], l = (a = t.match(/\bfill-opacity\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : a[1];
1405
- return n && n.toLowerCase() !== "none" && (e.fill = n), r && r.toLowerCase() !== "none" && (e.stroke = r), o != null && !Number.isNaN(Number(o)) && (e.strokeWidth = Number(o)), i != null && !Number.isNaN(Number(i)) ? e.opacity = Number(i) : l != null && !Number.isNaN(Number(l)) && (e.opacity = Number(l)), e;
1438
+ function Ht(t) {
1439
+ var a, s, h, p, l;
1440
+ const e = {}, n = (a = t.match(/\bfill\s*=\s*["']([^"']*)["']/i)) == null ? void 0 : a[1], r = (s = t.match(/\bstroke\s*=\s*["']([^"']*)["']/i)) == null ? void 0 : s[1], o = (h = t.match(/\bstroke-width\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : h[1], i = (p = t.match(/\bopacity\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : p[1], c = (l = t.match(/\bfill-opacity\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : l[1];
1441
+ return n && n.toLowerCase() !== "none" && (e.fill = n), r && r.toLowerCase() !== "none" && (e.stroke = r), o != null && !Number.isNaN(Number(o)) && (e.strokeWidth = Number(o)), i != null && !Number.isNaN(Number(i)) ? e.opacity = Number(i) : c != null && !Number.isNaN(Number(c)) && (e.opacity = Number(c)), e;
1406
1442
  }
1407
- function dt(t, e) {
1443
+ function pt(t, e) {
1408
1444
  return {
1409
1445
  fill: e.fill ?? t.fill,
1410
1446
  stroke: e.stroke ?? t.stroke,
@@ -1412,7 +1448,7 @@ function dt(t, e) {
1412
1448
  opacity: e.opacity ?? t.opacity
1413
1449
  };
1414
1450
  }
1415
- const bt = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 };
1451
+ const kt = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 };
1416
1452
  function Z(t, e) {
1417
1453
  return {
1418
1454
  a: t.a * e.a + t.c * e.b,
@@ -1423,28 +1459,28 @@ function Z(t, e) {
1423
1459
  f: t.b * e.e + t.d * e.f + t.f
1424
1460
  };
1425
1461
  }
1426
- function tr(t, e) {
1462
+ function rr(t, e) {
1427
1463
  return {
1428
1464
  x: t.a * e.x + t.c * e.y + t.e,
1429
1465
  y: t.b * e.x + t.d * e.y + t.f
1430
1466
  };
1431
1467
  }
1432
- function er(t, e = 1e-9) {
1468
+ function or(t, e = 1e-9) {
1433
1469
  return Math.abs(t.a - 1) < e && Math.abs(t.b) < e && Math.abs(t.c) < e && Math.abs(t.d - 1) < e && Math.abs(t.e) < e && Math.abs(t.f) < e;
1434
1470
  }
1435
- function ht(t, e) {
1471
+ function mt(t, e) {
1436
1472
  return { a: 1, b: 0, c: 0, d: 1, e: t, f: e };
1437
1473
  }
1438
- function nr(t) {
1474
+ function ir(t) {
1439
1475
  const e = t * Math.PI / 180, n = Math.cos(e), r = Math.sin(e);
1440
1476
  return { a: n, b: r, c: -r, d: n, e: 0, f: 0 };
1441
1477
  }
1442
- function rr(t, e) {
1478
+ function sr(t, e) {
1443
1479
  switch (t) {
1444
1480
  case "matrix":
1445
1481
  return e.length < 6 ? null : { a: e[0], b: e[1], c: e[2], d: e[3], e: e[4], f: e[5] };
1446
1482
  case "translate":
1447
- return e.length < 1 ? null : ht(e[0], e[1] ?? 0);
1483
+ return e.length < 1 ? null : mt(e[0], e[1] ?? 0);
1448
1484
  case "scale": {
1449
1485
  if (e.length < 1) return null;
1450
1486
  const n = e[0], r = e[1] ?? n;
@@ -1452,12 +1488,12 @@ function rr(t, e) {
1452
1488
  }
1453
1489
  case "rotate": {
1454
1490
  if (e.length < 1) return null;
1455
- const n = nr(e[0]);
1491
+ const n = ir(e[0]);
1456
1492
  if (e.length < 3) return n;
1457
1493
  const r = e[1], o = e[2];
1458
1494
  return Z(
1459
- Z(ht(r, o), n),
1460
- ht(-r, -o)
1495
+ Z(mt(r, o), n),
1496
+ mt(-r, -o)
1461
1497
  );
1462
1498
  }
1463
1499
  case "skewx":
@@ -1468,104 +1504,104 @@ function rr(t, e) {
1468
1504
  return null;
1469
1505
  }
1470
1506
  }
1471
- const $t = /([a-zA-Z]+)\s*\(([^)]*)\)/g;
1472
- function Gt(t) {
1473
- if (!t) return bt;
1474
- let e = bt;
1475
- $t.lastIndex = 0;
1507
+ const Xt = /([a-zA-Z]+)\s*\(([^)]*)\)/g;
1508
+ function Ut(t) {
1509
+ if (!t) return kt;
1510
+ let e = kt;
1511
+ Xt.lastIndex = 0;
1476
1512
  let n;
1477
- for (; (n = $t.exec(t)) !== null; ) {
1513
+ for (; (n = Xt.exec(t)) !== null; ) {
1478
1514
  const r = n[1].toLowerCase(), o = n[2].trim().split(/[\s,]+/).filter(Boolean).map(Number);
1479
- if (o.some((l) => Number.isNaN(l))) continue;
1480
- const i = rr(r, o);
1515
+ if (o.some((c) => Number.isNaN(c))) continue;
1516
+ const i = sr(r, o);
1481
1517
  i && (e = Z(e, i));
1482
1518
  }
1483
1519
  return e;
1484
1520
  }
1485
- function G(t) {
1521
+ function $(t) {
1486
1522
  if (!Number.isFinite(t)) return "0";
1487
1523
  const e = Math.round(t * 1e4) / 1e4;
1488
1524
  return Object.is(e, -0) ? "0" : String(e);
1489
1525
  }
1490
- function or(t, e, n, r) {
1491
- const o = r * Math.PI / 180, i = Math.cos(o), l = Math.sin(o), c = i * e, s = l * e, h = -l * n, p = i * n, a = t.a * c + t.c * s, x = t.b * c + t.d * s, u = t.a * h + t.c * p, d = t.b * h + t.d * p, f = (a + d) / 2, y = (a - d) / 2, b = (x + u) / 2, g = (x - u) / 2, m = Math.hypot(f, g), I = Math.hypot(y, b), _ = Math.abs(m + I), S = Math.abs(m - I), O = Math.atan2(b, y), R = (Math.atan2(g, f) + O) / 2 * (180 / Math.PI);
1526
+ function cr(t, e, n, r) {
1527
+ const o = r * Math.PI / 180, i = Math.cos(o), c = Math.sin(o), a = i * e, s = c * e, h = -c * n, p = i * n, l = t.a * a + t.c * s, x = t.b * a + t.d * s, u = t.a * h + t.c * p, d = t.b * h + t.d * p, f = (l + d) / 2, y = (l - d) / 2, b = (x + u) / 2, g = (x - u) / 2, m = Math.hypot(f, g), I = Math.hypot(y, b), _ = Math.abs(m + I), S = Math.abs(m - I), O = Math.atan2(b, y), R = (Math.atan2(g, f) + O) / 2 * (180 / Math.PI);
1492
1528
  return { rx: _, ry: S, phiDeg: R };
1493
1529
  }
1494
- function ir(t, e) {
1495
- if (!t || er(e)) return t;
1496
- const n = ae(t), r = [], o = e.a * e.d - e.b * e.c < 0;
1497
- let i = 0, l = "", c = 0, s = 0, h = 0, p = 0;
1498
- const a = () => {
1530
+ function ar(t, e) {
1531
+ if (!t || or(e)) return t;
1532
+ const n = fe(t), r = [], o = e.a * e.d - e.b * e.c < 0;
1533
+ let i = 0, c = "", a = 0, s = 0, h = 0, p = 0;
1534
+ const l = () => {
1499
1535
  const d = Number(n[i++]);
1500
1536
  return Number.isNaN(d) ? 0 : d;
1501
1537
  }, x = (d, ...f) => {
1502
- r.push(d + (f.length ? " " + f.map(G).join(" ") : ""));
1538
+ r.push(d + (f.length ? " " + f.map($).join(" ") : ""));
1503
1539
  }, u = (d, f) => {
1504
- const y = tr(e, { x: d, y: f });
1540
+ const y = rr(e, { x: d, y: f });
1505
1541
  return [y.x, y.y];
1506
1542
  };
1507
1543
  for (; i < n.length; ) {
1508
1544
  const d = n[i];
1509
- switch (/[a-zA-Z]/.test(d) && (l = d, i++), l) {
1545
+ switch (/[a-zA-Z]/.test(d) && (c = d, i++), c) {
1510
1546
  case "M":
1511
1547
  case "m": {
1512
- const f = l === "m", y = a(), b = a();
1513
- c = f ? c + y : y, s = f ? s + b : b, h = c, p = s, x("M", ...u(c, s)), l = f ? "l" : "L";
1548
+ const f = c === "m", y = l(), b = l();
1549
+ a = f ? a + y : y, s = f ? s + b : b, h = a, p = s, x("M", ...u(a, s)), c = f ? "l" : "L";
1514
1550
  break;
1515
1551
  }
1516
1552
  case "L":
1517
1553
  case "l": {
1518
- const f = l === "l", y = a(), b = a();
1519
- c = f ? c + y : y, s = f ? s + b : b, x("L", ...u(c, s));
1554
+ const f = c === "l", y = l(), b = l();
1555
+ a = f ? a + y : y, s = f ? s + b : b, x("L", ...u(a, s));
1520
1556
  break;
1521
1557
  }
1522
1558
  case "H":
1523
1559
  case "h": {
1524
- const f = l === "h", y = a();
1525
- c = f ? c + y : y, x("L", ...u(c, s));
1560
+ const f = c === "h", y = l();
1561
+ a = f ? a + y : y, x("L", ...u(a, s));
1526
1562
  break;
1527
1563
  }
1528
1564
  case "V":
1529
1565
  case "v": {
1530
- const f = l === "v", y = a();
1531
- s = f ? s + y : y, x("L", ...u(c, s));
1566
+ const f = c === "v", y = l();
1567
+ s = f ? s + y : y, x("L", ...u(a, s));
1532
1568
  break;
1533
1569
  }
1534
1570
  case "C":
1535
1571
  case "c": {
1536
- const f = l === "c", y = f ? c + a() : a(), b = f ? s + a() : a(), g = f ? c + a() : a(), m = f ? s + a() : a(), I = f ? c + a() : a(), _ = f ? s + a() : a();
1537
- x("C", ...u(y, b), ...u(g, m), ...u(I, _)), c = I, s = _;
1572
+ const f = c === "c", y = f ? a + l() : l(), b = f ? s + l() : l(), g = f ? a + l() : l(), m = f ? s + l() : l(), I = f ? a + l() : l(), _ = f ? s + l() : l();
1573
+ x("C", ...u(y, b), ...u(g, m), ...u(I, _)), a = I, s = _;
1538
1574
  break;
1539
1575
  }
1540
1576
  case "S":
1541
1577
  case "s": {
1542
- const f = l === "s", y = f ? c + a() : a(), b = f ? s + a() : a(), g = f ? c + a() : a(), m = f ? s + a() : a();
1543
- x("S", ...u(y, b), ...u(g, m)), c = g, s = m;
1578
+ const f = c === "s", y = f ? a + l() : l(), b = f ? s + l() : l(), g = f ? a + l() : l(), m = f ? s + l() : l();
1579
+ x("S", ...u(y, b), ...u(g, m)), a = g, s = m;
1544
1580
  break;
1545
1581
  }
1546
1582
  case "Q":
1547
1583
  case "q": {
1548
- const f = l === "q", y = f ? c + a() : a(), b = f ? s + a() : a(), g = f ? c + a() : a(), m = f ? s + a() : a();
1549
- x("Q", ...u(y, b), ...u(g, m)), c = g, s = m;
1584
+ const f = c === "q", y = f ? a + l() : l(), b = f ? s + l() : l(), g = f ? a + l() : l(), m = f ? s + l() : l();
1585
+ x("Q", ...u(y, b), ...u(g, m)), a = g, s = m;
1550
1586
  break;
1551
1587
  }
1552
1588
  case "T":
1553
1589
  case "t": {
1554
- const f = l === "t", y = f ? c + a() : a(), b = f ? s + a() : a();
1555
- x("T", ...u(y, b)), c = y, s = b;
1590
+ const f = c === "t", y = f ? a + l() : l(), b = f ? s + l() : l();
1591
+ x("T", ...u(y, b)), a = y, s = b;
1556
1592
  break;
1557
1593
  }
1558
1594
  case "A":
1559
1595
  case "a": {
1560
- const f = l === "a", y = a(), b = a(), g = a(), m = a(), I = a(), _ = f ? c + a() : a(), S = f ? s + a() : a(), O = or(e, y, b, g), [A, R] = u(_, S);
1596
+ const f = c === "a", y = l(), b = l(), g = l(), m = l(), I = l(), _ = f ? a + l() : l(), S = f ? s + l() : l(), O = cr(e, y, b, g), [A, R] = u(_, S);
1561
1597
  r.push(
1562
- `A ${G(O.rx)} ${G(O.ry)} ${G(O.phiDeg)} ${m ? 1 : 0} ${(I ? 1 : 0) ^ (o ? 1 : 0)} ${G(A)} ${G(R)}`
1563
- ), c = _, s = S;
1598
+ `A ${$(O.rx)} ${$(O.ry)} ${$(O.phiDeg)} ${m ? 1 : 0} ${(I ? 1 : 0) ^ (o ? 1 : 0)} ${$(A)} ${$(R)}`
1599
+ ), a = _, s = S;
1564
1600
  break;
1565
1601
  }
1566
1602
  case "Z":
1567
1603
  case "z": {
1568
- r.push("Z"), c = h, s = p;
1604
+ r.push("Z"), a = h, s = p;
1569
1605
  break;
1570
1606
  }
1571
1607
  default:
@@ -1575,7 +1611,7 @@ function ir(t, e) {
1575
1611
  }
1576
1612
  return r.join(" ");
1577
1613
  }
1578
- const sr = [
1614
+ const lr = [
1579
1615
  { prefix: "walkable", kind: "walkable" },
1580
1616
  { prefix: "void", kind: "void" },
1581
1617
  { prefix: "unit", kind: "unit" },
@@ -1602,7 +1638,7 @@ const sr = [
1602
1638
  { prefix: "parking-icon", kind: "parking_icon" },
1603
1639
  { prefix: "walking-path", kind: "walkable" },
1604
1640
  { prefix: "water", kind: "water" }
1605
- ], cr = [
1641
+ ], ur = [
1606
1642
  { prefix: "parking-zone", kind: "parking_zone" },
1607
1643
  { prefix: "parking-lane", kind: "parking_zone" },
1608
1644
  { prefix: "parking-icon", kind: "parking_icon" },
@@ -1623,70 +1659,70 @@ const sr = [
1623
1659
  { prefix: "elevator-", kind: "connector" },
1624
1660
  { prefix: "stairs-", kind: "connector" }
1625
1661
  ];
1626
- function Xt(t) {
1627
- const e = st(t);
1662
+ function Vt(t) {
1663
+ const e = lt(t);
1628
1664
  return e === "route path" || e.startsWith("route path ");
1629
1665
  }
1630
- function fe(t) {
1631
- return /^routes?( \d+)?$/.test(st(t));
1666
+ function ye(t) {
1667
+ return /^routes?( \d+)?$/.test(lt(t));
1632
1668
  }
1633
- function Ht(t, e) {
1669
+ function Wt(t, e) {
1634
1670
  const n = t.toLowerCase();
1635
1671
  return n === "line" || n === "polyline" ? !0 : !(n !== "path" || !e || /[zZ]/.test(e) || /[csqtaCSQTA]/.test(e));
1636
1672
  }
1637
- const ar = [
1638
- ...Be,
1673
+ const fr = [
1674
+ ...Ge,
1639
1675
  "walkable",
1640
1676
  "void"
1641
- ], lr = 8;
1642
- function ur(t, e = "floor") {
1643
- if (ye(t))
1677
+ ], dr = 8;
1678
+ function hr(t, e = "floor") {
1679
+ if (xe(t))
1644
1680
  return { kind: null, guessed: !1 };
1645
- const n = t.toLowerCase(), r = e === "base" ? cr : sr;
1681
+ const n = t.toLowerCase(), r = e === "base" ? ur : lr;
1646
1682
  for (const { prefix: o, kind: i } of r)
1647
1683
  if (n === o || n.startsWith(o))
1648
1684
  return { kind: i, guessed: !1 };
1649
1685
  return n.startsWith("interactive") ? { kind: "unit", guessed: !0 } : { kind: null, guessed: !1 };
1650
1686
  }
1651
- function st(t) {
1687
+ function lt(t) {
1652
1688
  return t.toLowerCase().replace(/[-_]+/g, " ").replace(/\s+/g, " ").trim();
1653
1689
  }
1654
- function St(t) {
1690
+ function Rt(t) {
1655
1691
  return /non[-_ ]?interactive/i.test(t);
1656
1692
  }
1657
- function de(t) {
1658
- return St(t) ? !1 : /^interactive( items)?( \d+)?$/.test(st(t));
1693
+ function pe(t) {
1694
+ return Rt(t) ? !1 : /^interactive( items)?( \d+)?$/.test(lt(t));
1659
1695
  }
1660
- function he(t) {
1661
- const e = st(t);
1696
+ function me(t) {
1697
+ const e = lt(t);
1662
1698
  return e === "stores" || e === "store layer" || e === "units" || e === "unit layer";
1663
1699
  }
1664
- function ye(t) {
1665
- return de(t) || St(t) || he(t) || fe(t);
1700
+ function xe(t) {
1701
+ return pe(t) || Rt(t) || me(t) || ye(t);
1666
1702
  }
1667
- function yt(t) {
1703
+ function xt(t) {
1668
1704
  return t.interactiveContainer || t.nonInteractiveContainer || t.storeFolder || t.routeContainer;
1669
1705
  }
1670
1706
  function P(t, e) {
1671
1707
  const n = t.match(new RegExp(`\\b${e}\\s*=\\s*["']([^"']*)["']`, "i"));
1672
1708
  return n ? n[1] : null;
1673
1709
  }
1674
- function $(t, e) {
1710
+ function G(t, e) {
1675
1711
  const n = t.match(new RegExp(`\\b${e}\\s*=\\s*["']?(-?[\\d.]+)`, "i"));
1676
1712
  return n ? Number(n[1]) : 0;
1677
1713
  }
1678
- function Vt(t) {
1714
+ function Zt(t) {
1679
1715
  return /\bdata-interactive\s*=\s*["']?(true|1|yes)/i.test(t);
1680
1716
  }
1681
- function fr(t) {
1717
+ function yr(t) {
1682
1718
  return [P(t, "id"), P(t, "data-name")].filter(
1683
1719
  (e) => !!e
1684
1720
  );
1685
1721
  }
1686
- function dr(t) {
1687
- return t.some(St) ? { interactiveContainer: !1, nonInteractiveContainer: !0, storeFolder: !1 } : t.some(de) ? { interactiveContainer: !0, nonInteractiveContainer: !1, storeFolder: !1 } : t.some(he) ? { interactiveContainer: !1, nonInteractiveContainer: !1, storeFolder: !0 } : { interactiveContainer: !1, nonInteractiveContainer: !1, storeFolder: !1 };
1722
+ function pr(t) {
1723
+ return t.some(Rt) ? { interactiveContainer: !1, nonInteractiveContainer: !0, storeFolder: !1 } : t.some(pe) ? { interactiveContainer: !0, nonInteractiveContainer: !1, storeFolder: !1 } : t.some(me) ? { interactiveContainer: !1, nonInteractiveContainer: !1, storeFolder: !0 } : { interactiveContainer: !1, nonInteractiveContainer: !1, storeFolder: !1 };
1688
1724
  }
1689
- function hr(t) {
1725
+ function mr(t) {
1690
1726
  const e = t.trim().split(/[\s,]+/).map(Number);
1691
1727
  if (e.length < 4) return "";
1692
1728
  let n = `M ${e[0]} ${e[1]}`;
@@ -1694,76 +1730,76 @@ function hr(t) {
1694
1730
  n += ` L ${e[r]} ${e[r + 1]}`;
1695
1731
  return n += " Z", n;
1696
1732
  }
1697
- function yr(t, e, n, r) {
1733
+ function xr(t, e, n, r) {
1698
1734
  return `M ${t} ${e} L ${n} ${r}`;
1699
1735
  }
1700
- function pr(t, e) {
1736
+ function br(t, e) {
1701
1737
  if (t === "path")
1702
1738
  return P(e, "d") ?? void 0;
1703
1739
  if (t === "polygon" || t === "polyline") {
1704
1740
  const n = P(e, "points");
1705
- return n ? hr(n) : void 0;
1741
+ return n ? mr(n) : void 0;
1706
1742
  }
1707
1743
  if (t === "line")
1708
- return yr(
1709
- $(e, "x1"),
1710
- $(e, "y1"),
1711
- $(e, "x2"),
1712
- $(e, "y2")
1744
+ return xr(
1745
+ G(e, "x1"),
1746
+ G(e, "y1"),
1747
+ G(e, "x2"),
1748
+ G(e, "y2")
1713
1749
  );
1714
1750
  if (t === "rect") {
1715
- const n = $(e, "x"), r = $(e, "y"), o = $(e, "width"), i = $(e, "height");
1751
+ const n = G(e, "x"), r = G(e, "y"), o = G(e, "width"), i = G(e, "height");
1716
1752
  return `M ${n} ${r} L ${n + o} ${r} L ${n + o} ${r + i} L ${n} ${r + i} Z`;
1717
1753
  }
1718
1754
  }
1719
- function mr(t) {
1720
- const e = Jn(t).replace(/<!--[\s\S]*?-->/g, ""), n = e.match(/viewBox\s*=\s*["']([^"']+)["']/i), r = Un(n == null ? void 0 : n[1]), o = [], i = [], l = [], c = [];
1755
+ function Ir(t) {
1756
+ const e = nr(t).replace(/<!--[\s\S]*?-->/g, ""), n = e.match(/viewBox\s*=\s*["']([^"']+)["']/i), r = qn(n == null ? void 0 : n[1]), o = [], i = [], c = [], a = [];
1721
1757
  let s = 0;
1722
- const h = () => c.some((m) => m.routeContainer), p = () => {
1723
- for (let I = c.length - 1; I >= 0; I--) {
1724
- const _ = c[I].style;
1758
+ const h = () => a.some((m) => m.routeContainer), p = () => {
1759
+ for (let I = a.length - 1; I >= 0; I--) {
1760
+ const _ = a[I].style;
1725
1761
  if (_.fill || _.stroke || _.strokeWidth != null || _.opacity != null)
1726
1762
  break;
1727
1763
  }
1728
1764
  let m = {};
1729
- for (const I of c)
1730
- m = dt(m, I.style);
1765
+ for (const I of a)
1766
+ m = pt(m, I.style);
1731
1767
  return m;
1732
- }, a = () => {
1733
- for (let m = c.length - 1; m >= 0; m--) {
1734
- if (c[m].nonInteractiveContainer) return !1;
1735
- if (c[m].interactiveContainer || c[m].storeFolder) return !0;
1768
+ }, l = () => {
1769
+ for (let m = a.length - 1; m >= 0; m--) {
1770
+ if (a[m].nonInteractiveContainer) return !1;
1771
+ if (a[m].interactiveContainer || a[m].storeFolder) return !0;
1736
1772
  }
1737
1773
  return !1;
1738
- }, x = () => c.length > 0 ? c[c.length - 1].matrix : bt, u = () => {
1739
- for (let m = c.length - 1; m >= 0; m--) {
1740
- const I = c[m];
1741
- if (!yt(I) && I.id) {
1774
+ }, x = () => a.length > 0 ? a[a.length - 1].matrix : kt, u = () => {
1775
+ for (let m = a.length - 1; m >= 0; m--) {
1776
+ const I = a[m];
1777
+ if (!xt(I) && I.id) {
1742
1778
  I.hasNamedChild = !0;
1743
1779
  return;
1744
1780
  }
1745
1781
  }
1746
1782
  }, d = () => {
1747
- for (let m = c.length - 1; m >= 0; m--) {
1748
- const I = c[m];
1749
- if (!yt(I) && I.id)
1783
+ for (let m = a.length - 1; m >= 0; m--) {
1784
+ const I = a[m];
1785
+ if (!xt(I) && I.id)
1750
1786
  return I;
1751
1787
  }
1752
1788
  return null;
1753
1789
  }, f = (m) => {
1754
1790
  if (m.routeContainer) {
1755
1791
  for (const I of m.collectedPaths)
1756
- Ht("path", I) && y("path", I);
1792
+ Wt("path", I) && y("path", I);
1757
1793
  return;
1758
1794
  }
1759
- yt(m) || !m.id || m.collectedPaths.length === 0 || (m.hasNamedChild && l.push(
1795
+ xt(m) || !m.id || m.collectedPaths.length === 0 || (m.hasNamedChild && c.push(
1760
1796
  `Group ${m.id} mixes named children with ${m.collectedPaths.length} unnamed path(s); the unnamed paths were merged into a single shape "${m.id}" — give them ids if they are separate shapes`
1761
1797
  ), o.push({
1762
1798
  id: m.id,
1763
1799
  tag: "g",
1764
1800
  d: m.collectedPaths.join(" "),
1765
1801
  interactive: m.inInteractive,
1766
- style: dt(p(), m.style)
1802
+ style: pt(p(), m.style)
1767
1803
  }));
1768
1804
  }, y = (m, I) => {
1769
1805
  if (!I) return;
@@ -1775,35 +1811,35 @@ function mr(t) {
1775
1811
  const m = g[1] === "/", I = g[2].toLowerCase(), _ = g[3] ?? "", S = g[4] === "/" || /\/\s*$/.test(_);
1776
1812
  if (m) {
1777
1813
  if (I === "g") {
1778
- const C = c.pop();
1814
+ const C = a.pop();
1779
1815
  C && f(C);
1780
1816
  }
1781
1817
  continue;
1782
1818
  }
1783
1819
  if (I === "g") {
1784
- const C = P(_, "id"), B = fr(_), { interactiveContainer: z, nonInteractiveContainer: M, storeFolder: w } = dr(B), j = a();
1820
+ const C = P(_, "id"), B = yr(_), { interactiveContainer: z, nonInteractiveContainer: M, storeFolder: w } = pr(B), j = l();
1785
1821
  C && u();
1786
1822
  const q = {
1787
1823
  id: C,
1788
1824
  interactiveContainer: z,
1789
1825
  nonInteractiveContainer: M,
1790
1826
  storeFolder: w,
1791
- inInteractive: z || w || Vt(_) || j && !M,
1827
+ inInteractive: z || w || Zt(_) || j && !M,
1792
1828
  collectedPaths: [],
1793
- style: zt(_),
1794
- matrix: Z(x(), Gt(P(_, "transform"))),
1829
+ style: Ht(_),
1830
+ matrix: Z(x(), Ut(P(_, "transform"))),
1795
1831
  hasNamedChild: !1,
1796
- routeContainer: B.some(fe) || h()
1832
+ routeContainer: B.some(ye) || h()
1797
1833
  };
1798
- S || c.push(q);
1834
+ S || a.push(q);
1799
1835
  continue;
1800
1836
  }
1801
- const O = P(_, "id"), A = pr(I, _), R = Z(x(), Gt(P(_, "transform"))), E = A && ir(A, R), K = Vt(_) || a(), T = dt(p(), zt(_)), Y = P(_, "data-name");
1837
+ const O = P(_, "id"), A = br(I, _), R = Z(x(), Ut(P(_, "transform"))), E = A && ar(A, R), K = Zt(_) || l(), T = pt(p(), Ht(_)), Y = P(_, "data-name");
1802
1838
  if (h()) {
1803
- Ht(I, A) && y(I, E);
1839
+ Wt(I, A) && y(I, E);
1804
1840
  continue;
1805
1841
  }
1806
- if (O != null && Xt(O) || Y != null && Xt(Y))
1842
+ if (O != null && Vt(O) || Y != null && Vt(Y))
1807
1843
  continue;
1808
1844
  if (O) {
1809
1845
  u(), E && o.push({ id: O, tag: I, d: E, interactive: K, style: T });
@@ -1819,31 +1855,31 @@ function mr(t) {
1819
1855
  style: T
1820
1856
  }));
1821
1857
  }
1822
- for (; c.length > 0; )
1823
- f(c.pop());
1824
- return { viewbox: r, elements: o, routePathDs: i, warnings: l };
1858
+ for (; a.length > 0; )
1859
+ f(a.pop());
1860
+ return { viewbox: r, elements: o, routePathDs: i, warnings: c };
1825
1861
  }
1826
- function xr(t) {
1862
+ function gr(t) {
1827
1863
  return t.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 80);
1828
1864
  }
1829
- function br(t, e) {
1830
- var o, i, l, c;
1831
- const n = rt(e), r = {};
1832
- return n != null && n.fill ? r.fill = n.fill : (o = t.style) != null && o.fill && (r.fill = t.style.fill), n != null && n.stroke ? r.stroke = n.stroke : (i = t.style) != null && i.stroke && (r.stroke = t.style.stroke), (n == null ? void 0 : n.strokeWidth) != null ? r.strokeWidth = n.strokeWidth : ((l = t.style) == null ? void 0 : l.strokeWidth) != null && (r.strokeWidth = t.style.strokeWidth), ((c = t.style) == null ? void 0 : c.opacity) != null && (r.opacity = t.style.opacity), (n == null ? void 0 : n.extrudeHeight) != null && (r.extrudeHeight = n.extrudeHeight), r;
1865
+ function _r(t, e) {
1866
+ var o, i, c, a;
1867
+ const n = st(e), r = {};
1868
+ return n != null && n.fill ? r.fill = n.fill : (o = t.style) != null && o.fill && (r.fill = t.style.fill), n != null && n.stroke ? r.stroke = n.stroke : (i = t.style) != null && i.stroke && (r.stroke = t.style.stroke), (n == null ? void 0 : n.strokeWidth) != null ? r.strokeWidth = n.strokeWidth : ((c = t.style) == null ? void 0 : c.strokeWidth) != null && (r.strokeWidth = t.style.strokeWidth), ((a = t.style) == null ? void 0 : a.opacity) != null && (r.opacity = t.style.opacity), (n == null ? void 0 : n.extrudeHeight) != null && (r.extrudeHeight = n.extrudeHeight), r;
1833
1869
  }
1834
- function Ir(t, e) {
1870
+ function kr(t, e) {
1835
1871
  return t == null && e == null ? !0 : t == null || e == null ? !1 : Math.abs(t.x - e.x) < 0.01 && Math.abs(t.y - e.y) < 0.01 && Math.abs(t.width - e.width) < 0.01 && Math.abs(t.height - e.height) < 0.01;
1836
1872
  }
1837
- function ni(t, e = "floor", n = {}) {
1838
- const r = mr(t), o = [], i = [], l = [], c = [...r.warnings], s = [];
1839
- let h = 0, p = 0, a = 0;
1840
- const x = n.previousViewbox != null && r.viewbox != null && !Ir(n.previousViewbox, r.viewbox);
1841
- x && c.push(
1873
+ function ci(t, e = "floor", n = {}) {
1874
+ const r = Ir(t), o = [], i = [], c = [], a = [...r.warnings], s = [];
1875
+ let h = 0, p = 0, l = 0;
1876
+ const x = n.previousViewbox != null && r.viewbox != null && !kr(n.previousViewbox, r.viewbox);
1877
+ x && a.push(
1842
1878
  "SVG viewBox differs from the stored artboard — re-upload blocked until the designer restores the original viewBox"
1843
1879
  );
1844
1880
  for (const u of r.elements) {
1845
- if (ye(u.id)) continue;
1846
- let { kind: d, guessed: f } = ur(u.id, e);
1881
+ if (xe(u.id)) continue;
1882
+ let { kind: d, guessed: f } = hr(u.id, e);
1847
1883
  u.interactive && !d && (d = "unit", f = !0);
1848
1884
  const y = {
1849
1885
  sourceSvgId: u.id,
@@ -1858,12 +1894,12 @@ function ni(t, e = "floor", n = {}) {
1858
1894
  continue;
1859
1895
  }
1860
1896
  if (!u.d) {
1861
- c.push(`Element ${u.id} has no drawable geometry`);
1897
+ a.push(`Element ${u.id} has no drawable geometry`);
1862
1898
  continue;
1863
1899
  }
1864
1900
  if (e === "base") {
1865
- const m = rt(u.id) != null;
1866
- if (!(!m && (ar.includes(d) || !!u.interactive))) {
1901
+ const m = st(u.id) != null;
1902
+ if (!(!m && (fr.includes(d) || !!u.interactive))) {
1867
1903
  o.push({
1868
1904
  ...y,
1869
1905
  message: m ? "Static decoration — rendered from outdoor SVG" : "Decoration — not persisted; rendered from outdoor SVG"
@@ -1871,28 +1907,28 @@ function ni(t, e = "floor", n = {}) {
1871
1907
  continue;
1872
1908
  }
1873
1909
  }
1874
- f && (l.push(y), y.message = y.message ?? "Guessed kind from interactive/fallback rule"), o.push(y), d === "walkable" && h++, d === "void" && p++, d === "unit" && a++;
1875
- const b = Vn([u.d]), g = Ot(b);
1910
+ f && (c.push(y), y.message = y.message ?? "Guessed kind from interactive/fallback rule"), o.push(y), d === "walkable" && h++, d === "void" && p++, d === "unit" && l++;
1911
+ const b = Zn([u.d]), g = Et(b);
1876
1912
  s.push({
1877
- key: xr(u.id),
1913
+ key: gr(u.id),
1878
1914
  kind: d,
1879
1915
  geometry: b,
1880
1916
  bbox: g,
1881
1917
  sourceSvgId: u.id,
1882
- style: br(u, u.id)
1918
+ style: _r(u, u.id)
1883
1919
  });
1884
1920
  }
1885
- return e === "floor" && h === 0 && c.push(
1921
+ return e === "floor" && h === 0 && a.push(
1886
1922
  "No walkable layer found — auto-skeleton will be unavailable for this level"
1887
1923
  ), {
1888
1924
  report: {
1889
1925
  classified: o,
1890
1926
  unrecognized: i,
1891
- guessed: l,
1927
+ guessed: c,
1892
1928
  walkableCount: h,
1893
1929
  voidCount: p,
1894
- unitCount: a,
1895
- warnings: c
1930
+ unitCount: l,
1931
+ warnings: a
1896
1932
  },
1897
1933
  shapes: s,
1898
1934
  viewbox: r.viewbox,
@@ -1900,20 +1936,20 @@ function ni(t, e = "floor", n = {}) {
1900
1936
  viewBoxChanged: x
1901
1937
  };
1902
1938
  }
1903
- function ri(t, e, n, r = {}) {
1904
- const o = r.driftThreshold ?? lr, i = new Map(
1939
+ function ai(t, e, n, r = {}) {
1940
+ const o = r.driftThreshold ?? dr, i = new Map(
1905
1941
  e.filter((s) => s.sourceSvgId).map((s) => [s.sourceSvgId, s])
1906
- ), l = /* @__PURE__ */ new Set(), c = [];
1942
+ ), c = /* @__PURE__ */ new Set(), a = [];
1907
1943
  for (const s of t) {
1908
1944
  const h = i.get(s.sourceSvgId);
1909
- if (l.add(s.sourceSvgId), !h)
1910
- c.push({
1945
+ if (c.add(s.sourceSvgId), !h)
1946
+ a.push({
1911
1947
  sourceSvgId: s.sourceSvgId,
1912
1948
  change: "added",
1913
1949
  newKind: s.kind
1914
1950
  });
1915
1951
  else if (h.kind !== s.kind)
1916
- c.push({
1952
+ a.push({
1917
1953
  sourceSvgId: s.sourceSvgId,
1918
1954
  change: "kind_changed",
1919
1955
  existingShapeId: h.id,
@@ -1925,10 +1961,10 @@ function ri(t, e, n, r = {}) {
1925
1961
  else {
1926
1962
  let p = "unchanged";
1927
1963
  if (h.bbox) {
1928
- const a = (h.bbox.minX + h.bbox.maxX) / 2, x = (h.bbox.minY + h.bbox.maxY) / 2, u = Wn(s.geometry);
1929
- Math.hypot(u.x - a, u.y - x) > o && (p = "moved");
1964
+ const l = (h.bbox.minX + h.bbox.maxX) / 2, x = (h.bbox.minY + h.bbox.maxY) / 2, u = jn(s.geometry);
1965
+ Math.hypot(u.x - l, u.y - x) > o && (p = "moved");
1930
1966
  }
1931
- c.push({
1967
+ a.push({
1932
1968
  sourceSvgId: s.sourceSvgId,
1933
1969
  change: p,
1934
1970
  existingShapeId: h.id,
@@ -1940,7 +1976,7 @@ function ri(t, e, n, r = {}) {
1940
1976
  }
1941
1977
  }
1942
1978
  for (const s of e)
1943
- s.sourceSvgId && !l.has(s.sourceSvgId) && c.push({
1979
+ s.sourceSvgId && !c.has(s.sourceSvgId) && a.push({
1944
1980
  sourceSvgId: s.sourceSvgId,
1945
1981
  change: "removed",
1946
1982
  existingShapeId: s.id,
@@ -1948,60 +1984,60 @@ function ri(t, e, n, r = {}) {
1948
1984
  geometryLocked: s.geometryLocked
1949
1985
  });
1950
1986
  return {
1951
- items: c,
1987
+ items: a,
1952
1988
  shapes: t,
1953
1989
  viewbox: n
1954
1990
  };
1955
1991
  }
1956
- const v = 1e-6, gr = 15 * Math.PI / 180, _r = 1e-3, tt = Math.PI * 2;
1957
- function Wt(t, e) {
1992
+ const v = 1e-6, Or = 15 * Math.PI / 180, Sr = 1e-3, tt = Math.PI * 2;
1993
+ function jt(t, e) {
1958
1994
  return Math.abs(t.x - e.x) < v && Math.abs(t.y - e.y) < v;
1959
1995
  }
1960
- function pt(t, e) {
1996
+ function bt(t, e) {
1961
1997
  return { x: t.x + e.x, y: t.y + e.y };
1962
1998
  }
1963
- function Ut(t, e) {
1999
+ function qt(t, e) {
1964
2000
  return { x: t.x - e.x, y: t.y - e.y };
1965
2001
  }
1966
2002
  function et(t, e) {
1967
2003
  return { x: t.x * e, y: t.y * e };
1968
2004
  }
1969
- function mt(t, e, n) {
2005
+ function It(t, e, n) {
1970
2006
  return {
1971
2007
  x: t.x + Math.cos(n) * e,
1972
2008
  y: t.y + Math.sin(n) * e
1973
2009
  };
1974
2010
  }
1975
- function kr(t) {
2011
+ function Ar(t) {
1976
2012
  const e = [];
1977
2013
  for (const n of t) {
1978
2014
  const r = e[e.length - 1];
1979
- r && Wt(r, n) || e.push(n);
2015
+ r && jt(r, n) || e.push(n);
1980
2016
  }
1981
- return e.length >= 2 && Wt(e[0], e[e.length - 1]) && e.pop(), e;
2017
+ return e.length >= 2 && jt(e[0], e[e.length - 1]) && e.pop(), e;
1982
2018
  }
1983
- function oi(t, e) {
1984
- const n = te(e), r = kr(t);
2019
+ function li(t, e) {
2020
+ const n = re(e), r = Ar(t);
1985
2021
  if (r.length < 3 || n <= 0) return t;
1986
- const o = r.length, i = new Array(o), l = new Array(o), c = new Array(o), s = new Array(o), h = new Array(o).fill(0), p = new Array(o).fill(0), a = new Array(o).fill(!1);
2022
+ const o = r.length, i = new Array(o), c = new Array(o), a = new Array(o), s = new Array(o), h = new Array(o).fill(0), p = new Array(o).fill(0), l = new Array(o).fill(!1);
1987
2023
  for (let u = 0; u < o; u++) {
1988
2024
  const d = r[(u - 1 + o) % o], f = r[u], y = r[(u + 1) % o], b = D(d, f), g = D(f, y);
1989
- if (c[u] = g, b < v || g < v) {
1990
- i[u] = { x: 1, y: 0 }, l[u] = { x: 1, y: 0 }, s[u] = 0;
2025
+ if (a[u] = g, b < v || g < v) {
2026
+ i[u] = { x: 1, y: 0 }, c[u] = { x: 1, y: 0 }, s[u] = 0;
1991
2027
  continue;
1992
2028
  }
1993
- i[u] = et(Ut(f, d), 1 / b), l[u] = et(Ut(y, f), 1 / g);
1994
- const m = i[u].x * l[u].y - i[u].y * l[u].x, I = i[u].x * l[u].x + i[u].y * l[u].y;
2029
+ i[u] = et(qt(f, d), 1 / b), c[u] = et(qt(y, f), 1 / g);
2030
+ const m = i[u].x * c[u].y - i[u].y * c[u].x, I = i[u].x * c[u].x + i[u].y * c[u].y;
1995
2031
  s[u] = Math.atan2(m, I);
1996
2032
  const _ = Math.abs(s[u]);
1997
- if (_ < gr) continue;
2033
+ if (_ < Or) continue;
1998
2034
  const S = Math.PI - _, O = Math.tan(S / 2);
1999
2035
  if (O < v || S <= v || S >= Math.PI - v) continue;
2000
2036
  const A = n / O;
2001
- h[u] = A, p[u] = A, a[u] = !0;
2037
+ h[u] = A, p[u] = A, l[u] = !0;
2002
2038
  }
2003
2039
  for (let u = 0; u < o; u++) {
2004
- const d = (u + 1) % o, f = p[u] + h[d], y = Math.max(0, c[u] - _r);
2040
+ const d = (u + 1) % o, f = p[u] + h[d], y = Math.max(0, a[u] - Sr);
2005
2041
  if (f <= y || f <= v) continue;
2006
2042
  const b = y / f;
2007
2043
  p[u] *= b, h[d] *= b;
@@ -2009,33 +2045,33 @@ function oi(t, e) {
2009
2045
  const x = [];
2010
2046
  for (let u = 0; u < o; u++) {
2011
2047
  const d = r[u], f = Math.min(h[u], p[u]), y = Math.abs(s[u]), b = Math.PI - y, g = f * Math.tan(b / 2);
2012
- if (!a[u] || g < v || f < v) {
2048
+ if (!l[u] || g < v || f < v) {
2013
2049
  x.push({ ...d });
2014
2050
  continue;
2015
2051
  }
2016
- const m = pt(d, et(i[u], -f)), I = pt(d, et(l[u], f)), _ = s[u] > 0 ? 1 : -1, S = pt(m, {
2052
+ const m = bt(d, et(i[u], -f)), I = bt(d, et(c[u], f)), _ = s[u] > 0 ? 1 : -1, S = bt(m, {
2017
2053
  x: -i[u].y * _ * g,
2018
2054
  y: i[u].x * _ * g
2019
- }), O = Math.atan2(m.y - S.y, m.x - S.x), A = Math.atan2(I.y - S.y, I.x - S.x), R = (A - O + tt) % tt, E = (O - A + tt) % tt, K = mt(S, g, O + R / 2), T = mt(S, g, O - E / 2), Y = D(K, d) <= D(T, d), L = Y ? R : E, C = Math.max(8, Math.min(28, Math.ceil(L * g / 2)));
2055
+ }), O = Math.atan2(m.y - S.y, m.x - S.x), A = Math.atan2(I.y - S.y, I.x - S.x), R = (A - O + tt) % tt, E = (O - A + tt) % tt, K = It(S, g, O + R / 2), T = It(S, g, O - E / 2), Y = D(K, d) <= D(T, d), L = Y ? R : E, C = Math.max(8, Math.min(28, Math.ceil(L * g / 2)));
2020
2056
  for (let B = 0; B <= C; B++) {
2021
2057
  const z = B / C, M = Y ? O + L * z : O - L * z;
2022
- x.push(mt(S, g, M));
2058
+ x.push(It(S, g, M));
2023
2059
  }
2024
2060
  }
2025
2061
  return x;
2026
2062
  }
2027
- function Or(t, e, n) {
2063
+ function Cr(t, e, n) {
2028
2064
  const r = t.connectorId ?? e.connectorId;
2029
2065
  return r == null ? void 0 : n.get(r);
2030
2066
  }
2031
- function Sr(t, e, n, r) {
2067
+ function Er(t, e, n, r) {
2032
2068
  var o;
2033
- return e.levelId === n.levelId ? !0 : t.kind !== "connector" ? !1 : ve(
2034
- (o = Or(e, n, r)) == null ? void 0 : o.kind
2069
+ return e.levelId === n.levelId ? !0 : t.kind !== "connector" ? !1 : Te(
2070
+ (o = Cr(e, n, r)) == null ? void 0 : o.kind
2035
2071
  );
2036
2072
  }
2037
- function Ar(t, e, n = []) {
2038
- const r = me(), o = new Map(t.map((s) => [s.id, s])), i = new Map(n.map((s) => [s.id, s])), l = t.map((s) => ({
2073
+ function Rr(t, e, n = []) {
2074
+ const r = Ie(), o = new Map(t.map((s) => [s.id, s])), i = new Map(n.map((s) => [s.id, s])), c = t.map((s) => ({
2039
2075
  id: s.id,
2040
2076
  levelId: s.levelId,
2041
2077
  x: s.x,
@@ -2044,14 +2080,14 @@ function Ar(t, e, n = []) {
2044
2080
  shapeId: s.shapeId,
2045
2081
  connectorId: s.connectorId
2046
2082
  }));
2047
- for (const s of l)
2083
+ for (const s of c)
2048
2084
  r.addNode(s.id, s);
2049
- const c = [];
2085
+ const a = [];
2050
2086
  for (const s of e) {
2051
2087
  const h = o.get(s.fromAnchorId), p = o.get(s.toAnchorId);
2052
- if (!h || !p || !Sr(s, h, p, i)) continue;
2053
- let a = s.weight;
2054
- a == null && (a = D(h, p), h.levelId !== p.levelId && (a += xt));
2088
+ if (!h || !p || !Er(s, h, p, i)) continue;
2089
+ let l = s.weight;
2090
+ l == null && (l = D(h, p), h.levelId !== p.levelId && (l += _t));
2055
2091
  let x = s.accessible;
2056
2092
  if (s.kind === "connector" && h.connectorId != null) {
2057
2093
  const d = i.get(h.connectorId);
@@ -2061,20 +2097,20 @@ function Ar(t, e, n = []) {
2061
2097
  id: s.id,
2062
2098
  from: s.fromAnchorId,
2063
2099
  to: s.toAnchorId,
2064
- weight: a,
2100
+ weight: l,
2065
2101
  directed: s.directed,
2066
2102
  accessible: x,
2067
2103
  kind: s.kind
2068
2104
  };
2069
- c.push(u), r.addLink(s.fromAnchorId, s.toAnchorId, u), s.directed || r.addLink(s.toAnchorId, s.fromAnchorId, u);
2105
+ a.push(u), r.addLink(s.fromAnchorId, s.toAnchorId, u), s.directed || r.addLink(s.toAnchorId, s.fromAnchorId, u);
2070
2106
  }
2071
- return { graph: r, nodes: l, edges: c, anchorById: o };
2107
+ return { graph: r, nodes: c, edges: a, anchorById: o };
2072
2108
  }
2073
- function Cr(t, e, n, r = {}) {
2109
+ function Lr(t, e, n, r = {}) {
2074
2110
  const { graph: o, anchorById: i } = t;
2075
2111
  if (!i.has(e) || !i.has(n))
2076
2112
  return null;
2077
- const c = xe.nba(o, {
2113
+ const a = ge.nba(o, {
2078
2114
  oriented: !0,
2079
2115
  distance(u, d, f) {
2080
2116
  const y = f.data;
@@ -2084,35 +2120,35 @@ function Cr(t, e, n, r = {}) {
2084
2120
  const f = i.get(u.id), y = i.get(d.id);
2085
2121
  if (!f || !y) return 0;
2086
2122
  let b = D(f, y);
2087
- return f.levelId !== y.levelId && (b += xt), b;
2123
+ return f.levelId !== y.levelId && (b += _t), b;
2088
2124
  }
2089
2125
  }).find(e, n);
2090
- if (!c || c.length === 0) return null;
2091
- const h = c.reverse().map((u) => u.id), p = [], a = [];
2126
+ if (!a || a.length === 0) return null;
2127
+ const h = a.reverse().map((u) => u.id), p = [], l = [];
2092
2128
  let x = 0;
2093
2129
  for (let u = 0; u < h.length; u++) {
2094
2130
  const d = i.get(h[u]);
2095
2131
  if (p.push({ x: d.x, y: d.y, levelId: d.levelId }), u > 0) {
2096
2132
  const f = i.get(h[u - 1]);
2097
- x += D(f, d), f.levelId !== d.levelId && (x += xt, a.push({
2133
+ x += D(f, d), f.levelId !== d.levelId && (x += _t, l.push({
2098
2134
  fromLevelId: f.levelId,
2099
2135
  toLevelId: d.levelId,
2100
2136
  connectorId: d.connectorId ?? f.connectorId
2101
2137
  }));
2102
2138
  }
2103
2139
  }
2104
- return { anchorIds: h, points: p, totalWeight: x, levelChanges: a };
2140
+ return { anchorIds: h, points: p, totalWeight: x, levelChanges: l };
2105
2141
  }
2106
- function It(t) {
2142
+ function Ot(t) {
2107
2143
  const e = /* @__PURE__ */ new Set(), n = [];
2108
2144
  for (const r of t)
2109
2145
  !Number.isFinite(r) || e.has(r) || (e.add(r), n.push(r));
2110
2146
  return n;
2111
2147
  }
2112
- function ii(t, e) {
2148
+ function ui(t, e) {
2113
2149
  return t.filter((n) => n.shapeId === e).map((n) => n.id);
2114
2150
  }
2115
- function si(t, e) {
2151
+ function fi(t, e) {
2116
2152
  const n = [];
2117
2153
  for (const r of t) {
2118
2154
  const o = /* @__PURE__ */ new Set();
@@ -2124,63 +2160,63 @@ function si(t, e) {
2124
2160
  }
2125
2161
  return n;
2126
2162
  }
2127
- function Er(t, e) {
2163
+ function vr(t, e) {
2128
2164
  const n = t.anchorById.get(e);
2129
2165
  if (!n) return [];
2130
2166
  if (n.shapeId == null) return [e];
2131
2167
  const r = t.nodes.filter((o) => o.shapeId === n.shapeId).map((o) => o.id);
2132
2168
  return r.length > 0 ? r : [e];
2133
2169
  }
2134
- function Zt(t, e) {
2170
+ function Qt(t, e) {
2135
2171
  const n = /* @__PURE__ */ new Set();
2136
- for (const r of It(e))
2137
- for (const o of Er(t, r))
2172
+ for (const r of Ot(e))
2173
+ for (const o of vr(t, r))
2138
2174
  n.add(o);
2139
2175
  return [...n];
2140
2176
  }
2141
- function Rr(t, e, n, r = {}) {
2142
- const o = It(e), i = It(n);
2177
+ function Nr(t, e, n, r = {}) {
2178
+ const o = Ot(e), i = Ot(n);
2143
2179
  if (o.length === 0 || i.length === 0) return null;
2144
- let l = null;
2145
- for (const c of o)
2180
+ let c = null;
2181
+ for (const a of o)
2146
2182
  for (const s of i) {
2147
- const h = Cr(t, c, s, r);
2148
- h && (!l || h.totalWeight < l.totalWeight) && (l = h);
2183
+ const h = Lr(t, a, s, r);
2184
+ h && (!c || h.totalWeight < c.totalWeight) && (c = h);
2149
2185
  }
2150
- return l;
2186
+ return c;
2151
2187
  }
2152
- function Lr(t, e, n, r = {}) {
2153
- return Rr(
2188
+ function Tr(t, e, n, r = {}) {
2189
+ return Nr(
2154
2190
  t,
2155
- Zt(t, e),
2156
- Zt(t, n),
2191
+ Qt(t, e),
2192
+ Qt(t, n),
2157
2193
  r
2158
2194
  );
2159
2195
  }
2160
- function ci(t, e, n, r = {}) {
2161
- return Lr(
2196
+ function di(t, e, n, r = {}) {
2197
+ return Tr(
2162
2198
  t,
2163
2199
  [e],
2164
2200
  n,
2165
2201
  r
2166
2202
  );
2167
2203
  }
2168
- function ai(t) {
2169
- const e = Ye(t.theme), n = new Map(
2204
+ function hi(t) {
2205
+ const e = ze(t.theme), n = new Map(
2170
2206
  t.assignments.map((s) => [s.shapeId, s])
2171
2207
  ), r = new Map(
2172
2208
  (t.retailers ?? []).map((s) => [s.id, s])
2173
2209
  ), o = t.resolveSvgUrl ?? ((s) => s), i = t.levels.filter((s) => s.isActive).sort((s, h) => s.ordering - h.ordering).map((s) => {
2174
- const h = t.shapes.filter((a) => a.levelId === s.id).map((a) => {
2175
- const x = ue(a.geometry), u = n.get(a.id) ?? null, d = (u == null ? void 0 : u.retailerId) != null ? r.get(u.retailerId) ?? null : null, f = d && !t.persistMediaKeys ? { ...d, logoKey: null } : d;
2210
+ const h = t.shapes.filter((l) => l.levelId === s.id).map((l) => {
2211
+ const x = he(l.geometry), u = n.get(l.id) ?? null, d = (u == null ? void 0 : u.retailerId) != null ? r.get(u.retailerId) ?? null : null, f = d && !t.persistMediaKeys ? { ...d, logoKey: null } : d;
2176
2212
  return {
2177
- ...a,
2213
+ ...l,
2178
2214
  geometry: x,
2179
- bbox: x === a.geometry ? a.bbox : Ot(x),
2215
+ bbox: x === l.geometry ? l.bbox : Et(x),
2180
2216
  assignment: u,
2181
- label: ne(a, u, f)
2217
+ label: ie(l, u, f)
2182
2218
  };
2183
- }), p = t.anchors.filter((a) => a.levelId === s.id);
2219
+ }), p = t.anchors.filter((l) => l.levelId === s.id);
2184
2220
  return {
2185
2221
  id: s.id,
2186
2222
  buildingId: s.buildingId,
@@ -2194,7 +2230,7 @@ function ai(t) {
2194
2230
  shapes: h,
2195
2231
  anchors: p
2196
2232
  };
2197
- }), { nodes: l, edges: c } = Ar(
2233
+ }), { nodes: c, edges: a } = Rr(
2198
2234
  t.anchors,
2199
2235
  t.edges,
2200
2236
  t.connectors
@@ -2213,14 +2249,14 @@ function ai(t) {
2213
2249
  connectors: t.connectors,
2214
2250
  amenities: t.amenities.filter((s) => s.isActive),
2215
2251
  retailers: (t.retailers ?? []).map(
2216
- (s) => vr(s, !!t.persistMediaKeys)
2252
+ (s) => Mr(s, !!t.persistMediaKeys)
2217
2253
  ),
2218
- graph: { nodes: l, edges: c },
2254
+ graph: { nodes: c, edges: a },
2219
2255
  responsiveOverrides: t.responsiveOverrides,
2220
2256
  publishedAt: t.publishedAt ?? (/* @__PURE__ */ new Date()).toISOString()
2221
2257
  };
2222
2258
  }
2223
- function vr(t, e) {
2259
+ function Mr(t, e) {
2224
2260
  return {
2225
2261
  id: t.id,
2226
2262
  name: t.name,
@@ -2232,16 +2268,16 @@ function vr(t, e) {
2232
2268
  globalRetailerId: t.globalRetailerId ?? null
2233
2269
  };
2234
2270
  }
2235
- function li(t) {
2271
+ function yi(t) {
2236
2272
  let e = !1;
2237
2273
  const n = t.levels.map((r) => {
2238
2274
  let o = !1;
2239
- const i = r.shapes.map((l) => {
2240
- const c = ue(l.geometry), s = ne(l, l.assignment), h = c !== l.geometry, p = s !== l.label;
2241
- return !h && !p ? l : (o = !0, {
2242
- ...l,
2243
- geometry: c,
2244
- bbox: h ? Ot(c) : l.bbox,
2275
+ const i = r.shapes.map((c) => {
2276
+ const a = he(c.geometry), s = ie(c, c.assignment), h = a !== c.geometry, p = s !== c.label;
2277
+ return !h && !p ? c : (o = !0, {
2278
+ ...c,
2279
+ geometry: a,
2280
+ bbox: h ? Et(a) : c.bbox,
2245
2281
  label: s
2246
2282
  });
2247
2283
  });
@@ -2249,48 +2285,48 @@ function li(t) {
2249
2285
  });
2250
2286
  return e ? { ...t, levels: n } : t;
2251
2287
  }
2252
- const ui = [
2288
+ const pi = [
2253
2289
  "admin_portal",
2254
2290
  "desktop",
2255
2291
  "tablet",
2256
2292
  "mobile",
2257
2293
  "display_app"
2258
- ], fi = [
2294
+ ], mi = [
2259
2295
  { id: "admin_portal", label: "Admin Portal" },
2260
2296
  { id: "desktop", label: "Desktop" },
2261
2297
  { id: "tablet", label: "Tablet" },
2262
2298
  { id: "mobile", label: "Mobile" },
2263
2299
  { id: "display_app", label: "Kiosk App" }
2264
- ], Nr = 1024, Tr = 767;
2265
- function di(t) {
2300
+ ], wr = 1024, Pr = 767;
2301
+ function xi(t) {
2266
2302
  return t === "admin_portal" || t === "display_app" || t === "desktop" || t === "tablet" || t === "mobile";
2267
2303
  }
2268
- function hi(t, e) {
2269
- return t === "PORTAL_ASSIGN" ? "admin_portal" : t === "DISPLAY_APP" ? "display_app" : e > Nr ? "desktop" : e > Tr ? "tablet" : "mobile";
2304
+ function bi(t, e) {
2305
+ return t === "PORTAL_ASSIGN" ? "admin_portal" : t === "DISPLAY_APP" ? "display_app" : e > wr ? "desktop" : e > Pr ? "tablet" : "mobile";
2270
2306
  }
2271
- function Mr(t, e) {
2307
+ function Fr(t, e) {
2272
2308
  return `${t ?? "none"}:${e}`;
2273
2309
  }
2274
- function yi(t, e, n) {
2275
- return `${n ? "capture" : "viewer"}:${Mr(t, e)}`;
2310
+ function Ii(t, e, n) {
2311
+ return `${n ? "capture" : "viewer"}:${Fr(t, e)}`;
2276
2312
  }
2277
- function jt(t) {
2313
+ function Jt(t) {
2278
2314
  return t ? t.x === 0 && t.y === 0 && t.z === 0 : !0;
2279
2315
  }
2280
- function pe(t) {
2316
+ function be(t) {
2281
2317
  var n;
2282
2318
  if (!t) return !0;
2283
2319
  const e = (n = t.camera) == null ? void 0 : n.zoom;
2284
- return typeof e == "number" && Number.isFinite(e) && e > 0 ? !1 : jt(t.camera) && jt(t.controls);
2320
+ return typeof e == "number" && Number.isFinite(e) && e > 0 ? !1 : Jt(t.camera) && Jt(t.controls);
2285
2321
  }
2286
- function pi(t, e, n) {
2322
+ function gi(t, e, n) {
2287
2323
  if (!(t != null && t.length) || e == null) return null;
2288
2324
  const r = t.find(
2289
2325
  (o) => o.levelId === e && o.device === n
2290
2326
  );
2291
- return !r || pe(r) ? null : r;
2327
+ return !r || be(r) ? null : r;
2292
2328
  }
2293
- function mi(t) {
2329
+ function _i(t) {
2294
2330
  const e = t.camera.zoom;
2295
2331
  return {
2296
2332
  zoom: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : 0,
@@ -2298,7 +2334,7 @@ function mi(t) {
2298
2334
  target: [t.controls.x, t.controls.y, t.controls.z]
2299
2335
  };
2300
2336
  }
2301
- function xi(t) {
2337
+ function ki(t) {
2302
2338
  return {
2303
2339
  camera: {
2304
2340
  x: t.position[0],
@@ -2313,21 +2349,21 @@ function xi(t) {
2313
2349
  }
2314
2350
  };
2315
2351
  }
2316
- const wr = {
2352
+ const Dr = {
2317
2353
  x: 0,
2318
2354
  y: 0,
2319
2355
  z: 0,
2320
2356
  zoom: 0
2321
- }, Pr = { x: 0, y: 0, z: 0 };
2322
- function bi(t, e) {
2357
+ }, Kr = { x: 0, y: 0, z: 0 };
2358
+ function Oi(t, e) {
2323
2359
  return {
2324
2360
  levelId: t,
2325
2361
  device: e,
2326
- camera: { ...wr },
2327
- controls: { ...Pr }
2362
+ camera: { ...Dr },
2363
+ controls: { ...Kr }
2328
2364
  };
2329
2365
  }
2330
- function Fr(t, e) {
2366
+ function Yr(t, e) {
2331
2367
  const n = {
2332
2368
  id: e.id ?? 0,
2333
2369
  mapId: e.mapId ?? 0,
@@ -2347,244 +2383,246 @@ function Fr(t, e) {
2347
2383
  mapId: e.mapId ?? t[r].mapId
2348
2384
  }, o;
2349
2385
  }
2350
- function Ii(t, e) {
2386
+ function Si(t, e) {
2351
2387
  let n = t;
2352
2388
  for (const r of e) {
2353
- if (pe(r)) {
2389
+ if (be(r)) {
2354
2390
  n = n.filter(
2355
2391
  (o) => !(o.levelId === r.levelId && o.device === r.device)
2356
2392
  );
2357
2393
  continue;
2358
2394
  }
2359
- n = Fr(n, r);
2395
+ n = Yr(n, r);
2360
2396
  }
2361
2397
  return n;
2362
2398
  }
2363
2399
  export {
2364
- rn as $,
2365
- We as A,
2366
- Mn as B,
2367
- He as C,
2368
- ot as D,
2369
- wr as E,
2370
- xt as F,
2371
- ei as G,
2372
- yo as H,
2373
- Br as I,
2374
- bn as J,
2375
- tr as K,
2376
- Ur as L,
2377
- Ao as M,
2378
- $n as N,
2379
- bo as O,
2380
- Yt as P,
2381
- Bt as Q,
2382
- Nr as R,
2383
- sn as S,
2384
- gt as T,
2385
- je as U,
2386
- Gr as V,
2387
- qt as W,
2388
- nn as X,
2400
+ cn as $,
2401
+ Ze as A,
2402
+ Fn as B,
2403
+ Ve as C,
2404
+ ct as D,
2405
+ Dr as E,
2406
+ _t as F,
2407
+ si as G,
2408
+ Io as H,
2409
+ $r as I,
2410
+ _n as J,
2411
+ rr as K,
2412
+ Jr as L,
2413
+ vo as M,
2414
+ Xn as N,
2415
+ Oo as O,
2416
+ Gt as P,
2417
+ $t as Q,
2418
+ wr as R,
2419
+ ln as S,
2420
+ St as T,
2421
+ Qe as U,
2422
+ Wr as V,
2423
+ te as W,
2424
+ sn as X,
2389
2425
  N as Y,
2390
- tn as Z,
2391
- re as _,
2392
- Hr as a,
2393
- vo as a$,
2394
- fo as a0,
2395
- ro as a1,
2396
- lo as a2,
2397
- Mt as a3,
2398
- Dn as a4,
2399
- qo as a5,
2400
- Co as a6,
2401
- Vn as a7,
2402
- ho as a8,
2403
- ee as a9,
2404
- Rr as aA,
2405
- Lr as aB,
2406
- wo as aC,
2407
- jo as aD,
2408
- Oo as aE,
2409
- it as aF,
2410
- $o as aG,
2411
- Ot as aH,
2412
- Wn as aI,
2413
- pn as aJ,
2414
- mn as aK,
2415
- un as aL,
2416
- xo as aM,
2417
- ni as aN,
2418
- Jn as aO,
2419
- oe as aP,
2420
- Vo as aQ,
2421
- Qe as aR,
2422
- di as aS,
2423
- pe as aT,
2424
- jt as aU,
2425
- Ge as aV,
2426
- $e as aW,
2427
- Hn as aX,
2428
- er as aY,
2429
- de as aZ,
2430
- ye as a_,
2431
- Kn as aa,
2432
- Wr as ab,
2433
- Ke as ac,
2434
- te as ad,
2435
- ur as ae,
2436
- Qr as af,
2437
- dn as ag,
2438
- ai as ah,
2439
- Ar as ai,
2440
- uo as aj,
2441
- Yr as ak,
2442
- _t as al,
2443
- Jr as am,
2444
- xn as an,
2445
- hi as ao,
2446
- ri as ap,
2447
- D as aq,
2448
- bi as ar,
2449
- to as as,
2450
- Dt as at,
2451
- Zt as au,
2452
- oi as av,
2453
- ci as aw,
2454
- Cr as ax,
2455
- On as ay,
2456
- pi as az,
2457
- Xe as b,
2458
- Lt as b$,
2459
- St as b0,
2460
- V as b1,
2461
- fe as b2,
2462
- Ht as b3,
2463
- Xt as b4,
2464
- po as b5,
2465
- he as b6,
2466
- W as b7,
2467
- kt as b8,
2468
- ve as b9,
2469
- eo as bA,
2470
- mr as bB,
2471
- Gt as bC,
2472
- Un as bD,
2473
- le as bE,
2474
- Yn as bF,
2475
- Qo as bG,
2476
- Pt as bH,
2477
- wt as bI,
2478
- fn as bJ,
2479
- xi as bK,
2480
- Bn as bL,
2481
- ne as bM,
2482
- zt as bN,
2483
- Zo as bO,
2484
- rt as bP,
2485
- Ee as bQ,
2486
- Nt as bR,
2487
- io as bS,
2488
- oo as bT,
2489
- Pn as bU,
2490
- Wo as bV,
2491
- Mr as bW,
2492
- yi as bX,
2493
- no as bY,
2494
- yn as bZ,
2495
- ln as b_,
2496
- kn as ba,
2497
- cn as bb,
2498
- ao as bc,
2499
- jr as bd,
2500
- qr as be,
2501
- an as bf,
2502
- Ro as bg,
2503
- si as bh,
2504
- Vr as bi,
2505
- dt as bj,
2506
- Ii as bk,
2507
- Ye as bl,
2508
- Z as bm,
2509
- Jo as bn,
2510
- _o as bo,
2511
- ue as bp,
2512
- Zr as bq,
2513
- st as br,
2514
- Jt as bs,
2515
- li as bt,
2516
- Go as bu,
2517
- vt as bv,
2518
- $r as bw,
2519
- mi as bx,
2520
- Rt as by,
2521
- so as bz,
2522
- H as c,
2523
- In as c0,
2524
- ii as c1,
2525
- Fn as c2,
2526
- So as c3,
2527
- Er as c4,
2528
- ti as c5,
2529
- zr as c6,
2530
- wn as c7,
2531
- Ae as c8,
2532
- X as c9,
2533
- Fo as cA,
2534
- Do as cB,
2535
- Cn as cC,
2536
- Bo as cD,
2537
- Ko as cE,
2538
- zo as cF,
2539
- Yo as cG,
2540
- Se as ca,
2541
- Le as cb,
2542
- ae as cc,
2543
- ir as cd,
2544
- Eo as ce,
2545
- It as cf,
2546
- kr as cg,
2547
- Fr as ch,
2548
- Ft as ci,
2549
- Lo as cj,
2550
- No as ck,
2551
- ie as cl,
2552
- se as cm,
2553
- vn as cn,
2554
- Mo as co,
2555
- ko as cp,
2556
- hn as cq,
2557
- _n as cr,
2558
- Po as cs,
2559
- Tn as ct,
2560
- Uo as cu,
2561
- Xo as cv,
2562
- Ho as cw,
2563
- To as cx,
2564
- Ln as cy,
2565
- mo as cz,
2566
- Xr as d,
2567
- An as e,
2568
- Pr as f,
2569
- nt as g,
2570
- bt as h,
2571
- lr as i,
2572
- ar as j,
2573
- Be as k,
2574
- ze as l,
2575
- go as m,
2576
- Io as n,
2577
- Oe as o,
2578
- ui as p,
2579
- fi as q,
2580
- Tr as r,
2581
- Ve as s,
2582
- ce as t,
2583
- at as u,
2584
- _e as v,
2585
- Qt as w,
2586
- ke as x,
2587
- Sr as y,
2588
- co as z
2426
+ rn as Z,
2427
+ se as _,
2428
+ jr as a,
2429
+ pe as a$,
2430
+ xo as a0,
2431
+ ao as a1,
2432
+ po as a2,
2433
+ Ft as a3,
2434
+ Bn as a4,
2435
+ ni as a5,
2436
+ No as a6,
2437
+ Zn as a7,
2438
+ bo as a8,
2439
+ oe as a9,
2440
+ gi as aA,
2441
+ Nr as aB,
2442
+ Tr as aC,
2443
+ Yo as aD,
2444
+ ei as aE,
2445
+ Ro as aF,
2446
+ at as aG,
2447
+ Vo as aH,
2448
+ Et as aI,
2449
+ jn as aJ,
2450
+ bn as aK,
2451
+ In as aL,
2452
+ hn as aM,
2453
+ ko as aN,
2454
+ ci as aO,
2455
+ nr as aP,
2456
+ ce as aQ,
2457
+ qo as aR,
2458
+ tn as aS,
2459
+ xi as aT,
2460
+ be as aU,
2461
+ Jt as aV,
2462
+ Xe as aW,
2463
+ He as aX,
2464
+ Wn as aY,
2465
+ en as aZ,
2466
+ or as a_,
2467
+ zn as aa,
2468
+ Qr as ab,
2469
+ Be as ac,
2470
+ re as ad,
2471
+ hr as ae,
2472
+ ro as af,
2473
+ pn as ag,
2474
+ Xr as ah,
2475
+ hi as ai,
2476
+ Rr as aj,
2477
+ mo as ak,
2478
+ Gr as al,
2479
+ At as am,
2480
+ oo as an,
2481
+ gn as ao,
2482
+ bi as ap,
2483
+ ai as aq,
2484
+ D as ar,
2485
+ Oi as as,
2486
+ io as at,
2487
+ Bt as au,
2488
+ Qt as av,
2489
+ li as aw,
2490
+ di as ax,
2491
+ Lr as ay,
2492
+ Cn as az,
2493
+ Ue as b,
2494
+ xn as b$,
2495
+ xe as b0,
2496
+ Po as b1,
2497
+ Rt as b2,
2498
+ U as b3,
2499
+ ye as b4,
2500
+ Wt as b5,
2501
+ Vt as b6,
2502
+ go as b7,
2503
+ me as b8,
2504
+ V as b9,
2505
+ Tt as bA,
2506
+ fo as bB,
2507
+ so as bC,
2508
+ Ir as bD,
2509
+ Ut as bE,
2510
+ qn as bF,
2511
+ de as bG,
2512
+ Gn as bH,
2513
+ ri as bI,
2514
+ Kt as bJ,
2515
+ Dt as bK,
2516
+ yn as bL,
2517
+ ki as bM,
2518
+ $n as bN,
2519
+ ie as bO,
2520
+ Ht as bP,
2521
+ ti as bQ,
2522
+ st as bR,
2523
+ it as bS,
2524
+ wt as bT,
2525
+ uo as bU,
2526
+ lo as bV,
2527
+ Kn as bW,
2528
+ Qo as bX,
2529
+ Fr as bY,
2530
+ Ii as bZ,
2531
+ co as b_,
2532
+ Ct as ba,
2533
+ Te as bb,
2534
+ An as bc,
2535
+ un as bd,
2536
+ yo as be,
2537
+ eo as bf,
2538
+ no as bg,
2539
+ fn as bh,
2540
+ Mo as bi,
2541
+ fi as bj,
2542
+ qr as bk,
2543
+ pt as bl,
2544
+ Si as bm,
2545
+ ze as bn,
2546
+ Z as bo,
2547
+ oi as bp,
2548
+ Co as bq,
2549
+ he as br,
2550
+ to as bs,
2551
+ lt as bt,
2552
+ ne as bu,
2553
+ yi as bv,
2554
+ Wo as bw,
2555
+ Hr as bx,
2556
+ Vr as by,
2557
+ _i as bz,
2558
+ X as c,
2559
+ dn as c0,
2560
+ Mt as c1,
2561
+ kn as c2,
2562
+ ui as c3,
2563
+ Yn as c4,
2564
+ Lo as c5,
2565
+ vr as c6,
2566
+ ii as c7,
2567
+ Ur as c8,
2568
+ Dn as c9,
2569
+ Tn as cA,
2570
+ _o as cB,
2571
+ zo as cC,
2572
+ Go as cD,
2573
+ Ln as cE,
2574
+ Xo as cF,
2575
+ $o as cG,
2576
+ Uo as cH,
2577
+ Ho as cI,
2578
+ Re as ca,
2579
+ H as cb,
2580
+ Ee as cc,
2581
+ Ne as cd,
2582
+ fe as ce,
2583
+ ar as cf,
2584
+ To as cg,
2585
+ Ot as ch,
2586
+ Ar as ci,
2587
+ Yr as cj,
2588
+ Yt as ck,
2589
+ wo as cl,
2590
+ Fo as cm,
2591
+ ae as cn,
2592
+ le as co,
2593
+ Mn as cp,
2594
+ Ko as cq,
2595
+ Eo as cr,
2596
+ mn as cs,
2597
+ Sn as ct,
2598
+ Bo as cu,
2599
+ Pn as cv,
2600
+ Jo as cw,
2601
+ Zo as cx,
2602
+ jo as cy,
2603
+ Do as cz,
2604
+ Zr as d,
2605
+ Rn as e,
2606
+ Kr as f,
2607
+ ot as g,
2608
+ kt as h,
2609
+ dr as i,
2610
+ fr as j,
2611
+ Ge as k,
2612
+ $e as l,
2613
+ Ao as m,
2614
+ So as n,
2615
+ Ce as o,
2616
+ pi as p,
2617
+ mi as q,
2618
+ Pr as r,
2619
+ We as s,
2620
+ ue as t,
2621
+ ft as u,
2622
+ Se as v,
2623
+ ee as w,
2624
+ Ae as x,
2625
+ Er as y,
2626
+ ho as z
2589
2627
  };
2590
2628
  //# sourceMappingURL=responsive.js.map