birdpaper-icon
Version:
基于 Remix icon 生成的 Vue3 图标组件库
2 lines (1 loc) • 1.23 kB
JavaScript
import{defineComponent as m}from"vue";import{computed as i}from"vue";import{createElementVNode as p,normalizeClass as c,normalizeStyle as d,openBlock as f,createElementBlock as v}from"vue";var u=["fill"],k=function(t,e){return f(),v("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",class:c(t.cls),style:d(t.innerStyle),fill:t.fill,onClick:e[0]||(e[0]=(...n)=>t.onClick&&t.onClick(...n))},[...e[1]||(e[1]=[p("path",{d:"M12 4c6.075 0 11 4.925 11 11v5h-2v-5a9 9 0 0 0-8.735-8.996L12 6a9 9 0 0 0-8.996 8.735L3 15v5H1v-5C1 8.925 5.925 4 12 4Zm0 4a7 7 0 0 1 7 7v5h-2v-5a5 5 0 0 0-4.783-4.995L12 10a5 5 0 0 0-4.995 4.783L7 15v5H5v-5a7 7 0 0 1 7-7Zm0 4a3 3 0 0 1 3 3v5h-2v-5a1 1 0 0 0-.883-.993L12 14a1 1 0 0 0-.993.883L11 15v5H9v-5a3 3 0 0 1 3-3Z"},null,-1)])],14,u)},z=m({name:"IconRainbowLine",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=i(()=>[o,`${o}-icon-rainbow-line`,{[`${o}-spin`]:e.spin}]),a=i(()=>({width:e.size,height:e.size,transform:e.rotate?`rotate(${e.rotate}deg)`:void 0}));return{cls:r,innerStyle:a,onClick:s=>n("click",s)}}});export{z as default};