@expofp/floorplan 3.10.2 → 3.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{Button-Bj5GinNb.js → Button-w3em_lzh.js} +5 -5
- package/dist/browser/{CookieConsent-vekYv-WL.js → CookieConsent-DGuzCkb_.js} +7 -7
- package/dist/browser/{Debug-B8Z6UAk7.js → Debug-C0bAbDfy.js} +7 -7
- package/dist/browser/{Demo-DxKBQPXs.js → Demo-Bjaxry3H.js} +9 -9
- package/dist/browser/{Free-xJ581Tn5.js → Free-DYRe3qzH.js} +9 -9
- package/dist/browser/{Gallery-BCLvsYMq.js → Gallery-Mh_fak51.js} +9 -9
- package/dist/browser/{GpsLoader-D8b4YGWa.js → GpsLoader-BUFe8XAp.js} +9 -9
- package/dist/browser/{KioskStore-iac7BFkc.js → KioskStore-CG4obHqM.js} +3 -3
- package/dist/browser/{MaplibreAdapter-hBzzKWxy.js → MaplibreAdapter-_7g233g0.js} +12 -12
- package/dist/browser/{ModalContainer-CNFkEgVO.js → ModalContainer-q8ktZG4M.js} +10 -10
- package/dist/browser/{PermissionNotice-BjNUzq-I.js → PermissionNotice-CZPYZBEq.js} +6 -6
- package/dist/browser/{SetKioskMode-rZPgTzX2.js → SetKioskMode-Bstomyjg.js} +8 -8
- package/dist/browser/{ShowKiosk-C0-HDdLS.js → ShowKiosk-CSSaeauJ.js} +10 -10
- package/dist/browser/{TouchHand-BpAIvJuD.js → TouchHand-DKlAqQxo.js} +4 -4
- package/dist/browser/{ViewerMenuPanel-B8HWceZY.js → ViewerMenuPanel-CDZU9m-C.js} +9 -9
- package/dist/browser/{add-debug-secret-listener-DrG0zrQz.js → add-debug-secret-listener-CpUZyE-i.js} +1 -1
- package/dist/browser/{boolean-editor-CksHtQqy.js → boolean-editor-BXtJr0-a.js} +9 -9
- package/dist/browser/{bootIntercom-DIY2vGKD.js → bootIntercom-BdpTIgRq.js} +2 -2
- package/dist/browser/{booth-by-xy-CB4TcAKe.js → booth-by-xy-Cvr_M6ay.js} +121 -108
- package/dist/browser/{browser-BJI7T84p.js → browser-D0zb6N8t.js} +2 -2
- package/dist/browser/bundle.json +61 -61
- package/dist/browser/{classnames-DY5QZHM2.js → classnames-njarKVkv.js} +2 -2
- package/dist/browser/{client-BKj8O-3N.js → client-DO32NX2U.js} +4 -4
- package/dist/browser/{components-C9T4gWSC.js → components-Ag3tOxoq.js} +38 -38
- package/dist/browser/{debug-overlay-oxl07sGQ.js → debug-overlay-BDntWcO3.js} +10 -10
- package/dist/browser/{debug-ui-vcgITEra.js → debug-ui-eQiNXjgN.js} +6 -6
- package/dist/browser/{dist-DQ-MzacE.js → dist-B-HOjLa3.js} +3 -3
- package/dist/browser/{dist-B6a_6LWa.js → dist-BPabiv1-.js} +6 -6
- package/dist/browser/{dist-BD71uIJa.js → dist-CICgVS_K.js} +5 -5
- package/dist/browser/{efp-debug-init-DeppnUIb.js → efp-debug-init-DJV2mEAv.js} +2 -2
- package/dist/browser/{enum-editor-CeBF-egH.js → enum-editor-CR96q1IA.js} +11 -11
- package/dist/browser/{es5-DyEOE9h8.js → es5-DKJycZ_9.js} +2 -2
- package/dist/browser/{event-not-found--rNrnsfb.js → event-not-found-qCBr__j7.js} +1 -1
- package/dist/browser/{exports-CQRMT27z.js → exports-DEfrHp-m.js} +1 -1
- package/dist/browser/{favicon-Y_DfJIgc.js → favicon-Ds8_0IKZ.js} +1 -1
- package/dist/browser/{fetch-retry.umd-mDEk7YNi.js → fetch-retry.umd-DA_h-YbX.js} +2 -2
- package/dist/browser/{flex-gMXInosq.js → flex-De82Cl1E.js} +5 -5
- package/dist/browser/{floorplan.loader-CKHHfoqW.js → floorplan.loader-B5OmVKte.js} +11 -11
- package/dist/browser/{floorplan.ready-Dk5rTB4-.js → floorplan.ready-DR3pBgxB.js} +12 -12
- package/dist/browser/{fuse-C0XgkQam.js → fuse-dk3wBn-g.js} +2 -2
- package/dist/browser/{i18n-DDp2WKLS.js → i18n-CmTA9oOx.js} +4 -4
- package/dist/browser/index.js +12 -12
- package/dist/browser/{index.module-DJ1o-lSs.js → index.module-QD1fDWFR.js} +4 -4
- package/dist/browser/{is-webview-DSeLj16c.js → is-webview-CoF8JIKV.js} +1 -1
- package/dist/browser/{jsx-runtime-4SB5tKoZ.js → jsx-runtime-BerzwYzE.js} +2 -2
- package/dist/browser/{lib-CNsibyKE.js → lib-Q551A5uv.js} +4 -4
- package/dist/browser/{loadImage-m5qxmKm8.js → loadImage-DMj35sJO.js} +4 -4
- package/dist/browser/{logDeviceInfo-DJbQFFfl.js → logDeviceInfo-DRvCCtTx.js} +9 -9
- package/dist/browser/{main-Ci70zd7U.js → main-BizUl9-0.js} +1 -1
- package/dist/browser/{mobx-85FEI3nE.js → mobx-TeCP8VzM.js} +4 -4
- package/dist/browser/{particles.min-Cjclve40.js → particles.min-DG9oSZrY.js} +2 -2
- package/dist/browser/{prop-types-O5uO9swn.js → prop-types-vg_ebZbt.js} +2 -2
- package/dist/browser/{react-938H1sny.js → react-Du8DS_tM.js} +2 -2
- package/dist/browser/{react-dom-BB5-5CwA.js → react-dom-B7g3b-V3.js} +3 -3
- package/dist/browser/{reset-all-settings-C3UGYA7h.js → reset-all-settings-Cd_BUK-W.js} +7 -7
- package/dist/browser/{rolldown-runtime-D_bOcK0P.js → rolldown-runtime-DvCIlsWE.js} +1 -1
- package/dist/browser/{settings-CuvIoKLw.js → settings-DInlzLHA.js} +2 -2
- package/dist/browser/{settings-item-jhTAtSrk.js → settings-item-Nqsx-eMu.js} +6 -6
- package/dist/browser/{store-g-LcmXc-.js → store-Bp8hCuMJ.js} +12 -12
- package/dist/browser/{string-editor-CjVQpF6U.js → string-editor-BwD_WLY1.js} +7 -7
- package/dist/browser/{theme-DxKuEQUA.js → theme-D0j6GDvn.js} +8 -8
- package/dist/browser/{ui-BMAImlSF.js → ui-Ci4hN3Oq.js} +8 -8
- package/dist/browser/{useRenderTarget-DL0u3FKy.js → useRenderTarget-w66c2Pzm.js} +4 -4
- package/dist/esm/components/Map/booth-by-xy.d.ts +2 -2
- package/dist/esm/components/Map/booth-by-xy.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +1 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +1 -1
- package/dist/esm/components/Maplibre/useRendererEvents.js +1 -1
- package/dist/esm/data/Flags.d.ts +4 -0
- package/dist/esm/store/RootStore.d.ts +1 -1
- package/package.json +4 -4
|
@@ -2,21 +2,21 @@ function __vite_inject_css__(css, id, forceLightDom){ if (typeof document==='un
|
|
|
2
2
|
(function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
5
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
5
|
+
e.SENTRY_RELEASE = { id: "3.11.1" };
|
|
6
6
|
var t = new e.Error().stack;
|
|
7
7
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "f176669a-8951-4582-b22d-96a9f0116ee1", e._sentryDebugIdIdentifier = "sentry-dbid-f176669a-8951-4582-b22d-96a9f0116ee1");
|
|
8
8
|
} catch {}
|
|
9
9
|
})();
|
|
10
|
-
import { r as e, t } from "./rolldown-runtime-
|
|
11
|
-
import { t as n } from "./react-
|
|
12
|
-
import { i as r } from "./reset-all-settings-
|
|
13
|
-
import { t as i } from "./jsx-runtime-
|
|
14
|
-
import { _ as a, a as o, c as s, d as c, f as l, g as u, h as d, i as f, l as p, m, n as h, p as g, r as _, t as v, u as y } from "./loadImage-
|
|
15
|
-
import { t as b } from "./browser-
|
|
16
|
-
import { B as x, C as S, G as C, H as w, L as T, M as E, Q as D, R as O, U as k, W as A, X as ee, Y as te, Z as ne, _ as j, a as re, at as ie, c as ae, d as M, et as oe, f as se, h as ce, it as le, j as ue, k as de, l as fe, lt as N, m as P, n as pe, o as me, ot as he, p as ge, q as _e, r as ve, rt as ye, s as F, t as be, v as xe, y as Se, z as I } from "./i18n-
|
|
17
|
-
import { t as Ce } from "./is-webview-
|
|
18
|
-
import { t as we } from "./classnames-
|
|
19
|
-
import { t as Te } from "./Button-
|
|
10
|
+
import { r as e, t } from "./rolldown-runtime-DvCIlsWE.js";
|
|
11
|
+
import { t as n } from "./react-Du8DS_tM.js";
|
|
12
|
+
import { i as r } from "./reset-all-settings-Cd_BUK-W.js";
|
|
13
|
+
import { t as i } from "./jsx-runtime-BerzwYzE.js";
|
|
14
|
+
import { _ as a, a as o, c as s, d as c, f as l, g as u, h as d, i as f, l as p, m, n as h, p as g, r as _, t as v, u as y } from "./loadImage-DMj35sJO.js";
|
|
15
|
+
import { t as b } from "./browser-D0zb6N8t.js";
|
|
16
|
+
import { B as x, C as S, G as C, H as w, L as T, M as E, Q as D, R as O, U as k, W as A, X as ee, Y as te, Z as ne, _ as j, a as re, at as ie, c as ae, d as M, et as oe, f as se, h as ce, it as le, j as ue, k as de, l as fe, lt as N, m as P, n as pe, o as me, ot as he, p as ge, q as _e, r as ve, rt as ye, s as F, t as be, v as xe, y as Se, z as I } from "./i18n-CmTA9oOx.js";
|
|
17
|
+
import { t as Ce } from "./is-webview-CoF8JIKV.js";
|
|
18
|
+
import { t as we } from "./classnames-njarKVkv.js";
|
|
19
|
+
import { t as Te } from "./Button-w3em_lzh.js";
|
|
20
20
|
//#endregion
|
|
21
21
|
//#region src/tools/settings.ts
|
|
22
22
|
var Ee = /* @__PURE__ */ e((/* @__PURE__ */ t(((e, t) => {
|
|
@@ -36798,7 +36798,7 @@ var sB = (rB = class {
|
|
|
36798
36798
|
}
|
|
36799
36799
|
async buildEngine() {
|
|
36800
36800
|
try {
|
|
36801
|
-
let { default: e } = await import("./fuse-
|
|
36801
|
+
let { default: e } = await import("./fuse-dk3wBn-g.js").then((e) => e.n);
|
|
36802
36802
|
Se(() => {
|
|
36803
36803
|
this.engine = new e([], {
|
|
36804
36804
|
keys: this.keys,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.11.1" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "da8db9a3-7430-483e-912d-7db8503a8231", e._sentryDebugIdIdentifier = "sentry-dbid-da8db9a3-7430-483e-912d-7db8503a8231");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { t as n } from "./jsx-runtime-
|
|
12
|
-
import { t as r } from "./classnames-
|
|
13
|
-
import { D as i, i as a, l as o, n as s, s as c, u as l, y as u } from "./flex-
|
|
14
|
-
import { t as d } from "./settings-item-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DvCIlsWE.js";
|
|
10
|
+
import { t } from "./react-Du8DS_tM.js";
|
|
11
|
+
import { t as n } from "./jsx-runtime-BerzwYzE.js";
|
|
12
|
+
import { t as r } from "./classnames-njarKVkv.js";
|
|
13
|
+
import { D as i, i as a, l as o, n as s, s as c, u as l, y as u } from "./flex-De82Cl1E.js";
|
|
14
|
+
import { t as d } from "./settings-item-Nqsx-eMu.js";
|
|
15
15
|
//#region ../../node_modules/.pnpm/@radix-ui+themes@3.3.0_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react@19.2._925f851475345a9e5e368d312bb98178/node_modules/@radix-ui/themes/dist/esm/components/text-field.props.js
|
|
16
16
|
var f = {
|
|
17
17
|
size: {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.11.1" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "79b39fdf-323b-4b9d-ac58-c9e7d1f5b025", e._sentryDebugIdIdentifier = "sentry-dbid-79b39fdf-323b-4b9d-ac58-c9e7d1f5b025");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { t as n } from "./jsx-runtime-
|
|
12
|
-
import { t as r } from "./react-dom-
|
|
13
|
-
import { t as i } from "./classnames-
|
|
14
|
-
import { a, c as o, i as s, n as c, o as l, r as u, t as d } from "./dist-
|
|
15
|
-
import { C as f, E as p, O as m, T as h, _ as g, o as _, v, w as y } from "./flex-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DvCIlsWE.js";
|
|
10
|
+
import { t } from "./react-Du8DS_tM.js";
|
|
11
|
+
import { t as n } from "./jsx-runtime-BerzwYzE.js";
|
|
12
|
+
import { t as r } from "./react-dom-B7g3b-V3.js";
|
|
13
|
+
import { t as i } from "./classnames-njarKVkv.js";
|
|
14
|
+
import { a, c as o, i as s, n as c, o as l, r as u, t as d } from "./dist-BPabiv1-.js";
|
|
15
|
+
import { C as f, E as p, O as m, T as h, _ as g, o as _, v, w as y } from "./flex-De82Cl1E.js";
|
|
16
16
|
//#region ../../node_modules/.pnpm/@radix-ui+react-id@1.1.1_@types+react@19.2.17_react@19.2.7/node_modules/@radix-ui/react-id/dist/index.mjs
|
|
17
17
|
var b = n(), x = /* @__PURE__ */ e(t(), 1), S = x.useId || (() => void 0), C = 0;
|
|
18
18
|
function w(e) {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.11.1" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "43912113-9328-4069-8890-5091c8745c34", e._sentryDebugIdIdentifier = "sentry-dbid-43912113-9328-4069-8890-5091c8745c34");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { a as t, r as n } from "./reset-all-settings-
|
|
11
|
-
import { t as r } from "./jsx-runtime-
|
|
12
|
-
import "./settings-
|
|
13
|
-
import { t as i } from "./browser-
|
|
14
|
-
import { t as a } from "./add-debug-secret-listener-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DvCIlsWE.js";
|
|
10
|
+
import { a as t, r as n } from "./reset-all-settings-Cd_BUK-W.js";
|
|
11
|
+
import { t as r } from "./jsx-runtime-BerzwYzE.js";
|
|
12
|
+
import "./settings-DInlzLHA.js";
|
|
13
|
+
import { t as i } from "./browser-D0zb6N8t.js";
|
|
14
|
+
import { t as a } from "./add-debug-secret-listener-CpUZyE-i.js";
|
|
15
15
|
//#region ../debug/src/lib/ui/render-debug-ui.tsx
|
|
16
16
|
var o = /* @__PURE__ */ e(i(), 1), s = r(), c = !1;
|
|
17
17
|
function l() {
|
|
@@ -26,7 +26,7 @@ function l() {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
let i = async (t) => {
|
|
29
|
-
let { DebugUi: n } = await import("./debug-ui-
|
|
29
|
+
let { DebugUi: n } = await import("./debug-ui-eQiNXjgN.js"), { createRoot: i } = await import("./client-DO32NX2U.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
|
|
30
30
|
document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, s.jsx)(n, {
|
|
31
31
|
useDebugButtonState: r.useState,
|
|
32
32
|
open: t
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.11.1" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "d4febe97-784c-4cf8-93f1-f2e3b29f8347", e._sentryDebugIdIdentifier = "sentry-dbid-d4febe97-784c-4cf8-93f1-f2e3b29f8347");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { s as n } from "./store-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DvCIlsWE.js";
|
|
10
|
+
import { t } from "./react-Du8DS_tM.js";
|
|
11
|
+
import { s as n } from "./store-Bp8hCuMJ.js";
|
|
12
12
|
//#region src/utils/getRenderTargetFromRoot.ts
|
|
13
13
|
var r = /* @__PURE__ */ e(t(), 1);
|
|
14
14
|
function i(e) {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Booth } from '../../store/BoothStore';
|
|
2
|
-
export default function getBoothIdFromClientXy(
|
|
1
|
+
import type { Booth } from '../../store/BoothStore';
|
|
2
|
+
export default function getBoothIdFromClientXy(clientX: number, clientY: number): Booth | null;
|
|
3
3
|
//# sourceMappingURL=booth-by-xy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{Box as d,Polygon as v,Rect as z}from"@expofp/geometry";import{reaction as I}from"mobx";import{getTrianglesFromFpPaths as X}from"../../data/svg";import{boothStore as b,layersStore as x}from"../../store";import{LayersMode as A}from"../../store/LayerStore";import F from"../../tools/logger";let y=[],u=new Map,g=null,w=[];function S(){const l=b.booths.filter(t=>t.visible&&t.rect&&t.rect.size.width>0&&t.rect.size.height>0);if(y=[],g=null,u=new Map,w=l.filter(t=>t.paths),!l.length)return;const c=[];let s=1/0,n=1/0,f=-1/0,e=-1/0;for(const t of l){const a=t.rotate?new z(t.rect.center,t.rect.size,t.rotate):null,o=a?a.bounds:t.rect;c.push({booth:t,shape:a??t.rect,bounds:o}),o.min.x<s&&(s=o.min.x),o.min.y<n&&(n=o.min.y),o.max.x>f&&(f=o.max.x),o.max.y>e&&(e=o.max.y)}const i=d.fromMinMax({x:s,y:n},{x:f,y:e}),r=2,m=Math.ceil(i.size.width/r),h=Math.ceil(i.size.height/r);for(let t=0;t<r;t++)for(let a=0;a<r;a++){const o=i.min.x+t*m,M=i.min.y+a*h,p=new d(o,M,m,h);y.push(p),u.set(p,c.filter(P=>p.intersects(P.bounds)))}F.log("hover segmentToHitAreas",u)}I(()=>[b.booths,x.loaded,x.visible],()=>S());function B(l,c){const s={x:l,y:c};let n;g&&g.containsPoint(s)?n=g:n=y.find(e=>e.containsPoint(s)),n&&(g=n);const f=n?u.get(n):void 0;if(f){const e=f.filter(i=>i.booth.visible&&i.shape.containsPoint(s));if(e.length)return(e.length>1?e.sort((r,m)=>r.booth.rect.area-m.booth.rect.area)[0]:e[0]).booth}for(const e of w)if(e.visible)for(const i of e.paths)for(const r of X(i.index,x.mode!==A.Default?e.layer.name:"")){const m=r.map(h=>({x:h[0],y:h[1]}));if(v.fromConvexRing(m).containsPoint(s))return e}return null}export default function C(l,c){return B(l,c)}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure eligibility predicate for booth number badges.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `configBoothsBadges` so the decision can be unit-tested in
|
|
5
|
+
* isolation (no canvas/mobx/renderer side effects). A booth gets a badge when
|
|
6
|
+
* badges aren't globally hidden, it has exhibitors, and it has no visible
|
|
7
|
+
* number — either because it's `noLabels` or because a logo-in-booth covers
|
|
8
|
+
* the label.
|
|
9
|
+
*
|
|
10
|
+
* This logic regressed once after the MapLibre refactor (logo-in-booth booths
|
|
11
|
+
* not authored as `noLabels` lost their badges), so it is covered by a table.
|
|
12
|
+
*/
|
|
13
|
+
export interface BoothBadgeEligibility {
|
|
14
|
+
/** Data flag: hide the number on booths that have an exhibitor. */
|
|
15
|
+
hideExhibitorBoothNumber?: boolean;
|
|
16
|
+
/** `flags.hideBoothBadges`: opt-out for all booth badges. */
|
|
17
|
+
hideBoothBadges?: boolean;
|
|
18
|
+
/** UI state: logos-in-booth are currently hidden. */
|
|
19
|
+
hideLogoInBooth: boolean;
|
|
20
|
+
/** Booth is authored without labels. */
|
|
21
|
+
noLabels: boolean;
|
|
22
|
+
/** Booth has at least one exhibitor. */
|
|
23
|
+
hasExhibitors: boolean;
|
|
24
|
+
/** Booth has at least one exhibitor with a visible logo-in-booth. */
|
|
25
|
+
hasLogoInBooth: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function isBoothBadgeEligible(b: BoothBadgeEligibility): boolean;
|
|
28
|
+
//# sourceMappingURL=config-booth-badge-eligibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function isBoothBadgeEligible(o){return o.hideExhibitorBoothNumber||o.hideBoothBadges||!o.hasExhibitors?!1:o.noLabels||!o.hideLogoInBooth&&o.hasLogoInBooth}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{Box as Y,pointRotate as W,Polygon as j,Rect as q}from"@expofp/geometry";import J from"color";import{reaction as $}from"mobx";import{SEPARATOR as S}from"../../../../constants";import H from"../../../../data";import{getTrianglesFromFpPaths as K}from"../../../../data/svg";import{createShapeDef as Q,createTextDef as V,createTextDefLines as tt,rectToRenderer as w}from"../../../../renderer";import{boothStore as et,uiState as nt}from"../../../../store";import{RegularBooth as ot}from"../../../../store/BoothStore";import F from"../../../../tools/settings";import{getContrastTextColor as it}from"../../../../utils/getContrastTextColor";import{getFont as st}from"./canvases";import{isBoothBadgeEligible as rt}from"./config-booth-badge-eligibility";import{getBadgeFontWeight as ct,getFontUrlByWeight as at}from"./config-booth-labels";const lt=.5,dt=.3,L=15,ft=24,O=30,gt=12,ut=12,U=.8,k=document.createElement("canvas").getContext("2d");function ht(e){return e.length<=L?e:e.slice(0,L-1)+"\u2026"}function z(e){if(!e.paths?.length)return[];const t=e.layer?.name||"",o=[];for(const n of e.paths)for(const i of K(n.index,t))o.push(i);return o}function mt(e){const t=z(e);return t.length?Y.fromPoints(t.flat().map(([o,n])=>({x:o,y:n}))):null}function Bt(e){const t=[],o=[];for(const n of e){const i=t.length;t.push({x:n[0][0],y:n[0][1]}),t.push({x:n[1][0],y:n[1][1]}),t.push({x:n[2][0],y:n[2][1]}),o.push([i,i+1,i+2])}return new j(t,o)}function y(e,t,o){return o.containsPoint({x:e,y:t})}function xt(e,t,o,n,i,c,r){if(!e.length||!y(o,n,t))return r;let d=0,m=r;const B=10;for(let x=0;x<B;x++){const u=(d+m)/2,a=i*u,g=c*u;y(o+a,n,t)&&y(o,n+g,t)&&y(o+a,n+g,t)?d=u:m=u}return d}function pt(e){return mt(e)??e.rect}function At(e,t,o,n,i){const c=pt(e);if(t.length){const m=new Set;let B=null,x=1/0;for(const u of t)for(const a of u){const g=`${a[0]},${a[1]}`;if(m.has(g))continue;m.add(g);const h=a[0]+n,A=a[1]+n;if(y(h,A,o)){const E=h-c.min.x+(A-c.min.y);E<x&&(x=E,B={x:h,y:A})}}if(B)return B}const r=e.rect.min.x+n,d=e.rect.min.y+n;return i?W({x:r,y:d},i,e.rect.center):{x:r,y:d}}function R(e){return e&&e!=="none"?e:void 0}function Et(e){const t=R(e.borderColor)||R(F.boothBorderColor)||F.colors.booths.default;return e.paths?.length>1&&R(e.paths[e.paths.length-1].color)||t}export function createBoothBadge(e,t){const o=ht(t.title||t.name),n=Et(t),i=it(J(n).hex()),c=window.devicePixelRatio||1,r=ct(),d=st(O,r);k.font=d;const m=k.measureText(o).width,B=Math.ceil(m+gt*2),x=O+ut*2,u=(t.borderWidth||et.borderWidth)/2,a=B*U,g=x*U,h=t.rotate??0,A=t.rect.size.width,E=t.rect.size.height,N=Math.min(A>0?A*lt/a:1/0,E>0?E*dt/g:1/0),T=z(t),P=Bt(T),{x:I,y:_}=At(t,T,P,u,h),b=xt(T,P,I,_,a,g,N),D=(s,p)=>{const X=s/2,v=p/2,Z=W({x:I+X,y:_+v},h,{x:I,y:_});return new q(Z,{x:s,y:p},h)},C=s=>{const p=Math.min(s,b);return D(a*p,g*p)},G=at(r,e.fontUrls),f=Q(D(1,1),n);f.hidden=!0,f.dim=t.skipDim?!1:void 0;const l=V(tt([[o],[]],i,0,[G,G]),D(1,1),[0,0],{horizontal:"center",vertical:"center"});l.hidden=!0,l.dim=t.skipDim?!1:void 0;const M=()=>!!(t.layer&&!t.layer.visible);return $(()=>t.skipDim,s=>{f.dim=s?!1:void 0,l.dim=s?!1:void 0,e.update(f,l)}),$(()=>t.layer?.visible??!0,s=>{f.hidden=!s,l.hidden=!s,e.update(f,l)}),e.onPtScale(`badge-bg-${t.id}`,s=>(f.shape=w(C(s)),f.hidden=M(),f)),e.onPtScale(`badge-text-${t.id}`,s=>{const p=Math.min(s,b);return l.lines[0].fontSize=ft/c*p,l.bounds=w(C(s)),l.hidden=M(),l}),{bg:f,text:l}}export function configBoothsBadges(e,t,o){const n=[],i=[];for(const c of o)if(c instanceof ot&&rt({hideExhibitorBoothNumber:H.hideExhibitorBoothNumber,hideBoothBadges:H.flags?.hideBoothBadges,hideLogoInBooth:nt.hideLogoInBooth,noLabels:c.noLabels,hasExhibitors:c.exhibitors.length>0,hasLogoInBooth:c.exhibitors.some(r=>r.logoInBooth&&r.logo)})){const{bg:r,text:d}=createBoothBadge(e,c);n.push(r),i.push(d)}return n.length?{name:`${t}${S}badges`,children:[{name:`${t}${S}badgeBgs`,children:n},{name:`${t}${S}badgeTexts`,children:i}]}:null}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useEffect as g}from"react";import{pickDefaultScene as
|
|
1
|
+
import{useEffect as g}from"react";import{pickDefaultScene as h}from"../../renderer/engine-core/defs";import c,{uiState as o}from"../../store";import{LayerMode as p}from"../../store/LayerStore";import k from"../Map/booth-by-xy";import{getMarkerFromClick as L}from"../Map/drawing/config/config-markers";import{getBooth as E}from"./utils/layer-defs";const C=o;export function useRendererEvents(t,m){g(()=>{if(!t)return;const v=({data:s})=>{if(o.setKioskModeEnabled)return;const{point:e,defs:r}=h(s),n=k(e.x,e.y),i=E(r[0]);C.hoveredBooth=n||i||null},d=()=>{o.setKioskModeEnabled||(C.hoveredBooth=null)},f=({data:s})=>{if(!o?.rootElement)return;window.__resett?.(),o.overlayPosition==="bottom"&&o.overlaySize==="full"&&c.showMap();const{point:e,defs:r}=h(s),{x:n,y:i}=e;if(o.onGetCoordsClick){const l=c.layerStore.layers.find(a=>a.visible&&(a.mode===p.TurnedOn||a.mode===p.TurnedOff));o.onGetCoordsClick({x:n,y:i,z:l?.name||null})}if(o.setKioskModeEnabled)return;if(o.onMarkerClick){const l=L(n,i,m.scale);o.onMarkerClick(l)}const y=k(e.x,e.y),b=E(r[0]);c.clickBooth(y||b||null)},u=()=>window.__resett?.();return t.events.addEventListener("pointer:move",v),t.events.addEventListener("pointer:out",d),t.events.addEventListener("pointer:click",f),t.events.addEventListener("navigation:change",u),()=>{t.events.removeEventListener("pointer:move",v),t.events.removeEventListener("pointer:out",d),t.events.removeEventListener("pointer:click",f),t.events.removeEventListener("navigation:change",u)}},[t,m])}
|
package/dist/esm/data/Flags.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export default class RootStore {
|
|
|
72
72
|
clickSeminars(): void;
|
|
73
73
|
clickBoothInList(booth: Booth): void;
|
|
74
74
|
clickBoothInList2(booth: Booth): void;
|
|
75
|
-
clickBooth(booth: Booth): void;
|
|
75
|
+
clickBooth(booth: Booth | null): void;
|
|
76
76
|
clickExhibitor2(exhibitor: Exhibitor): void;
|
|
77
77
|
clickExhibitor(exhibitor: Exhibitor): void;
|
|
78
78
|
showMap(): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expofp/floorplan",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/expofp/efp-app.git",
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
"tslib": "^2.3.0",
|
|
73
73
|
"uuid": "^9.0.1",
|
|
74
74
|
"zod": "4.3.5",
|
|
75
|
-
"@expofp/debug": "3.
|
|
76
|
-
"@expofp/geometry": "3.
|
|
77
|
-
"@expofp/resolve": "3.
|
|
75
|
+
"@expofp/debug": "3.11.1",
|
|
76
|
+
"@expofp/geometry": "3.11.1",
|
|
77
|
+
"@expofp/resolve": "3.11.1"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@babel/plugin-proposal-decorators": "^8.0.2",
|