frc-ui
Version:
React Web UI
51 lines (43 loc) • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = Icon;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var Path = {
checkbox: 'M896 0l-768 0c-70.41024 0-128 57.61024-128 128l0 768c0 70.41024 57.61024 128 128 128l768 0c70.41024 0 128-57.61024 128-128l0-768c0-70.41024-57.61024-128-128-128zM448 794.50112l-237.2608-237.2608 90.50112-90.50112 146.7392 146.7392 306.74944-306.74944 90.50112 90.50112-397.25056 397.25056z',
radio: 'M512 4.533c-279.803 0-507.467 227.665-507.467 507.467 0 279.839 227.629 507.467 507.467 507.467 279.839 0 507.467-227.629 507.467-507.467 0-279.803-227.629-507.467-507.467-507.467zM512 946.65c-239.68 0-434.65-195.006-434.65-434.65 0-239.68 194.97-434.65 434.65-434.65 239.644 0 434.65 194.97 434.65 434.65 0 239.644-195.006 434.65-434.65 434.65zM512 329.955c-100.38 0-182.045 81.665-182.045 182.045s81.665 182.045 182.045 182.045 182.045-81.665 182.045-182.045-81.665-182.045-182.045-182.045z',
plus: 'M810.666667 469.333333h-256V213.333333a42.666667 42.666667 0 0 0-85.333334 0v256H213.333333a42.666667 42.666667 0 0 0 0 85.333334h256v256a42.666667 42.666667 0 0 0 85.333334 0v-256h256a42.666667 42.666667 0 0 0 0-85.333334z',
minus: 'M810.666667 554.666667H213.333333a42.666667 42.666667 0 0 1 0-85.333334h597.333334a42.666667 42.666667 0 0 1 0 85.333334z'
};
function Icon(props) {
var type = props.type,
style = props.style,
className = props.className,
onClick = props.onClick;
var iconClass = (0, _classnames["default"])("swc-custom-icon swc-custom-icon-".concat(type), className);
function click(ev) {
if (typeof onClick === 'function') {
ev.stopPropagation();
onClick(ev);
}
}
return /*#__PURE__*/_react["default"].createElement("svg", {
viewBox: '0 0 1024 1024',
className: iconClass,
"data-icon": type,
width: '1em',
height: '1em',
fill: 'currentColor',
"aria-hidden": 'true',
focusable: 'false',
style: Object.assign({
display: 'inline-block'
}, style || {}),
onClick: click
}, /*#__PURE__*/_react["default"].createElement("path", {
d: Path[type]
}));
}