@eyeon/map 2.0.12 → 2.0.14

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 (45) hide show
  1. package/dist/assets/MapViewer.css +1 -1
  2. package/dist/assets/index.css +1 -1
  3. package/dist/chunks/MapViewer.js +2486 -2055
  4. package/dist/chunks/MapViewer.js.map +1 -1
  5. package/dist/chunks/stacking.js +962 -782
  6. package/dist/chunks/stacking.js.map +1 -1
  7. package/dist/chunks/wheelZoom.js +27 -27
  8. package/dist/core/currentLocation.d.ts +15 -0
  9. package/dist/core/currentLocation.d.ts.map +1 -0
  10. package/dist/core/hostChrome.d.ts +9 -1
  11. package/dist/core/hostChrome.d.ts.map +1 -1
  12. package/dist/core/index.d.ts +3 -0
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +144 -130
  15. package/dist/core/publicShapes.d.ts +18 -0
  16. package/dist/core/publicShapes.d.ts.map +1 -0
  17. package/dist/core/publish/index.d.ts.map +1 -1
  18. package/dist/core/types.d.ts +12 -1
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/core/websiteModal.d.ts +53 -0
  21. package/dist/core/websiteModal.d.ts.map +1 -0
  22. package/dist/editor/index.css +239 -48
  23. package/dist/editor/index.js +2215 -2291
  24. package/dist/editor/index.js.map +1 -1
  25. package/dist/editor/panels/formRows.d.ts.map +1 -1
  26. package/dist/specialIcons.d.ts +2 -2
  27. package/dist/viewer/MapViewer.d.ts +2 -0
  28. package/dist/viewer/MapViewer.d.ts.map +1 -1
  29. package/dist/viewer/camera.d.ts +10 -1
  30. package/dist/viewer/camera.d.ts.map +1 -1
  31. package/dist/viewer/components/LevelMeshes.d.ts +6 -2
  32. package/dist/viewer/components/LevelMeshes.d.ts.map +1 -1
  33. package/dist/viewer/components/MapScene.d.ts +7 -2
  34. package/dist/viewer/components/MapScene.d.ts.map +1 -1
  35. package/dist/viewer/components/RouteLine.d.ts +25 -4
  36. package/dist/viewer/components/RouteLine.d.ts.map +1 -1
  37. package/dist/viewer/fetchWebsiteRetailers.d.ts +3 -0
  38. package/dist/viewer/fetchWebsiteRetailers.d.ts.map +1 -0
  39. package/dist/viewer/index.css +227 -0
  40. package/dist/viewer/index.js +6 -6
  41. package/dist/viewer/orbitWheelZoom.d.ts +12 -0
  42. package/dist/viewer/orbitWheelZoom.d.ts.map +1 -0
  43. package/dist/viewer/ui/WebsiteInfoModal.d.ts +10 -0
  44. package/dist/viewer/ui/WebsiteInfoModal.d.ts.map +1 -0
  45. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"formRows.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/formRows.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AASpB,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,qBA+EA;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,GAAG,EACH,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,kBAAyB,EACzB,WAAW,EACX,QAAQ,EACR,MAAM,GACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,qBA8IA;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,qBA4CA;AA+CD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC,qBAuBA;AAED,wBAAgB,UAAU,sBAczB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpE"}
1
+ {"version":3,"file":"formRows.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/formRows.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AASpB,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,qBA+EA;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,GAAG,EACH,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,kBAAyB,EACzB,WAAW,EACX,QAAQ,EACR,MAAM,GACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,qBAqDA;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,qBA4CA;AA+CD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC,qBAuBA;AAED,wBAAgB,UAAU,sBAczB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpE"}
@@ -27,8 +27,8 @@ export declare function assignedConnectorShapeIds(anchors: Array<{
27
27
  }>): Set<number>;
28
28
  /**
29
29
  * Map overlay: only a linked landing gets an icon. Unassigned escalators
30
- * (and elevators) stay as empty polygons so the floor is not covered in gray
31
- * markers.
30
+ * and elevators stay as empty polygons on PORTAL assign; WEBSITE / DISPLAY_APP
31
+ * hide those polygons entirely.
32
32
  */
33
33
  export declare function connectorMapIconKind(shape: {
34
34
  id: number;
@@ -41,6 +41,8 @@ export interface MapViewerProps {
41
41
  createRouteToStore: (retailerId: number) => void;
42
42
  createRouteToAmenity: (amenityCode: string) => void;
43
43
  clearRoute: () => void;
44
+ /** Kiosk idle reset: clear routing, restore its floor, and reset the camera. */
45
+ resetMap: () => void;
44
46
  } | null>;
45
47
  className?: string;
46
48
  style?: React.CSSProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"MapViewer.d.ts","sourceRoot":"","sources":["../../src/viewer/MapViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,KAAK,EAEV,aAAa,EAEb,iBAAiB,EACjB,aAAa,EACd,MAAM,SAAS,CAAC;AAuBjB,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACtC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QACjD,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;QACpD,UAAU,EAAE,MAAM,IAAI,CAAC;KACxB,GAAG,IAAI,CAAC,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAuBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAyV9C;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"MapViewer.d.ts","sourceRoot":"","sources":["../../src/viewer/MapViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,KAAK,EAEV,aAAa,EAEb,iBAAiB,EAEjB,aAAa,EACd,MAAM,SAAS,CAAC;AAgCjB,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACtC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QACjD,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;QACpD,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,gFAAgF;QAChF,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,GAAG,IAAI,CAAC,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAuBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBA2c9C;AAED,eAAe,SAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BBox, LevelTransform, SceneBounds, Vec2 } from '../core';
1
+ import { BBox, LevelTransform, PathResult, SceneBounds, Vec2 } from '../core';
2
2
  /**
3
3
  * Stored geometry is raw SVG user space, where Y grows downward. The scene
4
4
  * mirrors Y once so the camera can keep a conventional `up = [0, 1, 0]`.
@@ -85,6 +85,15 @@ export declare function selectionFocusKey(shapeIds: number[]): string | null;
85
85
  export declare function viewFocusBoundsForShapes(levels: FocusLevel[], shapeIds: number[]): SceneBounds | null;
86
86
  /** View-space frame for a published shape, ready for `CameraRig.focusBounds`. */
87
87
  export declare function viewFocusBoundsForShape(levels: FocusLevel[], shapeId: number): SceneBounds | null;
88
+ type RouteFocusLevel = FocusLevel & {
89
+ id: number;
90
+ anchors: Array<{
91
+ id: number;
92
+ shapeId?: number | null;
93
+ }>;
94
+ };
95
+ /** Match v1: frame the current-floor route and its endpoint shapes. */
96
+ export declare function viewFocusBoundsForRoute(levels: RouteFocusLevel[], route: PathResult, levelId: number | null): SceneBounds | null;
88
97
  export declare function easeOutCubic(t: number): number;
89
98
  /** Symmetric ease so a selection pan is visible the whole way, like v1's lerp. */
90
99
  export declare function easeInOutCubic(t: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/viewer/camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/viewer/camera.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { CmAmenityCatalogItem, PublishedLevel, ThemeDefaults } from '../../core';
2
+ import { CmAmenityCatalogItem, MapViewerHost, PublishedLevel, ThemeDefaults } from '../../core';
3
3
  export interface LevelMeshesProps {
4
4
  level: PublishedLevel;
5
5
  theme: ThemeDefaults;
@@ -22,6 +22,10 @@ export interface LevelMeshesProps {
22
22
  imageProxyUrl?: string | null;
23
23
  /** Published amenity catalog — used to resolve v1 amenity icons by code. */
24
24
  amenities?: CmAmenityCatalogItem[];
25
+ /** Public hosts hide unassigned amenity / kiosk / elevator / escalator polygons. */
26
+ host?: MapViewerHost;
27
+ /** Assigned kiosk shape currently running this DISPLAY_APP viewer. */
28
+ kioskOriginShapeId?: number | null;
25
29
  }
26
- export declare function LevelMeshes({ level, theme, is3d, onSelectShape, selectedShapeIds, hoveredShapeId: hoveredShapeIdProp, eventSource, interactiveOnly, imageProxyUrl, amenities, }: LevelMeshesProps): React.JSX.Element;
30
+ export declare function LevelMeshes({ level, theme, is3d, onSelectShape, selectedShapeIds, hoveredShapeId: hoveredShapeIdProp, eventSource, interactiveOnly, imageProxyUrl, amenities, host, kioskOriginShapeId, }: LevelMeshesProps): React.JSX.Element;
27
31
  //# sourceMappingURL=LevelMeshes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LevelMeshes.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/LevelMeshes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAG5D,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EAEd,MAAM,YAAY,CAAC;AA+EpB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oEAAoE;IACpE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAClD;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACpC;AAgCD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,aAAa,EACb,gBAAqB,EACrB,cAAc,EAAE,kBAAyB,EACzC,WAAW,EACX,eAAuB,EACvB,aAAoB,EACpB,SAAc,GACf,EAAE,gBAAgB,qBA6TlB"}
1
+ {"version":3,"file":"LevelMeshes.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/LevelMeshes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAG5D,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,aAAa,EAEd,MAAM,YAAY,CAAC;AAgFpB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oEAAoE;IACpE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAClD;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACnC,oFAAoF;IACpF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAoDD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,aAAa,EACb,gBAAqB,EACrB,cAAc,EAAE,kBAAyB,EACzC,WAAW,EACX,eAAuB,EACvB,aAAoB,EACpB,SAAc,EACd,IAAsB,EACtB,kBAAyB,GAC1B,EAAE,gBAAgB,qBA6UlB"}
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { PathResult, PublishedDocument, SceneBounds, ThemeDefaults } from '../../core';
2
+ import { MapViewerHost, PathResult, PublishedDocument, SceneBounds, ThemeDefaults } from '../../core';
3
3
  import { MapCameraHandle } from './CameraRig';
4
4
  export interface MapSceneProps {
5
5
  doc: PublishedDocument;
@@ -15,9 +15,14 @@ export interface MapSceneProps {
15
15
  onSelectShape?: (shapeId: number | null, levelId: number, opts?: {
16
16
  additive?: boolean;
17
17
  }) => void;
18
+ onActiveLevelChange?: (levelId: number) => void;
18
19
  imageProxyUrl?: string | null;
19
20
  /** Keep pointer events inside the map canvas host so header/footer stay clickable. */
20
21
  eventSource?: React.RefObject<HTMLElement | null>;
22
+ /** WEBSITE / DISPLAY_APP hide unassigned amenity, kiosk, elevator, and escalator shapes. */
23
+ host?: MapViewerHost;
24
+ /** Assigned kiosk shape currently running this DISPLAY_APP viewer. */
25
+ kioskOriginShapeId?: number | null;
21
26
  }
22
- export declare function MapScene({ doc, theme, activeLevelId, route, selectedShapeId, selectedShapeIds, hoveredShapeId, focusKey, focusViewBounds, cameraRef, onSelectShape, imageProxyUrl, eventSource, }: MapSceneProps): React.JSX.Element;
27
+ export declare function MapScene({ doc, theme, activeLevelId, route, selectedShapeId, selectedShapeIds, hoveredShapeId, focusKey, focusViewBounds, cameraRef, onSelectShape, onActiveLevelChange, imageProxyUrl, eventSource, host, kioskOriginShapeId, }: MapSceneProps): React.JSX.Element;
23
28
  //# sourceMappingURL=MapScene.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapScene.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/MapScene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAW5F,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAevF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAC1B,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sFAAsF;IACtF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACnD;AAED,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,aAAa,EACb,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,cAAqB,EACrB,QAAQ,EACR,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,GACZ,EAAE,aAAa,qBAsNf"}
1
+ {"version":3,"file":"MapScene.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/MapScene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAwDvF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAC1B,IAAI,CAAC;IACV,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sFAAsF;IACtF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAClD,4FAA4F;IAC5F,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,aAAa,EACb,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,cAAqB,EACrB,QAAQ,EACR,eAAe,EACf,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,IAAsB,EACtB,kBAAyB,GAC1B,EAAE,aAAa,qBA6Nf"}
@@ -1,8 +1,29 @@
1
1
  import { default as React } from 'react';
2
- import { PathResult } from '../../core';
3
- export declare function RouteLine({ route, activeLevelId, color, }: {
2
+ import { CmConnector, PathResult } from '../../core';
3
+ import * as THREE from 'three';
4
+ export declare const V1_ROUTE_COLOR = "#4ea5ff";
5
+ export declare const V1_ROUTE_RADIUS = 6;
6
+ export declare const V1_ROUTE_TUBULAR_SEGMENTS = 400;
7
+ export declare const V1_ROUTE_RADIAL_SEGMENTS = 8;
8
+ export declare const V1_ROUTE_REVEAL_MS = 1000;
9
+ export declare const V1_ROUTE_TEXTURE_MS = 2000;
10
+ export declare function routePointsForLevel(route: PathResult, levelId: number): THREE.Vector3[];
11
+ export interface RouteLevelChangeMarker {
12
+ x: number;
13
+ y: number;
14
+ connectorId: number | null;
15
+ targetLevelId: number;
16
+ direction: 'To' | 'From';
17
+ }
18
+ export declare function routeLevelChangeMarkers(route: PathResult, levelId: number): RouteLevelChangeMarker[];
19
+ export declare function RouteLine({ route, levelId, levels, connectors, onActiveLevelChange, }: {
4
20
  route: PathResult;
5
- activeLevelId: number | null;
6
- color: string;
21
+ levelId: number;
22
+ levels?: ReadonlyArray<{
23
+ id: number;
24
+ name: string;
25
+ }>;
26
+ connectors?: readonly CmConnector[];
27
+ onActiveLevelChange?: (levelId: number) => void;
7
28
  }): React.JSX.Element | null;
8
29
  //# sourceMappingURL=RouteLine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteLine.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/RouteLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAa,EACb,KAAK,GACN,EAAE;IACD,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,4BAmBA"}
1
+ {"version":3,"file":"RouteLine.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/RouteLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAG1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG1D,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GACd,KAAK,CAAC,OAAO,EAAE,CAIjB;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GACd,sBAAsB,EAAE,CA4B1B;AAkCD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAO,EACP,MAAM,EACN,UAAU,EACV,mBAAmB,GACpB,EAAE;IACD,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACpC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD,4BA2GA"}
@@ -0,0 +1,3 @@
1
+ import { PublishedRetailer } from '../core';
2
+ export declare function fetchWebsiteRetailers(webApiURI: string, centerId?: number, signal?: AbortSignal): Promise<PublishedRetailer[]>;
3
+ //# sourceMappingURL=fetchWebsiteRetailers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchWebsiteRetailers.d.ts","sourceRoot":"","sources":["../../src/viewer/fetchWebsiteRetailers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,SAAS,CAAC;AAEjB,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+B9B"}
@@ -52,6 +52,55 @@
52
52
  cursor: pointer;
53
53
  }
54
54
 
55
+ @keyframes eyeon-map-current-location-pulse {
56
+ 0% {
57
+ transform: scale(0.8);
58
+ box-shadow: 0 0 0 0 rgba(76, 165, 255, 0.7);
59
+ }
60
+ 70% {
61
+ transform: scale(1.2);
62
+ box-shadow: 0 0 0 30px rgba(76, 165, 255, 0);
63
+ }
64
+ 100% {
65
+ transform: scale(0.8);
66
+ box-shadow: 0 0 0 0 rgba(76, 165, 255, 0);
67
+ }
68
+ }
69
+
70
+ /* Same two-ring "you are here" pulse used by the v1 DISPLAY_APP map. */
71
+ .eyeon-map-current-location-marker {
72
+ position: relative;
73
+ display: block;
74
+ width: 10px;
75
+ height: 10px;
76
+ pointer-events: none;
77
+ }
78
+
79
+ .eyeon-map-current-location-marker::before,
80
+ .eyeon-map-current-location-marker::after {
81
+ position: absolute;
82
+ inset: 0;
83
+ border-radius: 50%;
84
+ box-shadow: 0 0 0 0 rgba(76, 165, 255, 1);
85
+ content: '';
86
+ }
87
+
88
+ .eyeon-map-current-location-marker::before {
89
+ animation: eyeon-map-current-location-pulse 2s infinite;
90
+ background-color: rgba(76, 165, 255, 1);
91
+ }
92
+
93
+ .eyeon-map-current-location-marker::after {
94
+ animation: eyeon-map-current-location-pulse 2s infinite 0.4s;
95
+ }
96
+
97
+ @media (prefers-reduced-motion: reduce) {
98
+ .eyeon-map-current-location-marker::before,
99
+ .eyeon-map-current-location-marker::after {
100
+ animation: none;
101
+ }
102
+ }
103
+
55
104
  .eyeon-map-viewer__loading,
56
105
  .eyeon-map-viewer__error,
57
106
  .eyeon-map-viewer__empty {
@@ -359,6 +408,184 @@
359
408
  border-radius: 0 5px 5px 0;
360
409
  }
361
410
 
411
+ .eyeon-map-info-modal {
412
+ position: fixed;
413
+ inset: 0;
414
+ z-index: 40;
415
+ display: flex;
416
+ align-items: center;
417
+ justify-content: center;
418
+ padding: 16px;
419
+ background: rgba(15, 23, 42, 0.45);
420
+ }
421
+
422
+ .eyeon-map-info-modal__dialog {
423
+ position: relative;
424
+ width: min(600px, calc(100vw - 32px));
425
+ min-width: min(360px, calc(100vw - 32px));
426
+ background: #fff;
427
+ border-radius: 8px;
428
+ box-shadow: 0 16px 40px rgba(15, 23, 42, 0.24);
429
+ }
430
+
431
+ .eyeon-map-info-modal__close {
432
+ position: absolute;
433
+ top: 0;
434
+ right: 0;
435
+ width: 24px;
436
+ height: 24px;
437
+ padding: 0;
438
+ border: 0;
439
+ background: transparent;
440
+ transform: translate(50%, -50%);
441
+ cursor: pointer;
442
+ z-index: 2;
443
+ }
444
+
445
+ .eyeon-map-info-modal__close svg {
446
+ display: block;
447
+ }
448
+
449
+ .eyeon-map-info-modal__body {
450
+ display: flex;
451
+ flex-direction: column;
452
+ max-height: min(80vh, 640px);
453
+ overflow: hidden;
454
+ border-radius: 8px;
455
+ }
456
+
457
+ .eyeon-map-info-modal__content {
458
+ padding: 16px;
459
+ overflow: auto;
460
+ }
461
+
462
+ .eyeon-map-info-modal__retailer {
463
+ display: flex;
464
+ flex-direction: column;
465
+ gap: 16px;
466
+ }
467
+
468
+ .eyeon-map-info-modal__logo {
469
+ display: flex;
470
+ justify-content: center;
471
+ }
472
+
473
+ .eyeon-map-info-modal__logo img {
474
+ max-width: 160px;
475
+ max-height: 160px;
476
+ object-fit: contain;
477
+ }
478
+
479
+ .eyeon-map-info-modal__copy {
480
+ display: flex;
481
+ flex-direction: column;
482
+ gap: 15px;
483
+ }
484
+
485
+ .eyeon-map-info-modal__copy a {
486
+ color: #0763b1;
487
+ }
488
+
489
+ .eyeon-map-info-modal__amenity {
490
+ font-size: 16px;
491
+ font-weight: 600;
492
+ }
493
+
494
+ .eyeon-map-info-modal__form {
495
+ display: flex;
496
+ gap: 16px;
497
+ padding: 16px;
498
+ box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.1);
499
+ }
500
+
501
+ .eyeon-map-info-modal__form .eyeon-map-select {
502
+ flex: 1;
503
+ min-width: 0;
504
+ }
505
+
506
+ .eyeon-map-info-modal__route-unavailable {
507
+ align-self: center;
508
+ color: #b42318;
509
+ font-size: 13px;
510
+ }
511
+
512
+ .eyeon-map-info-modal__map-it {
513
+ flex-shrink: 0;
514
+ background: #0763b1;
515
+ color: #fff;
516
+ border: 0;
517
+ padding: 8px 16px;
518
+ border-radius: 4px;
519
+ cursor: pointer;
520
+ font-size: 16px;
521
+ font-weight: 500;
522
+ white-space: nowrap;
523
+ }
524
+
525
+ .eyeon-map-info-modal__map-it:disabled {
526
+ opacity: 0.45;
527
+ cursor: default;
528
+ }
529
+
530
+ .eyeon-map-route-change {
531
+ position: relative;
532
+ width: 42px;
533
+ height: 42px;
534
+ padding: 0;
535
+ box-sizing: border-box;
536
+ border: 4px solid #ccc;
537
+ border-radius: 50%;
538
+ background: #4ea5ff;
539
+ color: #fff;
540
+ cursor: pointer;
541
+ font: inherit;
542
+ }
543
+
544
+ .eyeon-map-route-change__icon {
545
+ display: flex;
546
+ width: 100%;
547
+ height: 100%;
548
+ align-items: center;
549
+ justify-content: center;
550
+ font-size: 24px;
551
+ font-weight: 700;
552
+ line-height: 1;
553
+ }
554
+
555
+ .eyeon-map-route-change__icon img {
556
+ display: block;
557
+ width: 75%;
558
+ height: 75%;
559
+ }
560
+
561
+ .eyeon-map-route-change__label {
562
+ position: absolute;
563
+ top: -12px;
564
+ left: 50%;
565
+ display: flex;
566
+ align-items: center;
567
+ padding: 4px 12px;
568
+ transform: translate(-50%, -100%);
569
+ border-radius: 999px;
570
+ background: #fff;
571
+ box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
572
+ color: #444;
573
+ font-size: 14px;
574
+ font-weight: 600;
575
+ white-space: nowrap;
576
+ }
577
+
578
+ .eyeon-map-route-change__label::before {
579
+ position: absolute;
580
+ top: calc(100% - 8px);
581
+ left: 50%;
582
+ width: 12px;
583
+ height: 12px;
584
+ transform: translateX(-50%) rotate(45deg);
585
+ background: #fff;
586
+ content: '';
587
+ }
588
+
362
589
  .eyeon-map-select {
363
590
  position: relative;
364
591
  display: block;
@@ -1,12 +1,12 @@
1
- import { M as r, a as o, b as s, R as p } from "../chunks/MapViewer.js";
2
- import { at as t, aG as i, bo as M } from "../chunks/stacking.js";
1
+ import { M as r, a as s, b as o, R as p } from "../chunks/MapViewer.js";
2
+ import { aw as i, aK as t, bu as M } from "../chunks/stacking.js";
3
3
  export {
4
4
  r as MapControls,
5
- o as MapScene,
6
- s as MapViewer,
5
+ s as MapScene,
6
+ o as MapViewer,
7
7
  p as RuntimeChrome,
8
- t as isMapViewerHost,
9
- i as mapSurface,
8
+ i as isMapViewerHost,
9
+ t as mapSurface,
10
10
  M as viewerChrome
11
11
  };
12
12
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * OrbitControls uses one `enableZoom` flag for wheel and touch pinch.
3
+ * Website maps must swallow wheel only — pinch stays on the controls.
4
+ *
5
+ * R3F sets `events.connected` to `false` until the canvas host is wired,
6
+ * so callers must not treat a falsy connected value as a DOM node.
7
+ */
8
+ export declare function orbitEventRoot(eventSource: EventTarget | null | undefined, connected: unknown, canvas: EventTarget | null | undefined): EventTarget | null;
9
+ export declare function viewerWheelEventHitsMap(root: EventTarget | null | undefined, target: EventTarget | null): boolean;
10
+ /** Stop OrbitControls without preventDefault so the page can still scroll. */
11
+ export declare function suppressViewerWheelZoom(event: Event): void;
12
+ //# sourceMappingURL=orbitWheelZoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orbitWheelZoom.d.ts","sourceRoot":"","sources":["../../src/viewer/orbitWheelZoom.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACrC,WAAW,GAAG,IAAI,CAKpB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EACpC,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,OAAO,CAIT;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAE1D"}
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { WebsiteDestination, WebsiteMappedRetailer } from '../../core';
3
+ export declare function WebsiteInfoModal({ destination, retailers, imageProxyUrl, onClose, onMapIt, }: {
4
+ destination: WebsiteDestination;
5
+ retailers: WebsiteMappedRetailer[];
6
+ imageProxyUrl?: string | null;
7
+ onClose: () => void;
8
+ onMapIt: (fromRetailerId: number) => void;
9
+ }): React.ReactPortal | null;
10
+ //# sourceMappingURL=WebsiteInfoModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebsiteInfoModal.d.ts","sourceRoot":"","sources":["../../../src/viewer/ui/WebsiteInfoModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAQ5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE5E,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,SAAS,EACT,aAAa,EACb,OAAO,EACP,OAAO,GACR,EAAE;IACD,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,4BAgJA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eyeon/map",
3
- "version": "2.0.12",
3
+ "version": "2.0.14",
4
4
  "description": "EyeOn Center Map v2 — core, viewer, and editor",
5
5
  "author": "EyeOn LLC",
6
6
  "license": "UNLICENSED",
@@ -91,4 +91,4 @@
91
91
  "vite-plugin-dts": "^4.2.3",
92
92
  "vitest": "^2.1.0"
93
93
  }
94
- }
94
+ }