react-simple-maps 4.0.0-beta.4 → 4.0.0-beta.5

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.js CHANGED
@@ -1,9 +1,32 @@
1
- import React, { createContext, useMemo, useCallback, useContext, forwardRef, useState, useEffect, memo, useRef, Fragment } from 'react';
2
- import PropTypes from 'prop-types';
3
- import * as d3 from 'd3-geo';
4
- import { feature, mesh } from 'topojson-client';
5
- import * as d3$1 from 'd3-selection';
6
- import * as d3$2 from 'd3-zoom';
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var PropTypes = require('prop-types');
5
+ var d3 = require('d3-geo');
6
+ var topojsonClient = require('topojson-client');
7
+ var d3$1 = require('d3-selection');
8
+ var d3$2 = require('d3-zoom');
9
+
10
+ function _interopNamespaceDefault(e) {
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var d3__namespace = /*#__PURE__*/_interopNamespaceDefault(d3);
28
+ var d3__namespace$1 = /*#__PURE__*/_interopNamespaceDefault(d3$1);
29
+ var d3__namespace$2 = /*#__PURE__*/_interopNamespaceDefault(d3$2);
7
30
 
8
31
  function _iterableToArrayLimit(arr, i) {
9
32
  var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
@@ -155,9 +178,9 @@ function _toPropertyKey(arg) {
155
178
  }
156
179
 
157
180
  var _excluded$a = ["width", "height", "projection", "projectionConfig"];
158
- var geoPath = d3.geoPath,
159
- projections = _objectWithoutProperties(d3, ["geoPath"]);
160
- var MapContext = createContext();
181
+ var geoPath = d3__namespace.geoPath,
182
+ projections = _objectWithoutProperties(d3__namespace, ["geoPath"]);
183
+ var MapContext = React.createContext();
161
184
  var makeProjection = function makeProjection(_ref) {
162
185
  var _ref$projectionConfig = _ref.projectionConfig,
163
186
  projectionConfig = _ref$projectionConfig === void 0 ? {} : _ref$projectionConfig,
@@ -197,7 +220,7 @@ var MapProvider = function MapProvider(_ref2) {
197
220
  p1 = _ref8[0],
198
221
  p2 = _ref8[1];
199
222
  var s = projectionConfig.scale || null;
200
- var projMemo = useMemo(function () {
223
+ var projMemo = React.useMemo(function () {
201
224
  return makeProjection({
202
225
  projectionConfig: {
203
226
  center: cx || cx === 0 || cy || cy === 0 ? [cx, cy] : null,
@@ -210,8 +233,8 @@ var MapProvider = function MapProvider(_ref2) {
210
233
  height: height
211
234
  });
212
235
  }, [width, height, projection, cx, cy, rx, ry, rz, p1, p2, s]);
213
- var proj = useCallback(projMemo, [projMemo]);
214
- var value = useMemo(function () {
236
+ var proj = React.useCallback(projMemo, [projMemo]);
237
+ var value = React.useMemo(function () {
215
238
  return {
216
239
  width: width,
217
240
  height: height,
@@ -230,11 +253,11 @@ MapProvider.propTypes = {
230
253
  projectionConfig: PropTypes.object
231
254
  };
232
255
  var useMapContext = function useMapContext() {
233
- return useContext(MapContext);
256
+ return React.useContext(MapContext);
234
257
  };
235
258
 
236
259
  var _excluded$9 = ["width", "height", "projection", "projectionConfig", "className"];
237
- var ComposableMap = forwardRef(function (_ref, ref) {
260
+ var ComposableMap = React.forwardRef(function (_ref, ref) {
238
261
  var _ref$width = _ref.width,
239
262
  width = _ref$width === void 0 ? 800 : _ref$width,
240
263
  _ref$height = _ref.height,
@@ -267,7 +290,7 @@ ComposableMap.propTypes = {
267
290
  };
268
291
 
269
292
  function select(ref) {
270
- return d3$1.select(ref);
293
+ return d3__namespace$1.select(ref);
271
294
  }
272
295
  function getCoords(w, h, t) {
273
296
  var xOffset = (w * t.k - w) / 2;
@@ -289,16 +312,16 @@ function getFeatures(geographies, parseGeographies) {
289
312
  if (!isTopojson) {
290
313
  return parseGeographies ? parseGeographies(geographies.features || geographies) : geographies.features || geographies;
291
314
  }
292
- var feats = feature(geographies, geographies.objects[Object.keys(geographies.objects)[0]]).features;
315
+ var feats = topojsonClient.feature(geographies, geographies.objects[Object.keys(geographies.objects)[0]]).features;
293
316
  return parseGeographies ? parseGeographies(feats) : feats;
294
317
  }
295
318
  function getMesh(geographies) {
296
319
  var isTopojson = geographies.type === "Topology";
297
320
  if (!isTopojson) return null;
298
- var outline = mesh(geographies, geographies.objects[Object.keys(geographies.objects)[0]], function (a, b) {
321
+ var outline = topojsonClient.mesh(geographies, geographies.objects[Object.keys(geographies.objects)[0]], function (a, b) {
299
322
  return a === b;
300
323
  });
301
- var borders = mesh(geographies, geographies.objects[Object.keys(geographies.objects)[0]], function (a, b) {
324
+ var borders = topojsonClient.mesh(geographies, geographies.objects[Object.keys(geographies.objects)[0]], function (a, b) {
302
325
  return a !== b;
303
326
  });
304
327
  return {
@@ -342,13 +365,13 @@ function isString(geo) {
342
365
  function useGeographies(_ref) {
343
366
  var geography = _ref.geography,
344
367
  parseGeographies = _ref.parseGeographies;
345
- var _useContext = useContext(MapContext),
368
+ var _useContext = React.useContext(MapContext),
346
369
  path = _useContext.path;
347
- var _useState = useState({}),
370
+ var _useState = React.useState({}),
348
371
  _useState2 = _slicedToArray(_useState, 2),
349
372
  output = _useState2[0],
350
373
  setOutput = _useState2[1];
351
- useEffect(function () {
374
+ React.useEffect(function () {
352
375
  if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "undefined") return;
353
376
  if (!geography) return;
354
377
  if (isString(geography)) {
@@ -367,7 +390,7 @@ function useGeographies(_ref) {
367
390
  });
368
391
  }
369
392
  }, [geography, parseGeographies]);
370
- var _useMemo = useMemo(function () {
393
+ var _useMemo = React.useMemo(function () {
371
394
  var mesh = output.mesh || {};
372
395
  var preparedMesh = prepareMesh(mesh.outline, mesh.borders, path);
373
396
  return {
@@ -387,14 +410,14 @@ function useGeographies(_ref) {
387
410
  }
388
411
 
389
412
  var _excluded$8 = ["geography", "children", "parseGeographies", "className"];
390
- var Geographies = forwardRef(function (_ref, ref) {
413
+ var Geographies = React.forwardRef(function (_ref, ref) {
391
414
  var geography = _ref.geography,
392
415
  children = _ref.children,
393
416
  parseGeographies = _ref.parseGeographies,
394
417
  _ref$className = _ref.className,
395
418
  className = _ref$className === void 0 ? "" : _ref$className,
396
419
  restProps = _objectWithoutProperties(_ref, _excluded$8);
397
- var _useContext = useContext(MapContext),
420
+ var _useContext = React.useContext(MapContext),
398
421
  path = _useContext.path,
399
422
  projection = _useContext.projection;
400
423
  var _useGeographies = useGeographies({
@@ -424,7 +447,7 @@ Geographies.propTypes = {
424
447
  };
425
448
 
426
449
  var _excluded$7 = ["geography", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
427
- var Geography = forwardRef(function (_ref, ref) {
450
+ var Geography = React.forwardRef(function (_ref, ref) {
428
451
  var geography = _ref.geography,
429
452
  onMouseEnter = _ref.onMouseEnter,
430
453
  onMouseLeave = _ref.onMouseLeave,
@@ -437,11 +460,11 @@ var Geography = forwardRef(function (_ref, ref) {
437
460
  _ref$className = _ref.className,
438
461
  className = _ref$className === void 0 ? "" : _ref$className,
439
462
  restProps = _objectWithoutProperties(_ref, _excluded$7);
440
- var _useState = useState(false),
463
+ var _useState = React.useState(false),
441
464
  _useState2 = _slicedToArray(_useState, 2),
442
465
  isPressed = _useState2[0],
443
466
  setPressed = _useState2[1];
444
- var _useState3 = useState(false),
467
+ var _useState3 = React.useState(false),
445
468
  _useState4 = _slicedToArray(_useState3, 2),
446
469
  isFocused = _useState4[0],
447
470
  setFocus = _useState4[1];
@@ -497,10 +520,10 @@ Geography.propTypes = {
497
520
  style: PropTypes.object,
498
521
  className: PropTypes.string
499
522
  };
500
- var Geography$1 = memo(Geography);
523
+ var Geography$1 = React.memo(Geography);
501
524
 
502
525
  var _excluded$6 = ["fill", "stroke", "step", "className"];
503
- var Graticule = forwardRef(function (_ref, ref) {
526
+ var Graticule = React.forwardRef(function (_ref, ref) {
504
527
  var _ref$fill = _ref.fill,
505
528
  fill = _ref$fill === void 0 ? "transparent" : _ref$fill,
506
529
  _ref$stroke = _ref.stroke,
@@ -510,11 +533,11 @@ var Graticule = forwardRef(function (_ref, ref) {
510
533
  _ref$className = _ref.className,
511
534
  className = _ref$className === void 0 ? "" : _ref$className,
512
535
  restProps = _objectWithoutProperties(_ref, _excluded$6);
513
- var _useContext = useContext(MapContext),
536
+ var _useContext = React.useContext(MapContext),
514
537
  path = _useContext.path;
515
538
  return /*#__PURE__*/React.createElement("path", _extends({
516
539
  ref: ref,
517
- d: path(d3.geoGraticule().step(step)()),
540
+ d: path(d3__namespace.geoGraticule().step(step)()),
518
541
  fill: fill,
519
542
  stroke: stroke,
520
543
  className: "rsm-graticule ".concat(className)
@@ -527,10 +550,10 @@ Graticule.propTypes = {
527
550
  step: PropTypes.array,
528
551
  className: PropTypes.string
529
552
  };
530
- var Graticule$1 = memo(Graticule);
553
+ var Graticule$1 = React.memo(Graticule);
531
554
 
532
555
  var _excluded$5 = ["value"];
533
- var ZoomPanContext = createContext();
556
+ var ZoomPanContext = React.createContext();
534
557
  var defaultValue = {
535
558
  x: 0,
536
559
  y: 0,
@@ -552,7 +575,7 @@ ZoomPanProvider.propTypes = {
552
575
  transformString: PropTypes.string
553
576
  };
554
577
  var useZoomPanContext = function useZoomPanContext() {
555
- return useContext(ZoomPanContext);
578
+ return React.useContext(ZoomPanContext);
556
579
  };
557
580
 
558
581
  function useZoomPan(_ref) {
@@ -567,14 +590,14 @@ function useZoomPan(_ref) {
567
590
  scaleExtent = _ref$scaleExtent === void 0 ? [1, 8] : _ref$scaleExtent,
568
591
  _ref$zoom = _ref.zoom,
569
592
  zoom = _ref$zoom === void 0 ? 1 : _ref$zoom;
570
- var _useContext = useContext(MapContext),
593
+ var _useContext = React.useContext(MapContext),
571
594
  width = _useContext.width,
572
595
  height = _useContext.height,
573
596
  projection = _useContext.projection;
574
597
  var _center = _slicedToArray(center, 2),
575
598
  lon = _center[0],
576
599
  lat = _center[1];
577
- var _useState = useState({
600
+ var _useState = React.useState({
578
601
  x: 0,
579
602
  y: 0,
580
603
  k: 1
@@ -582,14 +605,14 @@ function useZoomPan(_ref) {
582
605
  _useState2 = _slicedToArray(_useState, 2),
583
606
  position = _useState2[0],
584
607
  setPosition = _useState2[1];
585
- var lastPosition = useRef({
608
+ var lastPosition = React.useRef({
586
609
  x: 0,
587
610
  y: 0,
588
611
  k: 1
589
612
  });
590
- var mapRef = useRef();
591
- var zoomRef = useRef();
592
- var bypassEvents = useRef(false);
613
+ var mapRef = React.useRef();
614
+ var zoomRef = React.useRef();
615
+ var bypassEvents = React.useRef(false);
593
616
  var _translateExtent = _slicedToArray(translateExtent, 2),
594
617
  a = _translateExtent[0],
595
618
  b = _translateExtent[1];
@@ -602,7 +625,7 @@ function useZoomPan(_ref) {
602
625
  var _scaleExtent = _slicedToArray(scaleExtent, 2),
603
626
  minZoom = _scaleExtent[0],
604
627
  maxZoom = _scaleExtent[1];
605
- useEffect(function () {
628
+ React.useEffect(function () {
606
629
  var svg = select(mapRef.current);
607
630
  function handleZoomStart(d3Event) {
608
631
  if (!onMoveStart || bypassEvents.current) return;
@@ -655,18 +678,18 @@ function useZoomPan(_ref) {
655
678
  }
656
679
  return d3Event ? !d3Event.ctrlKey && !d3Event.button : false;
657
680
  }
658
- var zoom = d3$2.zoom().filter(filterFunc).scaleExtent([minZoom, maxZoom]).translateExtent([[a1, a2], [b1, b2]]).on("start", handleZoomStart).on("zoom", handleZoom).on("end", handleZoomEnd);
681
+ var zoom = d3__namespace$2.zoom().filter(filterFunc).scaleExtent([minZoom, maxZoom]).translateExtent([[a1, a2], [b1, b2]]).on("start", handleZoomStart).on("zoom", handleZoom).on("end", handleZoomEnd);
659
682
  zoomRef.current = zoom;
660
683
  svg.call(zoom);
661
684
  }, [width, height, a1, a2, b1, b2, minZoom, maxZoom, projection, onMoveStart, onMove, onMoveEnd, filterZoomEvent]);
662
- useEffect(function () {
685
+ React.useEffect(function () {
663
686
  if (lon === lastPosition.current.x && lat === lastPosition.current.y && zoom === lastPosition.current.k) return;
664
687
  var coords = projection([lon, lat]);
665
688
  var x = coords[0] * zoom;
666
689
  var y = coords[1] * zoom;
667
690
  var svg = select(mapRef.current);
668
691
  bypassEvents.current = true;
669
- svg.call(zoomRef.current.transform, d3$2.zoomIdentity.translate(width / 2 - x, height / 2 - y).scale(zoom));
692
+ svg.call(zoomRef.current.transform, d3__namespace$2.zoomIdentity.translate(width / 2 - x, height / 2 - y).scale(zoom));
670
693
  setPosition({
671
694
  x: width / 2 - x,
672
695
  y: height / 2 - y,
@@ -686,7 +709,7 @@ function useZoomPan(_ref) {
686
709
  }
687
710
 
688
711
  var _excluded$4 = ["center", "zoom", "minZoom", "maxZoom", "translateExtent", "filterZoomEvent", "onMoveStart", "onMove", "onMoveEnd", "className"];
689
- var ZoomableGroup = forwardRef(function (_ref, ref) {
712
+ var ZoomableGroup = React.forwardRef(function (_ref, ref) {
690
713
  var _ref$center = _ref.center,
691
714
  center = _ref$center === void 0 ? [0, 0] : _ref$center,
692
715
  _ref$zoom = _ref.zoom,
@@ -702,7 +725,7 @@ var ZoomableGroup = forwardRef(function (_ref, ref) {
702
725
  onMoveEnd = _ref.onMoveEnd,
703
726
  className = _ref.className,
704
727
  restProps = _objectWithoutProperties(_ref, _excluded$4);
705
- var _useContext = useContext(MapContext),
728
+ var _useContext = React.useContext(MapContext),
706
729
  width = _useContext.width,
707
730
  height = _useContext.height;
708
731
  var _useZoomPan = useZoomPan({
@@ -751,7 +774,7 @@ ZoomableGroup.propTypes = {
751
774
  };
752
775
 
753
776
  var _excluded$3 = ["id", "fill", "stroke", "strokeWidth", "className"];
754
- var Sphere = forwardRef(function (_ref, ref) {
777
+ var Sphere = React.forwardRef(function (_ref, ref) {
755
778
  var _ref$id = _ref.id,
756
779
  id = _ref$id === void 0 ? "rsm-sphere" : _ref$id,
757
780
  _ref$fill = _ref.fill,
@@ -763,14 +786,14 @@ var Sphere = forwardRef(function (_ref, ref) {
763
786
  _ref$className = _ref.className,
764
787
  className = _ref$className === void 0 ? "" : _ref$className,
765
788
  restProps = _objectWithoutProperties(_ref, _excluded$3);
766
- var _useContext = useContext(MapContext),
789
+ var _useContext = React.useContext(MapContext),
767
790
  path = _useContext.path;
768
- var spherePath = useMemo(function () {
791
+ var spherePath = React.useMemo(function () {
769
792
  return path({
770
793
  type: "Sphere"
771
794
  });
772
795
  }, [path]);
773
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
796
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
774
797
  id: id
775
798
  }, /*#__PURE__*/React.createElement("path", {
776
799
  d: spherePath
@@ -794,10 +817,10 @@ Sphere.propTypes = {
794
817
  strokeWidth: PropTypes.number,
795
818
  className: PropTypes.string
796
819
  };
797
- var Sphere$1 = memo(Sphere);
820
+ var Sphere$1 = React.memo(Sphere);
798
821
 
799
822
  var _excluded$2 = ["coordinates", "children", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onFocus", "onBlur", "style", "className"];
800
- var Marker = forwardRef(function (_ref, ref) {
823
+ var Marker = React.forwardRef(function (_ref, ref) {
801
824
  var coordinates = _ref.coordinates,
802
825
  children = _ref.children,
803
826
  onMouseEnter = _ref.onMouseEnter,
@@ -811,13 +834,13 @@ var Marker = forwardRef(function (_ref, ref) {
811
834
  _ref$className = _ref.className,
812
835
  className = _ref$className === void 0 ? "" : _ref$className,
813
836
  restProps = _objectWithoutProperties(_ref, _excluded$2);
814
- var _useContext = useContext(MapContext),
837
+ var _useContext = React.useContext(MapContext),
815
838
  projection = _useContext.projection;
816
- var _useState = useState(false),
839
+ var _useState = React.useState(false),
817
840
  _useState2 = _slicedToArray(_useState, 2),
818
841
  isPressed = _useState2[0],
819
842
  setPressed = _useState2[1];
820
- var _useState3 = useState(false),
843
+ var _useState3 = React.useState(false),
821
844
  _useState4 = _slicedToArray(_useState3, 2),
822
845
  isFocused = _useState4[0],
823
846
  setFocus = _useState4[1];
@@ -879,7 +902,7 @@ Marker.propTypes = {
879
902
  };
880
903
 
881
904
  var _excluded$1 = ["from", "to", "coordinates", "stroke", "strokeWidth", "fill", "className"];
882
- var Line = forwardRef(function (_ref, ref) {
905
+ var Line = React.forwardRef(function (_ref, ref) {
883
906
  var _ref$from = _ref.from,
884
907
  from = _ref$from === void 0 ? [0, 0] : _ref$from,
885
908
  _ref$to = _ref.to,
@@ -894,7 +917,7 @@ var Line = forwardRef(function (_ref, ref) {
894
917
  _ref$className = _ref.className,
895
918
  className = _ref$className === void 0 ? "" : _ref$className,
896
919
  restProps = _objectWithoutProperties(_ref, _excluded$1);
897
- var _useContext = useContext(MapContext),
920
+ var _useContext = React.useContext(MapContext),
898
921
  path = _useContext.path;
899
922
  var lineData = {
900
923
  type: "LineString",
@@ -921,7 +944,7 @@ Line.propTypes = {
921
944
  };
922
945
 
923
946
  var _excluded = ["subject", "children", "connectorProps", "dx", "dy", "curve", "className"];
924
- var Annotation = forwardRef(function (_ref, ref) {
947
+ var Annotation = React.forwardRef(function (_ref, ref) {
925
948
  var subject = _ref.subject,
926
949
  children = _ref.children,
927
950
  connectorProps = _ref.connectorProps,
@@ -934,7 +957,7 @@ var Annotation = forwardRef(function (_ref, ref) {
934
957
  _ref$className = _ref.className,
935
958
  className = _ref$className === void 0 ? "" : _ref$className,
936
959
  restProps = _objectWithoutProperties(_ref, _excluded);
937
- var _useContext = useContext(MapContext),
960
+ var _useContext = React.useContext(MapContext),
938
961
  projection = _useContext.projection;
939
962
  var _projection = projection(subject),
940
963
  _projection2 = _slicedToArray(_projection, 2),
@@ -962,4 +985,20 @@ Annotation.propTypes = {
962
985
  className: PropTypes.string
963
986
  };
964
987
 
965
- 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 };
988
+ exports.Annotation = Annotation;
989
+ exports.ComposableMap = ComposableMap;
990
+ exports.Geographies = Geographies;
991
+ exports.Geography = Geography$1;
992
+ exports.Graticule = Graticule$1;
993
+ exports.Line = Line;
994
+ exports.MapContext = MapContext;
995
+ exports.MapProvider = MapProvider;
996
+ exports.Marker = Marker;
997
+ exports.Sphere = Sphere$1;
998
+ exports.ZoomPanContext = ZoomPanContext;
999
+ exports.ZoomPanProvider = ZoomPanProvider;
1000
+ exports.ZoomableGroup = ZoomableGroup;
1001
+ exports.useGeographies = useGeographies;
1002
+ exports.useMapContext = useMapContext;
1003
+ exports.useZoomPan = useZoomPan;
1004
+ exports.useZoomPanContext = useZoomPanContext;
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "react-simple-maps",
3
- "version": "4.0.0-beta.4",
3
+ "version": "4.0.0-beta.5",
4
4
  "description": "An svg map chart component built with and for React",
5
5
  "main": "dist/index.js",
6
- "module": "dist/index.js",
7
- "browser": "dist/index.umd.js",
6
+ "module": "dist/index.es.js",
7
+ "type": "module",
8
8
  "files": [
9
9
  "dist"
10
10
  ],
package/dist/index.umd.js DELETED
@@ -1 +0,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-selection"),require("d3-zoom")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","d3-geo","topojson-client","d3-selection","d3-zoom"],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,s){"use strict";function i(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=i(o),u=i(a),l=i(s);function f(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?f(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(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 d(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(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 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 g(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){var o,n,a,s,i=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(o=a.call(r)).done)&&(i.push(o.value),i.length!==t);c=!0);}catch(e){u=!0,n=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw n}}return i}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return h(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 h(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 h(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 b=["width","height","projection","projectionConfig"],j=c.geoPath,E=v(c,["geoPath"]),M=t.createContext(),x=function(e){var r=e.width,o=e.height,n=e.projection,a=e.projectionConfig,s=v(e,b),i=g(a.center||[],2),c=i[0],u=i[1],l=g(a.rotate||[],3),f=l[0],p=l[1],m=l[2],d=g(a.parallels||[],2),h=d[0],x=d[1],w=a.scale||null,k=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,s=void 0===a?800:a,i=e.height,c=void 0===i?600:i;if("function"==typeof n)return n;var u=E[n]().translate([s/2,c/2]);return[u.center?"center":null,u.rotate?"rotate":null,u.scale?"scale":null,u.parallels?"parallels":null].forEach((function(e){e&&(u=u[e](r[e]||u[e]()))})),u}({projectionConfig:{center:c||0===c||u||0===u?[c,u]:null,rotate:f||0===f||p||0===p?[f,p,m]:null,parallels:h||0===h||x||0===x?[h,x]:null,scale:w},projection:n,width:r,height:o})}),[r,o,n,c,u,f,p,m,h,x,w]),O=t.useCallback(k,[k]),N=t.useMemo((function(){return{width:r,height:o,projection:O,path:j().projection(O)}}),[r,o,O]);return t.createElement(M.Provider,y({value:N},s))};x.propTypes={width:r.number,height:r.number,projection:r.oneOfType([r.string,r.func]),projectionConfig:r.object};var w=["width","height","projection","projectionConfig","className"],k=t.forwardRef((function(e,r){var o=e.width,n=void 0===o?800:o,a=e.height,s=void 0===a?600:a,i=e.projection,c=void 0===i?"geoEqualEarth":i,u=e.projectionConfig,l=void 0===u?{}:u,f=e.className,p=void 0===f?"":f,m=v(e,w);return t.createElement(x,{width:n,height:s,projection:c,projectionConfig:l},t.createElement("svg",y({ref:r,viewBox:"0 0 ".concat(n," ").concat(s),className:"rsm-svg ".concat(p)},m)))}));function O(e){return u.select(e)}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(M).path,a=g(t.useState({}),2),s=a[0],i=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&&i({geographies:S(e,o),mesh:P(e)})})):i({geographies:S(r,o),mesh:P(r)})))}),[r,o]);var c=t.useMemo((function(){var e=s.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(s.geographies,n),outline:t.outline,borders:t.borders}}),[s,n]);return{geographies:c.geographies,outline:c.outline,borders:c.borders}}k.displayName="ComposableMap",k.propTypes={width:r.number,height:r.number,projection:r.oneOfType([r.string,r.func]),projectionConfig:r.object,className:r.string};var R=["geography","children","parseGeographies","className"],Z=t.forwardRef((function(e,r){var o=e.geography,n=e.children,a=e.parseGeographies,s=e.className,i=void 0===s?"":s,c=v(e,R),u=t.useContext(M),l=u.path,f=u.projection,p=T({geography:o,parseGeographies:a}),m=p.geographies,d=p.outline,g=p.borders;return t.createElement("g",y({ref:r,className:"rsm-geographies ".concat(i)},c),m&&m.length>0&&n({geographies:m,outline:d,borders:g,path:l,projection:f}))}));Z.displayName="Geographies",Z.propTypes={geography:r.oneOfType([r.string,r.object,r.array]),children:r.func,parseGeographies:r.func,className:r.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,s=e.onMouseDown,i=e.onMouseUp,c=e.onFocus,u=e.onBlur,l=e.style,f=void 0===l?{}:l,p=e.className,m=void 0===p?"":p,d=v(e,z),h=g(t.useState(!1),2),b=h[0],j=h[1],E=g(t.useState(!1),2),M=E[0],x=E[1];return t.createElement("path",y({ref:r,tabIndex:"0",className:"rsm-geography ".concat(m),d:o.svgPath,onMouseEnter:function(e){x(!0),n&&n(e)},onMouseLeave:function(e){x(!1),b&&j(!1),a&&a(e)},onFocus:function(e){x(!0),c&&c(e)},onBlur:function(e){x(!1),b&&j(!1),u&&u(e)},onMouseDown:function(e){j(!0),s&&s(e)},onMouseUp:function(e){j(!1),i&&i(e)},style:f[b||M?b?"pressed":"hover":"default"]},d))}));G.displayName="Geography",G.propTypes={geography:r.object,onMouseEnter:r.func,onMouseLeave:r.func,onMouseDown:r.func,onMouseUp:r.func,onFocus:r.func,onBlur:r.func,style:r.object,className:r.string};var D=t.memo(G),L=["fill","stroke","step","className"],A=t.forwardRef((function(e,r){var o=e.fill,n=void 0===o?"transparent":o,a=e.stroke,s=void 0===a?"currentcolor":a,i=e.step,u=void 0===i?[10,10]:i,l=e.className,f=void 0===l?"":l,p=v(e,L),m=t.useContext(M).path;return t.createElement("path",y({ref:r,d:m(c.geoGraticule().step(u)()),fill:n,stroke:s,className:"rsm-graticule ".concat(f)},p))}));A.displayName="Graticule",A.propTypes={fill:r.string,stroke:r.string,step:r.array,className:r.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 r=e.value,o=void 0===r?q:r,n=v(e,F);return t.createElement(U.Provider,y({value:o},n))};W.propTypes={x:r.number,y:r.number,k:r.number,transformString:r.string};function I(e){var r=e.center,o=e.filterZoomEvent,n=e.onMoveStart,a=e.onMoveEnd,s=e.onMove,i=e.translateExtent,c=void 0===i?[[-1/0,-1/0],[1/0,1/0]]:i,u=e.scaleExtent,f=void 0===u?[1,8]:u,p=e.zoom,m=void 0===p?1:p,d=t.useContext(M),y=d.width,v=d.height,h=d.projection,b=g(r,2),j=b[0],E=b[1],x=g(t.useState({x:0,y:0,k:1}),2),w=x[0],k=x[1],S=t.useRef({x:0,y:0,k:1}),P=t.useRef(),C=t.useRef(),T=t.useRef(!1),R=g(c,2),Z=R[0],z=R[1],G=g(Z,2),D=G[0],L=G[1],A=g(z,2),B=A[0],F=A[1],U=g(f,2),q=U[0],W=U[1];return t.useEffect((function(){var e=O(P.current);var t=l.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:h.invert(N(y,v,e.transform)),zoom:e.transform.k},e)})).on("zoom",(function(e){if(!T.current){var t=e.transform,r=e.sourceEvent;k({x:t.x,y:t.y,k:t.k,dragging:r}),s&&s({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=g(h.invert(N(y,v,e.transform)),2),r=t[0],o=t[1];S.current={x:r,y:o,k:e.transform.k},a&&a({coordinates:[r,o],zoom:e.transform.k},e)}}));C.current=t,e.call(t)}),[y,v,D,L,B,F,q,W,h,n,s,a,o]),t.useEffect((function(){if(j!==S.current.x||E!==S.current.y||m!==S.current.k){var e=h([j,E]),t=e[0]*m,r=e[1]*m,o=O(P.current);T.current=!0,o.call(C.current.transform,l.zoomIdentity.translate(y/2-t,v/2-r).scale(m)),k({x:y/2-t,y:v/2-r,k:m}),S.current={x:j,y:E,k:m}}}),[j,E,m,y,v,h]),{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"],Q=t.forwardRef((function(e,r){var o=e.center,n=void 0===o?[0,0]:o,a=e.zoom,s=void 0===a?1:a,i=e.minZoom,c=void 0===i?1:i,u=e.maxZoom,l=void 0===u?8:u,f=e.translateExtent,p=e.filterZoomEvent,m=e.onMoveStart,d=e.onMove,g=e.onMoveEnd,h=e.className,b=v(e,K),j=t.useContext(M),E=j.width,x=j.height,w=I({center:n,filterZoomEvent:p,onMoveStart:m,onMove:d,onMoveEnd:g,scaleExtent:[c,l],translateExtent:f,zoom:s}),k=w.mapRef,O=w.transformString,N=w.position;return t.createElement(W,{value:{x:N.x,y:N.y,k:N.k,transformString:O}},t.createElement("g",{ref:k},t.createElement("rect",{width:E,height:x,fill:"transparent"}),t.createElement("g",y({ref:r,transform:O,className:"rsm-zoomable-group ".concat(h)},b))))}));Q.displayName="ZoomableGroup",Q.propTypes={center:r.array,zoom:r.number,minZoom:r.number,maxZoom:r.number,translateExtent:r.arrayOf(r.array),onMoveStart:r.func,onMove:r.func,onMoveEnd:r.func,className:r.string};var $=["id","fill","stroke","strokeWidth","className"],H=t.forwardRef((function(e,r){var o=e.id,n=void 0===o?"rsm-sphere":o,a=e.fill,s=void 0===a?"transparent":a,i=e.stroke,c=void 0===i?"currentcolor":i,u=e.strokeWidth,l=void 0===u?.5:u,f=e.className,p=void 0===f?"":f,m=v(e,$),d=t.useContext(M).path,g=t.useMemo((function(){return d({type:"Sphere"})}),[d]);return t.createElement(t.Fragment,null,t.createElement("defs",null,t.createElement("clipPath",{id:n},t.createElement("path",{d:g}))),t.createElement("path",y({ref:r,d:g,fill:s,stroke:c,strokeWidth:l,style:{pointerEvents:"none"},className:"rsm-sphere ".concat(p)},m)))}));H.displayName="Sphere",H.propTypes={id:r.string,fill:r.string,stroke:r.string,strokeWidth:r.number,className:r.string};var J=t.memo(H),V=["coordinates","children","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onFocus","onBlur","style","className"],X=t.forwardRef((function(e,r){var o=e.coordinates,n=e.children,a=e.onMouseEnter,s=e.onMouseLeave,i=e.onMouseDown,c=e.onMouseUp,u=e.onFocus,l=e.onBlur,f=e.style,p=void 0===f?{}:f,m=e.className,d=void 0===m?"":m,h=v(e,V),b=t.useContext(M).projection,j=g(t.useState(!1),2),E=j[0],x=j[1],w=g(t.useState(!1),2),k=w[0],O=w[1],N=g(b(o),2),S=N[0],P=N[1];return t.createElement("g",y({ref:r,transform:"translate(".concat(S,", ").concat(P,")"),className:"rsm-marker ".concat(d),onMouseEnter:function(e){O(!0),a&&a(e)},onMouseLeave:function(e){O(!1),E&&x(!1),s&&s(e)},onFocus:function(e){O(!0),u&&u(e)},onBlur:function(e){O(!1),E&&x(!1),l&&l(e)},onMouseDown:function(e){x(!0),i&&i(e)},onMouseUp:function(e){x(!1),c&&c(e)},style:p[E||k?E?"pressed":"hover":"default"]},h),n)}));X.displayName="Marker",X.propTypes={coordinates:r.array,children:r.oneOfType([r.node,r.arrayOf(r.node)]),onMouseEnter:r.func,onMouseLeave:r.func,onMouseDown:r.func,onMouseUp:r.func,onFocus:r.func,onBlur:r.func,style:r.object,className:r.string};var Y=["from","to","coordinates","stroke","strokeWidth","fill","className"],_=t.forwardRef((function(e,r){var o=e.from,n=void 0===o?[0,0]:o,a=e.to,s=void 0===a?[0,0]:a,i=e.coordinates,c=e.stroke,u=void 0===c?"currentcolor":c,l=e.strokeWidth,f=void 0===l?3:l,p=e.fill,m=void 0===p?"transparent":p,d=e.className,g=void 0===d?"":d,h=v(e,Y),b=t.useContext(M).path,j={type:"LineString",coordinates:i||[n,s]};return t.createElement("path",y({ref:r,d:b(j),className:"rsm-line ".concat(g),stroke:u,strokeWidth:f,fill:m},h))}));_.displayName="Line",_.propTypes={from:r.array,to:r.array,coordinates:r.array,stroke:r.string,strokeWidth:r.number,fill:r.string,className:r.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,s=e.dx,i=void 0===s?30:s,c=e.dy,u=void 0===c?30:c,l=e.curve,f=void 0===l?0:l,p=e.className,m=void 0===p?"":p,d=v(e,ee),h=g((0,t.useContext(M).projection)(o),2),b=h[0],j=h[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)}(i,u,f);return t.createElement("g",y({ref:r,transform:"translate(".concat(b+i,", ").concat(j+u,")"),className:"rsm-annotation ".concat(m)},d),t.createElement("path",y({d:E,fill:"transparent",stroke:"#000"},a)),n)}));te.displayName="Annotation",te.propTypes={subject:r.array,children:r.oneOfType([r.node,r.arrayOf(r.node)]),dx:r.number,dy:r.number,curve:r.number,connectorProps:r.object,className:r.string},e.Annotation=te,e.ComposableMap=k,e.Geographies=Z,e.Geography=D,e.Graticule=B,e.Line=_,e.MapContext=M,e.MapProvider=x,e.Marker=X,e.Sphere=J,e.ZoomPanContext=U,e.ZoomPanProvider=W,e.ZoomableGroup=Q,e.useGeographies=T,e.useMapContext=function(){return t.useContext(M)},e.useZoomPan=I,e.useZoomPanContext=function(){return t.useContext(U)}}));