UNPKG

@fe6/icon-img

Version:

Water Icon 的纯 HTML 图标

91 lines (75 loc) 2.96 kB
import * as IconMap from './map'; import { IconWrapper } from './runtime'; var reColors = ['#000', '#2f88ff', '#fff', '#43ccf8']; var reFullColors = ['#000000', '#2f88ff', '#ffffff', '#43ccf8']; var reEnColors = ['black', '#2f88ff', 'white', '#43ccf8']; var colorHex = function colorHex(color) { var that = color; var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; if (/^(rgb|RGB)/.test(that)) { var aColor = that.replace(/(?:(|)|rgb|RGB)*/g, "").split(","); var strHex = "#"; for (var i = 0; i < aColor.length; i++) { var hex = Number(aColor[i]).toString(16); if (hex.length < 2) { hex = '0' + hex; } strHex += hex; } if (strHex.length !== 7) { strHex = that; } return strHex; } else if (reg.test(that)) { var aNum = that.replace(/#/, "").split(""); if (aNum.length === 6) { return that; } else if (aNum.length === 3) { var numHex = "#"; for (var _i = 0; _i < aNum.length; _i += 1) { numHex += aNum[_i] + aNum[_i]; } return numHex; } } return that; }; export var allGetContent = function allGetContent(svgItem, props) { if (!svgItem) { return ''; } ; var size = props.size, colors = props.colors, strokeLinejoin = props.strokeLinejoin, strokeLinecap = props.strokeLinecap, strokeWidth = props.strokeWidth; var originSvg = svgItem; originSvg = originSvg.replace(/\\/g, ''); originSvg = originSvg[0] === '"' ? originSvg.substr(1, originSvg.length - 1) : originSvg; originSvg = originSvg[originSvg.length - 1] === '"' ? originSvg.substr(0, originSvg.length - 1) : originSvg; originSvg = originSvg.replace(/width="\d{0,}\w{2,3}"/, "width=\"".concat(size, "\"")); originSvg = originSvg.replace(/height="\d{0,}\w{2,3}"/, "height=\"".concat(size, "\"")); var contentHtml = svgItem ? originSvg : ''; if (colors) { colors.forEach(function (colorItem, colorIdx) { contentHtml = contentHtml.replace(new RegExp("".concat(reColors[colorIdx], "|").concat(reColors[colorIdx].toUpperCase(), "|").concat(reEnColors[colorIdx], "|").concat(reEnColors[colorIdx].toUpperCase(), "|").concat(reFullColors[colorIdx], "|").concat(reFullColors[colorIdx].toUpperCase()), 'g'), colorHex(colorItem)); }); } ; contentHtml = contentHtml.replace(/stroke-linejoin="round"/g, "stroke-linejoin=\"".concat(strokeLinejoin, "\"")); contentHtml = contentHtml.replace(/stroke-linecap="round"/g, "stroke-linecap=\"".concat(strokeLinecap, "\"")); contentHtml = contentHtml.replace(/stroke-width="4"/g, "stroke-width=\"".concat(strokeWidth, "\"")); return contentHtml; }; export var iconKeg = function iconKeg(props) { if (props && props.type) { return IconMap[props.type](props); } if (props && props.svg) { return IconWrapper('icon-keg', true, function (props) { var curSvg = String(props.svg); return allGetContent(curSvg, props); })(props); } };