react-simple-maps 3.0.0-beta.5 → 3.0.0-beta.8

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/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { createContext, useMemo, useCallback, forwardRef, useContext, useState, useEffect, memo, useRef, Fragment } from 'react';
1
+ import React, { createContext, useMemo, useCallback, useContext, forwardRef, useState, useEffect, memo, useRef, Fragment } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import * as d3Geo from 'd3-geo';
4
4
  import { geoGraticule } from 'd3-geo';
@@ -169,7 +169,7 @@ function _nonIterableRest() {
169
169
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
170
170
  }
171
171
 
172
- var _excluded$9 = ["width", "height", "projection", "projectionConfig"];
172
+ var _excluded$a = ["width", "height", "projection", "projectionConfig"];
173
173
 
174
174
  var geoPath = d3Geo.geoPath,
175
175
  projections = _objectWithoutProperties(d3Geo, ["geoPath"]);
@@ -201,7 +201,7 @@ var MapProvider = function MapProvider(_ref2) {
201
201
  height = _ref2.height,
202
202
  projection = _ref2.projection,
203
203
  projectionConfig = _ref2.projectionConfig,
204
- restProps = _objectWithoutProperties(_ref2, _excluded$9);
204
+ restProps = _objectWithoutProperties(_ref2, _excluded$a);
205
205
 
206
206
  var _ref3 = projectionConfig.center || [],
207
207
  _ref4 = _slicedToArray(_ref3, 2),
@@ -254,9 +254,12 @@ MapProvider.propTypes = {
254
254
  projectionConfig: PropTypes.object
255
255
  };
256
256
 
257
- var _excluded$8 = ["width", "height", "projection", "projectionConfig", "className"];
257
+ var useMapContext = function useMapContext() {
258
+ return useContext(MapContext);
259
+ };
258
260
 
259
- var ComposableMap = function ComposableMap(_ref, ref) {
261
+ var _excluded$9 = ["width", "height", "projection", "projectionConfig", "className"];
262
+ var ComposableMap = forwardRef(function (_ref, ref) {
260
263
  var _ref$width = _ref.width,
261
264
  width = _ref$width === void 0 ? 800 : _ref$width,
262
265
  _ref$height = _ref.height,
@@ -267,7 +270,7 @@ var ComposableMap = function ComposableMap(_ref, ref) {
267
270
  projectionConfig = _ref$projectionConfig === void 0 ? {} : _ref$projectionConfig,
268
271
  _ref$className = _ref.className,
269
272
  className = _ref$className === void 0 ? "" : _ref$className,
270
- restProps = _objectWithoutProperties(_ref, _excluded$8);
273
+ restProps = _objectWithoutProperties(_ref, _excluded$9);
271
274
 
272
275
  return /*#__PURE__*/React.createElement(MapProvider, {
273
276
  width: width,
@@ -279,8 +282,8 @@ var ComposableMap = function ComposableMap(_ref, ref) {
279
282
  viewBox: "0 0 ".concat(width, " ").concat(height),
280
283
  className: "rsm-svg ".concat(className)
281
284
  }, restProps)));
282
- };
283
-
285
+ });
286
+ ComposableMap.displayName = "ComposableMap";
284
287
  ComposableMap.propTypes = {
285
288
  width: PropTypes.number,
286
289
  height: PropTypes.number,
@@ -288,7 +291,6 @@ ComposableMap.propTypes = {
288
291
  projectionConfig: PropTypes.object,
289
292
  className: PropTypes.string
290
293
  };
291
- var ComposableMap$1 = forwardRef(ComposableMap);
292
294
 
293
295
  function getCoords(w, h, t) {
294
296
  var xOffset = (w * t.k - w) / 2;
@@ -416,15 +418,14 @@ function useGeographies(_ref) {
416
418
  };
417
419
  }
418
420
 
419
- var _excluded$7 = ["geography", "children", "parseGeographies", "className"];
420
-
421
- var Geographies = function Geographies(_ref, ref) {
421
+ var _excluded$8 = ["geography", "children", "parseGeographies", "className"];
422
+ var Geographies = forwardRef(function (_ref, ref) {
422
423
  var geography = _ref.geography,
423
424
  children = _ref.children,
424
425
  parseGeographies = _ref.parseGeographies,
425
426
  _ref$className = _ref.className,
426
427
  className = _ref$className === void 0 ? "" : _ref$className,
427
- restProps = _objectWithoutProperties(_ref, _excluded$7);
428
+ restProps = _objectWithoutProperties(_ref, _excluded$8);
428
429
 
429
430
  var _useContext = useContext(MapContext),
430
431
  path = _useContext.path,
@@ -448,19 +449,17 @@ var Geographies = function Geographies(_ref, ref) {
448
449
  path: path,
449
450
  projection: projection
450
451
  }));
451
- };
452
-
452
+ });
453
+ Geographies.displayName = "Geographies";
453
454
  Geographies.propTypes = {
454
455
  geography: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.array]),
455
456
  children: PropTypes.func,
456
457
  parseGeographies: PropTypes.func,
457
458
  className: PropTypes.string
458
459
  };
459
- var Geographies$1 = forwardRef(Geographies);
460
460
 
461
- var _excluded$6 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
462
-
463
- var Geography = function Geography(_ref, ref) {
461
+ var _excluded$7 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
462
+ var Geography = forwardRef(function (_ref, ref) {
464
463
  var geography = _ref.geography,
465
464
  onMouseEnter = _ref.onMouseEnter,
466
465
  onMouseLeave = _ref.onMouseLeave,
@@ -472,7 +471,7 @@ var Geography = function Geography(_ref, ref) {
472
471
  style = _ref$style === void 0 ? {} : _ref$style,
473
472
  _ref$className = _ref.className,
474
473
  className = _ref$className === void 0 ? "" : _ref$className,
475
- restProps = _objectWithoutProperties(_ref, _excluded$6);
474
+ restProps = _objectWithoutProperties(_ref, _excluded$7);
476
475
 
477
476
  var _useState = useState(false),
478
477
  _useState2 = _slicedToArray(_useState, 2),
@@ -529,8 +528,8 @@ var Geography = function Geography(_ref, ref) {
529
528
  onMouseUp: handleMouseUp,
530
529
  style: style[isPressed || isFocused ? isPressed ? "pressed" : "hover" : "default"]
531
530
  }, restProps));
532
- };
533
-
531
+ });
532
+ Geography.displayName = "Geography";
534
533
  Geography.propTypes = {
535
534
  geography: PropTypes.object,
536
535
  onMouseEnter: PropTypes.func,
@@ -542,11 +541,10 @@ Geography.propTypes = {
542
541
  style: PropTypes.object,
543
542
  className: PropTypes.string
544
543
  };
545
- var Geography$1 = memo(forwardRef(Geography));
546
-
547
- var _excluded$5 = ["fill", "stroke", "step", "className"];
544
+ var Geography$1 = memo(Geography);
548
545
 
549
- var Graticule = function Graticule(_ref, ref) {
546
+ var _excluded$6 = ["fill", "stroke", "step", "className"];
547
+ var Graticule = forwardRef(function (_ref, ref) {
550
548
  var _ref$fill = _ref.fill,
551
549
  fill = _ref$fill === void 0 ? "transparent" : _ref$fill,
552
550
  _ref$stroke = _ref.stroke,
@@ -555,7 +553,7 @@ var Graticule = function Graticule(_ref, ref) {
555
553
  step = _ref$step === void 0 ? [10, 10] : _ref$step,
556
554
  _ref$className = _ref.className,
557
555
  className = _ref$className === void 0 ? "" : _ref$className,
558
- restProps = _objectWithoutProperties(_ref, _excluded$5);
556
+ restProps = _objectWithoutProperties(_ref, _excluded$6);
559
557
 
560
558
  var _useContext = useContext(MapContext),
561
559
  path = _useContext.path;
@@ -567,15 +565,45 @@ var Graticule = function Graticule(_ref, ref) {
567
565
  stroke: stroke,
568
566
  className: "rsm-graticule ".concat(className)
569
567
  }, restProps));
570
- };
571
-
568
+ });
569
+ Graticule.displayName = "Graticule";
572
570
  Graticule.propTypes = {
573
571
  fill: PropTypes.string,
574
572
  stroke: PropTypes.string,
575
573
  step: PropTypes.array,
576
574
  className: PropTypes.string
577
575
  };
578
- var Graticule$1 = memo(forwardRef(Graticule));
576
+ var Graticule$1 = memo(Graticule);
577
+
578
+ var _excluded$5 = ["value"];
579
+ var ZoomPanContext = createContext();
580
+ var defaultValue = {
581
+ x: 0,
582
+ y: 0,
583
+ k: 1,
584
+ transformString: "translate(0 0) scale(1)"
585
+ };
586
+
587
+ var ZoomPanProvider = function ZoomPanProvider(_ref) {
588
+ var _ref$value = _ref.value,
589
+ value = _ref$value === void 0 ? defaultValue : _ref$value,
590
+ restProps = _objectWithoutProperties(_ref, _excluded$5);
591
+
592
+ return /*#__PURE__*/React.createElement(ZoomPanContext.Provider, _extends({
593
+ value: value
594
+ }, restProps));
595
+ };
596
+
597
+ ZoomPanProvider.propTypes = {
598
+ x: PropTypes.number,
599
+ y: PropTypes.number,
600
+ k: PropTypes.number,
601
+ transformString: PropTypes.string
602
+ };
603
+
604
+ var useZoomPanContext = function useZoomPanContext() {
605
+ return useContext(ZoomPanContext);
606
+ };
579
607
 
580
608
  function useZoomPan(_ref) {
581
609
  var center = _ref.center,
@@ -725,8 +753,7 @@ function useZoomPan(_ref) {
725
753
  }
726
754
 
727
755
  var _excluded$4 = ["center", "zoom", "minZoom", "maxZoom", "translateExtent", "filterZoomEvent", "onMoveStart", "onMove", "onMoveEnd", "className"];
728
-
729
- var ZoomableGroup = function ZoomableGroup(_ref, ref) {
756
+ var ZoomableGroup = forwardRef(function (_ref, ref) {
730
757
  var _ref$center = _ref.center,
731
758
  center = _ref$center === void 0 ? [0, 0] : _ref$center,
732
759
  _ref$zoom = _ref.zoom,
@@ -758,9 +785,17 @@ var ZoomableGroup = function ZoomableGroup(_ref, ref) {
758
785
  zoom: zoom
759
786
  }),
760
787
  mapRef = _useZoomPan.mapRef,
761
- transformString = _useZoomPan.transformString;
762
-
763
- return /*#__PURE__*/React.createElement("g", {
788
+ transformString = _useZoomPan.transformString,
789
+ position = _useZoomPan.position;
790
+
791
+ return /*#__PURE__*/React.createElement(ZoomPanProvider, {
792
+ value: {
793
+ x: position.x,
794
+ y: position.y,
795
+ k: position.k,
796
+ transformString: transformString
797
+ }
798
+ }, /*#__PURE__*/React.createElement("g", {
764
799
  ref: mapRef
765
800
  }, /*#__PURE__*/React.createElement("rect", {
766
801
  width: width,
@@ -770,9 +805,9 @@ var ZoomableGroup = function ZoomableGroup(_ref, ref) {
770
805
  ref: ref,
771
806
  transform: transformString,
772
807
  className: "rsm-zoomable-group ".concat(className)
773
- }, restProps)));
774
- };
775
-
808
+ }, restProps))));
809
+ });
810
+ ZoomableGroup.displayName = "ZoomableGroup";
776
811
  ZoomableGroup.propTypes = {
777
812
  center: PropTypes.array,
778
813
  zoom: PropTypes.number,
@@ -784,11 +819,9 @@ ZoomableGroup.propTypes = {
784
819
  onMoveEnd: PropTypes.func,
785
820
  className: PropTypes.string
786
821
  };
787
- var ZoomableGroup$1 = forwardRef(ZoomableGroup);
788
822
 
789
823
  var _excluded$3 = ["id", "fill", "stroke", "strokeWidth", "className"];
790
-
791
- var Sphere = function Sphere(_ref, ref) {
824
+ var Sphere = forwardRef(function (_ref, ref) {
792
825
  var _ref$id = _ref.id,
793
826
  id = _ref$id === void 0 ? "rsm-sphere" : _ref$id,
794
827
  _ref$fill = _ref.fill,
@@ -824,8 +857,8 @@ var Sphere = function Sphere(_ref, ref) {
824
857
  },
825
858
  className: "rsm-sphere ".concat(className)
826
859
  }, restProps)));
827
- };
828
-
860
+ });
861
+ Sphere.displayName = "Sphere";
829
862
  Sphere.propTypes = {
830
863
  id: PropTypes.string,
831
864
  fill: PropTypes.string,
@@ -833,11 +866,10 @@ Sphere.propTypes = {
833
866
  strokeWidth: PropTypes.number,
834
867
  className: PropTypes.string
835
868
  };
836
- var Sphere$1 = memo(forwardRef(Sphere));
869
+ var Sphere$1 = memo(Sphere);
837
870
 
838
871
  var _excluded$2 = ["coordinates", "children", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
839
-
840
- var Marker = function Marker(_ref, ref) {
872
+ var Marker = forwardRef(function (_ref, ref) {
841
873
  var coordinates = _ref.coordinates,
842
874
  children = _ref.children,
843
875
  onMouseEnter = _ref.onMouseEnter,
@@ -914,8 +946,8 @@ var Marker = function Marker(_ref, ref) {
914
946
  onMouseUp: handleMouseUp,
915
947
  style: style[isPressed || isFocused ? isPressed ? "pressed" : "hover" : "default"]
916
948
  }, restProps), children);
917
- };
918
-
949
+ });
950
+ Marker.displayName = "Marker";
919
951
  Marker.propTypes = {
920
952
  coordinates: PropTypes.array,
921
953
  children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
@@ -928,11 +960,9 @@ Marker.propTypes = {
928
960
  style: PropTypes.object,
929
961
  className: PropTypes.string
930
962
  };
931
- var Marker$1 = forwardRef(Marker);
932
963
 
933
964
  var _excluded$1 = ["from", "to", "coordinates", "stroke", "strokeWidth", "fill", "className"];
934
-
935
- var Line = function Line(_ref, ref) {
965
+ var Line = forwardRef(function (_ref, ref) {
936
966
  var _ref$from = _ref.from,
937
967
  from = _ref$from === void 0 ? [0, 0] : _ref$from,
938
968
  _ref$to = _ref.to,
@@ -963,8 +993,8 @@ var Line = function Line(_ref, ref) {
963
993
  strokeWidth: strokeWidth,
964
994
  fill: fill
965
995
  }, restProps));
966
- };
967
-
996
+ });
997
+ Line.displayName = "Line";
968
998
  Line.propTypes = {
969
999
  from: PropTypes.array,
970
1000
  to: PropTypes.array,
@@ -974,11 +1004,9 @@ Line.propTypes = {
974
1004
  fill: PropTypes.string,
975
1005
  className: PropTypes.string
976
1006
  };
977
- var Line$1 = forwardRef(Line);
978
1007
 
979
1008
  var _excluded = ["subject", "children", "connectorProps", "dx", "dy", "curve", "className"];
980
-
981
- var Annotation = function Annotation(_ref, ref) {
1009
+ var Annotation = forwardRef(function (_ref, ref) {
982
1010
  var subject = _ref.subject,
983
1011
  children = _ref.children,
984
1012
  connectorProps = _ref.connectorProps,
@@ -1010,8 +1038,8 @@ var Annotation = function Annotation(_ref, ref) {
1010
1038
  fill: "transparent",
1011
1039
  stroke: "#000"
1012
1040
  }, connectorProps)), children);
1013
- };
1014
-
1041
+ });
1042
+ Annotation.displayName = "Annotation";
1015
1043
  Annotation.propTypes = {
1016
1044
  subject: PropTypes.array,
1017
1045
  children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
@@ -1021,6 +1049,5 @@ Annotation.propTypes = {
1021
1049
  connectorProps: PropTypes.object,
1022
1050
  className: PropTypes.string
1023
1051
  };
1024
- var Annotation$1 = forwardRef(Annotation);
1025
1052
 
1026
- export { Annotation$1 as Annotation, ComposableMap$1 as ComposableMap, Geographies$1 as Geographies, Geography$1 as Geography, Graticule$1 as Graticule, Line$1 as Line, MapContext, MapProvider, Marker$1 as Marker, Sphere$1 as Sphere, ZoomableGroup$1 as ZoomableGroup, useGeographies, useZoomPan };
1053
+ export { Annotation, ComposableMap, Geographies, Geography$1 as Geography, Graticule$1 as Graticule, Line, MapContext, MapProvider, Marker, Sphere$1 as Sphere, ZoomPanContext, ZoomPanProvider, ZoomableGroup, useGeographies, useMapContext, useZoomPan, useZoomPanContext };
package/dist/index.js CHANGED
@@ -196,7 +196,7 @@ function _nonIterableRest() {
196
196
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
197
197
  }
198
198
 
199
- var _excluded$9 = ["width", "height", "projection", "projectionConfig"];
199
+ var _excluded$a = ["width", "height", "projection", "projectionConfig"];
200
200
 
201
201
  var geoPath = d3Geo__namespace.geoPath,
202
202
  projections = _objectWithoutProperties(d3Geo__namespace, ["geoPath"]);
@@ -228,7 +228,7 @@ var MapProvider = function MapProvider(_ref2) {
228
228
  height = _ref2.height,
229
229
  projection = _ref2.projection,
230
230
  projectionConfig = _ref2.projectionConfig,
231
- restProps = _objectWithoutProperties(_ref2, _excluded$9);
231
+ restProps = _objectWithoutProperties(_ref2, _excluded$a);
232
232
 
233
233
  var _ref3 = projectionConfig.center || [],
234
234
  _ref4 = _slicedToArray(_ref3, 2),
@@ -281,9 +281,12 @@ MapProvider.propTypes = {
281
281
  projectionConfig: PropTypes__default["default"].object
282
282
  };
283
283
 
284
- var _excluded$8 = ["width", "height", "projection", "projectionConfig", "className"];
284
+ var useMapContext = function useMapContext() {
285
+ return React.useContext(MapContext);
286
+ };
285
287
 
286
- var ComposableMap = function ComposableMap(_ref, ref) {
288
+ var _excluded$9 = ["width", "height", "projection", "projectionConfig", "className"];
289
+ var ComposableMap = React.forwardRef(function (_ref, ref) {
287
290
  var _ref$width = _ref.width,
288
291
  width = _ref$width === void 0 ? 800 : _ref$width,
289
292
  _ref$height = _ref.height,
@@ -294,7 +297,7 @@ var ComposableMap = function ComposableMap(_ref, ref) {
294
297
  projectionConfig = _ref$projectionConfig === void 0 ? {} : _ref$projectionConfig,
295
298
  _ref$className = _ref.className,
296
299
  className = _ref$className === void 0 ? "" : _ref$className,
297
- restProps = _objectWithoutProperties(_ref, _excluded$8);
300
+ restProps = _objectWithoutProperties(_ref, _excluded$9);
298
301
 
299
302
  return /*#__PURE__*/React__default["default"].createElement(MapProvider, {
300
303
  width: width,
@@ -306,8 +309,8 @@ var ComposableMap = function ComposableMap(_ref, ref) {
306
309
  viewBox: "0 0 ".concat(width, " ").concat(height),
307
310
  className: "rsm-svg ".concat(className)
308
311
  }, restProps)));
309
- };
310
-
312
+ });
313
+ ComposableMap.displayName = "ComposableMap";
311
314
  ComposableMap.propTypes = {
312
315
  width: PropTypes__default["default"].number,
313
316
  height: PropTypes__default["default"].number,
@@ -315,7 +318,6 @@ ComposableMap.propTypes = {
315
318
  projectionConfig: PropTypes__default["default"].object,
316
319
  className: PropTypes__default["default"].string
317
320
  };
318
- var ComposableMap$1 = React.forwardRef(ComposableMap);
319
321
 
320
322
  function getCoords(w, h, t) {
321
323
  var xOffset = (w * t.k - w) / 2;
@@ -443,15 +445,14 @@ function useGeographies(_ref) {
443
445
  };
444
446
  }
445
447
 
446
- var _excluded$7 = ["geography", "children", "parseGeographies", "className"];
447
-
448
- var Geographies = function Geographies(_ref, ref) {
448
+ var _excluded$8 = ["geography", "children", "parseGeographies", "className"];
449
+ var Geographies = React.forwardRef(function (_ref, ref) {
449
450
  var geography = _ref.geography,
450
451
  children = _ref.children,
451
452
  parseGeographies = _ref.parseGeographies,
452
453
  _ref$className = _ref.className,
453
454
  className = _ref$className === void 0 ? "" : _ref$className,
454
- restProps = _objectWithoutProperties(_ref, _excluded$7);
455
+ restProps = _objectWithoutProperties(_ref, _excluded$8);
455
456
 
456
457
  var _useContext = React.useContext(MapContext),
457
458
  path = _useContext.path,
@@ -475,19 +476,17 @@ var Geographies = function Geographies(_ref, ref) {
475
476
  path: path,
476
477
  projection: projection
477
478
  }));
478
- };
479
-
479
+ });
480
+ Geographies.displayName = "Geographies";
480
481
  Geographies.propTypes = {
481
482
  geography: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].object, PropTypes__default["default"].array]),
482
483
  children: PropTypes__default["default"].func,
483
484
  parseGeographies: PropTypes__default["default"].func,
484
485
  className: PropTypes__default["default"].string
485
486
  };
486
- var Geographies$1 = React.forwardRef(Geographies);
487
487
 
488
- var _excluded$6 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
489
-
490
- var Geography = function Geography(_ref, ref) {
488
+ var _excluded$7 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
489
+ var Geography = React.forwardRef(function (_ref, ref) {
491
490
  var geography = _ref.geography,
492
491
  onMouseEnter = _ref.onMouseEnter,
493
492
  onMouseLeave = _ref.onMouseLeave,
@@ -499,7 +498,7 @@ var Geography = function Geography(_ref, ref) {
499
498
  style = _ref$style === void 0 ? {} : _ref$style,
500
499
  _ref$className = _ref.className,
501
500
  className = _ref$className === void 0 ? "" : _ref$className,
502
- restProps = _objectWithoutProperties(_ref, _excluded$6);
501
+ restProps = _objectWithoutProperties(_ref, _excluded$7);
503
502
 
504
503
  var _useState = React.useState(false),
505
504
  _useState2 = _slicedToArray(_useState, 2),
@@ -556,8 +555,8 @@ var Geography = function Geography(_ref, ref) {
556
555
  onMouseUp: handleMouseUp,
557
556
  style: style[isPressed || isFocused ? isPressed ? "pressed" : "hover" : "default"]
558
557
  }, restProps));
559
- };
560
-
558
+ });
559
+ Geography.displayName = "Geography";
561
560
  Geography.propTypes = {
562
561
  geography: PropTypes__default["default"].object,
563
562
  onMouseEnter: PropTypes__default["default"].func,
@@ -569,11 +568,10 @@ Geography.propTypes = {
569
568
  style: PropTypes__default["default"].object,
570
569
  className: PropTypes__default["default"].string
571
570
  };
572
- var Geography$1 = React.memo(React.forwardRef(Geography));
573
-
574
- var _excluded$5 = ["fill", "stroke", "step", "className"];
571
+ var Geography$1 = React.memo(Geography);
575
572
 
576
- var Graticule = function Graticule(_ref, ref) {
573
+ var _excluded$6 = ["fill", "stroke", "step", "className"];
574
+ var Graticule = React.forwardRef(function (_ref, ref) {
577
575
  var _ref$fill = _ref.fill,
578
576
  fill = _ref$fill === void 0 ? "transparent" : _ref$fill,
579
577
  _ref$stroke = _ref.stroke,
@@ -582,7 +580,7 @@ var Graticule = function Graticule(_ref, ref) {
582
580
  step = _ref$step === void 0 ? [10, 10] : _ref$step,
583
581
  _ref$className = _ref.className,
584
582
  className = _ref$className === void 0 ? "" : _ref$className,
585
- restProps = _objectWithoutProperties(_ref, _excluded$5);
583
+ restProps = _objectWithoutProperties(_ref, _excluded$6);
586
584
 
587
585
  var _useContext = React.useContext(MapContext),
588
586
  path = _useContext.path;
@@ -594,15 +592,45 @@ var Graticule = function Graticule(_ref, ref) {
594
592
  stroke: stroke,
595
593
  className: "rsm-graticule ".concat(className)
596
594
  }, restProps));
597
- };
598
-
595
+ });
596
+ Graticule.displayName = "Graticule";
599
597
  Graticule.propTypes = {
600
598
  fill: PropTypes__default["default"].string,
601
599
  stroke: PropTypes__default["default"].string,
602
600
  step: PropTypes__default["default"].array,
603
601
  className: PropTypes__default["default"].string
604
602
  };
605
- var Graticule$1 = React.memo(React.forwardRef(Graticule));
603
+ var Graticule$1 = React.memo(Graticule);
604
+
605
+ var _excluded$5 = ["value"];
606
+ var ZoomPanContext = React.createContext();
607
+ var defaultValue = {
608
+ x: 0,
609
+ y: 0,
610
+ k: 1,
611
+ transformString: "translate(0 0) scale(1)"
612
+ };
613
+
614
+ var ZoomPanProvider = function ZoomPanProvider(_ref) {
615
+ var _ref$value = _ref.value,
616
+ value = _ref$value === void 0 ? defaultValue : _ref$value,
617
+ restProps = _objectWithoutProperties(_ref, _excluded$5);
618
+
619
+ return /*#__PURE__*/React__default["default"].createElement(ZoomPanContext.Provider, _extends({
620
+ value: value
621
+ }, restProps));
622
+ };
623
+
624
+ ZoomPanProvider.propTypes = {
625
+ x: PropTypes__default["default"].number,
626
+ y: PropTypes__default["default"].number,
627
+ k: PropTypes__default["default"].number,
628
+ transformString: PropTypes__default["default"].string
629
+ };
630
+
631
+ var useZoomPanContext = function useZoomPanContext() {
632
+ return React.useContext(ZoomPanContext);
633
+ };
606
634
 
607
635
  function useZoomPan(_ref) {
608
636
  var center = _ref.center,
@@ -752,8 +780,7 @@ function useZoomPan(_ref) {
752
780
  }
753
781
 
754
782
  var _excluded$4 = ["center", "zoom", "minZoom", "maxZoom", "translateExtent", "filterZoomEvent", "onMoveStart", "onMove", "onMoveEnd", "className"];
755
-
756
- var ZoomableGroup = function ZoomableGroup(_ref, ref) {
783
+ var ZoomableGroup = React.forwardRef(function (_ref, ref) {
757
784
  var _ref$center = _ref.center,
758
785
  center = _ref$center === void 0 ? [0, 0] : _ref$center,
759
786
  _ref$zoom = _ref.zoom,
@@ -785,9 +812,17 @@ var ZoomableGroup = function ZoomableGroup(_ref, ref) {
785
812
  zoom: zoom
786
813
  }),
787
814
  mapRef = _useZoomPan.mapRef,
788
- transformString = _useZoomPan.transformString;
789
-
790
- return /*#__PURE__*/React__default["default"].createElement("g", {
815
+ transformString = _useZoomPan.transformString,
816
+ position = _useZoomPan.position;
817
+
818
+ return /*#__PURE__*/React__default["default"].createElement(ZoomPanProvider, {
819
+ value: {
820
+ x: position.x,
821
+ y: position.y,
822
+ k: position.k,
823
+ transformString: transformString
824
+ }
825
+ }, /*#__PURE__*/React__default["default"].createElement("g", {
791
826
  ref: mapRef
792
827
  }, /*#__PURE__*/React__default["default"].createElement("rect", {
793
828
  width: width,
@@ -797,9 +832,9 @@ var ZoomableGroup = function ZoomableGroup(_ref, ref) {
797
832
  ref: ref,
798
833
  transform: transformString,
799
834
  className: "rsm-zoomable-group ".concat(className)
800
- }, restProps)));
801
- };
802
-
835
+ }, restProps))));
836
+ });
837
+ ZoomableGroup.displayName = "ZoomableGroup";
803
838
  ZoomableGroup.propTypes = {
804
839
  center: PropTypes__default["default"].array,
805
840
  zoom: PropTypes__default["default"].number,
@@ -811,11 +846,9 @@ ZoomableGroup.propTypes = {
811
846
  onMoveEnd: PropTypes__default["default"].func,
812
847
  className: PropTypes__default["default"].string
813
848
  };
814
- var ZoomableGroup$1 = React.forwardRef(ZoomableGroup);
815
849
 
816
850
  var _excluded$3 = ["id", "fill", "stroke", "strokeWidth", "className"];
817
-
818
- var Sphere = function Sphere(_ref, ref) {
851
+ var Sphere = React.forwardRef(function (_ref, ref) {
819
852
  var _ref$id = _ref.id,
820
853
  id = _ref$id === void 0 ? "rsm-sphere" : _ref$id,
821
854
  _ref$fill = _ref.fill,
@@ -851,8 +884,8 @@ var Sphere = function Sphere(_ref, ref) {
851
884
  },
852
885
  className: "rsm-sphere ".concat(className)
853
886
  }, restProps)));
854
- };
855
-
887
+ });
888
+ Sphere.displayName = "Sphere";
856
889
  Sphere.propTypes = {
857
890
  id: PropTypes__default["default"].string,
858
891
  fill: PropTypes__default["default"].string,
@@ -860,11 +893,10 @@ Sphere.propTypes = {
860
893
  strokeWidth: PropTypes__default["default"].number,
861
894
  className: PropTypes__default["default"].string
862
895
  };
863
- var Sphere$1 = React.memo(React.forwardRef(Sphere));
896
+ var Sphere$1 = React.memo(Sphere);
864
897
 
865
898
  var _excluded$2 = ["coordinates", "children", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
866
-
867
- var Marker = function Marker(_ref, ref) {
899
+ var Marker = React.forwardRef(function (_ref, ref) {
868
900
  var coordinates = _ref.coordinates,
869
901
  children = _ref.children,
870
902
  onMouseEnter = _ref.onMouseEnter,
@@ -941,8 +973,8 @@ var Marker = function Marker(_ref, ref) {
941
973
  onMouseUp: handleMouseUp,
942
974
  style: style[isPressed || isFocused ? isPressed ? "pressed" : "hover" : "default"]
943
975
  }, restProps), children);
944
- };
945
-
976
+ });
977
+ Marker.displayName = "Marker";
946
978
  Marker.propTypes = {
947
979
  coordinates: PropTypes__default["default"].array,
948
980
  children: PropTypes__default["default"].oneOfType([PropTypes__default["default"].node, PropTypes__default["default"].arrayOf(PropTypes__default["default"].node)]),
@@ -955,11 +987,9 @@ Marker.propTypes = {
955
987
  style: PropTypes__default["default"].object,
956
988
  className: PropTypes__default["default"].string
957
989
  };
958
- var Marker$1 = React.forwardRef(Marker);
959
990
 
960
991
  var _excluded$1 = ["from", "to", "coordinates", "stroke", "strokeWidth", "fill", "className"];
961
-
962
- var Line = function Line(_ref, ref) {
992
+ var Line = React.forwardRef(function (_ref, ref) {
963
993
  var _ref$from = _ref.from,
964
994
  from = _ref$from === void 0 ? [0, 0] : _ref$from,
965
995
  _ref$to = _ref.to,
@@ -990,8 +1020,8 @@ var Line = function Line(_ref, ref) {
990
1020
  strokeWidth: strokeWidth,
991
1021
  fill: fill
992
1022
  }, restProps));
993
- };
994
-
1023
+ });
1024
+ Line.displayName = "Line";
995
1025
  Line.propTypes = {
996
1026
  from: PropTypes__default["default"].array,
997
1027
  to: PropTypes__default["default"].array,
@@ -1001,11 +1031,9 @@ Line.propTypes = {
1001
1031
  fill: PropTypes__default["default"].string,
1002
1032
  className: PropTypes__default["default"].string
1003
1033
  };
1004
- var Line$1 = React.forwardRef(Line);
1005
1034
 
1006
1035
  var _excluded = ["subject", "children", "connectorProps", "dx", "dy", "curve", "className"];
1007
-
1008
- var Annotation = function Annotation(_ref, ref) {
1036
+ var Annotation = React.forwardRef(function (_ref, ref) {
1009
1037
  var subject = _ref.subject,
1010
1038
  children = _ref.children,
1011
1039
  connectorProps = _ref.connectorProps,
@@ -1037,8 +1065,8 @@ var Annotation = function Annotation(_ref, ref) {
1037
1065
  fill: "transparent",
1038
1066
  stroke: "#000"
1039
1067
  }, connectorProps)), children);
1040
- };
1041
-
1068
+ });
1069
+ Annotation.displayName = "Annotation";
1042
1070
  Annotation.propTypes = {
1043
1071
  subject: PropTypes__default["default"].array,
1044
1072
  children: PropTypes__default["default"].oneOfType([PropTypes__default["default"].node, PropTypes__default["default"].arrayOf(PropTypes__default["default"].node)]),
@@ -1048,18 +1076,21 @@ Annotation.propTypes = {
1048
1076
  connectorProps: PropTypes__default["default"].object,
1049
1077
  className: PropTypes__default["default"].string
1050
1078
  };
1051
- var Annotation$1 = React.forwardRef(Annotation);
1052
1079
 
1053
- exports.Annotation = Annotation$1;
1054
- exports.ComposableMap = ComposableMap$1;
1055
- exports.Geographies = Geographies$1;
1080
+ exports.Annotation = Annotation;
1081
+ exports.ComposableMap = ComposableMap;
1082
+ exports.Geographies = Geographies;
1056
1083
  exports.Geography = Geography$1;
1057
1084
  exports.Graticule = Graticule$1;
1058
- exports.Line = Line$1;
1085
+ exports.Line = Line;
1059
1086
  exports.MapContext = MapContext;
1060
1087
  exports.MapProvider = MapProvider;
1061
- exports.Marker = Marker$1;
1088
+ exports.Marker = Marker;
1062
1089
  exports.Sphere = Sphere$1;
1063
- exports.ZoomableGroup = ZoomableGroup$1;
1090
+ exports.ZoomPanContext = ZoomPanContext;
1091
+ exports.ZoomPanProvider = ZoomPanProvider;
1092
+ exports.ZoomableGroup = ZoomableGroup;
1064
1093
  exports.useGeographies = useGeographies;
1094
+ exports.useMapContext = useMapContext;
1065
1095
  exports.useZoomPan = useZoomPan;
1096
+ exports.useZoomPanContext = useZoomPanContext;
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("d3-geo"),require("topojson-client"),require("d3-zoom"),require("d3-selection")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","d3-geo","topojson-client","d3-zoom","d3-selection"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).reactSimpleMaps=e.reactSimpleMaps||{},e.React,e.PropTypes,e.d3,e.topojson,e.d3,e.d3)}(this,(function(e,t,r,o,n,a,u){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=s(t),i=s(r),f=c(o);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){g(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function g(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},h.apply(this,arguments)}function v(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},a=Object.keys(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,n,a=[],u=!0,s=!1;try{for(r=r.call(e);!(u=(o=r.next()).done)&&(a.push(o.value),!t||a.length!==t);u=!0);}catch(e){s=!0,n=e}finally{try{u||null==r.return||r.return()}finally{if(s)throw n}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return b(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return b(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var j=["width","height","projection","projectionConfig"],M=f.geoPath,E=v(f,["geoPath"]),w=t.createContext(),O=function(e){var r=e.width,o=e.height,n=e.projection,a=e.projectionConfig,u=v(e,j),s=y(a.center||[],2),c=s[0],i=s[1],f=y(a.rotate||[],3),d=f[0],p=f[1],m=f[2],g=y(a.parallels||[],2),b=g[0],O=g[1],k=a.scale||null,x=t.useMemo((function(){return function(e){var t=e.projectionConfig,r=void 0===t?{}:t,o=e.projection,n=void 0===o?"geoEqualEarth":o,a=e.width,u=void 0===a?800:a,s=e.height,c=void 0===s?600:s;if("function"==typeof n)return n;var l=E[n]().translate([u/2,c/2]);return[l.center?"center":null,l.rotate?"rotate":null,l.scale?"scale":null,l.parallels?"parallels":null].forEach((function(e){e&&(l=l[e](r[e]||l[e]()))})),l}({projectionConfig:{center:c||0===c||i||0===i?[c,i]:null,rotate:d||0===d||p||0===p?[d,p,m]:null,parallels:b||0===b||O||0===O?[b,O]:null,scale:k},projection:n,width:r,height:o})}),[r,o,n,c,i,d,p,m,b,O,k]),N=t.useCallback(x,[x]),S=t.useMemo((function(){return{width:r,height:o,projection:N,path:M().projection(N)}}),[r,o,N]);return l.default.createElement(w.Provider,h({value:S},u))};O.propTypes={width:i.default.number,height:i.default.number,projection:i.default.oneOfType([i.default.string,i.default.func]),projectionConfig:i.default.object};var k=["width","height","projection","projectionConfig","className"],x=function(e,t){var r=e.width,o=void 0===r?800:r,n=e.height,a=void 0===n?600:n,u=e.projection,s=void 0===u?"geoEqualEarth":u,c=e.projectionConfig,i=void 0===c?{}:c,f=e.className,d=void 0===f?"":f,p=v(e,k);return l.default.createElement(O,{width:o,height:a,projection:s,projectionConfig:i},l.default.createElement("svg",h({ref:t,viewBox:"0 0 ".concat(o," ").concat(a),className:"rsm-svg ".concat(d)},p)))};x.propTypes={width:i.default.number,height:i.default.number,projection:i.default.oneOfType([i.default.string,i.default.func]),projectionConfig:i.default.object,className:i.default.string};var N=t.forwardRef(x);function S(e,t,r){var o=(e*r.k-e)/2,n=(t*r.k-t)/2;return[e/2-(o+r.x)/r.k,t/2-(n+r.y)/r.k]}function P(e,t){if(!("Topology"===e.type))return t?t(e.features||e):e.features||e;var r=n.feature(e,e.objects[Object.keys(e.objects)[0]]).features;return t?t(r):r}function C(e){return"Topology"===e.type?{outline:n.mesh(e,e.objects[Object.keys(e.objects)[0]],(function(e,t){return e===t})),borders:n.mesh(e,e.objects[Object.keys(e.objects)[0]],(function(e,t){return e!==t}))}:null}function T(e,t){return e?e.map((function(e,r){return p(p({},e),{},{rsmKey:"geo-".concat(r),svgPath:t(e)})})):[]}function R(e){var r=e.geography,o=e.parseGeographies,n=t.useContext(w).path,a=y(t.useState({}),2),u=a[0],s=a[1];t.useEffect((function(){var e;"undefined"!==("undefined"==typeof window?"undefined":m(window))&&(r&&("string"==typeof r?(e=r,fetch(e).then((function(e){if(!e.ok)throw Error(e.statusText);return e.json()})).catch((function(e){console.log("There was a problem when fetching the data: ",e)}))).then((function(e){e&&s({geographies:P(e,o),mesh:C(e)})})):s({geographies:P(r,o),mesh:C(r)})))}),[r,o]);var c=t.useMemo((function(){var e=u.mesh||{},t=function(e,t,r){return e&&t?{outline:p(p({},e),{},{rsmKey:"outline",svgPath:r(e)}),borders:p(p({},t),{},{rsmKey:"borders",svgPath:r(t)})}:{}}(e.outline,e.borders,n);return{geographies:T(u.geographies,n),outline:t.outline,borders:t.borders}}),[u,n]);return{geographies:c.geographies,outline:c.outline,borders:c.borders}}var z=["geography","children","parseGeographies","className"],D=function(e,r){var o=e.geography,n=e.children,a=e.parseGeographies,u=e.className,s=void 0===u?"":u,c=v(e,z),i=t.useContext(w),f=i.path,d=i.projection,p=R({geography:o,parseGeographies:a}),m=p.geographies,g=p.outline,y=p.borders;return l.default.createElement("g",h({ref:r,className:"rsm-geographies ".concat(s)},c),m&&m.length>0&&n({geographies:m,outline:g,borders:y,path:f,projection:d}))};D.propTypes={geography:i.default.oneOfType([i.default.string,i.default.object,i.default.array]),children:i.default.func,parseGeographies:i.default.func,className:i.default.string};var Z=t.forwardRef(D),G=["geography","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","style","className"],L=function(e,r){var o=e.geography,n=e.onMouseEnter,a=e.onMouseLeave,u=e.onMouseDown,s=e.onMouseUp,c=e.onFocus,i=e.onBlur,f=e.style,d=void 0===f?{}:f,p=e.className,m=void 0===p?"":p,g=v(e,G),b=y(t.useState(!1),2),j=b[0],M=b[1],E=y(t.useState(!1),2),w=E[0],O=E[1];return l.default.createElement("path",h({ref:r,tabIndex:"0",className:"rsm-geography ".concat(m),d:o.svgPath,onMouseEnter:function(e){O(!0),n&&n(e)},onMouseLeave:function(e){O(!1),j&&M(!1),a&&a(e)},onFocus:function(e){O(!0),c&&c(e)},onBlur:function(e){O(!1),j&&M(!1),i&&i(e)},onMouseDown:function(e){M(!0),u&&u(e)},onMouseUp:function(e){M(!1),s&&s(e)},style:d[j||w?j?"pressed":"hover":"default"]},g))};L.propTypes={geography:i.default.object,onMouseEnter:i.default.func,onMouseLeave:i.default.func,onMouseDown:i.default.func,onMouseUp:i.default.func,onFocus:i.default.func,onBlur:i.default.func,style:i.default.object,className:i.default.string};var A=t.memo(t.forwardRef(L)),B=["fill","stroke","step","className"],F=function(e,r){var n=e.fill,a=void 0===n?"transparent":n,u=e.stroke,s=void 0===u?"currentcolor":u,c=e.step,i=void 0===c?[10,10]:c,f=e.className,d=void 0===f?"":f,p=v(e,B),m=t.useContext(w).path;return l.default.createElement("path",h({ref:r,d:m(o.geoGraticule().step(i)()),fill:a,stroke:s,className:"rsm-graticule ".concat(d)},p))};F.propTypes={fill:i.default.string,stroke:i.default.string,step:i.default.array,className:i.default.string};var U=t.memo(t.forwardRef(F));function q(e){var r=e.center,o=e.filterZoomEvent,n=e.onMoveStart,s=e.onMoveEnd,c=e.onMove,l=e.translateExtent,i=void 0===l?[[-1/0,-1/0],[1/0,1/0]]:l,f=e.scaleExtent,d=void 0===f?[1,8]:f,p=e.zoom,m=void 0===p?1:p,g=t.useContext(w),h=g.width,v=g.height,b=g.projection,j=y(r,2),M=j[0],E=j[1],O=y(t.useState({x:0,y:0,k:1}),2),k=O[0],x=O[1],N=t.useRef({x:0,y:0,k:1}),P=t.useRef(),C=t.useRef(),T=t.useRef(!1),R=y(i,2),z=R[0],D=R[1],Z=y(z,2),G=Z[0],L=Z[1],A=y(D,2),B=A[0],F=A[1],U=y(d,2),q=U[0],W=U[1];return t.useEffect((function(){var e=u.select(P.current);var t=a.zoom().filter((function(e){return o?o(e):!!e&&(!e.ctrlKey&&!e.button)})).scaleExtent([q,W]).translateExtent([[G,L],[B,F]]).on("start",(function(e){n&&!T.current&&n({coordinates:b.invert(S(h,v,e.transform)),zoom:e.transform.k},e)})).on("zoom",(function(e){if(!T.current){var t=e.transform,r=e.sourceEvent;x({x:t.x,y:t.y,k:t.k,dragging:r}),c&&c({x:t.x,y:t.y,zoom:t.k,dragging:r},e)}})).on("end",(function(e){if(T.current)T.current=!1;else{var t=y(b.invert(S(h,v,e.transform)),2),r=t[0],o=t[1];N.current={x:r,y:o,k:e.transform.k},s&&s({coordinates:[r,o],zoom:e.transform.k},e)}}));C.current=t,e.call(t)}),[h,v,G,L,B,F,q,W,b,n,c,s,o]),t.useEffect((function(){if(M!==N.current.x||E!==N.current.y||m!==N.current.k){var e=b([M,E]),t=e[0]*m,r=e[1]*m,o=u.select(P.current);T.current=!0,o.call(C.current.transform,a.zoomIdentity.translate(h/2-t,v/2-r).scale(m)),x({x:h/2-t,y:v/2-r,k:m}),N.current={x:M,y:E,k:m}}}),[M,E,m,h,v,b]),{mapRef:P,position:k,transformString:"translate(".concat(k.x," ").concat(k.y,") scale(").concat(k.k,")")}}var W=["center","zoom","minZoom","maxZoom","translateExtent","filterZoomEvent","onMoveStart","onMove","onMoveEnd","className"],I=function(e,r){var o=e.center,n=void 0===o?[0,0]:o,a=e.zoom,u=void 0===a?1:a,s=e.minZoom,c=void 0===s?1:s,i=e.maxZoom,f=void 0===i?8:i,d=e.translateExtent,p=e.filterZoomEvent,m=e.onMoveStart,g=e.onMove,y=e.onMoveEnd,b=e.className,j=v(e,W),M=t.useContext(w),E=M.width,O=M.height,k=q({center:n,filterZoomEvent:p,onMoveStart:m,onMove:g,onMoveEnd:y,scaleExtent:[c,f],translateExtent:d,zoom:u}),x=k.mapRef,N=k.transformString;return l.default.createElement("g",{ref:x},l.default.createElement("rect",{width:E,height:O,fill:"transparent"}),l.default.createElement("g",h({ref:r,transform:N,className:"rsm-zoomable-group ".concat(b)},j)))};I.propTypes={center:i.default.array,zoom:i.default.number,minZoom:i.default.number,maxZoom:i.default.number,translateExtent:i.default.arrayOf(i.default.array),onMoveStart:i.default.func,onMove:i.default.func,onMoveEnd:i.default.func,className:i.default.string};var K=t.forwardRef(I),_=["id","fill","stroke","strokeWidth","className"],Q=function(e,r){var o=e.id,n=void 0===o?"rsm-sphere":o,a=e.fill,u=void 0===a?"transparent":a,s=e.stroke,c=void 0===s?"currentcolor":s,i=e.strokeWidth,f=void 0===i?.5:i,d=e.className,p=void 0===d?"":d,m=v(e,_),g=t.useContext(w).path,y=t.useMemo((function(){return g({type:"Sphere"})}),[g]);return l.default.createElement(t.Fragment,null,l.default.createElement("defs",null,l.default.createElement("clipPath",{id:n},l.default.createElement("path",{d:y}))),l.default.createElement("path",h({ref:r,d:y,fill:u,stroke:c,strokeWidth:f,style:{pointerEvents:"none"},className:"rsm-sphere ".concat(p)},m)))};Q.propTypes={id:i.default.string,fill:i.default.string,stroke:i.default.string,strokeWidth:i.default.number,className:i.default.string};var $=t.memo(t.forwardRef(Q)),H=["coordinates","children","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","style","className"],J=function(e,r){var o=e.coordinates,n=e.children,a=e.onMouseEnter,u=e.onMouseLeave,s=e.onMouseDown,c=e.onMouseUp,i=e.onFocus,f=e.onBlur,d=e.style,p=void 0===d?{}:d,m=e.className,g=void 0===m?"":m,b=v(e,H),j=t.useContext(w).projection,M=y(t.useState(!1),2),E=M[0],O=M[1],k=y(t.useState(!1),2),x=k[0],N=k[1],S=y(j(o),2),P=S[0],C=S[1];return l.default.createElement("g",h({ref:r,transform:"translate(".concat(P,", ").concat(C,")"),className:"rsm-marker ".concat(g),onMouseEnter:function(e){N(!0),a&&a(e)},onMouseLeave:function(e){N(!1),E&&O(!1),u&&u(e)},onFocus:function(e){N(!0),i&&i(e)},onBlur:function(e){N(!1),E&&O(!1),f&&f(e)},onMouseDown:function(e){O(!0),s&&s(e)},onMouseUp:function(e){O(!1),c&&c(e)},style:p[E||x?E?"pressed":"hover":"default"]},b),n)};J.propTypes={coordinates:i.default.array,children:i.default.oneOfType([i.default.node,i.default.arrayOf(i.default.node)]),onMouseEnter:i.default.func,onMouseLeave:i.default.func,onMouseDown:i.default.func,onMouseUp:i.default.func,onFocus:i.default.func,onBlur:i.default.func,style:i.default.object,className:i.default.string};var V=t.forwardRef(J),X=["from","to","coordinates","stroke","strokeWidth","fill","className"],Y=function(e,r){var o=e.from,n=void 0===o?[0,0]:o,a=e.to,u=void 0===a?[0,0]:a,s=e.coordinates,c=e.stroke,i=void 0===c?"currentcolor":c,f=e.strokeWidth,d=void 0===f?3:f,p=e.fill,m=void 0===p?"transparent":p,g=e.className,y=void 0===g?"":g,b=v(e,X),j=t.useContext(w).path,M={type:"LineString",coordinates:s||[n,u]};return l.default.createElement("path",h({ref:r,d:j(M),className:"rsm-line ".concat(y),stroke:i,strokeWidth:d,fill:m},b))};Y.propTypes={from:i.default.array,to:i.default.array,coordinates:i.default.array,stroke:i.default.string,strokeWidth:i.default.number,fill:i.default.string,className:i.default.string};var ee=t.forwardRef(Y),te=["subject","children","connectorProps","dx","dy","curve","className"],re=function(e,r){var o=e.subject,n=e.children,a=e.connectorProps,u=e.dx,s=void 0===u?30:u,c=e.dy,i=void 0===c?30:c,f=e.curve,d=void 0===f?0:f,p=e.className,m=void 0===p?"":p,g=v(e,te),b=y((0,t.useContext(w).projection)(o),2),j=b[0],M=b[1],E=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,o=Array.isArray(r)?r:[r,r],n=e/2*o[0],a=t/2*o[1];return"M".concat(0,",",0," Q",-e/2-n,",").concat(-t/2+a," ").concat(-e,",").concat(-t)}(s,i,d);return l.default.createElement("g",h({ref:r,transform:"translate(".concat(j+s,", ").concat(M+i,")"),className:"rsm-annotation ".concat(m)},g),l.default.createElement("path",h({d:E,fill:"transparent",stroke:"#000"},a)),n)};re.propTypes={subject:i.default.array,children:i.default.oneOfType([i.default.node,i.default.arrayOf(i.default.node)]),dx:i.default.number,dy:i.default.number,curve:i.default.number,connectorProps:i.default.object,className:i.default.string};var oe=t.forwardRef(re);e.Annotation=oe,e.ComposableMap=N,e.Geographies=Z,e.Geography=A,e.Graticule=U,e.Line=ee,e.MapContext=w,e.MapProvider=O,e.Marker=V,e.Sphere=$,e.ZoomableGroup=K,e.useGeographies=R,e.useZoomPan=q,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("d3-geo"),require("topojson-client"),require("d3-zoom"),require("d3-selection")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","d3-geo","topojson-client","d3-zoom","d3-selection"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).reactSimpleMaps=e.reactSimpleMaps||{},e.React,e.PropTypes,e.d3,e.topojson,e.d3,e.d3)}(this,(function(e,t,r,o,n,a,u){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=s(t),c=s(r),f=l(o);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},g.apply(this,arguments)}function v(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},a=Object.keys(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,n,a=[],u=!0,s=!1;try{for(r=r.call(e);!(u=(o=r.next()).done)&&(a.push(o.value),!t||a.length!==t);u=!0);}catch(e){s=!0,n=e}finally{try{u||null==r.return||r.return()}finally{if(s)throw n}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return b(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return b(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var j=["width","height","projection","projectionConfig"],M=f.geoPath,E=v(f,["geoPath"]),x=t.createContext(),k=function(e){var r=e.width,o=e.height,n=e.projection,a=e.projectionConfig,u=v(e,j),s=h(a.center||[],2),l=s[0],c=s[1],f=h(a.rotate||[],3),d=f[0],p=f[1],m=f[2],y=h(a.parallels||[],2),b=y[0],k=y[1],w=a.scale||null,O=t.useMemo((function(){return function(e){var t=e.projectionConfig,r=void 0===t?{}:t,o=e.projection,n=void 0===o?"geoEqualEarth":o,a=e.width,u=void 0===a?800:a,s=e.height,l=void 0===s?600:s;if("function"==typeof n)return n;var i=E[n]().translate([u/2,l/2]);return[i.center?"center":null,i.rotate?"rotate":null,i.scale?"scale":null,i.parallels?"parallels":null].forEach((function(e){e&&(i=i[e](r[e]||i[e]()))})),i}({projectionConfig:{center:l||0===l||c||0===c?[l,c]:null,rotate:d||0===d||p||0===p?[d,p,m]:null,parallels:b||0===b||k||0===k?[b,k]:null,scale:w},projection:n,width:r,height:o})}),[r,o,n,l,c,d,p,m,b,k,w]),N=t.useCallback(O,[O]),S=t.useMemo((function(){return{width:r,height:o,projection:N,path:M().projection(N)}}),[r,o,N]);return i.default.createElement(x.Provider,g({value:S},u))};k.propTypes={width:c.default.number,height:c.default.number,projection:c.default.oneOfType([c.default.string,c.default.func]),projectionConfig:c.default.object};var w=["width","height","projection","projectionConfig","className"],O=t.forwardRef((function(e,t){var r=e.width,o=void 0===r?800:r,n=e.height,a=void 0===n?600:n,u=e.projection,s=void 0===u?"geoEqualEarth":u,l=e.projectionConfig,c=void 0===l?{}:l,f=e.className,d=void 0===f?"":f,p=v(e,w);return i.default.createElement(k,{width:o,height:a,projection:s,projectionConfig:c},i.default.createElement("svg",g({ref:t,viewBox:"0 0 ".concat(o," ").concat(a),className:"rsm-svg ".concat(d)},p)))}));function N(e,t,r){var o=(e*r.k-e)/2,n=(t*r.k-t)/2;return[e/2-(o+r.x)/r.k,t/2-(n+r.y)/r.k]}function S(e,t){if(!("Topology"===e.type))return t?t(e.features||e):e.features||e;var r=n.feature(e,e.objects[Object.keys(e.objects)[0]]).features;return t?t(r):r}function P(e){return"Topology"===e.type?{outline:n.mesh(e,e.objects[Object.keys(e.objects)[0]],(function(e,t){return e===t})),borders:n.mesh(e,e.objects[Object.keys(e.objects)[0]],(function(e,t){return e!==t}))}:null}function C(e,t){return e?e.map((function(e,r){return p(p({},e),{},{rsmKey:"geo-".concat(r),svgPath:t(e)})})):[]}function T(e){var r=e.geography,o=e.parseGeographies,n=t.useContext(x).path,a=h(t.useState({}),2),u=a[0],s=a[1];t.useEffect((function(){var e;"undefined"!==("undefined"==typeof window?"undefined":m(window))&&(r&&("string"==typeof r?(e=r,fetch(e).then((function(e){if(!e.ok)throw Error(e.statusText);return e.json()})).catch((function(e){console.log("There was a problem when fetching the data: ",e)}))).then((function(e){e&&s({geographies:S(e,o),mesh:P(e)})})):s({geographies:S(r,o),mesh:P(r)})))}),[r,o]);var l=t.useMemo((function(){var e=u.mesh||{},t=function(e,t,r){return e&&t?{outline:p(p({},e),{},{rsmKey:"outline",svgPath:r(e)}),borders:p(p({},t),{},{rsmKey:"borders",svgPath:r(t)})}:{}}(e.outline,e.borders,n);return{geographies:C(u.geographies,n),outline:t.outline,borders:t.borders}}),[u,n]);return{geographies:l.geographies,outline:l.outline,borders:l.borders}}O.displayName="ComposableMap",O.propTypes={width:c.default.number,height:c.default.number,projection:c.default.oneOfType([c.default.string,c.default.func]),projectionConfig:c.default.object,className:c.default.string};var R=["geography","children","parseGeographies","className"],Z=t.forwardRef((function(e,r){var o=e.geography,n=e.children,a=e.parseGeographies,u=e.className,s=void 0===u?"":u,l=v(e,R),c=t.useContext(x),f=c.path,d=c.projection,p=T({geography:o,parseGeographies:a}),m=p.geographies,y=p.outline,h=p.borders;return i.default.createElement("g",g({ref:r,className:"rsm-geographies ".concat(s)},l),m&&m.length>0&&n({geographies:m,outline:y,borders:h,path:f,projection:d}))}));Z.displayName="Geographies",Z.propTypes={geography:c.default.oneOfType([c.default.string,c.default.object,c.default.array]),children:c.default.func,parseGeographies:c.default.func,className:c.default.string};var z=["geography","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","style","className"],G=t.forwardRef((function(e,r){var o=e.geography,n=e.onMouseEnter,a=e.onMouseLeave,u=e.onMouseDown,s=e.onMouseUp,l=e.onFocus,c=e.onBlur,f=e.style,d=void 0===f?{}:f,p=e.className,m=void 0===p?"":p,y=v(e,z),b=h(t.useState(!1),2),j=b[0],M=b[1],E=h(t.useState(!1),2),x=E[0],k=E[1];return i.default.createElement("path",g({ref:r,tabIndex:"0",className:"rsm-geography ".concat(m),d:o.svgPath,onMouseEnter:function(e){k(!0),n&&n(e)},onMouseLeave:function(e){k(!1),j&&M(!1),a&&a(e)},onFocus:function(e){k(!0),l&&l(e)},onBlur:function(e){k(!1),j&&M(!1),c&&c(e)},onMouseDown:function(e){M(!0),u&&u(e)},onMouseUp:function(e){M(!1),s&&s(e)},style:d[j||x?j?"pressed":"hover":"default"]},y))}));G.displayName="Geography",G.propTypes={geography:c.default.object,onMouseEnter:c.default.func,onMouseLeave:c.default.func,onMouseDown:c.default.func,onMouseUp:c.default.func,onFocus:c.default.func,onBlur:c.default.func,style:c.default.object,className:c.default.string};var D=t.memo(G),L=["fill","stroke","step","className"],A=t.forwardRef((function(e,r){var n=e.fill,a=void 0===n?"transparent":n,u=e.stroke,s=void 0===u?"currentcolor":u,l=e.step,c=void 0===l?[10,10]:l,f=e.className,d=void 0===f?"":f,p=v(e,L),m=t.useContext(x).path;return i.default.createElement("path",g({ref:r,d:m(o.geoGraticule().step(c)()),fill:a,stroke:s,className:"rsm-graticule ".concat(d)},p))}));A.displayName="Graticule",A.propTypes={fill:c.default.string,stroke:c.default.string,step:c.default.array,className:c.default.string};var B=t.memo(A),F=["value"],U=t.createContext(),q={x:0,y:0,k:1,transformString:"translate(0 0) scale(1)"},W=function(e){var t=e.value,r=void 0===t?q:t,o=v(e,F);return i.default.createElement(U.Provider,g({value:r},o))};W.propTypes={x:c.default.number,y:c.default.number,k:c.default.number,transformString:c.default.string};function I(e){var r=e.center,o=e.filterZoomEvent,n=e.onMoveStart,s=e.onMoveEnd,l=e.onMove,i=e.translateExtent,c=void 0===i?[[-1/0,-1/0],[1/0,1/0]]:i,f=e.scaleExtent,d=void 0===f?[1,8]:f,p=e.zoom,m=void 0===p?1:p,y=t.useContext(x),g=y.width,v=y.height,b=y.projection,j=h(r,2),M=j[0],E=j[1],k=h(t.useState({x:0,y:0,k:1}),2),w=k[0],O=k[1],S=t.useRef({x:0,y:0,k:1}),P=t.useRef(),C=t.useRef(),T=t.useRef(!1),R=h(c,2),Z=R[0],z=R[1],G=h(Z,2),D=G[0],L=G[1],A=h(z,2),B=A[0],F=A[1],U=h(d,2),q=U[0],W=U[1];return t.useEffect((function(){var e=u.select(P.current);var t=a.zoom().filter((function(e){return o?o(e):!!e&&(!e.ctrlKey&&!e.button)})).scaleExtent([q,W]).translateExtent([[D,L],[B,F]]).on("start",(function(e){n&&!T.current&&n({coordinates:b.invert(N(g,v,e.transform)),zoom:e.transform.k},e)})).on("zoom",(function(e){if(!T.current){var t=e.transform,r=e.sourceEvent;O({x:t.x,y:t.y,k:t.k,dragging:r}),l&&l({x:t.x,y:t.y,zoom:t.k,dragging:r},e)}})).on("end",(function(e){if(T.current)T.current=!1;else{var t=h(b.invert(N(g,v,e.transform)),2),r=t[0],o=t[1];S.current={x:r,y:o,k:e.transform.k},s&&s({coordinates:[r,o],zoom:e.transform.k},e)}}));C.current=t,e.call(t)}),[g,v,D,L,B,F,q,W,b,n,l,s,o]),t.useEffect((function(){if(M!==S.current.x||E!==S.current.y||m!==S.current.k){var e=b([M,E]),t=e[0]*m,r=e[1]*m,o=u.select(P.current);T.current=!0,o.call(C.current.transform,a.zoomIdentity.translate(g/2-t,v/2-r).scale(m)),O({x:g/2-t,y:v/2-r,k:m}),S.current={x:M,y:E,k:m}}}),[M,E,m,g,v,b]),{mapRef:P,position:w,transformString:"translate(".concat(w.x," ").concat(w.y,") scale(").concat(w.k,")")}}var K=["center","zoom","minZoom","maxZoom","translateExtent","filterZoomEvent","onMoveStart","onMove","onMoveEnd","className"],_=t.forwardRef((function(e,r){var o=e.center,n=void 0===o?[0,0]:o,a=e.zoom,u=void 0===a?1:a,s=e.minZoom,l=void 0===s?1:s,c=e.maxZoom,f=void 0===c?8:c,d=e.translateExtent,p=e.filterZoomEvent,m=e.onMoveStart,y=e.onMove,h=e.onMoveEnd,b=e.className,j=v(e,K),M=t.useContext(x),E=M.width,k=M.height,w=I({center:n,filterZoomEvent:p,onMoveStart:m,onMove:y,onMoveEnd:h,scaleExtent:[l,f],translateExtent:d,zoom:u}),O=w.mapRef,N=w.transformString,S=w.position;return i.default.createElement(W,{value:{x:S.x,y:S.y,k:S.k,transformString:N}},i.default.createElement("g",{ref:O},i.default.createElement("rect",{width:E,height:k,fill:"transparent"}),i.default.createElement("g",g({ref:r,transform:N,className:"rsm-zoomable-group ".concat(b)},j))))}));_.displayName="ZoomableGroup",_.propTypes={center:c.default.array,zoom:c.default.number,minZoom:c.default.number,maxZoom:c.default.number,translateExtent:c.default.arrayOf(c.default.array),onMoveStart:c.default.func,onMove:c.default.func,onMoveEnd:c.default.func,className:c.default.string};var Q=["id","fill","stroke","strokeWidth","className"],$=t.forwardRef((function(e,r){var o=e.id,n=void 0===o?"rsm-sphere":o,a=e.fill,u=void 0===a?"transparent":a,s=e.stroke,l=void 0===s?"currentcolor":s,c=e.strokeWidth,f=void 0===c?.5:c,d=e.className,p=void 0===d?"":d,m=v(e,Q),y=t.useContext(x).path,h=t.useMemo((function(){return y({type:"Sphere"})}),[y]);return i.default.createElement(t.Fragment,null,i.default.createElement("defs",null,i.default.createElement("clipPath",{id:n},i.default.createElement("path",{d:h}))),i.default.createElement("path",g({ref:r,d:h,fill:u,stroke:l,strokeWidth:f,style:{pointerEvents:"none"},className:"rsm-sphere ".concat(p)},m)))}));$.displayName="Sphere",$.propTypes={id:c.default.string,fill:c.default.string,stroke:c.default.string,strokeWidth:c.default.number,className:c.default.string};var H=t.memo($),J=["coordinates","children","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","style","className"],V=t.forwardRef((function(e,r){var o=e.coordinates,n=e.children,a=e.onMouseEnter,u=e.onMouseLeave,s=e.onMouseDown,l=e.onMouseUp,c=e.onFocus,f=e.onBlur,d=e.style,p=void 0===d?{}:d,m=e.className,y=void 0===m?"":m,b=v(e,J),j=t.useContext(x).projection,M=h(t.useState(!1),2),E=M[0],k=M[1],w=h(t.useState(!1),2),O=w[0],N=w[1],S=h(j(o),2),P=S[0],C=S[1];return i.default.createElement("g",g({ref:r,transform:"translate(".concat(P,", ").concat(C,")"),className:"rsm-marker ".concat(y),onMouseEnter:function(e){N(!0),a&&a(e)},onMouseLeave:function(e){N(!1),E&&k(!1),u&&u(e)},onFocus:function(e){N(!0),c&&c(e)},onBlur:function(e){N(!1),E&&k(!1),f&&f(e)},onMouseDown:function(e){k(!0),s&&s(e)},onMouseUp:function(e){k(!1),l&&l(e)},style:p[E||O?E?"pressed":"hover":"default"]},b),n)}));V.displayName="Marker",V.propTypes={coordinates:c.default.array,children:c.default.oneOfType([c.default.node,c.default.arrayOf(c.default.node)]),onMouseEnter:c.default.func,onMouseLeave:c.default.func,onMouseDown:c.default.func,onMouseUp:c.default.func,onFocus:c.default.func,onBlur:c.default.func,style:c.default.object,className:c.default.string};var X=["from","to","coordinates","stroke","strokeWidth","fill","className"],Y=t.forwardRef((function(e,r){var o=e.from,n=void 0===o?[0,0]:o,a=e.to,u=void 0===a?[0,0]:a,s=e.coordinates,l=e.stroke,c=void 0===l?"currentcolor":l,f=e.strokeWidth,d=void 0===f?3:f,p=e.fill,m=void 0===p?"transparent":p,y=e.className,h=void 0===y?"":y,b=v(e,X),j=t.useContext(x).path,M={type:"LineString",coordinates:s||[n,u]};return i.default.createElement("path",g({ref:r,d:j(M),className:"rsm-line ".concat(h),stroke:c,strokeWidth:d,fill:m},b))}));Y.displayName="Line",Y.propTypes={from:c.default.array,to:c.default.array,coordinates:c.default.array,stroke:c.default.string,strokeWidth:c.default.number,fill:c.default.string,className:c.default.string};var ee=["subject","children","connectorProps","dx","dy","curve","className"],te=t.forwardRef((function(e,r){var o=e.subject,n=e.children,a=e.connectorProps,u=e.dx,s=void 0===u?30:u,l=e.dy,c=void 0===l?30:l,f=e.curve,d=void 0===f?0:f,p=e.className,m=void 0===p?"":p,y=v(e,ee),b=h((0,t.useContext(x).projection)(o),2),j=b[0],M=b[1],E=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,o=Array.isArray(r)?r:[r,r],n=e/2*o[0],a=t/2*o[1];return"M".concat(0,",",0," Q",-e/2-n,",").concat(-t/2+a," ").concat(-e,",").concat(-t)}(s,c,d);return i.default.createElement("g",g({ref:r,transform:"translate(".concat(j+s,", ").concat(M+c,")"),className:"rsm-annotation ".concat(m)},y),i.default.createElement("path",g({d:E,fill:"transparent",stroke:"#000"},a)),n)}));te.displayName="Annotation",te.propTypes={subject:c.default.array,children:c.default.oneOfType([c.default.node,c.default.arrayOf(c.default.node)]),dx:c.default.number,dy:c.default.number,curve:c.default.number,connectorProps:c.default.object,className:c.default.string},e.Annotation=te,e.ComposableMap=O,e.Geographies=Z,e.Geography=D,e.Graticule=B,e.Line=Y,e.MapContext=x,e.MapProvider=k,e.Marker=V,e.Sphere=H,e.ZoomPanContext=U,e.ZoomPanProvider=W,e.ZoomableGroup=_,e.useGeographies=T,e.useMapContext=function(){return t.useContext(x)},e.useZoomPan=I,e.useZoomPanContext=function(){return t.useContext(U)},Object.defineProperty(e,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-maps",
3
- "version": "3.0.0-beta.5",
3
+ "version": "3.0.0-beta.8",
4
4
  "description": "An svg map chart component built with and for React",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",