@mapcomponents/react-maplibre 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/CHANGELOG.md +16 -7
  2. package/coverage/clover.xml +43 -42
  3. package/coverage/coverage-final.json +1 -1
  4. package/coverage/lcov-report/index.html +15 -15
  5. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.js.html +1 -1
  6. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  7. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.js.html +1 -1
  8. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  9. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.js.html +1 -1
  10. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  11. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.js.html +1 -1
  12. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  13. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.js.html +1 -1
  14. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  15. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.js.html +1 -1
  16. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
  17. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
  18. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js.html +39 -12
  19. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +15 -15
  20. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js.html +1 -1
  21. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  22. package/coverage/lcov-report/src/components/MlLayer/MlLayer.js.html +1 -1
  23. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  24. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.js.html +1 -1
  25. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  26. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.js.html +1 -1
  27. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  28. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  29. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  30. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  31. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  32. package/coverage/lcov-report/src/components/MlMarker/MlMarker.js.html +1 -1
  33. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  34. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.js.html +1 -1
  35. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  36. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.js.html +1 -1
  37. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  39. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  40. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  41. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  42. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  43. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  44. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +1 -1
  45. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  46. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  47. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  48. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  49. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  50. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.js.html +1 -1
  51. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
  52. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  53. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  54. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.js.html +1 -1
  55. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  56. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.js.html +1 -1
  57. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
  58. package/coverage/lcov-report/src/hooks/index.html +1 -1
  59. package/coverage/lcov-report/src/hooks/useMap.js.html +1 -1
  60. package/coverage/lcov-report/src/hooks/useMapState.js.html +1 -1
  61. package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
  62. package/coverage/lcov-report/src/i18n.js.html +1 -1
  63. package/coverage/lcov-report/src/index.html +1 -1
  64. package/coverage/lcov-report/src/translations/english.js.html +1 -1
  65. package/coverage/lcov-report/src/translations/german.js.html +1 -1
  66. package/coverage/lcov-report/src/translations/index.html +1 -1
  67. package/coverage/lcov.info +93 -90
  68. package/dist/index.esm.js +24 -5
  69. package/dist/index.esm.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +13 -4
  72. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +22 -7
  73. package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.js +10 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapcomponents/react-maplibre",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "module": "dist/index.esm.js",
@@ -52,10 +52,13 @@ const MlGeoJsonLayer = (props) => {
52
52
  useEffect(() => {
53
53
  if (!mapHook.map || !initializedRef.current) return;
54
54
 
55
- for (var key in props.paint) {
56
- mapHook.map.setPaintProperty(layerId.current, key, props.paint[key]);
55
+ let _paint =
56
+ props.paint || getDefaultPaintPropsByType(layerTypeRef.current, props.defaultPaintOverrides);
57
+
58
+ for (var key in _paint) {
59
+ mapHook.map.setPaintProperty(layerId.current, key, _paint[key]);
57
60
  }
58
- }, [props.paint, mapHook.map, props.mapId]);
61
+ }, [props.paint, mapHook.map, props.mapId, props.defaultPaintOverrides]);
59
62
 
60
63
  const transitionToGeojson = useCallback(
61
64
  (newGeojson) => {
@@ -125,7 +128,9 @@ const MlGeoJsonLayer = (props) => {
125
128
  data: geojson,
126
129
  },
127
130
  type: layerTypeRef.current,
128
- paint: props.paint || getDefaultPaintPropsByType(layerTypeRef.current),
131
+ paint:
132
+ props.paint ||
133
+ getDefaultPaintPropsByType(layerTypeRef.current, props.defaultPaintOverrides),
129
134
  layout: props.layout || {},
130
135
  },
131
136
  props.insertBeforeLayer,
@@ -207,6 +212,10 @@ MlGeoJsonLayer.propTypes = {
207
212
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
208
213
  */
209
214
  paint: PropTypes.object,
215
+ /**
216
+ * Javascript object with optional properties "fill", "line", "circle" to override implicit layer type default paint properties.
217
+ */
218
+ defaultPaintOverrides: PropTypes.object,
210
219
  /**
211
220
  * GeoJSON data that is supposed to be rendered by this component.
212
221
  */
@@ -52,13 +52,28 @@ const LinestringTransitionTemplate = (props) => {
52
52
  );
53
53
  };
54
54
 
55
- export const LinestringExample = LinestringTransitionTemplate.bind({});
56
- LinestringExample.parameters = {};
57
- LinestringExample.args = {};
55
+ export const Linestring = LinestringTransitionTemplate.bind({});
56
+ Linestring.parameters = {};
57
+ Linestring.args = {};
58
58
 
59
- export const PolygonExample = Template.bind({});
60
- PolygonExample.parameters = {};
61
- PolygonExample.args = {
62
- type: "line",
59
+ export const Polygon = Template.bind({});
60
+ Polygon.parameters = {};
61
+ Polygon.args = {
62
+ geojson: sample_polygon_geojson_1,
63
+ };
64
+ export const DefaultPaintOverrides = Template.bind({});
65
+ DefaultPaintOverrides.parameters = {};
66
+ DefaultPaintOverrides.args = {
67
+ defaultPaintOverrides: {
68
+ fill: {
69
+ "fill-color": "blue",
70
+ },
71
+ circle: {
72
+ "circle-color": "red",
73
+ },
74
+ line: {
75
+ "line-color": "orange",
76
+ },
77
+ },
63
78
  geojson: sample_polygon_geojson_1,
64
79
  };
@@ -1,16 +1,25 @@
1
- const getDefaultPaintPropsByType = (type) => {
1
+ const getDefaultPaintPropsByType = (type, defaultPaintOverrides) => {
2
2
  switch (type) {
3
3
  case "fill":
4
+ if (defaultPaintOverrides?.fill) {
5
+ return defaultPaintOverrides.fill;
6
+ }
4
7
  return {
5
8
  "fill-color": "rgba(10,240,256,0.6)",
6
9
  };
7
10
  case "line":
11
+ if (defaultPaintOverrides?.line) {
12
+ return defaultPaintOverrides.line;
13
+ }
8
14
  return {
9
15
  "line-color": "rgb(100,200,100)",
10
16
  "line-width": 5,
11
17
  };
12
18
  case "circle":
13
19
  default:
20
+ if (defaultPaintOverrides?.circle) {
21
+ return defaultPaintOverrides.circle;
22
+ }
14
23
  return {
15
24
  "circle-color": "#44aaaa",
16
25
  "circle-stroke-color": "#fff",