react-simple-maps 4.0.0-beta.5 → 5.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.
Files changed (63) hide show
  1. package/README.md +19 -33
  2. package/dist/core/components/Annotation.d.ts +5 -0
  3. package/dist/core/components/Annotation.d.ts.map +1 -0
  4. package/dist/core/components/ComposableMap.d.ts +5 -0
  5. package/dist/core/components/ComposableMap.d.ts.map +1 -0
  6. package/dist/core/components/Geographies.d.ts +5 -0
  7. package/dist/core/components/Geographies.d.ts.map +1 -0
  8. package/dist/core/components/Geography.d.ts +5 -0
  9. package/dist/core/components/Geography.d.ts.map +1 -0
  10. package/dist/core/components/Graticule.d.ts +5 -0
  11. package/dist/core/components/Graticule.d.ts.map +1 -0
  12. package/dist/core/components/Line.d.ts +5 -0
  13. package/dist/core/components/Line.d.ts.map +1 -0
  14. package/dist/core/components/MapProvider.d.ts +15 -0
  15. package/dist/core/components/MapProvider.d.ts.map +1 -0
  16. package/dist/core/components/Marker.d.ts +5 -0
  17. package/dist/core/components/Marker.d.ts.map +1 -0
  18. package/dist/core/components/Sphere.d.ts +5 -0
  19. package/dist/core/components/Sphere.d.ts.map +1 -0
  20. package/dist/core/hooks/useGeographies.d.ts +3 -0
  21. package/dist/core/hooks/useGeographies.d.ts.map +1 -0
  22. package/dist/core/index.cjs.js +2 -0
  23. package/dist/core/index.cjs.js.map +1 -0
  24. package/dist/core/index.d.ts +12 -0
  25. package/dist/core/index.d.ts.map +1 -0
  26. package/dist/core/index.es.js +2 -0
  27. package/dist/core/index.es.js.map +1 -0
  28. package/dist/core/index.umd.js +2 -0
  29. package/dist/core/index.umd.js.map +1 -0
  30. package/dist/core/types/index.d.ts +101 -0
  31. package/dist/core/types/index.d.ts.map +1 -0
  32. package/dist/core/utils.d.ts +18 -0
  33. package/dist/core/utils.d.ts.map +1 -0
  34. package/dist/index.cjs.js +2 -0
  35. package/dist/index.cjs.js.map +1 -0
  36. package/dist/index.d.ts +3 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.es.js +2 -965
  39. package/dist/index.es.js.map +1 -0
  40. package/dist/index.umd.js +2 -0
  41. package/dist/index.umd.js.map +1 -0
  42. package/dist/shared/CFjZOVgq.es.js +2 -0
  43. package/dist/shared/CFjZOVgq.es.js.map +1 -0
  44. package/dist/shared/rJJi6xbJ.es.js +2 -0
  45. package/dist/shared/rJJi6xbJ.es.js.map +1 -0
  46. package/dist/zoom/components/ZoomPanProvider.d.ts +7 -0
  47. package/dist/zoom/components/ZoomPanProvider.d.ts.map +1 -0
  48. package/dist/zoom/components/ZoomableGroup.d.ts +5 -0
  49. package/dist/zoom/components/ZoomableGroup.d.ts.map +1 -0
  50. package/dist/zoom/hooks/useZoomPan.d.ts +3 -0
  51. package/dist/zoom/hooks/useZoomPan.d.ts.map +1 -0
  52. package/dist/zoom/index.cjs.js +2 -0
  53. package/dist/zoom/index.cjs.js.map +1 -0
  54. package/dist/zoom/index.d.ts +5 -0
  55. package/dist/zoom/index.d.ts.map +1 -0
  56. package/dist/zoom/index.es.js +2 -0
  57. package/dist/zoom/index.es.js.map +1 -0
  58. package/dist/zoom/index.umd.js +2 -0
  59. package/dist/zoom/index.umd.js.map +1 -0
  60. package/dist/zoom/types/index.d.ts +61 -0
  61. package/dist/zoom/types/index.d.ts.map +1 -0
  62. package/package.json +58 -28
  63. package/dist/index.js +0 -1004
package/README.md CHANGED
@@ -10,7 +10,7 @@ Read the [docs](https://www.react-simple-maps.io/docs/getting-started/), or chec
10
10
 
11
11
  `React-simple-maps` aims to make working with svg maps in react easier. It handles tasks such as panning, zooming and simple rendering optimization, and takes advantage of parts of [d3-geo](https://github.com/d3/d3-geo) and topojson-client instead of relying on the entire d3 library.
12
12
 
13
- Since `react-simple-maps` leaves DOM work to react, it can also easily be used with other libraries, such as [react-spring](https://github.com/react-spring/react-spring) and [react-annotation](https://github.com/susielu/react-annotation/).
13
+ Since `react-simple-maps` leaves DOM work to react, it also plays nicely with other react component libraries.
14
14
 
15
15
  ### Install
16
16
 
@@ -31,50 +31,36 @@ $ yarn add react-simple-maps
31
31
  `React-simple-maps` exposes a set of components that can be combined to create svg maps with markers and annotations. In order to render a map you have to provide a reference to a valid topojson file. You can find example topojson files on [here](https://github.com/topojson/world-atlas) or [here](https://github.com/deldersveld/topojson). To learn how to make your own topojson maps from shapefiles, please read ["How to convert and prepare TopoJSON files for interactive mapping with d3"](https://hackernoon.com/how-to-convert-and-prepare-topojson-files-for-interactive-mapping-with-d3-499cf0ced5f) on medium.
32
32
 
33
33
  ```jsx
34
- import React from "react";
35
- import ReactDOM from "react-dom";
36
- import { ComposableMap, Geographies, Geography } from "react-simple-maps";
34
+ import { ComposableMap, Geographies, Geography } from "react-simple-maps"
37
35
 
38
36
  // url to a valid topojson file
39
- const geoUrl =
40
- "https://raw.githubusercontent.com/deldersveld/topojson/master/world-countries.json";
37
+ const geoUrl = "my-topojson-file.json"
41
38
 
42
- const App = () => {
39
+ const SampleMap = () => {
43
40
  return (
44
- <div>
45
- <ComposableMap>
46
- <Geographies geography={geoUrl}>
47
- {({ geographies }) =>
48
- geographies.map((geo) => (
49
- <Geography key={geo.rsmKey} geography={geo} />
50
- ))
51
- }
52
- </Geographies>
53
- </ComposableMap>
54
- </div>
55
- );
56
- };
57
-
58
- document.addEventListener("DOMContentLoaded", () => {
59
- ReactDOM.render(<App />, document.getElementById("app"));
60
- });
41
+ <ComposableMap>
42
+ <Geographies geography={geoUrl}>
43
+ {({ geographies }) =>
44
+ geographies.map((geo) => (
45
+ <Geography key={geo.rsmKey} geography={geo} />
46
+ ))
47
+ }
48
+ </Geographies>
49
+ </ComposableMap>
50
+ )
51
+ }
61
52
  ```
62
53
 
63
- Check out the [live example](https://codesandbox.io/s/basic-map-wvlol)
64
-
65
54
  The above will render a world map using the [equal earth projection](https://observablehq.com/@d3/equal-earth). You can read more about this projection on [Shaded Relief](http://shadedrelief.com/ee_proj/) and on [Wikipedia](https://en.wikipedia.org/wiki/Equal_Earth_projection).
66
55
 
67
- For other examples and components, check out the [documentation](https://www.react-simple-maps.io/docs/getting-started).
68
-
69
56
  ### Map files
70
57
 
71
- React-simple-maps does not restrict you to one specific map and relies on custom map files that you can modify in any way necessary for the project. This means that you can visualise countries, regions, and continents in various resolutions, as long as they can be represented using geojson/topojson.
58
+ React-simple-maps does not restrict you to one specific map and relies on custom map files that you can modify in any way necessary for your project. This means that you can visualise countries, regions, and continents at various levels of complexity, as long as they can be represented using geojson/topojson.
72
59
 
73
- In order for this to work properly, you will however need to provide these valid map files to react-simple-maps yourself. Luckily, there are decent sources for map files on github and elsewhere. Here are some you can check out:
60
+ In order for this to work properly, you will need to provide these valid map files to react-simple-maps yourself. Luckily, there are decent sources for global map files on github and elsewhere. Here are some you can check out:
74
61
 
75
- * [Natural Earth](https://github.com/nvkelso/natural-earth-vector)
76
- * [Topojson maps by @deldersveld](https://github.com/deldersveld/topojson)
77
- * [Topojson world atlas](https://github.com/topojson/world-atlas)
62
+ - [Eurostat GISCO](https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units)
63
+ - [Natural Earth](https://github.com/nvkelso/natural-earth-vector)
78
64
 
79
65
  ### License
80
66
 
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { AnnotationProps } from "../types";
3
+ declare const Annotation: React.ForwardRefExoticComponent<Omit<AnnotationProps, "ref"> & React.RefAttributes<SVGGElement>>;
4
+ export default Annotation;
5
+ //# sourceMappingURL=Annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Annotation.d.ts","sourceRoot":"","sources":["../../../src/core/components/Annotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAGzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,QAAA,MAAM,UAAU,kGAuCf,CAAA;AAID,eAAe,UAAU,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { ComposableMapProps } from "../types";
3
+ declare const ComposableMap: React.ForwardRefExoticComponent<Omit<ComposableMapProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
4
+ export default ComposableMap;
5
+ //# sourceMappingURL=ComposableMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposableMap.d.ts","sourceRoot":"","sources":["../../../src/core/components/ComposableMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD,QAAA,MAAM,aAAa,uGAgClB,CAAA;AAID,eAAe,aAAa,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { GeographiesProps } from "../types";
3
+ declare const Geographies: React.ForwardRefExoticComponent<Omit<GeographiesProps, "ref"> & React.RefAttributes<SVGGElement>>;
4
+ export default Geographies;
5
+ //# sourceMappingURL=Geographies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Geographies.d.ts","sourceRoot":"","sources":["../../../src/core/components/Geographies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAGzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,QAAA,MAAM,WAAW,mGAuBhB,CAAA;AAID,eAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { GeographyProps } from "../types";
3
+ declare const _default: React.NamedExoticComponent<Omit<GeographyProps, "ref"> & React.RefAttributes<SVGPathElement>>;
4
+ export default _default;
5
+ //# sourceMappingURL=Geography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Geography.d.ts","sourceRoot":"","sources":["../../../src/core/components/Geography.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;;AAgB9C,wBAA8B"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { GraticuleProps } from "../types";
3
+ declare const _default: React.NamedExoticComponent<Omit<GraticuleProps, "ref"> & React.RefAttributes<SVGPathElement>>;
4
+ export default _default;
5
+ //# sourceMappingURL=Graticule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graticule.d.ts","sourceRoot":"","sources":["../../../src/core/components/Graticule.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAG/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;;AA2B9C,wBAA8B"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { LineProps } from "../types";
3
+ declare const Line: React.ForwardRefExoticComponent<Omit<LineProps, "ref"> & React.RefAttributes<SVGPathElement>>;
4
+ export default Line;
5
+ //# sourceMappingURL=Line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Line.d.ts","sourceRoot":"","sources":["../../../src/core/components/Line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,QAAA,MAAM,IAAI,+FA+BT,CAAA;AAID,eAAe,IAAI,CAAA"}
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode } from "react";
2
+ import type { GeoProjection } from "d3-geo";
3
+ import type { MapContextType, ProjectionName, ProjectionConfig } from "../types";
4
+ export declare const MapContext: React.Context<MapContextType | undefined>;
5
+ interface MapProviderProps {
6
+ width?: number;
7
+ height?: number;
8
+ projection?: ProjectionName | GeoProjection;
9
+ projectionConfig?: ProjectionConfig;
10
+ children?: ReactNode;
11
+ }
12
+ declare const MapProvider: ({ width, height, projection, projectionConfig, children, }: MapProviderProps) => React.FunctionComponentElement<React.ProviderProps<MapContextType | undefined>>;
13
+ declare const useMapContext: () => MapContextType;
14
+ export { MapProvider, useMapContext };
15
+ //# sourceMappingURL=MapProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapProvider.d.ts","sourceRoot":"","sources":["../../../src/core/components/MapProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAKZ,SAAS,EACV,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,QAAQ,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAchF,eAAO,MAAM,UAAU,2CAAuD,CAAA;AAuC9E,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,cAAc,GAAG,aAAa,CAAA;IAC3C,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,QAAA,MAAM,WAAW,GAAI,4DAMlB,gBAAgB,oFAyClB,CAAA;AAED,QAAA,MAAM,aAAa,QAAO,cAMzB,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { MarkerProps } from "../types";
3
+ declare const Marker: React.ForwardRefExoticComponent<Omit<MarkerProps, "ref"> & React.RefAttributes<SVGGElement>>;
4
+ export default Marker;
5
+ //# sourceMappingURL=Marker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Marker.d.ts","sourceRoot":"","sources":["../../../src/core/components/Marker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,QAAA,MAAM,MAAM,8FAoBX,CAAA;AAID,eAAe,MAAM,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { SphereProps } from "../types";
3
+ declare const _default: React.NamedExoticComponent<Omit<SphereProps, "ref"> & React.RefAttributes<SVGPathElement>>;
4
+ export default _default;
5
+ //# sourceMappingURL=Sphere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sphere.d.ts","sourceRoot":"","sources":["../../../src/core/components/Sphere.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;;AA6C3C,wBAA2B"}
@@ -0,0 +1,3 @@
1
+ import type { UseGeographiesProps, UseGeographiesReturn } from "../types";
2
+ export default function useGeographies({ geography, parseGeographies, }: UseGeographiesProps): UseGeographiesReturn;
3
+ //# sourceMappingURL=useGeographies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGeographies.d.ts","sourceRoot":"","sources":["../../../src/core/hooks/useGeographies.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAOzE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,EACT,gBAAgB,GACjB,EAAE,mBAAmB,GAAG,oBAAoB,CAiD5C"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),r=require("d3-geo"),t=require("topojson-client");function o(e){var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,Object.freeze(r)}var a=o(r);const{geoPath:n,...s}=a,i=s;const c=e.createContext(void 0),l=({width:r=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:a={},children:s})=>{const[l,p]=a.center||[],[u,h,f]=a.rotate||[],[m,g]=a.parallels||[],d=a.scale||null,y=e.useMemo(()=>(({projectionConfig:e={},projection:r="geoEqualEarth",width:t=800,height:o=600})=>{if("function"==typeof r)return r;const a=i[r]().translate([t/2,o/2]);if(e.center&&a.center(e.center),e.rotate){const[r,t,o]=e.rotate;a.rotate(void 0===o?[r,t]:[r,t,o])}return e.scale&&a.scale(e.scale),e.parallels&&function(e){return"parallels"in e}(a)&&a.parallels(e.parallels),a})({projectionConfig:{center:"number"==typeof l&&"number"==typeof p?[l,p]:void 0,rotate:"number"==typeof u&&"number"==typeof h?[u,h,f]:void 0,parallels:"number"==typeof m&&"number"==typeof g?[m,g]:void 0,scale:d||void 0},projection:o,width:r,height:t}),[r,t,o,l,p,u,h,f,m,g,d]),b=e.useCallback(y,[y]),j=e.useMemo(()=>({width:r,height:t,projection:b,path:n().projection(b)}),[r,t,b]);return e.createElement(c.Provider,{value:j},s)},p=()=>{const r=e.useContext(c);if(!r)throw new Error("useMapContext must be used within MapProvider");return r},u=e.forwardRef(({width:r=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:a={},className:n="",children:s,...i},c)=>e.createElement(l,{width:r,height:t,projection:o,projectionConfig:a},e.createElement("svg",{ref:c,width:r,height:t,viewBox:`0 0 ${r} ${t}`,className:`rsm-svg ${n}`,...i,children:s})));function h(e,r){if(!Array.isArray(e)&&"type"in e&&"Topology"===e.type){const o=e.objects[Object.keys(e.objects)[0]],a=t.feature(e,o).features;return r?r(a):a}const o=!Array.isArray(e)&&"features"in e?e.features:e;return r?r(o):o}function f(e){if(Array.isArray(e)||!("type"in e)||"Topology"!==e.type)return null;const r=e.objects[Object.keys(e.objects)[0]];return{outline:t.mesh(e,r,(e,r)=>e===r),borders:t.mesh(e,r,(e,r)=>e!==r)}}function m(e,r){return e?e.map((e,t)=>({...e,rsmKey:`geo-${t}`,svgPath:r(e)})):[]}function g(e){return"string"==typeof e}function d({geography:r,parseGeographies:t}){const{path:o}=p(),[a,n]=e.useState({}),s=g(r)?r:JSON.stringify(r);e.useEffect(()=>{var e;"undefined"!=typeof window&&(r&&(g(r)?(e=r,fetch(e).then(e=>{if(!e.ok)throw Error(e.statusText);return e.json()}).catch(e=>{console.log("There was a problem when fetching the data: ",e)})).then(e=>{e&&n({geographies:h(e,t),mesh:f(e)})}):n({geographies:h(r,t),mesh:f(r)})))},[s,t]);const{geographies:i,outline:c,borders:l}=e.useMemo(()=>{const e=function(e,r,t){return e&&r?{outline:{...e,rsmKey:"outline",svgPath:t(e)},borders:{...r,rsmKey:"borders",svgPath:t(r)}}:{}}(a.mesh?.outline,a.mesh?.borders,o);return{geographies:m(a.geographies,o),outline:e.outline,borders:e.borders}},[a,o]);return{geographies:i,outline:c,borders:l}}u.displayName="ComposableMap";const y=e.forwardRef(({geography:r,children:t,parseGeographies:o,className:a="",...n},s)=>{const{path:i,projection:c}=p(),{geographies:l,outline:u,borders:h}=d({geography:r,parseGeographies:o});return e.createElement("g",{ref:s,className:`rsm-geographies ${a}`,...n},l&&l.length>0&&t({geographies:l,outline:u,borders:h,path:i,projection:c}))});y.displayName="Geographies";const b=e.forwardRef(({geography:r,className:t="",...o},a)=>e.createElement("path",{ref:a,tabIndex:0,className:`rsm-geography ${t}`,d:r.svgPath,...o}));b.displayName="Geography";var j=e.memo(b);const v=e.forwardRef(({fill:t="transparent",stroke:o="currentcolor",step:a=[10,10],className:n="",...s},i)=>{const{path:c}=p();return e.createElement("path",{ref:i,d:c(r.geoGraticule().step(a)()),fill:t,stroke:o,className:`rsm-graticule ${n}`,...s})});v.displayName="Graticule";var E=e.memo(v);const w=e.forwardRef(({id:r="rsm-sphere",fill:t="transparent",stroke:o="currentcolor",strokeWidth:a=.5,className:n="",...s},i)=>{const{path:c}=p(),l=e.useMemo(()=>c({type:"Sphere"}),[c]);return e.createElement(e.Fragment,null,e.createElement("defs",null,e.createElement("clipPath",{id:r},e.createElement("path",{d:l}))),e.createElement("path",{ref:i,d:l,fill:t,stroke:o,strokeWidth:a,style:{pointerEvents:"none"},className:`rsm-sphere ${n}`,...s}))});w.displayName="Sphere";var N=e.memo(w);const x=e.forwardRef(({coordinates:r,children:t,className:o="",...a},n)=>{const{projection:s}=p(),i=s(r);if(!i)return null;const[c,l]=i;return e.createElement("g",{ref:n,transform:`translate(${c}, ${l})`,className:`rsm-marker ${o}`,...a},t)});x.displayName="Marker";const k=e.forwardRef(({from:r=[0,0],to:t=[0,0],coordinates:o,stroke:a="currentcolor",strokeWidth:n=3,fill:s="transparent",className:i="",...c},l)=>{const{path:u}=p(),h={type:"LineString",coordinates:o||[r,t]};return e.createElement("path",{ref:l,d:u(h),className:`rsm-line ${i}`,stroke:a,strokeWidth:n,fill:s,...c})});k.displayName="Line";const $=e.forwardRef(({subject:r,children:t,connectorProps:o,dx:a=30,dy:n=30,curve:s=0,className:i="",...c},l)=>{const{projection:u}=p(),h=u(r),f=function(e=30,r=30,t=.5){const o=Array.isArray(t)?t:[t,t];return`M0,0 Q${-e/2-e/2*o[0]},${-r/2+r/2*o[1]} ${-e},${-r}`}(a,n,s);if(!h)return null;const[m,g]=h;return e.createElement("g",{ref:l,transform:`translate(${m+a}, ${g+n})`,className:`rsm-annotation ${i}`,...c},e.createElement("path",{d:f,fill:"transparent",stroke:"#000",...o}),t)});$.displayName="Annotation",exports.Annotation=$,exports.ComposableMap=u,exports.Geographies=y,exports.Geography=j,exports.Graticule=E,exports.Line=k,exports.MapContext=c,exports.MapProvider=l,exports.Marker=x,exports.Sphere=N,exports.useGeographies=d,exports.useMapContext=p;
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/core/components/MapProvider.ts","../../src/core/components/ComposableMap.ts","../../src/core/utils.ts","../../src/core/hooks/useGeographies.ts","../../src/core/components/Geographies.ts","../../src/core/components/Geography.ts","../../src/core/components/Graticule.ts","../../src/core/components/Sphere.ts","../../src/core/components/Marker.ts","../../src/core/components/Line.ts","../../src/core/components/Annotation.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["geoPath","projections","d3Geo","projectionFactories","MapContext","createContext","undefined","MapProvider","width","height","projection","projectionConfig","children","cx","cy","center","rx","ry","rz","rotate","p1","p2","parallels","s","scale","projMemo","useMemo","proj","translate","lambda","phi","gamma","isConicProjection","makeProjection","useCallback","value","path","React","createElement","Provider","useMapContext","context","useContext","Error","ComposableMap","forwardRef","className","restProps","ref","viewBox","getFeatures","geographies","parseGeographies","Array","isArray","type","firstObject","objects","Object","keys","feats","feature","features","getMesh","outline","mesh","a","b","borders","prepareFeatures","map","d","i","rsmKey","svgPath","isString","geo","useGeographies","geography","output","setOutput","useState","geographyKey","JSON","stringify","useEffect","url","window","fetch","then","res","ok","statusText","json","catch","error","console","log","geos","preparedMesh","prepareMesh","displayName","Geographies","length","Geography","tabIndex","Geography_default","memo","Graticule","fill","stroke","step","geoGraticule","Graticule_default","Sphere","id","strokeWidth","spherePath","Fragment","style","pointerEvents","Sphere_default","Marker","coordinates","projected","x","y","transform","Line","from","to","lineData","Annotation","subject","connectorProps","dx","dy","curve","connectorPath","curvature","createConnectorPath"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { default as ComposableMap } from "./components/ComposableMap";
2
+ export { default as Geographies } from "./components/Geographies";
3
+ export { default as Geography } from "./components/Geography";
4
+ export { default as Graticule } from "./components/Graticule";
5
+ export { default as Sphere } from "./components/Sphere";
6
+ export { default as Marker } from "./components/Marker";
7
+ export { default as Line } from "./components/Line";
8
+ export { default as Annotation } from "./components/Annotation";
9
+ export { MapProvider, MapContext, useMapContext, } from "./components/MapProvider";
10
+ export { default as useGeographies } from "./hooks/useGeographies";
11
+ export type * from "./types";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAElE,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ export{A as Annotation,C as ComposableMap,G as Geographies,a as Geography,b as Graticule,L as Line,M as MapContext,c as MapProvider,d as Marker,S as Sphere,u as useGeographies,e as useMapContext}from"../shared/CFjZOVgq.es.js";import"react";import"d3-geo";import"topojson-client";
2
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react"),require("d3-geo"),require("topojson-client")):"function"==typeof define&&define.amd?define(["exports","react","d3-geo","topojson-client"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).ReactSimpleMapsCore=e.ReactSimpleMapsCore||{},e.React,e.d3,e.topojson)}(this,function(e,r,t,o){"use strict";function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,Object.freeze(r)}var a=n(t);const{geoPath:s,...i}=a,c=i;const l=r.createContext(void 0),p=({width:e=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:n={},children:a})=>{const[i,p]=n.center||[],[u,h,f]=n.rotate||[],[m,d]=n.parallels||[],g=n.scale||null,y=r.useMemo(()=>(({projectionConfig:e={},projection:r="geoEqualEarth",width:t=800,height:o=600})=>{if("function"==typeof r)return r;const n=c[r]().translate([t/2,o/2]);if(e.center&&n.center(e.center),e.rotate){const[r,t,o]=e.rotate;n.rotate(void 0===o?[r,t]:[r,t,o])}return e.scale&&n.scale(e.scale),e.parallels&&function(e){return"parallels"in e}(n)&&n.parallels(e.parallels),n})({projectionConfig:{center:"number"==typeof i&&"number"==typeof p?[i,p]:void 0,rotate:"number"==typeof u&&"number"==typeof h?[u,h,f]:void 0,parallels:"number"==typeof m&&"number"==typeof d?[m,d]:void 0,scale:g||void 0},projection:o,width:e,height:t}),[e,t,o,i,p,u,h,f,m,d,g]),b=r.useCallback(y,[y]),j=r.useMemo(()=>({width:e,height:t,projection:b,path:s().projection(b)}),[e,t,b]);return r.createElement(l.Provider,{value:j},a)},u=()=>{const e=r.useContext(l);if(!e)throw new Error("useMapContext must be used within MapProvider");return e},h=r.forwardRef(({width:e=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:n={},className:a="",children:s,...i},c)=>r.createElement(p,{width:e,height:t,projection:o,projectionConfig:n},r.createElement("svg",{ref:c,width:e,height:t,viewBox:`0 0 ${e} ${t}`,className:`rsm-svg ${a}`,...i,children:s})));function f(e,r){if(!Array.isArray(e)&&"type"in e&&"Topology"===e.type){const t=e.objects[Object.keys(e.objects)[0]],n=o.feature(e,t).features;return r?r(n):n}const t=!Array.isArray(e)&&"features"in e?e.features:e;return r?r(t):t}function m(e){if(Array.isArray(e)||!("type"in e)||"Topology"!==e.type)return null;const r=e.objects[Object.keys(e.objects)[0]];return{outline:o.mesh(e,r,(e,r)=>e===r),borders:o.mesh(e,r,(e,r)=>e!==r)}}function d(e,r){return e?e.map((e,t)=>({...e,rsmKey:`geo-${t}`,svgPath:r(e)})):[]}function g(e){return"string"==typeof e}function y({geography:e,parseGeographies:t}){const{path:o}=u(),[n,a]=r.useState({}),s=g(e)?e:JSON.stringify(e);r.useEffect(()=>{var r;"undefined"!=typeof window&&(e&&(g(e)?(r=e,fetch(r).then(e=>{if(!e.ok)throw Error(e.statusText);return e.json()}).catch(e=>{console.log("There was a problem when fetching the data: ",e)})).then(e=>{e&&a({geographies:f(e,t),mesh:m(e)})}):a({geographies:f(e,t),mesh:m(e)})))},[s,t]);const{geographies:i,outline:c,borders:l}=r.useMemo(()=>{const e=function(e,r,t){return e&&r?{outline:{...e,rsmKey:"outline",svgPath:t(e)},borders:{...r,rsmKey:"borders",svgPath:t(r)}}:{}}(n.mesh?.outline,n.mesh?.borders,o);return{geographies:d(n.geographies,o),outline:e.outline,borders:e.borders}},[n,o]);return{geographies:i,outline:c,borders:l}}h.displayName="ComposableMap";const b=r.forwardRef(({geography:e,children:t,parseGeographies:o,className:n="",...a},s)=>{const{path:i,projection:c}=u(),{geographies:l,outline:p,borders:h}=y({geography:e,parseGeographies:o});return r.createElement("g",{ref:s,className:`rsm-geographies ${n}`,...a},l&&l.length>0&&t({geographies:l,outline:p,borders:h,path:i,projection:c}))});b.displayName="Geographies";const j=r.forwardRef(({geography:e,className:t="",...o},n)=>r.createElement("path",{ref:n,tabIndex:0,className:`rsm-geography ${t}`,d:e.svgPath,...o}));j.displayName="Geography";var v=r.memo(j);const E=r.forwardRef(({fill:e="transparent",stroke:o="currentcolor",step:n=[10,10],className:a="",...s},i)=>{const{path:c}=u();return r.createElement("path",{ref:i,d:c(t.geoGraticule().step(n)()),fill:e,stroke:o,className:`rsm-graticule ${a}`,...s})});E.displayName="Graticule";var w=r.memo(E);const N=r.forwardRef(({id:e="rsm-sphere",fill:t="transparent",stroke:o="currentcolor",strokeWidth:n=.5,className:a="",...s},i)=>{const{path:c}=u(),l=r.useMemo(()=>c({type:"Sphere"}),[c]);return r.createElement(r.Fragment,null,r.createElement("defs",null,r.createElement("clipPath",{id:e},r.createElement("path",{d:l}))),r.createElement("path",{ref:i,d:l,fill:t,stroke:o,strokeWidth:n,style:{pointerEvents:"none"},className:`rsm-sphere ${a}`,...s}))});N.displayName="Sphere";var k=r.memo(N);const $=r.forwardRef(({coordinates:e,children:t,className:o="",...n},a)=>{const{projection:s}=u(),i=s(e);if(!i)return null;const[c,l]=i;return r.createElement("g",{ref:a,transform:`translate(${c}, ${l})`,className:`rsm-marker ${o}`,...n},t)});$.displayName="Marker";const M=r.forwardRef(({from:e=[0,0],to:t=[0,0],coordinates:o,stroke:n="currentcolor",strokeWidth:a=3,fill:s="transparent",className:i="",...c},l)=>{const{path:p}=u(),h={type:"LineString",coordinates:o||[e,t]};return r.createElement("path",{ref:l,d:p(h),className:`rsm-line ${i}`,stroke:n,strokeWidth:a,fill:s,...c})});M.displayName="Line";const C=r.forwardRef(({subject:e,children:t,connectorProps:o,dx:n=30,dy:a=30,curve:s=0,className:i="",...c},l)=>{const{projection:p}=u(),h=p(e),f=function(e=30,r=30,t=.5){const o=Array.isArray(t)?t:[t,t];return`M0,0 Q${-e/2-e/2*o[0]},${-r/2+r/2*o[1]} ${-e},${-r}`}(n,a,s);if(!h)return null;const[m,d]=h;return r.createElement("g",{ref:l,transform:`translate(${m+n}, ${d+a})`,className:`rsm-annotation ${i}`,...c},r.createElement("path",{d:f,fill:"transparent",stroke:"#000",...o}),t)});C.displayName="Annotation",e.Annotation=C,e.ComposableMap=h,e.Geographies=b,e.Geography=v,e.Graticule=w,e.Line=M,e.MapContext=l,e.MapProvider=p,e.Marker=$,e.Sphere=k,e.useGeographies=y,e.useMapContext=u});
2
+ //# sourceMappingURL=index.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../../src/core/components/MapProvider.ts","../../src/core/components/ComposableMap.ts","../../src/core/utils.ts","../../src/core/hooks/useGeographies.ts","../../src/core/components/Geographies.ts","../../src/core/components/Geography.ts","../../src/core/components/Graticule.ts","../../src/core/components/Sphere.ts","../../src/core/components/Marker.ts","../../src/core/components/Line.ts","../../src/core/components/Annotation.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["geoPath","projections","d3Geo","projectionFactories","MapContext","createContext","undefined","MapProvider","width","height","projection","projectionConfig","children","cx","cy","center","rx","ry","rz","rotate","p1","p2","parallels","s","scale","projMemo","useMemo","proj","translate","lambda","phi","gamma","isConicProjection","makeProjection","useCallback","value","path","React","createElement","Provider","useMapContext","context","useContext","Error","ComposableMap","forwardRef","className","restProps","ref","viewBox","getFeatures","geographies","parseGeographies","Array","isArray","type","firstObject","objects","Object","keys","feats","feature","features","getMesh","outline","mesh","a","b","borders","prepareFeatures","map","d","i","rsmKey","svgPath","isString","geo","useGeographies","geography","output","setOutput","useState","geographyKey","JSON","stringify","useEffect","url","window","fetch","then","res","ok","statusText","json","catch","error","console","log","geos","preparedMesh","prepareMesh","displayName","Geographies","length","Geography","tabIndex","Geography_default","memo","Graticule","fill","stroke","step","geoGraticule","Graticule_default","Sphere","id","strokeWidth","spherePath","Fragment","style","pointerEvents","Sphere_default","Marker","coordinates","projected","x","y","transform","Line","from","to","lineData","Annotation","subject","connectorProps","dx","dy","curve","connectorPath","curvature","createConnectorPath"],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { ReactNode, SVGProps } from "react";
2
+ import { Feature, FeatureCollection, Geometry, GeoJsonObject, MultiLineString } from "geojson";
3
+ import { GeoPermissibleObjects, GeoProjection } from "d3-geo";
4
+ import type { Topology } from "topojson-specification";
5
+ export type ProjectionName = "geoAzimuthalEqualArea" | "geoAzimuthalEquidistant" | "geoConicConformal" | "geoConicEqualArea" | "geoConicEquidistant" | "geoEqualEarth" | "geoEquirectangular" | "geoGnomonic" | "geoMercator" | "geoOrthographic" | "geoStereographic" | "geoTransverseMercator";
6
+ export interface ProjectionConfig {
7
+ center?: [number, number];
8
+ rotate?: [number, number, number?];
9
+ parallels?: [number, number];
10
+ scale?: number;
11
+ }
12
+ export interface MapContextType {
13
+ width: number;
14
+ height: number;
15
+ projection: GeoProjection;
16
+ path: (geometry: GeoPermissibleObjects) => string | null;
17
+ }
18
+ export interface Geography extends Feature<Geometry> {
19
+ rsmKey: string;
20
+ svgPath: string | null;
21
+ }
22
+ export interface Mesh extends MultiLineString {
23
+ rsmKey: string;
24
+ svgPath: string | null;
25
+ }
26
+ export interface ComposableMapProps extends SVGProps<SVGSVGElement> {
27
+ width?: number;
28
+ height?: number;
29
+ projection?: ProjectionName | GeoProjection;
30
+ projectionConfig?: ProjectionConfig;
31
+ className?: string;
32
+ children?: ReactNode;
33
+ }
34
+ export interface GeographiesProps extends Omit<SVGProps<SVGGElement>, "children"> {
35
+ geography: string | GeoJsonObject | GeoJsonObject[];
36
+ children: (props: {
37
+ geographies: Geography[];
38
+ outline?: Mesh;
39
+ borders?: Mesh;
40
+ path: (geometry: GeoPermissibleObjects) => string | null;
41
+ projection: GeoProjection;
42
+ }) => ReactNode;
43
+ parseGeographies?: (features: Feature<Geometry>[]) => Feature<Geometry>[];
44
+ className?: string;
45
+ }
46
+ export interface GeographyProps extends SVGProps<SVGPathElement> {
47
+ geography: Geography;
48
+ className?: string;
49
+ }
50
+ export interface MarkerProps extends SVGProps<SVGGElement> {
51
+ coordinates: [number, number];
52
+ children: ReactNode;
53
+ className?: string;
54
+ }
55
+ export interface GraticuleProps extends Omit<SVGProps<SVGPathElement>, "children"> {
56
+ fill?: string;
57
+ stroke?: string;
58
+ step?: [number, number];
59
+ className?: string;
60
+ }
61
+ export interface SphereProps extends Omit<SVGProps<SVGPathElement>, "children"> {
62
+ id?: string;
63
+ fill?: string;
64
+ stroke?: string;
65
+ strokeWidth?: number;
66
+ className?: string;
67
+ }
68
+ export interface LineProps extends Omit<SVGProps<SVGPathElement>, "children" | "from" | "to"> {
69
+ from?: [number, number];
70
+ to?: [number, number];
71
+ coordinates?: Array<[number, number]>;
72
+ stroke?: string;
73
+ strokeWidth?: number;
74
+ fill?: string;
75
+ className?: string;
76
+ }
77
+ export interface AnnotationProps extends Omit<SVGProps<SVGGElement>, "children"> {
78
+ subject: [number, number];
79
+ children: ReactNode;
80
+ connectorProps?: SVGProps<SVGPathElement>;
81
+ dx?: number;
82
+ dy?: number;
83
+ curve?: number | [number, number];
84
+ className?: string;
85
+ }
86
+ export interface UseGeographiesProps {
87
+ geography: string | GeoJsonObject | GeoJsonObject[];
88
+ parseGeographies?: (features: Feature<Geometry>[]) => Feature<Geometry>[];
89
+ }
90
+ export interface UseGeographiesReturn {
91
+ geographies: Geography[];
92
+ outline?: Mesh;
93
+ borders?: Mesh;
94
+ }
95
+ export interface TransformObject {
96
+ x: number;
97
+ y: number;
98
+ k: number;
99
+ }
100
+ export type FetchResult = Topology | FeatureCollection;
101
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Feature, Geometry, GeoJsonObject, MultiLineString } from "geojson";
2
+ import { GeoPermissibleObjects } from "d3-geo";
3
+ import type { FetchResult, Geography, Mesh, TransformObject } from "./types";
4
+ export declare function getCoords(w: number, h: number, t: TransformObject): [number, number];
5
+ export declare function fetchGeographies(url: string): Promise<FetchResult | undefined>;
6
+ export declare function getFeatures(geographies: FetchResult | GeoJsonObject | GeoJsonObject[], parseGeographies?: (features: Feature<Geometry>[]) => Feature<Geometry>[]): Feature<Geometry>[];
7
+ export declare function getMesh(geographies: FetchResult | GeoJsonObject | GeoJsonObject[]): {
8
+ outline: MultiLineString;
9
+ borders: MultiLineString;
10
+ } | null;
11
+ export declare function prepareMesh(outline: MultiLineString | undefined, borders: MultiLineString | undefined, path: (geometry: GeoPermissibleObjects) => string | null): {
12
+ outline?: Mesh;
13
+ borders?: Mesh;
14
+ };
15
+ export declare function prepareFeatures(geographies: Feature<Geometry>[] | undefined, path: (geometry: GeoPermissibleObjects) => string | null): Geography[];
16
+ export declare function createConnectorPath(dx?: number, dy?: number, curve?: number | [number, number]): string;
17
+ export declare function isString(geo: string | GeoJsonObject | GeoJsonObject[]): geo is string;
18
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE5E,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,eAAe,GACjB,CAAC,MAAM,EAAE,MAAM,CAAC,CAIlB;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAWlC;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EAAE,EAC1D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,GACxE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAuBrB;AAED,wBAAgB,OAAO,CACrB,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EAAE,GACzD;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,eAAe,CAAA;CACzB,GAAG,IAAI,CAiBP;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,MAAM,GAAG,IAAI,GACvD;IACD,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;CACf,CAOA;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,EAC5C,IAAI,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,MAAM,GAAG,IAAI,GACvD,SAAS,EAAE,CAUb;AAED,wBAAgB,mBAAmB,CACjC,EAAE,GAAE,MAAW,EACf,EAAE,GAAE,MAAW,EACf,KAAK,GAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAO,GACrC,MAAM,CAKR;AAED,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,EAAE,GAC5C,GAAG,IAAI,MAAM,CAEf"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),r=require("d3-geo"),t=require("topojson-client"),o=require("d3-zoom"),n=require("d3-selection");function a(e){var r=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,Object.freeze(r)}var s=a(r);const{geoPath:c,...i}=s,l=i;const u=e.createContext(void 0),p=({width:r=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:n={},children:a})=>{const[s,i]=n.center||[],[p,f,m]=n.rotate||[],[h,d]=n.parallels||[],g=n.scale||null,y=e.useMemo(()=>(({projectionConfig:e={},projection:r="geoEqualEarth",width:t=800,height:o=600})=>{if("function"==typeof r)return r;const n=l[r]().translate([t/2,o/2]);if(e.center&&n.center(e.center),e.rotate){const[r,t,o]=e.rotate;n.rotate(void 0===o?[r,t]:[r,t,o])}return e.scale&&n.scale(e.scale),e.parallels&&function(e){return"parallels"in e}(n)&&n.parallels(e.parallels),n})({projectionConfig:{center:"number"==typeof s&&"number"==typeof i?[s,i]:void 0,rotate:"number"==typeof p&&"number"==typeof f?[p,f,m]:void 0,parallels:"number"==typeof h&&"number"==typeof d?[h,d]:void 0,scale:g||void 0},projection:o,width:r,height:t}),[r,t,o,s,i,p,f,m,h,d,g]),x=e.useCallback(y,[y]),v=e.useMemo(()=>({width:r,height:t,projection:x,path:c().projection(x)}),[r,t,x]);return e.createElement(u.Provider,{value:v},a)},f=()=>{const r=e.useContext(u);if(!r)throw new Error("useMapContext must be used within MapProvider");return r},m=e.forwardRef(({width:r=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:n={},className:a="",children:s,...c},i)=>e.createElement(p,{width:r,height:t,projection:o,projectionConfig:n},e.createElement("svg",{ref:i,width:r,height:t,viewBox:`0 0 ${r} ${t}`,className:`rsm-svg ${a}`,...c,children:s})));function h(e,r){if(!Array.isArray(e)&&"type"in e&&"Topology"===e.type){const o=e.objects[Object.keys(e.objects)[0]],n=t.feature(e,o).features;return r?r(n):n}const o=!Array.isArray(e)&&"features"in e?e.features:e;return r?r(o):o}function d(e){if(Array.isArray(e)||!("type"in e)||"Topology"!==e.type)return null;const r=e.objects[Object.keys(e.objects)[0]];return{outline:t.mesh(e,r,(e,r)=>e===r),borders:t.mesh(e,r,(e,r)=>e!==r)}}function g(e,r){return e?e.map((e,t)=>({...e,rsmKey:`geo-${t}`,svgPath:r(e)})):[]}function y(e){return"string"==typeof e}function x({geography:r,parseGeographies:t}){const{path:o}=f(),[n,a]=e.useState({}),s=y(r)?r:JSON.stringify(r);e.useEffect(()=>{var e;"undefined"!=typeof window&&(r&&(y(r)?(e=r,fetch(e).then(e=>{if(!e.ok)throw Error(e.statusText);return e.json()}).catch(e=>{console.log("There was a problem when fetching the data: ",e)})).then(e=>{e&&a({geographies:h(e,t),mesh:d(e)})}):a({geographies:h(r,t),mesh:d(r)})))},[s,t]);const{geographies:c,outline:i,borders:l}=e.useMemo(()=>{const e=function(e,r,t){return e&&r?{outline:{...e,rsmKey:"outline",svgPath:t(e)},borders:{...r,rsmKey:"borders",svgPath:t(r)}}:{}}(n.mesh?.outline,n.mesh?.borders,o);return{geographies:g(n.geographies,o),outline:e.outline,borders:e.borders}},[n,o]);return{geographies:c,outline:i,borders:l}}m.displayName="ComposableMap";const v=e.forwardRef(({geography:r,children:t,parseGeographies:o,className:n="",...a},s)=>{const{path:c,projection:i}=f(),{geographies:l,outline:u,borders:p}=x({geography:r,parseGeographies:o});return e.createElement("g",{ref:s,className:`rsm-geographies ${n}`,...a},l&&l.length>0&&t({geographies:l,outline:u,borders:p,path:c,projection:i}))});v.displayName="Geographies";const E=e.forwardRef(({geography:r,className:t="",...o},n)=>e.createElement("path",{ref:n,tabIndex:0,className:`rsm-geography ${t}`,d:r.svgPath,...o}));E.displayName="Geography";var b=e.memo(E);const k=e.forwardRef(({fill:t="transparent",stroke:o="currentcolor",step:n=[10,10],className:a="",...s},c)=>{const{path:i}=f();return e.createElement("path",{ref:c,d:i(r.geoGraticule().step(n)()),fill:t,stroke:o,className:`rsm-graticule ${a}`,...s})});k.displayName="Graticule";var w=e.memo(k);const j=e.forwardRef(({id:r="rsm-sphere",fill:t="transparent",stroke:o="currentcolor",strokeWidth:n=.5,className:a="",...s},c)=>{const{path:i}=f(),l=e.useMemo(()=>i({type:"Sphere"}),[i]);return e.createElement(e.Fragment,null,e.createElement("defs",null,e.createElement("clipPath",{id:r},e.createElement("path",{d:l}))),e.createElement("path",{ref:c,d:l,fill:t,stroke:o,strokeWidth:n,style:{pointerEvents:"none"},className:`rsm-sphere ${a}`,...s}))});j.displayName="Sphere";var N=e.memo(j);const M=e.forwardRef(({coordinates:r,children:t,className:o="",...n},a)=>{const{projection:s}=f(),c=s(r);if(!c)return null;const[i,l]=c;return e.createElement("g",{ref:a,transform:`translate(${i}, ${l})`,className:`rsm-marker ${o}`,...n},t)});M.displayName="Marker";const $=e.forwardRef(({from:r=[0,0],to:t=[0,0],coordinates:o,stroke:n="currentcolor",strokeWidth:a=3,fill:s="transparent",className:c="",...i},l)=>{const{path:u}=f(),p={type:"LineString",coordinates:o||[r,t]};return e.createElement("path",{ref:l,d:u(p),className:`rsm-line ${c}`,stroke:n,strokeWidth:a,fill:s,...i})});$.displayName="Line";const P=e.forwardRef(({subject:r,children:t,connectorProps:o,dx:n=30,dy:a=30,curve:s=0,className:c="",...i},l)=>{const{projection:u}=f(),p=u(r),m=function(e=30,r=30,t=.5){const o=Array.isArray(t)?t:[t,t];return`M0,0 Q${-e/2-e/2*o[0]},${-r/2+r/2*o[1]} ${-e},${-r}`}(n,a,s);if(!p)return null;const[h,d]=p;return e.createElement("g",{ref:l,transform:`translate(${h+n}, ${d+a})`,className:`rsm-annotation ${c}`,...i},e.createElement("path",{d:m,fill:"transparent",stroke:"#000",...o}),t)});P.displayName="Annotation";const R=e.createContext(void 0),C={x:0,y:0,k:1,transformString:"translate(0 0) scale(1)"},S=({value:r=C,children:t})=>e.createElement(R.Provider,{value:r},t);function G(e,r,t){const o=(e*t.k-e)/2,n=(r*t.k-r)/2;return[e/2-(o+t.x)/t.k,r/2-(n+t.y)/t.k]}function Z({center:r=[0,0],filterZoomEvent:t,onMoveStart:a,onMoveEnd:s,onMove:c,translateExtent:i=[[-1/0,-1/0],[1/0,1/0]],scaleExtent:l=[1,8],zoom:u=1}){const{width:p,height:m,projection:h}=f(),[d,g]=r,[y,x]=e.useState({x:0,y:0,k:1}),v=e.useRef({x:0,y:0,k:1}),E=e.useRef(null),b=e.useRef(null),k=e.useRef(!1),[w,j]=i,[N,M]=w,[$,P]=j,[R,C]=l,S=e.useRef(a),Z=e.useRef(c),z=e.useRef(s),A=e.useRef(t);return e.useEffect(()=>{S.current=a,Z.current=c,z.current=s,A.current=t}),e.useEffect(()=>{const e=E.current;if(!e)return;const r=n.select(e),t=o.zoom().extent([[0,0],[p,m]]).filter(e=>{if(A.current)return A.current(e);const r=e;return!!e&&(!r.ctrlKey&&!r.button)}).scaleExtent([R,C]).translateExtent([[N,M],[$,P]]).on("start",e=>{if(!S.current||k.current)return;const r=h.invert?.(G(p,m,e.transform));S.current({coordinates:r??void 0,zoom:e.transform.k},e)}).on("zoom",e=>{if(k.current)return;const{transform:r,sourceEvent:t}=e;x({x:r.x,y:r.y,k:r.k,dragging:t}),Z.current&&Z.current({x:r.x,y:r.y,zoom:r.k,dragging:t},e)}).on("end",e=>{if(k.current)return void(k.current=!1);const r=h.invert?.(G(p,m,e.transform));if(r){const[t,o]=r;v.current={x:t,y:o,k:e.transform.k}}z.current&&z.current({coordinates:r??void 0,zoom:e.transform.k},e)});b.current=t,r.call(t)},[p,m,N,M,$,P,R,C,h]),e.useEffect(()=>{if(d===v.current.x&&g===v.current.y&&u===v.current.k)return;const e=h([d,g]);if(!e)return;const r=e[0]*u,t=e[1]*u;if(!E.current||!b.current)return;const a=n.select(E.current);k.current=!0,a.call(b.current.transform,o.zoomIdentity.translate(p/2-r,m/2-t).scale(u)),x({x:p/2-r,y:m/2-t,k:u}),v.current={x:d,y:g,k:u}},[d,g,u,p,m,h]),{mapRef:E,position:y,transformString:`translate(${y.x} ${y.y}) scale(${y.k})`}}const z=e.forwardRef(({center:r=[0,0],zoom:t=1,minZoom:o=1,maxZoom:n=8,translateExtent:a,filterZoomEvent:s,onMoveStart:c,onMove:i,onMoveEnd:l,className:u="",children:p,...m},h)=>{const{width:d,height:g}=f(),{mapRef:y,transformString:x,position:v}=Z({center:r,filterZoomEvent:s,onMoveStart:c,onMove:i,onMoveEnd:l,scaleExtent:[o,n],translateExtent:a,zoom:t});return e.createElement(S,{value:{x:v.x,y:v.y,k:v.k,transformString:x}},e.createElement("g",{ref:y},e.createElement("rect",{width:d,height:g,fill:"transparent"}),e.createElement("g",{ref:h,transform:x,className:`rsm-zoomable-group ${u}`,...m},p)))});z.displayName="ZoomableGroup",exports.Annotation=P,exports.ComposableMap=m,exports.Geographies=v,exports.Geography=b,exports.Graticule=w,exports.Line=$,exports.MapContext=u,exports.MapProvider=p,exports.Marker=M,exports.Sphere=N,exports.ZoomPanContext=R,exports.ZoomPanProvider=S,exports.ZoomableGroup=z,exports.useGeographies=x,exports.useMapContext=f,exports.useZoomPan=Z,exports.useZoomPanContext=()=>{const r=e.useContext(R);if(!r)throw new Error("useZoomPanContext must be used within ZoomPanProvider");return r};
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/core/components/MapProvider.ts","../src/core/components/ComposableMap.ts","../src/core/utils.ts","../src/core/hooks/useGeographies.ts","../src/core/components/Geographies.ts","../src/core/components/Geography.ts","../src/core/components/Graticule.ts","../src/core/components/Sphere.ts","../src/core/components/Marker.ts","../src/core/components/Line.ts","../src/core/components/Annotation.ts","../src/zoom/components/ZoomPanProvider.ts","../src/zoom/hooks/useZoomPan.ts","../src/zoom/components/ZoomableGroup.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["geoPath","projections","d3Geo","projectionFactories","MapContext","createContext","undefined","MapProvider","width","height","projection","projectionConfig","children","cx","cy","center","rx","ry","rz","rotate","p1","p2","parallels","s","scale","projMemo","useMemo","proj","translate","lambda","phi","gamma","isConicProjection","makeProjection","useCallback","value","path","React","createElement","Provider","useMapContext","context","useContext","Error","ComposableMap","forwardRef","className","restProps","ref","viewBox","getFeatures","geographies","parseGeographies","Array","isArray","type","firstObject","objects","Object","keys","feats","feature","features","getMesh","outline","mesh","a","b","borders","prepareFeatures","map","d","i","rsmKey","svgPath","isString","geo","useGeographies","geography","output","setOutput","useState","geographyKey","JSON","stringify","useEffect","url","window","fetch","then","res","ok","statusText","json","catch","error","console","log","geos","preparedMesh","prepareMesh","displayName","Geographies","length","Geography","tabIndex","Geography_default","memo","Graticule","fill","stroke","step","geoGraticule","Graticule_default","Sphere","id","strokeWidth","spherePath","Fragment","style","pointerEvents","Sphere_default","Marker","coordinates","projected","x","y","transform","Line","from","to","lineData","Annotation","subject","connectorProps","dx","dy","curve","connectorPath","curvature","createConnectorPath","ZoomPanContext","defaultValue","k","transformString","ZoomPanProvider","getCoords","w","h","t","xOffset","yOffset","useZoomPan","filterZoomEvent","onMoveStart","onMoveEnd","onMove","translateExtent","Infinity","scaleExtent","zoom","lon","lat","position","setPosition","lastPosition","useRef","mapRef","zoomRef","bypassEvents","a1","a2","b1","b2","minZoom","maxZoom","onMoveStartRef","onMoveRef","onMoveEndRef","filterZoomEventRef","current","mapNode","svg","d3Select","zoomBehavior","d3Zoom","extent","filter","d3Event","mouseEvent","ctrlKey","button","on","invert","sourceEvent","dragging","call","coords","d3ZoomIdentity","ZoomableGroup"],"mappings":"gZAWA,MAAMA,QAAEA,KAAYC,GAAgBC,EAC9BC,EAAsBF,QAWfG,EAAaC,EAAAA,mBAA0CC,GA+C9DC,EAAc,EAClBC,QAAQ,IACRC,SAAS,IACTC,aAAa,gBACbC,mBAAmB,CAAA,EACnBC,eAEA,MAAOC,EAAIC,GAAMH,EAAiBI,QAAU,IACrCC,EAAIC,EAAIC,GAAMP,EAAiBQ,QAAU,IACzCC,EAAIC,GAAMV,EAAiBW,WAAa,GACzCC,EAAIZ,EAAiBa,OAAS,KAE9BC,EAAWC,EAAAA,QAAQ,IAlDJ,GACrBf,mBAAmB,CAAA,EACnBD,aAAa,gBACbF,QAAQ,IACRC,SAAS,QAIT,GAFqC,mBAAfC,EAEV,OAAOA,EAEnB,MAAMiB,EAAOxB,EAAoBO,KAAckB,UAAU,CACvDpB,EAAQ,EACRC,EAAS,IAIX,GADIE,EAAiBI,QAAQY,EAAKZ,OAAOJ,EAAiBI,QACtDJ,EAAiBQ,OAAQ,CAC3B,MAAOU,EAAQC,EAAKC,GAASpB,EAAiBQ,OAC9CQ,EAAKR,YACOb,IAAVyB,EAAsB,CAACF,EAAQC,GAAO,CAACD,EAAQC,EAAKC,GAExD,CAMA,OALIpB,EAAiBa,OAAOG,EAAKH,MAAMb,EAAiBa,OACpDb,EAAiBW,WAtCvB,SACEK,GAEA,MAAO,cAAeA,CACxB,CAkCoCK,CAAkBL,IAClDA,EAAKL,UAAUX,EAAiBW,WAG3BK,GAwBEM,CAAe,CACpBtB,iBAAkB,CAChBI,OACgB,iBAAPF,GAAiC,iBAAPC,EAC7B,CAACD,EAAIC,QACLR,EACNa,OACgB,iBAAPH,GAAiC,iBAAPC,EAC7B,CAACD,EAAIC,EAAIC,QACTZ,EACNgB,UACgB,iBAAPF,GAAiC,iBAAPC,EAC7B,CAACD,EAAIC,QACLf,EACNkB,MAAOD,QAAKjB,GAEdI,aACAF,QACAC,WAED,CAACD,EAAOC,EAAQC,EAAYG,EAAIC,EAAIE,EAAIC,EAAIC,EAAIE,EAAIC,EAAIE,IAErDI,EAAOO,EAAAA,YAAYT,EAAU,CAACA,IAE9BU,EAAwBT,EAAAA,QAAQ,KAC7B,CACLlB,QACAC,SACAC,WAAYiB,EACZS,KAAMpC,IAAUU,WAAWiB,KAE5B,CAACnB,EAAOC,EAAQkB,IAEnB,OAAOU,EAAMC,cAAclC,EAAWmC,SAAU,CAAEJ,SAASvB,IAGvD4B,EAAgB,KACpB,MAAMC,EAAUC,EAAAA,WAAWtC,GAC3B,IAAKqC,EACH,MAAM,IAAIE,MAAM,iDAElB,OAAOF,GCxHHG,EAAgBC,EAAAA,WACpB,EAEIrC,QAAQ,IACRC,SAAS,IACTC,aAAa,gBACbC,mBAAmB,CAAA,EACnBmC,YAAY,GACZlC,cACGmC,GAELC,IAEOX,EAAMC,cACX/B,EACA,CACEC,QACAC,SACAC,aACAC,oBAEF0B,EAAMC,cAAc,MAAO,CACzBU,MACAxC,QACAC,SACAwC,QAAS,OAAOzC,KAASC,IACzBqC,UAAW,WAAWA,OACnBC,EACHnC,eCDF,SAAUsC,EACdC,EACAC,GAEA,IACGC,MAAMC,QAAQH,IACf,SAAUA,GACW,aAArBA,EAAYI,KACZ,CACA,MAAMC,EAAcL,EAAYM,QAC9BC,OAAOC,KAAKR,EAAYM,SAAS,IAG7BG,EAAQC,EAAAA,QAAQV,EAAaK,GAAaM,SAIhD,OAAOV,EAAmBA,EAAiBQ,GAASA,CACtD,CAEA,MAAME,GACHT,MAAMC,QAAQH,IAAgB,aAAcA,EACxCA,EAAYW,SACZX,EAEP,OAAOC,EAAmBA,EAAiBU,GAAYA,CACzD,CAEM,SAAUC,EACdZ,GAKA,GACEE,MAAMC,QAAQH,MACZ,SAAUA,IACS,aAArBA,EAAYI,KAEZ,OAAO,KAGT,MAAMC,EAAcL,EAAYM,QAC9BC,OAAOC,KAAKR,EAAYM,SAAS,IAMnC,MAAO,CAAEO,QAHOC,EAAAA,KAAKd,EAAaK,EAAa,CAACU,EAAGC,IAAMD,IAAMC,GAG7CC,QAFFH,EAAAA,KAAKd,EAAaK,EAAa,CAACU,EAAGC,IAAMD,IAAMC,GAGjE,CAkBM,SAAUE,EACdlB,EACAf,GAEA,OAAOe,EACHA,EAAYmB,IAAI,CAACC,EAAGC,KACX,IACFD,EACHE,OAAQ,OAAOD,IACfE,QAAStC,EAAKmC,MAGlB,EACN,CAaM,SAAUI,EACdC,GAEA,MAAsB,iBAARA,CAChB,CC/Gc,SAAUC,GAAeC,UACrCA,EAAS1B,iBACTA,IAEA,MAAMhB,KAAEA,GAASI,KACVuC,EAAQC,GAAaC,EAAAA,SAA4B,CAAA,GAElDC,EAAeP,EAASG,GAC1BA,EACAK,KAAKC,UAAUN,GAEnBO,EAAAA,UAAU,KDbN,IACJC,ECawB,oBAAXC,SAENT,IAEDH,EAASG,IDjBfQ,ECkBqBR,EDhBdU,MAAMF,GACVG,KAAMC,IACL,IAAKA,EAAIC,GACP,MAAMhD,MAAM+C,EAAIE,YAElB,OAAOF,EAAIG,SAEZC,MAAOC,IACNC,QAAQC,IAAI,+CAAgDF,MCQhCN,KAAMS,IAC5BA,GACFlB,EAAU,CACR7B,YAAaD,EAAYgD,EAAM9C,GAC/Ba,KAAMF,EAAQmC,OAKpBlB,EAAU,CACR7B,YAAaD,EAAY4B,EAAW1B,GACpCa,KAAMF,EAAQe,QAQjB,CAACI,EAAc9B,IAElB,MAAMD,YAAEA,EAAWa,QAAEA,EAAOI,QAAEA,GAAY1C,EAAAA,QAAQ,KAChD,MAAMyE,WD2BRnC,EACAI,EACAhC,GAKA,OAAO4B,GAAWI,EACd,CACEJ,QAAS,IAAKA,EAASS,OAAQ,UAAWC,QAAStC,EAAK4B,IACxDI,QAAS,IAAKA,EAASK,OAAQ,UAAWC,QAAStC,EAAKgC,KAE1D,CAAA,CACN,CCxCyBgC,CACnBrB,EAAOd,MAAMD,QACbe,EAAOd,MAAMG,QACbhC,GAEF,MAAO,CACLe,YAAakB,EAAgBU,EAAO5B,YAAaf,GACjD4B,QAASmC,EAAanC,QACtBI,QAAS+B,EAAa/B,UAEvB,CAACW,EAAQ3C,IAEZ,MAAO,CAAEe,cAAaa,UAASI,UACjC,CFhCAxB,EAAcyD,YAAc,gBGjC5B,MAAMC,EAAczD,EAAAA,WAClB,EACIiC,YAAWlE,WAAUwC,mBAAkBN,YAAY,MAAOC,GAC5DC,KAEA,MAAMZ,KAAEA,EAAI1B,WAAEA,GAAe8B,KACvBW,YAAEA,EAAWa,QAAEA,EAAOI,QAAEA,GAAYS,EAAe,CACvDC,YACA1B,qBAGF,OAAOf,EAAMC,cACX,IACA,CACEU,MACAF,UAAW,mBAAmBA,OAC3BC,GAELI,GACEA,EAAYoD,OAAS,GACrB3F,EAAS,CAAEuC,cAAaa,UAASI,UAAShC,OAAM1B,kBAKxD4F,EAAYD,YAAc,cC3B1B,MAAMG,EAAY3D,EAAAA,WAChB,EAAGiC,YAAWhC,YAAY,MAAOC,GAAaC,IACrCX,EAAMC,cAAc,OAAQ,CACjCU,MACAyD,SAAU,EACV3D,UAAW,iBAAiBA,IAC5ByB,EAAGO,EAAUJ,WACV3B,KAKTyD,EAAUH,YAAc,YAExB,IAAAK,EAAeC,EAAAA,KAAKH,GCZpB,MAAMI,EAAY/D,EAAAA,WAChB,EAEIgE,OAAO,cACPC,SAAS,eACTC,OAAO,CAAC,GAAI,IACZjE,YAAY,MACTC,GAELC,KAEA,MAAMZ,KAAEA,GAASI,IACjB,OAAOH,EAAMC,cAAc,OAAQ,CACjCU,MACAuB,EAAGnC,EAAK4E,EAAAA,eAAeD,KAAKA,EAApBC,IACRH,OACAC,SACAhE,UAAW,iBAAiBA,OACzBC,MAKT6D,EAAUP,YAAc,YAExB,IAAAY,EAAeN,EAAAA,KAAKC,GC1BpB,MAAMM,EAASrE,EAAAA,WACb,EAEIsE,KAAK,aACLN,OAAO,cACPC,SAAS,eACTM,cAAc,GACdtE,YAAY,MACTC,GAELC,KAEA,MAAMZ,KAAEA,GAASI,IACX6E,EAAa3F,UAAQ,IAAMU,EAAK,CAAEmB,KAAM,WAAa,CAACnB,IAE5D,OAAOC,EAAMC,cACXgF,EAAAA,SACA,KACAjF,EAAMC,cACJ,OACA,KACAD,EAAMC,cACJ,WACA,CAAE6E,MACF9E,EAAMC,cAAc,OAAQ,CAAEiC,EAAG8C,MAGrChF,EAAMC,cAAc,OAAQ,CAC1BU,MACAuB,EAAG8C,EACHR,OACAC,SACAM,cACAG,MAAO,CAAEC,cAAe,QACxB1E,UAAW,cAAcA,OACtBC,OAMXmE,EAAOb,YAAc,SAErB,IAAAoB,EAAed,EAAAA,KAAKO,GC3CpB,MAAMQ,EAAS7E,EAAAA,WACb,EAAG8E,cAAa/G,WAAUkC,YAAY,MAAOC,GAAaC,KACxD,MAAMtC,WAAEA,GAAe8B,IACjBoF,EAAYlH,EAAWiH,GAE7B,IAAKC,EAAW,OAAO,KAEvB,MAAOC,EAAGC,GAAKF,EAEf,OAAOvF,EAAMC,cACX,IACA,CACEU,MACA+E,UAAW,aAAaF,MAAMC,KAC9BhF,UAAW,cAAcA,OACtBC,GAELnC,KAKN8G,EAAOrB,YAAc,SCtBrB,MAAM2B,EAAOnF,EAAAA,WACX,EAEIoF,OAAO,CAAC,EAAG,GACXC,KAAK,CAAC,EAAG,GACTP,cACAb,SAAS,eACTM,cAAc,EACdP,OAAO,cACP/D,YAAY,MACTC,GAELC,KAEA,MAAMZ,KAAEA,GAASI,IAEX2F,EAAW,CACf5E,KAAM,aACNoE,YAAaA,GAAe,CAACM,EAAMC,IAGrC,OAAO7F,EAAMC,cAAc,OAAQ,CACjCU,MACAuB,EAAGnC,EAAK+F,GACRrF,UAAW,YAAYA,IACvBgE,SACAM,cACAP,UACG9D,MAKTiF,EAAK3B,YAAc,OChCnB,MAAM+B,EAAavF,EAAAA,WACjB,EAEIwF,UACAzH,WACA0H,iBACAC,KAAK,GACLC,KAAK,GACLC,QAAQ,EACR3F,YAAY,MACTC,GAELC,KAEA,MAAMtC,WAAEA,GAAe8B,IACjBoF,EAAYlH,EAAW2H,GACvBK,ER6FJ,SACJH,EAAa,GACbC,EAAa,GACbC,EAAmC,IAEnC,MAAME,EAAYtF,MAAMC,QAAQmF,GAASA,EAAQ,CAACA,EAAOA,GAGzD,MAAO,UAAgBF,EAAK,EAFZA,EAAK,EAAKI,EAAU,OAEOH,EAAK,EADhCA,EAAK,EAAKG,EAAU,OAC2BJ,MAAOC,GACxE,CQtG0BI,CAAoBL,EAAIC,EAAIC,GAElD,IAAKb,EAAW,OAAO,KAEvB,MAAOC,EAAGC,GAAKF,EAEf,OAAOvF,EAAMC,cACX,IACA,CACEU,MACA+E,UAAW,aAAaF,EAAIU,MAAOT,EAAIU,KACvC1F,UAAW,kBAAkBA,OAC1BC,GAELV,EAAMC,cAAc,OAAQ,CAC1BiC,EAAGmE,EACH7B,KAAM,cACNC,OAAQ,UACLwB,IAEL1H,KAKNwH,EAAW/B,YAAc,mBC3CZwC,EAAiBxI,EAAAA,mBAC5BC,GAGIwI,EAAmC,CACvCjB,EAAG,EACHC,EAAG,EACHiB,EAAG,EACHC,gBAAiB,2BAGbC,EAAkB,EACtB9G,QAAQ2G,EACRlI,cAEOyB,EAAMC,cAAcuG,EAAetG,SAAU,CAAEJ,SAASvB,GCPjE,SAASsI,EACPC,EACAC,EACAC,GAEA,MAAMC,GAAWH,EAAIE,EAAEN,EAAII,GAAK,EAC1BI,GAAWH,EAAIC,EAAEN,EAAIK,GAAK,EAChC,MAAO,CAACD,EAAI,GAAKG,EAAUD,EAAExB,GAAKwB,EAAEN,EAAGK,EAAI,GAAKG,EAAUF,EAAEvB,GAAKuB,EAAEN,EACrE,CAEc,SAAUS,GAAWzI,OACjCA,EAAS,CAAC,EAAG,GAAE0I,gBACfA,EAAeC,YACfA,EAAWC,UACXA,EAASC,OACTA,EAAMC,gBACNA,EAAkB,CAChB,EAAEC,KAAWA,KACb,CAACA,IAAUA,MACZC,YACDA,EAAc,CAAC,EAAG,GAAEC,KACpBA,EAAO,IAEP,MAAMxJ,MAAEA,EAAKC,OAAEA,EAAMC,WAAEA,GAAe8B,KAE/ByH,EAAKC,GAAOnJ,GACZoJ,EAAUC,GAAenF,WAA0B,CACxD4C,EAAG,EACHC,EAAG,EACHiB,EAAG,IAECsB,EAAeC,SAAO,CAAEzC,EAAG,EAAGC,EAAG,EAAGiB,EAAG,IACvCwB,EAASD,EAAAA,OAAoB,MAC7BE,EAAUF,EAAAA,OAAkD,MAC5DG,EAAeH,EAAAA,QAAO,IAErBpG,EAAGC,GAAK0F,GACRa,EAAIC,GAAMzG,GACV0G,EAAIC,GAAM1G,GACV2G,EAASC,GAAWhB,EAUrBiB,EAAiBV,EAAAA,OAAOZ,GACxBuB,EAAYX,EAAAA,OAAOV,GACnBsB,EAAeZ,EAAAA,OAAOX,GACtBwB,EAAqBb,EAAAA,OAAOb,GA2HlC,OAzHApE,EAAAA,UAAU,KACR2F,EAAeI,QAAU1B,EACzBuB,EAAUG,QAAUxB,EACpBsB,EAAaE,QAAUzB,EACvBwB,EAAmBC,QAAU3B,IAG/BpE,EAAAA,UAAU,KACR,MAAMgG,EAAUd,EAAOa,QACvB,IAAKC,EAAS,OAEd,MAAMC,EAAMC,EAAAA,OAASF,GAgEfG,EAAeC,EAAAA,OAClBC,OAAO,CACN,CAAC,EAAG,GACJ,CAAClL,EAAOC,KAETkL,OAbiBC,IAClB,GAAIT,EAAmBC,QACrB,OAAOD,EAAmBC,QAAQQ,GAEpC,MAAMC,EAAaD,EACnB,QAAOA,KAAWC,EAAWC,UAAYD,EAAWE,UASnDhC,YAAY,CAACe,EAASC,IACtBlB,gBAAgB,CACf,CAACa,EAAIC,GACL,CAACC,EAAIC,KAENmB,GAAG,QAzEmBJ,IACvB,IAAKZ,EAAeI,SAAWX,EAAaW,QAAS,OACrD,MAAMzD,EAAcjH,EAAWuL,SAC7B/C,EAAU1I,EAAOC,EAAQmL,EAAQ7D,YAEnCiD,EAAeI,QACb,CACEzD,YAAaA,QAAerH,EAC5B0J,KAAM4B,EAAQ7D,UAAUgB,GAE1B6C,KAgEDI,GAAG,OA5DcJ,IAClB,GAAInB,EAAaW,QAAS,OAC1B,MAAMrD,UAAEA,EAASmE,YAAEA,GAAgBN,EACnCxB,EAAY,CACVvC,EAAGE,EAAUF,EACbC,EAAGC,EAAUD,EACbiB,EAAGhB,EAAUgB,EACboD,SAAUD,IAEPjB,EAAUG,SACfH,EAAUG,QACR,CACEvD,EAAGE,EAAUF,EACbC,EAAGC,EAAUD,EACbkC,KAAMjC,EAAUgB,EAChBoD,SAAUD,GAEZN,KA4CDI,GAAG,MAxCiBJ,IACrB,GAAInB,EAAaW,QAEf,YADAX,EAAaW,SAAU,GAGzB,MAAMzD,EAAcjH,EAAWuL,SAC7B/C,EAAU1I,EAAOC,EAAQmL,EAAQ7D,YAEnC,GAAIJ,EAAa,CACf,MAAOE,EAAGC,GAAKH,EACf0C,EAAae,QAAU,CAAEvD,IAAGC,IAAGiB,EAAG6C,EAAQ7D,UAAUgB,EACtD,CACKmC,EAAaE,SAClBF,EAAaE,QACX,CAAEzD,YAAaA,QAAerH,EAAW0J,KAAM4B,EAAQ7D,UAAUgB,GACjE6C,KA2BJpB,EAAQY,QAAUI,EAClBF,EAAIc,KAAKZ,IACR,CAAChL,EAAOC,EAAQiK,EAAIC,EAAIC,EAAIC,EAAIC,EAASC,EAASrK,IAErD2E,EAAAA,UAAU,KACR,GACE4E,IAAQI,EAAae,QAAQvD,GAC7BqC,IAAQG,EAAae,QAAQtD,GAC7BkC,IAASK,EAAae,QAAQrC,EAE9B,OAEF,MAAMsD,EAAS3L,EAAW,CAACuJ,EAAKC,IAChC,IAAKmC,EAAQ,OACb,MAAMxE,EAAIwE,EAAO,GAAKrC,EAChBlC,EAAIuE,EAAO,GAAKrC,EAEtB,IAAKO,EAAOa,UAAYZ,EAAQY,QAAS,OACzC,MAAME,EAAMC,EAAAA,OAAShB,EAAOa,SAE5BX,EAAaW,SAAU,EAEvBE,EAAIc,KACF5B,EAAQY,QAAQrD,UAChBuE,EAAAA,aAAe1K,UAAUpB,EAAQ,EAAIqH,EAAGpH,EAAS,EAAIqH,GAAGtG,MAAMwI,IAEhEI,EAAY,CAAEvC,EAAGrH,EAAQ,EAAIqH,EAAGC,EAAGrH,EAAS,EAAIqH,EAAGiB,EAAGiB,IAEtDK,EAAae,QAAU,CAAEvD,EAAGoC,EAAKnC,EAAGoC,EAAKnB,EAAGiB,IAC3C,CAACC,EAAKC,EAAKF,EAAMxJ,EAAOC,EAAQC,IAE5B,CACL6J,SACAJ,WACAnB,gBAAiB,aAAamB,EAAStC,KAAKsC,EAASrC,YAAYqC,EAASpB,KAE9E,CCzLA,MAAMwD,EAAgB1J,EAAAA,WACpB,EAEI9B,SAAS,CAAC,EAAG,GACbiJ,OAAO,EACPc,UAAU,EACVC,UAAU,EACVlB,kBACAJ,kBACAC,cACAE,SACAD,YACA7G,YAAY,GACZlC,cACGmC,GAELC,KAEA,MAAMxC,MAAEA,EAAKC,OAAEA,GAAW+B,KAEpB+H,OAAEA,EAAMvB,gBAAEA,EAAemB,SAAEA,GAAaX,EAAW,CACvDzI,SACA0I,kBACAC,cACAE,SACAD,YACAI,YAAa,CAACe,EAASC,GACvBlB,kBACAG,SAGF,OAAO3H,EAAMC,cACX2G,EACA,CACE9G,MAAO,CAAE0F,EAAGsC,EAAStC,EAAGC,EAAGqC,EAASrC,EAAGiB,EAAGoB,EAASpB,EAAGC,oBAExD3G,EAAMC,cACJ,IACA,CAAEU,IAAKuH,GACPlI,EAAMC,cAAc,OAAQ,CAAE9B,QAAOC,SAAQoG,KAAM,gBACnDxE,EAAMC,cACJ,IACA,CACEU,MACA+E,UAAWiB,EACXlG,UAAW,sBAAsBA,OAC9BC,GAELnC,OAOV2L,EAAclG,YAAc,kYFxCF,KACxB,MAAM5D,EAAUC,EAAAA,WAAWmG,GAC3B,IAAKpG,EACH,MAAM,IAAIE,MAAM,yDAElB,OAAOF"}
@@ -0,0 +1,3 @@
1
+ export * from "./core/index";
2
+ export * from "./zoom/index";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}