@uiw/react-signature
Version:
A signature board component for react.
45 lines (44 loc) • 1.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Paths = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _perfectFreehand = require("perfect-freehand");
var _store = require("./store");
var _options = require("./options");
var _utils = require("./utils");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["renderPath", "container"];
var Paths = exports.Paths = function Paths() {
var data = (0, _store.useStore)();
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
children: Object.keys(data).map(function (key, index) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CreatePath, {
keyName: key,
index: index,
data: data[key]
}, key);
})
});
};
var CreatePath = function CreatePath(_ref) {
var _ref$data = _ref.data,
data = _ref$data === void 0 ? [] : _ref$data,
index = _ref.index,
keyName = _ref.keyName;
var _useOptionStore = (0, _options.useOptionStore)(),
renderPath = _useOptionStore.renderPath,
container = _useOptionStore.container,
options = (0, _objectWithoutProperties2["default"])(_useOptionStore, _excluded);
var stroke = (0, _perfectFreehand.getStroke)(data, options);
var pathData = (0, _utils.getSvgPathFromStroke)(stroke);
var dom = renderPath ? renderPath(pathData, keyName, data, index, container) : null;
if (dom) return dom;
return /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
d: pathData
});
};