UNPKG

@tolokoban/ui

Version:

React components with theme

42 lines 5.06 kB
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime"; import { styleColor } from "../../../theme/styles/color.js"; import Styles from "./generic-icon.module.css"; export default function GenericIcon(props) { var _a, _b; const { value = "M12,10A2,2 0 0,0 10,12C10,13.11 10.9,14 12,14C13.11,14 14,13.11 14,12A2,2 0 0,0 12,10Z", } = props; const type = (_a = props.type) !== null && _a !== void 0 ? _a : "filled"; const size = sizeToFontSize((_b = props.size) !== null && _b !== void 0 ? _b : "M"); const style = Object.assign(Object.assign({}, styleColor({ textColor: props.color })), { width: size, height: size }); return (_jsxs("svg", { className: getClassName(props), style: style, viewBox: "0 0 24 24", preserveAspectRatio: "xMidYMid meet", onClick: (evt) => { if (!props.onClick) return; evt.preventDefault(); evt.stopPropagation(); props.onClick(); }, tabIndex: props.onClick ? 1 : undefined, strokeWidth: 1.5, children: [type === "filled" && (_jsx("path", { d: value, fill: "currentColor", stroke: "none" })), type === "outlined" && (_jsx("path", { d: value, fill: "none", stroke: "currentColor" })), type === "bold" && (_jsx("path", { d: value, fill: "currentColor", stroke: "currentColor" })), type === "dual" && (_jsxs(_Fragment, { children: [_jsx("path", { d: value, opacity: 0.25, fill: "currentColor", stroke: "none" }), _jsx("path", { d: value, fill: "none", stroke: "currentColor" })] }))] })); } function getClassName(props) { const classNames = [Styles.GenericIcon]; if (typeof props.className === "string") { classNames.push(props.className); } if (props.animate === true) classNames.push(Styles.animate); if (props.onClick) classNames.push(Styles.clickable); return classNames.join(" "); } const SIZES = { XXS: ".5em", XS: ".75em", S: "1em", M: "1.5em", L: "2em", XL: "3em", XXL: "5em", }; function sizeToFontSize(value) { var _a; return (_a = SIZES[value]) !== null && _a !== void 0 ? _a : value; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZpZXcvaWNvbnMvZ2VuZXJpYy9nZW5lcmljLWljb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQW1CLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRXpFLE9BQU8sTUFBTSxNQUFNLDJCQUEyQixDQUFBO0FBbUI5QyxNQUFNLENBQUMsT0FBTyxVQUFVLFdBQVcsQ0FBQyxLQUF1Qjs7SUFDdkQsTUFBTSxFQUNGLEtBQUssR0FBRyx3RkFBd0YsR0FDbkcsR0FBRyxLQUFLLENBQUE7SUFDVCxNQUFNLElBQUksR0FBRyxNQUFBLEtBQUssQ0FBQyxJQUFJLG1DQUFJLFFBQVEsQ0FBQTtJQUNuQyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsTUFBQSxLQUFLLENBQUMsSUFBSSxtQ0FBSSxHQUFHLENBQUMsQ0FBQTtJQUM5QyxNQUFNLEtBQUssbUNBQ0osVUFBVSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUN6QyxLQUFLLEVBQUUsSUFBSSxFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2YsQ0FBQTtJQUNELE9BQU8sQ0FDSCxlQUNJLFNBQVMsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQzlCLEtBQUssRUFBRSxLQUFLLEVBQ1osT0FBTyxFQUFDLFdBQVcsRUFDbkIsbUJBQW1CLEVBQUMsZUFBZSxFQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxPQUFNO1lBRTFCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUNwQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUE7WUFDckIsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ25CLENBQUMsRUFDRCxRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3ZDLFdBQVcsRUFBRSxHQUFHLGFBRWYsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUNsQixlQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLGNBQWMsRUFBQyxNQUFNLEVBQUMsTUFBTSxHQUFHLENBQ3ZELEVBQ0EsSUFBSSxLQUFLLFVBQVUsSUFBSSxDQUNwQixlQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsY0FBYyxHQUFHLENBQ3ZELEVBQ0EsSUFBSSxLQUFLLE1BQU0sSUFBSSxDQUNoQixlQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLGNBQWMsRUFBQyxNQUFNLEVBQUMsY0FBYyxHQUFHLENBQy9ELEVBQ0EsSUFBSSxLQUFLLE1BQU0sSUFBSSxDQUNoQiw4QkFDSSxlQUNJLENBQUMsRUFBRSxLQUFLLEVBQ1IsT0FBTyxFQUFFLElBQUksRUFDYixJQUFJLEVBQUMsY0FBYyxFQUNuQixNQUFNLEVBQUMsTUFBTSxHQUNmLEVBQ0YsZUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLGNBQWMsR0FBRyxJQUNyRCxDQUNOLElBQ0MsQ0FDVCxDQUFBO0FBQ0wsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQXVCO0lBQ3pDLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZDLElBQUksT0FBTyxLQUFLLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSTtRQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzNELElBQUksS0FBSyxDQUFDLE9BQU87UUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVwRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDL0IsQ0FBQztBQUVELE1BQU0sS0FBSyxHQUEyQjtJQUNsQyxHQUFHLEVBQUUsTUFBTTtJQUNYLEVBQUUsRUFBRSxPQUFPO0lBQ1gsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsT0FBTztJQUNWLENBQUMsRUFBRSxLQUFLO0lBQ1IsRUFBRSxFQUFFLEtBQUs7SUFDVCxHQUFHLEVBQUUsS0FBSztDQUNiLENBQUE7QUFFRCxTQUFTLGNBQWMsQ0FBQyxLQUFhOztJQUNqQyxPQUFPLE1BQUEsS0FBSyxDQUFDLEtBQUssQ0FBQyxtQ0FBSSxLQUFLLENBQUE7QUFDaEMsQ0FBQyJ9