@expofp/floorplan 3.37.1 → 3.38.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 (98) hide show
  1. package/dist/browser/{Button-DeCrQX9Q.js → Button-ClbFcvfV.js} +5 -5
  2. package/dist/browser/{CookieConsent-Vl3v-pFj.js → CookieConsent-BtYMAMD8.js} +7 -7
  3. package/dist/browser/{Debug-B5yqbERt.js → Debug-6rBej4wJ.js} +7 -7
  4. package/dist/browser/{DebugTools-DxmLwGuT.js → DebugTools-CweHk4eX.js} +6 -6
  5. package/dist/browser/{Demo-wMGqDSlp.js → Demo-DkbMkg4o.js} +9 -9
  6. package/dist/browser/{Free-YWqMdrkf.js → Free-Da8_iIA3.js} +9 -9
  7. package/dist/browser/{GalleryContainer-BSj0IoEg.js → GalleryContainer-cYgizXxX.js} +10 -10
  8. package/dist/browser/{GpsLoader-JZ2o-6yZ.js → GpsLoader-dY9414p_.js} +10 -10
  9. package/dist/browser/{KioskStore-Bu3BopQw.js → KioskStore-dTaEpV2u.js} +5 -5
  10. package/dist/browser/{MaplibreAdapter-Po4JkMfJ.js → MaplibreAdapter-Bin47a4P.js} +12 -12
  11. package/dist/browser/{ModalContainer-Ca0L20OV.js → ModalContainer-cqTsVJWK.js} +10 -10
  12. package/dist/browser/{PermissionNotice-BL_Z0Gvx.js → PermissionNotice-Czo_ZPGg.js} +6 -6
  13. package/dist/browser/{SetKioskMode-BLqj_oCF.js → SetKioskMode-BHyRe8uR.js} +9 -9
  14. package/dist/browser/{ShowKiosk-C_Uo4HvH.js → ShowKiosk-Btvjwee0.js} +10 -10
  15. package/dist/browser/{ViewerMenuPanel-JVKfblYo.js → ViewerMenuPanel-ChhGSeZi.js} +9 -9
  16. package/dist/browser/{add-debug-secret-listener-DPtDyfek.js → add-debug-secret-listener-Uy98ISZg.js} +1 -1
  17. package/dist/browser/{adopt-global-settings-BtOhXTvg.js → adopt-global-settings-CSk5bLXy.js} +9 -9
  18. package/dist/browser/{boolean-editor-DnFqREVk.js → boolean-editor-BX0E97NA.js} +9 -9
  19. package/dist/browser/{bootIntercom-Bcj28u2s.js → bootIntercom-CgTbDJ3h.js} +2 -2
  20. package/dist/browser/bundle.json +71 -71
  21. package/dist/browser/{camera-events-7_9NDGJ3.js → camera-events-Djsde0Ux.js} +1 -1
  22. package/dist/browser/{classnames-DDNrf32h.js → classnames-B52rwbt4.js} +2 -2
  23. package/dist/browser/{client-CH-EyMGM.js → client-CTsWysuI.js} +5 -5
  24. package/dist/browser/{components-CTpCoGVL.js → components-CYoiaY2t.js} +37 -37
  25. package/dist/browser/{debug-context-k4yfSNiw.js → debug-context-BnO2NQR9.js} +5 -5
  26. package/dist/browser/{debug-overlay-DUJGPb45.js → debug-overlay-bJmbHnXN.js} +10 -10
  27. package/dist/browser/{debug-ui-BHuX-GB3.js → debug-ui-DvXUU9-P.js} +6 -6
  28. package/dist/browser/{dimming-t9q0FUi7.js → dimming-BrGbMBxb.js} +22 -15
  29. package/dist/browser/{dist-BN7aRMYg.js → dist-CnbCTNO3.js} +3 -3
  30. package/dist/browser/{dist-D53VlFs3.js → dist-DZ2Exk9m.js} +6 -6
  31. package/dist/browser/{dist-BH6ccsWu.js → dist-ShElP6T0.js} +5 -5
  32. package/dist/browser/{efp-debug-init-FVwthqE9.js → efp-debug-init-BR__9zmi.js} +3 -3
  33. package/dist/browser/{enum-editor-D2DqVE0U.js → enum-editor-D1frUcEv.js} +4 -4
  34. package/dist/browser/{es5-CTnRrfUa.js → es5-COBqz2Zh.js} +2 -2
  35. package/dist/browser/{event-head-NyeKC_a-.js → event-head-BUJJHBIq.js} +1 -1
  36. package/dist/browser/{event-not-found-DIhmLXDl.js → event-not-found-K1N4NbnT.js} +3 -3
  37. package/dist/browser/{exports-BozCwlV6.js → exports-DN6wF8DS.js} +1 -1
  38. package/dist/browser/{favicon-B1mctnat.js → favicon-D6QoTQSP.js} +1 -1
  39. package/dist/browser/{fetch-retry.umd-D9r-WEgL.js → fetch-retry.umd-HVXbN6qF.js} +2 -2
  40. package/dist/browser/{flex-_eXPuQqS.js → flex-BP_sJeus.js} +5 -5
  41. package/dist/browser/{floorplan.loader-CfJ8Vn2f.js → floorplan.loader-Dzvb4FTD.js} +10 -10
  42. package/dist/browser/{floorplan.ready-Di_3P8e2.js → floorplan.ready-DLq2zteX.js} +15 -15
  43. package/dist/browser/{fuse-v2l3pyGv.js → fuse-B-w8rUFE.js} +2 -2
  44. package/dist/browser/{i18n-B5-zCiY_.js → i18n-C6fFyMGD.js} +7 -6
  45. package/dist/browser/index.js +16 -16
  46. package/dist/browser/{index.module-6qVgT1Ws.js → index.module-m51AK8p4.js} +4 -4
  47. package/dist/browser/{integrateKiosk-D8Xc_hN4.js → integrateKiosk-6cmnHeoj.js} +4 -4
  48. package/dist/browser/{is-own-domain-CRNYcXgm.js → is-own-domain-wvyQvGlL.js} +1 -1
  49. package/dist/browser/{is-webview-BKVg7rVR.js → is-webview-oqXVE6bv.js} +1 -1
  50. package/dist/browser/{jsx-runtime-CvluGX9h.js → jsx-runtime-CtJ_t8Mi.js} +2 -2
  51. package/dist/browser/{kiosk-record-CkIaRaVs.js → kiosk-record-Di9isPMQ.js} +1 -1
  52. package/dist/browser/{lib-F5uPIjZZ.js → lib-DmKWthvt.js} +3 -3
  53. package/dist/browser/{loadImage-CWZCt1gk.js → loadImage-DUelfWA7.js} +4 -4
  54. package/dist/browser/{logDeviceInfo-KsHijAvU.js → logDeviceInfo-BuhtLa4A.js} +9 -9
  55. package/dist/browser/{mobx-DyNIDReK.js → mobx-UGMGcjzY.js} +4 -4
  56. package/dist/browser/{optional-boolean-editor-BuEtS0T3.js → optional-boolean-editor-C1Ndbp_u.js} +3 -3
  57. package/dist/browser/{optional-enum-editor-CdbmJsGL.js → optional-enum-editor-DYAfwsr2.js} +4 -4
  58. package/dist/browser/{optional-string-editor-D2PcwHgW.js → optional-string-editor-ClMoGgGt.js} +4 -4
  59. package/dist/browser/{particles.min-E6qiqBch.js → particles.min-BffTQ57s.js} +2 -2
  60. package/dist/browser/{react-Dn5R1i44.js → react-C-Qd2U47.js} +2 -2
  61. package/dist/browser/{react-dom-CNKhUGTA.js → react-dom-CnXY0ene.js} +3 -3
  62. package/dist/browser/{rolldown-runtime-Rtc3Wq1o.js → rolldown-runtime-CjjOYn6R.js} +1 -1
  63. package/dist/browser/{scheduler-B63wNQ6O.js → scheduler-Qu0FRRuK.js} +2 -2
  64. package/dist/browser/{select-FAFZn4pa.js → select-DBf5drek.js} +10 -10
  65. package/dist/browser/{settings-DxbVRDcz.js → settings-CK9N4RDZ.js} +2 -2
  66. package/dist/browser/{settings-item-BvQw5Dzf.js → settings-item-C1kuqAX7.js} +6 -6
  67. package/dist/browser/{store-BWnOp-D9.js → store-DcCWvP6P.js} +4084 -3727
  68. package/dist/browser/{string-editor-unUjOHfG.js → string-editor-CZm4w5-_.js} +4 -4
  69. package/dist/browser/{text-field-YhZt_uCf.js → text-field-BjwNyut3.js} +5 -5
  70. package/dist/browser/{theme-ycAtwSHv.js → theme-Cq3CRc3v.js} +8 -8
  71. package/dist/browser/{ui-BDt3wLKg.js → ui-COIkgfZE.js} +8 -8
  72. package/dist/browser/{useRenderTarget-dNFV5pof.js → useRenderTarget-Dr7hirkU.js} +4 -4
  73. package/dist/browser/{viewport-DE8ekt3O.js → viewport-3wsqmW9Q.js} +2 -2
  74. package/dist/esm/components/Map/drawing/config/booth-logos.d.ts +38 -0
  75. package/dist/esm/components/Map/drawing/config/booth-logos.js +1 -0
  76. package/dist/esm/components/Map/drawing/config/config-booth-labels-special.js +2 -2
  77. package/dist/esm/components/Map/drawing/config/config-booth-labels.js +1 -1
  78. package/dist/esm/components/Map/drawing/config/config-booths.js +1 -1
  79. package/dist/esm/components/Map/drawing/config/config-load-layer.js +1 -1
  80. package/dist/esm/components/Map/drawing/config/config-markers.js +1 -1
  81. package/dist/esm/components/Map/drawing/config/layer-models.d.ts +2 -2
  82. package/dist/esm/components/Map/drawing/config/loadBoothsImages.d.ts +19 -2
  83. package/dist/esm/components/Map/drawing/config/loadBoothsImages.js +1 -1
  84. package/dist/esm/components/Map/traffic/useManageTraffic.js +1 -1
  85. package/dist/esm/store/ExhibitorStore.d.ts +2 -0
  86. package/dist/esm/utils/blob-image-size.d.ts +27 -0
  87. package/dist/esm/utils/blob-image-size.js +1 -0
  88. package/dist/esm/utils/loadBlob.d.ts +16 -0
  89. package/dist/esm/utils/loadBlob.js +1 -0
  90. package/dist/esm/utils/loadImagesInBatches.d.ts +16 -1
  91. package/dist/esm/utils/loadImagesInBatches.js +1 -1
  92. package/dist/esm/utils/loadLayerImages.d.ts +46 -0
  93. package/dist/esm/utils/loadLayerImages.js +1 -0
  94. package/dist/esm/utils/rasterize-svg.d.ts +32 -0
  95. package/dist/esm/utils/rasterize-svg.js +1 -0
  96. package/package.json +10 -10
  97. package/dist/esm/utils/imageloader.d.ts +0 -15
  98. package/dist/esm/utils/imageloader.js +0 -1
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Whether these bytes are an SVG.
3
+ *
4
+ * The test reads a prefix, not the whole type. A server may send `image/svg+xml; charset=utf-8`,
5
+ * and these images come from customer origins and CDNs, not only from this repository's own
6
+ * server. An exact match lets that form through to `createImageBitmap`, which rejects SVG bytes,
7
+ * and the image then disappears with no sign of why.
8
+ * @param blob - The bytes to test.
9
+ * @returns Whether the bytes are an SVG.
10
+ */
11
+ export declare function isSvgBlob(blob: Blob): boolean;
12
+ /**
13
+ * Draws an SVG into a canvas at its own intrinsic size.
14
+ *
15
+ * `createImageBitmap` refuses SVG bytes (`InvalidStateError`, measured in Chrome 153, even for an
16
+ * SVG with an explicit `width` and `height`), so an SVG cannot travel to the atlas worker as it is.
17
+ * An `<img>` element renders the same bytes. This function does that conversion once, at load time.
18
+ * @param blob - The SVG bytes.
19
+ * @returns The rasterized canvas, or null when the SVG does not render, or declares no size.
20
+ */
21
+ export declare function rasterizeSvg(blob: Blob): Promise<HTMLCanvasElement | null>;
22
+ /**
23
+ * Rasterizes an SVG and hands the pixels back as PNG bytes.
24
+ *
25
+ * The result is a `Blob` and not a canvas on purpose. A layer packs in the atlas worker only while
26
+ * every one of its sources is a `Blob`, so one canvas among a thousand booth logos would drop the
27
+ * whole layer back onto the main thread — the exact layer the worker exists for.
28
+ * @param blob - The SVG bytes.
29
+ * @returns The PNG bytes, or null when the SVG does not render.
30
+ */
31
+ export declare function svgToPngBlob(blob: Blob): Promise<Blob | null>;
32
+ //# sourceMappingURL=rasterize-svg.d.ts.map
@@ -0,0 +1 @@
1
+ import{loadImage as o}from"./loadImage";export function isSvgBlob(n){return n.type.startsWith("image/svg+xml")}export async function rasterizeSvg(n){const t=URL.createObjectURL(n);try{const e=await o(t);if(!e?.naturalWidth||!e.naturalHeight)return null;const a=document.createElement("canvas");a.width=e.naturalWidth,a.height=e.naturalHeight;const r=a.getContext("2d");return r?(r.drawImage(e,0,0),a):null}finally{URL.revokeObjectURL(t)}}export async function svgToPngBlob(n){const t=await rasterizeSvg(n);return t?i(t):null}function i(n){return new Promise(t=>{try{n.toBlob(e=>t(e),"image/png")}catch{t(null)}})}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expofp/floorplan",
3
- "version": "3.37.1",
3
+ "version": "3.38.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.37.1",
73
- "@expofp/debug": "3.37.1",
74
- "@expofp/geometry": "3.37.1",
75
- "@expofp/renderer": "3.37.1",
76
- "@expofp/resolve": "3.37.1",
77
- "@expofp/schema": "3.37.1",
78
- "@expofp/ui": "3.37.1",
79
- "@expofp/utils": "3.37.1",
80
- "@expofp/wayfinding": "3.37.1"
72
+ "@expofp/config": "3.38.0",
73
+ "@expofp/debug": "3.38.0",
74
+ "@expofp/geometry": "3.38.0",
75
+ "@expofp/renderer": "3.38.0",
76
+ "@expofp/resolve": "3.38.0",
77
+ "@expofp/schema": "3.38.0",
78
+ "@expofp/ui": "3.38.0",
79
+ "@expofp/utils": "3.38.0",
80
+ "@expofp/wayfinding": "3.38.0"
81
81
  },
82
82
  "devDependencies": {
83
83
  "@babel/plugin-proposal-decorators": "^8.0.2",
@@ -1,15 +0,0 @@
1
- import { type Booth } from '../store/BoothStore';
2
- export interface Img {
3
- booth: Booth;
4
- name?: string;
5
- htmlImage: HTMLImageElement;
6
- bounds: {
7
- x: number;
8
- y: number;
9
- width: number;
10
- height: number;
11
- angle: number;
12
- };
13
- }
14
- export declare function loadIcons(svgImages: SVGImageElement[]): Promise<Img[]>;
15
- //# sourceMappingURL=imageloader.d.ts.map
@@ -1 +0,0 @@
1
- import{loadImage as e}from"./loadImage";export function loadIcons(t){return Promise.all(t.map(a=>new Promise(async n=>{var l=await e(a.getAttribute("xlink:href")||a.getAttribute("href"));n(l?{bounds:{x:a.x.animVal.value,y:a.y.animVal.value,width:a.width.animVal.value,height:a.height.animVal.value,angle:a.transform?.animVal[0]?.angle??0},htmlImage:l,booth:null}:null)})))}