123 |
- import{_ as W}from"./preload-helper.41c905a7.js";import{e as L,ag as F,r as E,G as N,f as G,o as R,w as U,a0 as s,g as h,h as V,A as i,q as r,p as $,n as M,j as S,z as j,u as x,L as q}from"./vue.e266cb73.js";import{i as v}from"./getStyleSheets.359ce1f6.js";import{_ as H}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.f84209b0.js";const J={class:"icon-selector w100 h100"},K={class:"icon-selector-warp"},Q={class:"icon-selector-warp-title"},X=L({name:"iconSelector"}),Y=L({...X,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=F(()=>W(()=>import("./list.12bec248.js"),["./list.12bec248.js","./vue.e266cb73.js","./_plugin-vue_export-helper.c27b6911.js","./list.0c8c1af3.css"],import.meta.url)),f=E(),e=N({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=g();setTimeout(()=>{t.filter(a=>a===e.fontIconSearch).length<=0&&(e.fontIconSearch="")},300)},p=G(()=>{const t=g();if(!e.fontIconSearch)return t;let o=e.fontIconSearch.trim().toLowerCase();return t.filter(a=>{if(a.toLowerCase().indexOf(o)!==-1)return a})}),g=()=>{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},_=()=>{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},y=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()},z=t=>{y(t.paneName),f.value.focus()},I=t=>{e.fontIconPlaceholder=t,e.fontIconPrefix=t,d("get",e.fontIconPrefix),d("update:modelValue",e.fontIconPrefix),f.value.focus()},T=()=>{e.fontIconPrefix="",d("clear",e.fontIconPrefix),d("update:modelValue",e.fontIconPrefix)},b=()=>{q(()=>{e.fontIconWidth=f.value.$el.offsetWidth})},A=()=>{window.addEventListener("resize",()=>{b()})};return R(()=>{y(_()),A(),b()}),U(()=>l.modelValue,()=>{P(),_()}),(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",J,[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:f,onClear:T,onFocus:C,onBlur:k},{prepend:r(()=>{var c,w;return[(e.fontIconPrefix===""?((c=n.prepend)==null?void 0:c.indexOf("ele-"))>-1:((w=e.fontIconPrefix)==null?void 0:w.indexOf("ele-"))>-1)?(h(),$(a,{key:0,name:e.fontIconPrefix===""?n.prepend:e.fontIconPrefix,class:"font14"},null,8,["name"])):(h(),V("i",{key:1,class:M([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":f.value,"virtual-triggering":""},{default:r(()=>[S("div",K,[S("div",Q,j(n.title),1),i(D,{modelValue:e.fontIconTabActive,"onUpdate:modelValue":o[1]||(o[1]=c=>e.fontIconTabActive=c),onTabClick:z},{default:r(()=>[i(m,{lazy:"",label:"ali",name:"ali"},{default:r(()=>[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:r(()=>[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:r(()=>[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"])])}}}),le=H(Y,[["__file","C:/Users/89282/Desktop/lechang_storage/lechang_storage/vue-next-admin/src/components/iconSelector/index.vue"]]);export{le as default};
- //# sourceMappingURL=index.3030dd5b.js.map
|