winbox-ui-next
Version:
We Design Vue 2.0: A Vue.js 3 UI Library
69 lines (68 loc) • 2.14 kB
JavaScript
;
var vue = require("vue");
var globalConfig = require("../../_utils/global-config.js");
var is = require("../../_utils/is.js");
var pluginVue_exportHelper = require("../../_virtual/plugin-vue_export-helper");
const _sfc_main = vue.defineComponent({
name: "IconMan",
props: {
size: {
type: [Number, String]
},
strokeWidth: {
type: Number,
default: 4
},
strokeLinecap: {
type: String,
default: "butt",
validator: (value) => {
return ["butt", "round", "square"].includes(value);
}
},
strokeLinejoin: {
type: String,
default: "miter",
validator: (value) => {
return ["arcs", "bevel", "miter", "miter-clip", "round"].includes(value);
}
},
spin: Boolean
},
setup(props) {
const prefixCls = globalConfig.getPrefixCls("icon");
const cls = vue.computed(() => [prefixCls, `${prefixCls}-man`, { [`${prefixCls}-spin`]: props.spin }]);
const innerStyle = vue.computed(() => {
if (props.size) {
return {
fontSize: is.isNumber(props.size) ? `${props.size}px` : props.size
};
}
return void 0;
});
return {
cls,
innerStyle
};
}
});
const _hoisted_1 = ["stroke-width", "stroke-linecap", "stroke-linejoin"];
const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M40 8 29.68 18.321M31 8h9v9m-7 10c0 7.18-5.82 13-13 13S7 34.18 7 27s5.82-13 13-13 13 5.82 13 13Z" }, null, -1);
const _hoisted_3 = [
_hoisted_2
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 48 48",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
stroke: "currentColor",
class: vue.normalizeClass(_ctx.cls),
style: vue.normalizeStyle(_ctx.innerStyle),
"stroke-width": _ctx.strokeWidth,
"stroke-linecap": _ctx.strokeLinecap,
"stroke-linejoin": _ctx.strokeLinejoin
}, _hoisted_3, 14, _hoisted_1);
}
var _IconMan = /* @__PURE__ */ pluginVue_exportHelper(_sfc_main, [["render", _sfc_render]]);
module.exports = _IconMan;