@xyo-network/react-map 2.64.9 → 2.64.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs.json +51982 -38974
- package/package.json +15 -15
- package/dist/browser/AnimatedHeatMapSettings.cjs +0 -87
- package/dist/browser/AnimatedHeatMapSettings.cjs.map +0 -1
- package/dist/browser/AnimatedHeatMapSettings.js +0 -64
- package/dist/browser/AnimatedHeatMapSettings.js.map +0 -1
- package/dist/browser/Colors/MapColorProps.cjs +0 -19
- package/dist/browser/Colors/MapColorProps.cjs.map +0 -1
- package/dist/browser/Colors/MapColorProps.js +0 -1
- package/dist/browser/Colors/MapColorProps.js.map +0 -1
- package/dist/browser/Colors/index.cjs +0 -19
- package/dist/browser/Colors/index.cjs.map +0 -1
- package/dist/browser/Colors/index.js +0 -1
- package/dist/browser/Colors/index.js.map +0 -1
- package/dist/browser/Components/AnimatedHeatMap.cjs +0 -673
- package/dist/browser/Components/AnimatedHeatMap.cjs.map +0 -1
- package/dist/browser/Components/AnimatedHeatMap.js +0 -652
- package/dist/browser/Components/AnimatedHeatMap.js.map +0 -1
- package/dist/browser/Components/AnimatedHeatMapLoaded.cjs +0 -913
- package/dist/browser/Components/AnimatedHeatMapLoaded.cjs.map +0 -1
- package/dist/browser/Components/AnimatedHeatMapLoaded.js +0 -892
- package/dist/browser/Components/AnimatedHeatMapLoaded.js.map +0 -1
- package/dist/browser/Components/FeaturesToLayersMap.cjs +0 -19
- package/dist/browser/Components/FeaturesToLayersMap.cjs.map +0 -1
- package/dist/browser/Components/FeaturesToLayersMap.js +0 -1
- package/dist/browser/Components/FeaturesToLayersMap.js.map +0 -1
- package/dist/browser/Components/HeatMapSettings.cjs +0 -86
- package/dist/browser/Components/HeatMapSettings.cjs.map +0 -1
- package/dist/browser/Components/HeatMapSettings.js +0 -63
- package/dist/browser/Components/HeatMapSettings.js.map +0 -1
- package/dist/browser/Components/LayerAnimator.cjs +0 -116
- package/dist/browser/Components/LayerAnimator.cjs.map +0 -1
- package/dist/browser/Components/LayerAnimator.js +0 -95
- package/dist/browser/Components/LayerAnimator.js.map +0 -1
- package/dist/browser/Components/Legend.cjs +0 -77
- package/dist/browser/Components/Legend.cjs.map +0 -1
- package/dist/browser/Components/Legend.js +0 -56
- package/dist/browser/Components/Legend.js.map +0 -1
- package/dist/browser/Components/Legends/ColorGradient.cjs +0 -47
- package/dist/browser/Components/Legends/ColorGradient.cjs.map +0 -1
- package/dist/browser/Components/Legends/ColorGradient.js +0 -26
- package/dist/browser/Components/Legends/ColorGradient.js.map +0 -1
- package/dist/browser/Components/Legends/index.cjs +0 -49
- package/dist/browser/Components/Legends/index.cjs.map +0 -1
- package/dist/browser/Components/Legends/index.js +0 -26
- package/dist/browser/Components/Legends/index.js.map +0 -1
- package/dist/browser/Components/MapBox.cjs +0 -134
- package/dist/browser/Components/MapBox.cjs.map +0 -1
- package/dist/browser/Components/MapBox.js +0 -113
- package/dist/browser/Components/MapBox.js.map +0 -1
- package/dist/browser/Components/MapBoxHeat.cjs +0 -182
- package/dist/browser/Components/MapBoxHeat.cjs.map +0 -1
- package/dist/browser/Components/MapBoxHeat.js +0 -161
- package/dist/browser/Components/MapBoxHeat.js.map +0 -1
- package/dist/browser/Components/MapBoxPoints.cjs +0 -280
- package/dist/browser/Components/MapBoxPoints.cjs.map +0 -1
- package/dist/browser/Components/MapBoxPoints.js +0 -259
- package/dist/browser/Components/MapBoxPoints.js.map +0 -1
- package/dist/browser/Components/MapSettingsComponents/Setting.cjs +0 -57
- package/dist/browser/Components/MapSettingsComponents/Setting.cjs.map +0 -1
- package/dist/browser/Components/MapSettingsComponents/Setting.js +0 -36
- package/dist/browser/Components/MapSettingsComponents/Setting.js.map +0 -1
- package/dist/browser/Components/MapSettingsComponents/SettingsBox.cjs +0 -71
- package/dist/browser/Components/MapSettingsComponents/SettingsBox.cjs.map +0 -1
- package/dist/browser/Components/MapSettingsComponents/SettingsBox.js +0 -50
- package/dist/browser/Components/MapSettingsComponents/SettingsBox.js.map +0 -1
- package/dist/browser/Components/MapSettingsComponents/index.cjs +0 -74
- package/dist/browser/Components/MapSettingsComponents/index.cjs.map +0 -1
- package/dist/browser/Components/MapSettingsComponents/index.js +0 -51
- package/dist/browser/Components/MapSettingsComponents/index.js.map +0 -1
- package/dist/browser/Components/index.cjs +0 -1108
- package/dist/browser/Components/index.cjs.map +0 -1
- package/dist/browser/Components/index.js +0 -1085
- package/dist/browser/Components/index.js.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/Context.cjs +0 -28
- package/dist/browser/Contexts/HeatMapInitializer/Context.cjs.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/Context.js +0 -7
- package/dist/browser/Contexts/HeatMapInitializer/Context.js.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/Provider.cjs +0 -306
- package/dist/browser/Contexts/HeatMapInitializer/Provider.cjs.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/Provider.js +0 -285
- package/dist/browser/Contexts/HeatMapInitializer/Provider.js.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/State.cjs +0 -19
- package/dist/browser/Contexts/HeatMapInitializer/State.cjs.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/State.js +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/State.js.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/index.cjs +0 -318
- package/dist/browser/Contexts/HeatMapInitializer/index.cjs.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/index.js +0 -295
- package/dist/browser/Contexts/HeatMapInitializer/index.js.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.cjs +0 -39
- package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.cjs.map +0 -1
- package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.js +0 -18
- package/dist/browser/Contexts/HeatMapInitializer/useHeatMapInitializer.js.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/Context.cjs +0 -28
- package/dist/browser/Contexts/MapBoxInstance/Context.cjs.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/Context.js +0 -7
- package/dist/browser/Contexts/MapBoxInstance/Context.js.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/Provider.cjs +0 -47
- package/dist/browser/Contexts/MapBoxInstance/Provider.cjs.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/Provider.js +0 -26
- package/dist/browser/Contexts/MapBoxInstance/Provider.js.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/State.cjs +0 -19
- package/dist/browser/Contexts/MapBoxInstance/State.cjs.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/State.js +0 -1
- package/dist/browser/Contexts/MapBoxInstance/State.js.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/index.cjs +0 -59
- package/dist/browser/Contexts/MapBoxInstance/index.cjs.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/index.js +0 -36
- package/dist/browser/Contexts/MapBoxInstance/index.js.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.cjs +0 -39
- package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.cjs.map +0 -1
- package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.js +0 -18
- package/dist/browser/Contexts/MapBoxInstance/useMapBoxInstance.js.map +0 -1
- package/dist/browser/Contexts/MapSettings/Context.cjs +0 -28
- package/dist/browser/Contexts/MapSettings/Context.cjs.map +0 -1
- package/dist/browser/Contexts/MapSettings/Context.js +0 -7
- package/dist/browser/Contexts/MapSettings/Context.js.map +0 -1
- package/dist/browser/Contexts/MapSettings/Provider.cjs +0 -162
- package/dist/browser/Contexts/MapSettings/Provider.cjs.map +0 -1
- package/dist/browser/Contexts/MapSettings/Provider.js +0 -141
- package/dist/browser/Contexts/MapSettings/Provider.js.map +0 -1
- package/dist/browser/Contexts/MapSettings/State.cjs +0 -19
- package/dist/browser/Contexts/MapSettings/State.cjs.map +0 -1
- package/dist/browser/Contexts/MapSettings/State.js +0 -1
- package/dist/browser/Contexts/MapSettings/State.js.map +0 -1
- package/dist/browser/Contexts/MapSettings/index.cjs +0 -172
- package/dist/browser/Contexts/MapSettings/index.cjs.map +0 -1
- package/dist/browser/Contexts/MapSettings/index.js +0 -149
- package/dist/browser/Contexts/MapSettings/index.js.map +0 -1
- package/dist/browser/Contexts/MapSettings/useMapSettings.cjs +0 -37
- package/dist/browser/Contexts/MapSettings/useMapSettings.cjs.map +0 -1
- package/dist/browser/Contexts/MapSettings/useMapSettings.js +0 -16
- package/dist/browser/Contexts/MapSettings/useMapSettings.js.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/Context.cjs +0 -28
- package/dist/browser/Contexts/MapboxAccessToken/Context.cjs.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/Context.js +0 -7
- package/dist/browser/Contexts/MapboxAccessToken/Context.js.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/Provider.cjs +0 -38
- package/dist/browser/Contexts/MapboxAccessToken/Provider.cjs.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/Provider.js +0 -17
- package/dist/browser/Contexts/MapboxAccessToken/Provider.js.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/State.cjs +0 -19
- package/dist/browser/Contexts/MapboxAccessToken/State.cjs.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/State.js +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/State.js.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/index.cjs +0 -46
- package/dist/browser/Contexts/MapboxAccessToken/index.cjs.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/index.js +0 -23
- package/dist/browser/Contexts/MapboxAccessToken/index.js.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/use.cjs +0 -36
- package/dist/browser/Contexts/MapboxAccessToken/use.cjs.map +0 -1
- package/dist/browser/Contexts/MapboxAccessToken/use.js +0 -15
- package/dist/browser/Contexts/MapboxAccessToken/use.js.map +0 -1
- package/dist/browser/Contexts/index.cjs +0 -483
- package/dist/browser/Contexts/index.cjs.map +0 -1
- package/dist/browser/Contexts/index.js +0 -460
- package/dist/browser/Contexts/index.js.map +0 -1
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.cjs +0 -161
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.cjs.map +0 -1
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.js +0 -138
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilder.js.map +0 -1
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.cjs +0 -75
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.cjs.map +0 -1
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js +0 -52
- package/dist/browser/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js.map +0 -1
- package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.cjs +0 -76
- package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.cjs.map +0 -1
- package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.js +0 -53
- package/dist/browser/Layers/Builders/LocationPointsMapLayerBuilder.js.map +0 -1
- package/dist/browser/Layers/Builders/index.cjs +0 -229
- package/dist/browser/Layers/Builders/index.cjs.map +0 -1
- package/dist/browser/Layers/Builders/index.js +0 -206
- package/dist/browser/Layers/Builders/index.js.map +0 -1
- package/dist/browser/Layers/CircleLayer.cjs +0 -50
- package/dist/browser/Layers/CircleLayer.cjs.map +0 -1
- package/dist/browser/Layers/CircleLayer.js +0 -29
- package/dist/browser/Layers/CircleLayer.js.map +0 -1
- package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.cjs +0 -37
- package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.cjs.map +0 -1
- package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.js +0 -16
- package/dist/browser/Layers/Configs/HeatMapFillLayerConfig.js.map +0 -1
- package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.cjs +0 -37
- package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.cjs.map +0 -1
- package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.js +0 -16
- package/dist/browser/Layers/Configs/HeatMapLineLayerConfig.js.map +0 -1
- package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.cjs +0 -44
- package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.cjs.map +0 -1
- package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.js +0 -23
- package/dist/browser/Layers/Configs/HeatMapSymbolLayerConfig.js.map +0 -1
- package/dist/browser/Layers/Configs/LocationPointLayerConfig.cjs +0 -35
- package/dist/browser/Layers/Configs/LocationPointLayerConfig.cjs.map +0 -1
- package/dist/browser/Layers/Configs/LocationPointLayerConfig.js +0 -14
- package/dist/browser/Layers/Configs/LocationPointLayerConfig.js.map +0 -1
- package/dist/browser/Layers/Configs/index.cjs +0 -86
- package/dist/browser/Layers/Configs/index.cjs.map +0 -1
- package/dist/browser/Layers/Configs/index.js +0 -63
- package/dist/browser/Layers/Configs/index.js.map +0 -1
- package/dist/browser/Layers/FillLayer.cjs +0 -44
- package/dist/browser/Layers/FillLayer.cjs.map +0 -1
- package/dist/browser/Layers/FillLayer.js +0 -23
- package/dist/browser/Layers/FillLayer.js.map +0 -1
- package/dist/browser/Layers/LineLayer.cjs +0 -45
- package/dist/browser/Layers/LineLayer.cjs.map +0 -1
- package/dist/browser/Layers/LineLayer.js +0 -24
- package/dist/browser/Layers/LineLayer.js.map +0 -1
- package/dist/browser/Layers/MapLayer.cjs +0 -19
- package/dist/browser/Layers/MapLayer.cjs.map +0 -1
- package/dist/browser/Layers/MapLayer.js +0 -1
- package/dist/browser/Layers/MapLayer.js.map +0 -1
- package/dist/browser/Layers/SymbolLayer.cjs +0 -44
- package/dist/browser/Layers/SymbolLayer.cjs.map +0 -1
- package/dist/browser/Layers/SymbolLayer.js +0 -23
- package/dist/browser/Layers/SymbolLayer.js.map +0 -1
- package/dist/browser/Layers/index.cjs +0 -237
- package/dist/browser/Layers/index.cjs.map +0 -1
- package/dist/browser/Layers/index.js +0 -214
- package/dist/browser/Layers/index.js.map +0 -1
- package/dist/browser/MapBoxClasses/MapBase.cjs +0 -52
- package/dist/browser/MapBoxClasses/MapBase.cjs.map +0 -1
- package/dist/browser/MapBoxClasses/MapBase.js +0 -31
- package/dist/browser/MapBoxClasses/MapBase.js.map +0 -1
- package/dist/browser/MapBoxClasses/MapHeat.cjs +0 -190
- package/dist/browser/MapBoxClasses/MapHeat.cjs.map +0 -1
- package/dist/browser/MapBoxClasses/MapHeat.js +0 -169
- package/dist/browser/MapBoxClasses/MapHeat.js.map +0 -1
- package/dist/browser/MapBoxClasses/MapPoints.cjs +0 -78
- package/dist/browser/MapBoxClasses/MapPoints.cjs.map +0 -1
- package/dist/browser/MapBoxClasses/MapPoints.js +0 -57
- package/dist/browser/MapBoxClasses/MapPoints.js.map +0 -1
- package/dist/browser/MapBoxClasses/MapSettings.cjs +0 -119
- package/dist/browser/MapBoxClasses/MapSettings.cjs.map +0 -1
- package/dist/browser/MapBoxClasses/MapSettings.js +0 -98
- package/dist/browser/MapBoxClasses/MapSettings.js.map +0 -1
- package/dist/browser/MapBoxClasses/index.cjs +0 -312
- package/dist/browser/MapBoxClasses/index.cjs.map +0 -1
- package/dist/browser/MapBoxClasses/index.js +0 -289
- package/dist/browser/MapBoxClasses/index.js.map +0 -1
- package/dist/browser/Settings/DefaultMapSettings.cjs +0 -77
- package/dist/browser/Settings/DefaultMapSettings.cjs.map +0 -1
- package/dist/browser/Settings/DefaultMapSettings.js +0 -56
- package/dist/browser/Settings/DefaultMapSettings.js.map +0 -1
- package/dist/browser/Settings/MapSetting.cjs +0 -19
- package/dist/browser/Settings/MapSetting.cjs.map +0 -1
- package/dist/browser/Settings/MapSetting.js +0 -1
- package/dist/browser/Settings/MapSetting.js.map +0 -1
- package/dist/browser/Settings/index.cjs +0 -79
- package/dist/browser/Settings/index.cjs.map +0 -1
- package/dist/browser/Settings/index.js +0 -56
- package/dist/browser/Settings/index.js.map +0 -1
- package/dist/browser/hooks/index.cjs +0 -180
- package/dist/browser/hooks/index.cjs.map +0 -1
- package/dist/browser/hooks/index.js +0 -157
- package/dist/browser/hooks/index.js.map +0 -1
- package/dist/browser/hooks/useDynamicMapResize.cjs +0 -54
- package/dist/browser/hooks/useDynamicMapResize.cjs.map +0 -1
- package/dist/browser/hooks/useDynamicMapResize.js +0 -33
- package/dist/browser/hooks/useDynamicMapResize.js.map +0 -1
- package/dist/browser/hooks/useDynamicPositioning.cjs +0 -55
- package/dist/browser/hooks/useDynamicPositioning.cjs.map +0 -1
- package/dist/browser/hooks/useDynamicPositioning.js +0 -34
- package/dist/browser/hooks/useDynamicPositioning.js.map +0 -1
- package/dist/browser/hooks/useFindHashes.cjs +0 -50
- package/dist/browser/hooks/useFindHashes.cjs.map +0 -1
- package/dist/browser/hooks/useFindHashes.js +0 -29
- package/dist/browser/hooks/useFindHashes.js.map +0 -1
- package/dist/browser/hooks/useHeatMapColors.cjs +0 -46
- package/dist/browser/hooks/useHeatMapColors.cjs.map +0 -1
- package/dist/browser/hooks/useHeatMapColors.js +0 -25
- package/dist/browser/hooks/useHeatMapColors.js.map +0 -1
- package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.cjs +0 -65
- package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.cjs.map +0 -1
- package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.js +0 -44
- package/dist/browser/hooks/useQuadKeyPayloadsToFeatures.js.map +0 -1
- package/dist/browser/lib/MapBoxBaseProps.cjs +0 -19
- package/dist/browser/lib/MapBoxBaseProps.cjs.map +0 -1
- package/dist/browser/lib/MapBoxBaseProps.js +0 -1
- package/dist/browser/lib/MapBoxBaseProps.js.map +0 -1
- package/dist/browser/lib/MapStyle.cjs +0 -35
- package/dist/browser/lib/MapStyle.cjs.map +0 -1
- package/dist/browser/lib/MapStyle.js +0 -14
- package/dist/browser/lib/MapStyle.js.map +0 -1
- package/dist/browser/lib/index.cjs +0 -37
- package/dist/browser/lib/index.cjs.map +0 -1
- package/dist/browser/lib/index.js +0 -14
- package/dist/browser/lib/index.js.map +0 -1
- package/dist/browser/types/NetworkLocationAnswerBase.cjs +0 -19
- package/dist/browser/types/NetworkLocationAnswerBase.cjs.map +0 -1
- package/dist/browser/types/NetworkLocationAnswerBase.js +0 -1
- package/dist/browser/types/NetworkLocationAnswerBase.js.map +0 -1
- package/dist/browser/types/index.cjs +0 -19
- package/dist/browser/types/index.cjs.map +0 -1
- package/dist/browser/types/index.js +0 -1
- package/dist/browser/types/index.js.map +0 -1
- package/dist/node/AnimatedHeatMapSettings.cjs +0 -91
- package/dist/node/AnimatedHeatMapSettings.cjs.map +0 -1
- package/dist/node/AnimatedHeatMapSettings.js +0 -64
- package/dist/node/AnimatedHeatMapSettings.js.map +0 -1
- package/dist/node/Colors/MapColorProps.cjs +0 -19
- package/dist/node/Colors/MapColorProps.cjs.map +0 -1
- package/dist/node/Colors/MapColorProps.js +0 -1
- package/dist/node/Colors/MapColorProps.js.map +0 -1
- package/dist/node/Colors/index.cjs +0 -19
- package/dist/node/Colors/index.cjs.map +0 -1
- package/dist/node/Colors/index.js +0 -1
- package/dist/node/Colors/index.js.map +0 -1
- package/dist/node/Components/AnimatedHeatMap.cjs +0 -679
- package/dist/node/Components/AnimatedHeatMap.cjs.map +0 -1
- package/dist/node/Components/AnimatedHeatMap.js +0 -654
- package/dist/node/Components/AnimatedHeatMap.js.map +0 -1
- package/dist/node/Components/AnimatedHeatMapLoaded.cjs +0 -920
- package/dist/node/Components/AnimatedHeatMapLoaded.cjs.map +0 -1
- package/dist/node/Components/AnimatedHeatMapLoaded.js +0 -895
- package/dist/node/Components/AnimatedHeatMapLoaded.js.map +0 -1
- package/dist/node/Components/FeaturesToLayersMap.cjs +0 -19
- package/dist/node/Components/FeaturesToLayersMap.cjs.map +0 -1
- package/dist/node/Components/FeaturesToLayersMap.js +0 -1
- package/dist/node/Components/FeaturesToLayersMap.js.map +0 -1
- package/dist/node/Components/HeatMapSettings.cjs +0 -90
- package/dist/node/Components/HeatMapSettings.cjs.map +0 -1
- package/dist/node/Components/HeatMapSettings.js +0 -63
- package/dist/node/Components/HeatMapSettings.js.map +0 -1
- package/dist/node/Components/LayerAnimator.cjs +0 -120
- package/dist/node/Components/LayerAnimator.cjs.map +0 -1
- package/dist/node/Components/LayerAnimator.js +0 -95
- package/dist/node/Components/LayerAnimator.js.map +0 -1
- package/dist/node/Components/Legend.cjs +0 -81
- package/dist/node/Components/Legend.cjs.map +0 -1
- package/dist/node/Components/Legend.js +0 -56
- package/dist/node/Components/Legend.js.map +0 -1
- package/dist/node/Components/Legends/ColorGradient.cjs +0 -51
- package/dist/node/Components/Legends/ColorGradient.cjs.map +0 -1
- package/dist/node/Components/Legends/ColorGradient.js +0 -26
- package/dist/node/Components/Legends/ColorGradient.js.map +0 -1
- package/dist/node/Components/Legends/index.cjs +0 -53
- package/dist/node/Components/Legends/index.cjs.map +0 -1
- package/dist/node/Components/Legends/index.js +0 -26
- package/dist/node/Components/Legends/index.js.map +0 -1
- package/dist/node/Components/MapBox.cjs +0 -140
- package/dist/node/Components/MapBox.cjs.map +0 -1
- package/dist/node/Components/MapBox.js +0 -115
- package/dist/node/Components/MapBox.js.map +0 -1
- package/dist/node/Components/MapBoxHeat.cjs +0 -188
- package/dist/node/Components/MapBoxHeat.cjs.map +0 -1
- package/dist/node/Components/MapBoxHeat.js +0 -163
- package/dist/node/Components/MapBoxHeat.js.map +0 -1
- package/dist/node/Components/MapBoxPoints.cjs +0 -286
- package/dist/node/Components/MapBoxPoints.cjs.map +0 -1
- package/dist/node/Components/MapBoxPoints.js +0 -261
- package/dist/node/Components/MapBoxPoints.js.map +0 -1
- package/dist/node/Components/MapSettingsComponents/Setting.cjs +0 -61
- package/dist/node/Components/MapSettingsComponents/Setting.cjs.map +0 -1
- package/dist/node/Components/MapSettingsComponents/Setting.js +0 -36
- package/dist/node/Components/MapSettingsComponents/Setting.js.map +0 -1
- package/dist/node/Components/MapSettingsComponents/SettingsBox.cjs +0 -75
- package/dist/node/Components/MapSettingsComponents/SettingsBox.cjs.map +0 -1
- package/dist/node/Components/MapSettingsComponents/SettingsBox.js +0 -50
- package/dist/node/Components/MapSettingsComponents/SettingsBox.js.map +0 -1
- package/dist/node/Components/MapSettingsComponents/index.cjs +0 -79
- package/dist/node/Components/MapSettingsComponents/index.cjs.map +0 -1
- package/dist/node/Components/MapSettingsComponents/index.js +0 -51
- package/dist/node/Components/MapSettingsComponents/index.js.map +0 -1
- package/dist/node/Components/index.cjs +0 -1125
- package/dist/node/Components/index.cjs.map +0 -1
- package/dist/node/Components/index.js +0 -1088
- package/dist/node/Components/index.js.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/Context.cjs +0 -32
- package/dist/node/Contexts/HeatMapInitializer/Context.cjs.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/Context.js +0 -7
- package/dist/node/Contexts/HeatMapInitializer/Context.js.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/Provider.cjs +0 -310
- package/dist/node/Contexts/HeatMapInitializer/Provider.cjs.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/Provider.js +0 -285
- package/dist/node/Contexts/HeatMapInitializer/Provider.js.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/State.cjs +0 -19
- package/dist/node/Contexts/HeatMapInitializer/State.cjs.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/State.js +0 -1
- package/dist/node/Contexts/HeatMapInitializer/State.js.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/index.cjs +0 -323
- package/dist/node/Contexts/HeatMapInitializer/index.cjs.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/index.js +0 -295
- package/dist/node/Contexts/HeatMapInitializer/index.js.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/useHeatMapInitializer.cjs +0 -43
- package/dist/node/Contexts/HeatMapInitializer/useHeatMapInitializer.cjs.map +0 -1
- package/dist/node/Contexts/HeatMapInitializer/useHeatMapInitializer.js +0 -18
- package/dist/node/Contexts/HeatMapInitializer/useHeatMapInitializer.js.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/Context.cjs +0 -32
- package/dist/node/Contexts/MapBoxInstance/Context.cjs.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/Context.js +0 -7
- package/dist/node/Contexts/MapBoxInstance/Context.js.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/Provider.cjs +0 -51
- package/dist/node/Contexts/MapBoxInstance/Provider.cjs.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/Provider.js +0 -26
- package/dist/node/Contexts/MapBoxInstance/Provider.js.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/State.cjs +0 -19
- package/dist/node/Contexts/MapBoxInstance/State.cjs.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/State.js +0 -1
- package/dist/node/Contexts/MapBoxInstance/State.js.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/index.cjs +0 -64
- package/dist/node/Contexts/MapBoxInstance/index.cjs.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/index.js +0 -36
- package/dist/node/Contexts/MapBoxInstance/index.js.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/useMapBoxInstance.cjs +0 -43
- package/dist/node/Contexts/MapBoxInstance/useMapBoxInstance.cjs.map +0 -1
- package/dist/node/Contexts/MapBoxInstance/useMapBoxInstance.js +0 -18
- package/dist/node/Contexts/MapBoxInstance/useMapBoxInstance.js.map +0 -1
- package/dist/node/Contexts/MapSettings/Context.cjs +0 -32
- package/dist/node/Contexts/MapSettings/Context.cjs.map +0 -1
- package/dist/node/Contexts/MapSettings/Context.js +0 -7
- package/dist/node/Contexts/MapSettings/Context.js.map +0 -1
- package/dist/node/Contexts/MapSettings/Provider.cjs +0 -166
- package/dist/node/Contexts/MapSettings/Provider.cjs.map +0 -1
- package/dist/node/Contexts/MapSettings/Provider.js +0 -141
- package/dist/node/Contexts/MapSettings/Provider.js.map +0 -1
- package/dist/node/Contexts/MapSettings/State.cjs +0 -19
- package/dist/node/Contexts/MapSettings/State.cjs.map +0 -1
- package/dist/node/Contexts/MapSettings/State.js +0 -1
- package/dist/node/Contexts/MapSettings/State.js.map +0 -1
- package/dist/node/Contexts/MapSettings/index.cjs +0 -177
- package/dist/node/Contexts/MapSettings/index.cjs.map +0 -1
- package/dist/node/Contexts/MapSettings/index.js +0 -149
- package/dist/node/Contexts/MapSettings/index.js.map +0 -1
- package/dist/node/Contexts/MapSettings/useMapSettings.cjs +0 -41
- package/dist/node/Contexts/MapSettings/useMapSettings.cjs.map +0 -1
- package/dist/node/Contexts/MapSettings/useMapSettings.js +0 -16
- package/dist/node/Contexts/MapSettings/useMapSettings.js.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/Context.cjs +0 -32
- package/dist/node/Contexts/MapboxAccessToken/Context.cjs.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/Context.js +0 -7
- package/dist/node/Contexts/MapboxAccessToken/Context.js.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/Provider.cjs +0 -42
- package/dist/node/Contexts/MapboxAccessToken/Provider.cjs.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/Provider.js +0 -17
- package/dist/node/Contexts/MapboxAccessToken/Provider.js.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/State.cjs +0 -19
- package/dist/node/Contexts/MapboxAccessToken/State.cjs.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/State.js +0 -1
- package/dist/node/Contexts/MapboxAccessToken/State.js.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/index.cjs +0 -52
- package/dist/node/Contexts/MapboxAccessToken/index.cjs.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/index.js +0 -23
- package/dist/node/Contexts/MapboxAccessToken/index.js.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/use.cjs +0 -40
- package/dist/node/Contexts/MapboxAccessToken/use.cjs.map +0 -1
- package/dist/node/Contexts/MapboxAccessToken/use.js +0 -15
- package/dist/node/Contexts/MapboxAccessToken/use.js.map +0 -1
- package/dist/node/Contexts/index.cjs +0 -495
- package/dist/node/Contexts/index.cjs.map +0 -1
- package/dist/node/Contexts/index.js +0 -460
- package/dist/node/Contexts/index.js.map +0 -1
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilder.cjs +0 -166
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilder.cjs.map +0 -1
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilder.js +0 -138
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilder.js.map +0 -1
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilderAnimated.cjs +0 -79
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilderAnimated.cjs.map +0 -1
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js +0 -52
- package/dist/node/Layers/Builders/LocationHeatMapLayerBuilderAnimated.js.map +0 -1
- package/dist/node/Layers/Builders/LocationPointsMapLayerBuilder.cjs +0 -81
- package/dist/node/Layers/Builders/LocationPointsMapLayerBuilder.cjs.map +0 -1
- package/dist/node/Layers/Builders/LocationPointsMapLayerBuilder.js +0 -53
- package/dist/node/Layers/Builders/LocationPointsMapLayerBuilder.js.map +0 -1
- package/dist/node/Layers/Builders/index.cjs +0 -237
- package/dist/node/Layers/Builders/index.cjs.map +0 -1
- package/dist/node/Layers/Builders/index.js +0 -206
- package/dist/node/Layers/Builders/index.js.map +0 -1
- package/dist/node/Layers/CircleLayer.cjs +0 -54
- package/dist/node/Layers/CircleLayer.cjs.map +0 -1
- package/dist/node/Layers/CircleLayer.js +0 -29
- package/dist/node/Layers/CircleLayer.js.map +0 -1
- package/dist/node/Layers/Configs/HeatMapFillLayerConfig.cjs +0 -41
- package/dist/node/Layers/Configs/HeatMapFillLayerConfig.cjs.map +0 -1
- package/dist/node/Layers/Configs/HeatMapFillLayerConfig.js +0 -16
- package/dist/node/Layers/Configs/HeatMapFillLayerConfig.js.map +0 -1
- package/dist/node/Layers/Configs/HeatMapLineLayerConfig.cjs +0 -41
- package/dist/node/Layers/Configs/HeatMapLineLayerConfig.cjs.map +0 -1
- package/dist/node/Layers/Configs/HeatMapLineLayerConfig.js +0 -16
- package/dist/node/Layers/Configs/HeatMapLineLayerConfig.js.map +0 -1
- package/dist/node/Layers/Configs/HeatMapSymbolLayerConfig.cjs +0 -48
- package/dist/node/Layers/Configs/HeatMapSymbolLayerConfig.cjs.map +0 -1
- package/dist/node/Layers/Configs/HeatMapSymbolLayerConfig.js +0 -23
- package/dist/node/Layers/Configs/HeatMapSymbolLayerConfig.js.map +0 -1
- package/dist/node/Layers/Configs/LocationPointLayerConfig.cjs +0 -39
- package/dist/node/Layers/Configs/LocationPointLayerConfig.cjs.map +0 -1
- package/dist/node/Layers/Configs/LocationPointLayerConfig.js +0 -14
- package/dist/node/Layers/Configs/LocationPointLayerConfig.js.map +0 -1
- package/dist/node/Layers/Configs/index.cjs +0 -93
- package/dist/node/Layers/Configs/index.cjs.map +0 -1
- package/dist/node/Layers/Configs/index.js +0 -63
- package/dist/node/Layers/Configs/index.js.map +0 -1
- package/dist/node/Layers/FillLayer.cjs +0 -48
- package/dist/node/Layers/FillLayer.cjs.map +0 -1
- package/dist/node/Layers/FillLayer.js +0 -23
- package/dist/node/Layers/FillLayer.js.map +0 -1
- package/dist/node/Layers/LineLayer.cjs +0 -49
- package/dist/node/Layers/LineLayer.cjs.map +0 -1
- package/dist/node/Layers/LineLayer.js +0 -24
- package/dist/node/Layers/LineLayer.js.map +0 -1
- package/dist/node/Layers/MapLayer.cjs +0 -19
- package/dist/node/Layers/MapLayer.cjs.map +0 -1
- package/dist/node/Layers/MapLayer.js +0 -1
- package/dist/node/Layers/MapLayer.js.map +0 -1
- package/dist/node/Layers/SymbolLayer.cjs +0 -48
- package/dist/node/Layers/SymbolLayer.cjs.map +0 -1
- package/dist/node/Layers/SymbolLayer.js +0 -23
- package/dist/node/Layers/SymbolLayer.js.map +0 -1
- package/dist/node/Layers/index.cjs +0 -253
- package/dist/node/Layers/index.cjs.map +0 -1
- package/dist/node/Layers/index.js +0 -214
- package/dist/node/Layers/index.js.map +0 -1
- package/dist/node/MapBoxClasses/MapBase.cjs +0 -56
- package/dist/node/MapBoxClasses/MapBase.cjs.map +0 -1
- package/dist/node/MapBoxClasses/MapBase.js +0 -31
- package/dist/node/MapBoxClasses/MapBase.js.map +0 -1
- package/dist/node/MapBoxClasses/MapHeat.cjs +0 -194
- package/dist/node/MapBoxClasses/MapHeat.cjs.map +0 -1
- package/dist/node/MapBoxClasses/MapHeat.js +0 -169
- package/dist/node/MapBoxClasses/MapHeat.js.map +0 -1
- package/dist/node/MapBoxClasses/MapPoints.cjs +0 -82
- package/dist/node/MapBoxClasses/MapPoints.cjs.map +0 -1
- package/dist/node/MapBoxClasses/MapPoints.js +0 -57
- package/dist/node/MapBoxClasses/MapPoints.js.map +0 -1
- package/dist/node/MapBoxClasses/MapSettings.cjs +0 -123
- package/dist/node/MapBoxClasses/MapSettings.cjs.map +0 -1
- package/dist/node/MapBoxClasses/MapSettings.js +0 -98
- package/dist/node/MapBoxClasses/MapSettings.js.map +0 -1
- package/dist/node/MapBoxClasses/index.cjs +0 -319
- package/dist/node/MapBoxClasses/index.cjs.map +0 -1
- package/dist/node/MapBoxClasses/index.js +0 -289
- package/dist/node/MapBoxClasses/index.js.map +0 -1
- package/dist/node/Settings/DefaultMapSettings.cjs +0 -81
- package/dist/node/Settings/DefaultMapSettings.cjs.map +0 -1
- package/dist/node/Settings/DefaultMapSettings.js +0 -56
- package/dist/node/Settings/DefaultMapSettings.js.map +0 -1
- package/dist/node/Settings/MapSetting.cjs +0 -19
- package/dist/node/Settings/MapSetting.cjs.map +0 -1
- package/dist/node/Settings/MapSetting.js +0 -1
- package/dist/node/Settings/MapSetting.js.map +0 -1
- package/dist/node/Settings/index.cjs +0 -83
- package/dist/node/Settings/index.cjs.map +0 -1
- package/dist/node/Settings/index.js +0 -56
- package/dist/node/Settings/index.js.map +0 -1
- package/dist/node/hooks/index.cjs +0 -190
- package/dist/node/hooks/index.cjs.map +0 -1
- package/dist/node/hooks/index.js +0 -159
- package/dist/node/hooks/index.js.map +0 -1
- package/dist/node/hooks/useDynamicMapResize.cjs +0 -59
- package/dist/node/hooks/useDynamicMapResize.cjs.map +0 -1
- package/dist/node/hooks/useDynamicMapResize.js +0 -34
- package/dist/node/hooks/useDynamicMapResize.js.map +0 -1
- package/dist/node/hooks/useDynamicPositioning.cjs +0 -59
- package/dist/node/hooks/useDynamicPositioning.cjs.map +0 -1
- package/dist/node/hooks/useDynamicPositioning.js +0 -34
- package/dist/node/hooks/useDynamicPositioning.js.map +0 -1
- package/dist/node/hooks/useFindHashes.cjs +0 -55
- package/dist/node/hooks/useFindHashes.cjs.map +0 -1
- package/dist/node/hooks/useFindHashes.js +0 -30
- package/dist/node/hooks/useFindHashes.js.map +0 -1
- package/dist/node/hooks/useHeatMapColors.cjs +0 -50
- package/dist/node/hooks/useHeatMapColors.cjs.map +0 -1
- package/dist/node/hooks/useHeatMapColors.js +0 -25
- package/dist/node/hooks/useHeatMapColors.js.map +0 -1
- package/dist/node/hooks/useQuadKeyPayloadsToFeatures.cjs +0 -69
- package/dist/node/hooks/useQuadKeyPayloadsToFeatures.cjs.map +0 -1
- package/dist/node/hooks/useQuadKeyPayloadsToFeatures.js +0 -44
- package/dist/node/hooks/useQuadKeyPayloadsToFeatures.js.map +0 -1
- package/dist/node/lib/MapBoxBaseProps.cjs +0 -19
- package/dist/node/lib/MapBoxBaseProps.cjs.map +0 -1
- package/dist/node/lib/MapBoxBaseProps.js +0 -1
- package/dist/node/lib/MapBoxBaseProps.js.map +0 -1
- package/dist/node/lib/MapStyle.cjs +0 -39
- package/dist/node/lib/MapStyle.cjs.map +0 -1
- package/dist/node/lib/MapStyle.js +0 -14
- package/dist/node/lib/MapStyle.js.map +0 -1
- package/dist/node/lib/index.cjs +0 -41
- package/dist/node/lib/index.cjs.map +0 -1
- package/dist/node/lib/index.js +0 -14
- package/dist/node/lib/index.js.map +0 -1
- package/dist/node/types/NetworkLocationAnswerBase.cjs +0 -19
- package/dist/node/types/NetworkLocationAnswerBase.cjs.map +0 -1
- package/dist/node/types/NetworkLocationAnswerBase.js +0 -1
- package/dist/node/types/NetworkLocationAnswerBase.js.map +0 -1
- package/dist/node/types/index.cjs +0 -19
- package/dist/node/types/index.cjs.map +0 -1
- package/dist/node/types/index.js +0 -1
- package/dist/node/types/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Components/AnimatedHeatMapLoaded.tsx","../../../src/Settings/DefaultMapSettings.ts","../../../src/AnimatedHeatMapSettings.ts","../../../src/hooks/useDynamicMapResize.tsx","../../../src/hooks/useDynamicPositioning.tsx","../../../src/hooks/useFindHashes.tsx","../../../src/hooks/useHeatMapColors.tsx","../../../src/hooks/useQuadKeyPayloadsToFeatures.tsx","../../../src/Components/AnimatedHeatMap.tsx","../../../src/Contexts/HeatMapInitializer/Provider.tsx","../../../src/MapBoxClasses/MapBase.ts","../../../src/MapBoxClasses/MapHeat.ts","../../../src/MapBoxClasses/MapSettings.ts","../../../src/Contexts/MapBoxInstance/Provider.tsx","../../../src/Contexts/MapBoxInstance/Context.ts","../../../src/Contexts/MapBoxInstance/useMapBoxInstance.tsx","../../../src/Contexts/MapSettings/Provider.tsx","../../../src/Contexts/MapSettings/Context.ts","../../../src/Contexts/MapSettings/useMapSettings.tsx","../../../src/Contexts/HeatMapInitializer/Context.ts","../../../src/Layers/Configs/HeatMapFillLayerConfig.ts","../../../src/Layers/FillLayer.ts","../../../src/Layers/Builders/LocationHeatMapLayerBuilder.ts","../../../src/Layers/Builders/LocationHeatMapLayerBuilderAnimated.ts","../../../src/Components/MapBoxHeat.tsx","../../../src/Components/MapBox.tsx","../../../src/Components/MapSettingsComponents/Setting.tsx","../../../src/Components/MapSettingsComponents/SettingsBox.tsx","../../../src/Components/Legend.tsx","../../../src/Components/Legends/ColorGradient.tsx"],"sourcesContent":["import { Alert, AlertTitle } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useArchivistFromNode, useArchivistGet } from '@xyo-network/react-archivist'\nimport { Feature, Polygon } from 'geojson'\n\nimport { AnimatedHeatMapSettings } from '../AnimatedHeatMapSettings'\nimport { useFindHashes, useHeatMapColors, useQuadKeyPayloadsToFeatures } from '../hooks'\nimport { NetworkLocationHeatmapQuadkeyAnswerPayload } from '../types'\nimport { AnimatedHeatMap } from './AnimatedHeatMap'\nimport { AnimatedHeatMapLegend } from './Legend'\n\nexport interface AnimatedHeatMapLoadedProps extends FlexBoxProps {\n accessToken: string\n archivistNameOrAddress: string\n}\n\nexport const AnimatedHeatMapLoaded: React.FC<AnimatedHeatMapLoadedProps> = ({ accessToken, archivistNameOrAddress, ...props }) => {\n const hashes = useFindHashes()\n const [archivist] = useArchivistFromNode(archivistNameOrAddress)\n const [payloads, xyoError] = useArchivistGet<NetworkLocationHeatmapQuadkeyAnswerPayload>(archivist, hashes)\n const { multipleFeatureSets } = useQuadKeyPayloadsToFeatures(payloads)\n const { heatMapColorProps, legendProps } = useHeatMapColors()\n\n const MapBoxHeatProps = {\n flexGrow: 1,\n legend: legendProps ? <AnimatedHeatMapLegend {...legendProps} /> : null,\n }\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {xyoError ? (\n <Alert sx={{ mt: 2 }}>\n <AlertTitle>Error Loading Map</AlertTitle>\n {xyoError.message ? `Error: ${xyoError.message}` : null}\n You might try authenticating again.\n </Alert>\n ) : null}\n {hashes !== undefined ? (\n <AnimatedHeatMap\n accessToken={accessToken}\n defaultMapSettings={AnimatedHeatMapSettings}\n animatedFeatureSets={multipleFeatureSets.slice(1, multipleFeatureSets.length) as Feature<Polygon>[][]}\n staticFeatureSet={multipleFeatureSets[0] as Feature<Polygon>[]}\n heatMapColorProps={heatMapColorProps}\n {...MapBoxHeatProps}\n />\n ) : (\n <Alert>Missing answer hash for heat map query</Alert>\n )}\n </FlexCol>\n )\n}\n","import { MapSetting } from './MapSetting'\n\nexport const DefaultMapSettings: () => MapSetting = () => ({\n debugLayer: {\n devMode: true,\n field: 'debugLayer',\n hidden: true,\n label: 'Debug Layer',\n value: false,\n },\n debugLogging: {\n devMode: true,\n field: 'debugLogging',\n hidden: true,\n label: 'Debug Logging',\n value: false,\n },\n dynamicMapResize: {\n devMode: true,\n field: 'dynamicMapResize',\n hidden: true,\n label: 'Auto Map Resize',\n value: true,\n },\n enableControls: {\n devMode: true,\n field: 'enableControls',\n hidden: true,\n label: 'Map Controls',\n value: false,\n },\n fitToPoints: {\n devMode: true,\n field: 'fitToPoints',\n hidden: true,\n label: 'Fit To Points',\n value: false,\n },\n preferDark: {\n devMode: false,\n field: 'preferDark',\n hidden: true,\n label: 'Prefer dark',\n value: false,\n },\n scrollToZoom: {\n devMode: true,\n field: 'scrollToZoom',\n hidden: true,\n label: 'Scroll To Zoom',\n value: false,\n },\n})\n","import { DefaultMapSettings } from './Settings'\n\nexport const AnimatedHeatMapSettings = DefaultMapSettings()\nconst { debugLayer, scrollToZoom, fitToPoints, preferDark } = AnimatedHeatMapSettings\ndebugLayer.hidden = false\nscrollToZoom.value = true\nfitToPoints.value = false\npreferDark.value = true\n","import { Map } from 'mapbox-gl'\nimport { MutableRefObject, useEffect, useMemo, useState } from 'react'\n\n/**\n * Inspired by - https://bl.ocks.org/danswick/fc56f37c10d40be62e4feac5984250d2\n */\nexport const useDynamicMapResize = (\n mapContainerRef: MutableRefObject<HTMLDivElement | null>,\n mapCanvasRef: MutableRefObject<HTMLCanvasElement | null>,\n mapInstance?: Map,\n active = true,\n) => {\n const [dependenciesReady, setDependenciesReady] = useState(false)\n\n const resizer = useMemo(\n () =>\n new ResizeObserver(() => {\n const width = mapContainerRef.current?.getBoundingClientRect().width\n if (width && mapCanvasRef.current) {\n mapCanvasRef.current.style.width = `${width}px`\n // setTimeout allows for the smoothest animation (vs requestAnimationFrame, debouce, etc)\n // likely because it lets mapbox resize once when the event loop is ready?\n setTimeout(() => mapInstance?.resize())\n }\n }),\n [mapCanvasRef, mapContainerRef, mapInstance],\n )\n\n useEffect(() => {\n const dependenciesReady = !!(active && mapInstance && mapContainerRef?.current && mapCanvasRef.current)\n setDependenciesReady(dependenciesReady)\n }, [active, mapCanvasRef, mapContainerRef, mapInstance])\n\n useEffect(() => {\n if (dependenciesReady) {\n if (mapContainerRef.current) {\n resizer.observe(mapContainerRef.current)\n }\n\n return () => {\n resizer.disconnect()\n }\n }\n }, [active, dependenciesReady, mapCanvasRef, mapContainerRef, mapInstance, resizer])\n}\n","import { useWindowSize } from '@xylabs/react-shared'\nimport { MapboxOptions } from 'mapbox-gl'\nimport { useEffect, useState } from 'react'\n\n/**\n * Zoom level for the map\n *\n * Note: Changing zoom will require changes to Lat/Lng Ranges\n */\nconst defaultZoom = 1.6\n\n/**\n * Range of aspect ratio values (width / height = aspect ratio) to scale against degrees\n * On lower aspect ratios, the width is larger than the height and vice-versa for higher\n */\nconst defaultAspectRatioRange = [0.5, 2]\n\n/**\n * Lat/Lng ranges, the first index is the minimum and the second is the maximum\n * Index 0 is for portrait screens and centers on the Eastern Hemisphere\n * Index 1 is for wider screens near the Prime Meridian and north of the Equator\n *\n * Note: Values are based off the zoom level\n */\nconst latRange = [0.9121644205263664, 1.71785031559439]\nconst lngRange = [-81.4742014851959, 12.788958675506933]\n\n/**\n * Function to interpolate an aspect ratio value across a range of degrees and aspect ratios\n *\n * Inspired by - https://stackoverflow.com/questions/14224535/scaling-between-two-number-ranges\n *\n * @param aspectRatio aspect ratio to scale\n * @param degreeRange A latitude or longitude range (i.e. [minLat, maxLat])\n * @param aspectRatioRange A range of aspect ratios to scale against degreeRange parameter\n * @returns number\n */\nconst linearInterpolate = (aspectRatio: number, degreeRange: number[], aspectRatioRange?: number[]): number => {\n const [degreeMin, degreeMax] = degreeRange\n const [aspectRatioMin, aspectRatioMax] = aspectRatioRange || defaultAspectRatioRange\n\n const aspectRatioRangeSpan = aspectRatioMax - aspectRatioMin\n const degreeRangeSpan = degreeMax - degreeMin\n\n const percent = (aspectRatio - aspectRatioMin) / aspectRatioRangeSpan\n const scaledDegree = percent * degreeRangeSpan + degreeMin\n\n return scaledDegree\n}\n\nconst useDynamicPositioning = () => {\n const [options, setOptions] = useState<Partial<MapboxOptions>>({})\n const { width, height } = useWindowSize()\n\n useEffect(() => {\n if (width && height) {\n const aspectRatio = width / height\n\n setOptions({\n center: [linearInterpolate(aspectRatio, lngRange), linearInterpolate(aspectRatio, latRange)],\n zoom: defaultZoom,\n })\n }\n }, [height, width])\n\n return { options }\n}\n\nexport { useDynamicPositioning }\n","import { ArchivistPreset, useNetwork } from '@xyo-network/react-network'\nimport { useMemo } from 'react'\n\nconst animatedAnswerHashesConst = [\n '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n 'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n 'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e,',\n]\n\nconst staticAnswerHashConst = 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5'\n\nexport const useFindHashes = () => {\n const { network } = useNetwork()\n const exploreMapHashes = (network?.nodes?.find((node) => node.type === 'archivist') as ArchivistPreset)?.explorerMapHashes\n const animatedAnswerHashes = exploreMapHashes?.animatedAnswerHashes || animatedAnswerHashesConst\n const staticAnswerHash = exploreMapHashes?.staticAnswerHash || staticAnswerHashConst\n const foundHashes = useMemo(() => [staticAnswerHash, ...animatedAnswerHashes], [animatedAnswerHashes, staticAnswerHash])\n return foundHashes\n}\n","import { useTheme } from '@mui/material'\n\nimport { AnimatedHeatMapColorProps, ColorGradientLegendProps } from '../Colors'\n\nconst useHeatMapColors = () => {\n const theme = useTheme()\n const staticMapColor = '#FFFF75'\n const highUsageColor = '#FF0000'\n\n const heatMapColorProps: AnimatedHeatMapColorProps = {\n highUsageColor,\n lowUsageColor: '#FFB3B3',\n staticMapColor,\n }\n\n const legendProps: ColorGradientLegendProps = {\n endColor: highUsageColor,\n endLabel: 'High',\n heading: 'Network Usage',\n startColor: staticMapColor,\n startLabel: 'Low',\n textColor: theme.palette.common.white,\n }\n\n return { heatMapColorProps, legendProps }\n}\n\nexport { useHeatMapColors }\n","import { compact } from '@xylabs/lodash'\nimport { GeoJson } from '@xyo-network/sdk-geo'\nimport { Feature, Geometry } from 'geojson'\nimport { useEffect, useState } from 'react'\n\nimport { NetworkLocationHeatmapQuadkeyAnswerPayload } from '../types'\n\nconst quadKeyToFeature = ({ density, quadkey }: { density: number; quadkey: string }) => {\n const polygonFeature = new GeoJson(quadkey).polygonFeature()\n polygonFeature.properties = {\n count: density,\n density,\n }\n return polygonFeature\n}\n\nconst setDensity = (feature: Feature) => {\n if (feature.properties) {\n feature.properties.value = feature.properties.density / 5\n }\n return feature\n}\n\nconst useQuadKeyPayloadsToFeatures = (payloads?: NetworkLocationHeatmapQuadkeyAnswerPayload[] | NetworkLocationHeatmapQuadkeyAnswerPayload) => {\n const [multipleFeatureSets, setMultipleFeatureSets] = useState<Feature<Geometry>[][]>([[]])\n const [features, setFeatures] = useState<Feature<Geometry>[]>([])\n const [error, setError] = useState<Error>()\n\n useEffect(() => {\n // Convert Multiple Payloads from Quadkey to GeoJson\n if (Array.isArray(payloads)) {\n if (compact(payloads).length !== 0) {\n const payloadsArray = payloads as (NetworkLocationHeatmapQuadkeyAnswerPayload | null)[]\n const mappedFeatures = payloadsArray?.map((payload) => payload?.result.map(quadKeyToFeature))\n\n setMultipleFeatureSets(mappedFeatures.map((features) => features?.map(setDensity) ?? []))\n } else {\n setError(new Error('Cannot find payloads for provided hashes'))\n }\n }\n\n // Convert Single Payload from Quadkey to GeoJson\n if (payloads && (payloads as NetworkLocationHeatmapQuadkeyAnswerPayload).result) {\n const singlePayload = payloads as NetworkLocationHeatmapQuadkeyAnswerPayload\n const mappedFeatures = singlePayload.result.map(quadKeyToFeature)\n\n setFeatures(mappedFeatures.map(setDensity))\n }\n }, [payloads])\n\n return { error, features, multipleFeatureSets }\n}\n\nexport { useQuadKeyPayloadsToFeatures }\n","import { darken, useTheme } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { Feature, Polygon } from 'geojson'\nimport { useState } from 'react'\n\nimport { AnimatedHeatMapColorProps } from '../Colors'\nimport { HeatMapInitializerProvider, MapBoxInstanceProvider, MapSettingsProvider } from '../Contexts'\nimport { LocationHeatMapLayerBuilderAnimated, MapHeatConstants, MapLayer } from '../Layers'\nimport { MapSetting } from '../Settings'\nimport { MapboxHeatFlexBox } from './MapBoxHeat'\n\nexport interface AnimatedHeatMapProps {\n accessToken: string\n animatedFeatureSets: Feature<Polygon>[][]\n defaultMapSettings?: MapSetting\n heatMapColorProps: AnimatedHeatMapColorProps\n staticFeatureSet: Feature<Polygon>[]\n}\n\nexport const AnimatedHeatMap: React.FC<WithChildren<AnimatedHeatMapProps>> = ({\n accessToken,\n animatedFeatureSets,\n defaultMapSettings,\n heatMapColorProps,\n staticFeatureSet,\n ...props\n}) => {\n const theme = useTheme()\n const { staticMapColor, lowUsageColor, highUsageColor } = heatMapColorProps || {}\n const localStaticMapColor = staticMapColor ?? theme.palette.primary.light\n\n const [layers] = useState<MapLayer[]>([\n LocationHeatMapLayerBuilderAnimated(localStaticMapColor, 0, 'static'),\n LocationHeatMapLayerBuilderAnimated(lowUsageColor || localStaticMapColor, 0, 'animated'),\n LocationHeatMapLayerBuilderAnimated(highUsageColor || darken(localStaticMapColor, 0.9), 1, 'animated'),\n ])\n\n return animatedFeatureSets?.length ? (\n <MapBoxInstanceProvider>\n <MapSettingsProvider defaultMapSettings={defaultMapSettings} debugLayerName={MapHeatConstants.LocationDebugLayerId}>\n <HeatMapInitializerProvider\n features={staticFeatureSet}\n layers={[layers[0]]}\n featureSets={animatedFeatureSets}\n featureSetsLayers={layers.slice(1, 3)}\n heatMapColorProps={heatMapColorProps}\n >\n <MapboxHeatFlexBox accessToken={accessToken} {...props}></MapboxHeatFlexBox>\n </HeatMapInitializerProvider>\n </MapSettingsProvider>\n </MapBoxInstanceProvider>\n ) : (\n <FlexCol minHeight={160} minWidth={160} busy />\n )\n}\n","import { forget } from '@xylabs/forget'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { Feature, Polygon } from 'geojson'\nimport { useEffect, useState } from 'react'\n\nimport { AnimatedHeatMapColorProps, HeatMapColorProps } from '../../Colors'\nimport { useDynamicPositioning } from '../../hooks'\nimport { MapLayer } from '../../Layers'\nimport { MapHeat } from '../../MapBoxClasses'\nimport { useMapBoxInstance } from '../MapBoxInstance'\nimport { useMapSettings } from '../MapSettings'\nimport { HeatMapInitializerContext } from './Context'\nimport { HeatMapInitializerState } from './State'\n\nexport interface MapInitializerProviderProps {\n featureSets?: Feature<Polygon>[][]\n featureSetsLayers?: MapLayer[]\n features?: Feature<Polygon>[]\n fitToPadding?: number\n heatMapColorProps: HeatMapColorProps | AnimatedHeatMapColorProps\n layers?: MapLayer[]\n zoom?: number\n}\n\nexport const HeatMapInitializerProvider: React.FC<WithChildren<MapInitializerProviderProps>> = ({\n children,\n featureSets,\n featureSetsLayers,\n features,\n fitToPadding,\n heatMapColorProps,\n layers,\n zoom,\n}) => {\n const [mapHeat, setMapHeat] = useState<MapHeat>()\n const { options } = useDynamicPositioning()\n const { mapSettings } = useMapSettings()\n const { map, mapInitialized } = useMapBoxInstance()\n\n const value: HeatMapInitializerState = {\n MapHeat: mapHeat,\n heatMapColorProps,\n }\n\n useEffect(() => {\n if (mapInitialized && featureSets?.length && featureSets[0].length && map && featureSetsLayers?.length) {\n const { lowUsageColor, highUsageColor } = heatMapColorProps as AnimatedHeatMapColorProps\n forget(MapHeat.initializeAnimatedHeatMapSource(featureSetsLayers, featureSets, map, lowUsageColor, highUsageColor))\n }\n\n return () => {\n MapHeat.animationStarted = false\n }\n }, [featureSets, featureSetsLayers, mapInitialized, map, heatMapColorProps])\n\n useEffect(() => {\n if (mapHeat && mapInitialized && features?.length && layers?.length) {\n mapHeat.initializeHeatMapSource(layers)\n }\n }, [mapHeat, features?.length, layers, mapInitialized])\n\n useEffect(() => {\n if (mapInitialized) {\n const { fitToPoints } = mapSettings || {}\n\n if (map) {\n if (fitToPoints?.value === true) {\n MapHeat.initialMapPositioning({ padding: fitToPadding }, map, features)\n } else if (options.zoom && options.center) {\n map.setZoom(options.zoom)\n map.setCenter(options.center)\n }\n }\n }\n }, [mapHeat, map, mapSettings, fitToPadding, options, mapInitialized, features])\n\n useEffect(() => {\n if (map && features?.length) {\n // Every time we get a new map or features, we make a new class\n setMapHeat(new MapHeat({ features, map, zoom }))\n }\n }, [map, features, zoom])\n\n return <HeatMapInitializerContext.Provider value={value}>{children}</HeatMapInitializerContext.Provider>\n}\n","import { assertEx } from '@xylabs/assert'\nimport { GeoJson } from '@xyo-network/sdk-geo'\nimport { Feature, Geometry } from 'geojson'\n// eslint-disable-next-line no-restricted-imports\nimport { GeoJSONSource, Map } from 'mapbox-gl'\n\nimport { MapLayer } from '../Layers'\n\nexport interface MapBaseConfig<T extends Geometry> {\n features: Feature<T>[]\n map: Map\n requestLocation?: boolean\n zoom?: number\n}\n\nexport abstract class MapBase<T extends Geometry> {\n private _config: MapBaseConfig<T>\n\n constructor(config: MapBaseConfig<T>) {\n this._config = { requestLocation: true, zoom: 2, ...config }\n }\n\n get isMapReady() {\n return !!this._config.map\n }\n\n initializeMapSource(layer: MapLayer) {\n const getSource = () => {\n const featuresCollection = GeoJson.featureCollection(this._config.features)\n return GeoJson.featuresSource(featuresCollection)\n }\n\n const existingSource = this._config.map.getSource(layer.source as string) as GeoJSONSource\n const source = getSource()\n if (existingSource) {\n existingSource.setData(assertEx(source.data as GeoJSON.Feature<GeoJSON.Geometry> | GeoJSON.FeatureCollection<GeoJSON.Geometry>))\n } else {\n this._config.map.addSource(layer.source as string, source)\n }\n layer.update(this._config.map, true)\n\n return this\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { delay } from '@xylabs/delay'\nimport { forget } from '@xylabs/forget'\nimport { GeoJson } from '@xyo-network/sdk-geo'\nimport { Feature, Polygon } from 'geojson'\nimport { FitBoundsOptions, GeoJSONSource, GeoJSONSourceRaw, LngLatBounds, Map } from 'mapbox-gl'\n\nimport { MapLayer } from '../Layers'\nimport { MapBase, MapBaseConfig } from './MapBase'\n\nexport class MapHeat extends MapBase<Polygon> {\n static animationStarted = false\n\n config: MapBaseConfig<Polygon>\n constructor(config: MapBaseConfig<Polygon>) {\n super(config)\n this.config = config\n }\n\n static initialMapPositioning(options: FitBoundsOptions, map: Map, features?: Feature<Polygon>[], initialBounds?: LngLatBounds) {\n if (!features) {\n return\n }\n\n let bounds: LngLatBounds\n\n if (initialBounds) {\n bounds = initialBounds\n } else {\n bounds = new LngLatBounds()\n\n features.forEach((feature: Feature<Polygon>) => {\n feature.geometry.coordinates.forEach((coordinates) => {\n coordinates.forEach((position) => {\n bounds.extend(position as [number, number])\n })\n })\n })\n }\n\n map.setCenter(bounds.getCenter())\n map.fitBounds(bounds, options)\n return this\n }\n\n static async initializeAnimatedHeatMapSource(\n layers: MapLayer[],\n featureSet: Feature<Polygon>[][],\n map: Map,\n startColor?: string,\n endColor?: string,\n ) {\n this.animationStarted = true\n let layerTick = 0\n let sourceTick = 0\n\n const sources = featureSet.map((feature) => {\n const featuresCollection = GeoJson.featureCollection(feature)\n return GeoJson.featuresSource(featuresCollection)\n })\n this.updateLayer(map, layers[0], sources[0])\n this.updateLayer(map, layers[1], sources[1])\n\n layers.forEach((layer) => {\n map.setPaintProperty(layer.id, 'fill-opacity', 0)\n })\n\n const frameLength = 3000\n const initialPad = 0.5\n const factor = 10\n const steps = 30\n const stepLength = frameLength / steps\n const lowUsageColor = startColor ?? '#FFB3B3'\n const highUsageColor = endColor ?? '#FF0000'\n\n // Max density at i=0, min density at i=steps\n const dynamicFillColor = (factor: number, initialPad: number, i: number) => {\n const sinFade = Math.sin(((i / steps) * Math.PI) / 2)\n const cosFade = Math.cos(((i / steps) * Math.PI) / 2)\n // we want the divisor to always be at least 1x the desired factor but will go up to\n // 2x factor to account for combinative effect of the overlay of two layers at once\n const divisor = factor + factor * sinFade\n const offset = initialPad * cosFade\n return [\n 'let',\n 'density',\n ['+', ['/', ['number', ['get', 'value']], divisor], offset],\n ['interpolate', ['linear'], ['var', 'density'], 0, lowUsageColor, 0.5, highUsageColor],\n ]\n }\n\n const fadedIn: boolean[] = layers.map((_) => false)\n\n const fadeIn = async (id: string, index: number) => {\n for (let i = steps; i >= 1; i--) {\n map.setPaintProperty(id, 'fill-color', dynamicFillColor(factor, initialPad, i * (180 / stepLength)))\n await delay(stepLength)\n }\n fadedIn[index] = true\n }\n\n const fadeOut = async (id: string, index: number) => {\n for (let i = 1; i <= steps; i++) {\n map.setPaintProperty(id, 'fill-color', dynamicFillColor(factor, initialPad, i * (180 / stepLength)))\n await delay(stepLength)\n }\n fadedIn[index] = false\n }\n\n let started = false\n const startAnimation = async () => {\n assertEx(!started, 'Animation Already Started')\n started = true\n while (this.animationStarted) {\n const upLayer = layerTick % layers.length\n const downLayer = (layerTick + 1) % layers.length\n\n const incomingSource = sourceTick % featureSet.length\n const outgoingSource = (sourceTick + 1) % featureSet.length\n\n // console.log('incoming / outgoing source', incomingSource, outgoingSource)\n\n // console.log(`animate: [${upLayer}, ${downLayer}]`)\n if (fadedIn[upLayer]) {\n this.updateLayer(map, layers[upLayer], sources[incomingSource])\n forget(fadeOut(layers[upLayer].id, upLayer))\n }\n if (!fadedIn[downLayer]) {\n this.updateLayer(map, layers[downLayer], sources[outgoingSource])\n forget(fadeIn(layers[downLayer].id, downLayer))\n }\n while ((fadedIn[upLayer] || !fadedIn[downLayer]) && this.animationStarted) {\n // console.log(`checking: [${fadedIn[upLayer]}, ${!fadedIn[downLayer]}]`)\n await delay(1000)\n }\n layerTick++\n sourceTick++\n\n // console.log(`this.layerTick: ${layerTick}`)\n // console.log(`this.sourceTick: ${sourceTick}`)\n }\n }\n\n await startAnimation()\n }\n\n private static updateLayer(map: Map, layer: MapLayer, source: GeoJSONSourceRaw) {\n const existingSource = map.getSource(layer.source as string) as GeoJSONSource\n if (existingSource && source.data) {\n existingSource.setData(source.data as GeoJSON.Feature<GeoJSON.Geometry> | GeoJSON.FeatureCollection<GeoJSON.Geometry>)\n } else if (source) {\n map.addSource(layer.source as string, source)\n }\n layer.update(map, true)\n }\n\n // Build layers each with the same features\n initializeHeatMapSource(layers: MapLayer[]) {\n const getSource = (_: number) => {\n const featuresCollection = GeoJson.featureCollection(this.config.features)\n return GeoJson.featuresSource(featuresCollection)\n }\n\n layers.forEach((layer, index) => {\n const existingSource = this.config.map.getSource(layer.source as string) as GeoJSONSource\n const source = getSource(index)\n if (existingSource) {\n existingSource.setData(assertEx(source.data) as GeoJSON.Feature<GeoJSON.Geometry> | GeoJSON.FeatureCollection<GeoJSON.Geometry>)\n } else {\n this.config.map.addSource(layer.source as string, source)\n }\n layer.update(this.config.map, true)\n })\n\n return this\n }\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 { WithChildren } from '@xylabs/react-shared'\nimport { Map } from 'mapbox-gl'\nimport { useEffect, useState } from 'react'\n\nimport { MapBoxInstanceContext } from './Context'\nimport { MapBoxInstanceState } from './State'\n\nexport const MapBoxInstanceProvider: React.FC<WithChildren> = ({ children }) => {\n const [map, setMapBoxInstance] = useState<Map>()\n const [mapInitialized, setMapInitialized] = useState(false)\n\n const value: MapBoxInstanceState = { map, mapInitialized, setMapBoxInstance }\n\n useEffect(() => {\n if (!mapInitialized && map) {\n map?.on('load', () => {\n setMapInitialized(true)\n })\n }\n }, [map, mapInitialized, setMapInitialized])\n\n return <MapBoxInstanceContext.Provider value={value}>{children}</MapBoxInstanceContext.Provider>\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 { 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 { 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","import { createContext } from 'react'\n\nimport { HeatMapInitializerState } from './State'\n\nconst HeatMapInitializerContext = createContext<HeatMapInitializerState>({})\n\nexport { HeatMapInitializerContext }\n","import { FillLayer } from 'mapbox-gl'\n\nexport const HeatMapFillLayerConfig: (color: string) => Partial<FillLayer> = (color) => ({\n paint: {\n 'fill-color': color,\n 'fill-opacity': [\n 'let',\n 'density',\n ['+', ['/', ['number', ['get', 'value']], 4], 0.125],\n ['interpolate', ['linear'], ['var', 'density'], 0.8, ['var', 'density'], 1, 0.85],\n ],\n },\n})\n","import { LayerBase } from '@xyo-network/sdk-geo'\n// eslint-disable-next-line no-restricted-imports\nimport { FillLayer } from 'mapbox-gl'\n\nexport class FillLayerBuilder extends LayerBase<FillLayer> {\n FillLayerOptions: Partial<FillLayer>\n\n // ensures this class passes for `AnyLayer` type in MapBox\n type: 'fill' = 'fill' as const\n\n constructor(id: string, source: string, FillLayerOptions?: Partial<FillLayer>) {\n super(id, source)\n this.FillLayerOptions = FillLayerOptions || { id: this.id, source: this.source }\n }\n buildLayer(): FillLayer {\n return {\n ...this.FillLayerOptions,\n id: this.id,\n source: this.source,\n type: this.type,\n }\n }\n}\n","import { HeatMapFillLayerConfig, HeatMapLineLayerConfig, HeatMapSymbolLayerConfig } from '../Configs'\nimport { FillLayerBuilder } from '../FillLayer'\nimport { LineLayerBuilder } from '../LineLayer'\nimport { SymbolLayerBuilder } from '../SymbolLayer'\n\nexport const MapHeatConstants = {\n LocationDebugLayerId: 'location-debug-id',\n LocationDebugLayerSource: 'location-debug-source',\n LocationFillLayerId: 'location-fill-id',\n LocationFillLayerSource: 'location-fill-source',\n LocationLineLayerId: 'location-line-id',\n LocationLineLayerSource: 'location-line-source',\n}\n\nexport const LocationHeatMapLayerBuilder = (color: string, alternateColor = '#000') => {\n const {\n LocationFillLayerId,\n LocationFillLayerSource,\n LocationLineLayerId,\n LocationLineLayerSource,\n LocationDebugLayerId,\n LocationDebugLayerSource,\n } = MapHeatConstants\n\n const fillLayerConfig = HeatMapFillLayerConfig(color)\n const lineLayerConfig = HeatMapLineLayerConfig(color)\n const debugLayerConfig = HeatMapSymbolLayerConfig(alternateColor)\n\n const fillLayer = new FillLayerBuilder(LocationFillLayerId, LocationFillLayerSource, fillLayerConfig)\n const lineLayer = new LineLayerBuilder(LocationLineLayerId, LocationLineLayerSource, lineLayerConfig)\n const debugLayer = new SymbolLayerBuilder(LocationDebugLayerId, LocationDebugLayerSource, debugLayerConfig)\n\n return [fillLayer, lineLayer, debugLayer]\n}\n","import { HeatMapFillLayerConfig } from '../Configs'\nimport { FillLayerBuilder } from '../FillLayer'\n\nconst MapHeatConstants = (index: number, type: string) => ({\n LocationDebugLayerId: `location-${type}-debug-id-${index}`,\n LocationDebugLayerSource: `location-${type}-debug-source-${index}`,\n LocationFillLayerId: `location-${type}-fill-id-${index}`,\n LocationFillLayerSource: `location-${type}-fill-source-${index}`,\n LocationLineLayerId: `location-${type}-line-id-${index}`,\n LocationLineLayerSource: `location-${type}-line-source-${index}`,\n})\n\nexport const LocationHeatMapLayerBuilderAnimated = (color: string, index: number, type = '') => {\n const { LocationFillLayerId, LocationFillLayerSource } = MapHeatConstants(index, type)\n\n const fillLayerConfig = HeatMapFillLayerConfig(color)\n\n const fillLayer = new FillLayerBuilder(LocationFillLayerId, LocationFillLayerSource, fillLayerConfig)\n\n return fillLayer\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\n\nimport { MapboxFlexBoxProps } from '../lib'\nimport { MapBox } from './MapBox'\nimport { MapSettingsBox } from './MapSettingsComponents'\n\nexport const MapboxHeatFlexBox: React.FC<MapboxFlexBoxProps> = ({ accessToken, children, mapBoxOptions, zoom, legend, developerMode, ...props }) => {\n return (\n <FlexCol {...props}>\n <MapBox accessToken={accessToken} options={mapBoxOptions} zoom={zoom} />\n <MapSettingsBox developerMode={developerMode} />\n {legend}\n {children}\n </FlexCol>\n )\n}\n","// eslint-disable-next-line import/no-internal-modules\nimport 'mapbox-gl/dist/mapbox-gl.css'\n\nimport { Map, MapboxOptions } from 'mapbox-gl'\nimport { useEffect, useRef, useState } from 'react'\n\nimport { useMapBoxInstance, useMapSettings } from '../Contexts'\nimport { useDynamicMapResize } from '../hooks'\nimport { MapStyle } from '../lib'\n\nexport interface MapBoxProps {\n accessToken: string\n darkMode?: boolean\n options?: Partial<MapboxOptions>\n zoom?: number\n}\n\nexport const MapBox: React.FC<MapBoxProps> = ({ accessToken, darkMode = false, options, zoom = 2, ...props }) => {\n const [map, setMap] = useState<Map>()\n const mapContainerRef = useRef<HTMLDivElement | null>(null)\n const mapCanvasRef = useRef<HTMLCanvasElement | null>(null)\n const { setMapBoxInstance, map: mapInstance } = useMapBoxInstance()\n const { mapSettings } = useMapSettings()\n\n const activeResize = mapSettings?.dynamicMapResize.value\n useDynamicMapResize(mapContainerRef, mapCanvasRef, mapInstance, activeResize)\n\n useEffect(() => {\n if (mapSettings?.preferDark?.value === true) {\n map?.setStyle(`mapbox://styles/${MapStyle.Dark}`)\n } else {\n map?.setStyle(`mapbox://styles/${darkMode ? MapStyle.Dark : MapStyle.Light}`)\n }\n }, [map, darkMode, mapSettings])\n\n useEffect(() => {\n const map = new Map({\n accessToken,\n center: [0, 0],\n container: mapContainerRef.current ?? '',\n style: `mapbox://styles/${MapStyle.Light}`,\n zoom,\n ...options,\n })\n\n // Allow external components to control the map\n setMapBoxInstance?.(map)\n setMap(map)\n\n // save the map canvas ref to help with resizing\n mapCanvasRef.current = document.querySelector('.mapboxgl-canvas')\n\n console.log('Created Map')\n\n return () => {\n console.log('Removing Map')\n map.remove()\n }\n }, [mapContainerRef, setMap, options, zoom, setMapBoxInstance, accessToken])\n\n return (\n <div\n ref={(el) => (mapContainerRef.current = el)}\n style={{\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n ...props,\n }}\n />\n )\n}\n","import { FormControlLabel, Switch, SwitchProps } from '@mui/material'\n\nimport { useMapSettings } from '../../Contexts'\n\nexport interface MapSettingSwitchProps extends SwitchProps {\n developerMode?: boolean\n field: string\n}\n\nexport const MapSettingSwitch: React.FC<MapSettingSwitchProps> = ({ developerMode, field, ...props }) => {\n const { mapSettings, setMapSettings } = useMapSettings()\n const setting = mapSettings?.[field]\n\n const onLocalChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (setting) {\n setMapSettings?.((previous) => {\n previous[setting.field].value = event.target.checked\n return { ...previous }\n })\n }\n }\n\n if (setting?.devMode && developerMode === false) {\n return null\n }\n\n return setting?.hidden ? null : (\n <FormControlLabel label={setting?.label} control={<Switch checked={setting?.value} onChange={onLocalChange} {...props} />} />\n )\n}\n","import { Paper, Stack } from '@mui/material'\nimport { FlexBoxProps, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { useAppSettings } from '@xyo-network/react-app-settings'\n\nimport { useMapSettings } from '../../Contexts'\nimport { MapSettingSwitch } from './Setting'\n\nexport interface MapSettingsBoxProps extends FlexBoxProps {\n developerMode?: boolean\n}\n\nexport const MapSettingsBox: React.FC<MapSettingsBoxProps> = ({ developerMode, ...props }) => {\n const { mapSettings } = useMapSettings()\n const { developerMode: devModeFromContext } = useAppSettings()\n const resolveDeveloperMode = developerMode ?? devModeFromContext\n\n return mapSettings && resolveDeveloperMode ? (\n <FlexGrowRow bottom={36} left={10} position=\"absolute\" {...props}>\n <FlexRow paddingX={2}>\n <Paper>\n <Stack direction=\"row\" spacing={1} marginX={1}>\n {Object.keys(mapSettings).map((key, index) => {\n return <MapSettingSwitch key={index} field={mapSettings[key].field} developerMode={developerMode} />\n })}\n </Stack>\n </Paper>\n </FlexRow>\n </FlexGrowRow>\n ) : null\n}\n","import { useMediaQuery, useTheme } from '@mui/material'\nimport { FlexCol } from '@xylabs/react-flexbox'\n\nimport { ColorGradientLegendProps } from '../Colors'\nimport { ColorGradientLegend } from './Legends'\n\nconst AnimatedHeatMapLegend: React.FC<ColorGradientLegendProps> = ({ ...legendProps }) => {\n const { startColor, endColor, startLabel, endLabel, heading, textColor } = legendProps\n const theme = useTheme()\n const isSmall = useMediaQuery(theme.breakpoints.down('sm'))\n\n return (\n <FlexCol position=\"absolute\" bottom={0} right={0}>\n <ColorGradientLegend\n startColor={startColor}\n endColor={endColor}\n startLabel={startLabel}\n endLabel={endLabel}\n heading={heading}\n textColor={textColor}\n {...{\n alignItems: 'stretch',\n marginBottom: theme.spacing(4),\n marginLeft: isSmall ? theme.spacing(3) : 0,\n marginRight: isSmall ? theme.spacing(2) : theme.spacing(3),\n width: isSmall ? '40vw' : theme.spacing(18),\n }}\n />\n </FlexCol>\n )\n}\n\nexport { AnimatedHeatMapLegend }\n","import { Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\n\nimport { ColorGradientLegendProps } from '../../Colors'\n\nconst ColorGradientLegend: React.FC<ColorGradientLegendProps> = ({ startColor, endColor, startLabel, endLabel, heading, textColor, ...props }) => {\n const theme = useTheme()\n\n return (\n <FlexCol {...props}>\n <Typography mb={theme.spacing(0.25)} color={textColor} variant=\"caption\" textAlign=\"center\">\n {heading}\n </Typography>\n <FlexCol flexGrow={1} alignItems=\"stretch\" paddingX={theme.spacing(1)} mb={theme.spacing(0.25)}>\n <FlexCol\n height={theme.spacing(0.75)}\n border={`1px solid ${textColor}`}\n sx={{ backgroundImage: `linear-gradient(to right, ${startColor},${endColor})` }}\n />\n </FlexCol>\n <FlexRow flexGrow={1} justifyContent=\"space-between\">\n <Typography color={textColor} variant=\"caption\">\n {startLabel}\n </Typography>\n <Typography color={textColor} variant=\"caption\">\n {endLabel}\n </Typography>\n </FlexRow>\n </FlexCol>\n )\n}\n\nexport { ColorGradientLegend }\n"],"mappings":"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","names":["FlexCol","dependenciesReady","useEffect","useState","useMemo","useEffect","useState","features","useTheme","FlexCol","useState","forget","useEffect","useState","GeoJson","assertEx","GeoJson","GeoJson","factor","initialPad","assertEx","debugLayer","scrollToZoom","useEffect","useState","useState","useEffect","assertEx","assertEx","useEffect","useState","createContext","jsx","useState","useEffect","useContext","useContext","createContext","jsx","useState","useEffect","forget","fitToPoints","MapHeatConstants","Map","useEffect","useState","jsx","useState","useEffect","map","Map","jsx","jsx","jsx","jsx","useTheme","useState","FlexCol","useTheme","FlexCol","useTheme","FlexCol","FlexRow","jsx","jsxs","jsx","useTheme","FlexCol","jsx","jsxs","FlexCol"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
-
|
|
16
|
-
// src/Components/FeaturesToLayersMap.ts
|
|
17
|
-
var FeaturesToLayersMap_exports = {};
|
|
18
|
-
module.exports = __toCommonJS(FeaturesToLayersMap_exports);
|
|
19
|
-
//# sourceMappingURL=FeaturesToLayersMap.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Components/FeaturesToLayersMap.ts"],"sourcesContent":["import { Feature, Polygon } from 'geojson'\n\nimport { MapLayer } from '../Layers'\n\nexport interface FeaturesToLayersMap {\n features: Feature<Polygon>[]\n layers: MapLayer[]\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=FeaturesToLayersMap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/Components/HeatMapSettings.ts
|
|
21
|
-
var HeatMapSettings_exports = {};
|
|
22
|
-
__export(HeatMapSettings_exports, {
|
|
23
|
-
HeatMapSettings: () => HeatMapSettings
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(HeatMapSettings_exports);
|
|
26
|
-
|
|
27
|
-
// src/Settings/DefaultMapSettings.ts
|
|
28
|
-
var DefaultMapSettings = () => ({
|
|
29
|
-
debugLayer: {
|
|
30
|
-
devMode: true,
|
|
31
|
-
field: "debugLayer",
|
|
32
|
-
hidden: true,
|
|
33
|
-
label: "Debug Layer",
|
|
34
|
-
value: false
|
|
35
|
-
},
|
|
36
|
-
debugLogging: {
|
|
37
|
-
devMode: true,
|
|
38
|
-
field: "debugLogging",
|
|
39
|
-
hidden: true,
|
|
40
|
-
label: "Debug Logging",
|
|
41
|
-
value: false
|
|
42
|
-
},
|
|
43
|
-
dynamicMapResize: {
|
|
44
|
-
devMode: true,
|
|
45
|
-
field: "dynamicMapResize",
|
|
46
|
-
hidden: true,
|
|
47
|
-
label: "Auto Map Resize",
|
|
48
|
-
value: true
|
|
49
|
-
},
|
|
50
|
-
enableControls: {
|
|
51
|
-
devMode: true,
|
|
52
|
-
field: "enableControls",
|
|
53
|
-
hidden: true,
|
|
54
|
-
label: "Map Controls",
|
|
55
|
-
value: false
|
|
56
|
-
},
|
|
57
|
-
fitToPoints: {
|
|
58
|
-
devMode: true,
|
|
59
|
-
field: "fitToPoints",
|
|
60
|
-
hidden: true,
|
|
61
|
-
label: "Fit To Points",
|
|
62
|
-
value: false
|
|
63
|
-
},
|
|
64
|
-
preferDark: {
|
|
65
|
-
devMode: false,
|
|
66
|
-
field: "preferDark",
|
|
67
|
-
hidden: true,
|
|
68
|
-
label: "Prefer dark",
|
|
69
|
-
value: false
|
|
70
|
-
},
|
|
71
|
-
scrollToZoom: {
|
|
72
|
-
devMode: true,
|
|
73
|
-
field: "scrollToZoom",
|
|
74
|
-
hidden: true,
|
|
75
|
-
label: "Scroll To Zoom",
|
|
76
|
-
value: false
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
// src/Components/HeatMapSettings.ts
|
|
81
|
-
var HeatMapSettings = DefaultMapSettings();
|
|
82
|
-
var { debugLayer, scrollToZoom, fitToPoints } = HeatMapSettings;
|
|
83
|
-
debugLayer.hidden = false;
|
|
84
|
-
scrollToZoom.value = true;
|
|
85
|
-
fitToPoints.value = true;
|
|
86
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
-
0 && (module.exports = {
|
|
88
|
-
HeatMapSettings
|
|
89
|
-
});
|
|
90
|
-
//# sourceMappingURL=HeatMapSettings.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Components/HeatMapSettings.ts","../../../src/Settings/DefaultMapSettings.ts"],"sourcesContent":["import { DefaultMapSettings } from '../Settings'\n\nconst HeatMapSettings = DefaultMapSettings()\nconst { debugLayer, scrollToZoom, fitToPoints } = HeatMapSettings\ndebugLayer.hidden = false\nscrollToZoom.value = true\nfitToPoints.value = true\n\nexport { HeatMapSettings }\n","import { MapSetting } from './MapSetting'\n\nexport const DefaultMapSettings: () => MapSetting = () => ({\n debugLayer: {\n devMode: true,\n field: 'debugLayer',\n hidden: true,\n label: 'Debug Layer',\n value: false,\n },\n debugLogging: {\n devMode: true,\n field: 'debugLogging',\n hidden: true,\n label: 'Debug Logging',\n value: false,\n },\n dynamicMapResize: {\n devMode: true,\n field: 'dynamicMapResize',\n hidden: true,\n label: 'Auto Map Resize',\n value: true,\n },\n enableControls: {\n devMode: true,\n field: 'enableControls',\n hidden: true,\n label: 'Map Controls',\n value: false,\n },\n fitToPoints: {\n devMode: true,\n field: 'fitToPoints',\n hidden: true,\n label: 'Fit To Points',\n value: false,\n },\n preferDark: {\n devMode: false,\n field: 'preferDark',\n hidden: true,\n label: 'Prefer dark',\n value: false,\n },\n scrollToZoom: {\n devMode: true,\n field: 'scrollToZoom',\n hidden: true,\n label: 'Scroll To Zoom',\n value: false,\n },\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,qBAAuC,OAAO;AAAA,EACzD,YAAY;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,kBAAkB;AAAA,IAChB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;;;ADlDA,IAAM,kBAAkB,mBAAmB;AAC3C,IAAM,EAAE,YAAY,cAAc,YAAY,IAAI;AAClD,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB,YAAY,QAAQ;","names":[]}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
// src/Settings/DefaultMapSettings.ts
|
|
2
|
-
var DefaultMapSettings = () => ({
|
|
3
|
-
debugLayer: {
|
|
4
|
-
devMode: true,
|
|
5
|
-
field: "debugLayer",
|
|
6
|
-
hidden: true,
|
|
7
|
-
label: "Debug Layer",
|
|
8
|
-
value: false
|
|
9
|
-
},
|
|
10
|
-
debugLogging: {
|
|
11
|
-
devMode: true,
|
|
12
|
-
field: "debugLogging",
|
|
13
|
-
hidden: true,
|
|
14
|
-
label: "Debug Logging",
|
|
15
|
-
value: false
|
|
16
|
-
},
|
|
17
|
-
dynamicMapResize: {
|
|
18
|
-
devMode: true,
|
|
19
|
-
field: "dynamicMapResize",
|
|
20
|
-
hidden: true,
|
|
21
|
-
label: "Auto Map Resize",
|
|
22
|
-
value: true
|
|
23
|
-
},
|
|
24
|
-
enableControls: {
|
|
25
|
-
devMode: true,
|
|
26
|
-
field: "enableControls",
|
|
27
|
-
hidden: true,
|
|
28
|
-
label: "Map Controls",
|
|
29
|
-
value: false
|
|
30
|
-
},
|
|
31
|
-
fitToPoints: {
|
|
32
|
-
devMode: true,
|
|
33
|
-
field: "fitToPoints",
|
|
34
|
-
hidden: true,
|
|
35
|
-
label: "Fit To Points",
|
|
36
|
-
value: false
|
|
37
|
-
},
|
|
38
|
-
preferDark: {
|
|
39
|
-
devMode: false,
|
|
40
|
-
field: "preferDark",
|
|
41
|
-
hidden: true,
|
|
42
|
-
label: "Prefer dark",
|
|
43
|
-
value: false
|
|
44
|
-
},
|
|
45
|
-
scrollToZoom: {
|
|
46
|
-
devMode: true,
|
|
47
|
-
field: "scrollToZoom",
|
|
48
|
-
hidden: true,
|
|
49
|
-
label: "Scroll To Zoom",
|
|
50
|
-
value: false
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// src/Components/HeatMapSettings.ts
|
|
55
|
-
var HeatMapSettings = DefaultMapSettings();
|
|
56
|
-
var { debugLayer, scrollToZoom, fitToPoints } = HeatMapSettings;
|
|
57
|
-
debugLayer.hidden = false;
|
|
58
|
-
scrollToZoom.value = true;
|
|
59
|
-
fitToPoints.value = true;
|
|
60
|
-
export {
|
|
61
|
-
HeatMapSettings
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=HeatMapSettings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Settings/DefaultMapSettings.ts","../../../src/Components/HeatMapSettings.ts"],"sourcesContent":["import { MapSetting } from './MapSetting'\n\nexport const DefaultMapSettings: () => MapSetting = () => ({\n debugLayer: {\n devMode: true,\n field: 'debugLayer',\n hidden: true,\n label: 'Debug Layer',\n value: false,\n },\n debugLogging: {\n devMode: true,\n field: 'debugLogging',\n hidden: true,\n label: 'Debug Logging',\n value: false,\n },\n dynamicMapResize: {\n devMode: true,\n field: 'dynamicMapResize',\n hidden: true,\n label: 'Auto Map Resize',\n value: true,\n },\n enableControls: {\n devMode: true,\n field: 'enableControls',\n hidden: true,\n label: 'Map Controls',\n value: false,\n },\n fitToPoints: {\n devMode: true,\n field: 'fitToPoints',\n hidden: true,\n label: 'Fit To Points',\n value: false,\n },\n preferDark: {\n devMode: false,\n field: 'preferDark',\n hidden: true,\n label: 'Prefer dark',\n value: false,\n },\n scrollToZoom: {\n devMode: true,\n field: 'scrollToZoom',\n hidden: true,\n label: 'Scroll To Zoom',\n value: false,\n },\n})\n","import { DefaultMapSettings } from '../Settings'\n\nconst HeatMapSettings = DefaultMapSettings()\nconst { debugLayer, scrollToZoom, fitToPoints } = HeatMapSettings\ndebugLayer.hidden = false\nscrollToZoom.value = true\nfitToPoints.value = true\n\nexport { HeatMapSettings }\n"],"mappings":";AAEO,IAAM,qBAAuC,OAAO;AAAA,EACzD,YAAY;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,kBAAkB;AAAA,IAChB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;;;AClDA,IAAM,kBAAkB,mBAAmB;AAC3C,IAAM,EAAE,YAAY,cAAc,YAAY,IAAI;AAClD,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB,YAAY,QAAQ;","names":[]}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/Components/LayerAnimator.tsx
|
|
21
|
-
var LayerAnimator_exports = {};
|
|
22
|
-
__export(LayerAnimator_exports, {
|
|
23
|
-
LayerAnimator: () => LayerAnimator
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(LayerAnimator_exports);
|
|
26
|
-
var import_react_shared = require("@xylabs/react-shared");
|
|
27
|
-
var import_react = require("react");
|
|
28
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
29
|
-
var timeIncrement = 2e3;
|
|
30
|
-
var animatedLayerCount = 3;
|
|
31
|
-
var LayerAnimator = ({ animateLayers, children, layers, layersInitialized, map }) => {
|
|
32
|
-
const [fillLayers, setFillLayers] = (0, import_react.useState)([]);
|
|
33
|
-
const layerIndexQueue = (0, import_react.useRef)([]);
|
|
34
|
-
const incrementQueue = (0, import_react.useCallback)(
|
|
35
|
-
(index) => {
|
|
36
|
-
if (fillLayers[index]) {
|
|
37
|
-
layerIndexQueue.current.push(index);
|
|
38
|
-
} else {
|
|
39
|
-
layerIndexQueue.current.push(0);
|
|
40
|
-
}
|
|
41
|
-
return layerIndexQueue.current.at(-1);
|
|
42
|
-
},
|
|
43
|
-
[fillLayers]
|
|
44
|
-
);
|
|
45
|
-
const lastQueuedIndex = (0, import_react.useCallback)(() => {
|
|
46
|
-
const last = layerIndexQueue.current.at(-1);
|
|
47
|
-
if (last === void 0) {
|
|
48
|
-
incrementQueue(0);
|
|
49
|
-
return 0;
|
|
50
|
-
} else {
|
|
51
|
-
return last;
|
|
52
|
-
}
|
|
53
|
-
}, [incrementQueue]);
|
|
54
|
-
const unshiftQueue = (0, import_react.useCallback)(() => {
|
|
55
|
-
layerIndexQueue.current.shift();
|
|
56
|
-
}, []);
|
|
57
|
-
const getNextLayer = (0, import_react.useCallback)(() => {
|
|
58
|
-
const nextLayer = fillLayers[lastQueuedIndex()];
|
|
59
|
-
incrementQueue(lastQueuedIndex() + 1);
|
|
60
|
-
return nextLayer;
|
|
61
|
-
}, [fillLayers, incrementQueue, lastQueuedIndex]);
|
|
62
|
-
const layerAnimateWorker = (0, import_react.useCallback)(
|
|
63
|
-
(layer) => {
|
|
64
|
-
if (layer) {
|
|
65
|
-
map == null ? void 0 : map.setPaintProperty(layer.id, "fill-opacity", 0.85);
|
|
66
|
-
setTimeout(() => {
|
|
67
|
-
map == null ? void 0 : map.setPaintProperty(layer.id, "fill-opacity", 0);
|
|
68
|
-
unshiftQueue();
|
|
69
|
-
}, timeIncrement * 2);
|
|
70
|
-
} else {
|
|
71
|
-
console.warn("tried to queue an empty layer");
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
[map, unshiftQueue]
|
|
75
|
-
);
|
|
76
|
-
(0, import_react.useEffect)(() => {
|
|
77
|
-
if ((layers == null ? void 0 : layers.length) && map && layersInitialized) {
|
|
78
|
-
setFillLayers(
|
|
79
|
-
layers.filter((layer) => {
|
|
80
|
-
const fillLayer = layer.id.startsWith("location-fill");
|
|
81
|
-
if (fillLayer) {
|
|
82
|
-
map.setPaintProperty(layer.id, "fill-opacity-transition", { delay: 0, duration: 4e3 });
|
|
83
|
-
}
|
|
84
|
-
return fillLayer;
|
|
85
|
-
})
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
}, [layers, layersInitialized, map]);
|
|
89
|
-
const queueLayerAnimation = (0, import_react.useCallback)(() => {
|
|
90
|
-
const animatedLayers = [];
|
|
91
|
-
for (let i = 0; i < animatedLayerCount; i++) {
|
|
92
|
-
animatedLayers.push(getNextLayer());
|
|
93
|
-
}
|
|
94
|
-
animatedLayers.forEach((layer, index) => {
|
|
95
|
-
if (index === 0) {
|
|
96
|
-
layerAnimateWorker(layer);
|
|
97
|
-
} else {
|
|
98
|
-
setTimeout(() => {
|
|
99
|
-
layerAnimateWorker(layer);
|
|
100
|
-
}, timeIncrement * index);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}, [getNextLayer, layerAnimateWorker]);
|
|
104
|
-
(0, import_react.useEffect)(() => {
|
|
105
|
-
if (animateLayers && layersInitialized && map && fillLayers.length) {
|
|
106
|
-
queueLayerAnimation();
|
|
107
|
-
}
|
|
108
|
-
}, [animateLayers, fillLayers.length, layersInitialized, map, queueLayerAnimation]);
|
|
109
|
-
(0, import_react_shared.useInterval)(() => {
|
|
110
|
-
if (animateLayers && layersInitialized && map && fillLayers.length) {
|
|
111
|
-
queueLayerAnimation();
|
|
112
|
-
}
|
|
113
|
-
}, timeIncrement * animatedLayerCount);
|
|
114
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
|
|
115
|
-
};
|
|
116
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
117
|
-
0 && (module.exports = {
|
|
118
|
-
LayerAnimator
|
|
119
|
-
});
|
|
120
|
-
//# sourceMappingURL=LayerAnimator.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Components/LayerAnimator.tsx"],"sourcesContent":["import { useInterval, WithChildren } from '@xylabs/react-shared'\nimport { Map } from 'mapbox-gl'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { MapLayer } from '../Layers'\nimport { MapboxFlexBoxProps } from '../lib'\n\nexport interface LayerAnimatorProps {\n animateLayers?: boolean\n layers: MapboxFlexBoxProps['layers']\n layersInitialized: boolean\n map: Map | undefined\n}\n\nconst timeIncrement = 2000\nconst animatedLayerCount = 3\n\nexport const LayerAnimator: React.FC<WithChildren<LayerAnimatorProps>> = ({ animateLayers, children, layers, layersInitialized, map }) => {\n const [fillLayers, setFillLayers] = useState<MapLayer[]>([])\n const layerIndexQueue = useRef<number[]>([])\n\n const incrementQueue = useCallback(\n (index: number) => {\n if (fillLayers[index]) {\n layerIndexQueue.current.push(index)\n } else {\n layerIndexQueue.current.push(0)\n }\n return layerIndexQueue.current.at(-1)\n },\n [fillLayers],\n )\n\n const lastQueuedIndex = useCallback(() => {\n const last = layerIndexQueue.current.at(-1)\n if (last === undefined) {\n incrementQueue(0)\n return 0\n } else {\n return last\n }\n }, [incrementQueue])\n\n const unshiftQueue = useCallback(() => {\n layerIndexQueue.current.shift()\n }, [])\n\n const getNextLayer = useCallback(() => {\n const nextLayer = fillLayers[lastQueuedIndex()]\n incrementQueue(lastQueuedIndex() + 1)\n return nextLayer\n }, [fillLayers, incrementQueue, lastQueuedIndex])\n\n const layerAnimateWorker = useCallback(\n (layer: MapLayer) => {\n if (layer) {\n map?.setPaintProperty(layer.id, 'fill-opacity', 0.85)\n setTimeout(() => {\n map?.setPaintProperty(layer.id, 'fill-opacity', 0)\n unshiftQueue()\n }, timeIncrement * 2)\n } else {\n console.warn('tried to queue an empty layer')\n }\n },\n [map, unshiftQueue],\n )\n\n useEffect(() => {\n if (layers?.length && map && layersInitialized) {\n // Only animate fill layers for now\n setFillLayers(\n layers.filter((layer) => {\n const fillLayer = layer.id.startsWith('location-fill')\n if (fillLayer) {\n map.setPaintProperty(layer.id, 'fill-opacity-transition', { delay: 0, duration: 4000 })\n }\n return fillLayer\n }),\n )\n }\n }, [layers, layersInitialized, map])\n\n //\n const queueLayerAnimation = useCallback(() => {\n const animatedLayers: MapLayer[] = []\n\n for (let i = 0; i < animatedLayerCount; i++) {\n animatedLayers.push(getNextLayer())\n }\n\n animatedLayers.forEach((layer, index) => {\n if (index === 0) {\n layerAnimateWorker(layer)\n } else {\n setTimeout(() => {\n layerAnimateWorker(layer)\n }, timeIncrement * index)\n }\n })\n }, [getNextLayer, layerAnimateWorker])\n\n // Run a single layer animation before the interval kicks in\n useEffect(() => {\n if (animateLayers && layersInitialized && map && fillLayers.length) {\n queueLayerAnimation()\n }\n }, [animateLayers, fillLayers.length, layersInitialized, map, queueLayerAnimation])\n\n useInterval(() => {\n if (animateLayers && layersInitialized && map && fillLayers.length) {\n queueLayerAnimation()\n }\n }, timeIncrement * animatedLayerCount)\n\n return <>{children}</>\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
// src/Components/LayerAnimator.tsx
|
|
2
|
-
import { useInterval } from "@xylabs/react-shared";
|
|
3
|
-
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
-
import { Fragment, jsx } from "react/jsx-runtime";
|
|
5
|
-
var timeIncrement = 2e3;
|
|
6
|
-
var animatedLayerCount = 3;
|
|
7
|
-
var LayerAnimator = ({ animateLayers, children, layers, layersInitialized, map }) => {
|
|
8
|
-
const [fillLayers, setFillLayers] = useState([]);
|
|
9
|
-
const layerIndexQueue = useRef([]);
|
|
10
|
-
const incrementQueue = useCallback(
|
|
11
|
-
(index) => {
|
|
12
|
-
if (fillLayers[index]) {
|
|
13
|
-
layerIndexQueue.current.push(index);
|
|
14
|
-
} else {
|
|
15
|
-
layerIndexQueue.current.push(0);
|
|
16
|
-
}
|
|
17
|
-
return layerIndexQueue.current.at(-1);
|
|
18
|
-
},
|
|
19
|
-
[fillLayers]
|
|
20
|
-
);
|
|
21
|
-
const lastQueuedIndex = useCallback(() => {
|
|
22
|
-
const last = layerIndexQueue.current.at(-1);
|
|
23
|
-
if (last === void 0) {
|
|
24
|
-
incrementQueue(0);
|
|
25
|
-
return 0;
|
|
26
|
-
} else {
|
|
27
|
-
return last;
|
|
28
|
-
}
|
|
29
|
-
}, [incrementQueue]);
|
|
30
|
-
const unshiftQueue = useCallback(() => {
|
|
31
|
-
layerIndexQueue.current.shift();
|
|
32
|
-
}, []);
|
|
33
|
-
const getNextLayer = useCallback(() => {
|
|
34
|
-
const nextLayer = fillLayers[lastQueuedIndex()];
|
|
35
|
-
incrementQueue(lastQueuedIndex() + 1);
|
|
36
|
-
return nextLayer;
|
|
37
|
-
}, [fillLayers, incrementQueue, lastQueuedIndex]);
|
|
38
|
-
const layerAnimateWorker = useCallback(
|
|
39
|
-
(layer) => {
|
|
40
|
-
if (layer) {
|
|
41
|
-
map == null ? void 0 : map.setPaintProperty(layer.id, "fill-opacity", 0.85);
|
|
42
|
-
setTimeout(() => {
|
|
43
|
-
map == null ? void 0 : map.setPaintProperty(layer.id, "fill-opacity", 0);
|
|
44
|
-
unshiftQueue();
|
|
45
|
-
}, timeIncrement * 2);
|
|
46
|
-
} else {
|
|
47
|
-
console.warn("tried to queue an empty layer");
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
[map, unshiftQueue]
|
|
51
|
-
);
|
|
52
|
-
useEffect(() => {
|
|
53
|
-
if ((layers == null ? void 0 : layers.length) && map && layersInitialized) {
|
|
54
|
-
setFillLayers(
|
|
55
|
-
layers.filter((layer) => {
|
|
56
|
-
const fillLayer = layer.id.startsWith("location-fill");
|
|
57
|
-
if (fillLayer) {
|
|
58
|
-
map.setPaintProperty(layer.id, "fill-opacity-transition", { delay: 0, duration: 4e3 });
|
|
59
|
-
}
|
|
60
|
-
return fillLayer;
|
|
61
|
-
})
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
}, [layers, layersInitialized, map]);
|
|
65
|
-
const queueLayerAnimation = useCallback(() => {
|
|
66
|
-
const animatedLayers = [];
|
|
67
|
-
for (let i = 0; i < animatedLayerCount; i++) {
|
|
68
|
-
animatedLayers.push(getNextLayer());
|
|
69
|
-
}
|
|
70
|
-
animatedLayers.forEach((layer, index) => {
|
|
71
|
-
if (index === 0) {
|
|
72
|
-
layerAnimateWorker(layer);
|
|
73
|
-
} else {
|
|
74
|
-
setTimeout(() => {
|
|
75
|
-
layerAnimateWorker(layer);
|
|
76
|
-
}, timeIncrement * index);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}, [getNextLayer, layerAnimateWorker]);
|
|
80
|
-
useEffect(() => {
|
|
81
|
-
if (animateLayers && layersInitialized && map && fillLayers.length) {
|
|
82
|
-
queueLayerAnimation();
|
|
83
|
-
}
|
|
84
|
-
}, [animateLayers, fillLayers.length, layersInitialized, map, queueLayerAnimation]);
|
|
85
|
-
useInterval(() => {
|
|
86
|
-
if (animateLayers && layersInitialized && map && fillLayers.length) {
|
|
87
|
-
queueLayerAnimation();
|
|
88
|
-
}
|
|
89
|
-
}, timeIncrement * animatedLayerCount);
|
|
90
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
91
|
-
};
|
|
92
|
-
export {
|
|
93
|
-
LayerAnimator
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=LayerAnimator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Components/LayerAnimator.tsx"],"sourcesContent":["import { useInterval, WithChildren } from '@xylabs/react-shared'\nimport { Map } from 'mapbox-gl'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { MapLayer } from '../Layers'\nimport { MapboxFlexBoxProps } from '../lib'\n\nexport interface LayerAnimatorProps {\n animateLayers?: boolean\n layers: MapboxFlexBoxProps['layers']\n layersInitialized: boolean\n map: Map | undefined\n}\n\nconst timeIncrement = 2000\nconst animatedLayerCount = 3\n\nexport const LayerAnimator: React.FC<WithChildren<LayerAnimatorProps>> = ({ animateLayers, children, layers, layersInitialized, map }) => {\n const [fillLayers, setFillLayers] = useState<MapLayer[]>([])\n const layerIndexQueue = useRef<number[]>([])\n\n const incrementQueue = useCallback(\n (index: number) => {\n if (fillLayers[index]) {\n layerIndexQueue.current.push(index)\n } else {\n layerIndexQueue.current.push(0)\n }\n return layerIndexQueue.current.at(-1)\n },\n [fillLayers],\n )\n\n const lastQueuedIndex = useCallback(() => {\n const last = layerIndexQueue.current.at(-1)\n if (last === undefined) {\n incrementQueue(0)\n return 0\n } else {\n return last\n }\n }, [incrementQueue])\n\n const unshiftQueue = useCallback(() => {\n layerIndexQueue.current.shift()\n }, [])\n\n const getNextLayer = useCallback(() => {\n const nextLayer = fillLayers[lastQueuedIndex()]\n incrementQueue(lastQueuedIndex() + 1)\n return nextLayer\n }, [fillLayers, incrementQueue, lastQueuedIndex])\n\n const layerAnimateWorker = useCallback(\n (layer: MapLayer) => {\n if (layer) {\n map?.setPaintProperty(layer.id, 'fill-opacity', 0.85)\n setTimeout(() => {\n map?.setPaintProperty(layer.id, 'fill-opacity', 0)\n unshiftQueue()\n }, timeIncrement * 2)\n } else {\n console.warn('tried to queue an empty layer')\n }\n },\n [map, unshiftQueue],\n )\n\n useEffect(() => {\n if (layers?.length && map && layersInitialized) {\n // Only animate fill layers for now\n setFillLayers(\n layers.filter((layer) => {\n const fillLayer = layer.id.startsWith('location-fill')\n if (fillLayer) {\n map.setPaintProperty(layer.id, 'fill-opacity-transition', { delay: 0, duration: 4000 })\n }\n return fillLayer\n }),\n )\n }\n }, [layers, layersInitialized, map])\n\n //\n const queueLayerAnimation = useCallback(() => {\n const animatedLayers: MapLayer[] = []\n\n for (let i = 0; i < animatedLayerCount; i++) {\n animatedLayers.push(getNextLayer())\n }\n\n animatedLayers.forEach((layer, index) => {\n if (index === 0) {\n layerAnimateWorker(layer)\n } else {\n setTimeout(() => {\n layerAnimateWorker(layer)\n }, timeIncrement * index)\n }\n })\n }, [getNextLayer, layerAnimateWorker])\n\n // Run a single layer animation before the interval kicks in\n useEffect(() => {\n if (animateLayers && layersInitialized && map && fillLayers.length) {\n queueLayerAnimation()\n }\n }, [animateLayers, fillLayers.length, layersInitialized, map, queueLayerAnimation])\n\n useInterval(() => {\n if (animateLayers && layersInitialized && map && fillLayers.length) {\n queueLayerAnimation()\n }\n }, timeIncrement * animatedLayerCount)\n\n return <>{children}</>\n}\n"],"mappings":"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","names":[]}
|