react-simple-maps 4.0.0-beta.6 → 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 -0
  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 +59 -29
  63. package/dist/index.js +0 -965
@@ -0,0 +1,2 @@
1
+ import e,{createContext as r,useMemo as t,useCallback as o,useContext as a,forwardRef as s,useState as n,useEffect as i,memo as c,Fragment as l}from"react";import*as p from"d3-geo";import{geoGraticule as h}from"d3-geo";import{mesh as m,feature as u}from"topojson-client";const{geoPath:g,...d}=p,f=d;const y=r(void 0),b=({width:r=800,height:a=600,projection:s="geoEqualEarth",projectionConfig:n={},children:i})=>{const[c,l]=n.center||[],[p,h,m]=n.rotate||[],[u,d]=n.parallels||[],b=n.scale||null,j=t(()=>(({projectionConfig:e={},projection:r="geoEqualEarth",width:t=800,height:o=600})=>{if("function"==typeof r)return r;const a=f[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 c&&"number"==typeof l?[c,l]:void 0,rotate:"number"==typeof p&&"number"==typeof h?[p,h,m]:void 0,parallels:"number"==typeof u&&"number"==typeof d?[u,d]:void 0,scale:b||void 0},projection:s,width:r,height:a}),[r,a,s,c,l,p,h,m,u,d,b]),N=o(j,[j]),E=t(()=>({width:r,height:a,projection:N,path:g().projection(N)}),[r,a,N]);return e.createElement(y.Provider,{value:E},i)},j=()=>{const e=a(y);if(!e)throw new Error("useMapContext must be used within MapProvider");return e},N=s(({width:r=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:a={},className:s="",children:n,...i},c)=>e.createElement(b,{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 ${s}`,...i,children:n})));function E(e,r){if(!Array.isArray(e)&&"type"in e&&"Topology"===e.type){const t=e.objects[Object.keys(e.objects)[0]],o=u(e,t).features;return r?r(o):o}const t=!Array.isArray(e)&&"features"in e?e.features:e;return r?r(t):t}function v(e){if(Array.isArray(e)||!("type"in e)||"Topology"!==e.type)return null;const r=e.objects[Object.keys(e.objects)[0]];return{outline:m(e,r,(e,r)=>e===r),borders:m(e,r,(e,r)=>e!==r)}}function $(e,r){return e?e.map((e,t)=>({...e,rsmKey:`geo-${t}`,svgPath:r(e)})):[]}function k(e){return"string"==typeof e}function w({geography:e,parseGeographies:r}){const{path:o}=j(),[a,s]=n({}),c=k(e)?e:JSON.stringify(e);i(()=>{var t;"undefined"!=typeof window&&(e&&(k(e)?(t=e,fetch(t).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&&s({geographies:E(e,r),mesh:v(e)})}):s({geographies:E(e,r),mesh:v(e)})))},[c,r]);const{geographies:l,outline:p,borders:h}=t(()=>{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:$(a.geographies,o),outline:e.outline,borders:e.borders}},[a,o]);return{geographies:l,outline:p,borders:h}}N.displayName="ComposableMap";const A=s(({geography:r,children:t,parseGeographies:o,className:a="",...s},n)=>{const{path:i,projection:c}=j(),{geographies:l,outline:p,borders:h}=w({geography:r,parseGeographies:o});return e.createElement("g",{ref:n,className:`rsm-geographies ${a}`,...s},l&&l.length>0&&t({geographies:l,outline:p,borders:h,path:i,projection:c}))});A.displayName="Geographies";const P=s(({geography:r,className:t="",...o},a)=>e.createElement("path",{ref:a,tabIndex:0,className:`rsm-geography ${t}`,d:r.svgPath,...o}));P.displayName="Geography";var C=c(P);const G=s(({fill:r="transparent",stroke:t="currentcolor",step:o=[10,10],className:a="",...s},n)=>{const{path:i}=j();return e.createElement("path",{ref:n,d:i(h().step(o)()),fill:r,stroke:t,className:`rsm-graticule ${a}`,...s})});G.displayName="Graticule";var x=c(G);const M=s(({id:r="rsm-sphere",fill:o="transparent",stroke:a="currentcolor",strokeWidth:s=.5,className:n="",...i},c)=>{const{path:p}=j(),h=t(()=>p({type:"Sphere"}),[p]);return e.createElement(l,null,e.createElement("defs",null,e.createElement("clipPath",{id:r},e.createElement("path",{d:h}))),e.createElement("path",{ref:c,d:h,fill:o,stroke:a,strokeWidth:s,style:{pointerEvents:"none"},className:`rsm-sphere ${n}`,...i}))});M.displayName="Sphere";var S=c(M);const T=s(({coordinates:r,children:t,className:o="",...a},s)=>{const{projection:n}=j(),i=n(r);if(!i)return null;const[c,l]=i;return e.createElement("g",{ref:s,transform:`translate(${c}, ${l})`,className:`rsm-marker ${o}`,...a},t)});T.displayName="Marker";const W=s(({from:r=[0,0],to:t=[0,0],coordinates:o,stroke:a="currentcolor",strokeWidth:s=3,fill:n="transparent",className:i="",...c},l)=>{const{path:p}=j(),h={type:"LineString",coordinates:o||[r,t]};return e.createElement("path",{ref:l,d:p(h),className:`rsm-line ${i}`,stroke:a,strokeWidth:s,fill:n,...c})});W.displayName="Line";const q=s(({subject:r,children:t,connectorProps:o,dx:a=30,dy:s=30,curve:n=0,className:i="",...c},l)=>{const{projection:p}=j(),h=p(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}`}(a,s,n);if(!h)return null;const[u,g]=h;return e.createElement("g",{ref:l,transform:`translate(${u+a}, ${g+s})`,className:`rsm-annotation ${i}`,...c},e.createElement("path",{d:m,fill:"transparent",stroke:"#000",...o}),t)});q.displayName="Annotation";export{q as A,N as C,A as G,W as L,y as M,S,C as a,x as b,b as c,T as d,j as e,w as u};
2
+ //# sourceMappingURL=CFjZOVgq.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CFjZOVgq.es.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,2 @@
1
+ import r,{createContext as t,useContext as e,useState as n,useRef as o,useEffect as c,forwardRef as a}from"react";import{e as s}from"./CFjZOVgq.es.js";import"topojson-client";import{zoom as i,zoomIdentity as u}from"d3-zoom";import{select as m}from"d3-selection";const l=t(void 0),f={x:0,y:0,k:1,transformString:"translate(0 0) scale(1)"},x=({value:t=f,children:e})=>r.createElement(l.Provider,{value:t},e),v=()=>{const r=e(l);if(!r)throw new Error("useZoomPanContext must be used within ZoomPanProvider");return r};function d(r,t,e){const n=(r*e.k-r)/2,o=(t*e.k-t)/2;return[r/2-(n+e.x)/e.k,t/2-(o+e.y)/e.k]}function k({center:r=[0,0],filterZoomEvent:t,onMoveStart:e,onMoveEnd:a,onMove:l,translateExtent:f=[[-1/0,-1/0],[1/0,1/0]],scaleExtent:x=[1,8],zoom:v=1}){const{width:k,height:E,projection:y}=s(),[g,p]=r,[h,z]=n({x:0,y:0,k:1}),M=o({x:0,y:0,k:1}),Z=o(null),S=o(null),w=o(!1),[b,P]=f,[$,j]=b,[N,R]=P,[C,G]=x,K=o(e),q=o(l),A=o(a),B=o(t);return c(()=>{K.current=e,q.current=l,A.current=a,B.current=t}),c(()=>{const r=Z.current;if(!r)return;const t=m(r),e=i().extent([[0,0],[k,E]]).filter(r=>{if(B.current)return B.current(r);const t=r;return!!r&&(!t.ctrlKey&&!t.button)}).scaleExtent([C,G]).translateExtent([[$,j],[N,R]]).on("start",r=>{if(!K.current||w.current)return;const t=y.invert?.(d(k,E,r.transform));K.current({coordinates:t??void 0,zoom:r.transform.k},r)}).on("zoom",r=>{if(w.current)return;const{transform:t,sourceEvent:e}=r;z({x:t.x,y:t.y,k:t.k,dragging:e}),q.current&&q.current({x:t.x,y:t.y,zoom:t.k,dragging:e},r)}).on("end",r=>{if(w.current)return void(w.current=!1);const t=y.invert?.(d(k,E,r.transform));if(t){const[e,n]=t;M.current={x:e,y:n,k:r.transform.k}}A.current&&A.current({coordinates:t??void 0,zoom:r.transform.k},r)});S.current=e,t.call(e)},[k,E,$,j,N,R,C,G,y]),c(()=>{if(g===M.current.x&&p===M.current.y&&v===M.current.k)return;const r=y([g,p]);if(!r)return;const t=r[0]*v,e=r[1]*v;if(!Z.current||!S.current)return;const n=m(Z.current);w.current=!0,n.call(S.current.transform,u.translate(k/2-t,E/2-e).scale(v)),z({x:k/2-t,y:E/2-e,k:v}),M.current={x:g,y:p,k:v}},[g,p,v,k,E,y]),{mapRef:Z,position:h,transformString:`translate(${h.x} ${h.y}) scale(${h.k})`}}const E=a(({center:t=[0,0],zoom:e=1,minZoom:n=1,maxZoom:o=8,translateExtent:c,filterZoomEvent:a,onMoveStart:i,onMove:u,onMoveEnd:m,className:l="",children:f,...v},d)=>{const{width:E,height:y}=s(),{mapRef:g,transformString:p,position:h}=k({center:t,filterZoomEvent:a,onMoveStart:i,onMove:u,onMoveEnd:m,scaleExtent:[n,o],translateExtent:c,zoom:e});return r.createElement(x,{value:{x:h.x,y:h.y,k:h.k,transformString:p}},r.createElement("g",{ref:g},r.createElement("rect",{width:E,height:y,fill:"transparent"}),r.createElement("g",{ref:d,transform:p,className:`rsm-zoomable-group ${l}`,...v},f)))});E.displayName="ZoomableGroup";export{l as Z,x as a,E as b,v as c,k as u};
2
+ //# sourceMappingURL=rJJi6xbJ.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rJJi6xbJ.es.js","sources":["../../src/zoom/components/ZoomPanProvider.ts","../../src/zoom/hooks/useZoomPan.ts","../../src/zoom/components/ZoomableGroup.ts"],"sourcesContent":[null,null,null],"names":["ZoomPanContext","createContext","undefined","defaultValue","x","y","k","transformString","ZoomPanProvider","value","children","React","createElement","Provider","useZoomPanContext","context","useContext","Error","getCoords","w","h","t","xOffset","yOffset","useZoomPan","center","filterZoomEvent","onMoveStart","onMoveEnd","onMove","translateExtent","Infinity","scaleExtent","zoom","width","height","projection","useMapContext","lon","lat","position","setPosition","useState","lastPosition","useRef","mapRef","zoomRef","bypassEvents","a","b","a1","a2","b1","b2","minZoom","maxZoom","onMoveStartRef","onMoveRef","onMoveEndRef","filterZoomEventRef","useEffect","current","mapNode","svg","d3Select","zoomBehavior","d3Zoom","extent","filter","d3Event","mouseEvent","ctrlKey","button","on","coordinates","invert","transform","sourceEvent","dragging","call","coords","d3ZoomIdentity","translate","scale","ZoomableGroup","forwardRef","className","restProps","ref","fill","displayName"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import type { ZoomPanContextType, ZoomPanProviderProps } from "../types";
3
+ export declare const ZoomPanContext: React.Context<ZoomPanContextType | undefined>;
4
+ declare const ZoomPanProvider: ({ value, children, }: ZoomPanProviderProps) => React.FunctionComponentElement<React.ProviderProps<ZoomPanContextType | undefined>>;
5
+ declare const useZoomPanContext: () => ZoomPanContextType;
6
+ export { ZoomPanProvider, useZoomPanContext };
7
+ //# sourceMappingURL=ZoomPanProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomPanProvider.d.ts","sourceRoot":"","sources":["../../../src/zoom/components/ZoomPanProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAExE,eAAO,MAAM,cAAc,+CAE1B,CAAA;AASD,QAAA,MAAM,eAAe,GAAI,sBAGtB,oBAAoB,wFAEtB,CAAA;AAED,QAAA,MAAM,iBAAiB,QAAO,kBAM7B,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { ZoomableGroupProps } from "../types";
3
+ declare const ZoomableGroup: React.ForwardRefExoticComponent<Omit<ZoomableGroupProps, "ref"> & React.RefAttributes<SVGGElement>>;
4
+ export default ZoomableGroup;
5
+ //# sourceMappingURL=ZoomableGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomableGroup.d.ts","sourceRoot":"","sources":["../../../src/zoom/components/ZoomableGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD,QAAA,MAAM,aAAa,qGAqDlB,CAAA;AAID,eAAe,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { UseZoomPanProps, UseZoomPanReturn } from "../types";
2
+ export default function useZoomPan({ center, filterZoomEvent, onMoveStart, onMoveEnd, onMove, translateExtent, scaleExtent, zoom, }: UseZoomPanProps): UseZoomPanReturn;
3
+ //# sourceMappingURL=useZoomPan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useZoomPan.d.ts","sourceRoot":"","sources":["../../../src/zoom/hooks/useZoomPan.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAGjB,MAAM,UAAU,CAAA;AAYjB,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAe,EACf,eAAe,EACf,WAAW,EACX,SAAS,EACT,MAAM,EACN,eAGC,EACD,WAAoB,EACpB,IAAQ,GACT,EAAE,eAAe,GAAG,gBAAgB,CA8JpC"}
@@ -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),f=({width:r=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:n={},children:a})=>{const[s,i]=n.center||[],[f,m,p]=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 f&&"number"==typeof m?[f,m,p]: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,f,m,p,h,d,g]),E=e.useCallback(y,[y]),v=e.useMemo(()=>({width:r,height:t,projection:E,path:c().projection(E)}),[r,t,E]);return e.createElement(u.Provider,{value:v},a)},m=()=>{const r=e.useContext(u);if(!r)throw new Error("useMapContext must be used within MapProvider");return r};function p(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 h(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 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:r,parseGeographies:t}){const{path:o}=m(),[n,a]=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&&a({geographies:p(e,t),mesh:h(e)})}):a({geographies:p(r,t),mesh:h(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:d(n.geographies,o),outline:e.outline,borders:e.borders}},[n,o]);return{geographies:c,outline:i,borders:l}}e.forwardRef(({width:r=800,height:t=600,projection:o="geoEqualEarth",projectionConfig:n={},className:a="",children:s,...c},i)=>e.createElement(f,{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}))).displayName="ComposableMap";e.forwardRef(({geography:r,children:t,parseGeographies:o,className:n="",...a},s)=>{const{path:c,projection:i}=m(),{geographies:l,outline:u,borders:f}=y({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:f,path:c,projection:i}))}).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",e.memo(E);const v=e.forwardRef(({fill:t="transparent",stroke:o="currentcolor",step:n=[10,10],className:a="",...s},c)=>{const{path:i}=m();return e.createElement("path",{ref:c,d:i(r.geoGraticule().step(n)()),fill:t,stroke:o,className:`rsm-graticule ${a}`,...s})});v.displayName="Graticule",e.memo(v);const x=e.forwardRef(({id:r="rsm-sphere",fill:t="transparent",stroke:o="currentcolor",strokeWidth:n=.5,className:a="",...s},c)=>{const{path:i}=m(),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}))});x.displayName="Sphere",e.memo(x);e.forwardRef(({coordinates:r,children:t,className:o="",...n},a)=>{const{projection:s}=m(),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)}).displayName="Marker";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}=m(),f={type:"LineString",coordinates:o||[r,t]};return e.createElement("path",{ref:l,d:u(f),className:`rsm-line ${c}`,stroke:n,strokeWidth:a,fill:s,...i})}).displayName="Line";e.forwardRef(({subject:r,children:t,connectorProps:o,dx:n=30,dy:a=30,curve:s=0,className:c="",...i},l)=>{const{projection:u}=m(),f=u(r),p=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(!f)return null;const[h,d]=f;return e.createElement("g",{ref:l,transform:`translate(${h+n}, ${d+a})`,className:`rsm-annotation ${c}`,...i},e.createElement("path",{d:p,fill:"transparent",stroke:"#000",...o}),t)}).displayName="Annotation";const b=e.createContext(void 0),k={x:0,y:0,k:1,transformString:"translate(0 0) scale(1)"},w=({value:r=k,children:t})=>e.createElement(b.Provider,{value:r},t);function j(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 N({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:f,height:p,projection:h}=m(),[d,g]=r,[y,E]=e.useState({x:0,y:0,k:1}),v=e.useRef({x:0,y:0,k:1}),x=e.useRef(null),b=e.useRef(null),k=e.useRef(!1),[w,N]=i,[$,P]=w,[R,M]=N,[C,S]=l,Z=e.useRef(a),z=e.useRef(c),A=e.useRef(s),G=e.useRef(t);return e.useEffect(()=>{Z.current=a,z.current=c,A.current=s,G.current=t}),e.useEffect(()=>{const e=x.current;if(!e)return;const r=n.select(e),t=o.zoom().extent([[0,0],[f,p]]).filter(e=>{if(G.current)return G.current(e);const r=e;return!!e&&(!r.ctrlKey&&!r.button)}).scaleExtent([C,S]).translateExtent([[$,P],[R,M]]).on("start",e=>{if(!Z.current||k.current)return;const r=h.invert?.(j(f,p,e.transform));Z.current({coordinates:r??void 0,zoom:e.transform.k},e)}).on("zoom",e=>{if(k.current)return;const{transform:r,sourceEvent:t}=e;E({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?.(j(f,p,e.transform));if(r){const[t,o]=r;v.current={x:t,y:o,k:e.transform.k}}A.current&&A.current({coordinates:r??void 0,zoom:e.transform.k},e)});b.current=t,r.call(t)},[f,p,$,P,R,M,C,S,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(!x.current||!b.current)return;const a=n.select(x.current);k.current=!0,a.call(b.current.transform,o.zoomIdentity.translate(f/2-r,p/2-t).scale(u)),E({x:f/2-r,y:p/2-t,k:u}),v.current={x:d,y:g,k:u}},[d,g,u,f,p,h]),{mapRef:x,position:y,transformString:`translate(${y.x} ${y.y}) scale(${y.k})`}}const $=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:f,...p},h)=>{const{width:d,height:g}=m(),{mapRef:y,transformString:E,position:v}=N({center:r,filterZoomEvent:s,onMoveStart:c,onMove:i,onMoveEnd:l,scaleExtent:[o,n],translateExtent:a,zoom:t});return e.createElement(w,{value:{x:v.x,y:v.y,k:v.k,transformString:E}},e.createElement("g",{ref:y},e.createElement("rect",{width:d,height:g,fill:"transparent"}),e.createElement("g",{ref:h,transform:E,className:`rsm-zoomable-group ${u}`,...p},f)))});$.displayName="ZoomableGroup",exports.ZoomPanContext=b,exports.ZoomPanProvider=w,exports.ZoomableGroup=$,exports.useZoomPan=N,exports.useZoomPanContext=()=>{const r=e.useContext(b);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/utils.ts","../../src/core/hooks/useGeographies.ts","../../src/core/components/ComposableMap.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","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","forwardRef","className","restProps","ref","viewBox","displayName","length","Geography","tabIndex","memo","Graticule","fill","stroke","step","geoGraticule","Sphere","id","strokeWidth","spherePath","Fragment","style","pointerEvents","coordinates","projected","x","y","transform","from","to","lineData","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":"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"}
@@ -0,0 +1,5 @@
1
+ export { default as ZoomableGroup } from "./components/ZoomableGroup";
2
+ export { default as useZoomPan } from "./hooks/useZoomPan";
3
+ export { ZoomPanProvider, ZoomPanContext, useZoomPanContext, } from "./components/ZoomPanProvider";
4
+ export type * from "./types";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zoom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,GAClB,MAAM,8BAA8B,CAAA;AAErC,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ export{Z as ZoomPanContext,a as ZoomPanProvider,b as ZoomableGroup,u as useZoomPan,c as useZoomPanContext}from"../shared/rJJi6xbJ.es.js";import"react";import"../shared/CFjZOVgq.es.js";import"d3-geo";import"topojson-client";import"d3-zoom";import"d3-selection";
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,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("d3-geo"),require("topojson-client"),require("d3-zoom"),require("d3-selection")):"function"==typeof define&&define.amd?define(["exports","react","d3-geo","topojson-client","d3-zoom","d3-selection"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactSimpleMapsZoom=e.ReactSimpleMapsZoom||{},e.React,e.d3,e.topojson,e.d3,e.d3)}(this,function(e,t,r,o,n,a){"use strict";function s(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var c=s(r);const{geoPath:i,...l}=c,u=l;const f=t.createContext(void 0),m=({width:e=800,height:r=600,projection:o="geoEqualEarth",projectionConfig:n={},children:a})=>{const[s,c]=n.center||[],[l,m,p]=n.rotate||[],[d,h]=n.parallels||[],g=n.scale||null,y=t.useMemo(()=>(({projectionConfig:e={},projection:t="geoEqualEarth",width:r=800,height:o=600})=>{if("function"==typeof t)return t;const n=u[t]().translate([r/2,o/2]);if(e.center&&n.center(e.center),e.rotate){const[t,r,o]=e.rotate;n.rotate(void 0===o?[t,r]:[t,r,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 c?[s,c]:void 0,rotate:"number"==typeof l&&"number"==typeof m?[l,m,p]:void 0,parallels:"number"==typeof d&&"number"==typeof h?[d,h]:void 0,scale:g||void 0},projection:o,width:e,height:r}),[e,r,o,s,c,l,m,p,d,h,g]),E=t.useCallback(y,[y]),v=t.useMemo(()=>({width:e,height:r,projection:E,path:i().projection(E)}),[e,r,E]);return t.createElement(f.Provider,{value:v},a)},p=()=>{const e=t.useContext(f);if(!e)throw new Error("useMapContext must be used within MapProvider");return e};function d(e,t){if(!Array.isArray(e)&&"type"in e&&"Topology"===e.type){const r=e.objects[Object.keys(e.objects)[0]],n=o.feature(e,r).features;return t?t(n):n}const r=!Array.isArray(e)&&"features"in e?e.features:e;return t?t(r):r}function h(e){if(Array.isArray(e)||!("type"in e)||"Topology"!==e.type)return null;const t=e.objects[Object.keys(e.objects)[0]];return{outline:o.mesh(e,t,(e,t)=>e===t),borders:o.mesh(e,t,(e,t)=>e!==t)}}function g(e,t){return e?e.map((e,r)=>({...e,rsmKey:`geo-${r}`,svgPath:t(e)})):[]}function y(e){return"string"==typeof e}function E({geography:e,parseGeographies:r}){const{path:o}=p(),[n,a]=t.useState({}),s=y(e)?e:JSON.stringify(e);t.useEffect(()=>{var t;"undefined"!=typeof window&&(e&&(y(e)?(t=e,fetch(t).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:d(e,r),mesh:h(e)})}):a({geographies:d(e,r),mesh:h(e)})))},[s,r]);const{geographies:c,outline:i,borders:l}=t.useMemo(()=>{const e=function(e,t,r){return e&&t?{outline:{...e,rsmKey:"outline",svgPath:r(e)},borders:{...t,rsmKey:"borders",svgPath:r(t)}}:{}}(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}}t.forwardRef(({width:e=800,height:r=600,projection:o="geoEqualEarth",projectionConfig:n={},className:a="",children:s,...c},i)=>t.createElement(m,{width:e,height:r,projection:o,projectionConfig:n},t.createElement("svg",{ref:i,width:e,height:r,viewBox:`0 0 ${e} ${r}`,className:`rsm-svg ${a}`,...c,children:s}))).displayName="ComposableMap";t.forwardRef(({geography:e,children:r,parseGeographies:o,className:n="",...a},s)=>{const{path:c,projection:i}=p(),{geographies:l,outline:u,borders:f}=E({geography:e,parseGeographies:o});return t.createElement("g",{ref:s,className:`rsm-geographies ${n}`,...a},l&&l.length>0&&r({geographies:l,outline:u,borders:f,path:c,projection:i}))}).displayName="Geographies";const v=t.forwardRef(({geography:e,className:r="",...o},n)=>t.createElement("path",{ref:n,tabIndex:0,className:`rsm-geography ${r}`,d:e.svgPath,...o}));v.displayName="Geography",t.memo(v);const b=t.forwardRef(({fill:e="transparent",stroke:o="currentcolor",step:n=[10,10],className:a="",...s},c)=>{const{path:i}=p();return t.createElement("path",{ref:c,d:i(r.geoGraticule().step(n)()),fill:e,stroke:o,className:`rsm-graticule ${a}`,...s})});b.displayName="Graticule",t.memo(b);const x=t.forwardRef(({id:e="rsm-sphere",fill:r="transparent",stroke:o="currentcolor",strokeWidth:n=.5,className:a="",...s},c)=>{const{path:i}=p(),l=t.useMemo(()=>i({type:"Sphere"}),[i]);return t.createElement(t.Fragment,null,t.createElement("defs",null,t.createElement("clipPath",{id:e},t.createElement("path",{d:l}))),t.createElement("path",{ref:c,d:l,fill:r,stroke:o,strokeWidth:n,style:{pointerEvents:"none"},className:`rsm-sphere ${a}`,...s}))});x.displayName="Sphere",t.memo(x);t.forwardRef(({coordinates:e,children:r,className:o="",...n},a)=>{const{projection:s}=p(),c=s(e);if(!c)return null;const[i,l]=c;return t.createElement("g",{ref:a,transform:`translate(${i}, ${l})`,className:`rsm-marker ${o}`,...n},r)}).displayName="Marker";t.forwardRef(({from:e=[0,0],to:r=[0,0],coordinates:o,stroke:n="currentcolor",strokeWidth:a=3,fill:s="transparent",className:c="",...i},l)=>{const{path:u}=p(),f={type:"LineString",coordinates:o||[e,r]};return t.createElement("path",{ref:l,d:u(f),className:`rsm-line ${c}`,stroke:n,strokeWidth:a,fill:s,...i})}).displayName="Line";t.forwardRef(({subject:e,children:r,connectorProps:o,dx:n=30,dy:a=30,curve:s=0,className:c="",...i},l)=>{const{projection:u}=p(),f=u(e),m=function(e=30,t=30,r=.5){const o=Array.isArray(r)?r:[r,r];return`M0,0 Q${-e/2-e/2*o[0]},${-t/2+t/2*o[1]} ${-e},${-t}`}(n,a,s);if(!f)return null;const[d,h]=f;return t.createElement("g",{ref:l,transform:`translate(${d+n}, ${h+a})`,className:`rsm-annotation ${c}`,...i},t.createElement("path",{d:m,fill:"transparent",stroke:"#000",...o}),r)}).displayName="Annotation";const k=t.createContext(void 0),j={x:0,y:0,k:1,transformString:"translate(0 0) scale(1)"},w=({value:e=j,children:r})=>t.createElement(k.Provider,{value:e},r);function N(e,t,r){const 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 $({center:e=[0,0],filterZoomEvent:r,onMoveStart:o,onMoveEnd:s,onMove:c,translateExtent:i=[[-1/0,-1/0],[1/0,1/0]],scaleExtent:l=[1,8],zoom:u=1}){const{width:f,height:m,projection:d}=p(),[h,g]=e,[y,E]=t.useState({x:0,y:0,k:1}),v=t.useRef({x:0,y:0,k:1}),b=t.useRef(null),x=t.useRef(null),k=t.useRef(!1),[j,w]=i,[$,R]=j,[M,P]=w,[C,S]=l,Z=t.useRef(o),z=t.useRef(c),A=t.useRef(s),G=t.useRef(r);return t.useEffect(()=>{Z.current=o,z.current=c,A.current=s,G.current=r}),t.useEffect(()=>{const e=b.current;if(!e)return;const t=a.select(e),r=n.zoom().extent([[0,0],[f,m]]).filter(e=>{if(G.current)return G.current(e);const t=e;return!!e&&(!t.ctrlKey&&!t.button)}).scaleExtent([C,S]).translateExtent([[$,R],[M,P]]).on("start",e=>{if(!Z.current||k.current)return;const t=d.invert?.(N(f,m,e.transform));Z.current({coordinates:t??void 0,zoom:e.transform.k},e)}).on("zoom",e=>{if(k.current)return;const{transform:t,sourceEvent:r}=e;E({x:t.x,y:t.y,k:t.k,dragging:r}),z.current&&z.current({x:t.x,y:t.y,zoom:t.k,dragging:r},e)}).on("end",e=>{if(k.current)return void(k.current=!1);const t=d.invert?.(N(f,m,e.transform));if(t){const[r,o]=t;v.current={x:r,y:o,k:e.transform.k}}A.current&&A.current({coordinates:t??void 0,zoom:e.transform.k},e)});x.current=r,t.call(r)},[f,m,$,R,M,P,C,S,d]),t.useEffect(()=>{if(h===v.current.x&&g===v.current.y&&u===v.current.k)return;const e=d([h,g]);if(!e)return;const t=e[0]*u,r=e[1]*u;if(!b.current||!x.current)return;const o=a.select(b.current);k.current=!0,o.call(x.current.transform,n.zoomIdentity.translate(f/2-t,m/2-r).scale(u)),E({x:f/2-t,y:m/2-r,k:u}),v.current={x:h,y:g,k:u}},[h,g,u,f,m,d]),{mapRef:b,position:y,transformString:`translate(${y.x} ${y.y}) scale(${y.k})`}}const R=t.forwardRef(({center:e=[0,0],zoom:r=1,minZoom:o=1,maxZoom:n=8,translateExtent:a,filterZoomEvent:s,onMoveStart:c,onMove:i,onMoveEnd:l,className:u="",children:f,...m},d)=>{const{width:h,height:g}=p(),{mapRef:y,transformString:E,position:v}=$({center:e,filterZoomEvent:s,onMoveStart:c,onMove:i,onMoveEnd:l,scaleExtent:[o,n],translateExtent:a,zoom:r});return t.createElement(w,{value:{x:v.x,y:v.y,k:v.k,transformString:E}},t.createElement("g",{ref:y},t.createElement("rect",{width:h,height:g,fill:"transparent"}),t.createElement("g",{ref:d,transform:E,className:`rsm-zoomable-group ${u}`,...m},f)))});R.displayName="ZoomableGroup",e.ZoomPanContext=k,e.ZoomPanProvider=w,e.ZoomableGroup=R,e.useZoomPan=$,e.useZoomPanContext=()=>{const e=t.useContext(k);if(!e)throw new Error("useZoomPanContext must be used within ZoomPanProvider");return e}});
2
+ //# sourceMappingURL=index.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../../src/core/components/MapProvider.ts","../../src/core/utils.ts","../../src/core/hooks/useGeographies.ts","../../src/core/components/ComposableMap.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","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","forwardRef","className","restProps","ref","viewBox","displayName","length","Geography","tabIndex","memo","Graticule","fill","stroke","step","geoGraticule","Sphere","id","strokeWidth","spherePath","Fragment","style","pointerEvents","coordinates","projected","x","y","transform","from","to","lineData","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":"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"}
@@ -0,0 +1,61 @@
1
+ import { ReactNode, SVGProps } from "react";
2
+ import type { D3ZoomEvent } from "d3-zoom";
3
+ export type ZoomGestureEvent = D3ZoomEvent<SVGGElement, unknown>;
4
+ export interface ZoomPanContextType {
5
+ x: number;
6
+ y: number;
7
+ k: number;
8
+ transformString: string;
9
+ }
10
+ export interface ZoomPanValue {
11
+ x: number;
12
+ y: number;
13
+ k: number;
14
+ transformString: string;
15
+ }
16
+ export type ZoomPanPosition = {
17
+ x: number;
18
+ y: number;
19
+ k: number;
20
+ dragging?: Event | null;
21
+ };
22
+ export interface ZoomPanCallbackProps {
23
+ coordinates?: [number, number];
24
+ zoom?: number;
25
+ x?: number;
26
+ y?: number;
27
+ dragging?: Event | null;
28
+ }
29
+ export interface UseZoomPanProps {
30
+ center?: [number, number];
31
+ zoom?: number;
32
+ translateExtent?: Array<[number, number]>;
33
+ scaleExtent?: [number, number];
34
+ filterZoomEvent?: (event: Event) => boolean;
35
+ onMoveStart?: (props: ZoomPanCallbackProps, event: ZoomGestureEvent) => void;
36
+ onMove?: (props: ZoomPanCallbackProps, event: ZoomGestureEvent) => void;
37
+ onMoveEnd?: (props: ZoomPanCallbackProps, event: ZoomGestureEvent) => void;
38
+ }
39
+ export interface UseZoomPanReturn {
40
+ mapRef: React.MutableRefObject<SVGGElement | null>;
41
+ position: ZoomPanPosition;
42
+ transformString: string;
43
+ }
44
+ export interface ZoomableGroupProps extends SVGProps<SVGGElement> {
45
+ center?: [number, number];
46
+ zoom?: number;
47
+ minZoom?: number;
48
+ maxZoom?: number;
49
+ translateExtent?: Array<[number, number]>;
50
+ filterZoomEvent?: (event: Event) => boolean;
51
+ onMoveStart?: (props: ZoomPanCallbackProps, event: ZoomGestureEvent) => void;
52
+ onMove?: (props: ZoomPanCallbackProps, event: ZoomGestureEvent) => void;
53
+ onMoveEnd?: (props: ZoomPanCallbackProps, event: ZoomGestureEvent) => void;
54
+ className?: string;
55
+ children?: ReactNode;
56
+ }
57
+ export interface ZoomPanProviderProps {
58
+ value?: ZoomPanValue;
59
+ children?: ReactNode;
60
+ }
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/zoom/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,18 +1,37 @@
1
1
  {
2
2
  "name": "react-simple-maps",
3
- "version": "4.0.0-beta.6",
4
- "description": "An svg map chart component built with and for React",
5
- "main": "dist/index.js",
6
- "module": "dist/index.js",
7
- "type": "module",
3
+ "version": "5.0.0",
4
+ "description": "React components to build maps with d3-geo, with optional zoom/pan support",
5
+ "main": "dist/index.cjs.js",
6
+ "module": "dist/index.es.js",
7
+ "browser": "dist/index.umd.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.es.js",
13
+ "require": "./dist/index.cjs.js"
14
+ },
15
+ "./core": {
16
+ "types": "./dist/core/index.d.ts",
17
+ "import": "./dist/core/index.es.js",
18
+ "require": "./dist/core/index.cjs.js"
19
+ },
20
+ "./zoom": {
21
+ "types": "./dist/zoom/index.d.ts",
22
+ "import": "./dist/zoom/index.es.js",
23
+ "require": "./dist/zoom/index.cjs.js"
24
+ }
25
+ },
8
26
  "files": [
9
27
  "dist"
10
28
  ],
11
29
  "scripts": {
12
- "build": "rollup -c",
30
+ "build": "rollup -c && npm run build:types",
31
+ "build:types": "tsc -p tsconfig.build.json",
13
32
  "watch": "rollup -cw",
14
- "prepare": "rollup -c",
15
- "test": "mocha './tests/**/*.spec.js' --compilers js:@babel/register"
33
+ "test": "vitest",
34
+ "prepublishOnly": "npm run build"
16
35
  },
17
36
  "repository": {
18
37
  "type": "git",
@@ -32,33 +51,44 @@
32
51
  "url": "https://github.com/zcreativelabs/react-simple-maps/issues"
33
52
  },
34
53
  "homepage": "https://github.com/zcreativelabs/react-simple-maps#readme",
35
- "devDependencies": {
36
- "@babel/core": "^7.18.6",
37
- "@babel/plugin-external-helpers": "^7.18.6",
38
- "@babel/plugin-proposal-object-rest-spread": "^7.18.6",
39
- "@babel/plugin-transform-react-jsx": "^7.18.6",
40
- "@babel/preset-env": "^7.18.6",
41
- "@babel/register": "^7.18.6",
42
- "@rollup/plugin-babel": "^6.0.3",
43
- "@rollup/plugin-commonjs": "^25.0.2",
44
- "@rollup/plugin-node-resolve": "^15.1.0",
45
- "@rollup/plugin-terser": "^0.4.3",
46
- "expect": "^23.5.0",
47
- "mocha": "^5.2.0",
48
- "prop-types": "^15.7.2",
49
- "react": "^17.0.1",
50
- "react-dom": "^17.0.1",
51
- "rollup": "^3.26.0"
52
- },
53
54
  "peerDependencies": {
54
- "prop-types": "^15.7.2",
55
- "react": "^16.8.0 || 17.x || 18.x",
56
- "react-dom": "^16.8.0 || 17.x || 18.x"
55
+ "react": "^16.8.0 || 17.x || 18.x || 19.x",
56
+ "react-dom": "^16.8.0 || 17.x || 18.x || 19.x"
57
57
  },
58
58
  "dependencies": {
59
+ "d3-color": "^3.1.0",
59
60
  "d3-geo": "^3.1.0",
61
+ "d3-interpolate": "^3.0.1",
60
62
  "d3-selection": "^3.0.0",
61
63
  "d3-zoom": "^3.0.0",
62
64
  "topojson-client": "^3.1.0"
65
+ },
66
+ "devDependencies": {
67
+ "@rollup/plugin-commonjs": "^25.0.0",
68
+ "@rollup/plugin-node-resolve": "^15.0.0",
69
+ "@rollup/plugin-terser": "^0.4.0",
70
+ "@rollup/plugin-typescript": "^12.0.0",
71
+ "@testing-library/dom": "^10.4.1",
72
+ "@testing-library/react": "^16.3.2",
73
+ "@types/d3-color": "^3.1.3",
74
+ "@types/d3-geo": "^3.1.1",
75
+ "@types/d3-interpolate": "^3.0.4",
76
+ "@types/d3-selection": "^3.0.11",
77
+ "@types/d3-zoom": "^3.0.8",
78
+ "@types/geojson": "^7946.0.13",
79
+ "@types/node": "^20.0.0",
80
+ "@types/react": "^19.0.0",
81
+ "@types/react-dom": "^19.0.0",
82
+ "@types/topojson-client": "^3.1.5",
83
+ "@types/topojson-specification": "^1.0.5",
84
+ "@vitejs/plugin-react": "^4.0.0",
85
+ "@vitest/coverage-v8": "^2.1.9",
86
+ "jsdom": "^29.1.1",
87
+ "react": "^19.0.0",
88
+ "react-dom": "^19.0.0",
89
+ "rollup": "^4.0.0",
90
+ "tslib": "^2.0.0",
91
+ "typescript": "^5.0.0",
92
+ "vitest": "^2.0.0"
63
93
  }
64
94
  }