UNPKG

victory-canvas

Version:
41 lines (40 loc) 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CanvasCurve = void 0; var _react = _interopRequireDefault(require("react")); var _victoryCore = require("victory-core"); var _useCanvasContext = require("./hooks/use-canvas-context"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const CanvasCurve = props => { const { canvasRef, clear, clip } = (0, _useCanvasContext.useCanvasContext)(); const { style, data } = props; const { stroke, strokeWidth } = style; const draw = _react.default.useCallback(ctx => { const line = _victoryCore.LineHelpers.getLineFunction(props); ctx.strokeStyle = stroke; ctx.lineWidth = strokeWidth; line.context(ctx)(data); ctx.stroke(); }, [data, props, stroke, strokeWidth]); _react.default.useEffect(() => { const ctx = canvasRef.current?.getContext("2d"); if (!ctx) return; clear(ctx); draw(ctx); clip(ctx); }, [canvasRef, draw, clear, clip]); return null; }; exports.CanvasCurve = CanvasCurve;