@xyo-network/react-map 3.0.14 → 3.0.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"LayerAnimator.d.ts","sourceRoot":"","sources":["../../../src/Components/LayerAnimator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAEN,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;CACrB;AAKD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAqGpE,CAAA"}
1
+ {"version":3,"file":"LayerAnimator.d.ts","sourceRoot":"","sources":["../../../src/Components/LayerAnimator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAEN,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;CACrB;AAKD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAkGpE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MapBox.d.ts","sourceRoot":"","sources":["../../../src/Components/MapBox.tsx"],"names":[],"mappings":"AACA,OAAO,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,KAEN,MAAM,OAAO,CAAA;AAMd,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0DxC,CAAA"}
1
+ {"version":3,"file":"MapBox.d.ts","sourceRoot":"","sources":["../../../src/Components/MapBox.tsx"],"names":[],"mappings":"AACA,OAAO,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,KAEN,MAAM,OAAO,CAAA;AAMd,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2DxC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MapBoxPoints.d.ts","sourceRoot":"","sources":["../../../src/Components/MapBoxPoints.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAEN,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAKzD,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAA;CAC5B;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgFlE,CAAA"}
1
+ {"version":3,"file":"MapBoxPoints.d.ts","sourceRoot":"","sources":["../../../src/Components/MapBoxPoints.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAEN,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAKzD,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAA;CAC5B;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+ElE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/Contexts/HeatMapInitializer/Provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAEN,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAOrD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAA;IAClC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,iBAAiB,GAAG,yBAAyB,CAAA;IAChE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAsE1F,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/Contexts/HeatMapInitializer/Provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAOrD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAA;IAClC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,iBAAiB,GAAG,yBAAyB,CAAA;IAChE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAoE1F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDynamicMapResize.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDynamicMapResize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAQ7C,eAAO,MAAM,mBAAmB,oBACb,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,gBAC1C,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAC1C,GAAG,2BAmClB,CAAA"}
1
+ {"version":3,"file":"useDynamicMapResize.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDynamicMapResize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAM7C,eAAO,MAAM,mBAAmB,oBACb,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,gBAC1C,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAC1C,GAAG,2BAgClB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { MapOptions } from 'mapbox-gl';
2
2
  declare const useDynamicPositioning: () => {
3
- options: Partial<MapOptions>;
3
+ options: Partial<MapOptions> | undefined;
4
4
  };
5
5
  export { useDynamicPositioning };
6
6
  //# sourceMappingURL=useDynamicPositioning.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDynamicPositioning.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDynamicPositioning.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAiD3C,QAAA,MAAM,qBAAqB;;CAgB1B,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"useDynamicPositioning.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDynamicPositioning.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAiD3C,QAAA,MAAM,qBAAqB;;CAe1B,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
@@ -65,16 +65,15 @@ preferDark.value = true;
65
65
  // src/Components/AnimatedHeatMap.tsx
66
66
  import { darken, useTheme as useTheme2 } from "@mui/material";
67
67
  import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
68
- import React9, { useState as useState9 } from "react";
68
+ import React9, { useState as useState6 } from "react";
69
69
 
70
70
  // src/Contexts/HeatMapInitializer/Provider.tsx
71
71
  import { forget as forget2 } from "@xylabs/forget";
72
- import React3, { useEffect as useEffect6, useMemo as useMemo5, useState as useState6 } from "react";
72
+ import React3, { useEffect as useEffect4, useMemo as useMemo7 } from "react";
73
73
 
74
74
  // src/hooks/useDynamicMapResize.tsx
75
- import { useEffect, useMemo, useState } from "react";
75
+ import { useEffect, useMemo } from "react";
76
76
  var useDynamicMapResize = /* @__PURE__ */ __name((mapContainerRef, mapCanvasRef, mapInstance, active = true) => {
77
- const [dependenciesReady, setDependenciesReady] = useState(false);
78
77
  const resizer = useMemo(() => new ResizeObserver(() => {
79
78
  const width = mapContainerRef.current?.getBoundingClientRect().width;
80
79
  if (width && mapCanvasRef.current) {
@@ -86,9 +85,8 @@ var useDynamicMapResize = /* @__PURE__ */ __name((mapContainerRef, mapCanvasRef,
86
85
  mapContainerRef,
87
86
  mapInstance
88
87
  ]);
89
- useEffect(() => {
90
- const dependenciesReady2 = !!(active && mapInstance && mapContainerRef?.current && mapCanvasRef.current);
91
- setDependenciesReady(dependenciesReady2);
88
+ const dependenciesReady = useMemo(() => {
89
+ return !!(active && mapInstance && mapContainerRef?.current && mapCanvasRef.current);
92
90
  }, [
93
91
  active,
94
92
  mapCanvasRef,
@@ -116,7 +114,7 @@ var useDynamicMapResize = /* @__PURE__ */ __name((mapContainerRef, mapCanvasRef,
116
114
 
117
115
  // src/hooks/useDynamicPositioning.tsx
118
116
  import { useWindowSize } from "@xylabs/react-shared";
119
- import { useEffect as useEffect2, useState as useState2 } from "react";
117
+ import { useMemo as useMemo2 } from "react";
120
118
  var defaultZoom = 1.6;
121
119
  var defaultAspectRatioRange = [
122
120
  0.5,
@@ -140,18 +138,17 @@ var linearInterpolate = /* @__PURE__ */ __name((aspectRatio, degreeRange, aspect
140
138
  return scaledDegree;
141
139
  }, "linearInterpolate");
142
140
  var useDynamicPositioning = /* @__PURE__ */ __name(() => {
143
- const [options, setOptions] = useState2({});
144
141
  const { width, height } = useWindowSize();
145
- useEffect2(() => {
142
+ const options = useMemo2(() => {
146
143
  if (width && height) {
147
144
  const aspectRatio = width / height;
148
- setOptions({
145
+ return {
149
146
  center: [
150
147
  linearInterpolate(aspectRatio, lngRange),
151
148
  linearInterpolate(aspectRatio, latRange)
152
149
  ],
153
150
  zoom: defaultZoom
154
- });
151
+ };
155
152
  }
156
153
  }, [
157
154
  height,
@@ -164,7 +161,7 @@ var useDynamicPositioning = /* @__PURE__ */ __name(() => {
164
161
 
165
162
  // src/hooks/useFindHashes.tsx
166
163
  import { useNetwork } from "@xyo-network/react-network";
167
- import { useMemo as useMemo2 } from "react";
164
+ import { useMemo as useMemo3 } from "react";
168
165
  var animatedAnswerHashesConst = [
169
166
  "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
170
167
  "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
@@ -184,7 +181,7 @@ var useFindHashes = /* @__PURE__ */ __name(() => {
184
181
  const exploreMapHashes = network?.nodes?.find((node) => node.type === "archivist")?.explorerMapHashes;
185
182
  const animatedAnswerHashes = exploreMapHashes?.animatedAnswerHashes || animatedAnswerHashesConst;
186
183
  const staticAnswerHash = exploreMapHashes?.staticAnswerHash || staticAnswerHashConst;
187
- const foundHashes = useMemo2(() => [
184
+ const foundHashes = useMemo3(() => [
188
185
  staticAnswerHash,
189
186
  ...animatedAnswerHashes
190
187
  ], [
@@ -222,7 +219,7 @@ var useHeatMapColors = /* @__PURE__ */ __name(() => {
222
219
  // src/hooks/useQuadKeyPayloadsToFeatures.tsx
223
220
  import { exists } from "@xylabs/exists";
224
221
  import { GeoJson } from "@xyo-network/sdk-geo";
225
- import { useEffect as useEffect3, useState as useState3 } from "react";
222
+ import { useMemo as useMemo4, useState } from "react";
226
223
  var quadKeyToFeature = /* @__PURE__ */ __name(({ density, quadkey }) => {
227
224
  const polygonFeature = new GeoJson(quadkey).polygonFeature();
228
225
  polygonFeature.properties = {
@@ -238,12 +235,12 @@ var setDensity = /* @__PURE__ */ __name((feature) => {
238
235
  return feature;
239
236
  }, "setDensity");
240
237
  var useQuadKeyPayloadsToFeatures = /* @__PURE__ */ __name((payloads) => {
241
- const [multipleFeatureSets, setMultipleFeatureSets] = useState3([
238
+ const [multipleFeatureSets, setMultipleFeatureSets] = useState([
242
239
  []
243
240
  ]);
244
- const [features, setFeatures] = useState3([]);
245
- const [error, setError] = useState3();
246
- useEffect3(() => {
241
+ const [features, setFeatures] = useState([]);
242
+ const [error, setError] = useState();
243
+ useMemo4(() => {
247
244
  if (Array.isArray(payloads)) {
248
245
  if (payloads?.filter(exists).length > 0) {
249
246
  const mappedFeatures = payloads?.map((payload) => payload?.result.map(quadKeyToFeature));
@@ -594,7 +591,7 @@ var MapSettings = class _MapSettings {
594
591
  };
595
592
 
596
593
  // src/Contexts/MapBoxInstance/Provider.tsx
597
- import React, { useEffect as useEffect4, useMemo as useMemo3, useState as useState4 } from "react";
594
+ import React, { useEffect as useEffect2, useMemo as useMemo5, useState as useState2 } from "react";
598
595
 
599
596
  // src/Contexts/MapBoxInstance/Context.ts
600
597
  import { createContext } from "react";
@@ -602,9 +599,9 @@ var MapBoxInstanceContext = createContext({});
602
599
 
603
600
  // src/Contexts/MapBoxInstance/Provider.tsx
604
601
  var MapBoxInstanceProvider = /* @__PURE__ */ __name(({ children }) => {
605
- const [map, setMapBoxInstance] = useState4();
606
- const [mapInitialized, setMapInitialized] = useState4(false);
607
- const value = useMemo3(() => ({
602
+ const [map, setMapBoxInstance] = useState2();
603
+ const [mapInitialized, setMapInitialized] = useState2(false);
604
+ const value = useMemo5(() => ({
608
605
  map,
609
606
  mapInitialized,
610
607
  setMapBoxInstance
@@ -613,7 +610,7 @@ var MapBoxInstanceProvider = /* @__PURE__ */ __name(({ children }) => {
613
610
  mapInitialized,
614
611
  setMapBoxInstance
615
612
  ]);
616
- useEffect4(() => {
613
+ useEffect2(() => {
617
614
  if (!mapInitialized && map) {
618
615
  map?.on("load", () => {
619
616
  setMapInitialized(true);
@@ -639,7 +636,7 @@ var useMapBoxInstance = /* @__PURE__ */ __name(() => {
639
636
  }, "useMapBoxInstance");
640
637
 
641
638
  // src/Contexts/MapSettings/Provider.tsx
642
- import React2, { useEffect as useEffect5, useMemo as useMemo4, useState as useState5 } from "react";
639
+ import React2, { useEffect as useEffect3, useMemo as useMemo6, useState as useState3 } from "react";
643
640
 
644
641
  // src/Contexts/MapSettings/Context.ts
645
642
  import { createContext as createContext2 } from "react";
@@ -647,16 +644,16 @@ var MapSettingsContext = createContext2({});
647
644
 
648
645
  // src/Contexts/MapSettings/Provider.tsx
649
646
  var MapSettingsProvider = /* @__PURE__ */ __name(({ children, debugLayerName, defaultMapSettings, requestLocation, zoom = 1 }) => {
650
- const [mapSettings, setMapSettings] = useState5(defaultMapSettings || {});
647
+ const [mapSettings, setMapSettings] = useState3(defaultMapSettings || {});
651
648
  const { map, mapInitialized } = useMapBoxInstance();
652
- const value = useMemo4(() => ({
649
+ const value = useMemo6(() => ({
653
650
  mapSettings,
654
651
  setMapSettings
655
652
  }), [
656
653
  mapSettings,
657
654
  setMapSettings
658
655
  ]);
659
- useEffect5(() => {
656
+ useEffect3(() => {
660
657
  if (mapSettings && map && mapInitialized) {
661
658
  MapSettings.updateSettings({
662
659
  debugLayerName,
@@ -692,18 +689,28 @@ var HeatMapInitializerContext = createContext3({});
692
689
 
693
690
  // src/Contexts/HeatMapInitializer/Provider.tsx
694
691
  var HeatMapInitializerProvider = /* @__PURE__ */ __name(({ children, featureSets, featureSetsLayers, features, fitToPadding, heatMapColorProps, layers, zoom }) => {
695
- const [mapHeat, setMapHeat] = useState6();
696
692
  const { options } = useDynamicPositioning();
697
693
  const { mapSettings } = useMapSettings();
698
694
  const { map, mapInitialized } = useMapBoxInstance();
699
- const value = useMemo5(() => ({
695
+ const mapHeat = useMemo7(() => {
696
+ return map && features?.length ? new MapHeat({
697
+ features,
698
+ map,
699
+ zoom
700
+ }) : void 0;
701
+ }, [
702
+ map,
703
+ features,
704
+ zoom
705
+ ]);
706
+ const value = useMemo7(() => ({
700
707
  MapHeat: mapHeat,
701
708
  heatMapColorProps
702
709
  }), [
703
710
  mapHeat,
704
711
  heatMapColorProps
705
712
  ]);
706
- useEffect6(() => {
713
+ useEffect4(() => {
707
714
  if (mapInitialized && featureSets?.length && featureSets[0].length > 0 && map && featureSetsLayers?.length) {
708
715
  const { lowUsageColor, highUsageColor } = heatMapColorProps;
709
716
  forget2(MapHeat.initializeAnimatedHeatMapSource(featureSetsLayers, featureSets, map, lowUsageColor, highUsageColor));
@@ -718,7 +725,7 @@ var HeatMapInitializerProvider = /* @__PURE__ */ __name(({ children, featureSets
718
725
  map,
719
726
  heatMapColorProps
720
727
  ]);
721
- useEffect6(() => {
728
+ useEffect4(() => {
722
729
  if (mapHeat && mapInitialized && features?.length && layers?.length) {
723
730
  mapHeat.initializeHeatMapSource(layers);
724
731
  }
@@ -728,7 +735,7 @@ var HeatMapInitializerProvider = /* @__PURE__ */ __name(({ children, featureSets
728
735
  layers,
729
736
  mapInitialized
730
737
  ]);
731
- useEffect6(() => {
738
+ useEffect4(() => {
732
739
  if (mapInitialized) {
733
740
  const { fitToPoints: fitToPoints3 } = mapSettings || {};
734
741
  if (map) {
@@ -741,7 +748,7 @@ var HeatMapInitializerProvider = /* @__PURE__ */ __name(({ children, featureSets
741
748
  top: fitToPadding
742
749
  }
743
750
  }, map, features);
744
- } else if (options.zoom && options.center) {
751
+ } else if (options?.zoom && options.center) {
745
752
  map.setZoom(options.zoom);
746
753
  map.setCenter(options.center);
747
754
  }
@@ -756,19 +763,6 @@ var HeatMapInitializerProvider = /* @__PURE__ */ __name(({ children, featureSets
756
763
  mapInitialized,
757
764
  features
758
765
  ]);
759
- useEffect6(() => {
760
- if (map && features?.length) {
761
- setMapHeat(new MapHeat({
762
- features,
763
- map,
764
- zoom
765
- }));
766
- }
767
- }, [
768
- map,
769
- features,
770
- zoom
771
- ]);
772
766
  return /* @__PURE__ */ React3.createElement(HeatMapInitializerContext.Provider, {
773
767
  value
774
768
  }, children);
@@ -788,10 +782,10 @@ import { createContextEx } from "@xyo-network/react-shared";
788
782
  var MapboxAccessTokenContext = createContextEx();
789
783
 
790
784
  // src/Contexts/MapboxAccessToken/Provider.tsx
791
- import React4, { useMemo as useMemo6, useState as useState7 } from "react";
785
+ import React4, { useMemo as useMemo8, useState as useState4 } from "react";
792
786
  var MapboxAccessTokenProvider = /* @__PURE__ */ __name(({ defaultAccessToken, ...props }) => {
793
- const [accessToken, setAccessToken] = useState7();
794
- const value = useMemo6(() => ({
787
+ const [accessToken, setAccessToken] = useState4();
788
+ const value = useMemo8(() => ({
795
789
  accessToken: accessToken ?? defaultAccessToken,
796
790
  provided: true,
797
791
  setAccessToken
@@ -1120,7 +1114,7 @@ import React8 from "react";
1120
1114
  // src/Components/MapBox.tsx
1121
1115
  import "mapbox-gl/dist/mapbox-gl.css";
1122
1116
  import { Map } from "mapbox-gl";
1123
- import React5, { useEffect as useEffect7, useRef, useState as useState8 } from "react";
1117
+ import React5, { useEffect as useEffect5, useRef, useState as useState5 } from "react";
1124
1118
 
1125
1119
  // src/lib/MapStyle.ts
1126
1120
  var MapStyle;
@@ -1135,14 +1129,14 @@ var MapStyle;
1135
1129
 
1136
1130
  // src/Components/MapBox.tsx
1137
1131
  var MapBox = /* @__PURE__ */ __name(({ accessToken, darkMode = false, options, zoom = 2, ...props }) => {
1138
- const [map, setMap] = useState8();
1132
+ const [map, setMap] = useState5();
1139
1133
  const mapContainerRef = useRef(null);
1140
1134
  const mapCanvasRef = useRef(null);
1141
1135
  const { setMapBoxInstance, map: mapInstance } = useMapBoxInstance();
1142
1136
  const { mapSettings } = useMapSettings();
1143
1137
  const activeResize = mapSettings?.dynamicMapResize.value;
1144
1138
  useDynamicMapResize(mapContainerRef, mapCanvasRef, mapInstance, activeResize);
1145
- useEffect7(() => {
1139
+ useEffect5(() => {
1146
1140
  if (mapSettings?.preferDark?.value === true) {
1147
1141
  map?.setStyle(`mapbox://styles/${MapStyle.Dark}`);
1148
1142
  } else {
@@ -1153,7 +1147,7 @@ var MapBox = /* @__PURE__ */ __name(({ accessToken, darkMode = false, options, z
1153
1147
  darkMode,
1154
1148
  mapSettings
1155
1149
  ]);
1156
- useEffect7(() => {
1150
+ useEffect5(() => {
1157
1151
  const map2 = new Map({
1158
1152
  accessToken,
1159
1153
  center: [
@@ -1268,7 +1262,7 @@ var AnimatedHeatMap = /* @__PURE__ */ __name(({ accessToken, animatedFeatureSets
1268
1262
  const theme = useTheme2();
1269
1263
  const { staticMapColor, lowUsageColor, highUsageColor } = heatMapColorProps || {};
1270
1264
  const localStaticMapColor = staticMapColor ?? theme.palette.primary.light;
1271
- const [layers] = useState9(() => [
1265
+ const [layers] = useState6(() => [
1272
1266
  LocationHeatMapLayerBuilderAnimated(localStaticMapColor, 0, "static"),
1273
1267
  LocationHeatMapLayerBuilderAnimated(lowUsageColor || localStaticMapColor, 0, "animated"),
1274
1268
  LocationHeatMapLayerBuilderAnimated(highUsageColor || darken(localStaticMapColor, 0.9), 1, "animated")
@@ -1400,12 +1394,30 @@ fitToPoints2.value = true;
1400
1394
 
1401
1395
  // src/Components/LayerAnimator.tsx
1402
1396
  import { useInterval } from "@xylabs/react-shared";
1403
- import React13, { useCallback, useEffect as useEffect8, useRef as useRef2, useState as useState10 } from "react";
1397
+ import React13, { useCallback, useEffect as useEffect6, useMemo as useMemo9, useRef as useRef2 } from "react";
1404
1398
  var timeIncrement = 2e3;
1405
1399
  var animatedLayerCount = 3;
1406
1400
  var LayerAnimator = /* @__PURE__ */ __name(({ animateLayers, children, layers, layersInitialized, map }) => {
1407
- const [fillLayers, setFillLayers] = useState10([]);
1408
1401
  const layerIndexQueue = useRef2([]);
1402
+ const fillLayers = useMemo9(() => {
1403
+ if (layers?.length && map && layersInitialized) {
1404
+ return layers.filter((layer) => {
1405
+ const fillLayer = layer.id.startsWith("location-fill");
1406
+ if (fillLayer) {
1407
+ map.setPaintProperty(layer.id, "fill-opacity-transition", {
1408
+ delay: 0,
1409
+ duration: 4e3
1410
+ });
1411
+ }
1412
+ return fillLayer;
1413
+ });
1414
+ }
1415
+ return [];
1416
+ }, [
1417
+ layers,
1418
+ layersInitialized,
1419
+ map
1420
+ ]);
1409
1421
  const incrementQueue = useCallback((index) => {
1410
1422
  if (fillLayers[index]) {
1411
1423
  layerIndexQueue.current.push(index);
@@ -1453,24 +1465,6 @@ var LayerAnimator = /* @__PURE__ */ __name(({ animateLayers, children, layers, l
1453
1465
  map,
1454
1466
  unshiftQueue
1455
1467
  ]);
1456
- useEffect8(() => {
1457
- if (layers?.length && map && layersInitialized) {
1458
- setFillLayers(layers.filter((layer) => {
1459
- const fillLayer = layer.id.startsWith("location-fill");
1460
- if (fillLayer) {
1461
- map.setPaintProperty(layer.id, "fill-opacity-transition", {
1462
- delay: 0,
1463
- duration: 4e3
1464
- });
1465
- }
1466
- return fillLayer;
1467
- }));
1468
- }
1469
- }, [
1470
- layers,
1471
- layersInitialized,
1472
- map
1473
- ]);
1474
1468
  const queueLayerAnimation = useCallback(() => {
1475
1469
  const animatedLayers = [];
1476
1470
  for (let i = 0; i < animatedLayerCount; i++) {
@@ -1489,7 +1483,7 @@ var LayerAnimator = /* @__PURE__ */ __name(({ animateLayers, children, layers, l
1489
1483
  getNextLayer,
1490
1484
  layerAnimateWorker
1491
1485
  ]);
1492
- useEffect8(() => {
1486
+ useEffect6(() => {
1493
1487
  if (animateLayers && layersInitialized && map && fillLayers.length > 0) {
1494
1488
  queueLayerAnimation();
1495
1489
  }
@@ -1511,9 +1505,8 @@ var LayerAnimator = /* @__PURE__ */ __name(({ animateLayers, children, layers, l
1511
1505
  // src/Components/MapBoxPoints.tsx
1512
1506
  import { Alert as Alert2 } from "@mui/material";
1513
1507
  import { FlexCol as FlexCol6 } from "@xylabs/react-flexbox";
1514
- import React14, { useCallback as useCallback2, useEffect as useEffect9, useState as useState11 } from "react";
1508
+ import React14, { useCallback as useCallback2, useEffect as useEffect7, useMemo as useMemo10 } from "react";
1515
1509
  var MapboxPointsFlexBox = /* @__PURE__ */ __name(({ accessToken, features, fitToPointsPadding = 20, layers, zoom, ...props }) => {
1516
- const [mapPoints, setMapPoints] = useState11();
1517
1510
  const { mapSettings } = useMapSettings();
1518
1511
  const { map, mapInitialized } = useMapBoxInstance();
1519
1512
  const customFitToBoundsOptions = /* @__PURE__ */ __name((zoom2) => {
@@ -1524,6 +1517,17 @@ var MapboxPointsFlexBox = /* @__PURE__ */ __name(({ accessToken, features, fitTo
1524
1517
  }
1525
1518
  return {};
1526
1519
  }, "customFitToBoundsOptions");
1520
+ const mapPoints = useMemo10(() => {
1521
+ return map && features?.length ? new MapPoints({
1522
+ features,
1523
+ map,
1524
+ zoom
1525
+ }) : void 0;
1526
+ }, [
1527
+ map,
1528
+ features,
1529
+ zoom
1530
+ ]);
1527
1531
  const updateFeatures = useCallback2(() => {
1528
1532
  if (mapPoints?.isMapReady && features?.length && layers) for (const layer of layers) {
1529
1533
  mapPoints.initializeMapSource(layer);
@@ -1570,20 +1574,7 @@ var MapboxPointsFlexBox = /* @__PURE__ */ __name(({ accessToken, features, fitTo
1570
1574
  updateFeatures,
1571
1575
  zoom
1572
1576
  ]);
1573
- useEffect9(() => {
1574
- if (map && features?.length) {
1575
- setMapPoints(new MapPoints({
1576
- features,
1577
- map,
1578
- zoom
1579
- }));
1580
- }
1581
- }, [
1582
- map,
1583
- features,
1584
- zoom
1585
- ]);
1586
- useEffect9(() => {
1577
+ useEffect7(() => {
1587
1578
  if (mapInitialized) {
1588
1579
  updateMapSetup();
1589
1580
  reInitializeMap();