@xyo-network/react-map 2.64.0 → 2.64.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/browser/AnimatedHeatMapSettings.js +56 -3
  2. package/dist/browser/AnimatedHeatMapSettings.js.map +1 -1
  3. package/dist/browser/Colors/index.js +0 -1
  4. package/dist/browser/Colors/index.js.map +1 -1
  5. package/dist/browser/Components/AnimatedHeatMap.js +623 -10
  6. package/dist/browser/Components/AnimatedHeatMap.js.map +1 -1
  7. package/dist/browser/Components/AnimatedHeatMapLoaded.js +864 -13
  8. package/dist/browser/Components/AnimatedHeatMapLoaded.js.map +1 -1
  9. package/dist/browser/Components/HeatMapSettings.js +56 -3
  10. package/dist/browser/Components/HeatMapSettings.js.map +1 -1
  11. package/dist/browser/Components/LayerAnimator.js +5 -4
  12. package/dist/browser/Components/LayerAnimator.js.map +1 -1
  13. package/dist/browser/Components/Legend.js +32 -7
  14. package/dist/browser/Components/Legend.js.map +1 -1
  15. package/dist/browser/Components/Legends/ColorGradient.js +3 -2
  16. package/dist/browser/Components/Legends/ColorGradient.js.map +1 -1
  17. package/dist/browser/Components/Legends/index.js +25 -1
  18. package/dist/browser/Components/Legends/index.js.map +1 -1
  19. package/dist/browser/Components/MapBox.js +66 -12
  20. package/dist/browser/Components/MapBox.js.map +1 -1
  21. package/dist/browser/Components/MapBoxHeat.js +151 -6
  22. package/dist/browser/Components/MapBoxHeat.js.map +1 -1
  23. package/dist/browser/Components/MapBoxPoints.js +207 -14
  24. package/dist/browser/Components/MapBoxPoints.js.map +1 -1
  25. package/dist/browser/Components/MapSettingsComponents/Setting.js +16 -3
  26. package/dist/browser/Components/MapSettingsComponents/Setting.js.map +1 -1
  27. package/dist/browser/Components/MapSettingsComponents/SettingsBox.js +38 -6
  28. package/dist/browser/Components/MapSettingsComponents/SettingsBox.js.map +1 -1
  29. package/dist/browser/Components/MapSettingsComponents/index.js +50 -2
  30. package/dist/browser/Components/MapSettingsComponents/index.js.map +1 -1
  31. package/dist/browser/Components/index.js +1084 -11
  32. package/dist/browser/Components/index.js.map +1 -1
  33. package/dist/browser/Contexts/HeatMapInitializer/Context.js +2 -1
  34. package/dist/browser/Contexts/HeatMapInitializer/Context.js.map +1 -1
  35. package/dist/browser/Contexts/HeatMapInitializer/Provider.js +235 -14
  36. package/dist/browser/Contexts/HeatMapInitializer/Provider.js.map +1 -1
  37. package/dist/browser/Contexts/HeatMapInitializer/index.js +294 -3
  38. package/dist/browser/Contexts/HeatMapInitializer/index.js.map +1 -1
  39. package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.js +8 -2
  40. package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.js.map +1 -1
  41. package/dist/browser/Contexts/MapBoxInstance/Context.js +2 -1
  42. package/dist/browser/Contexts/MapBoxInstance/Context.js.map +1 -1
  43. package/dist/browser/Contexts/MapBoxInstance/Provider.js +9 -3
  44. package/dist/browser/Contexts/MapBoxInstance/Provider.js.map +1 -1
  45. package/dist/browser/Contexts/MapBoxInstance/index.js +35 -3
  46. package/dist/browser/Contexts/MapBoxInstance/index.js.map +1 -1
  47. package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.js +8 -2
  48. package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.js.map +1 -1
  49. package/dist/browser/Contexts/MapSettings/Context.js +2 -1
  50. package/dist/browser/Contexts/MapSettings/Context.js.map +1 -1
  51. package/dist/browser/Contexts/MapSettings/Provider.js +117 -5
  52. package/dist/browser/Contexts/MapSettings/Provider.js.map +1 -1
  53. package/dist/browser/Contexts/MapSettings/index.js +148 -3
  54. package/dist/browser/Contexts/MapSettings/index.js.map +1 -1
  55. package/dist/browser/Contexts/MapSettings/useMapSettings.js +8 -2
  56. package/dist/browser/Contexts/MapSettings/useMapSettings.js.map +1 -1
  57. package/dist/browser/Contexts/MapboxAccessToken/Context.js +2 -1
  58. package/dist/browser/Contexts/MapboxAccessToken/Context.js.map +1 -1
  59. package/dist/browser/Contexts/MapboxAccessToken/Provider.js +9 -3
  60. package/dist/browser/Contexts/MapboxAccessToken/Provider.js.map +1 -1
  61. package/dist/browser/Contexts/MapboxAccessToken/index.js +22 -4
  62. package/dist/browser/Contexts/MapboxAccessToken/index.js.map +1 -1
  63. package/dist/browser/Contexts/MapboxAccessToken/use.js +8 -2
  64. package/dist/browser/Contexts/MapboxAccessToken/use.js.map +1 -1
  65. package/dist/browser/Contexts/index.js +459 -4
  66. package/dist/browser/Contexts/index.js.map +1 -1
  67. package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.js +110 -6
  68. package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.js.map +1 -1
  69. package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js +36 -4
  70. package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js.map +1 -1
  71. package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.js +40 -4
  72. package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.js.map +1 -1
  73. package/dist/browser/Layers/Builders/index.js +205 -3
  74. package/dist/browser/Layers/Builders/index.js.map +1 -1
  75. package/dist/browser/Layers/CircleLayer.js +3 -2
  76. package/dist/browser/Layers/CircleLayer.js.map +1 -1
  77. package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.js +2 -1
  78. package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.js.map +1 -1
  79. package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.js +2 -1
  80. package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.js.map +1 -1
  81. package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.js +2 -1
  82. package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.js.map +1 -1
  83. package/dist/browser/Layers/Configs/LocationPointLayerConfig.js +2 -1
  84. package/dist/browser/Layers/Configs/LocationPointLayerConfig.js.map +1 -1
  85. package/dist/browser/Layers/Configs/index.js +62 -4
  86. package/dist/browser/Layers/Configs/index.js.map +1 -1
  87. package/dist/browser/Layers/FillLayer.js +3 -2
  88. package/dist/browser/Layers/FillLayer.js.map +1 -1
  89. package/dist/browser/Layers/LineLayer.js +3 -2
  90. package/dist/browser/Layers/LineLayer.js.map +1 -1
  91. package/dist/browser/Layers/SymbolLayer.js +3 -2
  92. package/dist/browser/Layers/SymbolLayer.js.map +1 -1
  93. package/dist/browser/Layers/index.js +213 -7
  94. package/dist/browser/Layers/index.js.map +1 -1
  95. package/dist/browser/MapBoxClasses/MapBase.js +3 -2
  96. package/dist/browser/MapBoxClasses/MapBase.js.map +1 -1
  97. package/dist/browser/MapBoxClasses/MapHeat.js +41 -11
  98. package/dist/browser/MapBoxClasses/MapHeat.js.map +1 -1
  99. package/dist/browser/MapBoxClasses/MapPoints.js +33 -3
  100. package/dist/browser/MapBoxClasses/MapPoints.js.map +1 -1
  101. package/dist/browser/MapBoxClasses/MapSettings.js +6 -5
  102. package/dist/browser/MapBoxClasses/MapSettings.js.map +1 -1
  103. package/dist/browser/MapBoxClasses/index.js +288 -4
  104. package/dist/browser/MapBoxClasses/index.js.map +1 -1
  105. package/dist/browser/Settings/DefaultMapSettings.js +2 -1
  106. package/dist/browser/Settings/DefaultMapSettings.js.map +1 -1
  107. package/dist/browser/Settings/index.js +55 -2
  108. package/dist/browser/Settings/index.js.map +1 -1
  109. package/dist/browser/hooks/index.js +156 -5
  110. package/dist/browser/hooks/index.js.map +1 -1
  111. package/dist/browser/hooks/useDynamicMapResize.js +2 -1
  112. package/dist/browser/hooks/useDynamicMapResize.js.map +1 -1
  113. package/dist/browser/hooks/useDynamicPositioning.js +7 -6
  114. package/dist/browser/hooks/useDynamicPositioning.js.map +1 -1
  115. package/dist/browser/hooks/useFindHashes.js +4 -3
  116. package/dist/browser/hooks/useFindHashes.js.map +1 -1
  117. package/dist/browser/hooks/useHeatMapColors.js +2 -1
  118. package/dist/browser/hooks/useHeatMapColors.js.map +1 -1
  119. package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.js +4 -3
  120. package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.js.map +1 -1
  121. package/dist/browser/index.js +1298 -10
  122. package/dist/browser/index.js.map +1 -1
  123. package/dist/browser/lib/MapStyle.js +1 -0
  124. package/dist/browser/lib/MapStyle.js.map +1 -1
  125. package/dist/browser/lib/index.js +13 -2
  126. package/dist/browser/lib/index.js.map +1 -1
  127. package/dist/browser/types/index.js +0 -1
  128. package/dist/browser/types/index.js.map +1 -1
  129. package/dist/docs.json +296 -296
  130. 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":"AAqCS;AApCT,SAAS,WAAW,gBAAgB;AAEpC,SAAS,mBAAmB;AAE5B,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAU5B,MAAM,sBAAwE,CAAC;AAAA,EACpF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,IAAI,SAAqB,sBAAsB,CAAC,CAAC;AACnF,QAAM,EAAE,KAAK,eAAe,IAAI,kBAAkB;AAElD,QAAM,QAA0B;AAAA,IAC9B;AAAA,IACA;AAAA,EACF;AAEA,YAAU,MAAM;AACd,QAAI,eAAe,OAAO,gBAAgB;AACxC,kBAAY,eAAe,EAAE,gBAAgB,KAAK,iBAAiB,UAAU,aAAa,KAAK,CAAC;AAAA,IAClG;AAAA,EACF,GAAG,CAAC,gBAAgB,KAAK,gBAAgB,aAAa,iBAAiB,IAAI,CAAC;AAE5E,SAAO,oBAAC,mBAAmB,UAAnB,EAA4B,OAAe,UAAS;AAC9D;","names":[]}
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
- export * from "./Provider";
2
- export * from "./State";
3
- export * from "./useMapSettings";
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/index.ts"],"sourcesContent":["export * from './Provider'\nexport * from './State'\nexport * from './useMapSettings'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
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
- import { MapSettingsContext } from "./Context";
3
- const useMapSettings = () => {
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;AAE3B,SAAS,0BAA0B;AAEnC,MAAM,iBAAiB,MAAM;AAC3B,QAAM,UAAU,WAAW,kBAAkB;AAE7C,SAAO;AACT;","names":[]}
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,5 +1,6 @@
1
+ // src/Contexts/MapboxAccessToken/Context.ts
1
2
  import { createContextEx } from "@xyo-network/react-shared";
2
- const MapboxAccessTokenContext = createContextEx();
3
+ var MapboxAccessTokenContext = createContextEx();
3
4
  export {
4
5
  MapboxAccessTokenContext
5
6
  };
@@ -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,MAAM,2BAA2B,gBAA+C;","names":[]}
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
- import { jsx } from "react/jsx-runtime";
1
+ // src/Contexts/MapboxAccessToken/Provider.tsx
2
2
  import { useState } from "react";
3
- import { MapboxAccessTokenContext } from "./Context";
4
- const MapboxAccessTokenProvider = ({ defaultAccessToken, ...props }) => {
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":"AAYS;AAXT,SAAS,gBAAgB;AAEzB,SAAS,gCAAgC;AAMlC,MAAM,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
+ {"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
- export * from "./Context";
2
- export * from "./Provider";
3
- export * from "./State";
4
- export * from "./use";
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/index.ts"],"sourcesContent":["export * from './Context'\nexport * from './Provider'\nexport * from './State'\nexport * from './use'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
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
- import { MapboxAccessTokenContext } from "./Context";
3
- const useMapboxAccessToken = (required = false) => {
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;AAE7B,SAAS,gCAAgC;AAElC,MAAM,uBAAuB,CAAC,WAAW,UAAU;AACxD,SAAO,aAAa,0BAA0B,qBAAqB,QAAQ;AAC7E;","names":[]}
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":[]}