calvin-svg
Advanced tools
Comparing version 2.2.4 to 2.2.6
@@ -757,2 +757,83 @@ 'use strict'; | ||
var Polygon = function Polygon(_ref) { | ||
var _ref$color = _ref.color, | ||
color = _ref$color === void 0 ? randomColor() : _ref$color, | ||
forwardedRef = _ref.forwardedRef, | ||
_ref$onClick = _ref.onClick, | ||
onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick, | ||
_ref$onFocus = _ref.onFocus, | ||
onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus, | ||
_ref$onMouseOver = _ref.onMouseOver, | ||
onMouseOver = _ref$onMouseOver === void 0 ? function () {} : _ref$onMouseOver, | ||
_ref$points = _ref.points, | ||
points = _ref$points === void 0 ? [] : _ref$points, | ||
x = _ref.x, | ||
y = _ref.y, | ||
props = _objectWithoutProperties(_ref, ["color", "forwardedRef", "onClick", "onFocus", "onMouseOver", "points", "x", "y"]); | ||
var centroid = Polygon.centroid({ | ||
points: points | ||
}); | ||
var d = Polygon.d({ | ||
points: points | ||
}); | ||
var data = { | ||
centroid: centroid, | ||
points: points, | ||
x: x, | ||
y: y | ||
}; | ||
var inject = React.useCallback(function (onCb) { | ||
return function (event) { | ||
// eslint-disable-next-line no-param-reassign | ||
event.shape = data; | ||
onCb(event); | ||
}; | ||
}, [JSON.stringify(data)]); | ||
return React__default.createElement(Layer$1, { | ||
label: "polygon", | ||
x: x, | ||
y: y | ||
}, React__default.createElement("path", _extends({ | ||
fill: color | ||
}, props, { | ||
d: d, | ||
onClick: inject(onClick), | ||
onFocus: inject(onFocus), | ||
onMouseOver: inject(onMouseOver), | ||
ref: forwardedRef | ||
}))); | ||
}; | ||
Polygon.propTypes = { | ||
color: PropTypes.string, | ||
forwardedRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ | ||
current: PropTypes.instanceOf(Element) | ||
})]), | ||
onClick: PropTypes.func, | ||
onFocus: PropTypes.func, | ||
onMouseOver: PropTypes.func, | ||
points: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired, | ||
x: PropTypes.number, | ||
y: PropTypes.number | ||
}; | ||
Polygon.centroid = function (_ref2) { | ||
var _ref2$points = _ref2.points, | ||
points = _ref2$points === void 0 ? [] : _ref2$points; | ||
return d3.polygonCentroid(points); | ||
}; | ||
Polygon.d = function (_ref3) { | ||
var _ref3$points = _ref3.points, | ||
points = _ref3$points === void 0 ? [] : _ref3$points; | ||
return d3.polygonArea(points); | ||
}; | ||
var Polygon$1 = React.memo(React.forwardRef(function (props, ref) { | ||
return React__default.createElement(Polygon, _extends({}, props, { | ||
forwardedRef: ref | ||
})); | ||
})); | ||
var Rect = function Rect(_ref) { | ||
@@ -1028,2 +1109,3 @@ var _ref$color = _ref.color, | ||
Line: LineForwarded, | ||
Polygon: Polygon$1, | ||
Rect: Rect$1, | ||
@@ -1041,2 +1123,3 @@ Stop: Stop, | ||
exports.Line = LineForwarded; | ||
exports.Polygon = Polygon$1; | ||
exports.Rect = Rect$1; | ||
@@ -1043,0 +1126,0 @@ exports.SVG = SVG$1; |
@@ -1,1 +0,1 @@ | ||
'use strict';Object.defineProperty(exports,"__esModule",{value:!0});function _interopDefault(a){return a&&"object"==typeof a&&"default"in a?a["default"]:a}var React=require("react"),React__default=_interopDefault(React),PropTypes=_interopDefault(require("prop-types")),d3=require("d3"),randomColor=_interopDefault(require("randomcolor")),_=_interopDefault(require("underscore"));function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread2(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(b,!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],!(0<=b.indexOf(c))&&Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_nonIterableRest()}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _iterableToArrayLimit(a,b){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var SVG=function(a){var b=a.children,c=a.forwardedRef,d=a.height,e=a.width,f=_objectWithoutProperties(a,["children","forwardedRef","height","width"]);return React__default.createElement("svg",_extends({preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 ".concat(e," ").concat(d)},f,{ref:c}),b)};SVG.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,width:PropTypes.number.isRequired};var SVG$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(SVG,_extends({},a,{forwardedRef:b}))})),Layer=function(a){var b=a.children,c=a.forwardedRef,d=a.label,e=a.transform,f=void 0===e?"":e,g=a.x,h=void 0===g?0:g,i=a.y,j=void 0===i?0:i,k=_objectWithoutProperties(a,["children","forwardedRef","label","transform","x","y"]);return React__default.createElement("g",_extends({"aria-label":d,transform:"translate(".concat(h,", ").concat(j,") ").concat(f)},k,{ref:c}),b)};Layer.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),label:PropTypes.string,transform:PropTypes.string,x:PropTypes.number,y:PropTypes.number};var Layer$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Layer,_extends({},a,{forwardedRef:b}))})),ACCESSORS=["context","cornerRadius","endAngle","innerRadius","outerRadius","padAngle","padRadius","startAngle"],D=["height","thickness","width"],Arc=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D,ACCESSORS)),q=_.omit.apply(_,[o].concat(D,ACCESSORS)),r=a.centroid(p),s=a.d(p),d=_objectSpread2({},a.attrs(p),{centroid:r,x:m,y:n}),t=React.useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React__default.createElement(Layer$1,{label:"arc",x:m,y:n},React__default.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Arc.propTypes={color:PropTypes.string,cornerRadius:PropTypes.number,endAngle:PropTypes.number.isRequired,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,startAngle:PropTypes.number.isRequired,thickness:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Arc.attrs=function(a){var b=Math.PI,c=a.endAngle,d=void 0===c?0:c,e=a.thickness,f=a.height,g=void 0===f?0:f,h=a.startAngle,i=void 0===h?0:h,j=a.width,k=void 0===j?0:j,l=_objectWithoutProperties(a,["endAngle","thickness","height","startAngle","width"]),m=Math.min(g/2,k/2);return _objectSpread2({},l,{endAngle:2*(d/360)*b,innerRadius:e?m-e:0,outerRadius:m,startAngle:2*(i/360)*b})},Arc.centroid=function(a){var b=d3.arc();return b.centroid(Arc.attrs(a))},Arc.d=function(a){var b=a.cornerRadius,c=_objectWithoutProperties(a,["cornerRadius"]),d=d3.arc();return b&&(d=d.cornerRadius(b)),d(Arc.attrs(c))};var ArcForwarded=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Arc,_extends({},a,{forwardedRef:b}))}));ArcForwarded.d=Arc.d;var Curves={basis:d3.curveBasis,"basis-closed":d3.curveBasisClosed,"basis-open":d3.curveBasisOpen,bundle:d3.curveBundle,cardinal:d3.curveCardinal,"cardinal-closed":d3.curveCardinalClosed,"cardinal-open":d3.curveCardinalOpen,"catmull-rom":d3.curveCatmullRom,"catmull-rom-closed":d3.curveCatmullRomClosed,"catmull-rom-open":d3.curveCatmullRomOpen,linear:d3.curveLinear,linearClosed:d3.curveLinearClosed,"monotone-x":d3.curveMonotoneX,"monotone-y":d3.curveMonotoneY,natural:d3.curveNatural,step:d3.curveStep,"step-after":d3.curveStepAfter,"step-before":d3.curveStepBefore},ACCESSORS$1=["context","curve","defined","lineX0","lineX1","lineY0","lineY1","x0","x1","y0","y1"],D$1=["points"],Area=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D$1,ACCESSORS$1)),q=_.omit.apply(_,[o].concat(D$1,ACCESSORS$1)),r=a.centroid(p),s=a.d(p),d={centroid:r,x:m,y:n},t=React.useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React__default.createElement(Layer$1,{label:"area",x:m,y:n},React__default.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Area.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,x:PropTypes.number,y:PropTypes.number},Area.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=c[0]||[0,0,0],e=c[c.length-1]||[0,0,0],f=d.length;return[(d[0]+e[0])/2,2<f?(d[2]+e[2])/2:(d[1]+e[1])/2]},Area.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=a.y0,f=_objectWithoutProperties(a,["curve","points","y0"]),g=Curves[b]||b,h=(d[0]||[]).length,i=e||(2<h?function(a){return a[2]}:void 0),j=Object.entries(_objectSpread2({},f,{curve:g,y0:i})).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},d3.area());return j(d)};var AreaForwarded=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Area,_extends({},a,{forwardedRef:b}))}));AreaForwarded.d=Area.d;var Circle=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.radius,l=a.x,m=a.y,n=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","radius","x","y"]),o={centroid:[(l+k)/2,(m+k)/2],radius:k,x:l,y:m},p=React.useCallback(function(a){return function(b){b.shape=o,a(b)}},[JSON.stringify(o)]);return React__default.createElement("circle",_extends({cx:l,cy:m,fill:c,r:k},n,{onClick:p(f),onFocus:p(h),onMouseOver:p(j),ref:d}))};Circle.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Circle$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Circle,_extends({},a,{forwardedRef:b}))})),Stop=function(a){var b=a.color,c=a.offset,d=a.opacity,e=void 0===d?1:d,f=_objectWithoutProperties(a,["color","offset","opacity"]);return React__default.createElement("stop",_extends({offset:"".concat(c,"%"),stopColor:b,stopOpacity:e},f))};Stop.propTypes={color:PropTypes.string.isRequired,offset:PropTypes.number.isRequired,opacity:PropTypes.number};var Gradient=function(a){var b=Math.abs,c=a.angle,d=void 0===c?0:c,e=a.children,f=a.forwardedRef,g=a.id,h=a.radial,i=_objectWithoutProperties(a,["angle","children","forwardedRef","id","radial"]),j=h?"radialGradient":"linearGradient",k=d%360,l=k/180*Math.PI,m=0<=Math.cos(l)?1:-1,n=0<=Math.sin(l)?1:-1,o=b(Math.tan(l)),p=b(1/o),q=1==Math.floor((k+135)/90)%2,r=q?o:p,s=[0,0],t=[q?m:r*m,q?r*n:n];if(0>t[0]){var u=[b(t[0]),s[0]];s[0]=u[0],t[0]=u[1]}if(0>t[1]){var v=[b(t[1]),s[1]];s[1]=v[0],t[1]=v[1]}return React__default.createElement("defs",null,React__default.createElement(j,_extends({id:g},!h&&{x1:s[0],x2:t[0],y1:s[1],y2:t[1]},i,{ref:f}),e))};Gradient.propTypes={angle:PropTypes.number,children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),id:PropTypes.string.isRequired,radial:PropTypes.bool};var Gradient$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Gradient,_extends({},a,{forwardedRef:b}))})),ACCESSORS$2=["context","curve","defined"],D$2=["points"],Line=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.thickness,n=b.x,o=b.y,p=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","thickness","x","y"]),q=React.useRef(null),r=_.pick.apply(_,[p].concat(D$2,ACCESSORS$2)),s=_.omit.apply(_,[p].concat(D$2,ACCESSORS$2)),t=a.centroid(r),u=a.d(r),d={centroid:t,thickness:m,x:n,y:o};return React__default.createElement(Layer$1,{label:"line",x:n,y:o},React__default.createElement("path",_extends({fill:"none",stroke:e,strokeWidth:m},s,{d:u,onClick:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),h(a)},onFocus:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),j(a)},onMouseOver:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),l(a)},ref:function(a){q.current=a,f&&(f.current=a)}})))};Line.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,thickness:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Line.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=d3.extent(c,function(a){return a[0]}),e=_slicedToArray(d,2),f=e[0],g=e[1],h=d3.extent(c,function(a){return a[1]}),i=_slicedToArray(h,2),j=i[0],k=i[1];return[(f+g)/2,(j+k)/2]},Line.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=_objectWithoutProperties(a,["curve","points"]),f=Curves[b]||b,g=Object.entries(_objectSpread2({},e,{curve:f})).filter(function(a){var b=_slicedToArray(a,2),c=b[1];return!!c}).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},d3.line());return g(d)};var LineForwarded=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Line,_extends({},a,{forwardedRef:b}))}));LineForwarded.d=Line.d;var Rect=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.height,f=a.onClick,g=void 0===f?function(){}:f,h=a.onFocus,i=void 0===h?function(){}:h,j=a.onMouseOver,k=void 0===j?function(){}:j,l=a.radius,m=void 0===l?0:l,n=a.width,o=a.x,p=a.y,q=_objectWithoutProperties(a,["color","forwardedRef","height","onClick","onFocus","onMouseOver","radius","width","x","y"]),r={centroid:[o+n/2,p+e],height:e,width:n,x:o,y:p},s=React.useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React__default.createElement("rect",_extends({fill:c,height:e,rx:m,width:n,x:o,y:p},q,{onClick:s(g),onFocus:s(i),onMouseOver:s(k),ref:d}))};Rect.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Rect$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Rect,_extends({},a,{forwardedRef:b}))})),TEXT={center:"middle",left:"start",right:"end"},VERTICAL={baseline:"baseline",middle:"central",top:"hanging"},Text=function(a){var b=a.color,c=void 0===b?"#222":b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.textAlign,l=a.verticalAlign,m=a.x,n=void 0===m?0:m,o=a.y,p=void 0===o?0:o,q=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","textAlign","verticalAlign","x","y"]),r={x:n,y:p},s=React.useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React__default.createElement("text",_extends({alignmentBaseline:VERTICAL[l],dominantBaseline:VERTICAL[l],fill:c,textAnchor:TEXT[k]},q,{onClick:s(f),onFocus:s(h),onMouseOver:s(j),ref:d,x:"".concat(n),y:"".concat(p)}))};Text.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,textAlign:PropTypes.oneOf(["center","left","right"]),verticalAlign:PropTypes.oneOf(["baseline","middle","top"]),x:PropTypes.number,y:PropTypes.number};var Text$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Text,_extends({},a,{forwardedRef:b}))})),Easings={back:d3.easeBack,"back-in":d3.easeBackIn,"back-in-out":d3.easeBackInOut,"back-out":d3.easeBackOut,bounce:d3.easeBounce,"bounce-in":d3.easeBounceIn,"bounce-in-out":d3.easeBounceInOut,"bounce-out":d3.easeBounceOut,circle:d3.easeCircle,"circle-in":d3.easeCircleIn,"circle-in-out":d3.easeCircleInOut,"circle-out":d3.easeCircleOut,cubic:d3.easeCubic,"cubic-in":d3.easeCubicIn,"cubic-in-out":d3.easeCubicInOut,"cubic-out":d3.easeCubicOut,exp:d3.easeExp,"exp-in":d3.easeExpIn,"exp-in-out":d3.easeExpInOut,"exp-out":d3.easeExpOut,linear:d3.easeLinear,"poly-in":d3.easePolyIn,"poly-in-out":d3.easePolyInOut,"poly-out":d3.easePolyOut,quad:d3.easeQuad,"quad-in":d3.easeQuadIn,"quad-in-out":d3.easeQuadInOut,"quad-out":d3.easeQuadOut,sin:d3.easeSin,"sin-in":d3.easeSinIn,"sin-in-out":d3.easeSinInOut,"sin-out":d3.easeSinOut},FPS=60,Animation=function(a){var b=a.attribute,c=a.delay,d=void 0===c?0:c,e=a.duration,f=void 0===e?250:e,g=a.ease,h=void 0===g?"linear":g,i=a.forwardedRef,j=a.from,k=void 0===j?0:j,l=a.once,m=a.maxCount,n=void 0===m?void 0!==l&&l?1:0:m,o=a.to,p=void 0===o?0:o,q=a.step,r=void 0===q?function(a){return k+(p-k)*a}:q,s=_objectWithoutProperties(a,["attribute","delay","duration","ease","forwardedRef","from","once","maxCount","to","step"]),t=React.useRef(0),u=React.useRef(null),v=React.useRef(!0);React.useLayoutEffect(function(){(!n||t<=n)&&(v.current?v.current=!1:u.current.beginElement()),t.current+=1},[k,r,p]);var w=Easings[h]||Easings.linear,x=Math.round(f/1e3*FPS),y=Array(x).fill(0).map(function(a,b){return r(w(b/x))}).join(";");return React__default.createElement("animate",_extends({attributeName:b,begin:"".concat(d,"ms"),dur:"".concat(f,"ms"),ref:function(a){u.current=a,i&&(i.current=a)},repeatCount:1},"linear"!==h||"d"===b?{values:y}:{from:k,to:p},s))};Animation.propTypes={attribute:PropTypes.string.isRequired,delay:PropTypes.number,duration:PropTypes.number,ease:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),from:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),maxCount:PropTypes.number,once:PropTypes.bool,step:PropTypes.func,to:PropTypes.oneOfType([PropTypes.number,PropTypes.string])};var Animation$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Animation,_extends({},a,{forwardedRef:b}))})),Shapes={Arc:ArcForwarded,Area:AreaForwarded,Circle:Circle$1,Gradient:Gradient$1,Line:LineForwarded,Rect:Rect$1,Stop:Stop,Text:Text$1};exports.Animation=Animation$1,exports.Arc=ArcForwarded,exports.Area=AreaForwarded,exports.Circle=Circle$1,exports.Gradient=Gradient$1,exports.Layer=Layer$1,exports.Line=LineForwarded,exports.Rect=Rect$1,exports.SVG=SVG$1,exports.Shapes=Shapes,exports.Stop=Stop,exports.Text=Text$1,exports.default=SVG$1; | ||
'use strict';Object.defineProperty(exports,"__esModule",{value:!0});function _interopDefault(a){return a&&"object"==typeof a&&"default"in a?a["default"]:a}var React=require("react"),React__default=_interopDefault(React),PropTypes=_interopDefault(require("prop-types")),d3=require("d3"),randomColor=_interopDefault(require("randomcolor")),_=_interopDefault(require("underscore"));function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread2(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(b,!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],!(0<=b.indexOf(c))&&Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_nonIterableRest()}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _iterableToArrayLimit(a,b){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var SVG=function(a){var b=a.children,c=a.forwardedRef,d=a.height,e=a.width,f=_objectWithoutProperties(a,["children","forwardedRef","height","width"]);return React__default.createElement("svg",_extends({preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 ".concat(e," ").concat(d)},f,{ref:c}),b)};SVG.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,width:PropTypes.number.isRequired};var SVG$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(SVG,_extends({},a,{forwardedRef:b}))})),Layer=function(a){var b=a.children,c=a.forwardedRef,d=a.label,e=a.transform,f=void 0===e?"":e,g=a.x,h=void 0===g?0:g,i=a.y,j=void 0===i?0:i,k=_objectWithoutProperties(a,["children","forwardedRef","label","transform","x","y"]);return React__default.createElement("g",_extends({"aria-label":d,transform:"translate(".concat(h,", ").concat(j,") ").concat(f)},k,{ref:c}),b)};Layer.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),label:PropTypes.string,transform:PropTypes.string,x:PropTypes.number,y:PropTypes.number};var Layer$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Layer,_extends({},a,{forwardedRef:b}))})),ACCESSORS=["context","cornerRadius","endAngle","innerRadius","outerRadius","padAngle","padRadius","startAngle"],D=["height","thickness","width"],Arc=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D,ACCESSORS)),q=_.omit.apply(_,[o].concat(D,ACCESSORS)),r=a.centroid(p),s=a.d(p),d=_objectSpread2({},a.attrs(p),{centroid:r,x:m,y:n}),t=React.useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React__default.createElement(Layer$1,{label:"arc",x:m,y:n},React__default.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Arc.propTypes={color:PropTypes.string,cornerRadius:PropTypes.number,endAngle:PropTypes.number.isRequired,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,startAngle:PropTypes.number.isRequired,thickness:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Arc.attrs=function(a){var b=Math.PI,c=a.endAngle,d=void 0===c?0:c,e=a.thickness,f=a.height,g=void 0===f?0:f,h=a.startAngle,i=void 0===h?0:h,j=a.width,k=void 0===j?0:j,l=_objectWithoutProperties(a,["endAngle","thickness","height","startAngle","width"]),m=Math.min(g/2,k/2);return _objectSpread2({},l,{endAngle:2*(d/360)*b,innerRadius:e?m-e:0,outerRadius:m,startAngle:2*(i/360)*b})},Arc.centroid=function(a){var b=d3.arc();return b.centroid(Arc.attrs(a))},Arc.d=function(a){var b=a.cornerRadius,c=_objectWithoutProperties(a,["cornerRadius"]),d=d3.arc();return b&&(d=d.cornerRadius(b)),d(Arc.attrs(c))};var ArcForwarded=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Arc,_extends({},a,{forwardedRef:b}))}));ArcForwarded.d=Arc.d;var Curves={basis:d3.curveBasis,"basis-closed":d3.curveBasisClosed,"basis-open":d3.curveBasisOpen,bundle:d3.curveBundle,cardinal:d3.curveCardinal,"cardinal-closed":d3.curveCardinalClosed,"cardinal-open":d3.curveCardinalOpen,"catmull-rom":d3.curveCatmullRom,"catmull-rom-closed":d3.curveCatmullRomClosed,"catmull-rom-open":d3.curveCatmullRomOpen,linear:d3.curveLinear,linearClosed:d3.curveLinearClosed,"monotone-x":d3.curveMonotoneX,"monotone-y":d3.curveMonotoneY,natural:d3.curveNatural,step:d3.curveStep,"step-after":d3.curveStepAfter,"step-before":d3.curveStepBefore},ACCESSORS$1=["context","curve","defined","lineX0","lineX1","lineY0","lineY1","x0","x1","y0","y1"],D$1=["points"],Area=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D$1,ACCESSORS$1)),q=_.omit.apply(_,[o].concat(D$1,ACCESSORS$1)),r=a.centroid(p),s=a.d(p),d={centroid:r,x:m,y:n},t=React.useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React__default.createElement(Layer$1,{label:"area",x:m,y:n},React__default.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Area.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,x:PropTypes.number,y:PropTypes.number},Area.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=c[0]||[0,0,0],e=c[c.length-1]||[0,0,0],f=d.length;return[(d[0]+e[0])/2,2<f?(d[2]+e[2])/2:(d[1]+e[1])/2]},Area.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=a.y0,f=_objectWithoutProperties(a,["curve","points","y0"]),g=Curves[b]||b,h=(d[0]||[]).length,i=e||(2<h?function(a){return a[2]}:void 0),j=Object.entries(_objectSpread2({},f,{curve:g,y0:i})).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},d3.area());return j(d)};var AreaForwarded=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Area,_extends({},a,{forwardedRef:b}))}));AreaForwarded.d=Area.d;var Circle=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.radius,l=a.x,m=a.y,n=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","radius","x","y"]),o={centroid:[(l+k)/2,(m+k)/2],radius:k,x:l,y:m},p=React.useCallback(function(a){return function(b){b.shape=o,a(b)}},[JSON.stringify(o)]);return React__default.createElement("circle",_extends({cx:l,cy:m,fill:c,r:k},n,{onClick:p(f),onFocus:p(h),onMouseOver:p(j),ref:d}))};Circle.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Circle$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Circle,_extends({},a,{forwardedRef:b}))})),Stop=function(a){var b=a.color,c=a.offset,d=a.opacity,e=void 0===d?1:d,f=_objectWithoutProperties(a,["color","offset","opacity"]);return React__default.createElement("stop",_extends({offset:"".concat(c,"%"),stopColor:b,stopOpacity:e},f))};Stop.propTypes={color:PropTypes.string.isRequired,offset:PropTypes.number.isRequired,opacity:PropTypes.number};var Gradient=function(a){var b=Math.abs,c=a.angle,d=void 0===c?0:c,e=a.children,f=a.forwardedRef,g=a.id,h=a.radial,i=_objectWithoutProperties(a,["angle","children","forwardedRef","id","radial"]),j=h?"radialGradient":"linearGradient",k=d%360,l=k/180*Math.PI,m=0<=Math.cos(l)?1:-1,n=0<=Math.sin(l)?1:-1,o=b(Math.tan(l)),p=b(1/o),q=1==Math.floor((k+135)/90)%2,r=q?o:p,s=[0,0],t=[q?m:r*m,q?r*n:n];if(0>t[0]){var u=[b(t[0]),s[0]];s[0]=u[0],t[0]=u[1]}if(0>t[1]){var v=[b(t[1]),s[1]];s[1]=v[0],t[1]=v[1]}return React__default.createElement("defs",null,React__default.createElement(j,_extends({id:g},!h&&{x1:s[0],x2:t[0],y1:s[1],y2:t[1]},i,{ref:f}),e))};Gradient.propTypes={angle:PropTypes.number,children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),id:PropTypes.string.isRequired,radial:PropTypes.bool};var Gradient$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Gradient,_extends({},a,{forwardedRef:b}))})),ACCESSORS$2=["context","curve","defined"],D$2=["points"],Line=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.thickness,n=b.x,o=b.y,p=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","thickness","x","y"]),q=React.useRef(null),r=_.pick.apply(_,[p].concat(D$2,ACCESSORS$2)),s=_.omit.apply(_,[p].concat(D$2,ACCESSORS$2)),t=a.centroid(r),u=a.d(r),d={centroid:t,thickness:m,x:n,y:o};return React__default.createElement(Layer$1,{label:"line",x:n,y:o},React__default.createElement("path",_extends({fill:"none",stroke:e,strokeWidth:m},s,{d:u,onClick:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),h(a)},onFocus:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),j(a)},onMouseOver:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),l(a)},ref:function(a){q.current=a,f&&(f.current=a)}})))};Line.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,thickness:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Line.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=d3.extent(c,function(a){return a[0]}),e=_slicedToArray(d,2),f=e[0],g=e[1],h=d3.extent(c,function(a){return a[1]}),i=_slicedToArray(h,2),j=i[0],k=i[1];return[(f+g)/2,(j+k)/2]},Line.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=_objectWithoutProperties(a,["curve","points"]),f=Curves[b]||b,g=Object.entries(_objectSpread2({},e,{curve:f})).filter(function(a){var b=_slicedToArray(a,2),c=b[1];return!!c}).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},d3.line());return g(d)};var LineForwarded=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Line,_extends({},a,{forwardedRef:b}))}));LineForwarded.d=Line.d;var Polygon=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.points,n=void 0===m?[]:m,o=b.x,p=b.y,q=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","points","x","y"]),r=a.centroid({points:n}),s=a.d({points:n}),d={centroid:r,points:n,x:o,y:p},t=React.useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React__default.createElement(Layer$1,{label:"polygon",x:o,y:p},React__default.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Polygon.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,x:PropTypes.number,y:PropTypes.number},Polygon.centroid=function(a){var b=a.points,c=void 0===b?[]:b;return d3.polygonCentroid(c)},Polygon.d=function(a){var b=a.points,c=void 0===b?[]:b;return d3.polygonArea(c)};var Polygon$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Polygon,_extends({},a,{forwardedRef:b}))})),Rect=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.height,f=a.onClick,g=void 0===f?function(){}:f,h=a.onFocus,i=void 0===h?function(){}:h,j=a.onMouseOver,k=void 0===j?function(){}:j,l=a.radius,m=void 0===l?0:l,n=a.width,o=a.x,p=a.y,q=_objectWithoutProperties(a,["color","forwardedRef","height","onClick","onFocus","onMouseOver","radius","width","x","y"]),r={centroid:[o+n/2,p+e],height:e,width:n,x:o,y:p},s=React.useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React__default.createElement("rect",_extends({fill:c,height:e,rx:m,width:n,x:o,y:p},q,{onClick:s(g),onFocus:s(i),onMouseOver:s(k),ref:d}))};Rect.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Rect$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Rect,_extends({},a,{forwardedRef:b}))})),TEXT={center:"middle",left:"start",right:"end"},VERTICAL={baseline:"baseline",middle:"central",top:"hanging"},Text=function(a){var b=a.color,c=void 0===b?"#222":b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.textAlign,l=a.verticalAlign,m=a.x,n=void 0===m?0:m,o=a.y,p=void 0===o?0:o,q=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","textAlign","verticalAlign","x","y"]),r={x:n,y:p},s=React.useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React__default.createElement("text",_extends({alignmentBaseline:VERTICAL[l],dominantBaseline:VERTICAL[l],fill:c,textAnchor:TEXT[k]},q,{onClick:s(f),onFocus:s(h),onMouseOver:s(j),ref:d,x:"".concat(n),y:"".concat(p)}))};Text.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,textAlign:PropTypes.oneOf(["center","left","right"]),verticalAlign:PropTypes.oneOf(["baseline","middle","top"]),x:PropTypes.number,y:PropTypes.number};var Text$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Text,_extends({},a,{forwardedRef:b}))})),Easings={back:d3.easeBack,"back-in":d3.easeBackIn,"back-in-out":d3.easeBackInOut,"back-out":d3.easeBackOut,bounce:d3.easeBounce,"bounce-in":d3.easeBounceIn,"bounce-in-out":d3.easeBounceInOut,"bounce-out":d3.easeBounceOut,circle:d3.easeCircle,"circle-in":d3.easeCircleIn,"circle-in-out":d3.easeCircleInOut,"circle-out":d3.easeCircleOut,cubic:d3.easeCubic,"cubic-in":d3.easeCubicIn,"cubic-in-out":d3.easeCubicInOut,"cubic-out":d3.easeCubicOut,exp:d3.easeExp,"exp-in":d3.easeExpIn,"exp-in-out":d3.easeExpInOut,"exp-out":d3.easeExpOut,linear:d3.easeLinear,"poly-in":d3.easePolyIn,"poly-in-out":d3.easePolyInOut,"poly-out":d3.easePolyOut,quad:d3.easeQuad,"quad-in":d3.easeQuadIn,"quad-in-out":d3.easeQuadInOut,"quad-out":d3.easeQuadOut,sin:d3.easeSin,"sin-in":d3.easeSinIn,"sin-in-out":d3.easeSinInOut,"sin-out":d3.easeSinOut},FPS=60,Animation=function(a){var b=a.attribute,c=a.delay,d=void 0===c?0:c,e=a.duration,f=void 0===e?250:e,g=a.ease,h=void 0===g?"linear":g,i=a.forwardedRef,j=a.from,k=void 0===j?0:j,l=a.once,m=a.maxCount,n=void 0===m?void 0!==l&&l?1:0:m,o=a.to,p=void 0===o?0:o,q=a.step,r=void 0===q?function(a){return k+(p-k)*a}:q,s=_objectWithoutProperties(a,["attribute","delay","duration","ease","forwardedRef","from","once","maxCount","to","step"]),t=React.useRef(0),u=React.useRef(null),v=React.useRef(!0);React.useLayoutEffect(function(){(!n||t<=n)&&(v.current?v.current=!1:u.current.beginElement()),t.current+=1},[k,r,p]);var w=Easings[h]||Easings.linear,x=Math.round(f/1e3*FPS),y=Array(x).fill(0).map(function(a,b){return r(w(b/x))}).join(";");return React__default.createElement("animate",_extends({attributeName:b,begin:"".concat(d,"ms"),dur:"".concat(f,"ms"),ref:function(a){u.current=a,i&&(i.current=a)},repeatCount:1},"linear"!==h||"d"===b?{values:y}:{from:k,to:p},s))};Animation.propTypes={attribute:PropTypes.string.isRequired,delay:PropTypes.number,duration:PropTypes.number,ease:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),from:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),maxCount:PropTypes.number,once:PropTypes.bool,step:PropTypes.func,to:PropTypes.oneOfType([PropTypes.number,PropTypes.string])};var Animation$1=React.memo(React.forwardRef(function(a,b){return React__default.createElement(Animation,_extends({},a,{forwardedRef:b}))})),Shapes={Arc:ArcForwarded,Area:AreaForwarded,Circle:Circle$1,Gradient:Gradient$1,Line:LineForwarded,Polygon:Polygon$1,Rect:Rect$1,Stop:Stop,Text:Text$1};exports.Animation=Animation$1,exports.Arc=ArcForwarded,exports.Area=AreaForwarded,exports.Circle=Circle$1,exports.Gradient=Gradient$1,exports.Layer=Layer$1,exports.Line=LineForwarded,exports.Polygon=Polygon$1,exports.Rect=Rect$1,exports.SVG=SVG$1,exports.Shapes=Shapes,exports.Stop=Stop,exports.Text=Text$1,exports.default=SVG$1; |
import React, { memo, forwardRef, useCallback, useRef, useLayoutEffect } from 'react'; | ||
import PropTypes from 'prop-types'; | ||
import { arc, curveBasis, curveBasisClosed, curveBasisOpen, curveBundle, curveCardinal, curveCardinalClosed, curveCardinalOpen, curveCatmullRom, curveCatmullRomClosed, curveCatmullRomOpen, curveLinear, curveLinearClosed, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore, area, extent, line, easeBack, easeBackIn, easeBackInOut, easeBackOut, easeBounce, easeBounceIn, easeBounceInOut, easeBounceOut, easeCircle, easeCircleIn, easeCircleInOut, easeCircleOut, easeCubic, easeCubicIn, easeCubicInOut, easeCubicOut, easeExp, easeExpIn, easeExpInOut, easeExpOut, easeLinear, easePolyIn, easePolyInOut, easePolyOut, easeQuad, easeQuadIn, easeQuadInOut, easeQuadOut, easeSin, easeSinIn, easeSinInOut, easeSinOut } from 'd3'; | ||
import { arc, curveBasis, curveBasisClosed, curveBasisOpen, curveBundle, curveCardinal, curveCardinalClosed, curveCardinalOpen, curveCatmullRom, curveCatmullRomClosed, curveCatmullRomOpen, curveLinear, curveLinearClosed, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore, area, extent, line, polygonCentroid, polygonArea, easeBack, easeBackIn, easeBackInOut, easeBackOut, easeBounce, easeBounceIn, easeBounceInOut, easeBounceOut, easeCircle, easeCircleIn, easeCircleInOut, easeCircleOut, easeCubic, easeCubicIn, easeCubicInOut, easeCubicOut, easeExp, easeExpIn, easeExpInOut, easeExpOut, easeLinear, easePolyIn, easePolyInOut, easePolyOut, easeQuad, easeQuadIn, easeQuadInOut, easeQuadOut, easeSin, easeSinIn, easeSinInOut, easeSinOut } from 'd3'; | ||
import randomColor from 'randomcolor'; | ||
@@ -750,2 +750,83 @@ import _ from 'underscore'; | ||
var Polygon = function Polygon(_ref) { | ||
var _ref$color = _ref.color, | ||
color = _ref$color === void 0 ? randomColor() : _ref$color, | ||
forwardedRef = _ref.forwardedRef, | ||
_ref$onClick = _ref.onClick, | ||
onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick, | ||
_ref$onFocus = _ref.onFocus, | ||
onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus, | ||
_ref$onMouseOver = _ref.onMouseOver, | ||
onMouseOver = _ref$onMouseOver === void 0 ? function () {} : _ref$onMouseOver, | ||
_ref$points = _ref.points, | ||
points = _ref$points === void 0 ? [] : _ref$points, | ||
x = _ref.x, | ||
y = _ref.y, | ||
props = _objectWithoutProperties(_ref, ["color", "forwardedRef", "onClick", "onFocus", "onMouseOver", "points", "x", "y"]); | ||
var centroid = Polygon.centroid({ | ||
points: points | ||
}); | ||
var d = Polygon.d({ | ||
points: points | ||
}); | ||
var data = { | ||
centroid: centroid, | ||
points: points, | ||
x: x, | ||
y: y | ||
}; | ||
var inject = useCallback(function (onCb) { | ||
return function (event) { | ||
// eslint-disable-next-line no-param-reassign | ||
event.shape = data; | ||
onCb(event); | ||
}; | ||
}, [JSON.stringify(data)]); | ||
return React.createElement(Layer$1, { | ||
label: "polygon", | ||
x: x, | ||
y: y | ||
}, React.createElement("path", _extends({ | ||
fill: color | ||
}, props, { | ||
d: d, | ||
onClick: inject(onClick), | ||
onFocus: inject(onFocus), | ||
onMouseOver: inject(onMouseOver), | ||
ref: forwardedRef | ||
}))); | ||
}; | ||
Polygon.propTypes = { | ||
color: PropTypes.string, | ||
forwardedRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ | ||
current: PropTypes.instanceOf(Element) | ||
})]), | ||
onClick: PropTypes.func, | ||
onFocus: PropTypes.func, | ||
onMouseOver: PropTypes.func, | ||
points: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired, | ||
x: PropTypes.number, | ||
y: PropTypes.number | ||
}; | ||
Polygon.centroid = function (_ref2) { | ||
var _ref2$points = _ref2.points, | ||
points = _ref2$points === void 0 ? [] : _ref2$points; | ||
return polygonCentroid(points); | ||
}; | ||
Polygon.d = function (_ref3) { | ||
var _ref3$points = _ref3.points, | ||
points = _ref3$points === void 0 ? [] : _ref3$points; | ||
return polygonArea(points); | ||
}; | ||
var Polygon$1 = memo(forwardRef(function (props, ref) { | ||
return React.createElement(Polygon, _extends({}, props, { | ||
forwardedRef: ref | ||
})); | ||
})); | ||
var Rect = function Rect(_ref) { | ||
@@ -1021,2 +1102,3 @@ var _ref$color = _ref.color, | ||
Line: LineForwarded, | ||
Polygon: Polygon$1, | ||
Rect: Rect$1, | ||
@@ -1028,3 +1110,3 @@ Stop: Stop, | ||
export default SVG$1; | ||
export { Animation$1 as Animation, ArcForwarded as Arc, AreaForwarded as Area, Circle$1 as Circle, Gradient$1 as Gradient, Layer$1 as Layer, LineForwarded as Line, Rect$1 as Rect, SVG$1 as SVG, Shapes, Stop, Text$1 as Text }; | ||
export { Animation$1 as Animation, ArcForwarded as Arc, AreaForwarded as Area, Circle$1 as Circle, Gradient$1 as Gradient, Layer$1 as Layer, LineForwarded as Line, Polygon$1 as Polygon, Rect$1 as Rect, SVG$1 as SVG, Shapes, Stop, Text$1 as Text }; | ||
//# sourceMappingURL=calvin.development.js.map |
@@ -1,1 +0,1 @@ | ||
import React,{memo,forwardRef,useCallback,useRef,useLayoutEffect}from"react";import PropTypes from"prop-types";import{arc,curveBasis,curveBasisClosed,curveBasisOpen,curveBundle,curveCardinal,curveCardinalClosed,curveCardinalOpen,curveCatmullRom,curveCatmullRomClosed,curveCatmullRomOpen,curveLinear,curveLinearClosed,curveMonotoneX,curveMonotoneY,curveNatural,curveStep,curveStepAfter,curveStepBefore,area,extent,line,easeBack,easeBackIn,easeBackInOut,easeBackOut,easeBounce,easeBounceIn,easeBounceInOut,easeBounceOut,easeCircle,easeCircleIn,easeCircleInOut,easeCircleOut,easeCubic,easeCubicIn,easeCubicInOut,easeCubicOut,easeExp,easeExpIn,easeExpInOut,easeExpOut,easeLinear,easePolyIn,easePolyInOut,easePolyOut,easeQuad,easeQuadIn,easeQuadInOut,easeQuadOut,easeSin,easeSinIn,easeSinInOut,easeSinOut}from"d3";import randomColor from"randomcolor";import _ from"underscore";function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread2(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(b,!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],!(0<=b.indexOf(c))&&Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_nonIterableRest()}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _iterableToArrayLimit(a,b){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var SVG=function(a){var b=a.children,c=a.forwardedRef,d=a.height,e=a.width,f=_objectWithoutProperties(a,["children","forwardedRef","height","width"]);return React.createElement("svg",_extends({preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 ".concat(e," ").concat(d)},f,{ref:c}),b)};SVG.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,width:PropTypes.number.isRequired};var SVG$1=memo(forwardRef(function(a,b){return React.createElement(SVG,_extends({},a,{forwardedRef:b}))})),Layer=function(a){var b=a.children,c=a.forwardedRef,d=a.label,e=a.transform,f=void 0===e?"":e,g=a.x,h=void 0===g?0:g,i=a.y,j=void 0===i?0:i,k=_objectWithoutProperties(a,["children","forwardedRef","label","transform","x","y"]);return React.createElement("g",_extends({"aria-label":d,transform:"translate(".concat(h,", ").concat(j,") ").concat(f)},k,{ref:c}),b)};Layer.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),label:PropTypes.string,transform:PropTypes.string,x:PropTypes.number,y:PropTypes.number};var Layer$1=memo(forwardRef(function(a,b){return React.createElement(Layer,_extends({},a,{forwardedRef:b}))})),ACCESSORS=["context","cornerRadius","endAngle","innerRadius","outerRadius","padAngle","padRadius","startAngle"],D=["height","thickness","width"],Arc=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D,ACCESSORS)),q=_.omit.apply(_,[o].concat(D,ACCESSORS)),r=a.centroid(p),s=a.d(p),d=_objectSpread2({},a.attrs(p),{centroid:r,x:m,y:n}),t=useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React.createElement(Layer$1,{label:"arc",x:m,y:n},React.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Arc.propTypes={color:PropTypes.string,cornerRadius:PropTypes.number,endAngle:PropTypes.number.isRequired,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,startAngle:PropTypes.number.isRequired,thickness:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Arc.attrs=function(a){var b=Math.PI,c=a.endAngle,d=void 0===c?0:c,e=a.thickness,f=a.height,g=void 0===f?0:f,h=a.startAngle,i=void 0===h?0:h,j=a.width,k=void 0===j?0:j,l=_objectWithoutProperties(a,["endAngle","thickness","height","startAngle","width"]),m=Math.min(g/2,k/2);return _objectSpread2({},l,{endAngle:2*(d/360)*b,innerRadius:e?m-e:0,outerRadius:m,startAngle:2*(i/360)*b})},Arc.centroid=function(a){var b=arc();return b.centroid(Arc.attrs(a))},Arc.d=function(a){var b=a.cornerRadius,c=_objectWithoutProperties(a,["cornerRadius"]),d=arc();return b&&(d=d.cornerRadius(b)),d(Arc.attrs(c))};var ArcForwarded=memo(forwardRef(function(a,b){return React.createElement(Arc,_extends({},a,{forwardedRef:b}))}));ArcForwarded.d=Arc.d;var Curves={basis:curveBasis,"basis-closed":curveBasisClosed,"basis-open":curveBasisOpen,bundle:curveBundle,cardinal:curveCardinal,"cardinal-closed":curveCardinalClosed,"cardinal-open":curveCardinalOpen,"catmull-rom":curveCatmullRom,"catmull-rom-closed":curveCatmullRomClosed,"catmull-rom-open":curveCatmullRomOpen,linear:curveLinear,linearClosed:curveLinearClosed,"monotone-x":curveMonotoneX,"monotone-y":curveMonotoneY,natural:curveNatural,step:curveStep,"step-after":curveStepAfter,"step-before":curveStepBefore},ACCESSORS$1=["context","curve","defined","lineX0","lineX1","lineY0","lineY1","x0","x1","y0","y1"],D$1=["points"],Area=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D$1,ACCESSORS$1)),q=_.omit.apply(_,[o].concat(D$1,ACCESSORS$1)),r=a.centroid(p),s=a.d(p),d={centroid:r,x:m,y:n},t=useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React.createElement(Layer$1,{label:"area",x:m,y:n},React.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Area.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,x:PropTypes.number,y:PropTypes.number},Area.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=c[0]||[0,0,0],e=c[c.length-1]||[0,0,0],f=d.length;return[(d[0]+e[0])/2,2<f?(d[2]+e[2])/2:(d[1]+e[1])/2]},Area.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=a.y0,f=_objectWithoutProperties(a,["curve","points","y0"]),g=Curves[b]||b,h=(d[0]||[]).length,i=e||(2<h?function(a){return a[2]}:void 0),j=Object.entries(_objectSpread2({},f,{curve:g,y0:i})).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},area());return j(d)};var AreaForwarded=memo(forwardRef(function(a,b){return React.createElement(Area,_extends({},a,{forwardedRef:b}))}));AreaForwarded.d=Area.d;var Circle=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.radius,l=a.x,m=a.y,n=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","radius","x","y"]),o={centroid:[(l+k)/2,(m+k)/2],radius:k,x:l,y:m},p=useCallback(function(a){return function(b){b.shape=o,a(b)}},[JSON.stringify(o)]);return React.createElement("circle",_extends({cx:l,cy:m,fill:c,r:k},n,{onClick:p(f),onFocus:p(h),onMouseOver:p(j),ref:d}))};Circle.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Circle$1=memo(forwardRef(function(a,b){return React.createElement(Circle,_extends({},a,{forwardedRef:b}))})),Stop=function(a){var b=a.color,c=a.offset,d=a.opacity,e=void 0===d?1:d,f=_objectWithoutProperties(a,["color","offset","opacity"]);return React.createElement("stop",_extends({offset:"".concat(c,"%"),stopColor:b,stopOpacity:e},f))};Stop.propTypes={color:PropTypes.string.isRequired,offset:PropTypes.number.isRequired,opacity:PropTypes.number};var Gradient=function(a){var b=Math.abs,c=a.angle,d=void 0===c?0:c,e=a.children,f=a.forwardedRef,g=a.id,h=a.radial,i=_objectWithoutProperties(a,["angle","children","forwardedRef","id","radial"]),j=h?"radialGradient":"linearGradient",k=d%360,l=k/180*Math.PI,m=0<=Math.cos(l)?1:-1,n=0<=Math.sin(l)?1:-1,o=b(Math.tan(l)),p=b(1/o),q=1==Math.floor((k+135)/90)%2,r=q?o:p,s=[0,0],t=[q?m:r*m,q?r*n:n];if(0>t[0]){var u=[b(t[0]),s[0]];s[0]=u[0],t[0]=u[1]}if(0>t[1]){var v=[b(t[1]),s[1]];s[1]=v[0],t[1]=v[1]}return React.createElement("defs",null,React.createElement(j,_extends({id:g},!h&&{x1:s[0],x2:t[0],y1:s[1],y2:t[1]},i,{ref:f}),e))};Gradient.propTypes={angle:PropTypes.number,children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),id:PropTypes.string.isRequired,radial:PropTypes.bool};var Gradient$1=memo(forwardRef(function(a,b){return React.createElement(Gradient,_extends({},a,{forwardedRef:b}))})),ACCESSORS$2=["context","curve","defined"],D$2=["points"],Line=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.thickness,n=b.x,o=b.y,p=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","thickness","x","y"]),q=useRef(null),r=_.pick.apply(_,[p].concat(D$2,ACCESSORS$2)),s=_.omit.apply(_,[p].concat(D$2,ACCESSORS$2)),t=a.centroid(r),u=a.d(r),d={centroid:t,thickness:m,x:n,y:o};return React.createElement(Layer$1,{label:"line",x:n,y:o},React.createElement("path",_extends({fill:"none",stroke:e,strokeWidth:m},s,{d:u,onClick:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),h(a)},onFocus:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),j(a)},onMouseOver:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),l(a)},ref:function(a){q.current=a,f&&(f.current=a)}})))};Line.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,thickness:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Line.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=extent(c,function(a){return a[0]}),e=_slicedToArray(d,2),f=e[0],g=e[1],h=extent(c,function(a){return a[1]}),i=_slicedToArray(h,2),j=i[0],k=i[1];return[(f+g)/2,(j+k)/2]},Line.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=_objectWithoutProperties(a,["curve","points"]),f=Curves[b]||b,g=Object.entries(_objectSpread2({},e,{curve:f})).filter(function(a){var b=_slicedToArray(a,2),c=b[1];return!!c}).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},line());return g(d)};var LineForwarded=memo(forwardRef(function(a,b){return React.createElement(Line,_extends({},a,{forwardedRef:b}))}));LineForwarded.d=Line.d;var Rect=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.height,f=a.onClick,g=void 0===f?function(){}:f,h=a.onFocus,i=void 0===h?function(){}:h,j=a.onMouseOver,k=void 0===j?function(){}:j,l=a.radius,m=void 0===l?0:l,n=a.width,o=a.x,p=a.y,q=_objectWithoutProperties(a,["color","forwardedRef","height","onClick","onFocus","onMouseOver","radius","width","x","y"]),r={centroid:[o+n/2,p+e],height:e,width:n,x:o,y:p},s=useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React.createElement("rect",_extends({fill:c,height:e,rx:m,width:n,x:o,y:p},q,{onClick:s(g),onFocus:s(i),onMouseOver:s(k),ref:d}))};Rect.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Rect$1=memo(forwardRef(function(a,b){return React.createElement(Rect,_extends({},a,{forwardedRef:b}))})),TEXT={center:"middle",left:"start",right:"end"},VERTICAL={baseline:"baseline",middle:"central",top:"hanging"},Text=function(a){var b=a.color,c=void 0===b?"#222":b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.textAlign,l=a.verticalAlign,m=a.x,n=void 0===m?0:m,o=a.y,p=void 0===o?0:o,q=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","textAlign","verticalAlign","x","y"]),r={x:n,y:p},s=useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React.createElement("text",_extends({alignmentBaseline:VERTICAL[l],dominantBaseline:VERTICAL[l],fill:c,textAnchor:TEXT[k]},q,{onClick:s(f),onFocus:s(h),onMouseOver:s(j),ref:d,x:"".concat(n),y:"".concat(p)}))};Text.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,textAlign:PropTypes.oneOf(["center","left","right"]),verticalAlign:PropTypes.oneOf(["baseline","middle","top"]),x:PropTypes.number,y:PropTypes.number};var Text$1=memo(forwardRef(function(a,b){return React.createElement(Text,_extends({},a,{forwardedRef:b}))})),Easings={back:easeBack,"back-in":easeBackIn,"back-in-out":easeBackInOut,"back-out":easeBackOut,bounce:easeBounce,"bounce-in":easeBounceIn,"bounce-in-out":easeBounceInOut,"bounce-out":easeBounceOut,circle:easeCircle,"circle-in":easeCircleIn,"circle-in-out":easeCircleInOut,"circle-out":easeCircleOut,cubic:easeCubic,"cubic-in":easeCubicIn,"cubic-in-out":easeCubicInOut,"cubic-out":easeCubicOut,exp:easeExp,"exp-in":easeExpIn,"exp-in-out":easeExpInOut,"exp-out":easeExpOut,linear:easeLinear,"poly-in":easePolyIn,"poly-in-out":easePolyInOut,"poly-out":easePolyOut,quad:easeQuad,"quad-in":easeQuadIn,"quad-in-out":easeQuadInOut,"quad-out":easeQuadOut,sin:easeSin,"sin-in":easeSinIn,"sin-in-out":easeSinInOut,"sin-out":easeSinOut},FPS=60,Animation=function(a){var b=a.attribute,c=a.delay,d=void 0===c?0:c,e=a.duration,f=void 0===e?250:e,g=a.ease,h=void 0===g?"linear":g,i=a.forwardedRef,j=a.from,k=void 0===j?0:j,l=a.once,m=a.maxCount,n=void 0===m?void 0!==l&&l?1:0:m,o=a.to,p=void 0===o?0:o,q=a.step,r=void 0===q?function(a){return k+(p-k)*a}:q,s=_objectWithoutProperties(a,["attribute","delay","duration","ease","forwardedRef","from","once","maxCount","to","step"]),t=useRef(0),u=useRef(null),v=useRef(!0);useLayoutEffect(function(){(!n||t<=n)&&(v.current?v.current=!1:u.current.beginElement()),t.current+=1},[k,r,p]);var w=Easings[h]||Easings.linear,x=Math.round(f/1e3*FPS),y=Array(x).fill(0).map(function(a,b){return r(w(b/x))}).join(";");return React.createElement("animate",_extends({attributeName:b,begin:"".concat(d,"ms"),dur:"".concat(f,"ms"),ref:function(a){u.current=a,i&&(i.current=a)},repeatCount:1},"linear"!==h||"d"===b?{values:y}:{from:k,to:p},s))};Animation.propTypes={attribute:PropTypes.string.isRequired,delay:PropTypes.number,duration:PropTypes.number,ease:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),from:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),maxCount:PropTypes.number,once:PropTypes.bool,step:PropTypes.func,to:PropTypes.oneOfType([PropTypes.number,PropTypes.string])};var Animation$1=memo(forwardRef(function(a,b){return React.createElement(Animation,_extends({},a,{forwardedRef:b}))})),Shapes={Arc:ArcForwarded,Area:AreaForwarded,Circle:Circle$1,Gradient:Gradient$1,Line:LineForwarded,Rect:Rect$1,Stop:Stop,Text:Text$1};export default SVG$1;export{Animation$1 as Animation,ArcForwarded as Arc,AreaForwarded as Area,Circle$1 as Circle,Gradient$1 as Gradient,Layer$1 as Layer,LineForwarded as Line,Rect$1 as Rect,SVG$1 as SVG,Shapes,Stop,Text$1 as Text}; | ||
import React,{memo,forwardRef,useCallback,useRef,useLayoutEffect}from"react";import PropTypes from"prop-types";import{arc,curveBasis,curveBasisClosed,curveBasisOpen,curveBundle,curveCardinal,curveCardinalClosed,curveCardinalOpen,curveCatmullRom,curveCatmullRomClosed,curveCatmullRomOpen,curveLinear,curveLinearClosed,curveMonotoneX,curveMonotoneY,curveNatural,curveStep,curveStepAfter,curveStepBefore,area,extent,line,polygonCentroid,polygonArea,easeBack,easeBackIn,easeBackInOut,easeBackOut,easeBounce,easeBounceIn,easeBounceInOut,easeBounceOut,easeCircle,easeCircleIn,easeCircleInOut,easeCircleOut,easeCubic,easeCubicIn,easeCubicInOut,easeCubicOut,easeExp,easeExpIn,easeExpInOut,easeExpOut,easeLinear,easePolyIn,easePolyInOut,easePolyOut,easeQuad,easeQuadIn,easeQuadInOut,easeQuadOut,easeSin,easeSinIn,easeSinInOut,easeSinOut}from"d3";import randomColor from"randomcolor";import _ from"underscore";function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread2(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(b,!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],!(0<=b.indexOf(c))&&Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_nonIterableRest()}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _iterableToArrayLimit(a,b){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var SVG=function(a){var b=a.children,c=a.forwardedRef,d=a.height,e=a.width,f=_objectWithoutProperties(a,["children","forwardedRef","height","width"]);return React.createElement("svg",_extends({preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 ".concat(e," ").concat(d)},f,{ref:c}),b)};SVG.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,width:PropTypes.number.isRequired};var SVG$1=memo(forwardRef(function(a,b){return React.createElement(SVG,_extends({},a,{forwardedRef:b}))})),Layer=function(a){var b=a.children,c=a.forwardedRef,d=a.label,e=a.transform,f=void 0===e?"":e,g=a.x,h=void 0===g?0:g,i=a.y,j=void 0===i?0:i,k=_objectWithoutProperties(a,["children","forwardedRef","label","transform","x","y"]);return React.createElement("g",_extends({"aria-label":d,transform:"translate(".concat(h,", ").concat(j,") ").concat(f)},k,{ref:c}),b)};Layer.propTypes={children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),label:PropTypes.string,transform:PropTypes.string,x:PropTypes.number,y:PropTypes.number};var Layer$1=memo(forwardRef(function(a,b){return React.createElement(Layer,_extends({},a,{forwardedRef:b}))})),ACCESSORS=["context","cornerRadius","endAngle","innerRadius","outerRadius","padAngle","padRadius","startAngle"],D=["height","thickness","width"],Arc=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D,ACCESSORS)),q=_.omit.apply(_,[o].concat(D,ACCESSORS)),r=a.centroid(p),s=a.d(p),d=_objectSpread2({},a.attrs(p),{centroid:r,x:m,y:n}),t=useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React.createElement(Layer$1,{label:"arc",x:m,y:n},React.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Arc.propTypes={color:PropTypes.string,cornerRadius:PropTypes.number,endAngle:PropTypes.number.isRequired,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,startAngle:PropTypes.number.isRequired,thickness:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Arc.attrs=function(a){var b=Math.PI,c=a.endAngle,d=void 0===c?0:c,e=a.thickness,f=a.height,g=void 0===f?0:f,h=a.startAngle,i=void 0===h?0:h,j=a.width,k=void 0===j?0:j,l=_objectWithoutProperties(a,["endAngle","thickness","height","startAngle","width"]),m=Math.min(g/2,k/2);return _objectSpread2({},l,{endAngle:2*(d/360)*b,innerRadius:e?m-e:0,outerRadius:m,startAngle:2*(i/360)*b})},Arc.centroid=function(a){var b=arc();return b.centroid(Arc.attrs(a))},Arc.d=function(a){var b=a.cornerRadius,c=_objectWithoutProperties(a,["cornerRadius"]),d=arc();return b&&(d=d.cornerRadius(b)),d(Arc.attrs(c))};var ArcForwarded=memo(forwardRef(function(a,b){return React.createElement(Arc,_extends({},a,{forwardedRef:b}))}));ArcForwarded.d=Arc.d;var Curves={basis:curveBasis,"basis-closed":curveBasisClosed,"basis-open":curveBasisOpen,bundle:curveBundle,cardinal:curveCardinal,"cardinal-closed":curveCardinalClosed,"cardinal-open":curveCardinalOpen,"catmull-rom":curveCatmullRom,"catmull-rom-closed":curveCatmullRomClosed,"catmull-rom-open":curveCatmullRomOpen,linear:curveLinear,linearClosed:curveLinearClosed,"monotone-x":curveMonotoneX,"monotone-y":curveMonotoneY,natural:curveNatural,step:curveStep,"step-after":curveStepAfter,"step-before":curveStepBefore},ACCESSORS$1=["context","curve","defined","lineX0","lineX1","lineY0","lineY1","x0","x1","y0","y1"],D$1=["points"],Area=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.x,n=b.y,o=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","x","y"]),p=_.pick.apply(_,[o].concat(D$1,ACCESSORS$1)),q=_.omit.apply(_,[o].concat(D$1,ACCESSORS$1)),r=a.centroid(p),s=a.d(p),d={centroid:r,x:m,y:n},t=useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React.createElement(Layer$1,{label:"area",x:m,y:n},React.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Area.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,x:PropTypes.number,y:PropTypes.number},Area.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=c[0]||[0,0,0],e=c[c.length-1]||[0,0,0],f=d.length;return[(d[0]+e[0])/2,2<f?(d[2]+e[2])/2:(d[1]+e[1])/2]},Area.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=a.y0,f=_objectWithoutProperties(a,["curve","points","y0"]),g=Curves[b]||b,h=(d[0]||[]).length,i=e||(2<h?function(a){return a[2]}:void 0),j=Object.entries(_objectSpread2({},f,{curve:g,y0:i})).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},area());return j(d)};var AreaForwarded=memo(forwardRef(function(a,b){return React.createElement(Area,_extends({},a,{forwardedRef:b}))}));AreaForwarded.d=Area.d;var Circle=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.radius,l=a.x,m=a.y,n=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","radius","x","y"]),o={centroid:[(l+k)/2,(m+k)/2],radius:k,x:l,y:m},p=useCallback(function(a){return function(b){b.shape=o,a(b)}},[JSON.stringify(o)]);return React.createElement("circle",_extends({cx:l,cy:m,fill:c,r:k},n,{onClick:p(f),onFocus:p(h),onMouseOver:p(j),ref:d}))};Circle.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Circle$1=memo(forwardRef(function(a,b){return React.createElement(Circle,_extends({},a,{forwardedRef:b}))})),Stop=function(a){var b=a.color,c=a.offset,d=a.opacity,e=void 0===d?1:d,f=_objectWithoutProperties(a,["color","offset","opacity"]);return React.createElement("stop",_extends({offset:"".concat(c,"%"),stopColor:b,stopOpacity:e},f))};Stop.propTypes={color:PropTypes.string.isRequired,offset:PropTypes.number.isRequired,opacity:PropTypes.number};var Gradient=function(a){var b=Math.abs,c=a.angle,d=void 0===c?0:c,e=a.children,f=a.forwardedRef,g=a.id,h=a.radial,i=_objectWithoutProperties(a,["angle","children","forwardedRef","id","radial"]),j=h?"radialGradient":"linearGradient",k=d%360,l=k/180*Math.PI,m=0<=Math.cos(l)?1:-1,n=0<=Math.sin(l)?1:-1,o=b(Math.tan(l)),p=b(1/o),q=1==Math.floor((k+135)/90)%2,r=q?o:p,s=[0,0],t=[q?m:r*m,q?r*n:n];if(0>t[0]){var u=[b(t[0]),s[0]];s[0]=u[0],t[0]=u[1]}if(0>t[1]){var v=[b(t[1]),s[1]];s[1]=v[0],t[1]=v[1]}return React.createElement("defs",null,React.createElement(j,_extends({id:g},!h&&{x1:s[0],x2:t[0],y1:s[1],y2:t[1]},i,{ref:f}),e))};Gradient.propTypes={angle:PropTypes.number,children:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node),PropTypes.node]),forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),id:PropTypes.string.isRequired,radial:PropTypes.bool};var Gradient$1=memo(forwardRef(function(a,b){return React.createElement(Gradient,_extends({},a,{forwardedRef:b}))})),ACCESSORS$2=["context","curve","defined"],D$2=["points"],Line=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.thickness,n=b.x,o=b.y,p=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","thickness","x","y"]),q=useRef(null),r=_.pick.apply(_,[p].concat(D$2,ACCESSORS$2)),s=_.omit.apply(_,[p].concat(D$2,ACCESSORS$2)),t=a.centroid(r),u=a.d(r),d={centroid:t,thickness:m,x:n,y:o};return React.createElement(Layer$1,{label:"line",x:n,y:o},React.createElement("path",_extends({fill:"none",stroke:e,strokeWidth:m},s,{d:u,onClick:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),h(a)},onFocus:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),j(a)},onMouseOver:function(a){var b=q.current?q.current.getTotalLength():0;a.shape=_objectSpread2({},d,{length:b}),l(a)},ref:function(a){q.current=a,f&&(f.current=a)}})))};Line.propTypes={color:PropTypes.string,curve:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,thickness:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number},Line.centroid=function(a){var b=a.points,c=void 0===b?[]:b,d=extent(c,function(a){return a[0]}),e=_slicedToArray(d,2),f=e[0],g=e[1],h=extent(c,function(a){return a[1]}),i=_slicedToArray(h,2),j=i[0],k=i[1];return[(f+g)/2,(j+k)/2]},Line.d=function(a){var b=a.curve,c=a.points,d=void 0===c?[]:c,e=_objectWithoutProperties(a,["curve","points"]),f=Curves[b]||b,g=Object.entries(_objectSpread2({},e,{curve:f})).filter(function(a){var b=_slicedToArray(a,2),c=b[1];return!!c}).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d](e)},line());return g(d)};var LineForwarded=memo(forwardRef(function(a,b){return React.createElement(Line,_extends({},a,{forwardedRef:b}))}));LineForwarded.d=Line.d;var Polygon=function a(b){var c=b.color,e=void 0===c?randomColor():c,f=b.forwardedRef,g=b.onClick,h=void 0===g?function(){}:g,i=b.onFocus,j=void 0===i?function(){}:i,k=b.onMouseOver,l=void 0===k?function(){}:k,m=b.points,n=void 0===m?[]:m,o=b.x,p=b.y,q=_objectWithoutProperties(b,["color","forwardedRef","onClick","onFocus","onMouseOver","points","x","y"]),r=a.centroid({points:n}),s=a.d({points:n}),d={centroid:r,points:n,x:o,y:p},t=useCallback(function(a){return function(b){b.shape=d,a(b)}},[JSON.stringify(d)]);return React.createElement(Layer$1,{label:"polygon",x:o,y:p},React.createElement("path",_extends({fill:e},q,{d:s,onClick:t(h),onFocus:t(j),onMouseOver:t(l),ref:f})))};Polygon.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,points:PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,x:PropTypes.number,y:PropTypes.number},Polygon.centroid=function(a){var b=a.points,c=void 0===b?[]:b;return polygonCentroid(c)},Polygon.d=function(a){var b=a.points,c=void 0===b?[]:b;return polygonArea(c)};var Polygon$1=memo(forwardRef(function(a,b){return React.createElement(Polygon,_extends({},a,{forwardedRef:b}))})),Rect=function(a){var b=a.color,c=void 0===b?randomColor():b,d=a.forwardedRef,e=a.height,f=a.onClick,g=void 0===f?function(){}:f,h=a.onFocus,i=void 0===h?function(){}:h,j=a.onMouseOver,k=void 0===j?function(){}:j,l=a.radius,m=void 0===l?0:l,n=a.width,o=a.x,p=a.y,q=_objectWithoutProperties(a,["color","forwardedRef","height","onClick","onFocus","onMouseOver","radius","width","x","y"]),r={centroid:[o+n/2,p+e],height:e,width:n,x:o,y:p},s=useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React.createElement("rect",_extends({fill:c,height:e,rx:m,width:n,x:o,y:p},q,{onClick:s(g),onFocus:s(i),onMouseOver:s(k),ref:d}))};Rect.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),height:PropTypes.number.isRequired,onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,radius:PropTypes.number,width:PropTypes.number.isRequired,x:PropTypes.number,y:PropTypes.number};var Rect$1=memo(forwardRef(function(a,b){return React.createElement(Rect,_extends({},a,{forwardedRef:b}))})),TEXT={center:"middle",left:"start",right:"end"},VERTICAL={baseline:"baseline",middle:"central",top:"hanging"},Text=function(a){var b=a.color,c=void 0===b?"#222":b,d=a.forwardedRef,e=a.onClick,f=void 0===e?function(){}:e,g=a.onFocus,h=void 0===g?function(){}:g,i=a.onMouseOver,j=void 0===i?function(){}:i,k=a.textAlign,l=a.verticalAlign,m=a.x,n=void 0===m?0:m,o=a.y,p=void 0===o?0:o,q=_objectWithoutProperties(a,["color","forwardedRef","onClick","onFocus","onMouseOver","textAlign","verticalAlign","x","y"]),r={x:n,y:p},s=useCallback(function(a){return function(b){b.shape=r,a(b)}},[JSON.stringify(r)]);return React.createElement("text",_extends({alignmentBaseline:VERTICAL[l],dominantBaseline:VERTICAL[l],fill:c,textAnchor:TEXT[k]},q,{onClick:s(f),onFocus:s(h),onMouseOver:s(j),ref:d,x:"".concat(n),y:"".concat(p)}))};Text.propTypes={color:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),onClick:PropTypes.func,onFocus:PropTypes.func,onMouseOver:PropTypes.func,textAlign:PropTypes.oneOf(["center","left","right"]),verticalAlign:PropTypes.oneOf(["baseline","middle","top"]),x:PropTypes.number,y:PropTypes.number};var Text$1=memo(forwardRef(function(a,b){return React.createElement(Text,_extends({},a,{forwardedRef:b}))})),Easings={back:easeBack,"back-in":easeBackIn,"back-in-out":easeBackInOut,"back-out":easeBackOut,bounce:easeBounce,"bounce-in":easeBounceIn,"bounce-in-out":easeBounceInOut,"bounce-out":easeBounceOut,circle:easeCircle,"circle-in":easeCircleIn,"circle-in-out":easeCircleInOut,"circle-out":easeCircleOut,cubic:easeCubic,"cubic-in":easeCubicIn,"cubic-in-out":easeCubicInOut,"cubic-out":easeCubicOut,exp:easeExp,"exp-in":easeExpIn,"exp-in-out":easeExpInOut,"exp-out":easeExpOut,linear:easeLinear,"poly-in":easePolyIn,"poly-in-out":easePolyInOut,"poly-out":easePolyOut,quad:easeQuad,"quad-in":easeQuadIn,"quad-in-out":easeQuadInOut,"quad-out":easeQuadOut,sin:easeSin,"sin-in":easeSinIn,"sin-in-out":easeSinInOut,"sin-out":easeSinOut},FPS=60,Animation=function(a){var b=a.attribute,c=a.delay,d=void 0===c?0:c,e=a.duration,f=void 0===e?250:e,g=a.ease,h=void 0===g?"linear":g,i=a.forwardedRef,j=a.from,k=void 0===j?0:j,l=a.once,m=a.maxCount,n=void 0===m?void 0!==l&&l?1:0:m,o=a.to,p=void 0===o?0:o,q=a.step,r=void 0===q?function(a){return k+(p-k)*a}:q,s=_objectWithoutProperties(a,["attribute","delay","duration","ease","forwardedRef","from","once","maxCount","to","step"]),t=useRef(0),u=useRef(null),v=useRef(!0);useLayoutEffect(function(){(!n||t<=n)&&(v.current?v.current=!1:u.current.beginElement()),t.current+=1},[k,r,p]);var w=Easings[h]||Easings.linear,x=Math.round(f/1e3*FPS),y=Array(x).fill(0).map(function(a,b){return r(w(b/x))}).join(";");return React.createElement("animate",_extends({attributeName:b,begin:"".concat(d,"ms"),dur:"".concat(f,"ms"),ref:function(a){u.current=a,i&&(i.current=a)},repeatCount:1},"linear"!==h||"d"===b?{values:y}:{from:k,to:p},s))};Animation.propTypes={attribute:PropTypes.string.isRequired,delay:PropTypes.number,duration:PropTypes.number,ease:PropTypes.string,forwardedRef:PropTypes.oneOfType([PropTypes.func,PropTypes.shape({current:PropTypes.instanceOf(Element)})]),from:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),maxCount:PropTypes.number,once:PropTypes.bool,step:PropTypes.func,to:PropTypes.oneOfType([PropTypes.number,PropTypes.string])};var Animation$1=memo(forwardRef(function(a,b){return React.createElement(Animation,_extends({},a,{forwardedRef:b}))})),Shapes={Arc:ArcForwarded,Area:AreaForwarded,Circle:Circle$1,Gradient:Gradient$1,Line:LineForwarded,Polygon:Polygon$1,Rect:Rect$1,Stop:Stop,Text:Text$1};export default SVG$1;export{Animation$1 as Animation,ArcForwarded as Arc,AreaForwarded as Area,Circle$1 as Circle,Gradient$1 as Gradient,Layer$1 as Layer,LineForwarded as Line,Polygon$1 as Polygon,Rect$1 as Rect,SVG$1 as SVG,Shapes,Stop,Text$1 as Text}; |
@@ -31,2 +31,4 @@ { | ||
"prettier": "^1.18.2", | ||
"prop-types": "^15.7.2", | ||
"react": "^16.9.0", | ||
"regenerator-runtime": "^0.13.3", | ||
@@ -77,3 +79,3 @@ "rollup": "^1.21.4", | ||
}, | ||
"version": "2.2.4" | ||
"version": "2.2.6" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
210557
2157
34