@mapcomponents/react-maplibre 0.1.51 → 0.1.54

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 (98) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/coverage/clover.xml +52 -31
  3. package/coverage/coverage-final.json +3 -2
  4. package/coverage/lcov-report/index.html +32 -17
  5. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +1 -1
  6. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  7. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +343 -0
  8. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +116 -0
  9. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +1 -1
  10. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  11. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +1 -1
  12. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  13. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
  14. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  15. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +1 -1
  16. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  17. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +1 -1
  18. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
  19. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
  20. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +2 -2
  21. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  22. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +1 -1
  23. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  24. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +20 -2
  25. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  26. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +1 -1
  27. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  28. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +1 -1
  29. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  30. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  31. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  32. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  33. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  34. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
  35. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  36. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +1 -1
  37. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
  39. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  40. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +195 -42
  41. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +15 -15
  42. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  43. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +1 -1
  44. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  45. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  46. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  47. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  48. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  49. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +1 -1
  50. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  51. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  52. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  53. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +2 -2
  54. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  55. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  56. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  57. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +1 -1
  58. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
  59. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  60. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  61. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +1 -1
  62. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  63. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +1 -1
  64. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
  65. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +1 -1
  66. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  67. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  68. package/coverage/lcov-report/src/contexts/index.html +1 -1
  69. package/coverage/lcov-report/src/hooks/index.html +1 -1
  70. package/coverage/lcov-report/src/hooks/useLayer.ts.html +1 -1
  71. package/coverage/lcov-report/src/hooks/useMap.ts.html +1 -1
  72. package/coverage/lcov-report/src/hooks/useMapState.ts.html +1 -1
  73. package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
  74. package/coverage/lcov-report/src/index.html +1 -1
  75. package/coverage/lcov-report/src/index.ts.html +1 -1
  76. package/coverage/lcov.info +120 -76
  77. package/dist/components/MlCenterPosition/MlCenterPosition.d.ts +50 -0
  78. package/dist/components/MlCenterPosition/MlCenterPosition.stories.d.ts +17 -0
  79. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +1 -1
  80. package/dist/components/MlLayer/MlLayer.d.ts +5 -0
  81. package/dist/components/MlNavigationTools/MlNavigationTools.d.ts +39 -3
  82. package/dist/components/MlNavigationTools/MlNavigationTools.stories.d.ts +8 -3
  83. package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.d.ts +1 -1
  84. package/dist/decorators/NoNavToolsDecorator.d.ts +2 -0
  85. package/dist/index.esm.js +79 -15
  86. package/dist/index.esm.js.map +1 -1
  87. package/package.json +1 -1
  88. package/scripts/create-map-component.sh +2 -2
  89. package/src/components/MlCenterPosition/MlCenterPosition.doc.de.md +3 -0
  90. package/src/components/MlCenterPosition/MlCenterPosition.meta_.json +15 -0
  91. package/src/components/MlCenterPosition/MlCenterPosition.stories.js +21 -0
  92. package/src/components/MlCenterPosition/MlCenterPosition.tsx +86 -0
  93. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +1 -1
  94. package/src/components/MlLayer/MlLayer.tsx +6 -0
  95. package/src/components/MlNavigationTools/MlNavigationTools.stories.js +43 -6
  96. package/src/components/MlNavigationTools/MlNavigationTools.tsx +79 -28
  97. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +1 -1
  98. package/src/decorators/NoNavToolsDecorator.js +31 -0
package/dist/index.esm.js CHANGED
@@ -13316,8 +13316,55 @@ function useMediaQuery(queryInput, options = {}) {
13316
13316
  }
13317
13317
 
13318
13318
  /**
13319
- * @component
13320
- */
13319
+ * Component template
13320
+ *
13321
+ */
13322
+ var MlCenterPosition = function (props) {
13323
+ var _a, _b;
13324
+ var mapHook = useMap({
13325
+ mapId: props.mapId,
13326
+ waitForLayer: props.insertBeforeLayer,
13327
+ });
13328
+ var _c = useState(false), locationAccessDenied = _c[0], setLocationAccessDenied = _c[1];
13329
+ var centerCurrentLocation = function () {
13330
+ navigator.geolocation.getCurrentPosition(getLocationSuccess, getLocationError);
13331
+ };
13332
+ var getLocationSuccess = useCallback(function (location) {
13333
+ var _a, _b, _c;
13334
+ (_c = (_a = mapHook.map) === null || _a === void 0 ? void 0 : (_b = _a.map).setCenter) === null || _c === void 0 ? void 0 : _c.call(_b, [location.coords.longitude, location.coords.latitude]);
13335
+ }, [mapHook.map]);
13336
+ var getLocationError = function () {
13337
+ console.log("Access of user location denied");
13338
+ setLocationAccessDenied(true);
13339
+ };
13340
+ return React__default.createElement(React__default.Fragment, null,
13341
+ React__default.createElement(Button$2, { sx: __assign({ zIndex: 1002, color: !locationAccessDenied ? props.onColor : props.offColor }, props.style), onClick: centerCurrentLocation, disabled: locationAccessDenied },
13342
+ React__default.createElement(default_1$4, { sx: __assign({}, (((_a = props.style) === null || _a === void 0 ? void 0 : _a.fontSize) ? { fontSize: (_b = props.style) === null || _b === void 0 ? void 0 : _b.fontSize } : {})) }),
13343
+ " "));
13344
+ };
13345
+ MlCenterPosition.defaultProps = {
13346
+ mapId: undefined,
13347
+ style: {
13348
+ minWidth: "30px",
13349
+ minHeight: "30px",
13350
+ width: "30px",
13351
+ height: "30px",
13352
+ backgroundColor: "#414141",
13353
+ borderRadius: "23%",
13354
+ margin: 0.15,
13355
+ fontSize: "1.3em",
13356
+ ":hover": {
13357
+ backgroundColor: "#515151",
13358
+ color: "#ececec",
13359
+ },
13360
+ },
13361
+ onColor: "#ececec",
13362
+ offColor: "#666",
13363
+ };
13364
+
13365
+ /**
13366
+ * @component
13367
+ */
13321
13368
  var MlNavigationTools = function (props) {
13322
13369
  var mapHook = useMap({
13323
13370
  mapId: props.mapId,
@@ -13335,12 +13382,15 @@ var MlNavigationTools = function (props) {
13335
13382
  //border: "1px solid #bbb",
13336
13383
  //boxShadow: "0px 0px 4px rgba(0,0,0,.5)",
13337
13384
  margin: 0.15,
13338
- fontSize: mediaIsMobile ? "1.5em" : "1.2em",
13385
+ fontSize: mediaIsMobile ? "1.4em" : "1.2em",
13339
13386
  ":hover": {
13340
13387
  backgroundColor: "#515151",
13341
13388
  },
13342
13389
  color: "#ececec",
13343
13390
  };
13391
+ var iconStyle = {
13392
+ fontSize: buttonStyle.fontSize,
13393
+ };
13344
13394
  useEffect(function () {
13345
13395
  if (!mapHook.map)
13346
13396
  return;
@@ -13354,16 +13404,14 @@ var MlNavigationTools = function (props) {
13354
13404
  var zoomIn = function () {
13355
13405
  if (!mapHook.map)
13356
13406
  return;
13357
- if (mapHook.map.map.transform._zoom + 0.5 <=
13358
- mapHook.map.map.transform._maxZoom) {
13407
+ if (mapHook.map.map.transform._zoom + 0.5 <= mapHook.map.map.transform._maxZoom) {
13359
13408
  mapHook.map.map.easeTo({ zoom: mapHook.map.map.transform._zoom + 0.5 });
13360
13409
  }
13361
13410
  };
13362
13411
  var zoomOut = function () {
13363
13412
  if (!mapHook.map)
13364
13413
  return;
13365
- if (mapHook.map.map.transform._zoom - 0.5 >=
13366
- mapHook.map.map.transform._minZoom) {
13414
+ if (mapHook.map.map.transform._zoom - 0.5 >= mapHook.map.map.transform._minZoom) {
13367
13415
  mapHook.map.map.easeTo({ zoom: mapHook.map.map.transform._zoom - 0.5 });
13368
13416
  }
13369
13417
  };
@@ -13393,21 +13441,36 @@ var MlNavigationTools = function (props) {
13393
13441
  }, backgroundStyle: {
13394
13442
  boxShadow: "0px 0px 18px rgba(0,0,0,.5)",
13395
13443
  } }),
13396
- React__default.createElement(Button$1, { sx: __assign(__assign({}, buttonStyle), { fontSize: mediaIsMobile ? '1.4em' : '1em', fontWeight: 600 }), onClick: adjustPitch }, pitch ? "2D" : "3D"),
13397
- React__default.createElement(MlFollowGps, { style: __assign({}, (function (_a) {
13444
+ props.show3DButton && (React__default.createElement(Button$1, { sx: __assign(__assign({}, buttonStyle), { fontSize: mediaIsMobile ? "1.4em" : "1em", fontWeight: 600 }), onClick: adjustPitch }, pitch ? "2D" : "3D")),
13445
+ props.showFollowGpsButton && (React__default.createElement(MlFollowGps, { style: __assign({}, (function (_a) {
13398
13446
  _a.color; var rest = __rest(_a, ["color"]);
13399
13447
  return rest;
13400
- })(buttonStyle)) }),
13448
+ })(buttonStyle)) })),
13449
+ props.showCenterLocationButton && (React__default.createElement(MlCenterPosition, { style: __assign({}, (function (_a) {
13450
+ _a.color; var rest = __rest(_a, ["color"]);
13451
+ return rest;
13452
+ })(buttonStyle)) })),
13401
13453
  React__default.createElement(ButtonGroup$1, { orientation: "vertical", sx: {
13402
13454
  width: "50px",
13403
13455
  border: "none",
13404
13456
  Button: { minWidth: "20px !important", border: "none", padding: 0 },
13405
13457
  "Button:hover": { border: "none" },
13406
- } },
13407
- React__default.createElement(Button$1, { sx: __assign(__assign({}, buttonStyle), { color: "#ececec" }), onClick: zoomIn },
13408
- React__default.createElement(default_1$3, { sx: { fontSize: mediaIsMobile ? "1.5em" : "1.2em" } })),
13409
- React__default.createElement(Button$1, { sx: __assign(__assign({}, buttonStyle), { color: "#ececec" }), onClick: zoomOut },
13410
- React__default.createElement(default_1$2, { sx: { fontSize: mediaIsMobile ? "1.5em" : "1.2em" } })))));
13458
+ } }, props.showZoomButtons && (React__default.createElement(React__default.Fragment, null,
13459
+ React__default.createElement(Button$1, { sx: __assign({}, buttonStyle), onClick: zoomIn },
13460
+ React__default.createElement(default_1$3, { sx: __assign({}, iconStyle) })),
13461
+ React__default.createElement(Button$1, { sx: __assign({}, buttonStyle), onClick: zoomOut },
13462
+ React__default.createElement(default_1$2, { sx: __assign({}, iconStyle) }))))),
13463
+ props.children &&
13464
+ React__default.cloneElement(props.children, {
13465
+ sx: __assign({}, buttonStyle),
13466
+ })));
13467
+ };
13468
+ MlNavigationTools.defaultProps = {
13469
+ mapId: undefined,
13470
+ show3DButton: true,
13471
+ showFollowGpsButton: true,
13472
+ showCenterLocationButton: false,
13473
+ showZoomButtons: true,
13411
13474
  };
13412
13475
 
13413
13476
  /**
@@ -13420,6 +13483,7 @@ var MlLayer = function (props) {
13420
13483
  idPrefix: 'MlLayer-',
13421
13484
  layerId: props.layerId,
13422
13485
  mapId: props.mapId,
13486
+ geojson: props.geojson,
13423
13487
  options: __assign({ type: "background", paint: {
13424
13488
  "background-color": "rgba(0,0,0,0)",
13425
13489
  } }, props.options),