UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

43 lines (38 loc) 1.39 kB
import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import React, { useCallback, useEffect, useRef } from 'react'; import JsBarCode from 'jsbarcode'; var BarCode = function BarCode(props) { var value = props.value, _props$renderAs = props.renderAs, renderAs = _props$renderAs === void 0 ? 'canvas' : _props$renderAs, bgColor = props.bgColor, fgColor = props.fgColor, option = props.option; var canvasBarCodeRef = useRef(null); var svgBarCodeRef = useRef(null); var renderCode = useCallback(function () { try { var canvasRef = canvasBarCodeRef.current; var svgRef = svgBarCodeRef.current; if (canvasRef || svgRef) JsBarCode(renderAs === 'canvas' ? canvasRef : svgRef, value, _objectSpread({}, option, { background: (option === null || option === void 0 ? void 0 : option.background) || bgColor, lineColor: (option === null || option === void 0 ? void 0 : option.lineColor) || fgColor })); } catch (error) { console.warn(error); } }, [canvasBarCodeRef, svgBarCodeRef]); useEffect(function () { renderCode(); }, [renderCode()]); if (renderAs === 'canvas') { return React.createElement("canvas", { ref: canvasBarCodeRef }); } return React.createElement("svg", { ref: svgBarCodeRef }); }; export default BarCode; //# sourceMappingURL=BarCode.js.map