UNPKG

@patternfly/react-charts

Version:

This library provides a set of React chart components for use with the PatternFly reference implementation.

49 lines 2.14 kB
import { __rest } from "tslib"; import { jsx as _jsx } from "react/jsx-runtime"; import { cloneElement } from 'react'; import { Helpers, Path } from 'victory-core'; import { PathHelpers } from './path-helpers'; const getPath = (props) => { const { x, y } = props; const size = Helpers.evaluateProp(props.size, props); if (props.getPath) { return props.getPath(x, y, size); } const pathFunctions = { circle: PathHelpers.circle, square: PathHelpers.square, diamond: PathHelpers.diamond, eyeSlash: PathHelpers.eyeSlash, triangleDown: PathHelpers.triangleDown, triangleLeft: PathHelpers.triangleLeft, triangleRight: PathHelpers.triangleRight, triangleUp: PathHelpers.triangleUp, plus: PathHelpers.plus, minus: PathHelpers.minus, star: PathHelpers.star, dash: PathHelpers.dash, threshold: PathHelpers.threshold }; const symbol = Helpers.evaluateProp(props.symbol, props); const key = symbol; const symbolFunction = typeof pathFunctions[key] === 'function' ? pathFunctions[key] : pathFunctions.square; return symbolFunction(x, y, size); }; export const ChartPoint = (_a) => { var { active, className, clipPath, datum, desc, events, pathComponent = _jsx(Path, {}), role = 'presentation', shapeRendering = 'auto', tabIndex, transform } = _a, rest = __rest(_a, ["active", "className", "clipPath", "datum", "desc", "events", "pathComponent", "role", "shapeRendering", "tabIndex", "transform"]); const props = Object.assign({ active, className, clipPath, datum, desc, events, role, shapeRendering, tabIndex, transform }, rest); return cloneElement(pathComponent, Object.assign(Object.assign({ className, clipPath, d: getPath(props), desc: Helpers.evaluateProp(desc, props) }, events), { role, shapeRendering, style: Helpers.evaluateStyle(rest.style, props), tabIndex: Helpers.evaluateProp(tabIndex, props), transform })); }; ChartPoint.displayName = 'ChartPoint'; //# sourceMappingURL=ChartPoint.js.map