@maxtan/ez-ui 0.25.0 → 1.0.1

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/README.md CHANGED
@@ -1,13 +1,114 @@
1
- # ez-ui基础组件库
1
+ # ez-ui 基础组件库
2
2
 
3
- ## 前言
3
+ `ez-ui` 是一个基于 `Vue 3` 与 `Element Plus` 的业务扩展组件库,面向中后台场景提供一组开箱可用、可继续定制的基础组件。
4
4
 
5
- 这个框架是基于`element-plus`的,所以在使用前请确认你的项目安装了`element-plus`依赖
5
+ 它并不是某一个单独组件的封装,而是一套围绕常见业务页面搭建出来的组件集合,目标是减少重复样板代码,统一交互风格,并保留足够的扩展能力。
6
6
 
7
- ## 使用文档
7
+ 当前包内主要包含以下能力:
8
8
 
9
- 详情请查看[文档](https://ezui.cc)
9
+ - 表单与配置化表单:`EzDynamicForm`、`EzFormItem`、`EzQueryPanel`
10
+ - 选择类组件:`EzSelect`、`EzRadio`、`EzCheckbox`
11
+ - 表格与数据展示:`EzTable`、`EzFastTable`、`EzPagination`
12
+ - 交互与弹层:`EzDialog`
13
+ - 资源与展示:`EzIcon`、`EzImageUpload`
10
14
 
11
- ## 关于贡献代码
15
+ ## 适用场景
12
16
 
13
- 相关开发人员提供合并请求(master),合并后相关负责人会对项目进行审核及内测,内测完成后会一并同版本发布。
17
+ 这套组件更适合以下类型的项目:
18
+
19
+ - 基于 `Element Plus` 的中后台管理系统
20
+ - 需要快速搭建查询、表格、录入、弹窗等标准业务页面的项目
21
+ - 希望在统一视觉和交互规范下继续做业务定制的团队
22
+
23
+ ## 使用前提
24
+
25
+ 本库基于 `element-plus`,接入前请确保项目已安装并正确配置以下基础依赖:
26
+
27
+ - `vue`
28
+ - `element-plus`
29
+
30
+ ## 安装
31
+
32
+ ```bash
33
+ pnpm add ez-ui element-plus
34
+ ```
35
+
36
+ ## 快速使用
37
+
38
+ ### 全量注册
39
+
40
+ ```ts
41
+ import { createApp } from 'vue'
42
+ import ElementPlus from 'element-plus'
43
+ import EzUI from 'ez-ui'
44
+ import 'element-plus/dist/index.css'
45
+ import 'ez-ui/dist/index.css'
46
+
47
+ import App from './App.vue'
48
+
49
+ const app = createApp(App)
50
+
51
+ app.use(ElementPlus)
52
+ app.use(EzUI)
53
+ app.mount('#app')
54
+ ```
55
+
56
+ ### 按需使用
57
+
58
+ ```ts
59
+ import { EzDialog, EzDynamicForm, EzTable } from 'ez-ui'
60
+ ```
61
+
62
+ ```vue
63
+ <template>
64
+ <ez-dialog v-model="visible" title="示例弹窗">
65
+ <span>hello ez-ui</span>
66
+ </ez-dialog>
67
+ </template>
68
+
69
+ <script setup lang="ts">
70
+ import { ref } from 'vue'
71
+ import { EzDialog } from 'ez-ui'
72
+
73
+ const visible = ref(true)
74
+ </script>
75
+ ```
76
+
77
+ ## 包内容概览
78
+
79
+ ### 表单类
80
+
81
+ - `EzDynamicForm`:配置驱动表单,适合快速搭建录入页
82
+ - `EzFormItem`:独立表单项,适合自定义布局
83
+ - `EzQueryPanel`:用于列表页查询区的容器与折叠壳封装
84
+
85
+ ### 选择类
86
+
87
+ - `EzSelect`:带业务扩展能力的选择器
88
+ - `EzRadio`:单选组件封装
89
+ - `EzCheckbox`:多选组件封装
90
+
91
+ ### 表格与数据展示
92
+
93
+ - `EzTable`:通用表格封装
94
+ - `EzFastTable`:偏业务化的快速表格方案
95
+ - `EzPagination`:分页能力封装
96
+
97
+ ### 交互与资源类
98
+
99
+ - `EzDialog`:对话框组件封装
100
+ - `EzIcon`:图标组件与图标集支持
101
+ - `EzImageUpload`:图片上传能力封装
102
+
103
+ ## 设计原则
104
+
105
+ - 基于 `Element Plus` 进行业务增强,而不是完全替代基础生态
106
+ - 优先解决中后台常见重复场景,而不是追求过度抽象
107
+ - 提供默认能力的同时保留插槽、属性透传和自定义扩展点
108
+ - 保持能全量注册,也能按需引入
109
+
110
+ ## 文档
111
+
112
+ 完整文档、示例和组件说明请查看:
113
+
114
+ - [https://ezui.cc](https://ezui.cc)
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("element-plus"),x=(t,c)=>(t.install=l=>{for(const s of[t,...Object.values({})])s.name?l.component(s.name,s):process.env.NODE_ENV!=="production"&&console.warn("[withInstall] Component is missing name property:",s)},t);function I(t=[]){const c=e.useAttrs(),l=e.computed(()=>{const f={};for(const a in c)t.includes(a)||(f[a]=c[a]);return f}),s=e.computed(()=>{const f={};for(const a in l.value)a.startsWith("on")||(f[a]=l.value[a]);return f}),o=e.computed(()=>{const f={};for(const a in l.value)a.startsWith("on")&&(f[a]=l.value[a]);return f});return{attrs:l,props:s,listeners:o}}var fe={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:me}=fe;function pe(t,c){return c.split(".").reduce((l,s)=>l&&typeof l=="object"?l[s]:void 0,t)}function ge(t,c={}){return t.replace(/\{\s*(\w+)\s*\}/g,(l,s)=>{const o=c[s];return o!==void 0?String(o):`{${s}}`})}function q(){const{t,lang:c}=u.useLocale();return{t:(s,o={})=>{const f=t(s,o);if(f!==s)return f;const a=pe({s:me},s);return typeof a=="string"?ge(a,o):s},lang:c}}function ve(t,c=200){let l=null;return function(...s){l||(l=setTimeout(()=>{t.apply(this,s),l=null},c))}}const ke=e.defineComponent({name:"EzCheckbox",inheritAttrs:!1}),ye=e.defineComponent({...ke,props:e.mergeModels({type:{default:"default"},options:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const c=t,l=e.useModel(t,"modelValue"),{attrs:s}=I(["options","type","modelValue"]),o=e.computed(()=>["default","border"].includes(c.type)?u.ElCheckbox:u.ElCheckboxButton);return(f,a)=>(e.openBlock(),e.createBlock(e.unref(u.ElCheckboxGroup),e.mergeProps({modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=m=>l.value=m)},e.unref(s)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,m=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),e.mergeProps({key:String(m.value),ref_for:!0},m,{border:t.type==="border"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.label),1)]),_:2},1040,["border"]))),128))]),_:1},16,["modelValue"]))}}),j=x(ye);var O=(t=>(t.CANCEL="取消",t.CONFIRM="确定",t))(O||{});const he={key:1},Ee={key:0,class:"ez-dialog__body"},be={key:1},Be=e.defineComponent({name:"EzDialog",inheritAttrs:!1,directives:{loading:u.ElLoading.directive}}),Ve=e.defineComponent({...Be,props:e.mergeModels({title:{default:""},loading:{type:Boolean,default:!1},cancelText:{default:O.CANCEL},confirmText:{default:O.CONFIRM}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:e.mergeModels(["cancel","confirm"],["update:modelValue"]),setup(t,{emit:c}){const{t:l}=q(),s=t,o=c,f=e.useModel(t,"modelValue"),{attrs:a}=I(["title","loading","cancelText","confirmText","modelValue"]),m=()=>{f.value=!1,o("cancel")},d=()=>{o("confirm")};return(n,r)=>{const V=e.resolveDirective("loading");return e.openBlock(),e.createBlock(e.unref(u.ElDialog),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":r[0]||(r[0]=M=>f.value=M),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(a)),{header:e.withCtx(()=>[n.$slots.header?e.renderSlot(n.$slots,"header",{key:0}):(e.openBlock(),e.createElementBlock("p",he,e.toDisplayString(s.title),1))]),default:e.withCtx(()=>[n.$slots.default?e.withDirectives((e.openBlock(),e.createElementBlock("div",Ee,[e.renderSlot(n.$slots,"default")])),[[V,s.loading]]):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[n.$slots.footer?e.renderSlot(n.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",be,[s.cancelText?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:0,type:"default",onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.cancelText===e.unref(O).CANCEL?e.unref(l)("s.button.cancel"):s.cancelText),1)]),_:1})):e.createCommentVNode("",!0),s.confirmText?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:1,type:"primary",loading:s.loading,onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.confirmText===e.unref(O).CONFIRM?e.unref(l)("s.button.confirm"):s.confirmText),1)]),_:1},8,["loading"])):e.createCommentVNode("",!0)]))]),_:3},16,["modelValue"])}}}),oe=x(Ve),Ce=e.defineComponent({name:"EzSelect",inheritAttrs:!1}),we=e.defineComponent({...Ce,props:e.mergeModels({options:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const c=e.useModel(t,"modelValue"),{attrs:l}=I(["options","modelValue"]),s=a=>typeof a>"u",o=a=>!s(a.options),f=(a,m)=>a.value!=null&&typeof a.value!="object"?String(a.value):m;return(a,m)=>(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({modelValue:c.value,"onUpdate:modelValue":m[0]||(m[0]=d=>c.value=d),clearable:""},e.unref(l)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(d,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f(d,n)},[o(d)?(e.openBlock(),e.createBlock(e.unref(u.ElOptionGroup),e.mergeProps({key:0,ref_for:!0},d),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options,r=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),e.mergeProps({key:f(r,r.value)},{ref_for:!0},r),null,16))),128))]),_:2},1040)):(e.openBlock(),e.createBlock(e.unref(u.ElOption),e.mergeProps({key:1,ref_for:!0},d),null,16))],64))),128))]),_:1},16,["modelValue"]))}}),W=x(we),Se=e.defineComponent({name:"EzRadio",inheritAttrs:!1}),$e=e.defineComponent({...Se,props:e.mergeModels({type:{default:"default"},options:{default:()=>[]}},{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const c=t,l=e.useModel(t,"modelValue"),{attrs:s}=I(["options","type","modelValue"]),o=e.computed(()=>["default","border"].includes(c.type)?u.ElRadio:u.ElRadioButton);return(f,a)=>(e.openBlock(),e.createBlock(e.unref(u.ElRadioGroup),e.mergeProps({modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=m=>l.value=m)},e.unref(s)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,m=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),e.mergeProps({key:String(m.value),ref_for:!0},m,{border:t.type==="border"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.label),1)]),_:2},1040,["border"]))),128))]),_:1},16,["modelValue"]))}}),Y=x($e),ze=e.defineComponent({name:"EzIcon",inheritAttrs:!1}),xe=e.defineComponent({...ze,props:{size:{default:20},color:{default:"inherit"}},setup(t){const c=t,l=e.computed(()=>{const{size:s,color:o}=c;return!s&&!o?{}:{fontSize:s?`${s}px`:void 0,color:o}});return(s,o)=>(e.openBlock(),e.createElementBlock("i",e.mergeProps({class:"ez-icon",style:l.value},s.$attrs),[e.renderSlot(s.$slots,"default",{class:"w-[1em] h-[1em]"})],16))}}),R=x(xe),Pe={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},Ne=e.defineComponent({name:"ArrowDown",__name:"ArrowDown",setup(t){return(c,l)=>(e.openBlock(),e.createElementBlock("svg",Pe,[...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)])]))}}),Me={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},De=e.defineComponent({name:"ArrowUp",__name:"ArrowUp",setup(t){return(c,l)=>(e.openBlock(),e.createElementBlock("svg",Me,[...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)])]))}}),Te={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},_=e.defineComponent({name:"Delete",__name:"delete",setup(t){return(c,l)=>(e.openBlock(),e.createElementBlock("svg",Te,[...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)])]))}}),Ae={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},ee=e.defineComponent({name:"Plus",__name:"plus",setup(t){return(c,l)=>(e.openBlock(),e.createElementBlock("svg",Ae,[...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)])]))}}),Re={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},Ue=e.defineComponent({name:"Setting",__name:"setting",setup(t){return(c,l)=>(e.openBlock(),e.createElementBlock("svg",Re,[...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)])]))}}),Le={xmlns:"http://www.w3.org/2000/svg",width:"200",height:"200",viewBox:"0 0 1024 1024"},te=e.defineComponent({name:"ZoomIn",__name:"ZoomIn",setup(t){return(c,l)=>(e.openBlock(),e.createElementBlock("svg",Le,[...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)])]))}}),Ie={class:"ez-image-upload"},Fe={key:0,class:"ez-image-upload__image"},Oe={key:1,class:"ez-image-upload__list"},qe={class:"flex items-center justify-center h-full"},Ge=e.defineComponent({name:"EzImageUpload",inheritAttrs:!1}),He=e.defineComponent({...Ge,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:["update:modelValue"],setup(t,{expose:c}){const l=t,{attrs:s}=I(["api","imageTypes","limitSize","style","fit","multiple","limit","disabled","modelValue"]),{t:o}=q(),f=e.ref(!1),a=e.ref(0),m=e.useModel(t,"modelValue"),d=e.computed(()=>l.multiple),n=/^(https?:\/\/|data:|blob:)/i,r=e.computed(()=>m.value?V(m.value):[]);function V(y){if(!y)return[];const k=/^(https?:\/\/|data:|blob:)/i;let b=[],w="",S=!1;y=y.trim().replace(/,$/,"");const U=y.split(",");for(let i=0;i<U.length;i++){const h=U[i].trim();h&&(k.test(h)?(S&&w&&b.push(w.trim()),w=h,S=!0):S?w+=","+h:k.test(h.trim())&&b.push(h.trim()))}return S&&w&&b.push(w.trim()),b.filter(i=>i&&k.test(i))}function M(y){return!y||y.length===0?"":y.filter(k=>k.trim()).map(k=>k.trim()).join(",")}const P=y=>l.disabled?(u.ElMessage.warning(o("s.message.disabled")),!1):l.imageTypes.includes(y.type.toLocaleLowerCase())?y.size>l.limitSize*1024*1024?(u.ElMessage.error(o("s.validate.upload.limit",{max:l.limitSize})),!1):!0:(u.ElMessage.error(o("s.validate.upload.image")),!1),N=async({file:y})=>{if(!l.disabled)try{const{url:k}=await l.api(y);if(!k)throw new Error(o("s.message.uploadFail"));if(d.value){const b=m.value?V(m.value):[];k&&n.test(k)&&(b.push(k),m.value=M(b))}else m.value=k}catch(k){u.ElMessage.error(k.message)}},D=(y,k=0)=>{y&&(a.value=k,f.value=!0)},T=y=>{if(!l.disabled&&!(!y||!m.value))if(d.value){const k=V(m.value),b=k.findIndex(w=>w===y);b!==-1&&(k.splice(b,1),m.value=k.join(","))}else m.value=null},A=e.ref();return c({getUploadRef:()=>A.value,getUrlList:()=>r.value}),(y,k)=>(e.openBlock(),e.createElementBlock("div",Ie,[d.value?(e.openBlock(),e.createElementBlock("div",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(b,w)=>(e.openBlock(),e.createElementBlock("div",{key:w,class:"ez-image-upload__item",style:e.normalizeStyle(l.style)},[e.createVNode(e.unref(u.ElImage),{src:b,fit:l.fit},null,8,["src","fit"]),e.createElementVNode("div",{class:"ez-image-upload__handler",onClick:k[3]||(k[3]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(R),{size:18,onClick:S=>D(b,w)},{default:e.withCtx(()=>[e.createVNode(e.unref(te))]),_:1},8,["onClick"]),l.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(R),{key:0,size:18,onClick:S=>T(b)},{default:e.withCtx(()=>[e.createVNode(e.unref(_))]),_:1},8,["onClick"]))])],4))),128)),r.value.length<l.limit&&!l.disabled||r.value.length===0?(e.openBlock(),e.createBlock(e.unref(u.ElUpload),e.mergeProps({key:0},e.unref(s),{ref_key:"uploadRef",ref:A,action:"",accept:"image/*","show-file-list":!1,"before-upload":P,"http-request":N,style:l.style,disabled:l.disabled,class:[{"is-disabled":l.disabled},"ez-image-upload__item ez-image-upload__button"]}),{default:e.withCtx(()=>[e.createElementVNode("div",qe,[e.createVNode(e.unref(R),null,{default:e.withCtx(()=>[e.createVNode(e.unref(ee))]),_:1})])]),_:1},16,["style","disabled","class"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.unref(u.ElUpload),e.mergeProps({key:0},e.unref(s),{ref_key:"uploadRef",ref:A,action:"",accept:"image/*","show-file-list":!1,"before-upload":P,"http-request":N,style:l.style,disabled:l.disabled,class:["ez-image-upload__wrapper",{"is-disabled":l.disabled}]}),{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",Fe,[e.createVNode(e.unref(u.ElImage),{src:m.value,fit:l.fit},null,8,["src","fit"]),e.createElementVNode("div",{class:"ez-image-upload__handler",onClick:k[2]||(k[2]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(R),{size:18,onClick:k[0]||(k[0]=b=>D(m.value,0))},{default:e.withCtx(()=>[e.createVNode(e.unref(te))]),_:1}),l.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(R),{key:0,size:18,onClick:k[1]||(k[1]=b=>T(m.value))},{default:e.withCtx(()=>[e.createVNode(e.unref(_))]),_:1}))])])):(e.openBlock(),e.createBlock(e.unref(R),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(ee))]),_:1}))]),_:1},16,["style","disabled","class"])),f.value?(e.openBlock(),e.createBlock(e.unref(u.ElImageViewer),{key:2,"url-list":d.value?r.value:[m.value],"initial-index":a.value,onClose:k[4]||(k[4]=b=>f.value=!1)},null,8,["url-list","initial-index"])):e.createCommentVNode("",!0)]))}}),K=x(He);var B=(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.TREE="tree",t.SLIDER="slider",t.RATE="rate",t))(B||{});const ae=new Set(["select","radio","checkbox","date","datetime","daterange","datetimerange","time","timerange","switch","cascader","tree","tree-select"]),ne=new Set(["select","radio","checkbox","date","datetime","daterange","datetimerange","time","timerange","switch","cascader","tree","tree-select","slider","rate"]);function re(t){return t&&ae.has(t)?"选择":"输入"}function se(t){return t&&ne.has(t)?"change":"blur"}const je=e.defineComponent({name:"EzFormItem"}),G=e.defineComponent({...je,props:e.mergeModels({config:{},formData:{default:()=>({})}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const c=t,l=e.useModel(t,"modelValue"),s=e.computed(()=>c.config?.itemAttrs&&typeof c.config.itemAttrs=="object"?c.config.itemAttrs:{}),o=e.computed(()=>c.config?.attrs&&typeof c.config.attrs=="object"?c.config.attrs:{}),f=e.computed(()=>c.config?.options&&Array.isArray(c.config.options)?c.config.options:[]),a=new WeakMap,m=()=>{const{config:d}=c;if(!d||typeof d!="object")return;if(a.has(d))return a.get(d);let n;return d.rules?n=d.rules:d.required&&(n=[{required:!0,message:d.requiredMessage||`请${re(d.type)}${d.label||""}`,trigger:se(d.type)}]),n!==void 0&&a.set(d,n),n};return(d,n)=>t.config&&t.config.prop?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),e.mergeProps({key:0,prop:t.config.prop,label:t.config.label,rules:m()},s.value),e.createSlots({default:e.withCtx(()=>[d.$slots.default?e.renderSlot(d.$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":n[0]||(n[0]=r=>l.value=r),disabled:t.config.disabled},o.value),null,16,["modelValue","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.config.type===e.unref(B).INPUT||!t.config.type?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:0,modelValue:l.value,"onUpdate:modelValue":n[1]||(n[1]=r=>l.value=r),placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled,clearable:""},o.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(B).TEXTAREA?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:1,modelValue:l.value,"onUpdate:modelValue":n[2]||(n[2]=r=>l.value=r),type:"textarea",placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled},o.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(B).NUMBER?(e.openBlock(),e.createBlock(e.unref(u.ElInputNumber),e.mergeProps({key:2,modelValue:l.value,"onUpdate:modelValue":n[3]||(n[3]=r=>l.value=r),placeholder:t.config.placeholder,disabled:t.config.disabled},o.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(B).PASSWORD?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:3,modelValue:l.value,"onUpdate:modelValue":n[4]||(n[4]=r=>l.value=r),type:"password",placeholder:t.config.placeholder||`请输入${t.config.label||""}`,disabled:t.config.disabled,"show-password":"",clearable:""},o.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(B).SELECT?(e.openBlock(),e.createBlock(e.unref(W),e.mergeProps({key:4,modelValue:l.value,"onUpdate:modelValue":n[5]||(n[5]=r=>l.value=r),options:f.value,placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},o.value),null,16,["modelValue","options","placeholder","disabled"])):t.config.type===e.unref(B).RADIO?(e.openBlock(),e.createBlock(e.unref(Y),e.mergeProps({key:5,modelValue:l.value,"onUpdate:modelValue":n[6]||(n[6]=r=>l.value=r),options:f.value,disabled:t.config.disabled},o.value),null,16,["modelValue","options","disabled"])):t.config.type===e.unref(B).CHECKBOX?(e.openBlock(),e.createBlock(e.unref(j),e.mergeProps({key:6,modelValue:l.value,"onUpdate:modelValue":n[7]||(n[7]=r=>l.value=r),options:f.value,disabled:t.config.disabled},o.value),null,16,["modelValue","options","disabled"])):t.config.type===e.unref(B).DATE?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:7,modelValue:l.value,"onUpdate:modelValue":n[8]||(n[8]=r=>l.value=r),type:"date",placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},o.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(B).DATETIME?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:8,modelValue:l.value,"onUpdate:modelValue":n[9]||(n[9]=r=>l.value=r),type:"datetime",placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},o.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(B).DATERANGE?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:9,modelValue:l.value,"onUpdate:modelValue":n[10]||(n[10]=r=>l.value=r),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",disabled:t.config.disabled},o.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(B).DATETIMERANGE?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:10,modelValue:l.value,"onUpdate:modelValue":n[11]||(n[11]=r=>l.value=r),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",disabled:t.config.disabled},o.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(B).TIME?(e.openBlock(),e.createBlock(e.unref(u.ElTimePicker),e.mergeProps({key:11,modelValue:l.value,"onUpdate:modelValue":n[12]||(n[12]=r=>l.value=r),placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},o.value),null,16,["modelValue","placeholder","disabled"])):t.config.type===e.unref(B).TIMERANGE?(e.openBlock(),e.createBlock(e.unref(u.ElTimePicker),e.mergeProps({key:12,modelValue:l.value,"onUpdate:modelValue":n[13]||(n[13]=r=>l.value=r),"is-range":"","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",disabled:t.config.disabled},o.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(B).SWITCH?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:13,modelValue:l.value,"onUpdate:modelValue":n[14]||(n[14]=r=>l.value=r),disabled:t.config.disabled},o.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(B).TREE_SELECT?(e.openBlock(),e.createBlock(e.unref(u.ElTreeSelect),e.mergeProps({key:14,modelValue:l.value,"onUpdate:modelValue":n[15]||(n[15]=r=>l.value=r),data:f.value,placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled},o.value),null,16,["modelValue","data","placeholder","disabled"])):t.config.type===e.unref(B).CASCADER?(e.openBlock(),e.createBlock(e.unref(u.ElCascader),e.mergeProps({key:15,modelValue:l.value,"onUpdate:modelValue":n[16]||(n[16]=r=>l.value=r),options:f.value,placeholder:t.config.placeholder||`请选择${t.config.label||""}`,disabled:t.config.disabled,clearable:""},o.value),null,16,["modelValue","options","placeholder","disabled"])):t.config.type===e.unref(B).TREE?(e.openBlock(),e.createBlock(e.unref(u.ElTree),e.mergeProps({key:16,modelValue:l.value,"onUpdate:modelValue":n[17]||(n[17]=r=>l.value=r),data:f.value,"show-checkbox":"","node-key":"id"},o.value),null,16,["modelValue","data"])):t.config.type===e.unref(B).SLIDER?(e.openBlock(),e.createBlock(e.unref(u.ElSlider),e.mergeProps({key:17,modelValue:l.value,"onUpdate:modelValue":n[18]||(n[18]=r=>l.value=r),disabled:t.config.disabled},o.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(B).RATE?(e.openBlock(),e.createBlock(e.unref(u.ElRate),e.mergeProps({key:18,modelValue:l.value,"onUpdate:modelValue":n[19]||(n[19]=r=>l.value=r),disabled:t.config.disabled},o.value),null,16,["modelValue","disabled"])):t.config.type===e.unref(B).UPLOAD_IMAGES&&o.value.api?(e.openBlock(),e.createBlock(e.unref(K),e.mergeProps({key:19,modelValue:l.value,"onUpdate:modelValue":n[20]||(n[20]=r=>l.value=r),api:o.value.api,disabled:t.config.disabled},o.value),null,16,["modelValue","api","disabled"])):e.createCommentVNode("",!0)],64))]),_:2},[d.$slots.label?{name:"label",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"label",{config:t.config})]),key:"0"}:void 0]),1040,["prop","label","rules"])):e.createCommentVNode("",!0)}}),We={key:0,class:"ez-dynamic-form-group__title"},Ye={key:1,class:"ez-dynamic-form-group__description"},Ke=e.defineComponent({name:"EzDynamicForm",inheritAttrs:!1}),Xe=e.defineComponent({...Ke,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:c}){const l=t,s=e.useSlots(),o=e.useModel(t,"modelValue"),f=e.shallowRef(),a="__legacy__";let m=!1;const d=i=>Object.prototype.toString.call(i)==="[object Object]",n=i=>i instanceof Date?new Date(i.getTime()):Array.isArray(i)?i.map(h=>n(h)):d(i)?Object.fromEntries(Object.entries(i).map(([h,p])=>[h,n(p)])):i,r=()=>{d(o.value)||(o.value={})},V=()=>{r(),o.value&&P.value.forEach(i=>{i.prop in o.value||(o.value[i.prop]=i.defaultValue!==void 0?i.defaultValue:void 0)})},M=e.computed(()=>Math.floor(24/l.cols)),P=e.computed(()=>l.groups?.length?l.groups.flatMap(i=>i.items||[]):l.items||[]);e.watch(()=>[l.items?.length||0,l.groups?.length||0],([i,h])=>{m||i===0||h===0||(m=!0,console.warn('[EzDynamicForm] Both "items" and "groups" were provided. "groups" takes precedence and "items" will be ignored.'))},{immediate:!0}),e.watch(()=>[l.items,l.groups],V,{deep:!0,immediate:!0}),e.watch(o,V,{immediate:!0}),e.onMounted(V);const N=(i,h,p)=>{if(!i)return!0;try{return i(o.value)}catch(g){return console.error(`[EzDynamicForm] ${h} visibility error for "${p}":`,g),!1}},D=e.computed(()=>{const i=Array.isArray(l.groups)&&l.groups.length>0,h=i?l.groups:[{name:a,items:l.items||[],cols:l.cols,gutter:l.gutter}],p=[];return h.forEach((g,$)=>{if(!g||g.hidden)return;const v=g.name||`group-${$}`;if(!N(g.show,"group",v))return;const E=(g.items||[]).filter(F=>F.hidden?!1:N(F.show,"item",F.prop)),z=Math.max(1,g.cols||l.cols),C=g.gutter??l.gutter,L=g.headerSlot||(g.name?`group-header-${g.name}`:void 0),Q=g.slot||(g.name?`group-${g.name}`:void 0);p.push({key:`${v}-${$}`,index:$,group:g,items:E,cols:z,gutter:C,isLegacy:!i,headerSlotName:L,bodySlotName:Q})}),p}),T=(i,h)=>{if(i.span!==void 0)return Math.max(1,Math.min(24,i.span));const p=Math.max(1,h);return Math.max(1,Math.floor(24/p))||M.value},A=i=>i.isLegacy?!1:i.group.title||i.group.description||i.headerSlotName&&s[i.headerSlotName]?!0:!!s["group-header"],y=i=>{let h=i.disabled||l.disabled;if(!h&&i.disabledWhen)try{h=i.disabledWhen(o.value)}catch(p){console.error(`[EzDynamicForm] Disabled check error for "${i.prop}":`,p)}return{...i,disabled:h}};return c({validate:async()=>{if(!f.value)return console.warn("[EzDynamicForm] Form ref is not available"),!1;try{return await f.value.validate(),!0}catch{return!1}},validateField:async i=>{if(!f.value)return console.warn("[EzDynamicForm] Form ref is not available"),!1;try{return await f.value.validateField(i),!0}catch{return!1}},clearValidate:i=>{if(!f.value){console.warn("[EzDynamicForm] Form ref is not available");return}f.value.clearValidate(i)},getFormData:()=>n(o.value),setFormData:(i,h=!0)=>{if(!i)return;r();const p=n(i);h?Object.assign(o.value,p):o.value=p,V(),e.nextTick(()=>{f.value?.clearValidate()})},formRef:f}),(i,h)=>(e.openBlock(),e.createBlock(e.unref(u.ElForm),e.mergeProps({ref_key:"formRef",ref:f,class:"ez-dynamic-form","label-width":"auto"},i.$attrs,{model:o.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,p=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p.key},[p.isLegacy?(e.openBlock(),e.createBlock(e.unref(u.ElRow),{key:0,gutter:p.gutter},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.items,g=>(e.openBlock(),e.createBlock(e.unref(u.ElCol),{key:g.prop,span:T(g,p.cols)},{default:e.withCtx(()=>[e.createVNode(G,{modelValue:o.value[g.prop],"onUpdate:modelValue":$=>o.value[g.prop]=$,config:y(g),formData:o.value},e.createSlots({_:2},[i.$slots[`label-${g.prop}`]?{name:"label",fn:e.withCtx(()=>[e.renderSlot(i.$slots,`label-${g.prop}`,{item:g})]),key:"0"}:void 0,i.$slots[g.prop]?{name:"default",fn:e.withCtx(({config:$,value:v})=>[e.renderSlot(i.$slots,g.prop,{item:$,value:v,formData:o.value})]),key:"1"}:void 0]),1032,["modelValue","onUpdate:modelValue","config","formData"])]),_:2},1032,["span"]))),128))]),_:2},1032,["gutter"])):(e.openBlock(),e.createElementBlock("section",{key:1,class:e.normalizeClass(["ez-dynamic-form-group",p.group.className]),style:e.normalizeStyle(p.group.style)},[A(p)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["ez-dynamic-form-group__header",p.group.headerClassName]),style:e.normalizeStyle(p.group.headerStyle)},[p.headerSlotName&&i.$slots[p.headerSlotName]?e.renderSlot(i.$slots,p.headerSlotName,{key:0,group:p.group,index:p.index,items:p.items,formData:o.value}):i.$slots["group-header"]?e.renderSlot(i.$slots,"group-header",{key:1,group:p.group,index:p.index,items:p.items,formData:o.value}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[p.group.title?(e.openBlock(),e.createElementBlock("div",We,e.toDisplayString(p.group.title),1)):e.createCommentVNode("",!0),p.group.description?(e.openBlock(),e.createElementBlock("div",Ye,e.toDisplayString(p.group.description),1)):e.createCommentVNode("",!0)],64))],6)):e.createCommentVNode("",!0),p.bodySlotName&&i.$slots[p.bodySlotName]?e.renderSlot(i.$slots,p.bodySlotName,{key:1,group:p.group,index:p.index,items:p.items,formData:o.value}):i.$slots.group?e.renderSlot(i.$slots,"group",{key:2,group:p.group,index:p.index,items:p.items,formData:o.value}):(e.openBlock(),e.createBlock(e.unref(u.ElRow),{key:3,gutter:p.gutter,class:e.normalizeClass(["ez-dynamic-form-group__body",p.group.bodyClassName]),style:e.normalizeStyle(p.group.bodyStyle)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.items,g=>(e.openBlock(),e.createBlock(e.unref(u.ElCol),{key:`${p.key}-${g.prop}`,span:T(g,p.cols)},{default:e.withCtx(()=>[e.createVNode(G,{modelValue:o.value[g.prop],"onUpdate:modelValue":$=>o.value[g.prop]=$,config:y(g),formData:o.value},e.createSlots({_:2},[i.$slots[`label-${g.prop}`]?{name:"label",fn:e.withCtx(()=>[e.renderSlot(i.$slots,`label-${g.prop}`,{item:g})]),key:"0"}:void 0,i.$slots[g.prop]?{name:"default",fn:e.withCtx(({config:$,value:v})=>[e.renderSlot(i.$slots,g.prop,{item:$,value:v,formData:o.value})]),key:"1"}:void 0]),1032,["modelValue","onUpdate:modelValue","config","formData"])]),_:2},1032,["span"]))),128))]),_:2},1032,["gutter","class","style"]))],6))],64))),128))]),_:3},16,["model"]))}}),ie=x(Xe),ue=x(G),Ze=e.defineComponent({name:"EzTable"}),Je=e.defineComponent({...Ze,props:{data:{default:()=>[]},columns:{default:()=>[]},rowKey:{}},setup(t,{expose:c}){const l=t,s=e.ref(),o=a=>{const m=l.columns[l.columns.length-1],d=()=>a.type?!1:a.prop!==m.prop;return{...{align:"center",hidden:1,resizable:!0,reserveSelection:a.type==="selection",showOverflowTooltip:d()},...a}};return c({getTableRef:()=>s.value,clearSelection:()=>s.value?.clearSelection(),toggleRowSelection:(a,m)=>s.value?.toggleRowSelection(a,m),toggleAllSelection:()=>s.value?.toggleAllSelection(),toggleRowExpansion:(a,m)=>s.value?.toggleRowExpansion(a,m),setCurrentRow:a=>s.value?.setCurrentRow(a),clearSort:()=>s.value?.clearSort(),clearFilter:a=>s.value?.clearFilter(a),doLayout:()=>s.value?.doLayout(),sort:(a,m)=>s.value?.sort(a,m)}),(a,m)=>(e.openBlock(),e.createBlock(e.unref(u.ElTable),e.mergeProps({ref_key:"tableRef",ref:s,data:l.data,border:"","row-key":"id"},a.$attrs),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.columns,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d.prop},[["selection","index"].includes(d.type)?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:0,ref_for:!0},o(d)),null,16)):d.hidden?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:1,ref_for:!0},o(d)),e.createSlots({_:2},[a.$slots[d.prop]?{name:"default",fn:e.withCtx(n=>[e.renderSlot(a.$slots,d.prop,e.mergeProps({ref_for:!0},n))]),key:"0"}:d.transform?{name:"default",fn:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(d.transform(n.row)),1)]),key:"1"}:void 0,a.$slots[`header-${d.prop}`]?{name:"header",fn:e.withCtx(n=>[e.renderSlot(a.$slots,`header-${d.prop}`,e.mergeProps({ref_for:!0},n))]),key:"2"}:void 0]),1040))],64))),128))]),_:2},[a.$slots?.append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"append")]),key:"0"}:void 0,a.$slots?.empty?{name:"empty",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"empty")]),key:"1"}:void 0]),1040,["data"]))}}),X=x(Je),Qe={class:"ez-search-form"},_e={class:"ez-search-form__operate"},et=e.defineComponent({name:"EzSearchForm",inheritAttrs:!1}),tt=e.defineComponent({...et,props:e.mergeModels({collapsedHeight:{default:50},reset:{type:Boolean}},{expanded:{default:!1},expandedModifiers:{}}),emits:["update:expanded"],setup(t,{expose:c}){const l=t,{t:s}=q(),o=e.ref(),f=e.ref(0),a=e.useModel(t,"expanded"),m=e.computed(()=>f.value>l.collapsedHeight),d=e.computed(()=>a.value?De:Ne),n=e.computed(()=>a.value?s("s.button.collapse"):s("s.button.expand"));let r=null;const V=ve(()=>{o.value&&(f.value=o.value.scrollHeight)},100),M=()=>{a.value=!a.value};return e.onMounted(()=>{setTimeout(()=>{o.value&&(V(),r=new ResizeObserver(V),r.observe(o.value))},50)}),e.onUnmounted(()=>{r&&(r.disconnect(),r=null)}),c({countViewHeight:V}),(P,N)=>(e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("div",{class:"ez-search-form__wrapper",style:e.normalizeStyle({height:f.value?a.value?`${f.value}px`:`${l.collapsedHeight}px`:"auto"})},[e.createElementVNode("div",_e,[e.renderSlot(P.$slots,"operate"),m.value?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:0,icon:d.value,size:"small",title:n.value,circle:"",onClick:N[0]||(N[0]=D=>M())},null,8,["icon","title"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{ref_key:"wrapRef",ref:o},[e.renderSlot(P.$slots,"default")],512)],4)]))}}),Z=x(tt),lt=e.defineComponent({name:"EzPagination",inheritAttrs:!1}),ot=e.defineComponent({...lt,props:{currentPage:{},currentPageModifiers:{},pageSize:{},pageSizeModifiers:{}},emits:["update:currentPage","update:pageSize"],setup(t){const c=e.useModel(t,"currentPage"),l=e.useModel(t,"pageSize"),{attrs:s}=I(["currentPage","pageSize"]);return(o,f)=>(e.openBlock(),e.createBlock(e.unref(u.ElPagination),e.mergeProps({"current-page":c.value,"onUpdate:currentPage":f[0]||(f[0]=a=>c.value=a),"page-size":l.value,"onUpdate:pageSize":f[1]||(f[1]=a=>l.value=a),"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper"},e.unref(s)),null,16,["current-page","page-size"]))}}),J=x(ot);var H=(t=>(t.ASC="ascending",t.DESC="descending",t[t.EMPTY=null]="EMPTY",t))(H||{});const at=t=>{const c=e.ref([]),l=e.computed(()=>c.value),s=e.computed(()=>c.value.map(a=>a[t]));return{selectionChange:a=>{c.value=a},getSelectedList:l,getSelectedIds:s,getSortParams:({prop:a,order:m})=>{const d={asc:null,desc:null};return m===H.ASC?(d.asc=a,d.desc=null):m===H.DESC&&(d.asc=null,d.desc=a),d}}},nt=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:c}){const{t:l}=q(),s=["selection","index","expand"],o=c,f=e.useModel(t,"modelValue"),a=e.useModel(t,"columns"),m=d=>a.value.filter(r=>r.hidden===0).length<2&&d.hidden===0;return(d,n)=>(e.openBlock(),e.createBlock(e.unref(u.ElDrawer),{modelValue:f.value,"onUpdate:modelValue":n[1]||(n[1]=r=>f.value=r),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(a.value,r=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r.prop},[s.includes(r.type)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(u.ElCheckbox),{key:0,modelValue:r.hidden,"onUpdate:modelValue":V=>r.hidden=V,class:"flex","true-value":0,"false-value":1,label:r.label,checked:"",disabled:m(r),onChange:n[0]||(n[0]=V=>o("change"))},null,8,["modelValue","onUpdate:modelValue","label","disabled"]))],64))),128))]),_:1},8,["modelValue","title"]))}}),rt={class:"ez-fast-table"},st={class:"ez-fast-table_wrapper"},it={key:0,class:"ez-fast-table_wrapper_header_operation"},ut={class:"ez-fast-table_pagination"},dt=e.defineComponent({name:"EzFastTable",directives:{loading:u.ElLoading.directive},inheritAttrs:!1}),ct=e.defineComponent({...dt,props:e.mergeModels({api:{type:Function,default:()=>Promise.resolve()},beforeSearch:{type:Function,default:()=>Promise.resolve()},columnTool:{type:Boolean,default:!0},expanded:{type:Boolean,default:!1},data:{},columns:{},rowKey:{}},{params:{},paramsModifiers:{},columns:{},columnsModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:e.mergeModels(["changePage","reset","query"],["update:params","update:columns","update:loading"]),setup(t,{expose:c,emit:l}){const{t:s}=q(),o=t,f=e.useAttrs(),a=e.computed(()=>{const{api:v,beforeSearch:E,columnTool:z,expanded:C,...L}=o;return{...f,...L}}),m=e.ref(o.expanded),{selectionChange:d,getSelectedList:n,getSortParams:r,getSelectedIds:V}=at(o.rowKey),M=e.ref(null),P=e.ref(!1),N=e.ref(null),D=e.ref([]),T=e.ref(0),A=l,y=e.useModel(t,"params"),k=e.useModel(t,"columns"),b=e.useModel(t,"loading"),w=async()=>{try{b.value=!0,await o.beforeSearch(y.value);const{code:v,data:E}=await o.api(y.value);v===200&&E.records?(D.value=E.records||[],T.value=E.total):(D.value=[],T.value=0),A("query")}finally{b.value=!1}},S=()=>{y.value.current=1,w()},U=()=>M.value?.getTableRef(),i=v=>{const E=r(v);y.value={...y.value,...E};const{column:z}=v;z.sortable==="custom"&&S()},h=v=>{if(v===null||typeof v!="object")return v;if(v instanceof Date)return new Date(v.getTime());if(v instanceof Array)return v.map(z=>h(z));const E=Object.create(Object.getPrototypeOf(v));for(const z in v)v.hasOwnProperty(z)&&(E[z]=h(v[z]));return E},p=()=>{y.value=h(N.value),A("reset"),e.nextTick(()=>S())},g=v=>{A("changePage",v),v.size?S():w()},$=()=>{U().doLayout()};return e.onMounted(()=>{N.value=h(y.value)}),c({search:S,query:w,getTableRef:U}),(v,E)=>{const z=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",rt,[v.$slots.form?(e.openBlock(),e.createBlock(e.unref(Z),{key:0,loading:b.value,expanded:m.value},{default:e.withCtx(C=>[e.renderSlot(v.$slots,"form",e.normalizeProps(e.guardReactiveProps(C)))]),operate:e.withCtx(()=>[e.createVNode(e.unref(u.ElButton),{type:"primary",loading:b.value,onClick:S},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("s.button.query")),1)]),_:1},8,["loading"]),e.createVNode(e.unref(u.ElButton),{onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("s.button.reset")),1)]),_:1})]),_:3},8,["loading","expanded"])):e.createCommentVNode("",!0),v.$slots.freeArea?e.renderSlot(v.$slots,"freeArea",{key:1}):e.createCommentVNode("",!0),e.createElementVNode("div",st,[v.$slots.header||o.columnTool?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["ez-fast-table_wrapper_header",v.$slots.header?"justify-between":"justify-end"])},[v.$slots.header?(e.openBlock(),e.createElementBlock("div",it,[e.renderSlot(v.$slots,"header",{selectList:e.unref(n),selectIds:e.unref(V)})])):e.createCommentVNode("",!0),o.columnTool?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:1,icon:e.unref(Ue),circle:"",onClick:E[0]||(E[0]=C=>P.value=!0)},null,8,["icon"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(X),e.mergeProps(a.value,{ref_key:"fastTableRef",ref:M,columns:k.value,data:D.value,onSelectionChange:e.unref(d),onSortChange:i}),e.createSlots({_:2},[e.renderList(v.$slots,(C,L,Q)=>({name:L,fn:e.withCtx(F=>[["form"].includes(C.name)?e.createCommentVNode("",!0):e.renderSlot(v.$slots,L,e.normalizeProps(e.mergeProps({key:0},F)))])}))]),1040,["columns","data","onSelectionChange"])),[[z,b.value]]),e.createElementVNode("div",ut,[e.createVNode(e.unref(J),{"current-page":y.value.current,"onUpdate:currentPage":[E[1]||(E[1]=C=>y.value.current=C),E[3]||(E[3]=C=>g({current:C}))],"page-size":y.value.size,"onUpdate:pageSize":[E[2]||(E[2]=C=>y.value.size=C),E[4]||(E[4]=C=>g({size:C}))],total:T.value},null,8,["current-page","page-size","total"])])]),e.createVNode(nt,{modelValue:P.value,"onUpdate:modelValue":E[5]||(E[5]=C=>P.value=C),columns:k.value,"onUpdate:columns":E[6]||(E[6]=C=>k.value=C),onChange:$},null,8,["modelValue","columns"])])}}}),de=x(ct),le=Symbol("INSTALLED_KEY");function ft(t=[]){return{install:l=>{l[le]||(l[le]=!0,t.forEach(s=>l.use(s)))}}}const mt=[j,oe,ie,ue,de,R,K,J,Y,Z,W,X],pt=[u.ElInfiniteScroll,u.ElLoading,u.ElMessage,u.ElMessageBox,u.ElNotification,u.ElPopoverDirective],ce=ft([...mt,...pt]),gt=ce.install;exports.CHANGE_TRIGGER_TYPES=ne;exports.EzCheckbox=j;exports.EzDialog=oe;exports.EzDynamicForm=ie;exports.EzFastTable=de;exports.EzFormItem=ue;exports.EzIcon=R;exports.EzImageUpload=K;exports.EzPagination=J;exports.EzRadio=Y;exports.EzSearchForm=Z;exports.EzSelect=W;exports.EzTable=X;exports.FormItemType=B;exports.SELECT_FORM_TYPES=ae;exports.default=ce;exports.getInputVerb=re;exports.getTrigger=se;exports.install=gt;
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;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .ez-dialog{--el-dialog-border-radius: 8px;--el-dialog-padding-primary: 15px}.ez-dialog .el-dialog__header{margin-bottom:15px}.ez-dialog .el-dialog__body{max-height:60vh;overflow-y:auto;padding:0}.ez-dialog__body{padding:0 15px 15px 0}.ez-icon>svg{width:1em;height:1em}.ez-image-upload+.ez-image-upload{margin-left:var(--ez-image-upload-margin)}.ez-image-upload__wrapper{width:100%;height:100%;overflow:hidden;border:1px dashed var(--el-border-color-darker);border-radius:8px;transition:var(--el-transition-duration-fast)}.ez-image-upload__handler{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer;background:#000000b3;color:#f0f8ff;transition:var(--el-transition-duration-fast);opacity:0}.ez-image-upload__handler:hover{opacity:1}.ez-image-upload__wrapper .el-upload{position:relative;width:100%;height:100%}.ez-image-upload__handler .ez-icon+.ez-icon{margin-left:8px}.ez-image-upload__list{display:flex;flex-wrap:wrap;gap:10px}.ez-image-upload__item{position:relative;overflow:hidden;border:1px solid var(--el-border-color);border-radius:8px}.ez-image-upload__item .el-image{width:100%;height:100%}.ez-image-upload__button{border:1px dashed var(--el-border-color-darker);display:flex;align-items:center;justify-content:center;cursor:pointer}.ez-image-upload__button .el-upload{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ez-image-upload__button:hover{border-color:var(--el-color-primary)}.ez-image-upload__wrapper.is-disabled,.ez-image-upload__button.is-disabled{cursor:not-allowed;background:var(--el-disabled-bg-color);border-color:var(--el-border-color-lighter)}.ez-image-upload__item.is-disabled,.ez-image-upload__button.is-disabled{cursor:not-allowed;opacity:.7}.is-disabled.ez-image-upload__button:hover{border-color:var(--el-border-color-darker)}.ez-image-upload__image{display:flex;align-items:center;justify-content:center}.el-date-editor--daterange,.el-date-editor--datetimerange,.el-date-editor--timerange,.ez-dynamic-form .el-date-editor--daterange,.ez-dynamic-form .el-date-editor--datetimerange,.ez-dynamic-form .el-date-editor--timerange{width:100%}.ez-dynamic-form .ez-dynamic-form-group+.ez-dynamic-form-group{margin-top:20px}.ez-dynamic-form .ez-dynamic-form-group__header{margin-bottom:12px}.ez-dynamic-form .ez-dynamic-form-group__title{font-size:15px;font-weight:600;color:var(--el-text-color-primary);line-height:1.4}.ez-dynamic-form .ez-dynamic-form-group__description{margin-top:4px;font-size:13px;color:var(--el-text-color-secondary);line-height:1.4}.el-table{--el-table-header-bg-color: var(--ez-table-header-bg-color);--el-table-header-text-color: var(--ez-table-header-text-color);--el-table-border-color: var(--ez-table-border-color)}.ez-search-form{padding-top:var(--ez-search-form-padding-top)}.ez-search-form__wrapper{overflow:hidden;transition:height .4s cubic-bezier(.4,0,.2,1)}.ez-search-form__operate{float:right;display:flex;align-items:center;gap:8px;margin-left:var(--ez-search-form-operate-left);margin-right:var(--ez-search-form-operate-right)}.ez-column-wrapper .el-drawer__header{margin-bottom:0}.ez-fast-table{padding:var(--ez-fast-table-padding);background-color:var(--ez-fast-table-background-color);border-radius:var(--ez-fast-table-border-radius)}.ez-fast-table_wrapper{padding:var(--ez-fast-table-wrap-padding);background-color:var(--ez-fast-table-background-color)}.ez-fast-table_wrapper_header{display:flex;margin-bottom:var(--ez-fast-table-wrap-header-margin-buttom)}.ez-fast-table_wrapper_header.justify-between{justify-content:space-between}.ez-fast-table_wrapper_header.justify-end{justify-content:flex-end}.ez-fast-table_pagination{display:flex;justify-content:flex-end;margin-top:var(--ez-fast-table-pagination-margin-top)}.ez-fast-table_wrapper_header_operation{display:flex;flex-wrap:wrap;align-items:center;flex:1}:root{--ez-dialog-body-max-height: 50vh;--ez-dialog-body-padding-right: 8px;--ez-search-form-padding-top: 18px;--ez-search-form-operate-left: -20px;--ez-search-form-operate-right: 10px;--ez-table-header-bg-color: #f1f3f5;--ez-table-header-text-color: #939399;--ez-table-border-color: #f0f0f0;--ez-fast-table-padding: 10px;--ez-fast-table-wrap-padding: 10px;--ez-fast-table-wrap-header-margin-buttom: 10px;--ez-fast-table-pagination-margin-top: 10px;--ez-fast-table-background-color: #fff;--ez-fast-table-border-radius: 5px;--ez-image-upload-margin: 10px}html.dark{--ez-table-header-bg-color: #141414;--ez-table-header-text-color: #a3a6ad;--ez-table-border-color: #363637;--ez-fast-table-background-color: transparent}
1
+ .ez-dialog{--el-dialog-border-radius: 8px;--el-dialog-padding-primary: 15px}.ez-dialog .el-dialog__header{margin-bottom:15px}.ez-dialog .el-dialog__body{max-height:60vh;overflow-y:auto;padding:0}.ez-dialog__body{padding:0 15px 15px 0}.ez-icon>svg{width:1em;height:1em}.ez-image-upload+.ez-image-upload{margin-left:var(--ez-image-upload-margin)}.ez-image-upload__wrapper{width:100%;height:100%;overflow:hidden;border:1px dashed var(--el-border-color-darker);border-radius:8px;transition:var(--el-transition-duration-fast)}.ez-image-upload__handler{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer;background:#000000b3;color:#f0f8ff;transition:var(--el-transition-duration-fast);opacity:0}.ez-image-upload__handler:hover{opacity:1}.ez-image-upload__wrapper .el-upload{position:relative;width:100%;height:100%}.ez-image-upload__handler .ez-icon+.ez-icon{margin-left:8px}.ez-image-upload__list{display:flex;flex-wrap:wrap;gap:10px}.ez-image-upload__item{position:relative;overflow:hidden;border:1px solid var(--el-border-color);border-radius:8px}.ez-image-upload__item .el-image{width:100%;height:100%}.ez-image-upload__button{border:1px dashed var(--el-border-color-darker);display:flex;align-items:center;justify-content:center;cursor:pointer}.ez-image-upload__button .el-upload{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ez-image-upload__button:hover{border-color:var(--el-color-primary)}.ez-image-upload__wrapper.is-disabled,.ez-image-upload__button.is-disabled{cursor:not-allowed;background:var(--el-disabled-bg-color);border-color:var(--el-border-color-lighter)}.ez-image-upload__item.is-disabled,.ez-image-upload__button.is-disabled{cursor:not-allowed;opacity:.7}.is-disabled.ez-image-upload__button:hover{border-color:var(--el-border-color-darker)}.ez-image-upload__image{display:flex;align-items:center;justify-content:center}.el-date-editor--daterange,.el-date-editor--datetimerange,.el-date-editor--timerange,.ez-dynamic-form .el-date-editor--daterange,.ez-dynamic-form .el-date-editor--datetimerange,.ez-dynamic-form .el-date-editor--timerange{width:100%}.ez-dynamic-form .ez-dynamic-form-group+.ez-dynamic-form-group{margin-top:20px}.ez-dynamic-form .ez-dynamic-form-group__header{margin-bottom:12px}.ez-dynamic-form .ez-dynamic-form-group__title{font-size:15px;font-weight:600;color:var(--el-text-color-primary);line-height:1.4}.ez-dynamic-form .ez-dynamic-form-group__description{margin-top:4px;font-size:13px;color:var(--el-text-color-secondary);line-height:1.4}.el-table{--el-table-header-bg-color: var(--ez-table-header-bg-color);--el-table-header-text-color: var(--ez-table-header-text-color);--el-table-border-color: var(--ez-table-border-color)}.ez-query-panel{padding-top:var(--ez-query-panel-padding-top)}.ez-query-panel__wrapper{overflow:hidden;transition:height .4s cubic-bezier(.4,0,.2,1)}.ez-query-panel__layout{min-height:1px}.ez-query-panel__content{min-width:0}.ez-query-panel__operate{float:right;display:flex;align-items:center;gap:8px;margin-left:var(--ez-query-panel-operate-left);margin-right:var(--ez-query-panel-operate-right)}@media(max-width:768px){.ez-query-panel__operate{margin-right:0}}.ez-column-wrapper .el-drawer__header{margin-bottom:0}.ez-fast-table{padding:var(--ez-fast-table-padding);background-color:var(--ez-fast-table-background-color);border-radius:var(--ez-fast-table-border-radius)}.ez-fast-table_wrapper{padding:var(--ez-fast-table-wrap-padding);background-color:var(--ez-fast-table-background-color)}.ez-fast-table_wrapper_header{display:flex;margin-bottom:var(--ez-fast-table-wrap-header-margin-buttom)}.ez-fast-table_wrapper_header.justify-between{justify-content:space-between}.ez-fast-table_wrapper_header.justify-end{justify-content:flex-end}.ez-fast-table_pagination{display:flex;justify-content:flex-end;margin-top:var(--ez-fast-table-pagination-margin-top)}.ez-fast-table_wrapper_header_operation{display:flex;flex-wrap:wrap;align-items:center;flex:1}.ez-fast-table_error{padding:20px;text-align:center}:root{--ez-dialog-body-max-height: 50vh;--ez-dialog-body-padding-right: 8px;--ez-query-panel-padding-top: 18px;--ez-query-panel-operate-left: -20px;--ez-query-panel-operate-right: 10px;--ez-table-header-bg-color: #f1f3f5;--ez-table-header-text-color: #939399;--ez-table-border-color: #f0f0f0;--ez-fast-table-padding: 10px;--ez-fast-table-wrap-padding: 10px;--ez-fast-table-wrap-header-margin-buttom: 10px;--ez-fast-table-pagination-margin-top: 10px;--ez-fast-table-background-color: #fff;--ez-fast-table-border-radius: 5px;--ez-image-upload-margin: 10px}html.dark{--ez-table-header-bg-color: #141414;--ez-table-header-text-color: #a3a6ad;--ez-table-border-color: #363637;--ez-fast-table-background-color: transparent}