react-cm-ui
Version:
React UI for Healthy Church
117 lines (105 loc) • 3.46 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _iconConstants = require("./iconConstants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var propTypes = {
circle: _propTypes["default"].shape({
id: _propTypes["default"].string.isRequired,
cx: _propTypes["default"].string.isRequired,
cy: _propTypes["default"].string.isRequired,
r: _propTypes["default"].string.isRequired
}),
gradientId: _propTypes["default"].string.isRequired,
maskId: _propTypes["default"].string.isRequired,
path: _propTypes["default"].shape({
id: _propTypes["default"].string.isRequired,
d: _propTypes["default"].string.isRequired,
transform: _propTypes["default"].string
}),
polygon: _propTypes["default"].shape({
id: _propTypes["default"].string.isRequired,
transform: _propTypes["default"].string,
points: _propTypes["default"].string.isRequired
}),
renderGradientColor: _propTypes["default"].node,
style: _propTypes["default"].shape({}),
title: _iconConstants.TITLE_PROP_TYPE,
type: _propTypes["default"].string,
viewBox: _propTypes["default"].string
};
var defaultProps = {
circle: null,
path: null,
polygon: null,
renderGradientColor: null,
style: null,
type: null,
title: null,
viewBox: '0 0 24 24'
};
function IconSVG(props) {
var circle = props.circle,
gradientId = props.gradientId,
maskId = props.maskId,
path = props.path,
polygon = props.polygon,
renderGradientColor = props.renderGradientColor,
style = props.style,
title = props.title,
type = props.type,
viewBox = props.viewBox;
var id;
if (circle) {
id = circle.id;
}
if (path) {
id = path.id;
}
if (polygon) {
id = polygon.id;
}
return /*#__PURE__*/_react["default"].createElement("svg", {
style: style,
viewBox: viewBox
}, title !== false && /*#__PURE__*/_react["default"].createElement("title", null, title || type), /*#__PURE__*/_react["default"].createElement("defs", null, circle && /*#__PURE__*/_react["default"].createElement("circle", {
id: id,
cx: circle.cx,
cy: circle.cy,
r: circle.r
}), path && /*#__PURE__*/_react["default"].createElement("path", {
id: id,
d: path.d,
transform: path.transform
}), polygon && /*#__PURE__*/_react["default"].createElement("polygon", {
id: id,
transform: polygon.transform,
points: polygon.points
}), renderGradientColor), /*#__PURE__*/_react["default"].createElement("g", {
fill: "none",
fillRule: "evenodd"
}, renderGradientColor && /*#__PURE__*/_react["default"].createElement("mask", {
id: maskId,
fill: "white"
}, /*#__PURE__*/_react["default"].createElement("use", {
xlinkHref: "#".concat(id)
})), /*#__PURE__*/_react["default"].createElement("use", {
className: "icon-use-path",
xlinkHref: "#".concat(id)
}), renderGradientColor && /*#__PURE__*/_react["default"].createElement("rect", {
fill: "url(#".concat(gradientId, ")"),
mask: "url(#".concat(maskId, ")"),
x: "0",
y: "0",
height: "24",
width: "24"
})));
}
IconSVG.propTypes = propTypes;
IconSVG.defaultProps = defaultProps;
var _default = IconSVG;
exports["default"] = _default;