@xyo-network/react-map 2.64.0 → 2.64.3
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/browser/AnimatedHeatMapSettings.js +56 -3
- package/dist/browser/AnimatedHeatMapSettings.js.map +1 -1
- package/dist/browser/Colors/index.js +0 -1
- package/dist/browser/Colors/index.js.map +1 -1
- package/dist/browser/Components/AnimatedHeatMap.js +623 -10
- package/dist/browser/Components/AnimatedHeatMap.js.map +1 -1
- package/dist/browser/Components/AnimatedHeatMapLoaded.js +864 -13
- package/dist/browser/Components/AnimatedHeatMapLoaded.js.map +1 -1
- package/dist/browser/Components/HeatMapSettings.js +56 -3
- package/dist/browser/Components/HeatMapSettings.js.map +1 -1
- package/dist/browser/Components/LayerAnimator.js +5 -4
- package/dist/browser/Components/LayerAnimator.js.map +1 -1
- package/dist/browser/Components/Legend.js +32 -7
- package/dist/browser/Components/Legend.js.map +1 -1
- package/dist/browser/Components/Legends/ColorGradient.js +3 -2
- package/dist/browser/Components/Legends/ColorGradient.js.map +1 -1
- package/dist/browser/Components/Legends/index.js +25 -1
- package/dist/browser/Components/Legends/index.js.map +1 -1
- package/dist/browser/Components/MapBox.js +66 -12
- package/dist/browser/Components/MapBox.js.map +1 -1
- package/dist/browser/Components/MapBoxHeat.js +151 -6
- package/dist/browser/Components/MapBoxHeat.js.map +1 -1
- package/dist/browser/Components/MapBoxPoints.js +207 -14
- package/dist/browser/Components/MapBoxPoints.js.map +1 -1
- package/dist/browser/Components/MapSettingsComponents/Setting.js +16 -3
- package/dist/browser/Components/MapSettingsComponents/Setting.js.map +1 -1
- package/dist/browser/Components/MapSettingsComponents/SettingsBox.js +38 -6
- package/dist/browser/Components/MapSettingsComponents/SettingsBox.js.map +1 -1
- package/dist/browser/Components/MapSettingsComponents/index.js +50 -2
- package/dist/browser/Components/MapSettingsComponents/index.js.map +1 -1
- package/dist/browser/Components/index.js +1084 -11
- package/dist/browser/Components/index.js.map +1 -1
- package/dist/browser/Contexts/HeatMapInitializer/Context.js +2 -1
- package/dist/browser/Contexts/HeatMapInitializer/Context.js.map +1 -1
- package/dist/browser/Contexts/HeatMapInitializer/Provider.js +235 -14
- package/dist/browser/Contexts/HeatMapInitializer/Provider.js.map +1 -1
- package/dist/browser/Contexts/HeatMapInitializer/index.js +294 -3
- package/dist/browser/Contexts/HeatMapInitializer/index.js.map +1 -1
- package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.js +8 -2
- package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.js.map +1 -1
- package/dist/browser/Contexts/MapBoxInstance/Context.js +2 -1
- package/dist/browser/Contexts/MapBoxInstance/Context.js.map +1 -1
- package/dist/browser/Contexts/MapBoxInstance/Provider.js +9 -3
- package/dist/browser/Contexts/MapBoxInstance/Provider.js.map +1 -1
- package/dist/browser/Contexts/MapBoxInstance/index.js +35 -3
- package/dist/browser/Contexts/MapBoxInstance/index.js.map +1 -1
- package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.js +8 -2
- package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.js.map +1 -1
- package/dist/browser/Contexts/MapSettings/Context.js +2 -1
- package/dist/browser/Contexts/MapSettings/Context.js.map +1 -1
- package/dist/browser/Contexts/MapSettings/Provider.js +117 -5
- package/dist/browser/Contexts/MapSettings/Provider.js.map +1 -1
- package/dist/browser/Contexts/MapSettings/index.js +148 -3
- package/dist/browser/Contexts/MapSettings/index.js.map +1 -1
- package/dist/browser/Contexts/MapSettings/useMapSettings.js +8 -2
- package/dist/browser/Contexts/MapSettings/useMapSettings.js.map +1 -1
- package/dist/browser/Contexts/MapboxAccessToken/Context.js +2 -1
- package/dist/browser/Contexts/MapboxAccessToken/Context.js.map +1 -1
- package/dist/browser/Contexts/MapboxAccessToken/Provider.js +9 -3
- package/dist/browser/Contexts/MapboxAccessToken/Provider.js.map +1 -1
- package/dist/browser/Contexts/MapboxAccessToken/index.js +22 -4
- package/dist/browser/Contexts/MapboxAccessToken/index.js.map +1 -1
- package/dist/browser/Contexts/MapboxAccessToken/use.js +8 -2
- package/dist/browser/Contexts/MapboxAccessToken/use.js.map +1 -1
- package/dist/browser/Contexts/index.js +459 -4
- package/dist/browser/Contexts/index.js.map +1 -1
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.js +110 -6
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.js.map +1 -1
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js +36 -4
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js.map +1 -1
- package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.js +40 -4
- package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.js.map +1 -1
- package/dist/browser/Layers/Builders/index.js +205 -3
- package/dist/browser/Layers/Builders/index.js.map +1 -1
- package/dist/browser/Layers/CircleLayer.js +3 -2
- package/dist/browser/Layers/CircleLayer.js.map +1 -1
- package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.js +2 -1
- package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.js.map +1 -1
- package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.js +2 -1
- package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.js.map +1 -1
- package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.js +2 -1
- package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.js.map +1 -1
- package/dist/browser/Layers/Configs/LocationPointLayerConfig.js +2 -1
- package/dist/browser/Layers/Configs/LocationPointLayerConfig.js.map +1 -1
- package/dist/browser/Layers/Configs/index.js +62 -4
- package/dist/browser/Layers/Configs/index.js.map +1 -1
- package/dist/browser/Layers/FillLayer.js +3 -2
- package/dist/browser/Layers/FillLayer.js.map +1 -1
- package/dist/browser/Layers/LineLayer.js +3 -2
- package/dist/browser/Layers/LineLayer.js.map +1 -1
- package/dist/browser/Layers/SymbolLayer.js +3 -2
- package/dist/browser/Layers/SymbolLayer.js.map +1 -1
- package/dist/browser/Layers/index.js +213 -7
- package/dist/browser/Layers/index.js.map +1 -1
- package/dist/browser/MapBoxClasses/MapBase.js +3 -2
- package/dist/browser/MapBoxClasses/MapBase.js.map +1 -1
- package/dist/browser/MapBoxClasses/MapHeat.js +41 -11
- package/dist/browser/MapBoxClasses/MapHeat.js.map +1 -1
- package/dist/browser/MapBoxClasses/MapPoints.js +33 -3
- package/dist/browser/MapBoxClasses/MapPoints.js.map +1 -1
- package/dist/browser/MapBoxClasses/MapSettings.js +6 -5
- package/dist/browser/MapBoxClasses/MapSettings.js.map +1 -1
- package/dist/browser/MapBoxClasses/index.js +288 -4
- package/dist/browser/MapBoxClasses/index.js.map +1 -1
- package/dist/browser/Settings/DefaultMapSettings.js +2 -1
- package/dist/browser/Settings/DefaultMapSettings.js.map +1 -1
- package/dist/browser/Settings/index.js +55 -2
- package/dist/browser/Settings/index.js.map +1 -1
- package/dist/browser/hooks/index.js +156 -5
- package/dist/browser/hooks/index.js.map +1 -1
- package/dist/browser/hooks/useDynamicMapResize.js +2 -1
- package/dist/browser/hooks/useDynamicMapResize.js.map +1 -1
- package/dist/browser/hooks/useDynamicPositioning.js +7 -6
- package/dist/browser/hooks/useDynamicPositioning.js.map +1 -1
- package/dist/browser/hooks/useFindHashes.js +4 -3
- package/dist/browser/hooks/useFindHashes.js.map +1 -1
- package/dist/browser/hooks/useHeatMapColors.js +2 -1
- package/dist/browser/hooks/useHeatMapColors.js.map +1 -1
- package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.js +4 -3
- package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.js.map +1 -1
- package/dist/browser/index.js +1298 -10
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/lib/MapStyle.js +1 -0
- package/dist/browser/lib/MapStyle.js.map +1 -1
- package/dist/browser/lib/index.js +13 -2
- package/dist/browser/lib/index.js.map +1 -1
- package/dist/browser/types/index.js +0 -1
- package/dist/browser/types/index.js.map +1 -1
- package/dist/docs.json +296 -296
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Contexts/MapSettings/Provider.tsx"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { MapSettings } from '../../MapBoxClasses'\nimport { MapSetting } from '../../Settings'\nimport { useMapBoxInstance } from '../MapBoxInstance'\nimport { MapSettingsContext } from './Context'\nimport { MapSettingsState } from './State'\n\nexport interface MapSettingsProviderProps {\n debugLayerName?: string\n defaultMapSettings?: MapSetting\n requestLocation?: boolean\n zoom?: number\n}\n\nexport const MapSettingsProvider: React.FC<WithChildren<MapSettingsProviderProps>> = ({\n children,\n debugLayerName,\n defaultMapSettings,\n requestLocation,\n zoom = 1,\n}) => {\n const [mapSettings, setMapSettings] = useState<MapSetting>(defaultMapSettings || {})\n const { map, mapInitialized } = useMapBoxInstance()\n\n const value: MapSettingsState = {\n mapSettings,\n setMapSettings,\n }\n\n useEffect(() => {\n if (mapSettings && map && mapInitialized) {\n MapSettings.updateSettings({ debugLayerName, map, requestLocation, settings: mapSettings, zoom })\n }\n }, [debugLayerName, map, mapInitialized, mapSettings, requestLocation, zoom])\n\n return <MapSettingsContext.Provider value={value}>{children}</MapSettingsContext.Provider>\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/Contexts/MapSettings/Provider.tsx","../../../../src/MapBoxClasses/MapSettings.ts","../../../../src/Contexts/MapBoxInstance/Context.ts","../../../../src/Contexts/MapBoxInstance/useMapBoxInstance.tsx","../../../../src/Contexts/MapSettings/Context.ts"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { MapSettings } from '../../MapBoxClasses'\nimport { MapSetting } from '../../Settings'\nimport { useMapBoxInstance } from '../MapBoxInstance'\nimport { MapSettingsContext } from './Context'\nimport { MapSettingsState } from './State'\n\nexport interface MapSettingsProviderProps {\n debugLayerName?: string\n defaultMapSettings?: MapSetting\n requestLocation?: boolean\n zoom?: number\n}\n\nexport const MapSettingsProvider: React.FC<WithChildren<MapSettingsProviderProps>> = ({\n children,\n debugLayerName,\n defaultMapSettings,\n requestLocation,\n zoom = 1,\n}) => {\n const [mapSettings, setMapSettings] = useState<MapSetting>(defaultMapSettings || {})\n const { map, mapInitialized } = useMapBoxInstance()\n\n const value: MapSettingsState = {\n mapSettings,\n setMapSettings,\n }\n\n useEffect(() => {\n if (mapSettings && map && mapInitialized) {\n MapSettings.updateSettings({ debugLayerName, map, requestLocation, settings: mapSettings, zoom })\n }\n }, [debugLayerName, map, mapInitialized, mapSettings, requestLocation, zoom])\n\n return <MapSettingsContext.Provider value={value}>{children}</MapSettingsContext.Provider>\n}\n","import { EventData, GeolocateControl, Map, MapLayerMouseEvent, MapLayerTouchEvent, NavigationControl } from 'mapbox-gl'\n\nimport { MapSetting } from '../Settings'\n\nexport interface MapSettingsConfig {\n debugLayerName?: string\n map: Map\n requestLocation?: boolean\n settings: MapSetting\n zoom?: number\n}\n\n/**\n * Utility class to handle changes in settings\n *\n * Methods are pure functions dedicated to map manipulation\n */\nexport class MapSettings {\n static geoLocateControl: GeolocateControl | undefined\n static mapListeners = {\n logData: (ev?: MapLayerMouseEvent | (MapLayerTouchEvent & EventData), map?: Map) => {\n const target = map || ev?.target\n if (target) {\n console.log('zoom', target.getZoom())\n console.log('center', target.getCenter())\n }\n },\n }\n static navControl: NavigationControl | undefined\n static requestLocation: boolean | undefined\n\n static toggleControls(value: boolean | undefined, map: Map, zoom?: number, requestLocation?: boolean) {\n if (value) {\n MapSettings.addControls(map, zoom, requestLocation)\n } else {\n MapSettings.removeControls(map)\n }\n\n return this\n }\n\n static toggleDebugLayer(value: boolean | undefined, map: Map, layerName: string) {\n const debugLayer = map.getLayer(layerName)\n if (debugLayer) {\n if (value) {\n map.setLayoutProperty(layerName, 'visibility', 'visible')\n } else {\n map.setLayoutProperty(layerName, 'visibility', 'none')\n }\n }\n\n return this\n }\n\n static toggleDebugLogging(value: boolean | undefined, map: Map) {\n const debugEvents = ['resize', 'zoomend', 'dragend']\n if (value) {\n // initial values\n this.mapListeners.logData(undefined, map)\n debugEvents.forEach((event) => map.on(event, this.mapListeners.logData))\n } else {\n debugEvents.forEach((event) => map.off(event, this.mapListeners.logData))\n }\n }\n\n static toggleScrollToZoom(value: boolean | undefined, map: Map) {\n if (value) {\n map.scrollZoom.enable()\n } else {\n map.scrollZoom.disable()\n }\n\n return this\n }\n\n static updateSettings(config: MapSettingsConfig) {\n const { settings, map, zoom, requestLocation, debugLayerName = '' } = config\n const { scrollToZoom, enableControls, debugLayer, debugLogging } = settings\n\n MapSettings.toggleControls(enableControls?.value, map, zoom, requestLocation)\n .toggleScrollToZoom(scrollToZoom?.value, map)\n .toggleDebugLayer(debugLayer?.value, map, debugLayerName)\n .toggleDebugLogging(debugLogging.value, map)\n }\n\n // Needs to be static so we ensure controls are only instantiated once\n private static addControls(map: Map, zoom?: number, requestLocation?: boolean) {\n const geolocateControl = new GeolocateControl({\n fitBoundsOptions: {\n zoom: zoom || 2,\n },\n positionOptions: {\n enableHighAccuracy: true,\n },\n trackUserLocation: true,\n })\n\n const navControl = new NavigationControl({\n showCompass: false,\n })\n\n this.geoLocateControl = this.geoLocateControl || geolocateControl\n this.navControl = this.navControl || navControl\n\n if (!map.hasControl(this.geoLocateControl)) {\n if (requestLocation) {\n map.addControl(this.geoLocateControl)\n }\n }\n\n if (!map.hasControl(this.navControl)) {\n map.addControl(this.navControl, 'top-left')\n }\n\n return this\n }\n\n private static removeControls(map: Map) {\n if (this.geoLocateControl && map.hasControl(this.geoLocateControl)) {\n if (this.requestLocation) {\n map.removeControl(this.geoLocateControl)\n }\n }\n\n if (this.navControl && map.hasControl(this.navControl)) {\n map.removeControl(this.navControl)\n }\n\n return this\n }\n}\n","import { createContext } from 'react'\n\nimport { MapBoxInstanceState } from './State'\n\nconst MapBoxInstanceContext = createContext<MapBoxInstanceState>({})\n\nexport { MapBoxInstanceContext }\n","import { assertEx } from '@xylabs/assert'\nimport { useContext } from 'react'\n\nimport { MapBoxInstanceContext } from './Context'\n\nconst useMapBoxInstance = () => {\n const context = useContext(MapBoxInstanceContext)\n assertEx('map' in context, 'useMapBoxInstance must be used within a MapBoxInstanceContext')\n\n return context\n}\n\nexport { useMapBoxInstance }\n","import { createContext } from 'react'\n\nimport { MapSettingsState } from './State'\n\nconst MapSettingsContext = createContext<MapSettingsState>({})\n\nexport { MapSettingsContext }\n"],"mappings":"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","names":["createContext"]}
|
|
@@ -1,4 +1,149 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// src/Contexts/MapSettings/Provider.tsx
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
|
|
4
|
+
// src/MapBoxClasses/MapSettings.ts
|
|
5
|
+
import { GeolocateControl, NavigationControl } from "mapbox-gl";
|
|
6
|
+
var MapSettings = class _MapSettings {
|
|
7
|
+
static geoLocateControl;
|
|
8
|
+
static mapListeners = {
|
|
9
|
+
logData: (ev, map) => {
|
|
10
|
+
const target = map || ev?.target;
|
|
11
|
+
if (target) {
|
|
12
|
+
console.log("zoom", target.getZoom());
|
|
13
|
+
console.log("center", target.getCenter());
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
static navControl;
|
|
18
|
+
static requestLocation;
|
|
19
|
+
static toggleControls(value, map, zoom, requestLocation) {
|
|
20
|
+
if (value) {
|
|
21
|
+
_MapSettings.addControls(map, zoom, requestLocation);
|
|
22
|
+
} else {
|
|
23
|
+
_MapSettings.removeControls(map);
|
|
24
|
+
}
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
static toggleDebugLayer(value, map, layerName) {
|
|
28
|
+
const debugLayer = map.getLayer(layerName);
|
|
29
|
+
if (debugLayer) {
|
|
30
|
+
if (value) {
|
|
31
|
+
map.setLayoutProperty(layerName, "visibility", "visible");
|
|
32
|
+
} else {
|
|
33
|
+
map.setLayoutProperty(layerName, "visibility", "none");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
static toggleDebugLogging(value, map) {
|
|
39
|
+
const debugEvents = ["resize", "zoomend", "dragend"];
|
|
40
|
+
if (value) {
|
|
41
|
+
this.mapListeners.logData(void 0, map);
|
|
42
|
+
debugEvents.forEach((event) => map.on(event, this.mapListeners.logData));
|
|
43
|
+
} else {
|
|
44
|
+
debugEvents.forEach((event) => map.off(event, this.mapListeners.logData));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
static toggleScrollToZoom(value, map) {
|
|
48
|
+
if (value) {
|
|
49
|
+
map.scrollZoom.enable();
|
|
50
|
+
} else {
|
|
51
|
+
map.scrollZoom.disable();
|
|
52
|
+
}
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
static updateSettings(config) {
|
|
56
|
+
const { settings, map, zoom, requestLocation, debugLayerName = "" } = config;
|
|
57
|
+
const { scrollToZoom, enableControls, debugLayer, debugLogging } = settings;
|
|
58
|
+
_MapSettings.toggleControls(enableControls?.value, map, zoom, requestLocation).toggleScrollToZoom(scrollToZoom?.value, map).toggleDebugLayer(debugLayer?.value, map, debugLayerName).toggleDebugLogging(debugLogging.value, map);
|
|
59
|
+
}
|
|
60
|
+
// Needs to be static so we ensure controls are only instantiated once
|
|
61
|
+
static addControls(map, zoom, requestLocation) {
|
|
62
|
+
const geolocateControl = new GeolocateControl({
|
|
63
|
+
fitBoundsOptions: {
|
|
64
|
+
zoom: zoom || 2
|
|
65
|
+
},
|
|
66
|
+
positionOptions: {
|
|
67
|
+
enableHighAccuracy: true
|
|
68
|
+
},
|
|
69
|
+
trackUserLocation: true
|
|
70
|
+
});
|
|
71
|
+
const navControl = new NavigationControl({
|
|
72
|
+
showCompass: false
|
|
73
|
+
});
|
|
74
|
+
this.geoLocateControl = this.geoLocateControl || geolocateControl;
|
|
75
|
+
this.navControl = this.navControl || navControl;
|
|
76
|
+
if (!map.hasControl(this.geoLocateControl)) {
|
|
77
|
+
if (requestLocation) {
|
|
78
|
+
map.addControl(this.geoLocateControl);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (!map.hasControl(this.navControl)) {
|
|
82
|
+
map.addControl(this.navControl, "top-left");
|
|
83
|
+
}
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
static removeControls(map) {
|
|
87
|
+
if (this.geoLocateControl && map.hasControl(this.geoLocateControl)) {
|
|
88
|
+
if (this.requestLocation) {
|
|
89
|
+
map.removeControl(this.geoLocateControl);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (this.navControl && map.hasControl(this.navControl)) {
|
|
93
|
+
map.removeControl(this.navControl);
|
|
94
|
+
}
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
// src/Contexts/MapBoxInstance/Context.ts
|
|
100
|
+
import { createContext } from "react";
|
|
101
|
+
var MapBoxInstanceContext = createContext({});
|
|
102
|
+
|
|
103
|
+
// src/Contexts/MapBoxInstance/useMapBoxInstance.tsx
|
|
104
|
+
import { assertEx } from "@xylabs/assert";
|
|
105
|
+
import { useContext } from "react";
|
|
106
|
+
var useMapBoxInstance = () => {
|
|
107
|
+
const context = useContext(MapBoxInstanceContext);
|
|
108
|
+
assertEx("map" in context, "useMapBoxInstance must be used within a MapBoxInstanceContext");
|
|
109
|
+
return context;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
// src/Contexts/MapSettings/Context.ts
|
|
113
|
+
import { createContext as createContext2 } from "react";
|
|
114
|
+
var MapSettingsContext = createContext2({});
|
|
115
|
+
|
|
116
|
+
// src/Contexts/MapSettings/Provider.tsx
|
|
117
|
+
import { jsx } from "react/jsx-runtime";
|
|
118
|
+
var MapSettingsProvider = ({
|
|
119
|
+
children,
|
|
120
|
+
debugLayerName,
|
|
121
|
+
defaultMapSettings,
|
|
122
|
+
requestLocation,
|
|
123
|
+
zoom = 1
|
|
124
|
+
}) => {
|
|
125
|
+
const [mapSettings, setMapSettings] = useState(defaultMapSettings || {});
|
|
126
|
+
const { map, mapInitialized } = useMapBoxInstance();
|
|
127
|
+
const value = {
|
|
128
|
+
mapSettings,
|
|
129
|
+
setMapSettings
|
|
130
|
+
};
|
|
131
|
+
useEffect(() => {
|
|
132
|
+
if (mapSettings && map && mapInitialized) {
|
|
133
|
+
MapSettings.updateSettings({ debugLayerName, map, requestLocation, settings: mapSettings, zoom });
|
|
134
|
+
}
|
|
135
|
+
}, [debugLayerName, map, mapInitialized, mapSettings, requestLocation, zoom]);
|
|
136
|
+
return /* @__PURE__ */ jsx(MapSettingsContext.Provider, { value, children });
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
// src/Contexts/MapSettings/useMapSettings.tsx
|
|
140
|
+
import { useContext as useContext2 } from "react";
|
|
141
|
+
var useMapSettings = () => {
|
|
142
|
+
const context = useContext2(MapSettingsContext);
|
|
143
|
+
return context;
|
|
144
|
+
};
|
|
145
|
+
export {
|
|
146
|
+
MapSettingsProvider,
|
|
147
|
+
useMapSettings
|
|
148
|
+
};
|
|
4
149
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Contexts/MapSettings/
|
|
1
|
+
{"version":3,"sources":["../../../../src/Contexts/MapSettings/Provider.tsx","../../../../src/MapBoxClasses/MapSettings.ts","../../../../src/Contexts/MapBoxInstance/Context.ts","../../../../src/Contexts/MapBoxInstance/useMapBoxInstance.tsx","../../../../src/Contexts/MapSettings/Context.ts","../../../../src/Contexts/MapSettings/useMapSettings.tsx"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\n\nimport { MapSettings } from '../../MapBoxClasses'\nimport { MapSetting } from '../../Settings'\nimport { useMapBoxInstance } from '../MapBoxInstance'\nimport { MapSettingsContext } from './Context'\nimport { MapSettingsState } from './State'\n\nexport interface MapSettingsProviderProps {\n debugLayerName?: string\n defaultMapSettings?: MapSetting\n requestLocation?: boolean\n zoom?: number\n}\n\nexport const MapSettingsProvider: React.FC<WithChildren<MapSettingsProviderProps>> = ({\n children,\n debugLayerName,\n defaultMapSettings,\n requestLocation,\n zoom = 1,\n}) => {\n const [mapSettings, setMapSettings] = useState<MapSetting>(defaultMapSettings || {})\n const { map, mapInitialized } = useMapBoxInstance()\n\n const value: MapSettingsState = {\n mapSettings,\n setMapSettings,\n }\n\n useEffect(() => {\n if (mapSettings && map && mapInitialized) {\n MapSettings.updateSettings({ debugLayerName, map, requestLocation, settings: mapSettings, zoom })\n }\n }, [debugLayerName, map, mapInitialized, mapSettings, requestLocation, zoom])\n\n return <MapSettingsContext.Provider value={value}>{children}</MapSettingsContext.Provider>\n}\n","import { EventData, GeolocateControl, Map, MapLayerMouseEvent, MapLayerTouchEvent, NavigationControl } from 'mapbox-gl'\n\nimport { MapSetting } from '../Settings'\n\nexport interface MapSettingsConfig {\n debugLayerName?: string\n map: Map\n requestLocation?: boolean\n settings: MapSetting\n zoom?: number\n}\n\n/**\n * Utility class to handle changes in settings\n *\n * Methods are pure functions dedicated to map manipulation\n */\nexport class MapSettings {\n static geoLocateControl: GeolocateControl | undefined\n static mapListeners = {\n logData: (ev?: MapLayerMouseEvent | (MapLayerTouchEvent & EventData), map?: Map) => {\n const target = map || ev?.target\n if (target) {\n console.log('zoom', target.getZoom())\n console.log('center', target.getCenter())\n }\n },\n }\n static navControl: NavigationControl | undefined\n static requestLocation: boolean | undefined\n\n static toggleControls(value: boolean | undefined, map: Map, zoom?: number, requestLocation?: boolean) {\n if (value) {\n MapSettings.addControls(map, zoom, requestLocation)\n } else {\n MapSettings.removeControls(map)\n }\n\n return this\n }\n\n static toggleDebugLayer(value: boolean | undefined, map: Map, layerName: string) {\n const debugLayer = map.getLayer(layerName)\n if (debugLayer) {\n if (value) {\n map.setLayoutProperty(layerName, 'visibility', 'visible')\n } else {\n map.setLayoutProperty(layerName, 'visibility', 'none')\n }\n }\n\n return this\n }\n\n static toggleDebugLogging(value: boolean | undefined, map: Map) {\n const debugEvents = ['resize', 'zoomend', 'dragend']\n if (value) {\n // initial values\n this.mapListeners.logData(undefined, map)\n debugEvents.forEach((event) => map.on(event, this.mapListeners.logData))\n } else {\n debugEvents.forEach((event) => map.off(event, this.mapListeners.logData))\n }\n }\n\n static toggleScrollToZoom(value: boolean | undefined, map: Map) {\n if (value) {\n map.scrollZoom.enable()\n } else {\n map.scrollZoom.disable()\n }\n\n return this\n }\n\n static updateSettings(config: MapSettingsConfig) {\n const { settings, map, zoom, requestLocation, debugLayerName = '' } = config\n const { scrollToZoom, enableControls, debugLayer, debugLogging } = settings\n\n MapSettings.toggleControls(enableControls?.value, map, zoom, requestLocation)\n .toggleScrollToZoom(scrollToZoom?.value, map)\n .toggleDebugLayer(debugLayer?.value, map, debugLayerName)\n .toggleDebugLogging(debugLogging.value, map)\n }\n\n // Needs to be static so we ensure controls are only instantiated once\n private static addControls(map: Map, zoom?: number, requestLocation?: boolean) {\n const geolocateControl = new GeolocateControl({\n fitBoundsOptions: {\n zoom: zoom || 2,\n },\n positionOptions: {\n enableHighAccuracy: true,\n },\n trackUserLocation: true,\n })\n\n const navControl = new NavigationControl({\n showCompass: false,\n })\n\n this.geoLocateControl = this.geoLocateControl || geolocateControl\n this.navControl = this.navControl || navControl\n\n if (!map.hasControl(this.geoLocateControl)) {\n if (requestLocation) {\n map.addControl(this.geoLocateControl)\n }\n }\n\n if (!map.hasControl(this.navControl)) {\n map.addControl(this.navControl, 'top-left')\n }\n\n return this\n }\n\n private static removeControls(map: Map) {\n if (this.geoLocateControl && map.hasControl(this.geoLocateControl)) {\n if (this.requestLocation) {\n map.removeControl(this.geoLocateControl)\n }\n }\n\n if (this.navControl && map.hasControl(this.navControl)) {\n map.removeControl(this.navControl)\n }\n\n return this\n }\n}\n","import { createContext } from 'react'\n\nimport { MapBoxInstanceState } from './State'\n\nconst MapBoxInstanceContext = createContext<MapBoxInstanceState>({})\n\nexport { MapBoxInstanceContext }\n","import { assertEx } from '@xylabs/assert'\nimport { useContext } from 'react'\n\nimport { MapBoxInstanceContext } from './Context'\n\nconst useMapBoxInstance = () => {\n const context = useContext(MapBoxInstanceContext)\n assertEx('map' in context, 'useMapBoxInstance must be used within a MapBoxInstanceContext')\n\n return context\n}\n\nexport { useMapBoxInstance }\n","import { createContext } from 'react'\n\nimport { MapSettingsState } from './State'\n\nconst MapSettingsContext = createContext<MapSettingsState>({})\n\nexport { MapSettingsContext }\n","import { useContext } from 'react'\n\nimport { MapSettingsContext } from './Context'\n\nconst useMapSettings = () => {\n const context = useContext(MapSettingsContext)\n\n return context\n}\n\nexport { useMapSettings }\n"],"mappings":"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","names":["createContext","useContext","useContext"]}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
// src/Contexts/MapSettings/useMapSettings.tsx
|
|
1
2
|
import { useContext } from "react";
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
// src/Contexts/MapSettings/Context.ts
|
|
5
|
+
import { createContext } from "react";
|
|
6
|
+
var MapSettingsContext = createContext({});
|
|
7
|
+
|
|
8
|
+
// src/Contexts/MapSettings/useMapSettings.tsx
|
|
9
|
+
var useMapSettings = () => {
|
|
4
10
|
const context = useContext(MapSettingsContext);
|
|
5
11
|
return context;
|
|
6
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Contexts/MapSettings/useMapSettings.tsx"],"sourcesContent":["import { useContext } from 'react'\n\nimport { MapSettingsContext } from './Context'\n\nconst useMapSettings = () => {\n const context = useContext(MapSettingsContext)\n\n return context\n}\n\nexport { useMapSettings }\n"],"mappings":"AAAA,SAAS,kBAAkB
|
|
1
|
+
{"version":3,"sources":["../../../../src/Contexts/MapSettings/useMapSettings.tsx","../../../../src/Contexts/MapSettings/Context.ts"],"sourcesContent":["import { useContext } from 'react'\n\nimport { MapSettingsContext } from './Context'\n\nconst useMapSettings = () => {\n const context = useContext(MapSettingsContext)\n\n return context\n}\n\nexport { useMapSettings }\n","import { createContext } from 'react'\n\nimport { MapSettingsState } from './State'\n\nconst MapSettingsContext = createContext<MapSettingsState>({})\n\nexport { MapSettingsContext }\n"],"mappings":";AAAA,SAAS,kBAAkB;;;ACA3B,SAAS,qBAAqB;AAI9B,IAAM,qBAAqB,cAAgC,CAAC,CAAC;;;ADA7D,IAAM,iBAAiB,MAAM;AAC3B,QAAM,UAAU,WAAW,kBAAkB;AAE7C,SAAO;AACT;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/Context.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContextState } from './State'\n\nexport const MapboxAccessTokenContext = createContextEx<MapboxAccessTokenContextState>()\n"],"mappings":"AAAA,SAAS,uBAAuB;AAIzB,
|
|
1
|
+
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/Context.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContextState } from './State'\n\nexport const MapboxAccessTokenContext = createContextEx<MapboxAccessTokenContextState>()\n"],"mappings":";AAAA,SAAS,uBAAuB;AAIzB,IAAM,2BAA2B,gBAA+C;","names":[]}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
// src/Contexts/MapboxAccessToken/Provider.tsx
|
|
2
2
|
import { useState } from "react";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
|
|
4
|
+
// src/Contexts/MapboxAccessToken/Context.ts
|
|
5
|
+
import { createContextEx } from "@xyo-network/react-shared";
|
|
6
|
+
var MapboxAccessTokenContext = createContextEx();
|
|
7
|
+
|
|
8
|
+
// src/Contexts/MapboxAccessToken/Provider.tsx
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var MapboxAccessTokenProvider = ({ defaultAccessToken, ...props }) => {
|
|
5
11
|
const [accessToken, setAccessToken] = useState();
|
|
6
12
|
return /* @__PURE__ */ jsx(MapboxAccessTokenContext.Provider, { value: { accessToken: accessToken ?? defaultAccessToken, provided: true, setAccessToken }, ...props });
|
|
7
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/Provider.tsx"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { MapboxAccessTokenContext } from './Context'\n\nexport interface MapboxAccessTokenProviderProps {\n defaultAccessToken?: string\n}\n\nexport const MapboxAccessTokenProvider: React.FC<WithChildren<MapboxAccessTokenProviderProps>> = ({ defaultAccessToken, ...props }) => {\n const [accessToken, setAccessToken] = useState<string>()\n\n return <MapboxAccessTokenContext.Provider value={{ accessToken: accessToken ?? defaultAccessToken, provided: true, setAccessToken }} {...props} />\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/Provider.tsx","../../../../src/Contexts/MapboxAccessToken/Context.ts"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { MapboxAccessTokenContext } from './Context'\n\nexport interface MapboxAccessTokenProviderProps {\n defaultAccessToken?: string\n}\n\nexport const MapboxAccessTokenProvider: React.FC<WithChildren<MapboxAccessTokenProviderProps>> = ({ defaultAccessToken, ...props }) => {\n const [accessToken, setAccessToken] = useState<string>()\n\n return <MapboxAccessTokenContext.Provider value={{ accessToken: accessToken ?? defaultAccessToken, provided: true, setAccessToken }} {...props} />\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContextState } from './State'\n\nexport const MapboxAccessTokenContext = createContextEx<MapboxAccessTokenContextState>()\n"],"mappings":";AACA,SAAS,gBAAgB;;;ACDzB,SAAS,uBAAuB;AAIzB,IAAM,2BAA2B,gBAA+C;;;ADQ9E;AAHF,IAAM,4BAAoF,CAAC,EAAE,oBAAoB,GAAG,MAAM,MAAM;AACrI,QAAM,CAAC,aAAa,cAAc,IAAI,SAAiB;AAEvD,SAAO,oBAAC,yBAAyB,UAAzB,EAAkC,OAAO,EAAE,aAAa,eAAe,oBAAoB,UAAU,MAAM,eAAe,GAAI,GAAG,OAAO;AAClJ;","names":[]}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// src/Contexts/MapboxAccessToken/Context.ts
|
|
2
|
+
import { createContextEx } from "@xyo-network/react-shared";
|
|
3
|
+
var MapboxAccessTokenContext = createContextEx();
|
|
4
|
+
|
|
5
|
+
// src/Contexts/MapboxAccessToken/Provider.tsx
|
|
6
|
+
import { useState } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var MapboxAccessTokenProvider = ({ defaultAccessToken, ...props }) => {
|
|
9
|
+
const [accessToken, setAccessToken] = useState();
|
|
10
|
+
return /* @__PURE__ */ jsx(MapboxAccessTokenContext.Provider, { value: { accessToken: accessToken ?? defaultAccessToken, provided: true, setAccessToken }, ...props });
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// src/Contexts/MapboxAccessToken/use.ts
|
|
14
|
+
import { useContextEx } from "@xyo-network/react-shared";
|
|
15
|
+
var useMapboxAccessToken = (required = false) => {
|
|
16
|
+
return useContextEx(MapboxAccessTokenContext, "MapboxAccessToken", required);
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
MapboxAccessTokenContext,
|
|
20
|
+
MapboxAccessTokenProvider,
|
|
21
|
+
useMapboxAccessToken
|
|
22
|
+
};
|
|
5
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/
|
|
1
|
+
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/Context.ts","../../../../src/Contexts/MapboxAccessToken/Provider.tsx","../../../../src/Contexts/MapboxAccessToken/use.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContextState } from './State'\n\nexport const MapboxAccessTokenContext = createContextEx<MapboxAccessTokenContextState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { MapboxAccessTokenContext } from './Context'\n\nexport interface MapboxAccessTokenProviderProps {\n defaultAccessToken?: string\n}\n\nexport const MapboxAccessTokenProvider: React.FC<WithChildren<MapboxAccessTokenProviderProps>> = ({ defaultAccessToken, ...props }) => {\n const [accessToken, setAccessToken] = useState<string>()\n\n return <MapboxAccessTokenContext.Provider value={{ accessToken: accessToken ?? defaultAccessToken, provided: true, setAccessToken }} {...props} />\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContext } from './Context'\n\nexport const useMapboxAccessToken = (required = false) => {\n return useContextEx(MapboxAccessTokenContext, 'MapboxAccessToken', required)\n}\n"],"mappings":";AAAA,SAAS,uBAAuB;AAIzB,IAAM,2BAA2B,gBAA+C;;;ACHvF,SAAS,gBAAgB;AAWhB;AAHF,IAAM,4BAAoF,CAAC,EAAE,oBAAoB,GAAG,MAAM,MAAM;AACrI,QAAM,CAAC,aAAa,cAAc,IAAI,SAAiB;AAEvD,SAAO,oBAAC,yBAAyB,UAAzB,EAAkC,OAAO,EAAE,aAAa,eAAe,oBAAoB,UAAU,MAAM,eAAe,GAAI,GAAG,OAAO;AAClJ;;;ACbA,SAAS,oBAAoB;AAItB,IAAM,uBAAuB,CAAC,WAAW,UAAU;AACxD,SAAO,aAAa,0BAA0B,qBAAqB,QAAQ;AAC7E;","names":[]}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
// src/Contexts/MapboxAccessToken/use.ts
|
|
1
2
|
import { useContextEx } from "@xyo-network/react-shared";
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
// src/Contexts/MapboxAccessToken/Context.ts
|
|
5
|
+
import { createContextEx } from "@xyo-network/react-shared";
|
|
6
|
+
var MapboxAccessTokenContext = createContextEx();
|
|
7
|
+
|
|
8
|
+
// src/Contexts/MapboxAccessToken/use.ts
|
|
9
|
+
var useMapboxAccessToken = (required = false) => {
|
|
4
10
|
return useContextEx(MapboxAccessTokenContext, "MapboxAccessToken", required);
|
|
5
11
|
};
|
|
6
12
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/use.ts"],"sourcesContent":["import { useContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContext } from './Context'\n\nexport const useMapboxAccessToken = (required = false) => {\n return useContextEx(MapboxAccessTokenContext, 'MapboxAccessToken', required)\n}\n"],"mappings":"AAAA,SAAS,oBAAoB
|
|
1
|
+
{"version":3,"sources":["../../../../src/Contexts/MapboxAccessToken/use.ts","../../../../src/Contexts/MapboxAccessToken/Context.ts"],"sourcesContent":["import { useContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContext } from './Context'\n\nexport const useMapboxAccessToken = (required = false) => {\n return useContextEx(MapboxAccessTokenContext, 'MapboxAccessToken', required)\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { MapboxAccessTokenContextState } from './State'\n\nexport const MapboxAccessTokenContext = createContextEx<MapboxAccessTokenContextState>()\n"],"mappings":";AAAA,SAAS,oBAAoB;;;ACA7B,SAAS,uBAAuB;AAIzB,IAAM,2BAA2B,gBAA+C;;;ADAhF,IAAM,uBAAuB,CAAC,WAAW,UAAU;AACxD,SAAO,aAAa,0BAA0B,qBAAqB,QAAQ;AAC7E;","names":[]}
|