react-simple-maps 3.0.0-beta.6 → 3.0.0

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,7 +254,11 @@ 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
+ };
260
+
261
+ var _excluded$9 = ["width", "height", "projection", "projectionConfig", "className"];
258
262
  var ComposableMap = forwardRef(function (_ref, ref) {
259
263
  var _ref$width = _ref.width,
260
264
  width = _ref$width === void 0 ? 800 : _ref$width,
@@ -266,7 +270,7 @@ var ComposableMap = forwardRef(function (_ref, ref) {
266
270
  projectionConfig = _ref$projectionConfig === void 0 ? {} : _ref$projectionConfig,
267
271
  _ref$className = _ref.className,
268
272
  className = _ref$className === void 0 ? "" : _ref$className,
269
- restProps = _objectWithoutProperties(_ref, _excluded$8);
273
+ restProps = _objectWithoutProperties(_ref, _excluded$9);
270
274
 
271
275
  return /*#__PURE__*/React.createElement(MapProvider, {
272
276
  width: width,
@@ -414,14 +418,14 @@ function useGeographies(_ref) {
414
418
  };
415
419
  }
416
420
 
417
- var _excluded$7 = ["geography", "children", "parseGeographies", "className"];
421
+ var _excluded$8 = ["geography", "children", "parseGeographies", "className"];
418
422
  var Geographies = forwardRef(function (_ref, ref) {
419
423
  var geography = _ref.geography,
420
424
  children = _ref.children,
421
425
  parseGeographies = _ref.parseGeographies,
422
426
  _ref$className = _ref.className,
423
427
  className = _ref$className === void 0 ? "" : _ref$className,
424
- restProps = _objectWithoutProperties(_ref, _excluded$7);
428
+ restProps = _objectWithoutProperties(_ref, _excluded$8);
425
429
 
426
430
  var _useContext = useContext(MapContext),
427
431
  path = _useContext.path,
@@ -454,7 +458,7 @@ Geographies.propTypes = {
454
458
  className: PropTypes.string
455
459
  };
456
460
 
457
- var _excluded$6 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
461
+ var _excluded$7 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
458
462
  var Geography = forwardRef(function (_ref, ref) {
459
463
  var geography = _ref.geography,
460
464
  onMouseEnter = _ref.onMouseEnter,
@@ -467,7 +471,7 @@ var Geography = forwardRef(function (_ref, ref) {
467
471
  style = _ref$style === void 0 ? {} : _ref$style,
468
472
  _ref$className = _ref.className,
469
473
  className = _ref$className === void 0 ? "" : _ref$className,
470
- restProps = _objectWithoutProperties(_ref, _excluded$6);
474
+ restProps = _objectWithoutProperties(_ref, _excluded$7);
471
475
 
472
476
  var _useState = useState(false),
473
477
  _useState2 = _slicedToArray(_useState, 2),
@@ -539,7 +543,7 @@ Geography.propTypes = {
539
543
  };
540
544
  var Geography$1 = memo(Geography);
541
545
 
542
- var _excluded$5 = ["fill", "stroke", "step", "className"];
546
+ var _excluded$6 = ["fill", "stroke", "step", "className"];
543
547
  var Graticule = forwardRef(function (_ref, ref) {
544
548
  var _ref$fill = _ref.fill,
545
549
  fill = _ref$fill === void 0 ? "transparent" : _ref$fill,
@@ -549,7 +553,7 @@ var Graticule = forwardRef(function (_ref, ref) {
549
553
  step = _ref$step === void 0 ? [10, 10] : _ref$step,
550
554
  _ref$className = _ref.className,
551
555
  className = _ref$className === void 0 ? "" : _ref$className,
552
- restProps = _objectWithoutProperties(_ref, _excluded$5);
556
+ restProps = _objectWithoutProperties(_ref, _excluded$6);
553
557
 
554
558
  var _useContext = useContext(MapContext),
555
559
  path = _useContext.path;
@@ -571,6 +575,36 @@ Graticule.propTypes = {
571
575
  };
572
576
  var Graticule$1 = memo(Graticule);
573
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
+ };
607
+
574
608
  function useZoomPan(_ref) {
575
609
  var center = _ref.center,
576
610
  filterZoomEvent = _ref.filterZoomEvent,
@@ -751,9 +785,17 @@ var ZoomableGroup = forwardRef(function (_ref, ref) {
751
785
  zoom: zoom
752
786
  }),
753
787
  mapRef = _useZoomPan.mapRef,
754
- transformString = _useZoomPan.transformString;
755
-
756
- 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", {
757
799
  ref: mapRef
758
800
  }, /*#__PURE__*/React.createElement("rect", {
759
801
  width: width,
@@ -763,7 +805,7 @@ var ZoomableGroup = forwardRef(function (_ref, ref) {
763
805
  ref: ref,
764
806
  transform: transformString,
765
807
  className: "rsm-zoomable-group ".concat(className)
766
- }, restProps)));
808
+ }, restProps))));
767
809
  });
768
810
  ZoomableGroup.displayName = "ZoomableGroup";
769
811
  ZoomableGroup.propTypes = {
@@ -1008,4 +1050,4 @@ Annotation.propTypes = {
1008
1050
  className: PropTypes.string
1009
1051
  };
1010
1052
 
1011
- export { Annotation, ComposableMap, Geographies, Geography$1 as Geography, Graticule$1 as Graticule, Line, MapContext, MapProvider, Marker, Sphere$1 as Sphere, 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,7 +281,11 @@ 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
+ };
287
+
288
+ var _excluded$9 = ["width", "height", "projection", "projectionConfig", "className"];
285
289
  var ComposableMap = React.forwardRef(function (_ref, ref) {
286
290
  var _ref$width = _ref.width,
287
291
  width = _ref$width === void 0 ? 800 : _ref$width,
@@ -293,7 +297,7 @@ var ComposableMap = React.forwardRef(function (_ref, ref) {
293
297
  projectionConfig = _ref$projectionConfig === void 0 ? {} : _ref$projectionConfig,
294
298
  _ref$className = _ref.className,
295
299
  className = _ref$className === void 0 ? "" : _ref$className,
296
- restProps = _objectWithoutProperties(_ref, _excluded$8);
300
+ restProps = _objectWithoutProperties(_ref, _excluded$9);
297
301
 
298
302
  return /*#__PURE__*/React__default["default"].createElement(MapProvider, {
299
303
  width: width,
@@ -441,14 +445,14 @@ function useGeographies(_ref) {
441
445
  };
442
446
  }
443
447
 
444
- var _excluded$7 = ["geography", "children", "parseGeographies", "className"];
448
+ var _excluded$8 = ["geography", "children", "parseGeographies", "className"];
445
449
  var Geographies = React.forwardRef(function (_ref, ref) {
446
450
  var geography = _ref.geography,
447
451
  children = _ref.children,
448
452
  parseGeographies = _ref.parseGeographies,
449
453
  _ref$className = _ref.className,
450
454
  className = _ref$className === void 0 ? "" : _ref$className,
451
- restProps = _objectWithoutProperties(_ref, _excluded$7);
455
+ restProps = _objectWithoutProperties(_ref, _excluded$8);
452
456
 
453
457
  var _useContext = React.useContext(MapContext),
454
458
  path = _useContext.path,
@@ -481,7 +485,7 @@ Geographies.propTypes = {
481
485
  className: PropTypes__default["default"].string
482
486
  };
483
487
 
484
- var _excluded$6 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
488
+ var _excluded$7 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
485
489
  var Geography = React.forwardRef(function (_ref, ref) {
486
490
  var geography = _ref.geography,
487
491
  onMouseEnter = _ref.onMouseEnter,
@@ -494,7 +498,7 @@ var Geography = React.forwardRef(function (_ref, ref) {
494
498
  style = _ref$style === void 0 ? {} : _ref$style,
495
499
  _ref$className = _ref.className,
496
500
  className = _ref$className === void 0 ? "" : _ref$className,
497
- restProps = _objectWithoutProperties(_ref, _excluded$6);
501
+ restProps = _objectWithoutProperties(_ref, _excluded$7);
498
502
 
499
503
  var _useState = React.useState(false),
500
504
  _useState2 = _slicedToArray(_useState, 2),
@@ -566,7 +570,7 @@ Geography.propTypes = {
566
570
  };
567
571
  var Geography$1 = React.memo(Geography);
568
572
 
569
- var _excluded$5 = ["fill", "stroke", "step", "className"];
573
+ var _excluded$6 = ["fill", "stroke", "step", "className"];
570
574
  var Graticule = React.forwardRef(function (_ref, ref) {
571
575
  var _ref$fill = _ref.fill,
572
576
  fill = _ref$fill === void 0 ? "transparent" : _ref$fill,
@@ -576,7 +580,7 @@ var Graticule = React.forwardRef(function (_ref, ref) {
576
580
  step = _ref$step === void 0 ? [10, 10] : _ref$step,
577
581
  _ref$className = _ref.className,
578
582
  className = _ref$className === void 0 ? "" : _ref$className,
579
- restProps = _objectWithoutProperties(_ref, _excluded$5);
583
+ restProps = _objectWithoutProperties(_ref, _excluded$6);
580
584
 
581
585
  var _useContext = React.useContext(MapContext),
582
586
  path = _useContext.path;
@@ -598,6 +602,36 @@ Graticule.propTypes = {
598
602
  };
599
603
  var Graticule$1 = React.memo(Graticule);
600
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
+ };
634
+
601
635
  function useZoomPan(_ref) {
602
636
  var center = _ref.center,
603
637
  filterZoomEvent = _ref.filterZoomEvent,
@@ -778,9 +812,17 @@ var ZoomableGroup = React.forwardRef(function (_ref, ref) {
778
812
  zoom: zoom
779
813
  }),
780
814
  mapRef = _useZoomPan.mapRef,
781
- transformString = _useZoomPan.transformString;
782
-
783
- 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", {
784
826
  ref: mapRef
785
827
  }, /*#__PURE__*/React__default["default"].createElement("rect", {
786
828
  width: width,
@@ -790,7 +832,7 @@ var ZoomableGroup = React.forwardRef(function (_ref, ref) {
790
832
  ref: ref,
791
833
  transform: transformString,
792
834
  className: "rsm-zoomable-group ".concat(className)
793
- }, restProps)));
835
+ }, restProps))));
794
836
  });
795
837
  ZoomableGroup.displayName = "ZoomableGroup";
796
838
  ZoomableGroup.propTypes = {
@@ -1045,6 +1087,10 @@ exports.MapContext = MapContext;
1045
1087
  exports.MapProvider = MapProvider;
1046
1088
  exports.Marker = Marker;
1047
1089
  exports.Sphere = Sphere$1;
1090
+ exports.ZoomPanContext = ZoomPanContext;
1091
+ exports.ZoomPanProvider = ZoomPanProvider;
1048
1092
  exports.ZoomableGroup = ZoomableGroup;
1049
1093
  exports.useGeographies = useGeographies;
1094
+ exports.useMapContext = useMapContext;
1050
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 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 c=s(t),i=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){h(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 h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(){return y=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},y.apply(this,arguments)}function g(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 v(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=g(f,["geoPath"]),w=t.createContext(),O=function(e){var r=e.width,o=e.height,n=e.projection,a=e.projectionConfig,u=g(e,j),s=v(a.center||[],2),l=s[0],i=s[1],f=v(a.rotate||[],3),d=f[0],p=f[1],m=f[2],h=v(a.parallels||[],2),b=h[0],O=h[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,l=void 0===s?600:s;if("function"==typeof n)return n;var c=E[n]().translate([u/2,l/2]);return[c.center?"center":null,c.rotate?"rotate":null,c.scale?"scale":null,c.parallels?"parallels":null].forEach((function(e){e&&(c=c[e](r[e]||c[e]()))})),c}({projectionConfig:{center:l||0===l||i||0===i?[l,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,l,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 c.default.createElement(w.Provider,y({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=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,i=void 0===l?{}:l,f=e.className,d=void 0===f?"":f,p=g(e,k);return c.default.createElement(O,{width:o,height:a,projection:s,projectionConfig:i},c.default.createElement("svg",y({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(w).path,a=v(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}}x.displayName="ComposableMap",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 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=g(e,R),i=t.useContext(w),f=i.path,d=i.projection,p=T({geography:o,parseGeographies:a}),m=p.geographies,h=p.outline,v=p.borders;return c.default.createElement("g",y({ref:r,className:"rsm-geographies ".concat(s)},l),m&&m.length>0&&n({geographies:m,outline:h,borders:v,path:f,projection:d}))}));z.displayName="Geographies",z.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 G=["geography","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","style","className"],D=t.forwardRef((function(e,r){var o=e.geography,n=e.onMouseEnter,a=e.onMouseLeave,u=e.onMouseDown,s=e.onMouseUp,l=e.onFocus,i=e.onBlur,f=e.style,d=void 0===f?{}:f,p=e.className,m=void 0===p?"":p,h=g(e,G),b=v(t.useState(!1),2),j=b[0],M=b[1],E=v(t.useState(!1),2),w=E[0],O=E[1];return c.default.createElement("path",y({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),l&&l(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"]},h))}));D.displayName="Geography",D.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 Z=t.memo(D),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,i=void 0===l?[10,10]:l,f=e.className,d=void 0===f?"":f,p=g(e,L),m=t.useContext(w).path;return c.default.createElement("path",y({ref:r,d:m(o.geoGraticule().step(i)()),fill:a,stroke:s,className:"rsm-graticule ".concat(d)},p))}));A.displayName="Graticule",A.propTypes={fill:i.default.string,stroke:i.default.string,step:i.default.array,className:i.default.string};var B=t.memo(A);function F(e){var r=e.center,o=e.filterZoomEvent,n=e.onMoveStart,s=e.onMoveEnd,l=e.onMove,c=e.translateExtent,i=void 0===c?[[-1/0,-1/0],[1/0,1/0]]:c,f=e.scaleExtent,d=void 0===f?[1,8]:f,p=e.zoom,m=void 0===p?1:p,h=t.useContext(w),y=h.width,g=h.height,b=h.projection,j=v(r,2),M=j[0],E=j[1],O=v(t.useState({x:0,y:0,k:1}),2),k=O[0],x=O[1],S=t.useRef({x:0,y:0,k:1}),P=t.useRef(),C=t.useRef(),T=t.useRef(!1),R=v(i,2),z=R[0],G=R[1],D=v(z,2),Z=D[0],L=D[1],A=v(G,2),B=A[0],F=A[1],U=v(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([[Z,L],[B,F]]).on("start",(function(e){n&&!T.current&&n({coordinates:b.invert(N(y,g,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}),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=v(b.invert(N(y,g,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)}),[y,g,Z,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(y/2-t,g/2-r).scale(m)),x({x:y/2-t,y:g/2-r,k:m}),S.current={x:M,y:E,k:m}}}),[M,E,m,y,g,b]),{mapRef:P,position:k,transformString:"translate(".concat(k.x," ").concat(k.y,") scale(").concat(k.k,")")}}var U=["center","zoom","minZoom","maxZoom","translateExtent","filterZoomEvent","onMoveStart","onMove","onMoveEnd","className"],q=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,i=e.maxZoom,f=void 0===i?8:i,d=e.translateExtent,p=e.filterZoomEvent,m=e.onMoveStart,h=e.onMove,v=e.onMoveEnd,b=e.className,j=g(e,U),M=t.useContext(w),E=M.width,O=M.height,k=F({center:n,filterZoomEvent:p,onMoveStart:m,onMove:h,onMoveEnd:v,scaleExtent:[l,f],translateExtent:d,zoom:u}),x=k.mapRef,N=k.transformString;return c.default.createElement("g",{ref:x},c.default.createElement("rect",{width:E,height:O,fill:"transparent"}),c.default.createElement("g",y({ref:r,transform:N,className:"rsm-zoomable-group ".concat(b)},j)))}));q.displayName="ZoomableGroup",q.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 W=["id","fill","stroke","strokeWidth","className"],I=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,i=e.strokeWidth,f=void 0===i?.5:i,d=e.className,p=void 0===d?"":d,m=g(e,W),h=t.useContext(w).path,v=t.useMemo((function(){return h({type:"Sphere"})}),[h]);return c.default.createElement(t.Fragment,null,c.default.createElement("defs",null,c.default.createElement("clipPath",{id:n},c.default.createElement("path",{d:v}))),c.default.createElement("path",y({ref:r,d:v,fill:u,stroke:l,strokeWidth:f,style:{pointerEvents:"none"},className:"rsm-sphere ".concat(p)},m)))}));I.displayName="Sphere",I.propTypes={id:i.default.string,fill:i.default.string,stroke:i.default.string,strokeWidth:i.default.number,className:i.default.string};var K=t.memo(I),_=["coordinates","children","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","style","className"],Q=t.forwardRef((function(e,r){var o=e.coordinates,n=e.children,a=e.onMouseEnter,u=e.onMouseLeave,s=e.onMouseDown,l=e.onMouseUp,i=e.onFocus,f=e.onBlur,d=e.style,p=void 0===d?{}:d,m=e.className,h=void 0===m?"":m,b=g(e,_),j=t.useContext(w).projection,M=v(t.useState(!1),2),E=M[0],O=M[1],k=v(t.useState(!1),2),x=k[0],N=k[1],S=v(j(o),2),P=S[0],C=S[1];return c.default.createElement("g",y({ref:r,transform:"translate(".concat(P,", ").concat(C,")"),className:"rsm-marker ".concat(h),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),l&&l(e)},style:p[E||x?E?"pressed":"hover":"default"]},b),n)}));Q.displayName="Marker",Q.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 $=["from","to","coordinates","stroke","strokeWidth","fill","className"],H=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,i=void 0===l?"currentcolor":l,f=e.strokeWidth,d=void 0===f?3:f,p=e.fill,m=void 0===p?"transparent":p,h=e.className,v=void 0===h?"":h,b=g(e,$),j=t.useContext(w).path,M={type:"LineString",coordinates:s||[n,u]};return c.default.createElement("path",y({ref:r,d:j(M),className:"rsm-line ".concat(v),stroke:i,strokeWidth:d,fill:m},b))}));H.displayName="Line",H.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 J=["subject","children","connectorProps","dx","dy","curve","className"],V=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,i=void 0===l?30:l,f=e.curve,d=void 0===f?0:f,p=e.className,m=void 0===p?"":p,h=g(e,J),b=v((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 c.default.createElement("g",y({ref:r,transform:"translate(".concat(j+s,", ").concat(M+i,")"),className:"rsm-annotation ".concat(m)},h),c.default.createElement("path",y({d:E,fill:"transparent",stroke:"#000"},a)),n)}));V.displayName="Annotation",V.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},e.Annotation=V,e.ComposableMap=x,e.Geographies=z,e.Geography=Z,e.Graticule=B,e.Line=H,e.MapContext=w,e.MapProvider=O,e.Marker=Q,e.Sphere=K,e.ZoomableGroup=q,e.useGeographies=T,e.useZoomPan=F,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.6",
3
+ "version": "3.0.0",
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",