@expofp/floorplan 3.45.2 → 3.45.4
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-Crfda6Lz.js → Button-CftScIdx.js} +5 -5
- package/dist/browser/{CookieConsent-2RwTH-WJ.js → CookieConsent-ByS7cPh9.js} +7 -7
- package/dist/browser/{Debug-Kc7acuW6.js → Debug-CDb2j0OF.js} +7 -7
- package/dist/browser/{DebugTools-Bcy_rIA6.js → DebugTools-jdOEpl8C.js} +6 -6
- package/dist/browser/{Demo-DtKyfXaG.js → Demo-CTLfudbP.js} +9 -9
- package/dist/browser/{Free-DIldGHdP.js → Free-C5QMNYRI.js} +10 -10
- package/dist/browser/{GalleryContainer-BkkCj4Od.js → GalleryContainer-BUhs_oBk.js} +11 -11
- package/dist/browser/{GpsLoader-Ddbsa0Xv.js → GpsLoader-BSWIXvfs.js} +13 -13
- package/dist/browser/{KioskStore-l3coFOMN.js → KioskStore-BC-gl1wE.js} +9 -9
- package/dist/browser/{LayerStore-Clz_ooRC.js → LayerStore-CONC-3Gj.js} +25 -25
- package/dist/browser/{MaplibreAdapter-CcyHg1C8.js → MaplibreAdapter-BXKE5rxG.js} +28 -28
- package/dist/browser/{ModalContainer-BQgezeI0.js → ModalContainer-BpM9aPfz.js} +10 -10
- package/dist/browser/{PermissionNotice-CfNcWjwj.js → PermissionNotice-BM5kQYe7.js} +6 -6
- package/dist/browser/{RouteStore-DmI3xo6Y.js → RouteStore-C7okfu9_.js} +9 -9
- package/dist/browser/{SetKioskMode-CEKnGx3s.js → SetKioskMode-DabqQvMH.js} +11 -11
- package/dist/browser/{ShowKiosk-DX5_HdN1.js → ShowKiosk-DvOBEV0v.js} +10 -10
- package/dist/browser/{UIState-BtsQF4Qd.js → UIState-Ce9F8YFe.js} +229 -230
- package/dist/browser/{ViewerMenuPanel-DE1PS7On.js → ViewerMenuPanel-FsMuHE9m.js} +10 -10
- package/dist/browser/{add-debug-secret-listener-DrTVYjLv.js → add-debug-secret-listener-DEPSZS-A.js} +1 -1
- package/dist/browser/{adopt-global-settings-D3Ezjf-T.js → adopt-global-settings-ptJCSHgd.js} +9 -9
- package/dist/browser/{boolean-editor-BWZ5tP5I.js → boolean-editor-C_RdXFiI.js} +9 -9
- package/dist/browser/{bootIntercom-BYA7uJn4.js → bootIntercom-CnpSeS09.js} +2 -2
- package/dist/browser/bundle.json +85 -85
- package/dist/browser/{camera-events-JR26Hdcu.js → camera-events-BYUTGOGy.js} +1 -1
- package/dist/browser/{classnames-CCXT3oJS.js → classnames-I5odALD0.js} +2 -2
- package/dist/browser/{client-Dn9Zr5pe.js → client-TnBerOtS.js} +5 -5
- package/dist/browser/{components-xHw_gBa5.js → components-CEGOfvRn.js} +48 -48
- package/dist/browser/{create-live-plan-DDxPT-Pe.js → create-live-plan-msjLUPAb.js} +14 -14
- package/dist/browser/{debug-context-CcikkQPi.js → debug-context-8s7JYsHP.js} +5 -5
- package/dist/browser/{debug-overlay-BlVOrhsh.js → debug-overlay-BEEAevvE.js} +10 -10
- package/dist/browser/{debug-ui-ByJjooBA.js → debug-ui-BWDU1_DK.js} +6 -6
- package/dist/browser/{dist-zf4NxUGc.js → dist-B7taugxI.js} +5 -5
- package/dist/browser/{dist-Cf6IReKz.js → dist-BL9v1eQu.js} +3 -3
- package/dist/browser/{dist-D5tNj-0Y.js → dist-Dg8H-fF9.js} +6 -6
- package/dist/browser/{efp-debug-init-al55q10u.js → efp-debug-init-3uYSkVQl.js} +3 -3
- package/dist/browser/{enum-editor-BBB3sWCH.js → enum-editor-DiE-Q-gC.js} +4 -4
- package/dist/browser/{es5-CVG4aGRa.js → es5-D2KUWXXM.js} +2 -2
- package/dist/browser/{event-head-DyDtmXOE.js → event-head-DXLhGPVQ.js} +1 -1
- package/dist/browser/{event-not-found-DQhH655U.js → event-not-found-ClTL2wLx.js} +3 -3
- package/dist/browser/{event-scoped-cache-BRqlbRWj.js → event-scoped-cache-CcA_qeS6.js} +2 -2
- package/dist/browser/{expofpUrl-Cnkbj5KP.js → expofpUrl-BTeumhPB.js} +1 -1
- package/dist/browser/{exports-CriZf319.js → exports-BezdpCeZ.js} +1 -1
- package/dist/browser/{favicon-BN2jB3cD.js → favicon-eEoLTD6j.js} +1 -1
- package/dist/browser/{fetch-retry.umd-TufkXQUc.js → fetch-retry.umd-o-6hecKO.js} +2 -2
- package/dist/browser/{flex-Co7qWs_0.js → flex-DC-YFhOp.js} +5 -5
- package/dist/browser/{floorplan.loader-uU5jSX4L.js → floorplan.loader-BMR6104c.js} +12 -12
- package/dist/browser/{floorplan.ready-DpsnIaye.js → floorplan.ready-DxP00yOP.js} +23 -23
- package/dist/browser/{framing-rect-BR93grUW.js → framing-rect-B28m3lJd.js} +262 -245
- package/dist/browser/{freeBanner-oBXl72SS.js → freeBanner-CxeeG1v1.js} +2 -2
- package/dist/browser/{fuse-Dm-WhNtD.js → fuse-CM3BvYBC.js} +2 -2
- package/dist/browser/{i18n-Brp2h-sf.js → i18n-CyzfIlqQ.js} +6 -6
- package/dist/browser/index.js +17 -17
- package/dist/browser/{index.module-kQtZEvIK.js → index.module-D9cgjYhA.js} +4 -4
- package/dist/browser/{init-ui-CtgiMn-b.js → init-ui-7k8cHFZw.js} +9 -9
- package/dist/browser/{integrateKiosk-Ci0Kelz8.js → integrateKiosk-DUFIUi05.js} +5 -5
- package/dist/browser/{is-debug-Dl85G8le.js → is-debug-BAIQHfxq.js} +4 -4
- package/dist/browser/{is-own-domain-rn4zdSxw.js → is-own-domain-C_JX2ZHR.js} +1 -1
- package/dist/browser/{is-webview-BcPE_KnA.js → is-webview-BU0Pek8w.js} +1 -1
- package/dist/browser/{jsx-runtime-DjUvqNZ4.js → jsx-runtime-CtimPtPq.js} +2 -2
- package/dist/browser/{kiosk-mode-CgDJr0Cy.js → kiosk-mode-CV-M1Zz8.js} +3 -3
- package/dist/browser/{kiosk-record-DSAURYxo.js → kiosk-record-Du4IFKBR.js} +1 -1
- package/dist/browser/{kioskApi-BpS2oCDp.js → kioskApi-BVRzmuDX.js} +7 -7
- package/dist/browser/{lib-D722Pg4z.js → lib-n3_ONTp3.js} +3 -3
- package/dist/browser/{loadImage-7lVuG7mT.js → loadImage-DqAC23xl.js} +1 -1
- package/dist/browser/{logDeviceInfo-dGpUXc_1.js → logDeviceInfo-B47wOFn-.js} +9 -9
- package/dist/browser/{mobx-C7iTPB-l.js → mobx-BxS2198S.js} +4 -4
- package/dist/browser/{mobx.module-BnXrY7HW.js → mobx.module-DBXspHzN.js} +1 -1
- package/dist/browser/{optional-boolean-editor-BwkRtcEs.js → optional-boolean-editor-DusM7rb0.js} +3 -3
- package/dist/browser/{optional-enum-editor-DiYEddI4.js → optional-enum-editor-BKyAfZ8e.js} +4 -4
- package/dist/browser/{optional-string-editor-BRCJlGU6.js → optional-string-editor-sA0aHiGB.js} +4 -4
- package/dist/browser/{particles.min-Cyv2g1i1.js → particles.min-B7kv19nN.js} +2 -2
- package/dist/browser/{react-GM02QWsb.js → react-Cohf8rUU.js} +2 -2
- package/dist/browser/{react-dom-B8t0es6H.js → react-dom-tyj4-_-C.js} +3 -3
- package/dist/browser/{rolldown-runtime-BE0XSRfw.js → rolldown-runtime-Bcr_gA0_.js} +1 -1
- package/dist/browser/{scene-DWydbLeX.js → scene-BBPTWEUE.js} +38 -34
- package/dist/browser/{scheduler-DPogrQnC.js → scheduler-CrY9mG_c.js} +2 -2
- package/dist/browser/{select-hn9vWuOi.js → select-D19r5W1a.js} +10 -10
- package/dist/browser/{settings-CFSsnNiW.js → settings-D4-jxTxB.js} +2 -2
- package/dist/browser/{settings-item-B78SzeBC.js → settings-item-CIt7SQG4.js} +6 -6
- package/dist/browser/{store-_wn5u-g_.js → store-CjCKsoXy.js} +2 -2
- package/dist/browser/{string-editor-DG_fQEtF.js → string-editor-D8F1eTpQ.js} +4 -4
- package/dist/browser/{text-field-MkszrHMN.js → text-field-BYYweuSY.js} +5 -5
- package/dist/browser/{theme-GhRMjRAR.js → theme-q6cCoTLz.js} +8 -8
- package/dist/browser/{ui-R9Wb5JLi.js → ui-CYUl2cf1.js} +8 -8
- package/dist/browser/{useRenderTarget-CmmLzvq6.js → useRenderTarget-Bqdt8QZX.js} +4 -4
- package/dist/browser/{viewport-P1Fw2W4S.js → viewport-D4MnXYrN.js} +3 -3
- package/dist/browser/{wayfinding-CtfrReXU.js → wayfinding-CulSEPiv.js} +5 -5
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.d.ts +20 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-scale.js +1 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.d.ts +20 -11
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +1 -1
- package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
- package/dist/esm/components/Map/pointer.js +1 -1
- package/dist/esm/components/Maplibre/usePoiMarkers.js +1 -1
- package/dist/esm/components/Maplibre/utils/poi-marker-hit-test.d.ts +6 -6
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{Box as q}from"@expofp/geometry";import{reaction as h}from"mobx";import{useEffect as $}from"react";import{POI_CLUSTER_COLOR as J,POI_CLUSTER_MIN_POINTS as Q,POI_CLUSTER_RADIUS_PX as ee,POI_CLUSTER_SIZE_PX as te,POI_CLUSTER_STROKE_COLOR as oe,POI_CLUSTER_STROKE_WIDTH_PX as re,POI_CLUSTER_TEXT_SIZE_PX as ie,POI_MARKER_PIN_WIDTH_PX as ne,POI_SELECTED_PIN_WIDTH_PX as x}from"../../constants";import c from"../../store";import ce from"../../tools/settings";import{DIM_INTENSITY as se}from"../../utils/dimming";import{convertLocalToGps as ae}from"../../utils/gps";import{isOutdoorMarkersEnabled as le}from"../Map/drawing/config/config-outdoor-poi";import{createPoiPinheadImage as pe}from"../Map/drawing/config/poi-pin.js";import{getPoiPinLayout as v,POI_MARKER_PIN_SHAPE as fe,POI_SELECTED_PIN_SHAPE as ue}from"../Map/drawing/config/poi-pin-shape.js";import{getMapDimTarget as A}from"./useDimming";import{getLocalRectGeoBounds as de,getVisibleRectFitPadding as me,isLngLatInVisibleViewport as Ie}from"./utils/geo-config";import{poiMarkerHitTest as U}from"./utils/poi-marker-hit-test";const s="expofp-poi",a="expofp-poi-clusters",S="expofp-poi-cluster-count",I="expofp-poi-unclustered",_="expofp-poi-selected",E="expofp-poi-pinhead-image",N=[a,S,I,_],_e=N.filter(p=>p!==S),L=p=>`expofp-poi-icon-${p}`;export function usePoiMarkers(p,b,u){$(()=>{if(!le())return;const e=b.current;if(!p||!e||!u)return;const{gpsConfig:k}=u,l=new Set,y=window.devicePixelRatio||1,w=ce.colors?.booths?.selected||"#3b6ef5",F=pe(x,y,w),B=v(fe,ne,y).tipOffset,H=v(ue,x,y).tipOffset,O=t=>ae(t.center.x,t.center.y,k),R=(t,o)=>{e.hasImage(t)&&e.removeImage(t),e.addImage(t,o,{pixelRatio:y}),l.add(t)},X=t=>{const o=c.poiMarkerStore.markers,i=new Set(o.map(r=>L(r.boothId)));i.add(E);for(const r of[...l])i.has(r)||(e.hasImage(r)&&e.removeImage(r),l.delete(r));for(const r of o){const n=L(r.boothId);(t||!l.has(n))&&R(n,r.icon)}l.has(E)||R(E,F)},Y=()=>{const t=c.poiMarkerStore.selectedMarkerId,o=c.poiMarkerStore.outdoorFilter,i=!o.active;let r=c.poiMarkerStore.markers;return t!==null?r=r.filter(n=>n.boothId===t):o.active&&(r=o.matchingMarkers),{cluster:i,data:{type:"FeatureCollection",features:r.map(n=>({type:"Feature",geometry:{type:"Point",coordinates:O(n)},properties:{boothId:n.boothId,icon:L(n.boothId),pinhead:n.boothId===t}}))}}},z=()=>{let t=null;for(const o of e.getStyle()?.layers??[]){if(o.type!=="symbol")continue;const i=o.layout?.["text-font"];if(!(!Array.isArray(i)||!i.every(r=>typeof r=="string"))){if(!i.some(r=>/italic/i.test(r)))return i;t??=i}}return t??["Noto Sans Regular"]};let g=null;const T=()=>{for(const t of N)e.getLayer(t)&&e.removeLayer(t);e.getSource(s)&&e.removeSource(s),g=null},V=(t,o)=>{if(g!==null&&g!==o&&T(),e.getSource(s)||(e.addSource(s,{type:"geojson",data:t,cluster:o,clusterRadius:ee,clusterMinPoints:Q}),g=o),e.getLayer(a))return;const i=["!",["has","point_count"]],r=["==",["coalesce",["get","pinhead"],!1],!0];e.addLayer({id:a,type:"circle",source:s,filter:["has","point_count"],paint:{"circle-radius":te/2,"circle-color":J,"circle-stroke-color":oe,"circle-stroke-width":re,"circle-pitch-alignment":"viewport"}}),e.addLayer({id:S,type:"symbol",source:s,filter:["has","point_count"],layout:{"text-field":["get","point_count_abbreviated"],"text-font":z(),"text-size":ie,"text-allow-overlap":!0,"text-ignore-placement":!0},paint:{"text-color":"#ffffff"}}),e.addLayer({id:I,type:"symbol",source:s,filter:["all",i,["!",r]],layout:{"icon-image":["get","icon"],"icon-anchor":"bottom","icon-offset":[0,B],"icon-allow-overlap":!0,"icon-ignore-placement":!0}}),e.addLayer({id:_,type:"symbol",source:s,filter:["all",i,r],layout:{"icon-image":E,"icon-anchor":"bottom","icon-offset":[0,H],"icon-allow-overlap":!0,"icon-ignore-placement":!0}})},M=()=>{if(!e.getLayer(a))return;const t=A()?1-se:1;e.setPaintProperty(a,"circle-opacity",t),e.setPaintProperty(a,"circle-stroke-opacity",t),e.setPaintProperty(S,"text-opacity",t),e.setPaintProperty(I,"icon-opacity",t),e.setPaintProperty(_,"icon-opacity",t)},d=(t=!1)=>{X(t);const{cluster:o,data:i}=Y();V(i,o),e.getSource(s)?.setData(i),M()},Z=t=>{if(!t.length)return;const o=me(50);if(t.every(m=>Ie(e,O(m),o)))return;const r=q.fromPoints(t.map(m=>m.center)),n=de(r,k),f=e.cameraForBounds(n,{padding:o,bearing:u.bearing});!f?.center||typeof f.zoom!="number"||e.easeTo({center:f.center,zoom:Math.min(e.getZoom(),f.zoom),bearing:u.bearing,duration:500,essential:!0})},P=t=>{const o=t.features?.[0]?.properties?.boothId;if(typeof o!="number")return;const i=c.boothStore.boothById.get(o);i&&c.clickBooth(i)},D=t=>{const o=t.features?.[0],i=o?.properties?.cluster_id,r=e.getSource(s);if(typeof i!="number"||!r||o?.geometry?.type!=="Point")return;const[n=0,f=0]=o.geometry.coordinates;r.getClusterExpansionZoom(i).then(m=>{e.easeTo({center:[n,f],zoom:Math.min(m,e.getMaxZoom()),duration:500})})};e.on("click",I,P),e.on("click",_,P),e.on("click",a,D),U.set((t,o)=>{const i=_e.filter(n=>!!e.getLayer(n));if(!i.length)return!1;const r=e.getCanvas().getBoundingClientRect();return e.queryRenderedFeatures([t-r.left,o-r.top],{layers:i}).length>0});const C=()=>{l.clear(),d(!0)};e.on("style.load",C);const K=h(()=>c.poiMarkerStore.markers,()=>d(!0)),G=h(()=>c.poiMarkerStore.selectedMarkerId,()=>d()),W=h(()=>c.poiMarkerStore.outdoorFilter.key,()=>{d(),Z(c.poiMarkerStore.outdoorFilter.matchingMarkers)}),j=h(()=>A(),()=>M());return d(!0),()=>{K(),G(),W(),j(),U.set(null),e.off("style.load",C),e.off("click",I,P),e.off("click",_,P),e.off("click",a,D);try{T();for(const t of l)e.hasImage(t)&&e.removeImage(t)}catch{}}},[p,b,u])}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
type PoiMarkerHitTest = (
|
|
1
|
+
type PoiMarkerHitTest = (clientX: number, clientY: number) => boolean;
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* `usePoiMarkers` while active. The plan's click
|
|
5
|
-
* Map/pointer.ts) consults it so a click handled by a
|
|
6
|
-
* does not also select the booth underneath.
|
|
3
|
+
* Screen-space hit-test (viewport `clientX`/`clientY`) against the outdoor PoI
|
|
4
|
+
* symbol/cluster layers, set by `usePoiMarkers` while active. The plan's click
|
|
5
|
+
* seam (`clickedPlan` in Map/pointer.ts) consults it so a click handled by a
|
|
6
|
+
* native MapLibre layer does not also select the booth underneath.
|
|
7
7
|
*
|
|
8
8
|
* Deliberately a leaf module (no imports): it decouples the renderer click
|
|
9
9
|
* pipeline from the Maplibre hook that owns the marker layers.
|
|
10
10
|
*/
|
|
11
11
|
export declare const poiMarkerHitTest: {
|
|
12
12
|
set(fn: PoiMarkerHitTest | null): void;
|
|
13
|
-
test(
|
|
13
|
+
test(clientX: number, clientY: number): boolean;
|
|
14
14
|
};
|
|
15
15
|
export {};
|
|
16
16
|
//# sourceMappingURL=poi-marker-hit-test.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expofp/floorplan",
|
|
3
|
-
"version": "3.45.
|
|
3
|
+
"version": "3.45.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/expofp/efp-app.git",
|
|
@@ -69,15 +69,15 @@
|
|
|
69
69
|
"tslib": "^2.3.0",
|
|
70
70
|
"uuid": "^9.0.1",
|
|
71
71
|
"zod": "4.4.3",
|
|
72
|
-
"@expofp/config": "3.45.
|
|
73
|
-
"@expofp/debug": "3.45.
|
|
74
|
-
"@expofp/geometry": "3.45.
|
|
75
|
-
"@expofp/renderer": "3.45.
|
|
76
|
-
"@expofp/resolve": "3.45.
|
|
77
|
-
"@expofp/schema": "3.45.
|
|
78
|
-
"@expofp/ui": "3.45.
|
|
79
|
-
"@expofp/utils": "3.45.
|
|
80
|
-
"@expofp/wayfinding": "3.45.
|
|
72
|
+
"@expofp/config": "3.45.4",
|
|
73
|
+
"@expofp/debug": "3.45.4",
|
|
74
|
+
"@expofp/geometry": "3.45.4",
|
|
75
|
+
"@expofp/renderer": "3.45.4",
|
|
76
|
+
"@expofp/resolve": "3.45.4",
|
|
77
|
+
"@expofp/schema": "3.45.4",
|
|
78
|
+
"@expofp/ui": "3.45.4",
|
|
79
|
+
"@expofp/utils": "3.45.4",
|
|
80
|
+
"@expofp/wayfinding": "3.45.4"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@babel/plugin-proposal-decorators": "^8.0.2",
|