birdpaper-icon
Version:
基于 Remix icon 生成的 Vue3 图标组件库
2 lines (1 loc) • 1.23 kB
JavaScript
import{defineComponent as c}from"vue";import{computed as s}from"vue";import{createElementVNode as m,normalizeClass as p,normalizeStyle as f,openBlock as d,createElementBlock as u}from"vue";var h=["fill"],k=function(t,e){return d(),u("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",class:p(t.cls),style:f(t.innerStyle),fill:t.fill,onClick:e[0]||(e[0]=(...n)=>t.onClick&&t.onClick(...n))},[...e[1]||(e[1]=[m("path",{d:"M7 4V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1h3c0 2.5-2.5 3.5-3 3.5V10h3c0 2.5-2.5 3.5-3 3.5V16h3c0 2.5-2.5 3.5-3 3.5V21a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1.5c-.5 0-3-1-3-3.5h3v-2.5c-.5 0-3-1-3-3.5h3V7.5c-.5 0-3-1-3-3.5h3Zm5 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"},null,-1)])],14,h)},z=c({name:"IconTrafficLightFill",render:k,props:{size:{type:String,default:"18px"},fill:{type:String,default:"#595959"},spin:{type:Boolean,default:!1},rotate:{type:Number}},emits:["click"],setup(l,{emit:t}){let e=l,n=t,o="bp-icon",r=s(()=>[o,`${o}-icon-traffic-light-fill`,{[`${o}-spin`]:e.spin}]),a=s(()=>({width:e.size,height:e.size,transform:e.rotate?`rotate(${e.rotate}deg)`:void 0}));return{cls:r,innerStyle:a,onClick:i=>n("click",i)}}});export{z as default};