vue-icomoon
Version:
It allows you to simply view the icons in the selection.json file provided by Icomoon.
2 lines (1 loc) • 2.08 kB
JavaScript
(function(t,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t["vue-icomoon"]={},t.vue))})(this,function(t,e){"use strict";var m=(o,r)=>{for(const[l,n]of r)o[l]=n;return o};const y={name:"Icomoon",props:{iconSet:{type:Object,required:!0},icon:{type:String,default:null},name:{type:String,required:!0},title:{type:String,default:null},color:{type:String,default:""},size:{type:[String,Number],default:16},disableFill:{type:Boolean,default:!1},removeInitialStyle:{type:Boolean,default:!1},style:{type:Object,default:{}}},setup(o){const{iconSet:r,icon:l,name:n,size:c,title:v,disableFill:a,removeInitialStyle:s}=e.toRefs(o),u={display:"inline-block",stroke:"currentColor",fill:"currentColor"},b=e.computed(()=>l.value||n.value),i=e.computed(()=>r.value.icons.find(p=>p.properties.name===b.value));if(!i.value)return{};const w=e.computed(()=>`0 0 ${i.value.icon.width||"1024"} 1024`),d=e.ref({...s.value?{}:u});e.watchEffect(()=>{c.value&&(d.value.width=c.value,d.value.height=c.value)});const I=e.computed(()=>i.value.icon.paths.map((p,x)=>{const f=i.value.icon.attrs?i.value.icon.attrs[x]:null;return{d:p,...!a.value&&f?f:{}}}));return{currentIcon:i,viewBox:w,style:d,paths:I}}},h=["viewBox"],_=["d"],k={key:0};function B(o,r,l,n,c,v){return n.currentIcon?(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:0,viewBox:n.viewBox,style:n.style},{style:n.style,color:l.color}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.paths,({d:a,...s},u)=>(e.openBlock(),e.createElementBlock("path",e.mergeProps({d:a,key:u},s),null,16,_))),128)),l.title?(e.openBlock(),e.createElementBlock("title",k,e.toDisplayString(l.title),1)):e.createCommentVNode("",!0)],16,h)):e.createCommentVNode("",!0)}var g=m(y,[["render",B]]);const S=o=>o&&Array.isArray(o.icons)?o.icons.map(r=>r.properties.name):null;t.Icomoon=g,t.iconList=S,Object.defineProperty(t,"__esModule",{value:!0}),t[Symbol.toStringTag]="Module"});