@twinmatrix/spatialverse-sdk-web 0.1.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.
- package/README.md +4 -0
- package/lib/cjs/index.js +642 -0
- package/lib/cjs/react/index.js +642 -0
- package/lib/esm/index.js +642 -0
- package/lib/esm/react/index.js +642 -0
- package/lib/types/index.d.ts +17 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.spec.d.ts +1 -0
- package/lib/types/index.spec.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/CustomThreeJsWrapper.d.ts +32 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/CustomThreeJsWrapper.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraSync.d.ts +30 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraSync.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraUtils.d.ts +5 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraUtils.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/constants.d.ts +21 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/constants.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/suncalc.d.ts +27 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/suncalc.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/utils.d.ts +13 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/utils.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/MainMap.d.ts +28 -0
- package/lib/types/meta-atlas-sdk/3DMap/MainMap.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/fetch-published-json.d.ts +26 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/fetch-published-json.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/fetchMapObjectsData.d.ts +13 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/fetchMapObjectsData.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/focustree.d.ts +406 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/focustree.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core.d.ts +573 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/index.d.ts +6 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/index.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/interfaces.d.ts +142 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/interfaces.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/mapObjectsHelper.d.ts +13 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/mapObjectsHelper.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/routeLayers.d.ts +171 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/routeLayers.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/routing-helpers.d.ts +73 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/routing-helpers.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.d.ts +31 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/whatTaxonomies.d.ts +59 -0
- package/lib/types/meta-atlas-sdk/MetaAtlasCore/whatTaxonomies.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/customStyles.d.ts +243 -0
- package/lib/types/meta-atlas-sdk/customStyles.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/customerLayer.d.ts +6385 -0
- package/lib/types/meta-atlas-sdk/customerLayer.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/customerLayerVariant.d.ts +5156 -0
- package/lib/types/meta-atlas-sdk/customerLayerVariant.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/draw_marker.d.ts +18 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/draw_marker.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/marker_select.d.ts +37 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/marker_select.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/meta-atlas-sdk.d.ts +548 -0
- package/lib/types/meta-atlas-sdk/meta-atlas-sdk.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/utils/helpers.d.ts +4 -0
- package/lib/types/meta-atlas-sdk/utils/helpers.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/utils/local-storage.d.ts +8 -0
- package/lib/types/meta-atlas-sdk/utils/local-storage.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/utils/mapobjects-store.d.ts +6 -0
- package/lib/types/meta-atlas-sdk/utils/mapobjects-store.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/utils/routing-store.d.ts +6 -0
- package/lib/types/meta-atlas-sdk/utils/routing-store.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/utils/routing-visualizer/index.d.ts +42 -0
- package/lib/types/meta-atlas-sdk/utils/routing-visualizer/index.d.ts.map +1 -0
- package/lib/types/react/MetaAtlasMap.d.ts +4 -0
- package/lib/types/react/MetaAtlasMap.d.ts.map +1 -0
- package/lib/types/react/hooks/useDrawing/index.d.ts +3 -0
- package/lib/types/react/hooks/useDrawing/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useDrawing/types.d.ts +5 -0
- package/lib/types/react/hooks/useDrawing/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useFocus/index.d.ts +3 -0
- package/lib/types/react/hooks/useFocus/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useFocus/types.d.ts +28 -0
- package/lib/types/react/hooks/useFocus/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useMapEvents/index.d.ts +3 -0
- package/lib/types/react/hooks/useMapEvents/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useMapEvents/types.d.ts +28 -0
- package/lib/types/react/hooks/useMapEvents/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useMapOverlays/index.d.ts +8 -0
- package/lib/types/react/hooks/useMapOverlays/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useMapOverlays/types.d.ts +80 -0
- package/lib/types/react/hooks/useMapOverlays/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useMetaAtlas/index.d.ts +3 -0
- package/lib/types/react/hooks/useMetaAtlas/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useMetaAtlas/types.d.ts +2 -0
- package/lib/types/react/hooks/useMetaAtlas/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useRouting/index.d.ts +3 -0
- package/lib/types/react/hooks/useRouting/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useRouting/types.d.ts +5 -0
- package/lib/types/react/hooks/useRouting/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useSearch/index.d.ts +3 -0
- package/lib/types/react/hooks/useSearch/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useSearch/types.d.ts +7 -0
- package/lib/types/react/hooks/useSearch/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useStampRally/index.d.ts +3 -0
- package/lib/types/react/hooks/useStampRally/index.d.ts.map +1 -0
- package/lib/types/react/hooks/useStampRally/types.d.ts +24 -0
- package/lib/types/react/hooks/useStampRally/types.d.ts.map +1 -0
- package/lib/types/react/hooks/useStampRally/utils.d.ts +3 -0
- package/lib/types/react/hooks/useStampRally/utils.d.ts.map +1 -0
- package/lib/types/react/index.d.ts +21 -0
- package/lib/types/react/index.d.ts.map +1 -0
- package/lib/types/react/stores/useMapDataStore.d.ts +35 -0
- package/lib/types/react/stores/useMapDataStore.d.ts.map +1 -0
- package/lib/types/react/stores/useMetaAtlasStore.d.ts +25 -0
- package/lib/types/react/stores/useMetaAtlasStore.d.ts.map +1 -0
- package/lib/types/react/types/index.d.ts +80 -0
- package/lib/types/react/types/index.d.ts.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../../../src/meta-atlas-sdk/utils/local-storage.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACrB,OAAO,KAAM;IAEb,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOrC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI9B,QAAQ;CAGX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapobjects-store.d.ts","sourceRoot":"","sources":["../../../../src/meta-atlas-sdk/utils/mapobjects-store.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,sBAAsB;;;CAYxB,CAAC;AAEL,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing-store.d.ts","sourceRoot":"","sources":["../../../../src/meta-atlas-sdk/utils/routing-store.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,iBAAiB;;;CAYnB,CAAC;AAEL,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Map } from 'maplibre-gl';
|
|
2
|
+
import { FeatureCollection } from 'geojson';
|
|
3
|
+
import { UserPosition } from '../../MetaAtlasCore/routing-core/interfaces';
|
|
4
|
+
import { Route } from '../../MetaAtlasCore/routing-core/routing-helpers';
|
|
5
|
+
export declare class RoutingVisualizer {
|
|
6
|
+
map: Map;
|
|
7
|
+
routeSourceName: string;
|
|
8
|
+
patchFeatureCollection: FeatureCollection<import("geojson").Geometry, {
|
|
9
|
+
[name: string]: any;
|
|
10
|
+
}>;
|
|
11
|
+
route: Route | null;
|
|
12
|
+
highlightedSegmentNumber: number;
|
|
13
|
+
currentPatchNumber: number;
|
|
14
|
+
animateRouteSourceName: string;
|
|
15
|
+
animationFrameID: number;
|
|
16
|
+
animateRouteSegmentFeatureCollection: FeatureCollection<import("geojson").Geometry, {
|
|
17
|
+
[name: string]: any;
|
|
18
|
+
}>;
|
|
19
|
+
animationStartTime: number;
|
|
20
|
+
end: {
|
|
21
|
+
from: number;
|
|
22
|
+
to: number;
|
|
23
|
+
};
|
|
24
|
+
main: any;
|
|
25
|
+
constructor(sdk: any);
|
|
26
|
+
getCurrentFocus(): any;
|
|
27
|
+
filterWhereDimension(dimension: string): void;
|
|
28
|
+
setupRouting(map: Map): void;
|
|
29
|
+
computeRoute(startMapObjectId: string, endMapObjectId: string, wheelChairAccessibleRouting?: boolean, shouldAddOverviewSegment?: boolean, indexOffset?: number): Promise<Route>;
|
|
30
|
+
handleAllRouteUpdate(allSegments: any, userPosition: UserPosition, segmentIndex: any): void;
|
|
31
|
+
computeRoutes(mapObjectIds: string[], wheelChairAccessibleRouteOnly?: boolean): Promise<Route | undefined>;
|
|
32
|
+
updateRouteSource(updatedFeatureCollection: FeatureCollection): boolean;
|
|
33
|
+
updateAnimateRouteSource(updatedFeatureCollection: FeatureCollection): boolean;
|
|
34
|
+
setActiveRoute(route: Route): void;
|
|
35
|
+
getActiveRoute(): Route | null;
|
|
36
|
+
resetRouteSegmentAnimation(): void;
|
|
37
|
+
animateHighlightedRouteSegment: () => void;
|
|
38
|
+
updateFeaturesToAnimate(segmentNumber: number, whereDimensionForFeatures: string): void;
|
|
39
|
+
highlightRouteSegment(segmentNumberToHighlight: number, updateFilters?: boolean): void;
|
|
40
|
+
clearRoute(): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/meta-atlas-sdk/utils/routing-visualizer/index.ts"],"names":[],"mappings":"AACA,OAAmB,EAAW,GAAG,EAAE,MAAM,aAAa,CAAC;AAUvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAA6C,YAAY,EAAE,MAAM,6CAA6C,CAAC;AACtH,OAAO,EACS,KAAK,EAEpB,MAAM,kDAAkD,CAAC;AAI1D,qBAAa,iBAAiB;IAC5B,GAAG,EAAE,GAAG,CAAC;IAGT,eAAe,SAAkB;IAEjC,sBAAsB;;OAGC;IAEvB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,wBAAwB,SAAM;IAE9B,kBAAkB,SAAM;IAGxB,sBAAsB,SAAyB;IAE/C,gBAAgB,SAAM;IAEtB,oCAAoC;;OAGb;IAEvB,kBAAkB,SAAK;IAEvB,GAAG;;;MAGD;IAEF,IAAI,EAAE,GAAG,CAAC;gBAEE,GAAG,EAAE,GAAG;IAMpB,eAAe;IAKf,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAKtC,YAAY,CAAC,GAAG,EAAE,GAAG;IAyBf,YAAY,CAChB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,2BAA2B,UAAQ,EACnC,wBAAwB,UAAO,EAC/B,WAAW,SAAI,GACd,OAAO,CAAC,KAAK,CAAC;IAoBjB,oBAAoB,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,KAAA;IAoCzE,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,6BAA6B,UAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAsG9G,iBAAiB,CAAC,wBAAwB,EAAE,iBAAiB;IAS7D,wBAAwB,CAAC,wBAAwB,EAAE,iBAAiB;IASpE,cAAc,CAAC,KAAK,EAAE,KAAK;IAI3B,cAAc,IAAI,KAAK,GAAG,IAAI;IAI9B,0BAA0B;IAU1B,8BAA8B,aAoG5B;IAEF,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM;IAsChF,qBAAqB,CAAC,wBAAwB,EAAE,MAAM,EAAE,aAAa,UAAO;IAyJ5E,UAAU;CAWX"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import 'maplibre-gl/dist/maplibre-gl.css';
|
|
2
|
+
import { MetaAtlasMapProps } from './types';
|
|
3
|
+
export declare function MetaAtlasMap({ accessToken, secretKey, role, onLoad, onLoadFail, onRoutingStatusUpdate, onSearchStatusUpdate, initialViewState: initialViewStateProp, style, children, }: MetaAtlasMapProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=MetaAtlasMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetaAtlasMap.d.ts","sourceRoot":"","sources":["../../../src/react/MetaAtlasMap.tsx"],"names":[],"mappings":"AAGA,OAAO,kCAAkC,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,SAAS,EACT,IAAqB,EACrB,MAAM,EACN,UAAU,EACV,qBAAgD,EAChD,oBAA+C,EAC/C,gBAAgB,EAAE,oBAAoB,EACtC,KAAK,EACL,QAAQ,GACT,EAAE,iBAAiB,2CA8GnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useDrawing/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,UAAU,IAAI,gBAAgB,CAqB7C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { UseMetaAtlasReturn } from '../../types';
|
|
2
|
+
export interface UseDrawingReturn extends Pick<UseMetaAtlasReturn, 'drawGeometryOnMap' | 'addDrawingsToBaseMap' | 'editDrawing' | 'removeDrawing' | 'getDrawingById' | 'isInDrawMode'> {
|
|
3
|
+
isReady: boolean;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useDrawing/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,kBAAkB,EAC/D,mBAAmB,GACnB,sBAAsB,GACtB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,cAAc,CACf;IACC,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useFocus/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAkD,MAAM,SAAS,CAAC;AAEzF,wBAAgB,QAAQ,IAAI,cAAc,CAqNzC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { UseMetaAtlasReturn } from '../../types';
|
|
2
|
+
export interface SiteInfo {
|
|
3
|
+
name: string;
|
|
4
|
+
whereTaxonomy: string;
|
|
5
|
+
}
|
|
6
|
+
export interface BuildingInfo {
|
|
7
|
+
name: string;
|
|
8
|
+
whereTaxonomy: string;
|
|
9
|
+
}
|
|
10
|
+
export interface LevelInfo {
|
|
11
|
+
name: string;
|
|
12
|
+
whereTaxonomy: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CameraProps {
|
|
15
|
+
longitude: number;
|
|
16
|
+
latitude: number;
|
|
17
|
+
zoom: number;
|
|
18
|
+
bearing?: number;
|
|
19
|
+
pitch?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface UseFocusReturn extends Pick<UseMetaAtlasReturn, 'focusTo' | 'getCurrentFocus' | 'getCurrentFocusBuilding' | 'getCurrentFocusFloor' | 'getFocusTree'> {
|
|
22
|
+
getSites: () => SiteInfo[];
|
|
23
|
+
getBuildingList: (siteTaxonomy?: string) => BuildingInfo[];
|
|
24
|
+
getLevelList: (buildingTaxonomy: string) => LevelInfo[];
|
|
25
|
+
getRootSiteCameraProps: (platform?: 'web' | 'mobile', siteTaxonomy?: string) => CameraProps | null;
|
|
26
|
+
isReady: boolean;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useFocus/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,kBAAkB,EAC7D,SAAS,GACT,iBAAiB,GACjB,yBAAyB,GACzB,sBAAsB,GACtB,cAAc,CACf;IACC,QAAQ,EAAE,MAAM,QAAQ,EAAE,CAAC;IAC3B,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC;IAC3D,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IACxD,sBAAsB,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IACnG,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useMapEvents/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,wBAAgB,YAAY,IAAI,kBAAkB,CA2FjD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { clickedMetaFeature } from '../../../meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core';
|
|
2
|
+
export interface UseMapEventsReturn {
|
|
3
|
+
/**
|
|
4
|
+
* Register a handler for map click events.
|
|
5
|
+
* Handler receives the clickedMetaFeature from getLastClickedFeature() which includes
|
|
6
|
+
* both the metaFeature data and the raw MapMouseEvent.
|
|
7
|
+
* Returns a cleanup function to unregister the handler.
|
|
8
|
+
*/
|
|
9
|
+
onMapClick: (handler: (feature: clickedMetaFeature) => void) => () => void;
|
|
10
|
+
/**
|
|
11
|
+
* Register a handler for map load events.
|
|
12
|
+
* Returns a cleanup function to unregister the handler.
|
|
13
|
+
*/
|
|
14
|
+
onMapLoad: (handler: () => void) => () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Register a handler for map moveend events.
|
|
17
|
+
* Returns a cleanup function to unregister the handler.
|
|
18
|
+
*/
|
|
19
|
+
onMapMoveEnd: (handler: () => void) => () => void;
|
|
20
|
+
/**
|
|
21
|
+
* Register a handler once for map click events.
|
|
22
|
+
* Handler receives the clickedMetaFeature from getLastClickedFeature() which includes
|
|
23
|
+
* both the metaFeature data and the raw MapMouseEvent.
|
|
24
|
+
*/
|
|
25
|
+
onceMapClick: (handler: (feature: clickedMetaFeature) => void) => void;
|
|
26
|
+
isReady: boolean;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useMapEvents/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAE/F,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC3E;;;OAGG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC/C;;;OAGG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAClD;;;;OAIG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { UseMapOverlaysReturn } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for managing React-based map overlays (popups) on the MapLibre map.
|
|
4
|
+
* Provides a function to create popups with React components that automatically
|
|
5
|
+
* handle lifecycle and cleanup.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useMapOverlays(): UseMapOverlaysReturn;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useMapOverlays/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,oBAAoB,CAkHrD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { Popup, PopupOptions, LngLatLike, Marker, MarkerOptions } from 'maplibre-gl';
|
|
3
|
+
export interface UseMapOverlaysReturn {
|
|
4
|
+
/**
|
|
5
|
+
* Creates a React popup on the map at the specified location.
|
|
6
|
+
* The popup will automatically clean up React roots when closed.
|
|
7
|
+
*
|
|
8
|
+
* @param lngLat - The geographical location [longitude, latitude] or LngLat object
|
|
9
|
+
* @param component - React component to render inside the popup
|
|
10
|
+
* @param options - Optional popup configuration options
|
|
11
|
+
* @returns The popup instance, or null if map is not ready
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* const { createReactPopup } = useMapOverlays();
|
|
16
|
+
*
|
|
17
|
+
* const popup = createReactPopup(
|
|
18
|
+
* [lng, lat],
|
|
19
|
+
* <MyComponent title="Hello" onClick={handleClick} />,
|
|
20
|
+
* { closeButton: true, maxWidth: '400px' }
|
|
21
|
+
* );
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
createReactPopup: (lngLat: LngLatLike, component: ReactElement, options?: PopupOptions) => Popup | null;
|
|
25
|
+
/**
|
|
26
|
+
* Adds a user layer to the map.
|
|
27
|
+
* Internally uses addUserLayer from the SDK, which also sets up click handlers
|
|
28
|
+
* to update the last clicked feature when the layer is clicked.
|
|
29
|
+
*
|
|
30
|
+
* @param layer - The layer configuration object to add to the map
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* const { addLayer } = useMapOverlays();
|
|
35
|
+
*
|
|
36
|
+
* addLayer({
|
|
37
|
+
* id: 'my-custom-layer',
|
|
38
|
+
* type: 'fill',
|
|
39
|
+
* source: 'my-source',
|
|
40
|
+
* paint: {
|
|
41
|
+
* 'fill-color': '#ff0000',
|
|
42
|
+
* 'fill-opacity': 0.5
|
|
43
|
+
* }
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
addLayer: (layer: any) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Creates a marker on the map at the specified location.
|
|
50
|
+
* Can optionally attach a popup to the marker.
|
|
51
|
+
*
|
|
52
|
+
* @param lngLat - The geographical location [longitude, latitude] or LngLat object
|
|
53
|
+
* @param options - Optional marker configuration (element, etc.)
|
|
54
|
+
* @param popup - Optional popup to attach to the marker
|
|
55
|
+
* @returns The marker instance, or null if map is not ready
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* const { createMarker, createReactPopup } = useMapOverlays();
|
|
60
|
+
*
|
|
61
|
+
* const el = document.createElement('img');
|
|
62
|
+
* el.src = '/icons/marker.png';
|
|
63
|
+
* el.style.width = '40px';
|
|
64
|
+
* el.style.height = '40px';
|
|
65
|
+
*
|
|
66
|
+
* const popup = createReactPopup([lng, lat], <MyComponent />);
|
|
67
|
+
* const marker = createMarker(
|
|
68
|
+
* [lng, lat],
|
|
69
|
+
* { element: el },
|
|
70
|
+
* popup
|
|
71
|
+
* );
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
createMarker: (lngLat: LngLatLike, options?: MarkerOptions, popup?: Popup | null) => Marker | null;
|
|
75
|
+
/**
|
|
76
|
+
* Whether the map is ready for overlays
|
|
77
|
+
*/
|
|
78
|
+
isReady: boolean;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useMapOverlays/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,EAAE,CAChB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,YAAY,KACnB,KAAK,GAAG,IAAI,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YAAY,EAAE,CACZ,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,aAAa,EACvB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KACjB,MAAM,GAAG,IAAI,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useMetaAtlas/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,YAAY,IAAI,kBAAkB,CAsMjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useMetaAtlas/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useRouting/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,UAAU,IAAI,gBAAgB,CAyB7C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { UseMetaAtlasReturn } from '../../types';
|
|
2
|
+
export interface UseRoutingReturn extends Pick<UseMetaAtlasReturn, 'computeRoute' | 'computeRoutes' | 'setActiveRoute' | 'getActiveRoute' | 'highlightRouteSegment' | 'clearRoute' | 'clearMarker' | 'dropMarkerForRouting'> {
|
|
3
|
+
isReady: boolean;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useRouting/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,kBAAkB,EAC/D,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,uBAAuB,GACvB,YAAY,GACZ,aAAa,GACb,sBAAsB,CACvB;IACC,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useSearch/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,wBAAgB,SAAS,IAAI,eAAe,CAkD3C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { metaFeature } from '../../../meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core';
|
|
2
|
+
import { UseMetaAtlasReturn } from '../../types';
|
|
3
|
+
export interface UseSearchReturn extends Pick<UseMetaAtlasReturn, 'getMapObjectsByName' | 'getMapObjectById' | 'getMapObjectByLocalRef' | 'getMapObjectsByWhatTaxonomy' | 'getMapObjectsByWhereTaxonomy' | 'getMapObjectsByWhatAndWhereTaxonomy' | 'getMapObjectsInWhatTaxonomy' | 'getMapObjectsInWhereTaxonomy' | 'getMapObjectsByFilteredLocalRef' | 'getMapObjectMatchingLocalRef' | 'getMapObjectsMatchingLocalRefs' | 'getMapObjectsByWhatTaxonomyAPI' | 'getWhatTaxonomies'> {
|
|
4
|
+
isReady: boolean;
|
|
5
|
+
getAllMetaFeatures: () => Promise<metaFeature[]>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useSearch/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,EAC9D,qBAAqB,GACrB,kBAAkB,GAClB,wBAAwB,GACxB,6BAA6B,GAC7B,8BAA8B,GAC9B,qCAAqC,GACrC,6BAA6B,GAC7B,8BAA8B,GAC9B,iCAAiC,GACjC,8BAA8B,GAC9B,gCAAgC,GAChC,gCAAgC,GAChC,mBAAmB,CACpB;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAClD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useStampRally/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGrD,wBAAgB,aAAa,IAAI,mBAAmB,CAuHnD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface Stamp {
|
|
2
|
+
exhibitorId: string;
|
|
3
|
+
exhibitorName: string;
|
|
4
|
+
location: string;
|
|
5
|
+
description: string;
|
|
6
|
+
geojson: any;
|
|
7
|
+
order: number;
|
|
8
|
+
image: string;
|
|
9
|
+
question: string;
|
|
10
|
+
givenCode: string;
|
|
11
|
+
code: string;
|
|
12
|
+
finishedAt: string;
|
|
13
|
+
isCollected: Function;
|
|
14
|
+
}
|
|
15
|
+
export interface UseStampRallyReturn {
|
|
16
|
+
isReady: boolean;
|
|
17
|
+
setUpStampRally: (logos: {
|
|
18
|
+
name: string;
|
|
19
|
+
url: string;
|
|
20
|
+
}[]) => Promise<boolean>;
|
|
21
|
+
showStamps: (stamps: Stamp[]) => void;
|
|
22
|
+
hideStamps: () => void;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useStampRally/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/react/hooks/useStampRally/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,SAS/C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { MetaAtlasMap } from './MetaAtlasMap';
|
|
2
|
+
export type { MetaAtlasMapProps } from './types';
|
|
3
|
+
export { useMetaAtlasStore, useServicesReady } from './stores/useMetaAtlasStore';
|
|
4
|
+
export { useMapDataStore } from './stores/useMapDataStore';
|
|
5
|
+
export { useMetaAtlas } from './hooks/useMetaAtlas';
|
|
6
|
+
export { useFocus } from './hooks/useFocus';
|
|
7
|
+
export { useRouting } from './hooks/useRouting';
|
|
8
|
+
export { useSearch } from './hooks/useSearch';
|
|
9
|
+
export { useDrawing } from './hooks/useDrawing';
|
|
10
|
+
export { useMapEvents } from './hooks/useMapEvents';
|
|
11
|
+
export { useMapOverlays } from './hooks/useMapOverlays';
|
|
12
|
+
export { useStampRally } from './hooks/useStampRally';
|
|
13
|
+
export type { UseMetaAtlasReturn } from './types';
|
|
14
|
+
export type { UseFocusReturn, SiteInfo, BuildingInfo, LevelInfo, CameraProps } from './hooks/useFocus/types';
|
|
15
|
+
export type { UseRoutingReturn } from './hooks/useRouting/types';
|
|
16
|
+
export type { UseSearchReturn } from './hooks/useSearch/types';
|
|
17
|
+
export type { UseDrawingReturn } from './hooks/useDrawing/types';
|
|
18
|
+
export type { UseMapEventsReturn } from './hooks/useMapEvents/types';
|
|
19
|
+
export type { UseMapOverlaysReturn } from './hooks/useMapOverlays/types';
|
|
20
|
+
export type { UseStampRallyReturn, Stamp } from './hooks/useStampRally/types';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7G,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { metaFeature } from '../../meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core';
|
|
2
|
+
import { Marker, Popup } from 'maplibre-gl';
|
|
3
|
+
type Slices = 'booths' | 'allMetaFeatures';
|
|
4
|
+
export interface DataSlice<T> {
|
|
5
|
+
data: T | null;
|
|
6
|
+
loading: boolean;
|
|
7
|
+
error: string | null;
|
|
8
|
+
}
|
|
9
|
+
interface MapDataStore {
|
|
10
|
+
booths: DataSlice<metaFeature[]>;
|
|
11
|
+
allMetaFeatures: DataSlice<metaFeature[]>;
|
|
12
|
+
setData: <S extends Slices>(key: S, data: MapDataStore[S]['data']) => void;
|
|
13
|
+
setLoading: (key: Slices, loading: boolean) => void;
|
|
14
|
+
setError: (key: Slices, error: string | null) => void;
|
|
15
|
+
/**
|
|
16
|
+
* The currently active object on the map.
|
|
17
|
+
* Note: activeObject can differ from SDK's lastClickedFeature as activeObject can be updated programmatically
|
|
18
|
+
* (e.g., from search results, navigation, etc.) and may not always reflect the last map click.
|
|
19
|
+
*/
|
|
20
|
+
activeObject: metaFeature | null;
|
|
21
|
+
setActiveObject: (f: metaFeature | null) => void;
|
|
22
|
+
marker: Marker | null;
|
|
23
|
+
setMarker: (m: Marker | null) => void;
|
|
24
|
+
popup: Popup | null;
|
|
25
|
+
setPopup: (m: Popup | null) => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* MapData Store - Map Data State Management
|
|
29
|
+
*
|
|
30
|
+
* Zustand store as a global singleton for Map state.
|
|
31
|
+
* Used to access all cached data that need to be used among the components.
|
|
32
|
+
*/
|
|
33
|
+
export declare const useMapDataStore: import("zustand").UseBoundStore<import("zustand").StoreApi<MapDataStore>>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=useMapDataStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMapDataStore.d.ts","sourceRoot":"","sources":["../../../../src/react/stores/useMapDataStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,MAAM,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAG3C,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACjC,eAAe,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAG1C,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3E,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAEtD;;;;OAIG;IACH,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAEjD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAEtC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;CACrC;AAGD;;;;;GAKG;AAEH,eAAO,MAAM,eAAe,2EAsBzB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MetaAtlas Store - SDK State Management
|
|
3
|
+
*
|
|
4
|
+
* Zustand store as a global singleton for MetaAtlas SDK state.
|
|
5
|
+
* Components access this via hooks, not props or context providers.
|
|
6
|
+
*/
|
|
7
|
+
import { MetaAtlasSdk } from '../../meta-atlas-sdk/meta-atlas-sdk';
|
|
8
|
+
interface MetaAtlasState {
|
|
9
|
+
sdk: MetaAtlasSdk | null;
|
|
10
|
+
mapCoreReady: boolean;
|
|
11
|
+
routingReady: boolean;
|
|
12
|
+
searchReady: boolean;
|
|
13
|
+
error: string | null;
|
|
14
|
+
}
|
|
15
|
+
interface MetaAtlasActions {
|
|
16
|
+
setSdk: (sdk: MetaAtlasSdk | null) => void;
|
|
17
|
+
setMapCoreReady: (ready: boolean) => void;
|
|
18
|
+
setRoutingReady: (ready: boolean) => void;
|
|
19
|
+
setSearchReady: (ready: boolean) => void;
|
|
20
|
+
setError: (error: string | null) => void;
|
|
21
|
+
}
|
|
22
|
+
export declare const useMetaAtlasStore: import("zustand").UseBoundStore<import("zustand").StoreApi<MetaAtlasState & MetaAtlasActions>>;
|
|
23
|
+
export declare const useServicesReady: () => boolean;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=useMetaAtlasStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMetaAtlasStore.d.ts","sourceRoot":"","sources":["../../../../src/react/stores/useMetaAtlasStore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,UAAU,cAAc;IACtB,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1C;AAED,eAAO,MAAM,iBAAiB,gGAc3B,CAAC;AAGJ,eAAO,MAAM,gBAAgB,eAI5B,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import * as maplibregl from 'maplibre-gl';
|
|
3
|
+
import { StatusUpdateCallbackType } from '../../meta-atlas-sdk/MetaAtlasCore/fetch-published-json';
|
|
4
|
+
import { MetaAtlasSdk } from '../../meta-atlas-sdk/meta-atlas-sdk';
|
|
5
|
+
export interface MetaAtlasMapProps {
|
|
6
|
+
accessToken: string;
|
|
7
|
+
secretKey: string;
|
|
8
|
+
role?: string;
|
|
9
|
+
onLoad?: () => void;
|
|
10
|
+
onLoadFail?: (errorMessage: string) => void;
|
|
11
|
+
onRoutingStatusUpdate?: StatusUpdateCallbackType;
|
|
12
|
+
onSearchStatusUpdate?: StatusUpdateCallbackType;
|
|
13
|
+
initialViewState?: {
|
|
14
|
+
longitude?: number;
|
|
15
|
+
latitude?: number;
|
|
16
|
+
zoom?: number;
|
|
17
|
+
bearing?: number;
|
|
18
|
+
pitch?: number;
|
|
19
|
+
};
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export interface UseMetaAtlasReturn {
|
|
24
|
+
sdk: MetaAtlasSdk | null;
|
|
25
|
+
error: string | null;
|
|
26
|
+
map: maplibregl.Map | null;
|
|
27
|
+
focusTo: typeof MetaAtlasSdk.prototype.focusTo;
|
|
28
|
+
getCurrentFocus: typeof MetaAtlasSdk.prototype.getCurrentFocus;
|
|
29
|
+
getCurrentFocusBuilding: typeof MetaAtlasSdk.prototype.getCurrentFocusBuilding;
|
|
30
|
+
getCurrentFocusFloor: typeof MetaAtlasSdk.prototype.getCurrentFocusFloor;
|
|
31
|
+
getFocusTree: typeof MetaAtlasSdk.prototype.getFocusTree;
|
|
32
|
+
getMapObjectsByName: typeof MetaAtlasSdk.prototype.getMapObjectsByName;
|
|
33
|
+
getMapObjectById: typeof MetaAtlasSdk.prototype.getMapObjectById;
|
|
34
|
+
getMapObjectByLocalRef: typeof MetaAtlasSdk.prototype.getMapObjectByLocalRef;
|
|
35
|
+
getMapObjectsByWhatTaxonomy: typeof MetaAtlasSdk.prototype.getMapObjectsByWhatTaxonomy;
|
|
36
|
+
getMapObjectsByWhereTaxonomy: typeof MetaAtlasSdk.prototype.getMapObjectsByWhereTaxonomy;
|
|
37
|
+
getMapObjectsByWhatAndWhereTaxonomy: typeof MetaAtlasSdk.prototype.getMapObjectsByWhatAndWhereTaxonomy;
|
|
38
|
+
getMapObjectsInWhatTaxonomy: typeof MetaAtlasSdk.prototype.getMapObjectsInWhatTaxonomy;
|
|
39
|
+
getMapObjectsInWhereTaxonomy: typeof MetaAtlasSdk.prototype.getMapObjectsInWhereTaxonomy;
|
|
40
|
+
getMapObjectsByFilteredLocalRef: typeof MetaAtlasSdk.prototype.getMapObjectsByFilteredLocalRef;
|
|
41
|
+
getMapObjectMatchingLocalRef: typeof MetaAtlasSdk.prototype.getMapObjectMatchingLocalRef;
|
|
42
|
+
getMapObjectsMatchingLocalRefs: typeof MetaAtlasSdk.prototype.getMapObjectsMatchingLocalRefs;
|
|
43
|
+
getMapObjectsByWhatTaxonomyAPI: typeof MetaAtlasSdk.prototype.getMapObjectsByWhatTaxonomyAPI;
|
|
44
|
+
getWhatTaxonomies: () => any;
|
|
45
|
+
filterWhereDimension: typeof MetaAtlasSdk.prototype.filterWhereDimension;
|
|
46
|
+
filterLayersByType: typeof MetaAtlasSdk.prototype.filterLayersByType;
|
|
47
|
+
filterLayersByCategories: typeof MetaAtlasSdk.prototype.filterLayersByCategories;
|
|
48
|
+
styleLayersByType: typeof MetaAtlasSdk.prototype.styleLayersByType;
|
|
49
|
+
clearStyleLayersByType: typeof MetaAtlasSdk.prototype.clearStyleLayersByType;
|
|
50
|
+
getLastClickedFeature: typeof MetaAtlasSdk.prototype.getLastClickedFeature;
|
|
51
|
+
getLastClickedDrawing: typeof MetaAtlasSdk.prototype.getLastClickedDrawing;
|
|
52
|
+
drawGeometryOnMap: typeof MetaAtlasSdk.prototype.drawGeometryOnMap;
|
|
53
|
+
addDrawingsToBaseMap: typeof MetaAtlasSdk.prototype.addDrawingsToBaseMap;
|
|
54
|
+
editDrawing: typeof MetaAtlasSdk.prototype.editDrawing;
|
|
55
|
+
removeDrawing: typeof MetaAtlasSdk.prototype.removeDrawing;
|
|
56
|
+
getDrawingById: typeof MetaAtlasSdk.prototype.getDrawingById;
|
|
57
|
+
isInDrawMode: typeof MetaAtlasSdk.prototype.isInDrawMode;
|
|
58
|
+
computeRoute: typeof MetaAtlasSdk.prototype.computeRoute;
|
|
59
|
+
computeRoutes: typeof MetaAtlasSdk.prototype.computeRoutes;
|
|
60
|
+
setActiveRoute: typeof MetaAtlasSdk.prototype.setActiveRoute;
|
|
61
|
+
getActiveRoute: typeof MetaAtlasSdk.prototype.getActiveRoute;
|
|
62
|
+
highlightRouteSegment: typeof MetaAtlasSdk.prototype.highlightRouteSegment;
|
|
63
|
+
clearRoute: typeof MetaAtlasSdk.prototype.clearRoute;
|
|
64
|
+
dropPin: typeof MetaAtlasSdk.prototype.dropPin;
|
|
65
|
+
dropMarkerForRouting: typeof MetaAtlasSdk.prototype.dropMarkerForRouting;
|
|
66
|
+
clearMarker: typeof MetaAtlasSdk.prototype.clearMarker;
|
|
67
|
+
hidePin: typeof MetaAtlasSdk.prototype.hidePin;
|
|
68
|
+
showPin: typeof MetaAtlasSdk.prototype.showPin;
|
|
69
|
+
clearPin: typeof MetaAtlasSdk.prototype.clearPin;
|
|
70
|
+
clearPins: typeof MetaAtlasSdk.prototype.clearPins;
|
|
71
|
+
addUserLayer: typeof MetaAtlasSdk.prototype.addUserLayer;
|
|
72
|
+
getCoordinates: typeof MetaAtlasSdk.prototype.getCoordinates;
|
|
73
|
+
getLength: typeof MetaAtlasSdk.prototype.getLength;
|
|
74
|
+
getArea: typeof MetaAtlasSdk.prototype.getArea;
|
|
75
|
+
changeTerminalInFocusToUserViewpoint: typeof MetaAtlasSdk.prototype.changeTerminalInFocusToUserViewpoint;
|
|
76
|
+
isLocationWithinHongKong: typeof MetaAtlasSdk.prototype.isLocationWithinHongKong;
|
|
77
|
+
getMap3D: typeof MetaAtlasSdk.prototype.getMap3D;
|
|
78
|
+
logAnalyticsEvent: typeof MetaAtlasSdk.prototype.logAnalyticsEvent;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAEhC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IACjD,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAGhD,gBAAgB,CAAC,EAAE;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAGF,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAGD,MAAM,WAAW,kBAAkB;IAEjC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAGzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC;IAG3B,OAAO,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C,eAAe,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC;IAC/D,uBAAuB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,uBAAuB,CAAC;IAC/E,oBAAoB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACzE,YAAY,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;IAGzD,mBAAmB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;IACvE,gBAAgB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC;IACjE,sBAAsB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,sBAAsB,CAAC;IAC7E,2BAA2B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,2BAA2B,CAAC;IACvF,4BAA4B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC;IACzF,mCAAmC,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,mCAAmC,CAAC;IACvG,2BAA2B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,2BAA2B,CAAC;IACvF,4BAA4B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC;IACzF,+BAA+B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,+BAA+B,CAAC;IAC/F,4BAA4B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC;IACzF,8BAA8B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC;IAC7F,8BAA8B,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC;IAC7F,iBAAiB,EAAE,MAAM,GAAG,CAAC;IAG7B,oBAAoB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACzE,kBAAkB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACrE,wBAAwB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,wBAAwB,CAAC;IACjF,iBAAiB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACnE,sBAAsB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,sBAAsB,CAAC;IAG7E,qBAAqB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC3E,qBAAqB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAG3E,iBAAiB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACnE,oBAAoB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACzE,WAAW,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC;IACvD,aAAa,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC;IAC3D,cAAc,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC;IAC7D,YAAY,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;IAGzD,YAAY,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;IACzD,aAAa,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC;IAC3D,cAAc,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC;IAC7D,cAAc,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC;IAC7D,qBAAqB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC3E,UAAU,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC;IAGrD,OAAO,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C,oBAAoB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,oBAAoB,CAAC;IACzE,WAAW,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC;IACvD,OAAO,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C,OAAO,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C,QAAQ,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;IACjD,SAAS,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC;IAGnD,YAAY,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;IAGzD,cAAc,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC;IAC7D,SAAS,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC;IACnD,OAAO,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C,oCAAoC,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,oCAAoC,CAAC;IACzG,wBAAwB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,wBAAwB,CAAC;IAGjF,QAAQ,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;IAGjD,iBAAiB,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC;CACpE"}
|