UNPKG

rumble-charts

Version:

Truly declarative React charts components

57 lines (50 loc) 2.98 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib_es6 = require('./external/tslib/tslib.es6.js'); var React = require('react'); require('./helpers/colorFunc.js'); require('d3-shape'); require('d3-ease'); var isUndefined = require('./helpers/isUndefined.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var counter = 0; /** * Wrapper around standard svg linearGradient and radialGradient. */ function Gradient(_a) { var _b = _a.type, type = _b === void 0 ? 'linear' : _b, _c = _a.idPrefix, idPrefix = _c === void 0 ? 'chartGradient' : _c, _d = _a.gradientUnits, gradientUnits = _d === void 0 ? 'objectBoundingBox' : _d, _e = _a.spreadMethod, spreadMethod = _e === void 0 ? 'pad' : _e, // for linear gradient _f = _a.from, // for linear gradient from = _f === void 0 ? ['0%', '0%'] : _f, _g = _a.to, to = _g === void 0 ? ['100%', '0%'] : _g, // for radial gradient _h = _a.center, // for radial gradient center = _h === void 0 ? ['50%', '50%'] : _h, props = tslib_es6.__rest(_a, ["type", "idPrefix", "gradientUnits", "spreadMethod", "from", "to", "center"]); var id = React.useMemo(function () { if (props.id) { return props.id; } counter++; return idPrefix + counter; }, [props.id, idPrefix]); if (type === 'radial') { var focalPoint = props.focalPoint, radius = props.radius, gradientTransform = props.gradientTransform, cx = props.cx, cy = props.cy, fx = props.fx, fy = props.fy, r = props.r; var _cx = isUndefined.isUndefined(cx) ? (center && center[0]) : cx; var _cy = isUndefined.isUndefined(cy) ? (center && center[1]) : cy; var _fx = isUndefined.isUndefined(fx) ? (focalPoint && focalPoint[0]) : fx; var _fy = isUndefined.isUndefined(fy) ? (focalPoint && focalPoint[1]) : fy; var _r = isUndefined.isUndefined(r) ? radius : r; return React__default["default"].createElement("radialGradient", { id: id, gradientUnits: gradientUnits, gradientTransform: gradientTransform, spreadMethod: spreadMethod, cx: _cx, cy: _cy, fx: _fx, fy: _fy, r: _r }, props.children); } else { var gradientTransform = props.gradientTransform, x1 = props.x1, y1 = props.y1, x2 = props.x2, y2 = props.y2; var _x1 = isUndefined.isUndefined(x1) ? (from && from[0]) : x1; var _y1 = isUndefined.isUndefined(y1) ? (from && from[1]) : y1; var _x2 = isUndefined.isUndefined(x2) ? (to && to[0]) : x2; var _y2 = isUndefined.isUndefined(y2) ? (to && to[1]) : y2; return React__default["default"].createElement("linearGradient", { id: id, gradientUnits: gradientUnits, gradientTransform: gradientTransform, spreadMethod: spreadMethod, x1: _x1, y1: _y1, x2: _x2, y2: _y2 }, props.children); } } exports.Gradient = Gradient;