venue-react 1.8.0-next.1 → 1.8.0-next.10
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/dist/index.d.mts +7 -5
- package/dist/index.d.ts +7 -5
- package/dist/index.js +44 -33
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +42 -33
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -4,6 +4,7 @@ export * from 'venue-js';
|
|
|
4
4
|
export { AmenityFeature, AnchorFeature, EventFeature, FeaturePopulatedResponseMap, FeatureResponseMap, FeatureType, KioskFeature, LabelFeature, LevelFeature, OccupantFeature, PrivilegeFeature, PromotionFeature, SectionFeature, TaxonomyFeature, UnitFeature, VenueClientOptions, VenueDataClient, VenueFeature } from 'venue-js';
|
|
5
5
|
import * as React$1 from 'react';
|
|
6
6
|
import React__default, { ComponentProps } from 'react';
|
|
7
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
7
8
|
import { UseQueryResult } from '@tanstack/react-query';
|
|
8
9
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
10
|
|
|
@@ -45,10 +46,7 @@ declare const useVenueContext: () => VenueContextValue;
|
|
|
45
46
|
|
|
46
47
|
declare const useVenueDataClient: () => VenueDataClient;
|
|
47
48
|
|
|
48
|
-
declare const useGetList: <T extends FeatureType>(featureType: T, params?: FilterParams, options?: FeatureQueryOptions) => UseQueryResult<FeatureResponseMap[T][]
|
|
49
|
-
startWatch: () => void;
|
|
50
|
-
stopWatch: () => void;
|
|
51
|
-
};
|
|
49
|
+
declare const useGetList: <T extends FeatureType>(featureType: T, params?: FilterParams, options?: FeatureQueryOptions) => UseQueryResult<FeatureResponseMap[T][]>;
|
|
52
50
|
|
|
53
51
|
declare function useGetOne<T extends FeatureType>(featureType: T, id: string | undefined, params: FindParams & {
|
|
54
52
|
populate: true;
|
|
@@ -64,6 +62,10 @@ declare const useWatchDeliveryApi: <T extends FeatureType>(featureType: T, refet
|
|
|
64
62
|
stopWatch: () => void;
|
|
65
63
|
};
|
|
66
64
|
|
|
65
|
+
declare const useGetScreensavers: () => _tanstack_react_query.UseQueryResult<venue_js.SponsoredContentFeature[]>;
|
|
66
|
+
|
|
67
|
+
declare const useGetFooterBanners: () => _tanstack_react_query.UseQueryResult<venue_js.SponsoredContentFeature[]>;
|
|
68
|
+
|
|
67
69
|
type VenueMapProps = ComponentProps<"div"> & {
|
|
68
70
|
containerId?: string;
|
|
69
71
|
mapId?: string;
|
|
@@ -73,4 +75,4 @@ declare const VenueMap: React__default.MemoExoticComponent<({ containerId, mapId
|
|
|
73
75
|
|
|
74
76
|
declare function useVenueMap(idMap?: string): venue_js.IndoorMap | null;
|
|
75
77
|
|
|
76
|
-
export { type UseGetListParams, type UseGetListResult, type UseGetOneParams, type UseGetOneResult, VenueContext, type VenueContextValue, VenueMap, type VenueMapProps, VenueProvider, type VenueProviderProps, useGetList, useGetOne, useVenueContext, useVenueDataClient, useVenueMap, useWatchDeliveryApi };
|
|
78
|
+
export { type UseGetListParams, type UseGetListResult, type UseGetOneParams, type UseGetOneResult, VenueContext, type VenueContextValue, VenueMap, type VenueMapProps, VenueProvider, type VenueProviderProps, useGetFooterBanners, useGetList, useGetOne, useGetScreensavers, useVenueContext, useVenueDataClient, useVenueMap, useWatchDeliveryApi };
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from 'venue-js';
|
|
|
4
4
|
export { AmenityFeature, AnchorFeature, EventFeature, FeaturePopulatedResponseMap, FeatureResponseMap, FeatureType, KioskFeature, LabelFeature, LevelFeature, OccupantFeature, PrivilegeFeature, PromotionFeature, SectionFeature, TaxonomyFeature, UnitFeature, VenueClientOptions, VenueDataClient, VenueFeature } from 'venue-js';
|
|
5
5
|
import * as React$1 from 'react';
|
|
6
6
|
import React__default, { ComponentProps } from 'react';
|
|
7
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
7
8
|
import { UseQueryResult } from '@tanstack/react-query';
|
|
8
9
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
10
|
|
|
@@ -45,10 +46,7 @@ declare const useVenueContext: () => VenueContextValue;
|
|
|
45
46
|
|
|
46
47
|
declare const useVenueDataClient: () => VenueDataClient;
|
|
47
48
|
|
|
48
|
-
declare const useGetList: <T extends FeatureType>(featureType: T, params?: FilterParams, options?: FeatureQueryOptions) => UseQueryResult<FeatureResponseMap[T][]
|
|
49
|
-
startWatch: () => void;
|
|
50
|
-
stopWatch: () => void;
|
|
51
|
-
};
|
|
49
|
+
declare const useGetList: <T extends FeatureType>(featureType: T, params?: FilterParams, options?: FeatureQueryOptions) => UseQueryResult<FeatureResponseMap[T][]>;
|
|
52
50
|
|
|
53
51
|
declare function useGetOne<T extends FeatureType>(featureType: T, id: string | undefined, params: FindParams & {
|
|
54
52
|
populate: true;
|
|
@@ -64,6 +62,10 @@ declare const useWatchDeliveryApi: <T extends FeatureType>(featureType: T, refet
|
|
|
64
62
|
stopWatch: () => void;
|
|
65
63
|
};
|
|
66
64
|
|
|
65
|
+
declare const useGetScreensavers: () => _tanstack_react_query.UseQueryResult<venue_js.SponsoredContentFeature[]>;
|
|
66
|
+
|
|
67
|
+
declare const useGetFooterBanners: () => _tanstack_react_query.UseQueryResult<venue_js.SponsoredContentFeature[]>;
|
|
68
|
+
|
|
67
69
|
type VenueMapProps = ComponentProps<"div"> & {
|
|
68
70
|
containerId?: string;
|
|
69
71
|
mapId?: string;
|
|
@@ -73,4 +75,4 @@ declare const VenueMap: React__default.MemoExoticComponent<({ containerId, mapId
|
|
|
73
75
|
|
|
74
76
|
declare function useVenueMap(idMap?: string): venue_js.IndoorMap | null;
|
|
75
77
|
|
|
76
|
-
export { type UseGetListParams, type UseGetListResult, type UseGetOneParams, type UseGetOneResult, VenueContext, type VenueContextValue, VenueMap, type VenueMapProps, VenueProvider, type VenueProviderProps, useGetList, useGetOne, useVenueContext, useVenueDataClient, useVenueMap, useWatchDeliveryApi };
|
|
78
|
+
export { type UseGetListParams, type UseGetListResult, type UseGetOneParams, type UseGetOneResult, VenueContext, type VenueContextValue, VenueMap, type VenueMapProps, VenueProvider, type VenueProviderProps, useGetFooterBanners, useGetList, useGetOne, useGetScreensavers, useVenueContext, useVenueDataClient, useVenueMap, useWatchDeliveryApi };
|
package/dist/index.js
CHANGED
|
@@ -34,8 +34,10 @@ __export(index_exports, {
|
|
|
34
34
|
VenueContext: () => VenueContext,
|
|
35
35
|
VenueMap: () => VenueMap,
|
|
36
36
|
VenueProvider: () => VenueProvider,
|
|
37
|
+
useGetFooterBanners: () => useGetFooterBanners,
|
|
37
38
|
useGetList: () => useGetList,
|
|
38
39
|
useGetOne: () => useGetOne,
|
|
40
|
+
useGetScreensavers: () => useGetScreensavers,
|
|
39
41
|
useVenueContext: () => useVenueContext,
|
|
40
42
|
useVenueDataClient: () => useVenueDataClient,
|
|
41
43
|
useVenueMap: () => useVenueMap,
|
|
@@ -106,31 +108,6 @@ var useVenueDataClient = () => {
|
|
|
106
108
|
|
|
107
109
|
// src/hooks/useGetList.ts
|
|
108
110
|
var import_react_query = require("@tanstack/react-query");
|
|
109
|
-
|
|
110
|
-
// src/hooks/useWatchDeliveryApi.ts
|
|
111
|
-
var import_react3 = require("react");
|
|
112
|
-
var useWatchDeliveryApi = (featureType, refetchInterval = 5 * 60 * 1e3, options) => {
|
|
113
|
-
const autoStart = options.autoStart ?? true;
|
|
114
|
-
const enabled = options.enabled ?? true;
|
|
115
|
-
const client = useVenueDataClient();
|
|
116
|
-
const startWatch = (0, import_react3.useCallback)(() => {
|
|
117
|
-
if (enabled) {
|
|
118
|
-
client.registerObserver(featureType, refetchInterval);
|
|
119
|
-
}
|
|
120
|
-
}, [client, featureType, enabled, refetchInterval]);
|
|
121
|
-
const stopWatch = (0, import_react3.useCallback)(() => {
|
|
122
|
-
client.destroyObserver(featureType);
|
|
123
|
-
}, [client, featureType]);
|
|
124
|
-
(0, import_react3.useEffect)(() => {
|
|
125
|
-
if (enabled && autoStart) startWatch();
|
|
126
|
-
return () => {
|
|
127
|
-
stopWatch();
|
|
128
|
-
};
|
|
129
|
-
}, [startWatch, stopWatch, enabled, autoStart]);
|
|
130
|
-
return { startWatch, stopWatch };
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// src/hooks/useGetList.ts
|
|
134
111
|
var useGetList = (featureType, params = {}, options = {}) => {
|
|
135
112
|
const client = useVenueDataClient();
|
|
136
113
|
const queryOptions = client.createFilterByTypeQueryOptions(
|
|
@@ -138,17 +115,10 @@ var useGetList = (featureType, params = {}, options = {}) => {
|
|
|
138
115
|
params,
|
|
139
116
|
options
|
|
140
117
|
);
|
|
141
|
-
|
|
142
|
-
const { stopWatch, startWatch } = useWatchDeliveryApi(featureType, refetchInterval, { enabled: refetchInterval > 0 });
|
|
143
|
-
const queryResult = (0, import_react_query.useQuery)({
|
|
118
|
+
return (0, import_react_query.useQuery)({
|
|
144
119
|
...queryOptions,
|
|
145
120
|
...options
|
|
146
121
|
});
|
|
147
|
-
return {
|
|
148
|
-
...queryResult,
|
|
149
|
-
startWatch,
|
|
150
|
-
stopWatch
|
|
151
|
-
};
|
|
152
122
|
};
|
|
153
123
|
|
|
154
124
|
// src/hooks/useGetOne.ts
|
|
@@ -168,6 +138,45 @@ function useGetOne(featureType, id, params = {}, options = {}) {
|
|
|
168
138
|
});
|
|
169
139
|
}
|
|
170
140
|
|
|
141
|
+
// src/hooks/useWatchDeliveryApi.ts
|
|
142
|
+
var import_react3 = require("react");
|
|
143
|
+
var useWatchDeliveryApi = (featureType, refetchInterval = 5 * 60 * 1e3, options) => {
|
|
144
|
+
const autoStart = options.autoStart ?? true;
|
|
145
|
+
const enabled = options.enabled ?? true;
|
|
146
|
+
const client = useVenueDataClient();
|
|
147
|
+
const startWatch = (0, import_react3.useCallback)(() => {
|
|
148
|
+
if (enabled) {
|
|
149
|
+
client.registerObserver(featureType, refetchInterval);
|
|
150
|
+
}
|
|
151
|
+
}, [client, featureType, enabled, refetchInterval]);
|
|
152
|
+
const stopWatch = (0, import_react3.useCallback)(() => {
|
|
153
|
+
client.destroyObserver(featureType);
|
|
154
|
+
}, [client, featureType]);
|
|
155
|
+
(0, import_react3.useEffect)(() => {
|
|
156
|
+
if (enabled && autoStart) startWatch();
|
|
157
|
+
return () => {
|
|
158
|
+
stopWatch();
|
|
159
|
+
};
|
|
160
|
+
}, [startWatch, stopWatch, enabled, autoStart]);
|
|
161
|
+
return { startWatch, stopWatch };
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// src/hooks/queries/useGetScreensavers.ts
|
|
165
|
+
var useGetScreensavers = () => {
|
|
166
|
+
return useGetList("sponsored-content", {
|
|
167
|
+
filters: { placement_type: "SCREENSAVER" },
|
|
168
|
+
sort: { key: "order", order: "asc" }
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// src/hooks/queries/useGetFooterBanners.ts
|
|
173
|
+
var useGetFooterBanners = () => {
|
|
174
|
+
return useGetList("sponsored-content", {
|
|
175
|
+
filters: { placement_type: "FOOTER_BANNER" },
|
|
176
|
+
sort: { key: "order", order: "asc" }
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
|
|
171
180
|
// src/components/VenueMap/VenueMap.tsx
|
|
172
181
|
var import_react5 = __toESM(require("react"));
|
|
173
182
|
|
|
@@ -247,8 +256,10 @@ function useVenueMap(idMap) {
|
|
|
247
256
|
VenueContext,
|
|
248
257
|
VenueMap,
|
|
249
258
|
VenueProvider,
|
|
259
|
+
useGetFooterBanners,
|
|
250
260
|
useGetList,
|
|
251
261
|
useGetOne,
|
|
262
|
+
useGetScreensavers,
|
|
252
263
|
useVenueContext,
|
|
253
264
|
useVenueDataClient,
|
|
254
265
|
useVenueMap,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/VenueProvider.tsx","../src/VenueContext.tsx","../src/hooks/useVenueDataClient.ts","../src/hooks/useGetList.ts","../src/hooks/useWatchDeliveryApi.ts","../src/hooks/useGetOne.ts","../src/components/VenueMap/VenueMap.tsx","../src/hooks/useMapInstance.ts","../src/components/VenueMap/useVenueMap.ts"],"sourcesContent":["export * from \"venue-js\"\n\n// Provider\nexport { VenueProvider } from \"./VenueProvider\"\n\n// Context\nexport { VenueContext, useVenueContext } from \"./VenueContext\"\n\n// Hooks\nexport { useVenueDataClient, useGetList, useGetOne, useWatchDeliveryApi } from \"./hooks\"\n\n// Components \nexport * from './components/VenueMap'\n\n// Types\nexport type {\n VenueProviderProps,\n VenueContextValue,\n UseGetOneParams,\n UseGetListParams,\n UseGetOneResult,\n UseGetListResult,\n} from \"./types\"\n\n// Re-export venue-js types for convenience\nexport type {\n VenueDataClient,\n VenueClientOptions,\n FeatureType,\n FeatureResponseMap,\n FeaturePopulatedResponseMap,\n // IMDF Feature Types\n AmenityFeature,\n AnchorFeature,\n KioskFeature,\n LevelFeature,\n OccupantFeature,\n SectionFeature,\n UnitFeature,\n VenueFeature,\n // Non-IMDF Feature Types\n TaxonomyFeature,\n PromotionFeature,\n PrivilegeFeature,\n EventFeature,\n LabelFeature,\n} from \"venue-js\"\n","import React, { useCallback, useMemo, useState } from \"react\"\nimport { getDataClient, IndoorMap } from \"venue-js\"\nimport { VenueContext } from \"./VenueContext\"\nimport type { VenueProviderProps, VenueContextValue } from \"./types\"\n\nexport const VenueProvider: React.FC<VenueProviderProps> = ({\n children,\n config,\n}) => {\n \n /**\n * 1. DataClient\n */\n const dataClient = useMemo(() => {\n const venueClient = getDataClient({\n ...config,\n queryClient: config.queryClient,\n })\n\n return venueClient\n }, [config])\n\n /**\n * 2. mapInstances\n */\n const [mapInstances, setMapInstances] = useState<Record<string, IndoorMap>>({});\n const addMapInstance = useCallback((mapInstance: IndoorMap, id = 'default') => {\n setMapInstances(instances => ({...instances, [id]: mapInstance}));\n }, [setMapInstances]);\n\n const removeMapInstance = useCallback((id = 'default') => {\n setMapInstances(({[id]: _, ...remaining}) => remaining);\n }, [setMapInstances]);\n\n const clearMapInstances = useCallback(() => {\n setMapInstances({});\n }, [setMapInstances]);\n\n const getMapInstance = useCallback((id: string = 'default') => {\n return mapInstances[id]\n }, [mapInstances])\n\n const contextValue: VenueContextValue = {\n dataClient,\n mapInstances,\n addMapInstance,\n removeMapInstance,\n clearMapInstances,\n getMapInstance,\n }\n\n return (\n <VenueContext.Provider value={contextValue}>\n {children}\n </VenueContext.Provider>\n )\n}\n","/**\n * VenueContext {\n * client: VenueDataClient\n * }\n */\nimport { createContext, useContext } from \"react\"\nimport type { VenueContextValue } from \"./types\"\n\nexport const VenueContext = createContext<VenueContextValue | null>(\n null\n)\n\nexport const useVenueContext = (): VenueContextValue => {\n const context = useContext(VenueContext)\n if (context === null) {\n throw new Error(\"useVenueContext must be used within a VenueProvider\")\n }\n return context\n}\n","import { useVenueContext } from \"../VenueContext\"\nimport type { VenueDataClient } from \"venue-js\"\n\nexport const useVenueDataClient = (): VenueDataClient => {\n const { dataClient } = useVenueContext()\n return dataClient\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FilterParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\nimport { useWatchDeliveryApi } from \"./useWatchDeliveryApi\"\n\nexport const useGetList = <T extends FeatureType>(\n featureType: T,\n params: FilterParams = {},\n options: FeatureQueryOptions = {}\n): UseQueryResult<FeatureResponseMap[T][]> & {\n startWatch: () => void\n stopWatch: () => void\n} => {\n const client = useVenueDataClient()\n const queryOptions = client.createFilterByTypeQueryOptions(\n featureType,\n params,\n options\n )\n\n // If options.refetchInterval exists, add observer to deliveryapi query\n const refetchInterval = options.refetchInterval ?? 0\n const { stopWatch, startWatch } = useWatchDeliveryApi(featureType, refetchInterval, { enabled: refetchInterval > 0 })\n\n // @ts-expect-error\n const queryResult = useQuery<FeatureResponseMap[T][]>({\n ...queryOptions,\n ...options,\n })\n\n // @ts-expect-error\n return {\n ...queryResult,\n startWatch,\n stopWatch\n }\n}\n","import { type FeatureType } from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\nimport { useCallback, useEffect } from \"react\"\n\ntype UseWatchOptions = {\n autoStart?: boolean\n enabled?: boolean\n}\n\nexport const useWatchDeliveryApi = <T extends FeatureType>(\n featureType: T,\n refetchInterval: number = 5 * 60 * 1000,\n options: UseWatchOptions\n) => {\n\n const autoStart = options.autoStart ?? true\n const enabled = options.enabled ?? true\n\n const client = useVenueDataClient()\n\n const startWatch = useCallback(() => {\n if (enabled) {\n client.registerObserver(featureType, refetchInterval)\n }\n }, [client, featureType, enabled, refetchInterval])\n\n const stopWatch = useCallback(() => {\n client.destroyObserver(featureType)\n }, [client, featureType])\n\n useEffect(() => {\n /** Keep internal queries active */\n if (enabled && autoStart) startWatch()\n\n return () => {\n stopWatch()\n }\n }, [startWatch, stopWatch, enabled, autoStart])\n\n return { startWatch, stopWatch }\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FeaturePopulatedResponseMap,\n type FindParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\n\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams & { populate: true },\n options?: FeatureQueryOptions\n): UseQueryResult<FeaturePopulatedResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params?: FindParams,\n options?: FeatureQueryOptions\n): UseQueryResult<FeatureResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams = {},\n options: FeatureQueryOptions = {}\n) {\n const client = useVenueDataClient()\n const queryOptions = client.createFindByIdQueryOptions(\n featureType,\n id ?? \"\",\n params,\n options\n )\n // @ts-expect-error\n return useQuery<FeatureResponseMap[T]>({\n ...queryOptions,\n ...options,\n enabled: (options.enabled ?? true) && !!id,\n })\n}\n","import React, { ComponentProps, useContext, useEffect } from 'react';\nimport { IndoorMapOptions } from 'venue-js';\nimport { useMapInstance } from '../../hooks/useMapInstance';\nimport { VenueContext } from '../../VenueContext';\n\nexport type VenueMapProps = ComponentProps<\"div\"> & {\n containerId?: string;\n mapId?: string;\n mapOptions?: Omit<IndoorMapOptions, 'dataClient'> | undefined;\n};\n\nexport const VenueMap = React.memo(\n ({\n containerId = 'map',\n mapId = 'default',\n mapOptions = {},\n ...props\n }: VenueMapProps) => {\n const context = useContext(VenueContext);\n if (context == null) {\n throw new Error(\n 'No context provided: VenueMap can only be used in a descendant of <VenueProvider>'\n );\n }\n \n const map = useMapInstance(containerId, { mapId, mapOptions }, context);\n\n return (\n <div {...props}>\n <div id={containerId} style={{ width: '100%', height: '100%' }} />\n </div>\n );\n }\n);\n","import { useEffect, useState } from \"react\";\nimport { IndoorMap } from \"venue-js\";\nimport { VenueContextValue } from \"../types\";\nimport { VenueMapProps } from \"../components/VenueMap\";\n\nexport const useMapInstance = (containerId: string, props: VenueMapProps, context: VenueContextValue): IndoorMap|null => {\n const [map, setMap] = useState<IndoorMap | null>(null)\n const { addMapInstance, removeMapInstance, getMapInstance } = context\n const { mapOptions, mapId = 'default' } = props\n const { dataClient } = context\n\n useEffect(() => {\n\n if (!dataClient) return\n\n let map: IndoorMap\n if (getMapInstance(mapId)) {\n map = getMapInstance(mapId)\n // If map already initialized, update Options\n map.setOptions(mapOptions ?? {});\n } else {\n\n // Create new map\n map = new IndoorMap(containerId, {\n dataClient,\n centerCross: true,\n renderer: {\n type: '3D',\n elements: {},\n },\n ...(mapOptions ?? {}),\n });\n\n \n }\n setMap(map);\n addMapInstance(map, mapId)\n\n return () => {\n if (map && map.map) {\n map.map?.remove();\n setMap(null)\n }\n removeMapInstance(mapId)\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapId, mapOptions, dataClient.projectId]);\n\n return map\n}","import { useContext } from \"react\";\nimport { VenueContext } from \"../../VenueContext\";\n\n\nexport function useVenueMap(idMap?: string) {\n\n const context = useContext(VenueContext);\n\n if (!context) {\n console.log(\n 'useVenueMap(): failed to retrieve VenueMapContext. ' +\n 'Make sure that the <VenueProvider> component exists and that the ' +\n 'component you are calling `useMap()` from is a sibling of the ' +\n '<VenueProvider>.'\n );\n\n return null;\n }\n\n const { mapInstances } = context;\n return mapInstances[idMap ?? 'default']\n}\n"],"mappings":"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","names":["import_react","import_react","import_react_query","import_react","import_react","import_venue_js","map","import_jsx_runtime","React","import_react"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/VenueProvider.tsx","../src/VenueContext.tsx","../src/hooks/useVenueDataClient.ts","../src/hooks/useGetList.ts","../src/hooks/useGetOne.ts","../src/hooks/useWatchDeliveryApi.ts","../src/hooks/queries/useGetScreensavers.ts","../src/hooks/queries/useGetFooterBanners.ts","../src/components/VenueMap/VenueMap.tsx","../src/hooks/useMapInstance.ts","../src/components/VenueMap/useVenueMap.ts"],"sourcesContent":["export * from \"venue-js\"\n\n// Provider\nexport { VenueProvider } from \"./VenueProvider\"\n\n// Context\nexport { VenueContext, useVenueContext } from \"./VenueContext\"\n\n// Hooks\nexport * from \"./hooks\"\n\n// Components \nexport * from './components/VenueMap'\n\n// Types\nexport type {\n VenueProviderProps,\n VenueContextValue,\n UseGetOneParams,\n UseGetListParams,\n UseGetOneResult,\n UseGetListResult,\n} from \"./types\"\n\n// Re-export venue-js types for convenience\nexport type {\n VenueDataClient,\n VenueClientOptions,\n FeatureType,\n FeatureResponseMap,\n FeaturePopulatedResponseMap,\n // IMDF Feature Types\n AmenityFeature,\n AnchorFeature,\n KioskFeature,\n LevelFeature,\n OccupantFeature,\n SectionFeature,\n UnitFeature,\n VenueFeature,\n // Non-IMDF Feature Types\n TaxonomyFeature,\n PromotionFeature,\n PrivilegeFeature,\n EventFeature,\n LabelFeature,\n} from \"venue-js\"\n","import React, { useCallback, useMemo, useState } from \"react\"\nimport { getDataClient, IndoorMap } from \"venue-js\"\nimport { VenueContext } from \"./VenueContext\"\nimport type { VenueProviderProps, VenueContextValue } from \"./types\"\n\nexport const VenueProvider: React.FC<VenueProviderProps> = ({\n children,\n config,\n}) => {\n \n /**\n * 1. DataClient\n */\n const dataClient = useMemo(() => {\n const venueClient = getDataClient({\n ...config,\n queryClient: config.queryClient,\n })\n\n return venueClient\n }, [config])\n\n /**\n * 2. mapInstances\n */\n const [mapInstances, setMapInstances] = useState<Record<string, IndoorMap>>({});\n const addMapInstance = useCallback((mapInstance: IndoorMap, id = 'default') => {\n setMapInstances(instances => ({...instances, [id]: mapInstance}));\n }, [setMapInstances]);\n\n const removeMapInstance = useCallback((id = 'default') => {\n setMapInstances(({[id]: _, ...remaining}) => remaining);\n }, [setMapInstances]);\n\n const clearMapInstances = useCallback(() => {\n setMapInstances({});\n }, [setMapInstances]);\n\n const getMapInstance = useCallback((id: string = 'default') => {\n return mapInstances[id]\n }, [mapInstances])\n\n const contextValue: VenueContextValue = {\n dataClient,\n mapInstances,\n addMapInstance,\n removeMapInstance,\n clearMapInstances,\n getMapInstance,\n }\n\n return (\n <VenueContext.Provider value={contextValue}>\n {children}\n </VenueContext.Provider>\n )\n}\n","/**\n * VenueContext {\n * client: VenueDataClient\n * }\n */\nimport { createContext, useContext } from \"react\"\nimport type { VenueContextValue } from \"./types\"\n\nexport const VenueContext = createContext<VenueContextValue | null>(\n null\n)\n\nexport const useVenueContext = (): VenueContextValue => {\n const context = useContext(VenueContext)\n if (context === null) {\n throw new Error(\"useVenueContext must be used within a VenueProvider\")\n }\n return context\n}\n","import { useVenueContext } from \"../VenueContext\"\nimport type { VenueDataClient } from \"venue-js\"\n\nexport const useVenueDataClient = (): VenueDataClient => {\n const { dataClient } = useVenueContext()\n return dataClient\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FilterParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\n\nexport const useGetList = <T extends FeatureType>(\n featureType: T,\n params: FilterParams = {},\n options: FeatureQueryOptions = {}\n): UseQueryResult<FeatureResponseMap[T][]> => {\n const client = useVenueDataClient()\n const queryOptions = client.createFilterByTypeQueryOptions(\n featureType,\n params,\n options\n )\n\n // @ts-expect-error\n return useQuery<FeatureResponseMap[T][]>({\n ...queryOptions,\n ...options,\n })\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FeaturePopulatedResponseMap,\n type FindParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\n\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams & { populate: true },\n options?: FeatureQueryOptions\n): UseQueryResult<FeaturePopulatedResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params?: FindParams,\n options?: FeatureQueryOptions\n): UseQueryResult<FeatureResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams = {},\n options: FeatureQueryOptions = {}\n) {\n const client = useVenueDataClient()\n const queryOptions = client.createFindByIdQueryOptions(\n featureType,\n id ?? \"\",\n params,\n options\n )\n // @ts-expect-error\n return useQuery<FeatureResponseMap[T]>({\n ...queryOptions,\n ...options,\n enabled: (options.enabled ?? true) && !!id,\n })\n}\n","import { type FeatureType } from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\nimport { useCallback, useEffect } from \"react\"\n\ntype UseWatchOptions = {\n autoStart?: boolean\n enabled?: boolean\n}\n\nexport const useWatchDeliveryApi = <T extends FeatureType>(\n featureType: T,\n refetchInterval: number = 5 * 60 * 1000,\n options: UseWatchOptions\n) => {\n\n const autoStart = options.autoStart ?? true\n const enabled = options.enabled ?? true\n\n const client = useVenueDataClient()\n\n const startWatch = useCallback(() => {\n if (enabled) {\n client.registerObserver(featureType, refetchInterval)\n }\n }, [client, featureType, enabled, refetchInterval])\n\n const stopWatch = useCallback(() => {\n client.destroyObserver(featureType)\n }, [client, featureType])\n\n useEffect(() => {\n /** Keep internal queries active */\n if (enabled && autoStart) startWatch()\n\n return () => {\n stopWatch()\n }\n }, [startWatch, stopWatch, enabled, autoStart])\n\n return { startWatch, stopWatch }\n}\n","import { useGetList } from \"../useGetList\"\n\nexport const useGetScreensavers = () => {\n return useGetList(\"sponsored-content\", {\n filters: { placement_type: \"SCREENSAVER\" },\n sort: { key: 'order', order: 'asc' }\n })\n}","import { useGetList } from \"../useGetList\"\n\nexport const useGetFooterBanners = () => {\n return useGetList(\"sponsored-content\", {\n filters: { placement_type: \"FOOTER_BANNER\" },\n sort: { key: 'order', order: 'asc' }\n })\n}","import React, { ComponentProps, useContext, useEffect } from 'react';\nimport { IndoorMapOptions } from 'venue-js';\nimport { useMapInstance } from '../../hooks/useMapInstance';\nimport { VenueContext } from '../../VenueContext';\n\nexport type VenueMapProps = ComponentProps<\"div\"> & {\n containerId?: string;\n mapId?: string;\n mapOptions?: Omit<IndoorMapOptions, 'dataClient'> | undefined;\n};\n\nexport const VenueMap = React.memo(\n ({\n containerId = 'map',\n mapId = 'default',\n mapOptions = {},\n ...props\n }: VenueMapProps) => {\n const context = useContext(VenueContext);\n if (context == null) {\n throw new Error(\n 'No context provided: VenueMap can only be used in a descendant of <VenueProvider>'\n );\n }\n \n const map = useMapInstance(containerId, { mapId, mapOptions }, context);\n\n return (\n <div {...props}>\n <div id={containerId} style={{ width: '100%', height: '100%' }} />\n </div>\n );\n }\n);\n","import { useEffect, useState } from \"react\";\nimport { IndoorMap } from \"venue-js\";\nimport { VenueContextValue } from \"../types\";\nimport { VenueMapProps } from \"../components/VenueMap\";\n\nexport const useMapInstance = (containerId: string, props: VenueMapProps, context: VenueContextValue): IndoorMap|null => {\n const [map, setMap] = useState<IndoorMap | null>(null)\n const { addMapInstance, removeMapInstance, getMapInstance } = context\n const { mapOptions, mapId = 'default' } = props\n const { dataClient } = context\n\n useEffect(() => {\n\n if (!dataClient) return\n\n let map: IndoorMap\n if (getMapInstance(mapId)) {\n map = getMapInstance(mapId)\n // If map already initialized, update Options\n map.setOptions(mapOptions ?? {});\n } else {\n\n // Create new map\n map = new IndoorMap(containerId, {\n dataClient,\n centerCross: true,\n renderer: {\n type: '3D',\n elements: {},\n },\n ...(mapOptions ?? {}),\n });\n\n \n }\n setMap(map);\n addMapInstance(map, mapId)\n\n return () => {\n if (map && map.map) {\n map.map?.remove();\n setMap(null)\n }\n removeMapInstance(mapId)\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapId, mapOptions, dataClient.projectId]);\n\n return map\n}","import { useContext } from \"react\";\nimport { VenueContext } from \"../../VenueContext\";\n\n\nexport function useVenueMap(idMap?: string) {\n\n const context = useContext(VenueContext);\n\n if (!context) {\n console.log(\n 'useVenueMap(): failed to retrieve VenueMapContext. ' +\n 'Make sure that the <VenueProvider> component exists and that the ' +\n 'component you are calling `useMap()` from is a sibling of the ' +\n '<VenueProvider>.'\n );\n\n return null;\n }\n\n const { mapInstances } = context;\n return mapInstances[idMap ?? 'default']\n}\n"],"mappings":"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","names":["import_react","import_react_query","import_react","import_react","import_react","import_venue_js","map","import_jsx_runtime","React","import_react"]}
|
package/dist/index.mjs
CHANGED
|
@@ -63,31 +63,6 @@ var useVenueDataClient = () => {
|
|
|
63
63
|
|
|
64
64
|
// src/hooks/useGetList.ts
|
|
65
65
|
import { useQuery } from "@tanstack/react-query";
|
|
66
|
-
|
|
67
|
-
// src/hooks/useWatchDeliveryApi.ts
|
|
68
|
-
import { useCallback as useCallback2, useEffect } from "react";
|
|
69
|
-
var useWatchDeliveryApi = (featureType, refetchInterval = 5 * 60 * 1e3, options) => {
|
|
70
|
-
const autoStart = options.autoStart ?? true;
|
|
71
|
-
const enabled = options.enabled ?? true;
|
|
72
|
-
const client = useVenueDataClient();
|
|
73
|
-
const startWatch = useCallback2(() => {
|
|
74
|
-
if (enabled) {
|
|
75
|
-
client.registerObserver(featureType, refetchInterval);
|
|
76
|
-
}
|
|
77
|
-
}, [client, featureType, enabled, refetchInterval]);
|
|
78
|
-
const stopWatch = useCallback2(() => {
|
|
79
|
-
client.destroyObserver(featureType);
|
|
80
|
-
}, [client, featureType]);
|
|
81
|
-
useEffect(() => {
|
|
82
|
-
if (enabled && autoStart) startWatch();
|
|
83
|
-
return () => {
|
|
84
|
-
stopWatch();
|
|
85
|
-
};
|
|
86
|
-
}, [startWatch, stopWatch, enabled, autoStart]);
|
|
87
|
-
return { startWatch, stopWatch };
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
// src/hooks/useGetList.ts
|
|
91
66
|
var useGetList = (featureType, params = {}, options = {}) => {
|
|
92
67
|
const client = useVenueDataClient();
|
|
93
68
|
const queryOptions = client.createFilterByTypeQueryOptions(
|
|
@@ -95,17 +70,10 @@ var useGetList = (featureType, params = {}, options = {}) => {
|
|
|
95
70
|
params,
|
|
96
71
|
options
|
|
97
72
|
);
|
|
98
|
-
|
|
99
|
-
const { stopWatch, startWatch } = useWatchDeliveryApi(featureType, refetchInterval, { enabled: refetchInterval > 0 });
|
|
100
|
-
const queryResult = useQuery({
|
|
73
|
+
return useQuery({
|
|
101
74
|
...queryOptions,
|
|
102
75
|
...options
|
|
103
76
|
});
|
|
104
|
-
return {
|
|
105
|
-
...queryResult,
|
|
106
|
-
startWatch,
|
|
107
|
-
stopWatch
|
|
108
|
-
};
|
|
109
77
|
};
|
|
110
78
|
|
|
111
79
|
// src/hooks/useGetOne.ts
|
|
@@ -125,6 +93,45 @@ function useGetOne(featureType, id, params = {}, options = {}) {
|
|
|
125
93
|
});
|
|
126
94
|
}
|
|
127
95
|
|
|
96
|
+
// src/hooks/useWatchDeliveryApi.ts
|
|
97
|
+
import { useCallback as useCallback2, useEffect } from "react";
|
|
98
|
+
var useWatchDeliveryApi = (featureType, refetchInterval = 5 * 60 * 1e3, options) => {
|
|
99
|
+
const autoStart = options.autoStart ?? true;
|
|
100
|
+
const enabled = options.enabled ?? true;
|
|
101
|
+
const client = useVenueDataClient();
|
|
102
|
+
const startWatch = useCallback2(() => {
|
|
103
|
+
if (enabled) {
|
|
104
|
+
client.registerObserver(featureType, refetchInterval);
|
|
105
|
+
}
|
|
106
|
+
}, [client, featureType, enabled, refetchInterval]);
|
|
107
|
+
const stopWatch = useCallback2(() => {
|
|
108
|
+
client.destroyObserver(featureType);
|
|
109
|
+
}, [client, featureType]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (enabled && autoStart) startWatch();
|
|
112
|
+
return () => {
|
|
113
|
+
stopWatch();
|
|
114
|
+
};
|
|
115
|
+
}, [startWatch, stopWatch, enabled, autoStart]);
|
|
116
|
+
return { startWatch, stopWatch };
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// src/hooks/queries/useGetScreensavers.ts
|
|
120
|
+
var useGetScreensavers = () => {
|
|
121
|
+
return useGetList("sponsored-content", {
|
|
122
|
+
filters: { placement_type: "SCREENSAVER" },
|
|
123
|
+
sort: { key: "order", order: "asc" }
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
// src/hooks/queries/useGetFooterBanners.ts
|
|
128
|
+
var useGetFooterBanners = () => {
|
|
129
|
+
return useGetList("sponsored-content", {
|
|
130
|
+
filters: { placement_type: "FOOTER_BANNER" },
|
|
131
|
+
sort: { key: "order", order: "asc" }
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
|
|
128
135
|
// src/components/VenueMap/VenueMap.tsx
|
|
129
136
|
import React2, { useContext as useContext2 } from "react";
|
|
130
137
|
|
|
@@ -203,8 +210,10 @@ export {
|
|
|
203
210
|
VenueContext,
|
|
204
211
|
VenueMap,
|
|
205
212
|
VenueProvider,
|
|
213
|
+
useGetFooterBanners,
|
|
206
214
|
useGetList,
|
|
207
215
|
useGetOne,
|
|
216
|
+
useGetScreensavers,
|
|
208
217
|
useVenueContext,
|
|
209
218
|
useVenueDataClient,
|
|
210
219
|
useVenueMap,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/VenueProvider.tsx","../src/VenueContext.tsx","../src/hooks/useVenueDataClient.ts","../src/hooks/useGetList.ts","../src/hooks/useWatchDeliveryApi.ts","../src/hooks/useGetOne.ts","../src/components/VenueMap/VenueMap.tsx","../src/hooks/useMapInstance.ts","../src/components/VenueMap/useVenueMap.ts"],"sourcesContent":["export * from \"venue-js\"\n\n// Provider\nexport { VenueProvider } from \"./VenueProvider\"\n\n// Context\nexport { VenueContext, useVenueContext } from \"./VenueContext\"\n\n// Hooks\nexport { useVenueDataClient, useGetList, useGetOne, useWatchDeliveryApi } from \"./hooks\"\n\n// Components \nexport * from './components/VenueMap'\n\n// Types\nexport type {\n VenueProviderProps,\n VenueContextValue,\n UseGetOneParams,\n UseGetListParams,\n UseGetOneResult,\n UseGetListResult,\n} from \"./types\"\n\n// Re-export venue-js types for convenience\nexport type {\n VenueDataClient,\n VenueClientOptions,\n FeatureType,\n FeatureResponseMap,\n FeaturePopulatedResponseMap,\n // IMDF Feature Types\n AmenityFeature,\n AnchorFeature,\n KioskFeature,\n LevelFeature,\n OccupantFeature,\n SectionFeature,\n UnitFeature,\n VenueFeature,\n // Non-IMDF Feature Types\n TaxonomyFeature,\n PromotionFeature,\n PrivilegeFeature,\n EventFeature,\n LabelFeature,\n} from \"venue-js\"\n","import React, { useCallback, useMemo, useState } from \"react\"\nimport { getDataClient, IndoorMap } from \"venue-js\"\nimport { VenueContext } from \"./VenueContext\"\nimport type { VenueProviderProps, VenueContextValue } from \"./types\"\n\nexport const VenueProvider: React.FC<VenueProviderProps> = ({\n children,\n config,\n}) => {\n \n /**\n * 1. DataClient\n */\n const dataClient = useMemo(() => {\n const venueClient = getDataClient({\n ...config,\n queryClient: config.queryClient,\n })\n\n return venueClient\n }, [config])\n\n /**\n * 2. mapInstances\n */\n const [mapInstances, setMapInstances] = useState<Record<string, IndoorMap>>({});\n const addMapInstance = useCallback((mapInstance: IndoorMap, id = 'default') => {\n setMapInstances(instances => ({...instances, [id]: mapInstance}));\n }, [setMapInstances]);\n\n const removeMapInstance = useCallback((id = 'default') => {\n setMapInstances(({[id]: _, ...remaining}) => remaining);\n }, [setMapInstances]);\n\n const clearMapInstances = useCallback(() => {\n setMapInstances({});\n }, [setMapInstances]);\n\n const getMapInstance = useCallback((id: string = 'default') => {\n return mapInstances[id]\n }, [mapInstances])\n\n const contextValue: VenueContextValue = {\n dataClient,\n mapInstances,\n addMapInstance,\n removeMapInstance,\n clearMapInstances,\n getMapInstance,\n }\n\n return (\n <VenueContext.Provider value={contextValue}>\n {children}\n </VenueContext.Provider>\n )\n}\n","/**\n * VenueContext {\n * client: VenueDataClient\n * }\n */\nimport { createContext, useContext } from \"react\"\nimport type { VenueContextValue } from \"./types\"\n\nexport const VenueContext = createContext<VenueContextValue | null>(\n null\n)\n\nexport const useVenueContext = (): VenueContextValue => {\n const context = useContext(VenueContext)\n if (context === null) {\n throw new Error(\"useVenueContext must be used within a VenueProvider\")\n }\n return context\n}\n","import { useVenueContext } from \"../VenueContext\"\nimport type { VenueDataClient } from \"venue-js\"\n\nexport const useVenueDataClient = (): VenueDataClient => {\n const { dataClient } = useVenueContext()\n return dataClient\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FilterParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\nimport { useWatchDeliveryApi } from \"./useWatchDeliveryApi\"\n\nexport const useGetList = <T extends FeatureType>(\n featureType: T,\n params: FilterParams = {},\n options: FeatureQueryOptions = {}\n): UseQueryResult<FeatureResponseMap[T][]> & {\n startWatch: () => void\n stopWatch: () => void\n} => {\n const client = useVenueDataClient()\n const queryOptions = client.createFilterByTypeQueryOptions(\n featureType,\n params,\n options\n )\n\n // If options.refetchInterval exists, add observer to deliveryapi query\n const refetchInterval = options.refetchInterval ?? 0\n const { stopWatch, startWatch } = useWatchDeliveryApi(featureType, refetchInterval, { enabled: refetchInterval > 0 })\n\n // @ts-expect-error\n const queryResult = useQuery<FeatureResponseMap[T][]>({\n ...queryOptions,\n ...options,\n })\n\n // @ts-expect-error\n return {\n ...queryResult,\n startWatch,\n stopWatch\n }\n}\n","import { type FeatureType } from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\nimport { useCallback, useEffect } from \"react\"\n\ntype UseWatchOptions = {\n autoStart?: boolean\n enabled?: boolean\n}\n\nexport const useWatchDeliveryApi = <T extends FeatureType>(\n featureType: T,\n refetchInterval: number = 5 * 60 * 1000,\n options: UseWatchOptions\n) => {\n\n const autoStart = options.autoStart ?? true\n const enabled = options.enabled ?? true\n\n const client = useVenueDataClient()\n\n const startWatch = useCallback(() => {\n if (enabled) {\n client.registerObserver(featureType, refetchInterval)\n }\n }, [client, featureType, enabled, refetchInterval])\n\n const stopWatch = useCallback(() => {\n client.destroyObserver(featureType)\n }, [client, featureType])\n\n useEffect(() => {\n /** Keep internal queries active */\n if (enabled && autoStart) startWatch()\n\n return () => {\n stopWatch()\n }\n }, [startWatch, stopWatch, enabled, autoStart])\n\n return { startWatch, stopWatch }\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FeaturePopulatedResponseMap,\n type FindParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\n\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams & { populate: true },\n options?: FeatureQueryOptions\n): UseQueryResult<FeaturePopulatedResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params?: FindParams,\n options?: FeatureQueryOptions\n): UseQueryResult<FeatureResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams = {},\n options: FeatureQueryOptions = {}\n) {\n const client = useVenueDataClient()\n const queryOptions = client.createFindByIdQueryOptions(\n featureType,\n id ?? \"\",\n params,\n options\n )\n // @ts-expect-error\n return useQuery<FeatureResponseMap[T]>({\n ...queryOptions,\n ...options,\n enabled: (options.enabled ?? true) && !!id,\n })\n}\n","import React, { ComponentProps, useContext, useEffect } from 'react';\nimport { IndoorMapOptions } from 'venue-js';\nimport { useMapInstance } from '../../hooks/useMapInstance';\nimport { VenueContext } from '../../VenueContext';\n\nexport type VenueMapProps = ComponentProps<\"div\"> & {\n containerId?: string;\n mapId?: string;\n mapOptions?: Omit<IndoorMapOptions, 'dataClient'> | undefined;\n};\n\nexport const VenueMap = React.memo(\n ({\n containerId = 'map',\n mapId = 'default',\n mapOptions = {},\n ...props\n }: VenueMapProps) => {\n const context = useContext(VenueContext);\n if (context == null) {\n throw new Error(\n 'No context provided: VenueMap can only be used in a descendant of <VenueProvider>'\n );\n }\n \n const map = useMapInstance(containerId, { mapId, mapOptions }, context);\n\n return (\n <div {...props}>\n <div id={containerId} style={{ width: '100%', height: '100%' }} />\n </div>\n );\n }\n);\n","import { useEffect, useState } from \"react\";\nimport { IndoorMap } from \"venue-js\";\nimport { VenueContextValue } from \"../types\";\nimport { VenueMapProps } from \"../components/VenueMap\";\n\nexport const useMapInstance = (containerId: string, props: VenueMapProps, context: VenueContextValue): IndoorMap|null => {\n const [map, setMap] = useState<IndoorMap | null>(null)\n const { addMapInstance, removeMapInstance, getMapInstance } = context\n const { mapOptions, mapId = 'default' } = props\n const { dataClient } = context\n\n useEffect(() => {\n\n if (!dataClient) return\n\n let map: IndoorMap\n if (getMapInstance(mapId)) {\n map = getMapInstance(mapId)\n // If map already initialized, update Options\n map.setOptions(mapOptions ?? {});\n } else {\n\n // Create new map\n map = new IndoorMap(containerId, {\n dataClient,\n centerCross: true,\n renderer: {\n type: '3D',\n elements: {},\n },\n ...(mapOptions ?? {}),\n });\n\n \n }\n setMap(map);\n addMapInstance(map, mapId)\n\n return () => {\n if (map && map.map) {\n map.map?.remove();\n setMap(null)\n }\n removeMapInstance(mapId)\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapId, mapOptions, dataClient.projectId]);\n\n return map\n}","import { useContext } from \"react\";\nimport { VenueContext } from \"../../VenueContext\";\n\n\nexport function useVenueMap(idMap?: string) {\n\n const context = useContext(VenueContext);\n\n if (!context) {\n console.log(\n 'useVenueMap(): failed to retrieve VenueMapContext. ' +\n 'Make sure that the <VenueProvider> component exists and that the ' +\n 'component you are calling `useMap()` from is a sibling of the ' +\n '<VenueProvider>.'\n );\n\n return null;\n }\n\n const { mapInstances } = context;\n return mapInstances[idMap ?? 'default']\n}\n"],"mappings":"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","names":["useCallback","useQuery","useQuery","React","useContext","useEffect","useState","IndoorMap","map","jsx","React","useContext","useContext","useContext"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/VenueProvider.tsx","../src/VenueContext.tsx","../src/hooks/useVenueDataClient.ts","../src/hooks/useGetList.ts","../src/hooks/useGetOne.ts","../src/hooks/useWatchDeliveryApi.ts","../src/hooks/queries/useGetScreensavers.ts","../src/hooks/queries/useGetFooterBanners.ts","../src/components/VenueMap/VenueMap.tsx","../src/hooks/useMapInstance.ts","../src/components/VenueMap/useVenueMap.ts"],"sourcesContent":["export * from \"venue-js\"\n\n// Provider\nexport { VenueProvider } from \"./VenueProvider\"\n\n// Context\nexport { VenueContext, useVenueContext } from \"./VenueContext\"\n\n// Hooks\nexport * from \"./hooks\"\n\n// Components \nexport * from './components/VenueMap'\n\n// Types\nexport type {\n VenueProviderProps,\n VenueContextValue,\n UseGetOneParams,\n UseGetListParams,\n UseGetOneResult,\n UseGetListResult,\n} from \"./types\"\n\n// Re-export venue-js types for convenience\nexport type {\n VenueDataClient,\n VenueClientOptions,\n FeatureType,\n FeatureResponseMap,\n FeaturePopulatedResponseMap,\n // IMDF Feature Types\n AmenityFeature,\n AnchorFeature,\n KioskFeature,\n LevelFeature,\n OccupantFeature,\n SectionFeature,\n UnitFeature,\n VenueFeature,\n // Non-IMDF Feature Types\n TaxonomyFeature,\n PromotionFeature,\n PrivilegeFeature,\n EventFeature,\n LabelFeature,\n} from \"venue-js\"\n","import React, { useCallback, useMemo, useState } from \"react\"\nimport { getDataClient, IndoorMap } from \"venue-js\"\nimport { VenueContext } from \"./VenueContext\"\nimport type { VenueProviderProps, VenueContextValue } from \"./types\"\n\nexport const VenueProvider: React.FC<VenueProviderProps> = ({\n children,\n config,\n}) => {\n \n /**\n * 1. DataClient\n */\n const dataClient = useMemo(() => {\n const venueClient = getDataClient({\n ...config,\n queryClient: config.queryClient,\n })\n\n return venueClient\n }, [config])\n\n /**\n * 2. mapInstances\n */\n const [mapInstances, setMapInstances] = useState<Record<string, IndoorMap>>({});\n const addMapInstance = useCallback((mapInstance: IndoorMap, id = 'default') => {\n setMapInstances(instances => ({...instances, [id]: mapInstance}));\n }, [setMapInstances]);\n\n const removeMapInstance = useCallback((id = 'default') => {\n setMapInstances(({[id]: _, ...remaining}) => remaining);\n }, [setMapInstances]);\n\n const clearMapInstances = useCallback(() => {\n setMapInstances({});\n }, [setMapInstances]);\n\n const getMapInstance = useCallback((id: string = 'default') => {\n return mapInstances[id]\n }, [mapInstances])\n\n const contextValue: VenueContextValue = {\n dataClient,\n mapInstances,\n addMapInstance,\n removeMapInstance,\n clearMapInstances,\n getMapInstance,\n }\n\n return (\n <VenueContext.Provider value={contextValue}>\n {children}\n </VenueContext.Provider>\n )\n}\n","/**\n * VenueContext {\n * client: VenueDataClient\n * }\n */\nimport { createContext, useContext } from \"react\"\nimport type { VenueContextValue } from \"./types\"\n\nexport const VenueContext = createContext<VenueContextValue | null>(\n null\n)\n\nexport const useVenueContext = (): VenueContextValue => {\n const context = useContext(VenueContext)\n if (context === null) {\n throw new Error(\"useVenueContext must be used within a VenueProvider\")\n }\n return context\n}\n","import { useVenueContext } from \"../VenueContext\"\nimport type { VenueDataClient } from \"venue-js\"\n\nexport const useVenueDataClient = (): VenueDataClient => {\n const { dataClient } = useVenueContext()\n return dataClient\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FilterParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\n\nexport const useGetList = <T extends FeatureType>(\n featureType: T,\n params: FilterParams = {},\n options: FeatureQueryOptions = {}\n): UseQueryResult<FeatureResponseMap[T][]> => {\n const client = useVenueDataClient()\n const queryOptions = client.createFilterByTypeQueryOptions(\n featureType,\n params,\n options\n )\n\n // @ts-expect-error\n return useQuery<FeatureResponseMap[T][]>({\n ...queryOptions,\n ...options,\n })\n}\n","import { useQuery, UseQueryResult } from \"@tanstack/react-query\"\nimport {\n type FeatureType,\n type FeatureResponseMap,\n type FeaturePopulatedResponseMap,\n type FindParams,\n type FeatureQueryOptions,\n} from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\n\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams & { populate: true },\n options?: FeatureQueryOptions\n): UseQueryResult<FeaturePopulatedResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params?: FindParams,\n options?: FeatureQueryOptions\n): UseQueryResult<FeatureResponseMap[T]>\nexport function useGetOne<T extends FeatureType>(\n featureType: T,\n id: string | undefined,\n params: FindParams = {},\n options: FeatureQueryOptions = {}\n) {\n const client = useVenueDataClient()\n const queryOptions = client.createFindByIdQueryOptions(\n featureType,\n id ?? \"\",\n params,\n options\n )\n // @ts-expect-error\n return useQuery<FeatureResponseMap[T]>({\n ...queryOptions,\n ...options,\n enabled: (options.enabled ?? true) && !!id,\n })\n}\n","import { type FeatureType } from \"venue-js\"\nimport { useVenueDataClient } from \"./useVenueDataClient\"\nimport { useCallback, useEffect } from \"react\"\n\ntype UseWatchOptions = {\n autoStart?: boolean\n enabled?: boolean\n}\n\nexport const useWatchDeliveryApi = <T extends FeatureType>(\n featureType: T,\n refetchInterval: number = 5 * 60 * 1000,\n options: UseWatchOptions\n) => {\n\n const autoStart = options.autoStart ?? true\n const enabled = options.enabled ?? true\n\n const client = useVenueDataClient()\n\n const startWatch = useCallback(() => {\n if (enabled) {\n client.registerObserver(featureType, refetchInterval)\n }\n }, [client, featureType, enabled, refetchInterval])\n\n const stopWatch = useCallback(() => {\n client.destroyObserver(featureType)\n }, [client, featureType])\n\n useEffect(() => {\n /** Keep internal queries active */\n if (enabled && autoStart) startWatch()\n\n return () => {\n stopWatch()\n }\n }, [startWatch, stopWatch, enabled, autoStart])\n\n return { startWatch, stopWatch }\n}\n","import { useGetList } from \"../useGetList\"\n\nexport const useGetScreensavers = () => {\n return useGetList(\"sponsored-content\", {\n filters: { placement_type: \"SCREENSAVER\" },\n sort: { key: 'order', order: 'asc' }\n })\n}","import { useGetList } from \"../useGetList\"\n\nexport const useGetFooterBanners = () => {\n return useGetList(\"sponsored-content\", {\n filters: { placement_type: \"FOOTER_BANNER\" },\n sort: { key: 'order', order: 'asc' }\n })\n}","import React, { ComponentProps, useContext, useEffect } from 'react';\nimport { IndoorMapOptions } from 'venue-js';\nimport { useMapInstance } from '../../hooks/useMapInstance';\nimport { VenueContext } from '../../VenueContext';\n\nexport type VenueMapProps = ComponentProps<\"div\"> & {\n containerId?: string;\n mapId?: string;\n mapOptions?: Omit<IndoorMapOptions, 'dataClient'> | undefined;\n};\n\nexport const VenueMap = React.memo(\n ({\n containerId = 'map',\n mapId = 'default',\n mapOptions = {},\n ...props\n }: VenueMapProps) => {\n const context = useContext(VenueContext);\n if (context == null) {\n throw new Error(\n 'No context provided: VenueMap can only be used in a descendant of <VenueProvider>'\n );\n }\n \n const map = useMapInstance(containerId, { mapId, mapOptions }, context);\n\n return (\n <div {...props}>\n <div id={containerId} style={{ width: '100%', height: '100%' }} />\n </div>\n );\n }\n);\n","import { useEffect, useState } from \"react\";\nimport { IndoorMap } from \"venue-js\";\nimport { VenueContextValue } from \"../types\";\nimport { VenueMapProps } from \"../components/VenueMap\";\n\nexport const useMapInstance = (containerId: string, props: VenueMapProps, context: VenueContextValue): IndoorMap|null => {\n const [map, setMap] = useState<IndoorMap | null>(null)\n const { addMapInstance, removeMapInstance, getMapInstance } = context\n const { mapOptions, mapId = 'default' } = props\n const { dataClient } = context\n\n useEffect(() => {\n\n if (!dataClient) return\n\n let map: IndoorMap\n if (getMapInstance(mapId)) {\n map = getMapInstance(mapId)\n // If map already initialized, update Options\n map.setOptions(mapOptions ?? {});\n } else {\n\n // Create new map\n map = new IndoorMap(containerId, {\n dataClient,\n centerCross: true,\n renderer: {\n type: '3D',\n elements: {},\n },\n ...(mapOptions ?? {}),\n });\n\n \n }\n setMap(map);\n addMapInstance(map, mapId)\n\n return () => {\n if (map && map.map) {\n map.map?.remove();\n setMap(null)\n }\n removeMapInstance(mapId)\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapId, mapOptions, dataClient.projectId]);\n\n return map\n}","import { useContext } from \"react\";\nimport { VenueContext } from \"../../VenueContext\";\n\n\nexport function useVenueMap(idMap?: string) {\n\n const context = useContext(VenueContext);\n\n if (!context) {\n console.log(\n 'useVenueMap(): failed to retrieve VenueMapContext. ' +\n 'Make sure that the <VenueProvider> component exists and that the ' +\n 'component you are calling `useMap()` from is a sibling of the ' +\n '<VenueProvider>.'\n );\n\n return null;\n }\n\n const { mapInstances } = context;\n return mapInstances[idMap ?? 'default']\n}\n"],"mappings":"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","names":["useQuery","useQuery","useCallback","React","useContext","useEffect","useState","IndoorMap","map","jsx","React","useContext","useContext","useContext"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "venue-react",
|
|
3
|
-
"version": "1.8.0-next.
|
|
3
|
+
"version": "1.8.0-next.10",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -33,6 +33,6 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@turf/boolean-within": "^7.2.0",
|
|
36
|
-
"venue-js": "1.
|
|
36
|
+
"venue-js": "^1.8.0-next.9"
|
|
37
37
|
}
|
|
38
38
|
}
|