wovvmap-webview-bridge 1.0.28 → 1.0.39
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 +1563 -221
- package/dist/handlers/WebBridgeHandlers.d.ts +3 -9
- package/dist/handlers/WebBridgeHandlers.d.ts.map +1 -1
- package/dist/handlers/WebBridgeHandlers.js +94 -51
- package/dist/index.d.ts +19 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -3
- package/dist/types/types.d.ts +280 -302
- package/dist/types/types.d.ts.map +1 -1
- package/dist/web.d.ts +19 -3
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +19 -3
- package/dist/webviewBridge/BridgeService.d.ts +34 -15
- package/dist/webviewBridge/BridgeService.d.ts.map +1 -1
- package/dist/webviewBridge/BridgeService.js +227 -45
- package/dist/webviewBridge/WebViewBridgeRef.d.ts +3 -3
- package/dist/webviewBridge/WebViewBridgeRef.d.ts.map +1 -1
- package/dist/webviewBridge/WebViewBridgeRef.js +1 -1
- package/dist/webviewBridge/WebViewScreen.d.ts.map +1 -1
- package/dist/webviewBridge/services/DirectionBridgeService.d.ts +32 -0
- package/dist/webviewBridge/services/DirectionBridgeService.d.ts.map +1 -0
- package/dist/webviewBridge/services/DirectionBridgeService.js +72 -0
- package/dist/webviewBridge/services/FloorBridgeService.d.ts +4 -0
- package/dist/webviewBridge/services/FloorBridgeService.d.ts.map +1 -0
- package/dist/webviewBridge/services/FloorBridgeService.js +11 -0
- package/dist/webviewBridge/services/SelectionBridgeService.d.ts +10 -0
- package/dist/webviewBridge/services/SelectionBridgeService.d.ts.map +1 -0
- package/dist/webviewBridge/services/SelectionBridgeService.js +43 -0
- package/dist/webviewBridge/services/StepNavigationBridgeService.d.ts +7 -0
- package/dist/webviewBridge/services/StepNavigationBridgeService.d.ts.map +1 -0
- package/dist/webviewBridge/services/StepNavigationBridgeService.js +15 -0
- package/dist/webviewBridge/services/ViewerBridgeService.d.ts +8 -0
- package/dist/webviewBridge/services/ViewerBridgeService.d.ts.map +1 -0
- package/dist/webviewBridge/services/ViewerBridgeService.js +20 -0
- package/dist/webviewBridge/services/ZoomBridgeService.d.ts +5 -0
- package/dist/webviewBridge/services/ZoomBridgeService.d.ts.map +1 -0
- package/dist/webviewBridge/services/ZoomBridgeService.js +9 -0
- package/dist/webviewBridge/store/useAmenityStore.d.ts +20 -0
- package/dist/webviewBridge/store/useAmenityStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useAmenityStore.js +6 -0
- package/dist/webviewBridge/store/useBridgeStorage.d.ts +14 -0
- package/dist/webviewBridge/store/useBridgeStorage.d.ts.map +1 -0
- package/dist/webviewBridge/store/useBridgeStorage.js +13 -0
- package/dist/webviewBridge/store/useCategoryStore.d.ts +20 -0
- package/dist/webviewBridge/store/useCategoryStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useCategoryStore.js +6 -0
- package/dist/webviewBridge/store/useDirectionStore.d.ts +55 -0
- package/dist/webviewBridge/store/useDirectionStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useDirectionStore.js +35 -0
- package/dist/webviewBridge/store/useDirectionsRouteRequestStore.d.ts +14 -0
- package/dist/webviewBridge/store/useDirectionsRouteRequestStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useDirectionsRouteRequestStore.js +25 -0
- package/dist/webviewBridge/store/useFloorStore.d.ts +18 -0
- package/dist/webviewBridge/store/useFloorStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useFloorStore.js +8 -0
- package/dist/webviewBridge/store/useNavigationStore.d.ts +23 -0
- package/dist/webviewBridge/store/useNavigationStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useNavigationStore.js +18 -0
- package/dist/webviewBridge/store/useNodePointStore.d.ts +42 -0
- package/dist/webviewBridge/store/useNodePointStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useNodePointStore.js +19 -0
- package/dist/webviewBridge/store/useSelectionStore.d.ts +35 -0
- package/dist/webviewBridge/store/useSelectionStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useSelectionStore.js +32 -0
- package/dist/webviewBridge/store/useSubCategoryStore.d.ts +20 -0
- package/dist/webviewBridge/store/useSubCategoryStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useSubCategoryStore.js +6 -0
- package/dist/webviewBridge/store/useViewerStore.d.ts +35 -0
- package/dist/webviewBridge/store/useViewerStore.d.ts.map +1 -0
- package/dist/webviewBridge/store/useViewerStore.js +35 -0
- package/dist/webviewBridge/useBridgeStorage.d.ts +45 -0
- package/dist/webviewBridge/useBridgeStorage.d.ts.map +1 -0
- package/dist/webviewBridge/useBridgeStorage.js +43 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSubCategoryStore.d.ts","sourceRoot":"","sources":["../../../src/webviewBridge/store/useSubCategoryStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,UAAU,gBAAgB;IACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C;;;OAGG;IACH,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED,eAAO,MAAM,mBAAmB;;;;;;;;EAK/B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { CameraView, TextType, ViewMode, ViewerBridgeState } from "../../types/types";
|
|
2
|
+
export type ViewerConfig = {
|
|
3
|
+
apiVersion?: string;
|
|
4
|
+
viewMode?: ViewMode;
|
|
5
|
+
cameraView?: CameraView;
|
|
6
|
+
textType?: TextType;
|
|
7
|
+
show2DIcon?: boolean;
|
|
8
|
+
};
|
|
9
|
+
interface ViewerStore {
|
|
10
|
+
apiVersion: string;
|
|
11
|
+
viewMode: ViewMode;
|
|
12
|
+
cameraView: CameraView;
|
|
13
|
+
textType: TextType;
|
|
14
|
+
show2DIcon: boolean;
|
|
15
|
+
isMapParsed: boolean;
|
|
16
|
+
isLoading: boolean;
|
|
17
|
+
setApiVersion: (apiVersion: string) => void;
|
|
18
|
+
setViewMode: (viewMode: ViewMode) => void;
|
|
19
|
+
setCameraView: (cameraView: CameraView) => void;
|
|
20
|
+
setTextType: (textType: TextType) => void;
|
|
21
|
+
setShow2DIcon: (show2DIcon: boolean) => void;
|
|
22
|
+
setViewerConfig: (config: ViewerConfig) => void;
|
|
23
|
+
setViewerState: (state: ViewerBridgeState) => void;
|
|
24
|
+
}
|
|
25
|
+
export declare const useViewerStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<ViewerStore>, "subscribe"> & {
|
|
26
|
+
subscribe: {
|
|
27
|
+
(listener: (selectedState: ViewerStore, previousSelectedState: ViewerStore) => void): () => void;
|
|
28
|
+
<U>(selector: (state: ViewerStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
|
|
29
|
+
equalityFn?: ((a: U, b: U) => boolean) | undefined;
|
|
30
|
+
fireImmediately?: boolean;
|
|
31
|
+
} | undefined): () => void;
|
|
32
|
+
};
|
|
33
|
+
}>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=useViewerStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useViewerStore.d.ts","sourceRoot":"","sources":["../../../src/webviewBridge/store/useViewerStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IAEnB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,cAAc,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,cAAc;;;;;;;;EAkC1B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { subscribeWithSelector } from "zustand/middleware";
|
|
3
|
+
export const useViewerStore = create()(subscribeWithSelector((set) => ({
|
|
4
|
+
apiVersion: "v2",
|
|
5
|
+
viewMode: "3D",
|
|
6
|
+
cameraView: "street",
|
|
7
|
+
textType: "3D",
|
|
8
|
+
show2DIcon: true,
|
|
9
|
+
isMapParsed: false,
|
|
10
|
+
isLoading: false,
|
|
11
|
+
setApiVersion: (apiVersion) => set({ apiVersion }),
|
|
12
|
+
setViewMode: (viewMode) => set({ viewMode }),
|
|
13
|
+
setCameraView: (cameraView) => set({ cameraView }),
|
|
14
|
+
setTextType: (textType) => set({ textType }),
|
|
15
|
+
setShow2DIcon: (show2DIcon) => set({ show2DIcon }),
|
|
16
|
+
setViewerConfig: (config) => set((state) => {
|
|
17
|
+
var _a, _b, _c, _d, _e;
|
|
18
|
+
return ({
|
|
19
|
+
apiVersion: (_a = config.apiVersion) !== null && _a !== void 0 ? _a : state.apiVersion,
|
|
20
|
+
viewMode: (_b = config.viewMode) !== null && _b !== void 0 ? _b : state.viewMode,
|
|
21
|
+
cameraView: (_c = config.cameraView) !== null && _c !== void 0 ? _c : state.cameraView,
|
|
22
|
+
textType: (_d = config.textType) !== null && _d !== void 0 ? _d : state.textType,
|
|
23
|
+
show2DIcon: (_e = config.show2DIcon) !== null && _e !== void 0 ? _e : state.show2DIcon,
|
|
24
|
+
});
|
|
25
|
+
}),
|
|
26
|
+
setViewerState: (state) => set({
|
|
27
|
+
apiVersion: state.apiVersion,
|
|
28
|
+
viewMode: state.viewMode,
|
|
29
|
+
cameraView: state.cameraView,
|
|
30
|
+
textType: state.textType,
|
|
31
|
+
show2DIcon: state.show2DIcon,
|
|
32
|
+
isMapParsed: state.isMapParsed,
|
|
33
|
+
isLoading: state.isLoading,
|
|
34
|
+
}),
|
|
35
|
+
})));
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { NodePoint, Category, SubCategory, Amenity, OffersNodeMap, FloorImage } from '../types/types';
|
|
2
|
+
export interface BridgeStorageState {
|
|
3
|
+
isMapLoaded: boolean;
|
|
4
|
+
isBridgeLoaded: boolean;
|
|
5
|
+
searchablePoints: NodePoint[];
|
|
6
|
+
pointsByKey: Record<string, NodePoint>;
|
|
7
|
+
amenities: Record<string, Amenity>;
|
|
8
|
+
categories: Record<string, Category>;
|
|
9
|
+
subCategories: Record<string, SubCategory>;
|
|
10
|
+
offers: OffersNodeMap;
|
|
11
|
+
activeFloor: number | null;
|
|
12
|
+
floors: FloorImage[];
|
|
13
|
+
stepByStepList: any[];
|
|
14
|
+
pathSummary: any;
|
|
15
|
+
activeSelectionType: 'category' | 'subcategory' | 'amenity' | null;
|
|
16
|
+
activeSelectionId: string | number | null;
|
|
17
|
+
categoryId: string | null;
|
|
18
|
+
subCategoryId: string | null;
|
|
19
|
+
selectedStoreId: string | null;
|
|
20
|
+
imageBaseUrl: string | null;
|
|
21
|
+
setIsMapLoaded: (loaded: boolean) => void;
|
|
22
|
+
setIsBridgeLoaded: (loaded: boolean) => void;
|
|
23
|
+
setSearchablePoints: (points: NodePoint[]) => void;
|
|
24
|
+
setPointsByKey: (pointsByKey: Record<string, NodePoint>) => void;
|
|
25
|
+
setAmenities: (amenities: Record<string, Amenity>) => void;
|
|
26
|
+
setCategories: (categories: Record<string, Category>) => void;
|
|
27
|
+
setSubCategories: (subCategories: Record<string, SubCategory>) => void;
|
|
28
|
+
setOffers: (offers: OffersNodeMap) => void;
|
|
29
|
+
setActiveFloor: (activeFloor: number | null) => void;
|
|
30
|
+
setFloors: (floors: FloorImage[]) => void;
|
|
31
|
+
setStepByStepList: (list: any[]) => void;
|
|
32
|
+
setPathSummary: (summary: any) => void;
|
|
33
|
+
setActiveSelectionType: (type: 'category' | 'subcategory' | 'amenity' | null) => void;
|
|
34
|
+
setActiveSelectionId: (id: string | number | null) => void;
|
|
35
|
+
setCategoryId: (id: string | null) => void;
|
|
36
|
+
setSubCategoryId: (id: string | null) => void;
|
|
37
|
+
setSelectedStoreId: (id: string | null) => void;
|
|
38
|
+
setImageBaseUrl: (url: string | null) => void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Zustand store for holding bridge states on the host application side.
|
|
42
|
+
* @usecase Exposes reactive states (like loaded state, floors, amenities) to the host UI.
|
|
43
|
+
*/
|
|
44
|
+
export declare const useBridgeStorage: import("zustand").UseBoundStore<import("zustand").StoreApi<BridgeStorageState>>;
|
|
45
|
+
//# sourceMappingURL=useBridgeStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBridgeStorage.d.ts","sourceRoot":"","sources":["../../src/webviewBridge/useBridgeStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { create } from 'zustand';
|
|
2
|
+
/**
|
|
3
|
+
* @description Zustand store for holding bridge states on the host application side.
|
|
4
|
+
* @usecase Exposes reactive states (like loaded state, floors, amenities) to the host UI.
|
|
5
|
+
*/
|
|
6
|
+
export const useBridgeStorage = create((set) => ({
|
|
7
|
+
isMapLoaded: false,
|
|
8
|
+
isBridgeLoaded: false,
|
|
9
|
+
searchablePoints: [],
|
|
10
|
+
pointsByKey: {},
|
|
11
|
+
amenities: {},
|
|
12
|
+
categories: {},
|
|
13
|
+
subCategories: {},
|
|
14
|
+
offers: {},
|
|
15
|
+
activeFloor: null,
|
|
16
|
+
floors: [],
|
|
17
|
+
stepByStepList: [],
|
|
18
|
+
pathSummary: null,
|
|
19
|
+
activeSelectionType: null,
|
|
20
|
+
activeSelectionId: null,
|
|
21
|
+
categoryId: null,
|
|
22
|
+
subCategoryId: null,
|
|
23
|
+
selectedStoreId: null,
|
|
24
|
+
imageBaseUrl: null,
|
|
25
|
+
setIsMapLoaded: (loaded) => set({ isMapLoaded: loaded }),
|
|
26
|
+
setIsBridgeLoaded: (loaded) => set({ isBridgeLoaded: loaded }),
|
|
27
|
+
setSearchablePoints: (points) => set({ searchablePoints: points }),
|
|
28
|
+
setPointsByKey: (pointsByKey) => set({ pointsByKey }),
|
|
29
|
+
setAmenities: (amenities) => set({ amenities }),
|
|
30
|
+
setCategories: (categories) => set({ categories }),
|
|
31
|
+
setSubCategories: (subCategories) => set({ subCategories }),
|
|
32
|
+
setOffers: (offers) => set({ offers }),
|
|
33
|
+
setActiveFloor: (activeFloor) => set({ activeFloor }),
|
|
34
|
+
setFloors: (floors) => set({ floors }),
|
|
35
|
+
setStepByStepList: (list) => set({ stepByStepList: list }),
|
|
36
|
+
setPathSummary: (summary) => set({ pathSummary: summary }),
|
|
37
|
+
setActiveSelectionType: (type) => set({ activeSelectionType: type }),
|
|
38
|
+
setActiveSelectionId: (id) => set({ activeSelectionId: id }),
|
|
39
|
+
setCategoryId: (id) => set({ categoryId: id }),
|
|
40
|
+
setSubCategoryId: (id) => set({ subCategoryId: id }),
|
|
41
|
+
setSelectedStoreId: (id) => set({ selectedStoreId: id }),
|
|
42
|
+
setImageBaseUrl: (url) => set({ imageBaseUrl: url }),
|
|
43
|
+
}));
|