@expofp/floorplan 3.27.0 → 3.28.0

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 (73) hide show
  1. package/dist/browser/{Button-e8P-AcfW.js → Button-DbRJxJDH.js} +5 -5
  2. package/dist/browser/{CookieConsent-DT6PZdD-.js → CookieConsent-DokFeQjD.js} +7 -7
  3. package/dist/browser/{Debug-Btnxv9GC.js → Debug-CgAFUoqv.js} +7 -7
  4. package/dist/browser/{DebugTools-CH_HoQal.js → DebugTools-BDuU67yN.js} +6 -6
  5. package/dist/browser/{Demo-DZoFFss-.js → Demo-Bx3qBi9X.js} +9 -9
  6. package/dist/browser/{Free-DiFQkGSU.js → Free-BPbBBEDA.js} +9 -9
  7. package/dist/browser/{GalleryContainer-aJ6EZ5I3.js → GalleryContainer-CiTlgJSF.js} +10 -10
  8. package/dist/browser/{GpsLoader-Bu9mBOam.js → GpsLoader-BwP3i7Oy.js} +10 -10
  9. package/dist/browser/{KioskStore-DUC4jNn0.js → KioskStore-cmvvq7ma.js} +5 -5
  10. package/dist/browser/{MaplibreAdapter-DIlDXt73.js → MaplibreAdapter-C0fSsNto.js} +195 -191
  11. package/dist/browser/{ModalContainer-CVRxdpt2.js → ModalContainer-v6eZtj5h.js} +10 -10
  12. package/dist/browser/{PermissionNotice-B5X5RQja.js → PermissionNotice-Ca_rvEgo.js} +6 -6
  13. package/dist/browser/{SetKioskMode-BbDnU98F.js → SetKioskMode-DnktC3eh.js} +9 -9
  14. package/dist/browser/{ShowKiosk-B7HfONvN.js → ShowKiosk-CV1OLK_I.js} +10 -10
  15. package/dist/browser/{ViewerMenuPanel-CT6kvVUw.js → ViewerMenuPanel-De4ZOH9H.js} +9 -9
  16. package/dist/browser/{add-debug-secret-listener-Dvv-Pg0-.js → add-debug-secret-listener-QzFND1gl.js} +1 -1
  17. package/dist/browser/{adopt-global-settings-CXzCKJtp.js → adopt-global-settings-Cd4FKDWJ.js} +9 -9
  18. package/dist/browser/{boolean-editor-CHMR9ZwP.js → boolean-editor-CzrGV8r7.js} +9 -9
  19. package/dist/browser/{bootIntercom-DQcGuly8.js → bootIntercom-Cq2fF5I3.js} +2 -2
  20. package/dist/browser/bundle.json +69 -69
  21. package/dist/browser/{camera-events-BkrzcISl.js → camera-events-Bbpa8YOm.js} +1 -1
  22. package/dist/browser/{classnames-BYuGpzao.js → classnames-DHwfCprn.js} +2 -2
  23. package/dist/browser/{client-hxMr1frV.js → client-Dnm7rYl-.js} +5 -5
  24. package/dist/browser/{components-DiB2l4Q7.js → components-BWF27nds.js} +37 -37
  25. package/dist/browser/{debug-context-CfyAAxAt.js → debug-context-w7iF9gZD.js} +5 -5
  26. package/dist/browser/{debug-overlay-PYUvPcx-.js → debug-overlay-D0Akn3a0.js} +10 -10
  27. package/dist/browser/{debug-ui-BXRAYxv6.js → debug-ui-DKxZettL.js} +6 -6
  28. package/dist/browser/{dimming-Dj-1kBgQ.js → dimming-CgBAy3-4.js} +7 -7
  29. package/dist/browser/{dist-opCvrhNh.js → dist-Ac1QNSFj.js} +3 -3
  30. package/dist/browser/{dist-30RVEJTr.js → dist-BnCCFOhW.js} +6 -6
  31. package/dist/browser/{dist-DgGMS59X.js → dist-Cnq7ymIU.js} +5 -5
  32. package/dist/browser/{efp-debug-init-CYfrcz9M.js → efp-debug-init-Col9MCDp.js} +3 -3
  33. package/dist/browser/{enum-editor-BYO96W3-.js → enum-editor-87-NakQU.js} +4 -4
  34. package/dist/browser/{es5-Bpzk_wCi.js → es5-BmsUlP-s.js} +2 -2
  35. package/dist/browser/{event-not-found-DEepFxEc.js → event-not-found-Y1MozbRj.js} +1 -1
  36. package/dist/browser/{exports-Bo5VUoiX.js → exports-BZq4f8R_.js} +1 -1
  37. package/dist/browser/{favicon-Bf88cI9_.js → favicon-Buy1CB8C.js} +1 -1
  38. package/dist/browser/{fetch-retry.umd-D2BnNN8g.js → fetch-retry.umd-HH_WbmRs.js} +2 -2
  39. package/dist/browser/{flex-B5cqWC1b.js → flex-DLfRlVcv.js} +5 -5
  40. package/dist/browser/{floorplan.loader-D3lRYRJS.js → floorplan.loader-D9AqvNnu.js} +10 -10
  41. package/dist/browser/{floorplan.ready-CsdDpbEv.js → floorplan.ready-C7NOsEZu.js} +14 -14
  42. package/dist/browser/{fuse-CzalO4Mu.js → fuse-DO8tkH0Q.js} +2 -2
  43. package/dist/browser/{i18n-D1sb3MoT.js → i18n-DP8KQ-I4.js} +5 -5
  44. package/dist/browser/index.js +14 -14
  45. package/dist/browser/{index.module-JxYvexTC.js → index.module-DulMNA6H.js} +4 -4
  46. package/dist/browser/{integrateKiosk-e4HqZu2W.js → integrateKiosk-Wrm-1pwe.js} +4 -4
  47. package/dist/browser/{is-webview-ChPDTaTY.js → is-webview-Bb5dnvO3.js} +1 -1
  48. package/dist/browser/{jsx-runtime-Ca1Wj_4-.js → jsx-runtime-CpCAGfkh.js} +2 -2
  49. package/dist/browser/{kiosk-record-C2cafcoW.js → kiosk-record-7RtWdtWX.js} +1 -1
  50. package/dist/browser/{lib-DXqE6M9Z.js → lib-CrkK7jwu.js} +3 -3
  51. package/dist/browser/{loadImage-8qYzT9NG.js → loadImage-B-LklRch.js} +4 -4
  52. package/dist/browser/{logDeviceInfo-CF95RwQH.js → logDeviceInfo-BjpOXwUk.js} +9 -9
  53. package/dist/browser/{mobx-B8aGIDdz.js → mobx-BttxZ8jH.js} +4 -4
  54. package/dist/browser/{optional-boolean-editor-D02Q8KUS.js → optional-boolean-editor-COcJsqMM.js} +3 -3
  55. package/dist/browser/{optional-enum-editor-RV_EKfNQ.js → optional-enum-editor-BBsSMN3-.js} +4 -4
  56. package/dist/browser/{optional-string-editor-D_t_aZG2.js → optional-string-editor-DCZXUbJD.js} +4 -4
  57. package/dist/browser/{particles.min-CDyH_67D.js → particles.min-frbywVl7.js} +2 -2
  58. package/dist/browser/{react-CDmIhEY6.js → react-BVuyxK1w.js} +2 -2
  59. package/dist/browser/{react-dom-PGvJwDoR.js → react-dom-DL4TP_HX.js} +3 -3
  60. package/dist/browser/{rolldown-runtime-CwqkRsWu.js → rolldown-runtime-BTzftV3h.js} +1 -1
  61. package/dist/browser/{scheduler-MBFOnOYr.js → scheduler-D76O7aNk.js} +2 -2
  62. package/dist/browser/{select-2x53pvd0.js → select-Ukns-PuW.js} +10 -10
  63. package/dist/browser/{settings-BCkl8gdb.js → settings-_A6PGSqk.js} +2 -2
  64. package/dist/browser/{settings-item-DT6Vnw06.js → settings-item-BA8jXW5n.js} +6 -6
  65. package/dist/browser/{store-Dej5FGrq.js → store-CgBYMmDP.js} +19 -17
  66. package/dist/browser/{string-editor-w9YDgRoR.js → string-editor-ChVq0oLf.js} +4 -4
  67. package/dist/browser/{text-field-ricOc0h0.js → text-field-DCkf2o8Y.js} +5 -5
  68. package/dist/browser/{theme-Ce7vpk9b.js → theme-ClHnfg0_.js} +8 -8
  69. package/dist/browser/{ui-PDV2rEkU.js → ui-CcGKbcj0.js} +8 -8
  70. package/dist/browser/{useRenderTarget-DroCs5kL.js → useRenderTarget-CodofGGx.js} +4 -4
  71. package/dist/browser/{viewport-Jwms2MJD.js → viewport-Cov5o30E.js} +2 -2
  72. package/dist/esm/components/Maplibre/MaplibreWrapper.js +1 -1
  73. package/package.json +10 -10
@@ -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.27.0" };
4
+ e.SENTRY_RELEASE = { id: "3.28.0" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "cbb5c555-77ff-4375-8420-80c8ae476dcf", e._sentryDebugIdIdentifier = "sentry-dbid-cbb5c555-77ff-4375-8420-80c8ae476dcf");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-CwqkRsWu.js";
10
- import { a as t, i as n, s as r } from "./efp-debug-init-CYfrcz9M.js";
11
- import { a as i, i as a } from "./adopt-global-settings-CXzCKJtp.js";
12
- import { t as o } from "./jsx-runtime-Ca1Wj_4-.js";
13
- import "./settings-BCkl8gdb.js";
14
- import { t as s } from "./add-debug-secret-listener-Dvv-Pg0-.js";
9
+ import { r as e } from "./rolldown-runtime-BTzftV3h.js";
10
+ import { a as t, i as n, s as r } from "./efp-debug-init-Col9MCDp.js";
11
+ import { a as i, i as a } from "./adopt-global-settings-Cd4FKDWJ.js";
12
+ import { t as o } from "./jsx-runtime-CpCAGfkh.js";
13
+ import "./settings-_A6PGSqk.js";
14
+ import { t as s } from "./add-debug-secret-listener-QzFND1gl.js";
15
15
  //#region ../debug/src/lib/ui/render-debug-ui.tsx
16
16
  var c = /* @__PURE__ */ e(r(), 1), l = o(), u = !1;
17
17
  function d() {
@@ -26,7 +26,7 @@ function d() {
26
26
  }
27
27
  });
28
28
  let o = async (t) => {
29
- let { DebugUi: n } = await import("./debug-ui-BXRAYxv6.js"), { createRoot: i } = await import("./client-hxMr1frV.js").then((t) => /* @__PURE__ */ e(t.t(), 1)), a = document.createElement("div");
29
+ let { DebugUi: n } = await import("./debug-ui-DKxZettL.js"), { createRoot: i } = await import("./client-Dnm7rYl-.js").then((t) => /* @__PURE__ */ e(t.t(), 1)), a = document.createElement("div");
30
30
  document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, l.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.27.0" };
4
+ e.SENTRY_RELEASE = { id: "3.28.0" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "39485aff-c926-4ecb-9ba3-8a127a388075", e._sentryDebugIdIdentifier = "sentry-dbid-39485aff-c926-4ecb-9ba3-8a127a388075");
7
7
  } catch {}
8
8
  })();
9
- import { r as e } from "./rolldown-runtime-CwqkRsWu.js";
10
- import { t } from "./react-CDmIhEY6.js";
11
- import { l as n } from "./store-Dej5FGrq.js";
9
+ import { r as e } from "./rolldown-runtime-BTzftV3h.js";
10
+ import { t } from "./react-BVuyxK1w.js";
11
+ import { l as n } from "./store-CgBYMmDP.js";
12
12
  //#region ../ui/src/shared/activeElement.ts
13
13
  var r = (e) => !!e && "activeElement" in e;
14
14
  function i(e) {
@@ -1,12 +1,12 @@
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.27.0" };
4
+ e.SENTRY_RELEASE = { id: "3.28.0" };
5
5
  var t = new e.Error().stack;
6
6
  t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "df793f8e-2c61-4fcc-bf8c-e603b2d7b174", e._sentryDebugIdIdentifier = "sentry-dbid-df793f8e-2c61-4fcc-bf8c-e603b2d7b174");
7
7
  } catch {}
8
8
  })();
9
- import { c as e, vt as t } from "./store-Dej5FGrq.js";
9
+ import { c as e, vt as t } from "./store-CgBYMmDP.js";
10
10
  //#region src/components/Map/viewport.ts
11
11
  function n(e) {
12
12
  return {
@@ -1 +1 @@
1
- import{jsx as F}from"react/jsx-runtime";import"maplibre-gl/dist/maplibre-gl.css";import{prepareDebug as H,Renderer as J}from"@expofp/renderer";import{addProtocol as V,Map as W}from"maplibre-gl";import{Protocol as X}from"pmtiles";import{useEffect as z,useRef as l,useState as k}from"react";import{registerPmtilesArchive as K}from"./utils/pmtiles-range-fallback";import{createStyleTransform as Q}from"./utils/resolve-map-style";export const MAP_DIM_LAYER_ID="expofp-map-dim";const p="expofp-map-dim-source",$="3d-expofp";let y=null;const v=["coalesce",["get","name:en"],["get","name_en"],["get","name:latin"],["get","name"]],ee={type:"Feature",geometry:{type:"Polygon",coordinates:[[[-180,-85],[180,-85],[180,85],[-180,85],[-180,-85]]]},properties:{}};function T(e){if(!e||typeof e!="object")return!1;const o=e.length;if(typeof o!="number"||o<16)return!1;const r=e[0];return typeof r=="number"&&Number.isFinite(r)}function te(e){if(T(e))return Array.from(e);const r=e?.defaultProjectionData?.mainMatrix;return T(r)?Array.from(r):(console.warn("Maplibre custom layer received an unsupported projection matrix payload.",e),null)}function g(e){return typeof e=="string"?e.includes("name"):Array.isArray(e)?e.some(o=>g(o)):!e||typeof e!="object"?!1:Object.values(e).some(o=>g(o))}function oe(e){return e.type!=="symbol"||!e.id||!e.layout?!1:g(e.layout["text-field"])}function re(e){const o=e.getStyle();for(const r of o.layers??[])oe(r)&&e.setLayoutProperty(r.id,"text-field",v)}function ne(){if(y)return y;const e=new X;y=e;try{V("pmtiles",e.tile)}catch(o){console.warn("Maplibre PMTiles protocol registration failed.",o)}return e}export default function ie({sceneDef:e,geoConfig:o,tileSource:r,mapOptions:Z,debug:b,onMapReady:x,onMapDimLayerReady:h,onMapLoadError:M,onPointerMissed:B,children:C}){const P=l(null),[A,S]=k(),_=l(x),L=l(h),j=l(M),N=l({geoConfig:o,tileSource:r,mapOptions:Z,debug:b});return z(()=>{_.current=x,L.current=h,j.current=M}),z(()=>{const E=P.current;if(!E)return;const{geoConfig:n,tileSource:d,mapOptions:s,debug:U}=N.current;let m=!1,I;const R=()=>{const G=ne(),Y=n.bounds?{bounds:n.bounds,fitBoundsOptions:{padding:n.fitPadding,bearing:n.bearing}}:{center:n.center,zoom:n.zoom},D=Q(d.style,d.offline?i=>K(G,i):void 0),t=new W({container:E,...Y,bearing:n.bearing,pitch:s?.pitch??30,maxPitch:s?.maxPitch??70,minZoom:s?.minZoom,maxZoom:s?.maxZoom,maxBounds:s?.maxBounds,bearingSnap:0,canvasContextAttributes:{antialias:!0}});n.zoomAdjustment&&t.jumpTo({zoom:t.getZoom()+n.zoomAdjustment}),t.once("error",i=>{t.isStyleLoaded()||j.current?.(i?.error??i)});const O=i=>{const a=i?.id;!a||t.hasImage(a)||t.addImage(a,{width:1,height:1,data:new Uint8Array(4)})};t.on("styleimagemissing",O);let f;const u=()=>t.triggerRepaint(),q={id:$,type:"custom",renderingMode:"3d",onAdd(i,a){m||(S({gl:a,requestFrame:u,onFrame:c=>(f=c,u(),()=>{f===c&&(f=void 0)})}),_.current?.(t,u))},render(i,a){const c=te(a??i);c&&f?.(c)}},w=()=>{re(t),t.getSource(p)||t.addSource(p,{type:"geojson",data:ee}),t.getLayer(MAP_DIM_LAYER_ID)||t.addLayer({id:MAP_DIM_LAYER_ID,type:"fill",source:p,paint:{"fill-color":"#000000","fill-opacity":0,"fill-opacity-transition":{duration:0,delay:0}}}),L.current?.(t),t.addLayer(q)};t.on("style.load",w),t.setStyle(d.style,D?{transformStyle:D}:void 0),I=()=>{t.off("style.load",w),t.off("styleimagemissing",O),t.remove()}};return U?H().then(()=>{m||R()}):R(),()=>{m=!0,I?.(),S(void 0)}},[]),F("div",{ref:P,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%"},children:A&&F(J,{...A,scene:e,debug:b,onPointerMissed:B,children:C})})}
1
+ import{jsx as w}from"react/jsx-runtime";import"maplibre-gl/dist/maplibre-gl.css";import{prepareDebug as Y,Renderer as q}from"@expofp/renderer";import{addProtocol as H,Map as J}from"maplibre-gl";import{Protocol as V}from"pmtiles";import{useEffect as T,useRef as l,useState as W}from"react";import{registerPmtilesArchive as K}from"./utils/pmtiles-range-fallback";import{createStyleTransform as Q}from"./utils/resolve-map-style";const $=['<a href="https://expofp.com" target="_blank">ExpoFP</a>','<a href="https://maplibre.org/" target="_blank">MapLibre</a>'];export const MAP_DIM_LAYER_ID="expofp-map-dim";const p="expofp-map-dim-source",v="3d-expofp";let y=null;const ee=["coalesce",["get","name:en"],["get","name_en"],["get","name:latin"],["get","name"]],te={type:"Feature",geometry:{type:"Polygon",coordinates:[[[-180,-85],[180,-85],[180,85],[-180,85],[-180,-85]]]},properties:{}};function z(e){if(!e||typeof e!="object")return!1;const o=e.length;if(typeof o!="number"||o<16)return!1;const r=e[0];return typeof r=="number"&&Number.isFinite(r)}function oe(e){if(z(e))return Array.from(e);const r=e?.defaultProjectionData?.mainMatrix;return z(r)?Array.from(r):(console.warn("Maplibre custom layer received an unsupported projection matrix payload.",e),null)}function g(e){return typeof e=="string"?e.includes("name"):Array.isArray(e)?e.some(o=>g(o)):!e||typeof e!="object"?!1:Object.values(e).some(o=>g(o))}function re(e){return e.type!=="symbol"||!e.id||!e.layout?!1:g(e.layout["text-field"])}function ne(e){const o=e.getStyle();for(const r of o.layers??[])re(r)&&e.setLayoutProperty(r.id,"text-field",ee)}function ie(){if(y)return y;const e=new V;y=e;try{H("pmtiles",e.tile)}catch(o){console.warn("Maplibre PMTiles protocol registration failed.",o)}return e}export default function ae({sceneDef:e,geoConfig:o,tileSource:r,mapOptions:B,debug:b,onMapReady:h,onMapDimLayerReady:x,onMapLoadError:P,onPointerMissed:C,children:N}){const M=l(null),[_,A]=W(),L=l(h),S=l(x),j=l(P),Z=l({geoConfig:o,tileSource:r,mapOptions:B,debug:b});return T(()=>{L.current=h,S.current=x,j.current=P}),T(()=>{const E=M.current;if(!E)return;const{geoConfig:n,tileSource:m,mapOptions:s,debug:U}=Z.current;let u=!1,I;const R=()=>{const k=ie(),G=n.bounds?{bounds:n.bounds,fitBoundsOptions:{padding:n.fitPadding,bearing:n.bearing}}:{center:n.center,zoom:n.zoom},O=Q(m.style,m.offline?i=>K(k,i):void 0),t=new J({container:E,...G,bearing:n.bearing,pitch:s?.pitch??30,maxPitch:s?.maxPitch??70,minZoom:s?.minZoom,maxZoom:s?.maxZoom,maxBounds:s?.maxBounds,attributionControl:{compact:!0,customAttribution:$},bearingSnap:0,canvasContextAttributes:{antialias:!0}});n.zoomAdjustment&&t.jumpTo({zoom:t.getZoom()+n.zoomAdjustment}),t.once("error",i=>{t.isStyleLoaded()||j.current?.(i?.error??i)});const F=i=>{const a=i?.id;!a||t.hasImage(a)||t.addImage(a,{width:1,height:1,data:new Uint8Array(4)})};t.on("styleimagemissing",F);let f;const d=()=>t.triggerRepaint(),X={id:v,type:"custom",renderingMode:"3d",onAdd(i,a){u||(A({gl:a,requestFrame:d,onFrame:c=>(f=c,d(),()=>{f===c&&(f=void 0)})}),L.current?.(t,d))},render(i,a){const c=oe(a??i);c&&f?.(c)}},D=()=>{ne(t),t.getSource(p)||t.addSource(p,{type:"geojson",data:te}),t.getLayer(MAP_DIM_LAYER_ID)||t.addLayer({id:MAP_DIM_LAYER_ID,type:"fill",source:p,paint:{"fill-color":"#000000","fill-opacity":0,"fill-opacity-transition":{duration:0,delay:0}}}),S.current?.(t),t.addLayer(X)};t.on("style.load",D),t.setStyle(m.style,O?{transformStyle:O}:void 0),I=()=>{t.off("style.load",D),t.off("styleimagemissing",F),t.remove()}};return U?Y().then(()=>{u||R()}):R(),()=>{u=!0,I?.(),A(void 0)}},[]),w("div",{ref:M,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%"},children:_&&w(q,{..._,scene:e,debug:b,onPointerMissed:C,children:N})})}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/floorplan",
3
- "version": "3.27.0",
3
+ "version": "3.28.0",
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.27.0",
73
- "@expofp/debug": "3.27.0",
74
- "@expofp/geometry": "3.27.0",
75
- "@expofp/renderer": "3.27.0",
76
- "@expofp/resolve": "3.27.0",
77
- "@expofp/schema": "3.27.0",
78
- "@expofp/ui": "3.27.0",
79
- "@expofp/utils": "3.27.0",
80
- "@expofp/wayfinding": "3.27.0"
72
+ "@expofp/config": "3.28.0",
73
+ "@expofp/debug": "3.28.0",
74
+ "@expofp/geometry": "3.28.0",
75
+ "@expofp/renderer": "3.28.0",
76
+ "@expofp/resolve": "3.28.0",
77
+ "@expofp/schema": "3.28.0",
78
+ "@expofp/ui": "3.28.0",
79
+ "@expofp/utils": "3.28.0",
80
+ "@expofp/wayfinding": "3.28.0"
81
81
  },
82
82
  "devDependencies": {
83
83
  "@babel/plugin-proposal-decorators": "^8.0.2",