index.362f5a97.js 4.7 KB

123
  1. import{c as W,_ as F}from"./index.beaea096.js";import{M as L,f as E,j as N,a3 as R,p as U,m as j,k as G,am as s,o as h,a as V,_ as i,U as f,T as M,P as $,b as S,Z,u as x,n as q}from"./vue.60d2ee98.js";import{i as v}from"./getStyleSheets.69174091.js";const H={class:"icon-selector w100 h100"},J={class:"icon-selector-warp"},K={class:"icon-selector-warp-title"},Q=L({name:"iconSelector"}),X=L({...Q,props:{prepend:{type:String,default:()=>"ele-Pointer"},placeholder:{type:String,default:()=>"请输入内容搜索图标或者选择图标"},size:{type:String,default:()=>"default"},title:{type:String,default:()=>"请选择图标"},disabled:{type:Boolean,default:()=>!1},clearable:{type:Boolean,default:()=>!0},emptyDescription:{type:String,default:()=>"无相关图标"},modelValue:String},emits:["update:modelValue","get","clear"],setup(n,{emit:d}){const l=n,u=E(()=>W(()=>import("./list.63cb9d4a.js"),["assets/list.63cb9d4a.js","assets/vue.60d2ee98.js","assets/index.beaea096.js","assets/index.b5b78cd7.css","assets/list.0c8c1af3.css"])),r=N(),e=R({fontIconPrefix:"",fontIconWidth:0,fontIconSearch:"",fontIconPlaceholder:"",fontIconTabActive:"ali",fontIconList:{ali:[],ele:[],awe:[]}}),C=()=>{if(!l.modelValue)return!1;e.fontIconSearch="",e.fontIconPlaceholder=l.modelValue},k=()=>{const t=y();setTimeout(()=>{t.filter(a=>a===e.fontIconSearch).length<=0&&(e.fontIconSearch="")},300)},p=U(()=>{const t=y();if(!e.fontIconSearch)return t;let o=e.fontIconSearch.trim().toLowerCase();return t.filter(a=>{if(a.toLowerCase().indexOf(o)!==-1)return a})}),y=()=>{let t=[];return e.fontIconTabActive==="ali"?t=e.fontIconList.ali:e.fontIconTabActive==="ele"?t=e.fontIconList.ele:e.fontIconTabActive==="awe"&&(t=e.fontIconList.awe),t},P=()=>{if(l.modelValue==="")return e.fontIconPlaceholder=l.placeholder;e.fontIconPlaceholder=l.modelValue,e.fontIconPrefix=l.modelValue},b=()=>{let t="ali";return l.modelValue.indexOf("iconfont")>-1?t="ali":l.modelValue.indexOf("ele-")>-1?t="ele":l.modelValue.indexOf("fa")>-1&&(t="awe"),e.fontIconTabActive=t,t},_=async t=>{if(t==="ali"){if(e.fontIconList.ali.length>0)return;await v.ali().then(o=>{e.fontIconList.ali=o.map(a=>`iconfont ${a}`)})}else if(t==="ele"){if(e.fontIconList.ele.length>0)return;await v.ele().then(o=>{e.fontIconList.ele=o})}else if(t==="awe"){if(e.fontIconList.awe.length>0)return;await v.awe().then(o=>{e.fontIconList.awe=o.map(a=>`fa ${a}`)})}e.fontIconPlaceholder=l.placeholder,P()},T=t=>{_(t.paneName),r.value.focus()},I=t=>{e.fontIconPlaceholder=t,e.fontIconPrefix=t,d("get",e.fontIconPrefix),d("update:modelValue",e.fontIconPrefix),r.value.focus()},z=()=>{e.fontIconPrefix="",d("clear",e.fontIconPrefix),d("update:modelValue",e.fontIconPrefix)},w=()=>{q(()=>{e.fontIconWidth=r.value.$el.offsetWidth})},A=()=>{window.addEventListener("resize",()=>{w()})};return j(()=>{_(b()),A(),w()}),G(()=>l.modelValue,()=>{P(),b()}),(t,o)=>{const a=s("SvgIcon"),B=s("el-input"),m=s("el-tab-pane"),D=s("el-tabs"),O=s("el-popover");return h(),V("div",H,[i(B,{modelValue:e.fontIconSearch,"onUpdate:modelValue":o[0]||(o[0]=c=>e.fontIconSearch=c),placeholder:e.fontIconPlaceholder,clearable:n.clearable,disabled:n.disabled,size:n.size,ref_key:"inputWidthRef",ref:r,onClear:z,onFocus:C,onBlur:k},{prepend:f(()=>{var c,g;return[(e.fontIconPrefix===""?((c=n.prepend)==null?void 0:c.indexOf("ele-"))>-1:((g=e.fontIconPrefix)==null?void 0:g.indexOf("ele-"))>-1)?(h(),M(a,{key:0,name:e.fontIconPrefix===""?n.prepend:e.fontIconPrefix,class:"font14"},null,8,["name"])):(h(),V("i",{key:1,class:$([e.fontIconPrefix===""?n.prepend:e.fontIconPrefix,"font14"])},null,2))]}),_:1},8,["modelValue","placeholder","clearable","disabled","size"]),i(O,{placement:"bottom",width:e.fontIconWidth,transition:"el-zoom-in-top","popper-class":"icon-selector-popper",trigger:"click","virtual-ref":r.value,"virtual-triggering":""},{default:f(()=>[S("div",J,[S("div",K,Z(n.title),1),i(D,{modelValue:e.fontIconTabActive,"onUpdate:modelValue":o[1]||(o[1]=c=>e.fontIconTabActive=c),onTabClick:T},{default:f(()=>[i(m,{lazy:"",label:"ali",name:"ali"},{default:f(()=>[i(x(u),{list:p.value,empty:n.emptyDescription,prefix:e.fontIconPrefix,onGetIcon:I},null,8,["list","empty","prefix"])]),_:1}),i(m,{lazy:"",label:"ele",name:"ele"},{default:f(()=>[i(x(u),{list:p.value,empty:n.emptyDescription,prefix:e.fontIconPrefix,onGetIcon:I},null,8,["list","empty","prefix"])]),_:1}),i(m,{lazy:"",label:"awe",name:"awe"},{default:f(()=>[i(x(u),{list:p.value,empty:n.emptyDescription,prefix:e.fontIconPrefix,onGetIcon:I},null,8,["list","empty","prefix"])]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["width","virtual-ref"])])}}}),oe=F(X,[["__file","C:/Users/89282/Desktop/xmgl_yjy/project-manager/h5/src/components/iconSelector/index.vue"]]);export{oe as default};
  2. //# sourceMappingURL=index.362f5a97.js.map