@maxtan/ez-ui 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),m=require("element-plus"),O=(t,n)=>(t.install=l=>{for(const o of[t,...Object.values({})])o.name?l.component(o.name,o):process.env.NODE_ENV!=="production"&&console.warn("[withInstall] Component is missing name property:",o)},t),pe=t=>t.replace(/\B([A-Z])/g,"-$1").toLowerCase(),ge=t=>t.replace(/-([a-z])/g,(n,l)=>l.toUpperCase()),Ae=t=>{const n=t.startsWith("onUpdate:")?t.slice(9):t,l=new Set([t,n,pe(n),ge(n)]);return t.startsWith("onUpdate:")||(l.add(`onUpdate:${n}`),l.add(`onUpdate:${pe(n)}`),l.add(`onUpdate:${ge(n)}`)),l},De=(t,n)=>{for(const l of t)if(Ae(l).has(n))return!0;return!1};function ee(t=[]){const n=e.useAttrs(),l=e.computed(()=>{const a={};for(const d in n)De(t,d)||(a[d]=n[d]);return a}),o=e.computed(()=>{const a={};for(const d in l.value)d.startsWith("on")||(a[d]=l.value[d]);return a}),s=e.computed(()=>{const a={};for(const d in l.value)d.startsWith("on")&&(a[d]=l.value[d]);return a});return{attrs:l,props:o,listeners:s}}var Ne={s:{label:{name:"姓名",email:"电子邮件地址",age:"年龄",sex:"性别",column:"列设置",region:"国家/地区",provinces:"洲/省",city:"城市",post:"邮编",address:"详细地址"},hint:{input:"请输入",select:"请选择"},button:{search:"搜索",query:"查询",add:"新增",edit:"编辑",remove:"删除",reset:"重置",export:"导出",cancel:"取消",confirm:"确认",save:"保存",continue:"继续",view:"查看",detail:"详情",operations:"操作",next:"下一步",pre:"上一步",submit:"提交",back:"返回",expand:"展开",collapse:"收起"},message:{empty:"暂无数据",success:"操作成功",fail:"操作失败",hint:"提示",repeat:"请稍后再试",know:"我知道了",uploadFail:"上传失败"},validate:{special:"不可输入特殊字符",upload:{image:"仅支持图片格式",limit:"上传文件大小不能超过 {max} MB!"}},options:{yes:"是",no:"否",enable:"启用",disable:"停用"},date:{label:"日期",year:"年",month:"月",day:"日",hour:"时",minute:"分",second:"秒",mon:"周一",tue:"周二",wed:"周三",thu:"周四",fri:"周五",sat:"周六",sun:"周天"}}};const{s:Te}=Ne;function Re(t,n){return n.split(".").reduce((l,o)=>l&&typeof l=="object"?l[o]:void 0,t)}function Ue(t,n={}){return t.replace(/\{\s*(\w+)\s*\}/g,(l,o)=>{const s=n[o];return s!==void 0?String(s):`{${o}}`})}function oe(){const{t,lang:n}=m.useLocale();return{t:(o,s={})=>{const a=t(o,s);if(a!==o)return a;const d=Re({s:Te},o);return typeof d=="string"?Ue(d,s):o},lang:n}}function U(t){if(t===null||typeof t!="object")return t;if(t instanceof Date)return new Date(t.getTime());if(t instanceof Array)return t.map(l=>U(l));if(t instanceof Set)return new Set(Array.from(t).map(l=>U(l)));if(t instanceof Map)return new Map(Array.from(t.entries()).map(([l,o])=>[U(l),U(o)]));const n=Object.create(Object.getPrototypeOf(t));for(const l in t)t.hasOwnProperty(l)&&(n[l]=U(t[l]));return n}function Fe(t,n=200){let l=null;return function(...o){l||(l=setTimeout(()=>{t.apply(this,o),l=null},n))}}const Ie=e.defineComponent({name:"EzCheckbox",inheritAttrs:!1}),Le=e.defineComponent({...Ie,props:e.mergeModels({type:{default:"default"},options:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=t,l=e.useModel(t,"modelValue"),{attrs:o}=ee(["options","type","modelValue"]),s=e.computed(()=>["default","border"].includes(n.type)?m.ElCheckbox:m.ElCheckboxButton);return(a,d)=>(e.openBlock(),e.createBlock(e.unref(m.ElCheckboxGroup),e.mergeProps({modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=k=>l.value=k)},e.unref(o)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,k=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps({key:String(k.value),ref_for:!0},k,{border:t.type==="border"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1040,["border"]))),128))]),_:1},16,["modelValue"]))}}),re=O(Le);var le=(t=>(t.CANCEL="取消",t.CONFIRM="确定",t))(le||{});const Oe={key:1},qe={key:0,class:"ez-dialog__body"},Ge={key:1},He=e.defineComponent({name:"EzDialog",inheritAttrs:!1,directives:{loading:m.ElLoading.directive}}),je=e.defineComponent({...He,props:e.mergeModels({title:{default:""},loading:{type:Boolean,default:!1},cancelText:{default:le.CANCEL},confirmText:{default:le.CONFIRM}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["cancel","confirm"],["update:modelValue"]),setup(t,{emit:n}){const{t:l}=oe(),o=t,s=n,a=e.useModel(t,"modelValue"),{attrs:d}=ee(["title","loading","cancelText","confirmText","modelValue"]),k=()=>{a.value=!1,s("cancel")},b=()=>{s("confirm")};return(v,h)=>{const w=e.resolveDirective("loading");return e.openBlock(),e.createBlock(e.unref(m.ElDialog),e.mergeProps({modelValue:a.value,"onUpdate:modelValue":h[0]||(h[0]=T=>a.value=T),class:"ez-dialog",width:800,"append-to-body":!1,"close-on-click-modal":!1,"destroy-on-close":!0,"close-on-press-escape":!1},e.unref(d)),{header:e.withCtx(()=>[v.$slots.header?e.renderSlot(v.$slots,"header",{key:0}):(e.openBlock(),e.createElementBlock("p",Oe,e.toDisplayString(o.title),1))]),default:e.withCtx(()=>[v.$slots.default?e.withDirectives((e.openBlock(),e.createElementBlock("div",qe,[e.renderSlot(v.$slots,"default")])),[[w,o.loading]]):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[v.$slots.footer?e.renderSlot(v.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",Ge,[o.cancelText?(e.openBlock(),e.createBlock(e.unref(m.ElButton),{key:0,type:"default",onClick:k},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.cancelText===e.unref(le).CANCEL?e.unref(l)("s.button.cancel"):o.cancelText),1)]),_:1})):e.createCommentVNode("",!0),o.confirmText?(e.openBlock(),e.createBlock(e.unref(m.ElButton),{key:1,type:"primary",loading:o.loading,onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.confirmText===e.unref(le).CONFIRM?e.unref(l)("s.button.confirm"):o.confirmText),1)]),_:1},8,["loading"])):e.createCommentVNode("",!0)]))]),_:3},16,["modelValue"])}}}),be=O(je),Ke=e.defineComponent({name:"EzSelect",inheritAttrs:!1}),We=e.defineComponent({...Ke,props:e.mergeModels({options:{default:()=>[]}},{modelValue:{type:[String,Number,Boolean,Object,Array]},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue"),{attrs:l}=ee(["options","modelValue"]),o=d=>typeof d>"u",s=d=>!o(d.options),a=(d,k)=>s(d)?`group-${d.label}-${k}`:d.value!=null&&typeof d.value!="object"?String(d.value):`option-${k}`;return(d,k)=>(e.openBlock(),e.createBlock(e.unref(m.ElSelect),e.mergeProps({modelValue:n.value,"onUpdate:modelValue":k[0]||(k[0]=b=>n.value=b)},e.unref(l)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(b,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a(b,v)},[s(b)?(e.openBlock(),e.createBlock(e.unref(m.ElOptionGroup),e.mergeProps({key:0,ref_for:!0},b),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.options,(h,w)=>(e.openBlock(),e.createBlock(e.unref(m.ElOption),e.mergeProps({key:a(h,w)},{ref_for:!0},h),null,16))),128))]),_:2},1040)):(e.openBlock(),e.createBlock(e.unref(m.ElOption),e.mergeProps({key:1,ref_for:!0},b),null,16))],64))),128))]),_:1},16,["modelValue"]))}}),ne=O(We),Ye=e.defineComponent({name:"EzRadio",inheritAttrs:!1}),Qe=e.defineComponent({...Ye,props:e.mergeModels({type:{default:"default"},options:{default:()=>[]}},{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=t,l=e.useModel(t,"modelValue"),{attrs:o}=ee(["options","type","modelValue"]),s=e.computed(()=>["default","border"].includes(n.type)?m.ElRadio:m.ElRadioButton);return(a,d)=>(e.openBlock(),e.createBlock(e.unref(m.ElRadioGroup),e.mergeProps({modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=k=>l.value=k)},e.unref(o)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,k=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps({key:String(k.value),ref_for:!0},k,{border:t.type==="border"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1040,["border"]))),128))]),_:1},16,["modelValue"]))}}),se=O(Qe),Xe=e.defineComponent({name:"EzIcon",inheritAttrs:!1}),_e=e.defineComponent({...Xe,props:{size:{default:20},color:{default:"inherit"}},setup(t){const n=t,l=s=>{if(!(s==null||s===""))return typeof s=="number"?`${s}px`:s},o=e.computed(()=>{const{size:s,color:a}=n;return!s&&!a?{}:{fontSize:l(s),color:a}});return(s,a)=>(e.openBlock(),e.createElementBlock("i",e.mergeProps({class:"ez-icon",style:o.value},s.$attrs),[e.renderSlot(s.$slots,"default",{class:"w-[1em] h-[1em]"})],16))}}),Q=O(_e),Ze={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},Je=e.defineComponent({name:"ArrowDown",__name:"ArrowDown",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",Ze,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"m832 340.992-320 312-320-312a28.8 28.8 0 0 0-20.992-8.96 28.8 28.8 0 0 0-20.992 8.96 28.8 28.8 0 0 0-8.96 20.992c0 8 2.624 14.72 8 19.968l340.992 332.032c5.952 6.016 13.312 8.96 22.016 8.96 8.64 0 16-2.944 22.016-8.96l340.992-331.008a31.23 31.23 0 0 0 8-21.504c0-8.32-3.008-15.36-8.96-20.992a29.76 29.76 0 0 0-42.048.448v.064z"},null,-1)])]))}}),et={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},tt=e.defineComponent({name:"ArrowUp",__name:"ArrowUp",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",et,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M488.96 344 148.992 700.992a32.26 32.26 0 0 0-8.96 22.016c0 8 2.944 15.36 8.96 22.016v1.024c6.016 5.952 13.184 8.96 21.504 8.96S185.984 752 192 746.048l320-336 320 336c6.016 5.952 13.184 8.96 21.504 8.96s15.488-3.008 21.504-8.96v-1.024a32.26 32.26 0 0 0 8.96-22.016 32.26 32.26 0 0 0-8.96-22.016L534.976 344A31.17 31.17 0 0 0 512 335.04a31.17 31.17 0 0 0-23.04 8.96"},null,-1)])]))}}),lt={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},ve=e.defineComponent({name:"Delete",__name:"delete",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",lt,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M218.88 118.592C208 139.968 208 168 208 245.376V272H96a32 32 0 1 0 0 64h832a32 32 0 0 0 0-64H816v-26.624c0-77.44 0-105.408-10.88-126.72a100.03 100.03 0 0 0-43.712-43.776C740.032 64 712 64 634.624 64H389.376c-77.44 0-105.408 0-126.72 10.88-18.88 9.6-34.176 24.96-43.776 43.712M752 272H272v-64c0-28.032 0-42.304 5.568-52.992a50.24 50.24 0 0 1 21.44-21.44C309.76 128.064 323.968 128 352 128h320c28.032 0 42.304 0 52.992 5.568 9.152 4.736 16.64 12.288 21.44 21.44C751.936 165.696 752 179.968 752 208zM192 416a32 32 0 0 0-32 32v358.4c0 53.76.128 81.28 10.688 101.76a96.54 96.54 0 0 0 41.216 41.152C232.384 959.872 259.84 960 313.6 960h396.8c53.76 0 81.28-.128 101.76-10.688a96.54 96.54 0 0 0 41.152-41.216C863.872 887.616 864 860.16 864 806.4V448a32 32 0 0 0-64 0v371.2c0 26.88 0 40.64-5.376 50.88a48.2 48.2 0 0 1-20.544 20.544c-10.24 5.312-24 5.376-50.88 5.376H300.8c-26.88 0-40.64 0-50.88-5.376a48.2 48.2 0 0 1-20.544-20.544c-5.312-10.24-5.376-24-5.376-50.88V448a32 32 0 0 0-32-32m216 0a32 32 0 0 0-32 32v320a32 32 0 0 0 64 0V448a32 32 0 0 0-32-32m208 0a32 32 0 0 0-32 32v320a32 32 0 0 0 64 0V448a32 32 0 0 0-32-32"},null,-1)])]))}}),ot={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},ye=e.defineComponent({name:"Plus",__name:"plus",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",ot,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M512 96a32 32 0 0 0-32 32v352H128a32 32 0 1 0 0 64h352v352a32 32 0 0 0 64 0V544h352a32 32 0 0 0 0-64H544V128a32 32 0 0 0-32-32"},null,-1)])]))}}),at={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},rt=e.defineComponent({name:"Setting",__name:"setting",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",at,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M218.688 848q27.712 48 83.2 48h374.08q55.424 0 83.136-48l187.008-323.968q27.776-48 0-96L759.104 104.064q-27.712-48-83.2-48H301.952q-55.488 0-83.2 48L31.68 428.032q-27.712 48 0 96zm55.424-32L87.104 492.032q-9.216-16 0-32l187.008-323.968q9.28-16 27.776-16h374.08q18.432 0 27.712 16l187.008 323.968q9.28 16 0 32L703.68 816q-9.28 16-27.712 16h-374.08q-18.56 0-27.776-16m54.784-339.968a160 160 0 1 0 320 0 160 160 0 0 0-320 0m64 0a96 96 0 1 1 192 0 96 96 0 0 1-192 0"},null,-1)])]))}}),nt={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},ke=e.defineComponent({name:"ZoomIn",__name:"ZoomIn",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",nt,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M764.352 809.6a424 424 0 1 1 45.184-45.184l139.456 139.392a31.936 31.936 0 1 1-45.184 45.184L764.352 809.536zM848 488a360 360 0 1 0-720 0 360 360 0 0 0 720 0"},null,-1),e.createElementVNode("path",{fill:"currentColor",d:"M294.4 486.4a32 32 0 0 0 32 32h128v128a32 32 0 0 0 64 0v-128h128a32 32 0 0 0 0-64h-128v-128a32 32 0 0 0-64 0v128h-128a32 32 0 0 0-32 32"},null,-1)])]))}}),st={class:"ez-image-upload"},ut={key:0,class:"ez-image-upload__image"},it={key:1,class:"ez-image-upload__list"},dt={class:"flex items-center justify-center h-full"},ct=e.defineComponent({name:"EzImageUpload",inheritAttrs:!1}),mt=e.defineComponent({...ct,props:e.mergeModels({api:{type:Function,default:()=>Promise.resolve({url:""})},imageTypes:{default:()=>["image/webp","image/png","image/jpg","image/gif","image/bmp","image/jpeg"]},limitSize:{default:10},style:{default:()=>({width:"100px",height:"100px"})},fit:{default:"contain"},multiple:{type:Boolean,default:!1},limit:{default:9},disabled:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","success","error","delete"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const o=t,{attrs:s}=ee(["api","imageTypes","limitSize","style","fit","multiple","limit","disabled","modelValue"]),a=l,{t:d}=oe(),k=e.ref(!1),b=e.ref(0),v=e.useModel(t,"modelValue"),h=e.computed(()=>o.multiple),w=e.computed(()=>o.imageTypes.join(",")),T=/^(https?:\/\/|data:|blob:)/i,c=e.computed(()=>v.value?V(v.value):[]);function V(S){if(!S)return[];const E=S.trim().replace(/^[,\s]+|[,\s]+$/g,"");if(!E)return[];const x=/(blob:https?:\/\/|https?:\/\/|data:)/gi,L=Array.from(E.matchAll(x));if(L.length===0)return[];const q=[];for(let G=0;G<L.length;G++){const H=L[G].index??-1;if(H<0)continue;const j=L[G+1]?.index,W=E.slice(H,j).trim().replace(/^[,\s]+|[,\s]+$/g,"");W&&T.test(W)&&q.push(W)}return q}function g(S){return!S||S.length===0?"":S.filter(E=>E.trim()).map(E=>E.trim()).join(",")}const i=S=>o.disabled?(m.ElMessage.warning(d("s.message.disabled")),!1):h.value&&c.value.length>=o.limit?(m.ElMessage.warning(d("s.validate.upload.limit",{max:o.limit})),!1):o.imageTypes.includes(S.type.toLocaleLowerCase())?S.size>o.limitSize*1024*1024?(m.ElMessage.error(d("s.validate.upload.limit",{max:o.limitSize})),!1):!0:(m.ElMessage.error(d("s.validate.upload.image")),!1),f=async({file:S})=>{if(!o.disabled)try{const{url:E}=await o.api(S);if(!E)throw new Error(d("s.message.uploadFail"));if(h.value){const x=v.value?V(v.value):[];E&&T.test(E)&&(x.push(E),v.value=g(x))}else v.value=E;a("success",S,E)}catch(E){const x=E instanceof Error?E:new Error(String(E));m.ElMessage.error(x.message),a("error",S,x)}},I=(S,E=0)=>{S&&(b.value=E,k.value=!0)},M=S=>{if(!o.disabled&&!(!S||!v.value))if(h.value){const E=V(v.value),x=E.findIndex(L=>L===S);x!==-1&&(E.splice(x,1),v.value=g(E),a("delete",S))}else v.value="",a("delete",S)},N=e.ref();return n({clearFiles:()=>{N.value?.clearFiles?.(),v.value=""},submit:()=>{N.value?.submit?.()},getUploadRef:()=>N.value,getUrlList:()=>c.value}),(S,E)=>(e.openBlock(),e.createElementBlock("div",st,[h.value?(e.openBlock(),e.createElementBlock("div",it,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(x,L)=>(e.openBlock(),e.createElementBlock("div",{key:L,class:"ez-image-upload__item",style:e.normalizeStyle(o.style)},[e.createVNode(e.unref(m.ElImage),{src:x,fit:o.fit},null,8,["src","fit"]),e.createElementVNode("div",{class:"ez-image-upload__handler",onClick:E[3]||(E[3]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(Q),{size:18,onClick:q=>I(x,L)},{default:e.withCtx(()=>[e.createVNode(e.unref(ke))]),_:1},8,["onClick"]),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Q),{key:0,size:18,onClick:q=>M(x)},{default:e.withCtx(()=>[e.createVNode(e.unref(ve))]),_:1},8,["onClick"]))])],4))),128)),(c.value.length<o.limit||c.value.length===0)&&!o.disabled?(e.openBlock(),e.createBlock(e.unref(m.ElUpload),e.mergeProps({key:0},e.unref(s),{ref_key:"uploadRef",ref:N,action:"",accept:w.value,multiple:o.multiple,"show-file-list":!1,"before-upload":i,"http-request":f,style:o.style,disabled:o.disabled,class:[{"is-disabled":o.disabled},"ez-image-upload__item ez-image-upload__button"]}),{default:e.withCtx(()=>[e.createElementVNode("div",dt,[e.createVNode(e.unref(Q),null,{default:e.withCtx(()=>[e.createVNode(e.unref(ye))]),_:1})])]),_:1},16,["accept","multiple","style","disabled","class"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(m.ElUpload),e.mergeProps({key:0},e.unref(s),{ref_key:"uploadRef",ref:N,action:"",accept:w.value,multiple:o.multiple,"show-file-list":!1,"before-upload":i,"http-request":f,style:o.style,disabled:o.disabled,class:["ez-image-upload__wrapper",{"is-disabled":o.disabled}]}),{default:e.withCtx(()=>[v.value?(e.openBlock(),e.createElementBlock("div",ut,[e.createVNode(e.unref(m.ElImage),{src:v.value,fit:o.fit},null,8,["src","fit"]),e.createElementVNode("div",{class:"ez-image-upload__handler",onClick:E[2]||(E[2]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(Q),{size:18,onClick:E[0]||(E[0]=x=>I(v.value,0))},{default:e.withCtx(()=>[e.createVNode(e.unref(ke))]),_:1}),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Q),{key:0,size:18,onClick:E[1]||(E[1]=x=>M(v.value))},{default:e.withCtx(()=>[e.createVNode(e.unref(ve))]),_:1}))])])):(e.openBlock(),e.createBlock(e.unref(Q),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(ye))]),_:1}))]),_:1},16,["accept","multiple","style","disabled","class"])),k.value?(e.openBlock(),e.createBlock(e.unref(m.ElImageViewer),{key:2,"url-list":h.value?c.value:[v.value],"initial-index":b.value,onClose:E[4]||(E[4]=x=>k.value=!1)},null,8,["url-list","initial-index"])):e.createCommentVNode("",!0)]))}}),ue=O(mt);var P=(t=>(t.INPUT="input",t.TEXTAREA="textarea",t.NUMBER="number",t.PASSWORD="password",t.SELECT="select",t.RADIO="radio",t.CHECKBOX="checkbox",t.DATE="date",t.DATETIME="datetime",t.DATERANGE="daterange",t.DATETIMERANGE="datetimerange",t.TIME="time",t.TIMERANGE="timerange",t.UPLOAD_IMAGES="upload-images",t.SWITCH="switch",t.TREE_SELECT="tree-select",t.CASCADER="cascader",t.SLIDER="slider",t.RATE="rate",t))(P||{});const Ee=new Set(["select","radio","checkbox","date","datetime","daterange","datetimerange","time","timerange","switch","cascader","tree-select"]),Be=new Set(["select","radio","checkbox","date","datetime","daterange","datetimerange","time","timerange","switch","cascader","tree-select","slider","rate"]);function Ce(t){return t&&Ee.has(t)?"选择":"输入"}function Ve(t){return t&&Be.has(t)?"change":"blur"}const ft=e.defineComponent({name:"EzFormItem"}),we=e.defineComponent({...ft,props:e.mergeModels({config:{},formData:{default:()=>({})}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>n.config?.itemAttrs&&typeof n.config.itemAttrs=="object"?n.config.itemAttrs:{}),s=e.computed(()=>n.config?.attrs&&typeof n.config.attrs=="object"?n.config.attrs:{}),a=e.computed(()=>{const g=s.value,{disabled:i,modelValue:f,"onUpdate:modelValue":I,...M}=g;return M}),d=e.computed(()=>{const g=s.value,{api:i,disabled:f,modelValue:I,"onUpdate:modelValue":M,...N}=g;return N}),k=e.computed(()=>{if(n.config?.type===P.UPLOAD_IMAGES)return typeof s.value.api=="function"?s.value.api:(()=>{throw new Error('[EzFormItem] "upload-images" requires attrs.api to be a function: (file: File) => Promise<{ url: string }>.')})()}),b=e.computed(()=>n.config?.options&&Array.isArray(n.config.options)?n.config.options:[]),v=()=>b.value,h=()=>b.value,w=()=>b.value,T=()=>b.value,c=()=>b.value,V=()=>{const{config:g}=n;if(!g||typeof g!="object")return;let i;return g.rules?i=g.rules:g.required&&(i=[{required:!0,message:g.requiredMessage||`请${Ce(g.type)}${g.label||""}`,trigger:Ve(g.type)}]),i};return(g,i)=>t.config&&t.config.prop?(e.openBlock(),e.createBlock(e.unref(m.ElFormItem),e.mergeProps({key:0,prop:t.config.prop,label:t.config.label,rules:V()},o.value),e.createSlots({default:e.withCtx(()=>[g.$slots.default?e.renderSlot(g.$slots,"default",{key:0,config:t.config,value:l.value,formData:t.formData}):t.config.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.config.component),e.mergeProps({key:1,modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=f=>l.value=f),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.config.type===e.unref(P).INPUT||!t.config.type?(e.openBlock(),e.createBlock(e.unref(m.ElInput),e.mergeProps({key:0,modelValue:l.value,"onUpdate:modelValue":i[1]||(i[1]=f=>l.value=f),placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled,clearable:""},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(P).TEXTAREA?(e.openBlock(),e.createBlock(e.unref(m.ElInput),e.mergeProps({key:1,modelValue:l.value,"onUpdate:modelValue":i[2]||(i[2]=f=>l.value=f),type:"textarea",placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(P).NUMBER?(e.openBlock(),e.createBlock(e.unref(m.ElInputNumber),e.mergeProps({key:2,modelValue:l.value,"onUpdate:modelValue":i[3]||(i[3]=f=>l.value=f),placeholder:t.config.placeholder,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(P).PASSWORD?(e.openBlock(),e.createBlock(e.unref(m.ElInput),e.mergeProps({key:3,modelValue:l.value,"onUpdate:modelValue":i[4]||(i[4]=f=>l.value=f),type:"password",placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled,"show-password":"",clearable:""},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(P).SELECT?(e.openBlock(),e.createBlock(e.unref(ne),e.mergeProps({key:4,modelValue:l.value,"onUpdate:modelValue":i[5]||(i[5]=f=>l.value=f),options:v(),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","options","placeholder","disabled"])):t.config.type===e.unref(P).RADIO?(e.openBlock(),e.createBlock(e.unref(se),e.mergeProps({key:5,modelValue:l.value,"onUpdate:modelValue":i[6]||(i[6]=f=>l.value=f),options:h(),disabled:t.config.disabled},a.value),null,16,["modelValue","options","disabled"])):t.config.type===e.unref(P).CHECKBOX?(e.openBlock(),e.createBlock(e.unref(re),e.mergeProps({key:6,modelValue:l.value,"onUpdate:modelValue":i[7]||(i[7]=f=>l.value=f),options:w(),disabled:t.config.disabled},a.value),null,16,["modelValue","options","disabled"])):t.config.type===e.unref(P).DATE?(e.openBlock(),e.createBlock(e.unref(m.ElDatePicker),e.mergeProps({key:7,modelValue:l.value,"onUpdate:modelValue":i[8]||(i[8]=f=>l.value=f),type:"date",placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(P).DATETIME?(e.openBlock(),e.createBlock(e.unref(m.ElDatePicker),e.mergeProps({key:8,modelValue:l.value,"onUpdate:modelValue":i[9]||(i[9]=f=>l.value=f),type:"datetime",placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(P).DATERANGE?(e.openBlock(),e.createBlock(e.unref(m.ElDatePicker),e.mergeProps({key:9,modelValue:l.value,"onUpdate:modelValue":i[10]||(i[10]=f=>l.value=f),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(P).DATETIMERANGE?(e.openBlock(),e.createBlock(e.unref(m.ElDatePicker),e.mergeProps({key:10,modelValue:l.value,"onUpdate:modelValue":i[11]||(i[11]=f=>l.value=f),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(P).TIME?(e.openBlock(),e.createBlock(e.unref(m.ElTimePicker),e.mergeProps({key:11,modelValue:l.value,"onUpdate:modelValue":i[12]||(i[12]=f=>l.value=f),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(P).TIMERANGE?(e.openBlock(),e.createBlock(e.unref(m.ElTimePicker),e.mergeProps({key:12,modelValue:l.value,"onUpdate:modelValue":i[13]||(i[13]=f=>l.value=f),"is-range":"","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(P).SWITCH?(e.openBlock(),e.createBlock(e.unref(m.ElSwitch),e.mergeProps({key:13,modelValue:l.value,"onUpdate:modelValue":i[14]||(i[14]=f=>l.value=f),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(P).TREE_SELECT?(e.openBlock(),e.createBlock(e.unref(m.ElTreeSelect),e.mergeProps({key:14,modelValue:l.value,"onUpdate:modelValue":i[15]||(i[15]=f=>l.value=f),data:T(),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","data","placeholder","disabled"])):t.config.type===e.unref(P).CASCADER?(e.openBlock(),e.createBlock(e.unref(m.ElCascader),e.mergeProps({key:15,modelValue:l.value,"onUpdate:modelValue":i[16]||(i[16]=f=>l.value=f),options:c(),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled,clearable:""},a.value),null,16,["modelValue","options","placeholder","disabled"])):t.config.type===e.unref(P).SLIDER?(e.openBlock(),e.createBlock(e.unref(m.ElSlider),e.mergeProps({key:16,modelValue:l.value,"onUpdate:modelValue":i[17]||(i[17]=f=>l.value=f),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(P).RATE?(e.openBlock(),e.createBlock(e.unref(m.ElRate),e.mergeProps({key:17,modelValue:l.value,"onUpdate:modelValue":i[18]||(i[18]=f=>l.value=f),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(P).UPLOAD_IMAGES?(e.openBlock(),e.createBlock(e.unref(ue),e.mergeProps({key:18,modelValue:l.value,"onUpdate:modelValue":i[19]||(i[19]=f=>l.value=f),api:k.value,disabled:t.config.disabled},d.value),null,16,["modelValue","api","disabled"])):e.createCommentVNode("",!0)],64))]),_:2},[g.$slots.label?{name:"label",fn:e.withCtx(()=>[e.renderSlot(g.$slots,"label",{config:t.config})]),key:"0"}:void 0]),1040,["prop","label","rules"])):e.createCommentVNode("",!0)}}),pt={key:0,class:"ez-dynamic-form-group__title"},gt={key:1,class:"ez-dynamic-form-group__description"},vt=e.defineComponent({name:"EzDynamicForm",inheritAttrs:!1}),yt=e.defineComponent({...vt,props:e.mergeModels({items:{default:()=>[]},groups:{default:()=>[]},modelValue:{},cols:{default:1},gutter:{default:20},disabled:{type:Boolean},labelPosition:{},requireAsteriskPosition:{},labelWidth:{},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},validateOnRuleChange:{type:Boolean},hideRequiredAsterisk:{type:Boolean},scrollToError:{type:Boolean},scrollIntoViewOptions:{},size:{}},{modelValue:{default:()=>({})},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:n}){const l=t,o=e.useSlots(),s=e.useModel(t,"modelValue"),a=e.shallowRef(),d=e.shallowRef({}),k=u=>Object.prototype.toString.call(u)==="[object Object]",b=u=>{const y=new WeakMap,r=B=>{if(B instanceof Date)return new Date(B.getTime());if(Array.isArray(B)){const $=B;if(y.has($))return y.get($);const F=[];return y.set($,F),$.forEach((X,_)=>{F[_]=r(X)}),F}if(k(B)){const $=B;if(y.has($))return y.get($);const F={};return y.set($,F),Object.entries($).forEach(([X,_])=>{F[X]=r(_)}),F}return B};return r(u)},v=u=>k(u)&&("value"in u||"fields"in u||"omit"in u),h=()=>{k(s.value)||(s.value={})},w=()=>{h(),s.value&&V.value.forEach(u=>{u.prop in s.value||(s.value[u.prop]=u.defaultValue!==void 0?u.defaultValue:void 0)})},T=e.computed(()=>{const{items:u,groups:y,cols:r,gutter:B,modelValue:$,...F}=l;return F}),c=e.computed(()=>Math.floor(24/l.cols)),V=e.computed(()=>l.groups?.length?l.groups.flatMap(u=>u.items||[]):l.items||[]),g=e.computed(()=>Array.isArray(l.groups)&&l.groups.length>0),i=()=>{const u=(l.items?.length||0)>0,y=(l.groups?.length||0)>0;if(u&&y)throw new Error('[EzDynamicForm] "items" and "groups" cannot be used at the same time. Choose exactly one configuration mode.')},f=u=>{const y={};return V.value.forEach(r=>{Object.prototype.hasOwnProperty.call(u,r.prop)&&(y[r.prop]=b(u[r.prop]))}),y},I=(u,y,r)=>{console.error(`[EzDynamicForm] ${u} error for field "${y.prop}":`,r)},M=(u,y)=>({item:b(u),formData:b(y)}),N=u=>{const y=b(u);return V.value.forEach(r=>{if(r.deserialize)try{const B=M(r,y);y[r.prop]=r.deserialize(y[r.prop],B.formData,B.item)}catch(B){I("deserialize",r,B)}}),y},A=u=>{const y=b(u);return V.value.forEach(r=>{if(!r.serialize)return;let B;try{const $=M(r,y);B=r.serialize(y[r.prop],$.formData,$.item)}catch($){I("serialize",r,$);return}if(B!==void 0){if(v(B)){Object.prototype.hasOwnProperty.call(B,"value")&&(y[r.prop]=b(B.value)),B.fields&&k(B.fields)&&Object.assign(y,b(B.fields)),B.omit&&delete y[r.prop];return}y[r.prop]=b(B)}}),y};e.watch(()=>[l.items,l.groups],i,{deep:!0,immediate:!0}),e.watch(()=>[l.items,l.groups],w,{deep:!0,immediate:!0}),e.watch(s,w,{immediate:!0}),e.onMounted(()=>{w(),Z()});const K=(u,y,r)=>{if(!u)return!0;try{return u(s.value)}catch(B){return console.error(`[EzDynamicForm] ${y} visibility error for "${r}":`,B),!1}},S=e.computed(()=>{const u=g.value?l.groups:[{items:l.items||[],cols:l.cols,gutter:l.gutter}],y=[];return u.forEach((r,B)=>{if(!r||r.hidden)return;const $=r.name||`group-${B}`;if(!K(r.show,"group",$))return;const F=(r.items||[]).filter(D=>D.hidden?!1:K(D.show,"item",D.prop)),X=Math.max(1,r.cols||l.cols),_=r.gutter??l.gutter,p=r.headerSlot||(r.name?`group-header-${r.name}`:void 0),C=r.slot||(r.name?`group-${r.name}`:void 0);y.push({key:`${$}-${B}`,index:B,group:r,items:F,cols:X,gutter:_,headerSlotName:p,bodySlotName:C})}),y}),E=(u,y)=>{if(u.span!==void 0)return Math.max(1,Math.min(24,u.span));const r=Math.max(1,y);return Math.max(1,Math.floor(24/r))||c.value},x=u=>g.value?u.group.title||u.group.description||u.headerSlotName&&o[u.headerSlotName]?!0:!!o["group-header"]:!1,L=u=>{let y=u.disabled||l.disabled;if(!y&&u.disabledWhen)try{y=u.disabledWhen(s.value)}catch(r){console.error(`[EzDynamicForm] Disabled check error for "${u.prop}":`,r)}return{...u,disabled:y}},q=async()=>{if(!a.value)return console.warn("[EzDynamicForm] Form ref is not available"),!1;try{return await a.value.validate(),!0}catch{return!1}},G=async u=>{if(!a.value)return console.warn("[EzDynamicForm] Form ref is not available"),!1;try{return await a.value.validateField(u),!0}catch{return!1}},H=u=>{if(!a.value){console.warn("[EzDynamicForm] Form ref is not available");return}a.value.clearValidate(u)},j=()=>b(s.value),W=()=>A(j()),Z=()=>{d.value=j()},te=(u,y=!0)=>{if(!u)return;h();const r=b(u);y?Object.assign(s.value,r):s.value=r,w(),e.nextTick(()=>{a.value?.clearValidate()})};return n({validate:q,validateField:G,clearValidate:H,getFormData:j,getSubmitData:W,setFormData:te,setSubmitData:(u,y=!0)=>{u&&te(f(N(u)),y)},resetForm:()=>{s.value=b(d.value),w(),e.nextTick(()=>{a.value?.clearValidate()})},captureInitialData:Z,formRef:a}),(u,y)=>(e.openBlock(),e.createBlock(e.unref(m.ElForm),e.mergeProps({ref_key:"formRef",ref:a,class:"ez-dynamic-form","label-width":l.labelWidth??"auto"},T.value,{model:s.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,r=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value?"section":"div"),{key:r.key,class:e.normalizeClass(g.value?["ez-dynamic-form-group",r.group.className]:void 0),style:e.normalizeStyle(g.value?r.group.style:void 0)},{default:e.withCtx(()=>[x(r)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["ez-dynamic-form-group__header",r.group.headerClassName]),style:e.normalizeStyle(r.group.headerStyle)},[r.headerSlotName&&u.$slots[r.headerSlotName]?e.renderSlot(u.$slots,r.headerSlotName,{key:0,group:r.group,index:r.index,items:r.items,formData:s.value}):u.$slots["group-header"]?e.renderSlot(u.$slots,"group-header",{key:1,group:r.group,index:r.index,items:r.items,formData:s.value}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[r.group.title?(e.openBlock(),e.createElementBlock("div",pt,e.toDisplayString(r.group.title),1)):e.createCommentVNode("",!0),r.group.description?(e.openBlock(),e.createElementBlock("div",gt,e.toDisplayString(r.group.description),1)):e.createCommentVNode("",!0)],64))],6)):e.createCommentVNode("",!0),g.value&&r.bodySlotName&&u.$slots[r.bodySlotName]?e.renderSlot(u.$slots,r.bodySlotName,{key:1,group:r.group,index:r.index,items:r.items,formData:s.value}):g.value&&u.$slots.group?e.renderSlot(u.$slots,"group",{key:2,group:r.group,index:r.index,items:r.items,formData:s.value}):(e.openBlock(),e.createBlock(e.unref(m.ElRow),{key:3,gutter:r.gutter,class:e.normalizeClass(g.value?["ez-dynamic-form-group__body",r.group.bodyClassName]:void 0),style:e.normalizeStyle(g.value?r.group.bodyStyle:void 0)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,B=>(e.openBlock(),e.createBlock(e.unref(m.ElCol),{key:`${r.key}-${B.prop}`,span:E(B,r.cols)},{default:e.withCtx(()=>[e.createVNode(we,{modelValue:s.value[B.prop],"onUpdate:modelValue":$=>s.value[B.prop]=$,config:L(B),formData:s.value},e.createSlots({_:2},[u.$slots[`label-${B.prop}`]?{name:"label",fn:e.withCtx(()=>[e.renderSlot(u.$slots,`label-${B.prop}`,{item:B})]),key:"0"}:void 0,u.$slots[B.prop]?{name:"default",fn:e.withCtx(({config:$,value:F})=>[e.renderSlot(u.$slots,B.prop,{item:$,value:F,formData:s.value})]),key:"1"}:void 0]),1032,["modelValue","onUpdate:modelValue","config","formData"])]),_:2},1032,["span"]))),128))]),_:2},1032,["gutter","class","style"]))]),_:2},1032,["class","style"]))),128))]),_:3},16,["label-width","model"]))}}),Se=O(yt),$e=O(we),kt=e.defineComponent({name:"EzTable",inheritAttrs:!1}),ze=e.defineComponent({...kt,props:{data:{default:()=>[]},columns:{default:()=>[]},border:{type:Boolean,default:!0},rowKey:{type:[String,Function],default:"id"}},setup(t,{expose:n}){const l=t,o=e.ref(),s=new Set(["hidden","emptyValue","sortMode","sortField"]),a=c=>c===!0,d=c=>c==null||c==="",k=()=>l.columns.filter(c=>["selection","index","expand"].includes(c.type||"")?!1:!a(c.hidden)),b=e.computed(()=>{const c=k(),V=c[c.length-1];return V?.columnKey||V?.prop||null}),v=c=>c.type?!1:(c.columnKey||c.prop)!==b.value,h=c=>{const V=c.formatter,g=c.emptyValue!==void 0;if(!(!V&&!g))return(i,f,I,M)=>{const N=V?V(i,f,I,M):I;return g&&d(N)?c.emptyValue:N}},w=c=>{const g={...{align:"center",resizable:!0,reserveSelection:c.type==="selection",showOverflowTooltip:v(c)},...c,formatter:h(c)},i=Object.fromEntries(Object.entries(g).filter(([f])=>!s.has(f)));return c.sortMode==="remote"&&(i.sortable="custom"),i};return n({getTableRef:()=>o.value,clearSelection:()=>o.value?.clearSelection(),toggleRowSelection:(c,V)=>o.value?.toggleRowSelection(c,V),toggleAllSelection:()=>o.value?.toggleAllSelection(),toggleRowExpansion:(c,V)=>o.value?.toggleRowExpansion(c,V),setCurrentRow:c=>o.value?.setCurrentRow(c),clearSort:()=>o.value?.clearSort(),clearFilter:c=>o.value?.clearFilter(c),doLayout:()=>o.value?.doLayout(),sort:(c,V)=>o.value?.sort(c,V)}),(c,V)=>(e.openBlock(),e.createBlock(e.unref(m.ElTable),e.mergeProps({ref_key:"tableRef",ref:o,data:l.data,border:l.border,"row-key":l.rowKey},c.$attrs),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.columns,(g,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g.columnKey||g.prop||`${g.type||"column"}-${i}`},[["selection","index"].includes(g.type)?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),e.mergeProps({key:0,ref_for:!0},w(g)),null,16)):a(g.hidden)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),e.mergeProps({key:1,ref_for:!0},w(g)),e.createSlots({_:2},[c.$slots[g.prop]?{name:"default",fn:e.withCtx(f=>[e.renderSlot(c.$slots,g.prop,e.mergeProps({ref_for:!0},f))]),key:"0"}:void 0,c.$slots[`header-${g.prop}`]?{name:"header",fn:e.withCtx(f=>[e.renderSlot(c.$slots,`header-${g.prop}`,e.mergeProps({ref_for:!0},f))]),key:"1"}:void 0]),1040))],64))),128))]),_:2},[c.$slots?.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"append")]),key:"0"}:void 0,c.$slots?.empty?{name:"empty",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"empty")]),key:"1"}:void 0]),1040,["data","border","row-key"]))}}),ht={class:"ez-query-panel"},bt={class:"ez-query-panel__operate"},Et=e.defineComponent({name:"EzQueryPanel",inheritAttrs:!1}),Bt=e.defineComponent({...Et,props:e.mergeModels({expanded:{type:Boolean},collapsedHeight:{default:50}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:["update:expanded"],setup(t,{expose:n}){const l=t,{t:o}=oe(),s=e.ref(),a=e.ref(),d=e.ref(0),k=e.useModel(t,"expanded"),b=e.computed(()=>d.value>l.collapsedHeight),v=e.computed(()=>k.value?tt:Je),h=e.computed(()=>k.value?o("s.button.collapse"):o("s.button.expand"));let w=null;const T=Fe(()=>{s.value&&(d.value=s.value.scrollHeight)},100),c=()=>{k.value=!k.value};return e.onMounted(()=>{setTimeout(()=>{s.value&&(T(),w=new ResizeObserver(T),w.observe(s.value))},50)}),e.onUnmounted(()=>{w&&(w.disconnect(),w=null)}),n({countViewHeight:T}),(V,g)=>(e.openBlock(),e.createElementBlock("div",ht,[e.createElementVNode("div",{class:"ez-query-panel__wrapper",style:e.normalizeStyle({height:d.value?k.value?`${d.value}px`:`${l.collapsedHeight}px`:"auto"})},[e.createElementVNode("div",{ref_key:"layoutRef",ref:s,class:"ez-query-panel__layout"},[e.createElementVNode("div",bt,[e.renderSlot(V.$slots,"operate"),b.value?(e.openBlock(),e.createBlock(e.unref(m.ElButton),{key:0,icon:v.value,size:"small",title:h.value,circle:"",onClick:g[0]||(g[0]=i=>c())},null,8,["icon","title"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{ref_key:"wrapRef",ref:a,class:"ez-query-panel__content"},[e.renderSlot(V.$slots,"default")],512)],512)],4)]))}}),ie=O(Bt),Ct=e.defineComponent({name:"EzPagination",inheritAttrs:!1}),Vt=e.defineComponent({...Ct,props:e.mergeModels({currentPage:{},pageSize:{},total:{},pageSizes:{default:()=>[10,20,50,100]},layout:{default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:10},pageSizeModifiers:{}}),emits:e.mergeModels(["update:currentPage","update:pageSize","current-change","size-change","change"],["update:currentPage","update:pageSize"]),setup(t,{emit:n}){const l=t,o=e.useModel(t,"currentPage"),s=e.useModel(t,"pageSize"),a=n,d=v=>{a("current-change",v),a("change",v,s.value)},k=v=>{a("size-change",v),a("change",o.value,v)},{attrs:b}=ee(["currentPage","pageSize","total","pageSizes","layout","background","disabled"]);return(v,h)=>(e.openBlock(),e.createBlock(e.unref(m.ElPagination),e.mergeProps({"current-page":o.value,"onUpdate:currentPage":h[0]||(h[0]=w=>o.value=w),"page-size":s.value,"onUpdate:pageSize":h[1]||(h[1]=w=>s.value=w),total:l.total,"page-sizes":l.pageSizes,layout:l.layout,background:l.background,disabled:l.disabled,onCurrentChange:d,onSizeChange:k},e.unref(b)),null,16,["current-page","page-size","total","page-sizes","layout","background","disabled"]))}}),de=O(Vt);var ae=(t=>(t.ASC="ascending",t.DESC="descending",t[t.EMPTY=null]="EMPTY",t))(ae||{});const wt=(t,n)=>typeof n=="function"?n(t):t[n],St=t=>{const n=e.shallowRef([]),l=e.computed(()=>n.value),o=e.computed(()=>n.value.map(d=>wt(d,t)));return{selectionChange:d=>{n.value=d},getSelectedList:l,getSelectedIds:o,getSortParams:({prop:d,order:k},b)=>{const v=b||d,h={asc:null,desc:null};return k===ae.ASC?(h.asc=v,h.desc=null):k===ae.DESC&&(h.asc=null,h.desc=v),h}}},$t=e.defineComponent({__name:"column-config",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{},columns:{default:()=>[]},columnsModifiers:{}},emits:e.mergeModels(["change"],["update:modelValue","update:columns"]),setup(t,{emit:n}){const{t:l}=oe(),o=["selection","index","expand"],s=n,a=e.useModel(t,"modelValue"),d=e.useModel(t,"columns"),k=b=>d.value.filter(h=>!h.hidden).length<2&&!b.hidden;return(b,v)=>(e.openBlock(),e.createBlock(e.unref(m.ElDrawer),{modelValue:a.value,"onUpdate:modelValue":v[1]||(v[1]=h=>a.value=h),class:"ez-column-wrapper",title:e.unref(l)("s.label.column"),size:"15%"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(h,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h.columnKey||h.prop||`${h.type||"column"}-${w}`},[o.includes(h.type)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(m.ElCheckbox),{key:0,"model-value":!h.hidden,class:"flex",label:h.label,"onUpdate:modelValue":T=>h.hidden=!T,disabled:k(h),onChange:v[0]||(v[0]=T=>s("change"))},null,8,["model-value","label","onUpdate:modelValue","disabled"]))],64))),128))]),_:1},8,["modelValue","title"]))}}),zt={class:"ez-fast-table"},xt={class:"ez-fast-table_wrapper"},Pt={key:0,class:"ez-fast-table_wrapper_header_operation"},Mt={key:1,class:"ez-fast-table_error"},At={class:"ez-fast-table_pagination"},Dt=e.defineComponent({name:"EzFastTable",directives:{loading:m.ElLoading.directive},inheritAttrs:!1}),Nt=e.defineComponent({...Dt,props:{params:{},loading:{type:Boolean},columns:{default:()=>[]},api:{type:Function,default:()=>Promise.resolve({})},beforeSearch:{type:Function,default:()=>Promise.resolve()},transformParams:{type:Function,default:t=>t},responseAdapter:{type:Function,default:t=>{const{code:n,data:l}=t||{};return n===200&&l?.records?{records:l.records||[],total:l.total||0,current:l.current||1,size:l.size||10}:{records:[],total:0,current:1,size:10}}},onError:{type:Function,default:async()=>{}},columnTool:{type:Boolean,default:!0},expanded:{type:Boolean,default:!1},border:{type:Boolean,default:!0},rowKey:{type:[String,Function],default:"id"}},emits:["update:params","update:loading","changePage","reset","query","update:columns"],setup(t,{expose:n,emit:l}){const{t:o}=oe(),s=()=>({current:1,size:10}),a=t,d=e.useAttrs(),k=e.computed(()=>{const{api:p,beforeSearch:C,transformParams:D,responseAdapter:z,onError:R,columnTool:Y,expanded:fe,columns:Lt,border:Ot,...Me}=a;return{...d,...Me}}),b=e.ref(a.expanded),{selectionChange:v,getSelectedList:h,getSortParams:w,getSelectedIds:T}=St(a.rowKey),c=e.ref(null),V=e.ref(!1),g=e.ref(null),i=e.ref(0),f=e.ref([]),I=e.ref(0),M=e.ref(null),N=l,A=e.ref(U(a.params??s())),K=e.ref(U(a.columns??[])),S=e.ref(a.loading??!1),E=e.computed({get:()=>S.value,set:p=>{S.value=p,N("update:loading",p)}}),x=e.computed(()=>({params:A.value,loading:E.value,expanded:b.value,search:j,query:H,reset:u,captureInitialParams:J,patchParams:W,replaceParams:Z}));e.watch(()=>a.params,p=>{A.value=U(p??s())},{deep:!0}),e.watch(()=>a.columns,p=>{K.value=U(p??[])},{deep:!0}),e.watch(()=>a.loading,p=>{S.value=p??!1});const L=p=>p,q=()=>{const p=U(A.value);A.value=p,N("update:params",p)},G=async(p,C,D)=>{p===i.value&&(console.error(`[EzFastTable] Query pipeline failed at stage "${D.stage}".`,C),M.value={error:C,stage:D.stage,params:U(D.params)},await a.onError?.(C,D))},H=async()=>{const p=i.value+1;i.value=p,M.value=null;try{E.value=!0;const C=U(A.value);try{await a.beforeSearch(C)}catch(Y){await G(p,Y,{stage:"beforeSearch",params:C});return}let D;try{D=await a.transformParams(C)}catch(Y){await G(p,Y,{stage:"transformParams",params:C});return}let z;try{z=await a.api(D)}catch(Y){await G(p,Y,{stage:"api",params:C});return}let R;try{R=await a.responseAdapter(z)}catch(Y){await G(p,Y,{stage:"responseAdapter",params:C});return}if(p!==i.value)return;f.value=R.records||[],I.value=R.total||0,N("query")}finally{p===i.value&&(E.value=!1)}},j=()=>{A.value.current=1,q(),H()},W=(p,C={})=>{const{resetPage:D=!1,captureInitial:z=!1}=C,R={...A.value,...U(p)};D&&(R.current=1),A.value=R,q(),z&&J()},Z=(p,C={})=>{const{resetPage:D=!1,captureInitial:z=!1}=C,R=U(p);D&&(R.current=1),A.value=R,q(),z&&J()},te=()=>c.value?.getTableRef(),me=p=>{const{column:C,prop:D}=p;if((C?.sortMode||"local")==="remote"){const R=w(p,C?.sortField||D);W(R),j();return}(A.value.asc||A.value.desc)&&W({asc:null,desc:null})},J=()=>{g.value=U(A.value)},u=()=>{Z(U(g.value??{current:1,size:10})),N("reset"),e.nextTick(()=>H())},y=p=>{if(N("changePage",p),p.size){j();return}q(),H()},r=()=>{te()?.doLayout()},B=()=>{const p=U(K.value);K.value=p,N("update:columns",p),r()},$=()=>{M.value=null},F=()=>M.value,X=()=>{$(),H()},_=e.computed(()=>({error:M.value?.error,stage:M.value?.stage||"api",params:M.value?.params??A.value,retry:X}));return e.onMounted(()=>{J()}),n({search:j,query:H,patchParams:W,replaceParams:Z,reset:u,captureInitialParams:J,getTableRef:te,doLayout:r,clearError:$,getErrorState:F}),(p,C)=>{const D=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",zt,[p.$slots.form?(e.openBlock(),e.createBlock(e.unref(ie),{key:0,expanded:b.value,"onUpdate:expanded":C[0]||(C[0]=z=>b.value=z)},{default:e.withCtx(()=>[e.renderSlot(p.$slots,"form",e.normalizeProps(e.guardReactiveProps(x.value)))]),operate:e.withCtx(()=>[e.createVNode(e.unref(m.ElButton),{type:"primary",loading:E.value,onClick:j},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("s.button.query")),1)]),_:1},8,["loading"]),e.createVNode(e.unref(m.ElButton),{onClick:u},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("s.button.reset")),1)]),_:1})]),_:3},8,["expanded"])):e.createCommentVNode("",!0),p.$slots.freeArea?e.renderSlot(p.$slots,"freeArea",e.normalizeProps(e.mergeProps({key:1},x.value))):e.createCommentVNode("",!0),e.createElementVNode("div",xt,[p.$slots.header||a.columnTool?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["ez-fast-table_wrapper_header",p.$slots.header?"justify-between":"justify-end"])},[p.$slots.header?(e.openBlock(),e.createElementBlock("div",Pt,[e.renderSlot(p.$slots,"header",{selectList:e.unref(h),selectIds:e.unref(T)})])):e.createCommentVNode("",!0),a.columnTool?(e.openBlock(),e.createBlock(e.unref(m.ElButton),{key:1,icon:e.unref(rt),circle:"",onClick:C[1]||(C[1]=z=>V.value=!0)},null,8,["icon"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(ze,e.mergeProps(k.value,{ref_key:"fastTableRef",ref:c,border:a.border,columns:K.value,data:f.value,onSelectionChange:e.unref(v),onSortChange:me}),e.createSlots({_:2},[e.renderList(p.$slots,(z,R,Y)=>({name:R,fn:e.withCtx(fe=>[!["form","empty","error","header"].includes(String(R))&&!String(R).startsWith("header-")?e.renderSlot(p.$slots,R,e.normalizeProps(e.mergeProps({key:0},L(fe)))):e.createCommentVNode("",!0)])})),p.$slots.empty&&!M.value?{name:"empty",fn:e.withCtx(()=>[e.renderSlot(p.$slots,"empty")]),key:"0"}:void 0]),1040,["border","columns","data","onSelectionChange"])),[[D,E.value]]),M.value&&p.$slots.error?(e.openBlock(),e.createElementBlock("div",Mt,[e.renderSlot(p.$slots,"error",e.normalizeProps(e.guardReactiveProps(_.value)))])):e.createCommentVNode("",!0),e.createElementVNode("div",At,[e.createVNode(e.unref(de),{"current-page":A.value.current,"onUpdate:currentPage":[C[2]||(C[2]=z=>A.value.current=z),C[4]||(C[4]=z=>y({current:z}))],"page-size":A.value.size,"onUpdate:pageSize":[C[3]||(C[3]=z=>A.value.size=z),C[5]||(C[5]=z=>y({size:z}))],total:I.value},null,8,["current-page","page-size","total"])])]),e.createVNode($t,{modelValue:V.value,"onUpdate:modelValue":C[6]||(C[6]=z=>V.value=z),columns:K.value,"onUpdate:columns":C[7]||(C[7]=z=>K.value=z),onChange:B},null,8,["modelValue","columns"])])}}}),ce=O(Nt),Tt=()=>ce,xe=O(ze),he=Symbol("INSTALLED_KEY");function Rt(t=[]){return{install:l=>{l[he]||(l[he]=!0,t.forEach(o=>l.use(o)))}}}const Ut=[re,be,Se,$e,ce,Q,ue,de,ie,se,ne,xe],Ft=[m.ElInfiniteScroll,m.ElLoading,m.ElMessage,m.ElMessageBox,m.ElNotification,m.ElPopoverDirective],Pe=Rt([...Ut,...Ft]),It=Pe.install;exports.CHANGE_TRIGGER_TYPES=Be;exports.EzCheckbox=re;exports.EzDialog=be;exports.EzDynamicForm=Se;exports.EzFastTable=ce;exports.EzFormItem=$e;exports.EzIcon=Q;exports.EzImageUpload=ue;exports.EzPagination=de;exports.EzQueryPanel=ie;exports.EzRadio=se;exports.EzSelect=ne;exports.EzTable=xe;exports.FormItemType=P;exports.SELECT_FORM_TYPES=Ee;exports.createTypedFastTable=Tt;exports.default=Pe;exports.getInputVerb=Ce;exports.getTrigger=Ve;exports.install=It;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),f=require("element-plus"),O=(t,n)=>(t.install=l=>{for(const o of[t,...Object.values({})])o.name?l.component(o.name,o):process.env.NODE_ENV!=="production"&&console.warn("[withInstall] Component is missing name property:",o)},t),ve=t=>t.replace(/\B([A-Z])/g,"-$1").toLowerCase(),ye=t=>t.replace(/-([a-z])/g,(n,l)=>l.toUpperCase()),Ne=t=>{const n=t.startsWith("onUpdate:")?t.slice(9):t,l=new Set([t,n,ve(n),ye(n)]);return t.startsWith("onUpdate:")||(l.add(`onUpdate:${n}`),l.add(`onUpdate:${ve(n)}`),l.add(`onUpdate:${ye(n)}`)),l},Te=(t,n)=>{for(const l of t)if(Ne(l).has(n))return!0;return!1};function ee(t=[]){const n=e.useAttrs(),l=e.computed(()=>{const a={};for(const d in n)Te(t,d)||(a[d]=n[d]);return a}),o=e.computed(()=>{const a={};for(const d in l.value)d.startsWith("on")||(a[d]=l.value[d]);return a}),s=e.computed(()=>{const a={};for(const d in l.value)d.startsWith("on")&&(a[d]=l.value[d]);return a});return{attrs:l,props:o,listeners:s}}var Re={s:{label:{name:"姓名",email:"电子邮件地址",age:"年龄",sex:"性别",column:"列设置",region:"国家/地区",provinces:"洲/省",city:"城市",post:"邮编",address:"详细地址"},hint:{input:"请输入",select:"请选择"},button:{search:"搜索",query:"查询",add:"新增",edit:"编辑",remove:"删除",reset:"重置",export:"导出",cancel:"取消",confirm:"确认",save:"保存",continue:"继续",view:"查看",detail:"详情",operations:"操作",next:"下一步",pre:"上一步",submit:"提交",back:"返回",expand:"展开",collapse:"收起"},message:{empty:"暂无数据",success:"操作成功",fail:"操作失败",hint:"提示",repeat:"请稍后再试",know:"我知道了",uploadFail:"上传失败"},validate:{special:"不可输入特殊字符",upload:{image:"仅支持图片格式",limit:"上传文件大小不能超过 {max} MB!"}},options:{yes:"是",no:"否",enable:"启用",disable:"停用"},date:{label:"日期",year:"年",month:"月",day:"日",hour:"时",minute:"分",second:"秒",mon:"周一",tue:"周二",wed:"周三",thu:"周四",fri:"周五",sat:"周六",sun:"周天"}}};const{s:Ue}=Re;function Fe(t,n){return n.split(".").reduce((l,o)=>l&&typeof l=="object"?l[o]:void 0,t)}function Ie(t,n={}){return t.replace(/\{\s*(\w+)\s*\}/g,(l,o)=>{const s=n[o];return s!==void 0?String(s):`{${o}}`})}function oe(){const{t,lang:n}=f.useLocale();return{t:(o,s={})=>{const a=t(o,s);if(a!==o)return a;const d=Fe({s:Ue},o);return typeof d=="string"?Ie(d,s):o},lang:n}}function T(t){if(t===null||typeof t!="object")return t;if(t instanceof Date)return new Date(t.getTime());if(t instanceof Array)return t.map(l=>T(l));if(t instanceof Set)return new Set(Array.from(t).map(l=>T(l)));if(t instanceof Map)return new Map(Array.from(t.entries()).map(([l,o])=>[T(l),T(o)]));const n=Object.create(Object.getPrototypeOf(t));for(const l in t)t.hasOwnProperty(l)&&(n[l]=T(t[l]));return n}function Le(t,n=200){let l=null;return function(...o){l||(l=setTimeout(()=>{t.apply(this,o),l=null},n))}}const Oe=e.defineComponent({name:"EzCheckbox",inheritAttrs:!1}),qe=e.defineComponent({...Oe,props:e.mergeModels({type:{default:"default"},options:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=t,l=e.useModel(t,"modelValue"),{attrs:o}=ee(["options","type","modelValue"]),s=e.computed(()=>["default","border"].includes(n.type)?f.ElCheckbox:f.ElCheckboxButton);return(a,d)=>(e.openBlock(),e.createBlock(e.unref(f.ElCheckboxGroup),e.mergeProps({modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=k=>l.value=k)},e.unref(o)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,k=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps({key:String(k.value),ref_for:!0},k,{border:t.type==="border"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1040,["border"]))),128))]),_:1},16,["modelValue"]))}}),ue=O(qe);var le=(t=>(t.CANCEL="取消",t.CONFIRM="确定",t))(le||{});const Ge={key:1},He={key:0,class:"ez-dialog__body"},je={key:1},Ke=e.defineComponent({name:"EzDialog",inheritAttrs:!1,directives:{loading:f.ElLoading.directive}}),We=e.defineComponent({...Ke,props:e.mergeModels({title:{default:""},loading:{type:Boolean,default:!1},cancelText:{default:le.CANCEL},confirmText:{default:le.CONFIRM}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["cancel","confirm"],["update:modelValue"]),setup(t,{emit:n}){const{t:l}=oe(),o=t,s=n,a=e.useModel(t,"modelValue"),{attrs:d}=ee(["title","loading","cancelText","confirmText","modelValue"]),k=()=>{a.value=!1,s("cancel")},b=()=>{s("confirm")};return(v,h)=>{const w=e.resolveDirective("loading");return e.openBlock(),e.createBlock(e.unref(f.ElDialog),e.mergeProps({modelValue:a.value,"onUpdate:modelValue":h[0]||(h[0]=N=>a.value=N),class:"ez-dialog",width:800,"append-to-body":!1,"close-on-click-modal":!1,"destroy-on-close":!0,"close-on-press-escape":!1},e.unref(d)),{header:e.withCtx(()=>[v.$slots.header?e.renderSlot(v.$slots,"header",{key:0}):(e.openBlock(),e.createElementBlock("p",Ge,e.toDisplayString(o.title),1))]),default:e.withCtx(()=>[v.$slots.default?e.withDirectives((e.openBlock(),e.createElementBlock("div",He,[e.renderSlot(v.$slots,"default")])),[[w,o.loading]]):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[v.$slots.footer?e.renderSlot(v.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",je,[o.cancelText?(e.openBlock(),e.createBlock(e.unref(f.ElButton),{key:0,type:"default",onClick:k},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.cancelText===e.unref(le).CANCEL?e.unref(l)("s.button.cancel"):o.cancelText),1)]),_:1})):e.createCommentVNode("",!0),o.confirmText?(e.openBlock(),e.createBlock(e.unref(f.ElButton),{key:1,type:"primary",loading:o.loading,onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.confirmText===e.unref(le).CONFIRM?e.unref(l)("s.button.confirm"):o.confirmText),1)]),_:1},8,["loading"])):e.createCommentVNode("",!0)]))]),_:3},16,["modelValue"])}}}),Be=O(We),Ye=e.defineComponent({name:"EzSelect",inheritAttrs:!1}),Qe=e.defineComponent({...Ye,props:e.mergeModels({options:{default:()=>[]}},{modelValue:{type:[String,Number,Boolean,Object,Array]},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue"),{attrs:l}=ee(["options","modelValue"]),o=d=>typeof d>"u",s=d=>!o(d.options),a=(d,k)=>s(d)?`group-${d.label}-${k}`:d.value!=null&&typeof d.value!="object"?String(d.value):`option-${k}`;return(d,k)=>(e.openBlock(),e.createBlock(e.unref(f.ElSelect),e.mergeProps({modelValue:n.value,"onUpdate:modelValue":k[0]||(k[0]=b=>n.value=b)},e.unref(l)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(b,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a(b,v)},[s(b)?(e.openBlock(),e.createBlock(e.unref(f.ElOptionGroup),e.mergeProps({key:0,ref_for:!0},b),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.options,(h,w)=>(e.openBlock(),e.createBlock(e.unref(f.ElOption),e.mergeProps({key:a(h,w)},{ref_for:!0},h),null,16))),128))]),_:2},1040)):(e.openBlock(),e.createBlock(e.unref(f.ElOption),e.mergeProps({key:1,ref_for:!0},b),null,16))],64))),128))]),_:1},16,["modelValue"]))}}),ie=O(Qe),Xe=e.defineComponent({name:"EzRadio",inheritAttrs:!1}),_e=e.defineComponent({...Xe,props:e.mergeModels({type:{default:"default"},options:{default:()=>[]}},{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=t,l=e.useModel(t,"modelValue"),{attrs:o}=ee(["options","type","modelValue"]),s=e.computed(()=>["default","border"].includes(n.type)?f.ElRadio:f.ElRadioButton);return(a,d)=>(e.openBlock(),e.createBlock(e.unref(f.ElRadioGroup),e.mergeProps({modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=k=>l.value=k)},e.unref(o)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,k=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps({key:String(k.value),ref_for:!0},k,{border:t.type==="border"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1040,["border"]))),128))]),_:1},16,["modelValue"]))}}),de=O(_e),Ze=e.defineComponent({name:"EzIcon",inheritAttrs:!1}),Je=e.defineComponent({...Ze,props:{size:{default:20},color:{default:"inherit"}},setup(t){const n=t,l=s=>{if(!(s==null||s===""))return typeof s=="number"?`${s}px`:s},o=e.computed(()=>{const{size:s,color:a}=n;return!s&&!a?{}:{fontSize:l(s),color:a}});return(s,a)=>(e.openBlock(),e.createElementBlock("i",e.mergeProps({class:"ez-icon",style:o.value},s.$attrs),[e.renderSlot(s.$slots,"default",{class:"w-[1em] h-[1em]"})],16))}}),Z=O(Je),et={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},tt=e.defineComponent({name:"ArrowDown",__name:"ArrowDown",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",et,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"m832 340.992-320 312-320-312a28.8 28.8 0 0 0-20.992-8.96 28.8 28.8 0 0 0-20.992 8.96 28.8 28.8 0 0 0-8.96 20.992c0 8 2.624 14.72 8 19.968l340.992 332.032c5.952 6.016 13.312 8.96 22.016 8.96 8.64 0 16-2.944 22.016-8.96l340.992-331.008a31.23 31.23 0 0 0 8-21.504c0-8.32-3.008-15.36-8.96-20.992a29.76 29.76 0 0 0-42.048.448v.064z"},null,-1)])]))}}),lt={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},ot=e.defineComponent({name:"ArrowUp",__name:"ArrowUp",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",lt,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M488.96 344 148.992 700.992a32.26 32.26 0 0 0-8.96 22.016c0 8 2.944 15.36 8.96 22.016v1.024c6.016 5.952 13.184 8.96 21.504 8.96S185.984 752 192 746.048l320-336 320 336c6.016 5.952 13.184 8.96 21.504 8.96s15.488-3.008 21.504-8.96v-1.024a32.26 32.26 0 0 0 8.96-22.016 32.26 32.26 0 0 0-8.96-22.016L534.976 344A31.17 31.17 0 0 0 512 335.04a31.17 31.17 0 0 0-23.04 8.96"},null,-1)])]))}}),at={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},ke=e.defineComponent({name:"Delete",__name:"delete",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",at,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M218.88 118.592C208 139.968 208 168 208 245.376V272H96a32 32 0 1 0 0 64h832a32 32 0 0 0 0-64H816v-26.624c0-77.44 0-105.408-10.88-126.72a100.03 100.03 0 0 0-43.712-43.776C740.032 64 712 64 634.624 64H389.376c-77.44 0-105.408 0-126.72 10.88-18.88 9.6-34.176 24.96-43.776 43.712M752 272H272v-64c0-28.032 0-42.304 5.568-52.992a50.24 50.24 0 0 1 21.44-21.44C309.76 128.064 323.968 128 352 128h320c28.032 0 42.304 0 52.992 5.568 9.152 4.736 16.64 12.288 21.44 21.44C751.936 165.696 752 179.968 752 208zM192 416a32 32 0 0 0-32 32v358.4c0 53.76.128 81.28 10.688 101.76a96.54 96.54 0 0 0 41.216 41.152C232.384 959.872 259.84 960 313.6 960h396.8c53.76 0 81.28-.128 101.76-10.688a96.54 96.54 0 0 0 41.152-41.216C863.872 887.616 864 860.16 864 806.4V448a32 32 0 0 0-64 0v371.2c0 26.88 0 40.64-5.376 50.88a48.2 48.2 0 0 1-20.544 20.544c-10.24 5.312-24 5.376-50.88 5.376H300.8c-26.88 0-40.64 0-50.88-5.376a48.2 48.2 0 0 1-20.544-20.544c-5.312-10.24-5.376-24-5.376-50.88V448a32 32 0 0 0-32-32m216 0a32 32 0 0 0-32 32v320a32 32 0 0 0 64 0V448a32 32 0 0 0-32-32m208 0a32 32 0 0 0-32 32v320a32 32 0 0 0 64 0V448a32 32 0 0 0-32-32"},null,-1)])]))}}),rt={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},he=e.defineComponent({name:"Plus",__name:"plus",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",rt,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M512 96a32 32 0 0 0-32 32v352H128a32 32 0 1 0 0 64h352v352a32 32 0 0 0 64 0V544h352a32 32 0 0 0 0-64H544V128a32 32 0 0 0-32-32"},null,-1)])]))}}),nt={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},st=e.defineComponent({name:"Setting",__name:"setting",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",nt,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M218.688 848q27.712 48 83.2 48h374.08q55.424 0 83.136-48l187.008-323.968q27.776-48 0-96L759.104 104.064q-27.712-48-83.2-48H301.952q-55.488 0-83.2 48L31.68 428.032q-27.712 48 0 96zm55.424-32L87.104 492.032q-9.216-16 0-32l187.008-323.968q9.28-16 27.776-16h374.08q18.432 0 27.712 16l187.008 323.968q9.28 16 0 32L703.68 816q-9.28 16-27.712 16h-374.08q-18.56 0-27.776-16m54.784-339.968a160 160 0 1 0 320 0 160 160 0 0 0-320 0m64 0a96 96 0 1 1 192 0 96 96 0 0 1-192 0"},null,-1)])]))}}),ut={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},be=e.defineComponent({name:"ZoomIn",__name:"ZoomIn",setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("svg",ut,[...l[0]||(l[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M764.352 809.6a424 424 0 1 1 45.184-45.184l139.456 139.392a31.936 31.936 0 1 1-45.184 45.184L764.352 809.536zM848 488a360 360 0 1 0-720 0 360 360 0 0 0 720 0"},null,-1),e.createElementVNode("path",{fill:"currentColor",d:"M294.4 486.4a32 32 0 0 0 32 32h128v128a32 32 0 0 0 64 0v-128h128a32 32 0 0 0 0-64h-128v-128a32 32 0 0 0-64 0v128h-128a32 32 0 0 0-32 32"},null,-1)])]))}}),it={class:"ez-image-upload"},dt={key:0,class:"ez-image-upload__image"},ct={key:1,class:"ez-image-upload__list"},mt={class:"flex items-center justify-center h-full"},ft=e.defineComponent({name:"EzImageUpload",inheritAttrs:!1}),pt=e.defineComponent({...ft,props:e.mergeModels({api:{type:Function,default:()=>Promise.resolve({url:""})},imageTypes:{default:()=>["image/webp","image/png","image/jpg","image/gif","image/bmp","image/jpeg"]},limitSize:{default:10},style:{default:()=>({width:"100px",height:"100px"})},fit:{default:"contain"},multiple:{type:Boolean,default:!1},limit:{default:9},disabled:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","success","error","delete"],["update:modelValue"]),setup(t,{expose:n,emit:l}){const o=t,{attrs:s}=ee(["api","imageTypes","limitSize","style","fit","multiple","limit","disabled","modelValue"]),a=l,{t:d}=oe(),k=e.ref(!1),b=e.ref(0),v=e.useModel(t,"modelValue"),h=e.computed(()=>o.multiple),w=e.computed(()=>o.imageTypes.join(",")),N=/^(https?:\/\/|data:|blob:)/i,m=e.computed(()=>v.value?V(v.value):[]);function V(S){if(!S)return[];const B=S.trim().replace(/^[,\s]+|[,\s]+$/g,"");if(!B)return[];const P=/(blob:https?:\/\/|https?:\/\/|data:)/gi,L=Array.from(B.matchAll(P));if(L.length===0)return[];const q=[];for(let K=0;K<L.length;K++){const H=L[K].index??-1;if(H<0)continue;const j=L[K+1]?.index,Y=B.slice(H,j).trim().replace(/^[,\s]+|[,\s]+$/g,"");Y&&N.test(Y)&&q.push(Y)}return q}function g(S){return!S||S.length===0?"":S.filter(B=>B.trim()).map(B=>B.trim()).join(",")}const i=S=>o.disabled?(f.ElMessage.warning(d("s.message.disabled")),!1):h.value&&m.value.length>=o.limit?(f.ElMessage.warning(d("s.validate.upload.limit",{max:o.limit})),!1):o.imageTypes.includes(S.type.toLocaleLowerCase())?S.size>o.limitSize*1024*1024?(f.ElMessage.error(d("s.validate.upload.limit",{max:o.limitSize})),!1):!0:(f.ElMessage.error(d("s.validate.upload.image")),!1),p=async({file:S})=>{if(!o.disabled)try{const{url:B}=await o.api(S);if(!B)throw new Error(d("s.message.uploadFail"));if(h.value){const P=v.value?V(v.value):[];B&&N.test(B)&&(P.push(B),v.value=g(P))}else v.value=B;a("success",S,B)}catch(B){const P=B instanceof Error?B:new Error(String(B));f.ElMessage.error(P.message),a("error",S,P)}},I=(S,B=0)=>{S&&(b.value=B,k.value=!0)},A=S=>{if(!o.disabled&&!(!S||!v.value))if(h.value){const B=V(v.value),P=B.findIndex(L=>L===S);P!==-1&&(B.splice(P,1),v.value=g(B),a("delete",S))}else v.value="",a("delete",S)},D=e.ref();return n({clearFiles:()=>{D.value?.clearFiles?.(),v.value=""},submit:()=>{D.value?.submit?.()},getUploadRef:()=>D.value,getUrlList:()=>m.value}),(S,B)=>(e.openBlock(),e.createElementBlock("div",it,[h.value?(e.openBlock(),e.createElementBlock("div",ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(P,L)=>(e.openBlock(),e.createElementBlock("div",{key:L,class:"ez-image-upload__item",style:e.normalizeStyle(o.style)},[e.createVNode(e.unref(f.ElImage),{src:P,fit:o.fit},null,8,["src","fit"]),e.createElementVNode("div",{class:"ez-image-upload__handler",onClick:B[3]||(B[3]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(Z),{size:18,onClick:q=>I(P,L)},{default:e.withCtx(()=>[e.createVNode(e.unref(be))]),_:1},8,["onClick"]),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Z),{key:0,size:18,onClick:q=>A(P)},{default:e.withCtx(()=>[e.createVNode(e.unref(ke))]),_:1},8,["onClick"]))])],4))),128)),(m.value.length<o.limit||m.value.length===0)&&!o.disabled?(e.openBlock(),e.createBlock(e.unref(f.ElUpload),e.mergeProps({key:0},e.unref(s),{ref_key:"uploadRef",ref:D,action:"",accept:w.value,multiple:o.multiple,"show-file-list":!1,"before-upload":i,"http-request":p,style:o.style,disabled:o.disabled,class:[{"is-disabled":o.disabled},"ez-image-upload__item ez-image-upload__button"]}),{default:e.withCtx(()=>[e.createElementVNode("div",mt,[e.createVNode(e.unref(Z),null,{default:e.withCtx(()=>[e.createVNode(e.unref(he))]),_:1})])]),_:1},16,["accept","multiple","style","disabled","class"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(f.ElUpload),e.mergeProps({key:0},e.unref(s),{ref_key:"uploadRef",ref:D,action:"",accept:w.value,multiple:o.multiple,"show-file-list":!1,"before-upload":i,"http-request":p,style:o.style,disabled:o.disabled,class:["ez-image-upload__wrapper",{"is-disabled":o.disabled}]}),{default:e.withCtx(()=>[v.value?(e.openBlock(),e.createElementBlock("div",dt,[e.createVNode(e.unref(f.ElImage),{src:v.value,fit:o.fit},null,8,["src","fit"]),e.createElementVNode("div",{class:"ez-image-upload__handler",onClick:B[2]||(B[2]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(Z),{size:18,onClick:B[0]||(B[0]=P=>I(v.value,0))},{default:e.withCtx(()=>[e.createVNode(e.unref(be))]),_:1}),o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Z),{key:0,size:18,onClick:B[1]||(B[1]=P=>A(v.value))},{default:e.withCtx(()=>[e.createVNode(e.unref(ke))]),_:1}))])])):(e.openBlock(),e.createBlock(e.unref(Z),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(he))]),_:1}))]),_:1},16,["accept","multiple","style","disabled","class"])),k.value?(e.openBlock(),e.createBlock(e.unref(f.ElImageViewer),{key:2,"url-list":h.value?m.value:[v.value],"initial-index":b.value,onClose:B[4]||(B[4]=P=>k.value=!1)},null,8,["url-list","initial-index"])):e.createCommentVNode("",!0)]))}}),ce=O(pt);var x=(t=>(t.INPUT="input",t.TEXTAREA="textarea",t.NUMBER="number",t.PASSWORD="password",t.SELECT="select",t.RADIO="radio",t.CHECKBOX="checkbox",t.DATE="date",t.DATETIME="datetime",t.DATERANGE="daterange",t.DATETIMERANGE="datetimerange",t.TIME="time",t.TIMERANGE="timerange",t.UPLOAD_IMAGES="upload-images",t.SWITCH="switch",t.TREE_SELECT="tree-select",t.CASCADER="cascader",t.SLIDER="slider",t.RATE="rate",t))(x||{});const Ce=new Set(["select","radio","checkbox","date","datetime","daterange","datetimerange","time","timerange","switch","cascader","tree-select"]),Ve=new Set(["select","radio","checkbox","date","datetime","daterange","datetimerange","time","timerange","switch","cascader","tree-select","slider","rate"]);function we(t){return t&&Ce.has(t)?"选择":"输入"}function Se(t){return t&&Ve.has(t)?"change":"blur"}const gt=e.defineComponent({name:"EzFormItem"}),$e=e.defineComponent({...gt,props:e.mergeModels({config:{},formData:{default:()=>({})}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>n.config?.itemAttrs&&typeof n.config.itemAttrs=="object"?n.config.itemAttrs:{}),s=e.computed(()=>n.config?.attrs&&typeof n.config.attrs=="object"?n.config.attrs:{}),a=e.computed(()=>{const g=s.value,{disabled:i,modelValue:p,"onUpdate:modelValue":I,...A}=g;return A}),d=e.computed(()=>{const g=s.value,{api:i,disabled:p,modelValue:I,"onUpdate:modelValue":A,...D}=g;return D}),k=e.computed(()=>{if(n.config?.type===x.UPLOAD_IMAGES)return typeof s.value.api=="function"?s.value.api:(()=>{throw new Error('[EzFormItem] "upload-images" requires attrs.api to be a function: (file: File) => Promise<{ url: string }>.')})()}),b=e.computed(()=>n.config?.options&&Array.isArray(n.config.options)?n.config.options:[]),v=()=>b.value,h=()=>b.value,w=()=>b.value,N=()=>b.value,m=()=>b.value,V=()=>{const{config:g}=n;if(!g||typeof g!="object")return;let i;return g.rules?i=g.rules:g.required&&(i=[{required:!0,message:g.requiredMessage||`请${we(g.type)}${g.label||""}`,trigger:Se(g.type)}]),i};return(g,i)=>t.config&&t.config.prop?(e.openBlock(),e.createBlock(e.unref(f.ElFormItem),e.mergeProps({key:0,prop:t.config.prop,label:t.config.label,rules:V()},o.value),e.createSlots({default:e.withCtx(()=>[g.$slots.default?e.renderSlot(g.$slots,"default",{key:0,config:t.config,value:l.value,formData:t.formData}):t.config.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.config.component),e.mergeProps({key:1,modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=p=>l.value=p),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.config.type===e.unref(x).INPUT||!t.config.type?(e.openBlock(),e.createBlock(e.unref(f.ElInput),e.mergeProps({key:0,modelValue:l.value,"onUpdate:modelValue":i[1]||(i[1]=p=>l.value=p),placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled,clearable:""},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(x).TEXTAREA?(e.openBlock(),e.createBlock(e.unref(f.ElInput),e.mergeProps({key:1,modelValue:l.value,"onUpdate:modelValue":i[2]||(i[2]=p=>l.value=p),type:"textarea",placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(x).NUMBER?(e.openBlock(),e.createBlock(e.unref(f.ElInputNumber),e.mergeProps({key:2,modelValue:l.value,"onUpdate:modelValue":i[3]||(i[3]=p=>l.value=p),placeholder:t.config.placeholder,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(x).PASSWORD?(e.openBlock(),e.createBlock(e.unref(f.ElInput),e.mergeProps({key:3,modelValue:l.value,"onUpdate:modelValue":i[4]||(i[4]=p=>l.value=p),type:"password",placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled,"show-password":"",clearable:""},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(x).SELECT?(e.openBlock(),e.createBlock(e.unref(ie),e.mergeProps({key:4,modelValue:l.value,"onUpdate:modelValue":i[5]||(i[5]=p=>l.value=p),options:v(),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","options","placeholder","disabled"])):t.config.type===e.unref(x).RADIO?(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps({key:5,modelValue:l.value,"onUpdate:modelValue":i[6]||(i[6]=p=>l.value=p),options:h(),disabled:t.config.disabled},a.value),null,16,["modelValue","options","disabled"])):t.config.type===e.unref(x).CHECKBOX?(e.openBlock(),e.createBlock(e.unref(ue),e.mergeProps({key:6,modelValue:l.value,"onUpdate:modelValue":i[7]||(i[7]=p=>l.value=p),options:w(),disabled:t.config.disabled},a.value),null,16,["modelValue","options","disabled"])):t.config.type===e.unref(x).DATE?(e.openBlock(),e.createBlock(e.unref(f.ElDatePicker),e.mergeProps({key:7,modelValue:l.value,"onUpdate:modelValue":i[8]||(i[8]=p=>l.value=p),type:"date",placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(x).DATETIME?(e.openBlock(),e.createBlock(e.unref(f.ElDatePicker),e.mergeProps({key:8,modelValue:l.value,"onUpdate:modelValue":i[9]||(i[9]=p=>l.value=p),type:"datetime",placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(x).DATERANGE?(e.openBlock(),e.createBlock(e.unref(f.ElDatePicker),e.mergeProps({key:9,modelValue:l.value,"onUpdate:modelValue":i[10]||(i[10]=p=>l.value=p),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(x).DATETIMERANGE?(e.openBlock(),e.createBlock(e.unref(f.ElDatePicker),e.mergeProps({key:10,modelValue:l.value,"onUpdate:modelValue":i[11]||(i[11]=p=>l.value=p),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(x).TIME?(e.openBlock(),e.createBlock(e.unref(f.ElTimePicker),e.mergeProps({key:11,modelValue:l.value,"onUpdate:modelValue":i[12]||(i[12]=p=>l.value=p),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(x).TIMERANGE?(e.openBlock(),e.createBlock(e.unref(f.ElTimePicker),e.mergeProps({key:12,modelValue:l.value,"onUpdate:modelValue":i[13]||(i[13]=p=>l.value=p),"is-range":"","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(x).SWITCH?(e.openBlock(),e.createBlock(e.unref(f.ElSwitch),e.mergeProps({key:13,modelValue:l.value,"onUpdate:modelValue":i[14]||(i[14]=p=>l.value=p),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(x).TREE_SELECT?(e.openBlock(),e.createBlock(e.unref(f.ElTreeSelect),e.mergeProps({key:14,modelValue:l.value,"onUpdate:modelValue":i[15]||(i[15]=p=>l.value=p),data:N(),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},a.value),null,16,["modelValue","data","placeholder","disabled"])):t.config.type===e.unref(x).CASCADER?(e.openBlock(),e.createBlock(e.unref(f.ElCascader),e.mergeProps({key:15,modelValue:l.value,"onUpdate:modelValue":i[16]||(i[16]=p=>l.value=p),options:m(),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled,clearable:""},a.value),null,16,["modelValue","options","placeholder","disabled"])):t.config.type===e.unref(x).SLIDER?(e.openBlock(),e.createBlock(e.unref(f.ElSlider),e.mergeProps({key:16,modelValue:l.value,"onUpdate:modelValue":i[17]||(i[17]=p=>l.value=p),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(x).RATE?(e.openBlock(),e.createBlock(e.unref(f.ElRate),e.mergeProps({key:17,modelValue:l.value,"onUpdate:modelValue":i[18]||(i[18]=p=>l.value=p),disabled:t.config.disabled},a.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(x).UPLOAD_IMAGES?(e.openBlock(),e.createBlock(e.unref(ce),e.mergeProps({key:18,modelValue:l.value,"onUpdate:modelValue":i[19]||(i[19]=p=>l.value=p),api:k.value,disabled:t.config.disabled},d.value),null,16,["modelValue","api","disabled"])):e.createCommentVNode("",!0)],64))]),_:2},[g.$slots.label?{name:"label",fn:e.withCtx(()=>[e.renderSlot(g.$slots,"label",{config:t.config})]),key:"0"}:void 0]),1040,["prop","label","rules"])):e.createCommentVNode("",!0)}}),vt={key:0,class:"ez-dynamic-form-group__title"},yt={key:1,class:"ez-dynamic-form-group__description"},kt=e.defineComponent({name:"EzDynamicForm",inheritAttrs:!1}),ht=e.defineComponent({...kt,props:e.mergeModels({items:{default:()=>[]},groups:{default:()=>[]},modelValue:{},cols:{default:1},gutter:{default:20},disabled:{type:Boolean},labelPosition:{},requireAsteriskPosition:{},labelWidth:{},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},validateOnRuleChange:{type:Boolean},hideRequiredAsterisk:{type:Boolean},scrollToError:{type:Boolean},scrollIntoViewOptions:{},size:{}},{modelValue:{default:()=>({})},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:n}){const l=t,o=e.useSlots(),s=e.useModel(t,"modelValue"),a=e.shallowRef(),d=e.shallowRef({}),k=u=>Object.prototype.toString.call(u)==="[object Object]",b=u=>{const y=new WeakMap,r=E=>{if(E instanceof Date)return new Date(E.getTime());if(Array.isArray(E)){const $=E;if(y.has($))return y.get($);const F=[];return y.set($,F),$.forEach((_,J)=>{F[J]=r(_)}),F}if(k(E)){const $=E;if(y.has($))return y.get($);const F={};return y.set($,F),Object.entries($).forEach(([_,J])=>{F[_]=r(J)}),F}return E};return r(u)},v=u=>k(u)&&("value"in u||"fields"in u||"omit"in u),h=()=>{k(s.value)||(s.value={})},w=()=>{h(),s.value&&V.value.forEach(u=>{u.prop in s.value||(s.value[u.prop]=u.defaultValue!==void 0?u.defaultValue:void 0)})},N=e.computed(()=>{const{items:u,groups:y,cols:r,gutter:E,modelValue:$,...F}=l;return F}),m=e.computed(()=>Math.floor(24/l.cols)),V=e.computed(()=>l.groups?.length?l.groups.flatMap(u=>u.items||[]):l.items||[]),g=e.computed(()=>Array.isArray(l.groups)&&l.groups.length>0),i=()=>{const u=(l.items?.length||0)>0,y=(l.groups?.length||0)>0;if(u&&y)throw new Error('[EzDynamicForm] "items" and "groups" cannot be used at the same time. Choose exactly one configuration mode.')},p=u=>{const y={};return V.value.forEach(r=>{Object.prototype.hasOwnProperty.call(u,r.prop)&&(y[r.prop]=b(u[r.prop]))}),y},I=(u,y,r)=>{console.error(`[EzDynamicForm] ${u} error for field "${y.prop}":`,r)},A=(u,y)=>({item:b(u),formData:b(y)}),D=u=>{const y=b(u);return V.value.forEach(r=>{if(r.deserialize)try{const E=A(r,y);y[r.prop]=r.deserialize(y[r.prop],E.formData,E.item)}catch(E){I("deserialize",r,E)}}),y},M=u=>{const y=b(u);return V.value.forEach(r=>{if(!r.serialize)return;let E;try{const $=A(r,y);E=r.serialize(y[r.prop],$.formData,$.item)}catch($){I("serialize",r,$);return}if(E!==void 0){if(v(E)){Object.prototype.hasOwnProperty.call(E,"value")&&(y[r.prop]=b(E.value)),E.fields&&k(E.fields)&&Object.assign(y,b(E.fields)),E.omit&&delete y[r.prop];return}y[r.prop]=b(E)}}),y};e.watch(()=>[l.items,l.groups],i,{deep:!0,immediate:!0}),e.watch(()=>[l.items,l.groups],w,{deep:!0,immediate:!0}),e.watch(s,w,{immediate:!0}),e.onMounted(()=>{w(),Q()});const G=(u,y,r)=>{if(!u)return!0;try{return u(s.value)}catch(E){return console.error(`[EzDynamicForm] ${y} visibility error for "${r}":`,E),!1}},S=e.computed(()=>{const u=g.value?l.groups:[{items:l.items||[],cols:l.cols,gutter:l.gutter}],y=[];return u.forEach((r,E)=>{if(!r||r.hidden)return;const $=r.name||`group-${E}`;if(!G(r.show,"group",$))return;const F=(r.items||[]).filter(c=>c.hidden?!1:G(c.show,"item",c.prop)),_=Math.max(1,r.cols||l.cols),J=r.gutter??l.gutter,re=r.headerSlot||(r.name?`group-header-${r.name}`:void 0),ne=r.slot||(r.name?`group-${r.name}`:void 0);y.push({key:`${$}-${E}`,index:E,group:r,items:F,cols:_,gutter:J,headerSlotName:re,bodySlotName:ne})}),y}),B=(u,y)=>{if(u.span!==void 0)return Math.max(1,Math.min(24,u.span));const r=Math.max(1,y);return Math.max(1,Math.floor(24/r))||m.value},P=u=>g.value?u.group.title||u.group.description||u.headerSlotName&&o[u.headerSlotName]?!0:!!o["group-header"]:!1,L=u=>{let y=u.disabled||l.disabled;if(!y&&u.disabledWhen)try{y=u.disabledWhen(s.value)}catch(r){console.error(`[EzDynamicForm] Disabled check error for "${u.prop}":`,r)}return{...u,disabled:y}},q=async()=>{if(!a.value)return console.warn("[EzDynamicForm] Form ref is not available"),!1;try{return await a.value.validate(),!0}catch{return!1}},K=async u=>{if(!a.value)return console.warn("[EzDynamicForm] Form ref is not available"),!1;try{return await a.value.validateField(u),!0}catch{return!1}},H=u=>{if(!a.value){console.warn("[EzDynamicForm] Form ref is not available");return}a.value.clearValidate(u)},j=()=>b(s.value),Y=()=>M(j()),Q=()=>{d.value=j()},X=(u,y=!0)=>{if(!u)return;h();const r=b(u);y?Object.assign(s.value,r):s.value=r,w(),e.nextTick(()=>{a.value?.clearValidate()})};return n({validate:q,validateField:K,clearValidate:H,getFormData:j,getSubmitData:Y,setFormData:X,setSubmitData:(u,y=!0)=>{u&&X(p(D(u)),y)},resetForm:()=>{s.value=b(d.value),w(),e.nextTick(()=>{a.value?.clearValidate()})},captureInitialData:Q,formRef:a}),(u,y)=>(e.openBlock(),e.createBlock(e.unref(f.ElForm),e.mergeProps({ref_key:"formRef",ref:a,class:"ez-dynamic-form","label-width":l.labelWidth??"auto"},N.value,{model:s.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,r=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value?"section":"div"),{key:r.key,class:e.normalizeClass(g.value?["ez-dynamic-form-group",r.group.className]:void 0),style:e.normalizeStyle(g.value?r.group.style:void 0)},{default:e.withCtx(()=>[P(r)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["ez-dynamic-form-group__header",r.group.headerClassName]),style:e.normalizeStyle(r.group.headerStyle)},[r.headerSlotName&&u.$slots[r.headerSlotName]?e.renderSlot(u.$slots,r.headerSlotName,{key:0,group:r.group,index:r.index,items:r.items,formData:s.value}):u.$slots["group-header"]?e.renderSlot(u.$slots,"group-header",{key:1,group:r.group,index:r.index,items:r.items,formData:s.value}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[r.group.title?(e.openBlock(),e.createElementBlock("div",vt,e.toDisplayString(r.group.title),1)):e.createCommentVNode("",!0),r.group.description?(e.openBlock(),e.createElementBlock("div",yt,e.toDisplayString(r.group.description),1)):e.createCommentVNode("",!0)],64))],6)):e.createCommentVNode("",!0),g.value&&r.bodySlotName&&u.$slots[r.bodySlotName]?e.renderSlot(u.$slots,r.bodySlotName,{key:1,group:r.group,index:r.index,items:r.items,formData:s.value}):g.value&&u.$slots.group?e.renderSlot(u.$slots,"group",{key:2,group:r.group,index:r.index,items:r.items,formData:s.value}):(e.openBlock(),e.createBlock(e.unref(f.ElRow),{key:3,gutter:r.gutter,class:e.normalizeClass(g.value?["ez-dynamic-form-group__body",r.group.bodyClassName]:void 0),style:e.normalizeStyle(g.value?r.group.bodyStyle:void 0)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,E=>(e.openBlock(),e.createBlock(e.unref(f.ElCol),{key:`${r.key}-${E.prop}`,span:B(E,r.cols)},{default:e.withCtx(()=>[e.createVNode($e,{modelValue:s.value[E.prop],"onUpdate:modelValue":$=>s.value[E.prop]=$,config:L(E),formData:s.value},e.createSlots({_:2},[u.$slots[`label-${E.prop}`]?{name:"label",fn:e.withCtx(()=>[e.renderSlot(u.$slots,`label-${E.prop}`,{item:E})]),key:"0"}:void 0,u.$slots[E.prop]?{name:"default",fn:e.withCtx(({config:$,value:F})=>[e.renderSlot(u.$slots,E.prop,{item:$,value:F,formData:s.value})]),key:"1"}:void 0]),1032,["modelValue","onUpdate:modelValue","config","formData"])]),_:2},1032,["span"]))),128))]),_:2},1032,["gutter","class","style"]))]),_:2},1032,["class","style"]))),128))]),_:3},16,["label-width","model"]))}}),ze=O(ht),Pe=O($e),bt=e.defineComponent({name:"EzTable",inheritAttrs:!1}),xe=e.defineComponent({...bt,props:{data:{default:()=>[]},columns:{default:()=>[]},border:{type:Boolean,default:!0},rowKey:{type:[String,Function],default:"id"}},setup(t,{expose:n}){const l=t,o=e.ref(),s=new Set(["hidden","emptyValue","sortMode","sortField"]),a=m=>m===!0,d=m=>m==null||m==="",k=()=>l.columns.filter(m=>["selection","index","expand"].includes(m.type||"")?!1:!a(m.hidden)),b=e.computed(()=>{const m=k(),V=m[m.length-1];return V?.columnKey||V?.prop||null}),v=m=>m.type?!1:(m.columnKey||m.prop)!==b.value,h=m=>{const V=m.formatter,g=m.emptyValue!==void 0;if(!(!V&&!g))return(i,p,I,A)=>{const D=V?V(i,p,I,A):I;return g&&d(D)?m.emptyValue:D}},w=m=>{const g={...{align:"center",resizable:!0,reserveSelection:m.type==="selection",showOverflowTooltip:v(m)},...m,formatter:h(m)},i=Object.fromEntries(Object.entries(g).filter(([p])=>!s.has(p)));return m.sortMode==="remote"&&(i.sortable="custom"),i};return n({getTableRef:()=>o.value,clearSelection:()=>o.value?.clearSelection(),toggleRowSelection:(m,V)=>o.value?.toggleRowSelection(m,V),toggleAllSelection:()=>o.value?.toggleAllSelection(),toggleRowExpansion:(m,V)=>o.value?.toggleRowExpansion(m,V),setCurrentRow:m=>o.value?.setCurrentRow(m),clearSort:()=>o.value?.clearSort(),clearFilter:m=>o.value?.clearFilter(m),doLayout:()=>o.value?.doLayout(),sort:(m,V)=>o.value?.sort(m,V)}),(m,V)=>(e.openBlock(),e.createBlock(e.unref(f.ElTable),e.mergeProps({ref_key:"tableRef",ref:o,data:l.data,border:l.border,"row-key":l.rowKey},m.$attrs),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.columns,(g,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g.columnKey||g.prop||`${g.type||"column"}-${i}`},[["selection","index"].includes(g.type)?(e.openBlock(),e.createBlock(e.unref(f.ElTableColumn),e.mergeProps({key:0,ref_for:!0},w(g)),null,16)):a(g.hidden)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(f.ElTableColumn),e.mergeProps({key:1,ref_for:!0},w(g)),e.createSlots({_:2},[m.$slots[g.prop]?{name:"default",fn:e.withCtx(p=>[e.renderSlot(m.$slots,g.prop,e.mergeProps({ref_for:!0},p))]),key:"0"}:void 0,m.$slots[`header-${g.prop}`]?{name:"header",fn:e.withCtx(p=>[e.renderSlot(m.$slots,`header-${g.prop}`,e.mergeProps({ref_for:!0},p))]),key:"1"}:void 0]),1040))],64))),128))]),_:2},[m.$slots?.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"append")]),key:"0"}:void 0,m.$slots?.empty?{name:"empty",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"empty")]),key:"1"}:void 0]),1040,["data","border","row-key"]))}}),Et={class:"ez-query-panel"},Bt={class:"ez-query-panel__operate"},Ct=e.defineComponent({name:"EzQueryPanel",inheritAttrs:!1}),Vt=e.defineComponent({...Ct,props:e.mergeModels({expanded:{type:Boolean},collapsedHeight:{default:50}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:["update:expanded"],setup(t,{expose:n}){const l=t,{t:o}=oe(),s=e.ref(),a=e.ref(),d=e.ref(0),k=e.useModel(t,"expanded"),b=e.computed(()=>d.value>l.collapsedHeight),v=e.computed(()=>k.value?ot:tt),h=e.computed(()=>k.value?o("s.button.collapse"):o("s.button.expand"));let w=null;const N=Le(()=>{s.value&&(d.value=s.value.scrollHeight)},100),m=()=>{k.value=!k.value};return e.onMounted(()=>{setTimeout(()=>{s.value&&(N(),w=new ResizeObserver(N),w.observe(s.value))},50)}),e.onUnmounted(()=>{w&&(w.disconnect(),w=null)}),n({countViewHeight:N}),(V,g)=>(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("div",{class:"ez-query-panel__wrapper",style:e.normalizeStyle({height:d.value?k.value?`${d.value}px`:`${l.collapsedHeight}px`:"auto"})},[e.createElementVNode("div",{ref_key:"layoutRef",ref:s,class:"ez-query-panel__layout"},[e.createElementVNode("div",Bt,[e.renderSlot(V.$slots,"operate"),b.value?(e.openBlock(),e.createBlock(e.unref(f.ElButton),{key:0,icon:v.value,size:"small",title:h.value,circle:"",onClick:g[0]||(g[0]=i=>m())},null,8,["icon","title"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{ref_key:"wrapRef",ref:a,class:"ez-query-panel__content"},[e.renderSlot(V.$slots,"default")],512)],512)],4)]))}}),me=O(Vt),wt=e.defineComponent({name:"EzPagination",inheritAttrs:!1}),St=e.defineComponent({...wt,props:e.mergeModels({currentPage:{},pageSize:{},total:{},pageSizes:{default:()=>[10,20,50,100]},layout:{default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:10},pageSizeModifiers:{}}),emits:e.mergeModels(["update:currentPage","update:pageSize","current-change","size-change","change"],["update:currentPage","update:pageSize"]),setup(t,{emit:n}){const l=t,o=e.useModel(t,"currentPage"),s=e.useModel(t,"pageSize"),a=n,d=v=>{a("current-change",v),a("change",v,s.value)},k=v=>{a("size-change",v),a("change",o.value,v)},{attrs:b}=ee(["currentPage","pageSize","total","pageSizes","layout","background","disabled"]);return(v,h)=>(e.openBlock(),e.createBlock(e.unref(f.ElPagination),e.mergeProps({"current-page":o.value,"onUpdate:currentPage":h[0]||(h[0]=w=>o.value=w),"page-size":s.value,"onUpdate:pageSize":h[1]||(h[1]=w=>s.value=w),total:l.total,"page-sizes":l.pageSizes,layout:l.layout,background:l.background,disabled:l.disabled,onCurrentChange:d,onSizeChange:k},e.unref(b)),null,16,["current-page","page-size","total","page-sizes","layout","background","disabled"]))}}),fe=O(St);var se=(t=>(t.ASC="ascending",t.DESC="descending",t[t.EMPTY=null]="EMPTY",t))(se||{});const $t=(t,n)=>typeof n=="function"?n(t):t[n],zt=t=>{const n=e.shallowRef([]),l=e.computed(()=>n.value),o=e.computed(()=>n.value.map(d=>$t(d,t)));return{selectionChange:d=>{n.value=d},getSelectedList:l,getSelectedIds:o,getSortParams:({prop:d,order:k},b)=>{const v=b||d,h={asc:null,desc:null};return k===se.ASC?(h.asc=v,h.desc=null):k===se.DESC&&(h.asc=null,h.desc=v),h}}},Pt=e.defineComponent({__name:"column-config",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{},columns:{default:()=>[]},columnsModifiers:{}},emits:e.mergeModels(["change"],["update:modelValue","update:columns"]),setup(t,{emit:n}){const{t:l}=oe(),o=["selection","index","expand"],s=n,a=e.useModel(t,"modelValue"),d=e.useModel(t,"columns"),k=b=>d.value.filter(h=>!h.hidden).length<2&&!b.hidden;return(b,v)=>(e.openBlock(),e.createBlock(e.unref(f.ElDrawer),{modelValue:a.value,"onUpdate:modelValue":v[1]||(v[1]=h=>a.value=h),class:"ez-column-wrapper",title:e.unref(l)("s.label.column"),size:"15%"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(h,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h.columnKey||h.prop||`${h.type||"column"}-${w}`},[o.includes(h.type)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(f.ElCheckbox),{key:0,"model-value":!h.hidden,class:"flex",label:h.label,"onUpdate:modelValue":N=>h.hidden=!N,disabled:k(h),onChange:v[0]||(v[0]=N=>s("change"))},null,8,["model-value","label","onUpdate:modelValue","disabled"]))],64))),128))]),_:1},8,["modelValue","title"]))}}),xt={class:"ez-fast-table"},Mt={class:"ez-fast-table_wrapper"},At={key:0,class:"ez-fast-table_wrapper_header_operation"},Dt={key:1,class:"ez-fast-table_error"},Nt={class:"ez-fast-table_pagination"},Tt=e.defineComponent({name:"EzFastTable",directives:{loading:f.ElLoading.directive},inheritAttrs:!1}),Rt=e.defineComponent({...Tt,props:{params:{},loading:{type:Boolean},columns:{default:()=>[]},api:{type:Function,default:()=>Promise.resolve({})},beforeSearch:{type:Function,default:()=>Promise.resolve()},transformParams:{type:Function,default:t=>t},responseAdapter:{type:Function,default:t=>{const{code:n,data:l}=t||{};return n===200&&l?.records?{records:l.records||[],total:l.total||0,current:l.current||1,size:l.size||10}:{records:[],total:0,current:1,size:10}}},onError:{type:Function,default:async()=>{}},columnTool:{type:Boolean,default:!0},expanded:{type:Boolean,default:!1},border:{type:Boolean,default:!0},rowKey:{type:[String,Function],default:"id"}},emits:["update:params","update:loading","changePage","reset","query","update:columns"],setup(t,{expose:n,emit:l}){const{t:o}=oe(),s=()=>({current:1,size:10}),a=t,d=e.useAttrs(),k=e.computed(()=>{const{api:c,beforeSearch:C,transformParams:U,responseAdapter:z,onError:R,columnTool:W,expanded:ge,columns:qt,border:Gt,...De}=a;return{...d,...De}}),b=e.ref(a.expanded),{selectionChange:v,getSelectedList:h,getSortParams:w,getSelectedIds:N}=zt(a.rowKey),m=e.ref(null),V=e.ref(!1),g=e.ref(null),i=e.ref(0),p=e.ref([]),I=e.ref(0),A=e.ref(null),D=l,M=e.ref(T(a.params??s())),G=e.ref(T(a.columns??[])),S=e.ref(a.loading??!1),B=e.computed({get:()=>S.value,set:c=>{S.value=c,D("update:loading",c)}}),P=e.computed(()=>({params:M.value,loading:B.value,expanded:b.value,search:X,query:Q,reset:r,captureInitialParams:H,patchParams:te,replaceParams:ae}));e.watch(()=>a.params,c=>{M.value=T(c??s())},{deep:!0}),e.watch(()=>a.columns,c=>{G.value=T(c??[])},{deep:!0}),e.watch(()=>a.loading,c=>{S.value=c??!1});const L=c=>c,q=()=>{const c=T(M.value);M.value=c,D("update:params",c)},K=async()=>(await e.nextTick(),T(M.value)),H=c=>{g.value=T(c??M.value)},j=async(c,C,U)=>{c===i.value&&(console.error(`[EzFastTable] Query pipeline failed at stage "${U.stage}".`,C),A.value={error:C,stage:U.stage,params:T(U.params)},await a.onError?.(C,U))},Y=async c=>{const C=i.value+1;i.value=C,A.value=null;try{B.value=!0;try{await a.beforeSearch(c)}catch(W){await j(C,W,{stage:"beforeSearch",params:c});return}let U;try{U=await a.transformParams(c)}catch(W){await j(C,W,{stage:"transformParams",params:c});return}let z;try{z=await a.api(U)}catch(W){await j(C,W,{stage:"api",params:c});return}let R;try{R=await a.responseAdapter(z)}catch(W){await j(C,W,{stage:"responseAdapter",params:c});return}if(C!==i.value)return;p.value=R.records||[],I.value=R.total||0,D("query")}finally{C===i.value&&(B.value=!1)}},Q=async()=>{const c=await K();await Y(c)},X=()=>{(async()=>{const c=await K();c.current=1,M.value=c,q(),await Y(T(M.value))})()},te=(c,C={})=>{const{resetPage:U=!1,captureInitial:z=!1}=C,R={...M.value,...T(c)};U&&(R.current=1),M.value=R,q(),z&&H()},ae=(c,C={})=>{const{resetPage:U=!1,captureInitial:z=!1}=C,R=T(c);U&&(R.current=1),M.value=R,q(),z&&H()},u=()=>m.value?.getTableRef(),y=c=>{const{column:C,prop:U}=c;if((C?.sortMode||"local")==="remote"){const R=w(c,C?.sortField||U);te(R),X();return}(M.value.asc||M.value.desc)&&te({asc:null,desc:null})},r=()=>{ae(T(g.value??{current:1,size:10})),D("reset"),Q()},E=c=>{if(D("changePage",c),c.size){X();return}q(),Q()},$=()=>{u()?.doLayout()},F=()=>{const c=T(G.value);G.value=c,D("update:columns",c),$()},_=()=>{A.value=null},J=()=>A.value,re=()=>{_(),Q()},ne=e.computed(()=>({error:A.value?.error,stage:A.value?.stage||"api",params:A.value?.params??M.value,retry:re}));return e.onMounted(()=>{H()}),n({search:X,query:Q,patchParams:te,replaceParams:ae,reset:r,captureInitialParams:H,getTableRef:u,doLayout:$,clearError:_,getErrorState:J}),(c,C)=>{const U=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",xt,[c.$slots.form?(e.openBlock(),e.createBlock(e.unref(me),{key:0,expanded:b.value,"onUpdate:expanded":C[0]||(C[0]=z=>b.value=z)},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"form",e.normalizeProps(e.guardReactiveProps(P.value)))]),operate:e.withCtx(()=>[e.createVNode(e.unref(f.ElButton),{type:"primary",loading:B.value,onClick:X},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("s.button.query")),1)]),_:1},8,["loading"]),e.createVNode(e.unref(f.ElButton),{onClick:r},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("s.button.reset")),1)]),_:1})]),_:3},8,["expanded"])):e.createCommentVNode("",!0),c.$slots.freeArea?e.renderSlot(c.$slots,"freeArea",e.normalizeProps(e.mergeProps({key:1},P.value))):e.createCommentVNode("",!0),e.createElementVNode("div",Mt,[c.$slots.header||a.columnTool?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["ez-fast-table_wrapper_header",c.$slots.header?"justify-between":"justify-end"])},[c.$slots.header?(e.openBlock(),e.createElementBlock("div",At,[e.renderSlot(c.$slots,"header",{selectList:e.unref(h),selectIds:e.unref(N)})])):e.createCommentVNode("",!0),a.columnTool?(e.openBlock(),e.createBlock(e.unref(f.ElButton),{key:1,icon:e.unref(st),circle:"",onClick:C[1]||(C[1]=z=>V.value=!0)},null,8,["icon"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(xe,e.mergeProps(k.value,{ref_key:"fastTableRef",ref:m,border:a.border,columns:G.value,data:p.value,onSelectionChange:e.unref(v),onSortChange:y}),e.createSlots({_:2},[e.renderList(c.$slots,(z,R,W)=>({name:R,fn:e.withCtx(ge=>[!["form","empty","error","header"].includes(String(R))&&!String(R).startsWith("header-")?e.renderSlot(c.$slots,R,e.normalizeProps(e.mergeProps({key:0},L(ge)))):e.createCommentVNode("",!0)])})),c.$slots.empty&&!A.value?{name:"empty",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"empty")]),key:"0"}:void 0]),1040,["border","columns","data","onSelectionChange"])),[[U,B.value]]),A.value&&c.$slots.error?(e.openBlock(),e.createElementBlock("div",Dt,[e.renderSlot(c.$slots,"error",e.normalizeProps(e.guardReactiveProps(ne.value)))])):e.createCommentVNode("",!0),e.createElementVNode("div",Nt,[e.createVNode(e.unref(fe),{"current-page":M.value.current,"onUpdate:currentPage":[C[2]||(C[2]=z=>M.value.current=z),C[4]||(C[4]=z=>E({current:z}))],"page-size":M.value.size,"onUpdate:pageSize":[C[3]||(C[3]=z=>M.value.size=z),C[5]||(C[5]=z=>E({size:z}))],total:I.value},null,8,["current-page","page-size","total"])])]),e.createVNode(Pt,{modelValue:V.value,"onUpdate:modelValue":C[6]||(C[6]=z=>V.value=z),columns:G.value,"onUpdate:columns":C[7]||(C[7]=z=>G.value=z),onChange:F},null,8,["modelValue","columns"])])}}}),pe=O(Rt),Ut=()=>pe,Me=O(xe),Ee=Symbol("INSTALLED_KEY");function Ft(t=[]){return{install:l=>{l[Ee]||(l[Ee]=!0,t.forEach(o=>l.use(o)))}}}const It=[ue,Be,ze,Pe,pe,Z,ce,fe,me,de,ie,Me],Lt=[f.ElInfiniteScroll,f.ElLoading,f.ElMessage,f.ElMessageBox,f.ElNotification,f.ElPopoverDirective],Ae=Ft([...It,...Lt]),Ot=Ae.install;exports.CHANGE_TRIGGER_TYPES=Ve;exports.EzCheckbox=ue;exports.EzDialog=Be;exports.EzDynamicForm=ze;exports.EzFastTable=pe;exports.EzFormItem=Pe;exports.EzIcon=Z;exports.EzImageUpload=ce;exports.EzPagination=fe;exports.EzQueryPanel=me;exports.EzRadio=de;exports.EzSelect=ie;exports.EzTable=Me;exports.FormItemType=x;exports.SELECT_FORM_TYPES=Ce;exports.createTypedFastTable=Ut;exports.default=Ae;exports.getInputVerb=we;exports.getTrigger=Se;exports.install=Ot;