UNPKG

element-pro-components

Version:

a component library for Vue 3 base on element-plus

1 lines 59.5 kB
(function(r,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("element-plus"),require("lodash-unified"),require("@vueuse/core"),require("vue-router"),require("@element-plus/icons-vue")):typeof define=="function"&&define.amd?define(["exports","vue","element-plus","lodash-unified","@vueuse/core","vue-router","@element-plus/icons-vue"],t):(r=typeof globalThis!="undefined"?globalThis:r||self,t(r.ElementProComponents={},r.Vue,r.ElementPlus,r.LodashUnified,r.Vueuse,r.VueRouter,r.ElementPlus))})(this,function(r,t,f,h,_,I,N){"use strict";var dr=Object.defineProperty,mr=Object.defineProperties;var fr=Object.getOwnPropertyDescriptors;var Se=Object.getOwnPropertySymbols;var Rn=Object.prototype.hasOwnProperty,jn=Object.prototype.propertyIsEnumerable;var On=(r,t,f)=>t in r?dr(r,t,{enumerable:!0,configurable:!0,writable:!0,value:f}):r[t]=f,S=(r,t)=>{for(var f in t||(t={}))Rn.call(t,f)&&On(r,f,t[f]);if(Se)for(var f of Se(t))jn.call(t,f)&&On(r,f,t[f]);return r},v=(r,t)=>mr(r,fr(t));var Dn=(r,t)=>{var f={};for(var h in r)Rn.call(r,h)&&t.indexOf(h)<0&&(f[h]=r[h]);if(r!=null&&Se)for(var h of Se(r))t.indexOf(h)<0&&jn.call(r,h)&&(f[h]=r[h]);return f};var xn=(r,t,f)=>new Promise((h,_)=>{var I=L=>{try{M(f.next(L))}catch(U){_(U)}},N=L=>{try{M(f.throw(L))}catch(U){_(U)}},M=L=>L.done?h(L.value):Promise.resolve(L.value).then(I,N);M((f=f.apply(r,t)).next())});function M(e,n,o=!0,u){const l=[];for(let m=0;m<e.length;m++){const a=S({},e[m]),i=h.get(a,n);(o?i:!i)&&(a.children&&a.children.length&&(a.children=M(a.children,n,o)),l.push(h.isFunction(u)?u(a):a))}return l}function L(e,n,o=!0,u){return R(e)?e.reduce((l,m)=>{const a=S({},m),i=h.get(a,n);let c=[];return a.children&&a.children.length&&(c=L(a.children,n,o,u),a.children=void 0),!!i===o&&c.unshift(h.isFunction(u)?u(a):a),[...l,...c]},[]):[]}function U(e={}){const{importStyle:n="js",exclude:o}=e,u=["ProArrayForm","ProCollapseForm","ProFormComponent","ProFormItem","ProFormList","ProGroupForm","ProStepsForm","ProTabsForm",...e.noStylesComponents||[]];return l=>{if(!(o&&o.test(l))&&/^Pro[A-Z]\w+/.test(l)){const m=l.slice(3).replace(/\B([A-Z])/g,"-$1").toLocaleLowerCase(),a={from:"element-pro-components",name:l};return u.includes(l)||(a.sideEffects=`element-pro-components/lib/styles/${m}.${n}`),a}}}function Pe(e){return/^((ht|f)tps?):\/\/?/.test(e)}function R(e){return Array.isArray(e)}function K(e){return e===void 0}function ke(e,n){return e==null?void 0:e.find(o=>{var u;return o.type===t.Fragment||o.type==="template"?ke(o.children,n):(h.isObject(o.type)?(u=o.type)==null?void 0:u.name:o.type)===n})}function O(e){const n=e;return n.install=o=>{o.component(n.name,n)},n}function oe(e){console.warn(`[ElementProComponents Warn]: ${e}`)}function ve(e,n){return`${e}${e&&n?".":""}${n}`}const Ue=_.createSharedComposable(()=>_.useBreakpoints({sm:768,md:992,lg:1200,xl:1920}));function re(){const e=Ue(),n=e.greater("xl"),o=e.greater("lg"),u=e.greater("md"),l=e.greater("sm");return t.computed(()=>n.value?"xl":o.value?"lg":u.value?"md":l.value?"sm":"xs")}function et(e){const n=re(),o=Object.assign({xs:"90%",sm:"80%",md:"70%",lg:"60%",xl:"50%"},e||{});return t.computed(()=>o[n.value])}function Te(e){const{gutter:n}=t.inject("ElRow",{gutter:t.ref()}),o=t.computed(()=>n.value?{paddingLeft:`${n.value/2}px`,paddingRight:`${n.value/2}px`}:{}),u=t.computed(()=>{var s,p,d,y;const l=t.unref(e),m={span:(s=l.span)!=null?s:24,offset:(p=l.offset)!=null?p:0,pull:(d=l.pull)!=null?d:0,push:(y=l.push)!=null?y:0,xs:l.xs,sm:l.sm,md:l.md,lg:l.lg,xl:l.xl},a=["el-col"];return["span","offset","pull","push"].forEach(g=>{const b=m[g];typeof b=="number"&&(g==="span"?a.push(`el-col-${m[g]}`):b>0&&a.push(`el-col-${g}-${m[g]}`))}),["xs","sm","md","lg","xl"].forEach(g=>{const b=m[g];typeof b=="number"?a.push(`el-col-${g}-${b}`):h.isObject(b)&&Object.keys(b).forEach(C=>{const P=C;a.push(P!=="span"?`el-col-${g}-${P}-${b[P]}`:`el-col-${g}-${b[P]}`)})}),n.value&&a.push("is-guttered"),a});return{colStyle:o,colClass:u,gutter:n}}function Z(){const e={value:"value",label:"label",disabled:"disabled",name:"name",children:"children"},n=f.useProp("config"),o=t.computed(()=>Object.assign(e,n.value));return{config:o,getLabel:c=>h.get(c,o.value.label),getValue:c=>h.get(c,o.value.value),getDisabled:c=>h.get(c,o.value.disabled),getName:c=>h.get(c,o.value.name),getChildren:c=>h.get(c,o.value.children)}}const An={name:"en",pro:{form:{submit:"Submit",reset:"Reset",prev:"Prev",next:"Next",ariaAdd:"Add a row of data",ariaDel:"Delete this row of data"},search:{submit:"Search",reset:"Reset",prev:"Prev",next:"Next"},crud:{add:"Add",edit:"Edit",detail:"Detail",del:"Delete",submit:"Submit",reset:"Reset",prev:"Prev",next:"Next",search:"Search",searchReset:"Reset",searchPrev:"Prev",searchNext:"Next"},tabs:{refresh:"Refresh",left:"Close Left",right:"Close Right",others:"Close Others"},layout:{ariaToggle:"Toggle sidebar menu content"}}};function H(e){const l=f.useLocale(e),{t:n}=l,o=Dn(l,["t"]);function u(m,a){let i=n(m,a);return i===m&&(i=h.get(An,m,m)),i.replace(/\{(\w+)\}/g,(c,s)=>{var p;return`${(p=a==null?void 0:a[s])!=null?p:`{${s}}`}`})}return v(S({},o),{t:u})}function Ee(e=!1){const n=t.unref(e),o=t.ref(n);function u(){o.value=!o.value}return{show:o,toggleShow:u}}function ae(e="modelValue",n){const o=t.getCurrentInstance(),u=n||(o==null?void 0:o.emit);function l(m){u&&u(`update:${e}`,m)}return l}function z(e,...n){return n.map(o=>_.reactiveComputed(()=>Object.fromEntries(o.map(u=>[u,e[u]]))))}const tt=_.createSharedComposable(()=>{const e=I.useRouter(),n=t.ref([]);return e.options.routes=t.reactive(e.options.routes),t.watchEffect(()=>{n.value=e.options.routes}),n});function Fe(){const e=f.useProp("routes");return t.computed(()=>e.value?e.value:tt().value)}function le(e){const n=t.computed(()=>e.gutter);t.provide("ElRow",{gutter:n});const o=t.computed(()=>{const l={marginLeft:"",marginRight:""};return e.gutter&&(l.marginLeft=`-${e.gutter/2}px`,l.marginRight=l.marginLeft),l}),u=t.computed(()=>["el-row",e.justify!=="start"?`is-justify-${e.justify}`:"",e.align!=="top"?`is-align-${e.align}`:""]);return{rowStyle:o,rowClass:u}}const nt=h.omit(f.tagProps,"closable"),zn=h.omit(f.inputProps,"modelValue","type","resize","autosize","showPassword"),ot=v(S({},nt),{modelValue:Array,max:Number,trigger:{type:String,default:"enter"}}),rt=Object.keys(nt),at=S(S({},ot),zn),we={"update:modelValue":e=>R(e),input:e=>h.isString(e),"tag-add":e=>h.isString(e),"tag-remove":e=>h.isString(e)};function Be(e,n){const o=f.useAttrs(),u=f.useSize(),l=Object.keys(e).filter(k=>![...rt,"modelValue","max","trigger","size"].includes(k)),[m,a]=z(e,rt,l),i=t.ref(),c=t.ref(""),s=t.ref(!1),p=t.ref(),d=t.computed(()=>e.modelValue||[]),y=t.computed(()=>{const k=e.trigger;return{space:" ",enter:"Enter"}[k]}),g=t.computed(()=>{var k;return!e.disabled&&e.max!==void 0?(((k=e.modelValue)==null?void 0:k.length)||0)>=e.max:e.disabled}),b=t.computed(()=>{const k=f.useDisabled();return!(e.readonly||k.value)});function C(k){if(k===!0&&(s.value=!1,p.value=void 0),c.value.trim()){const T=[...d.value,c.value];n("tag-add",c.value),n("update:modelValue",T),c.value=""}}function P(k){c.value=k,p.value=void 0,n("input",k)}function w(k){var F;(F=i.value)==null||F.focus(),n("tag-remove",d.value[k]);const T=[...d.value];T.splice(k,1),n("update:modelValue",T),p.value=void 0}function j(k){var T;k.key==="Enter"&&p.value!==void 0?w(p.value):k.key==="Backspace"&&!c.value&&((T=d.value)!=null&&T.length)?p.value===void 0?p.value=d.value.length-1:w(p.value):k.key===y.value&&C()}function x(){s.value=!0}return{attrs:o,size:u,tagProps:m,inputProps:a,inputRef:i,input:c,focused:s,selectedTag:p,list:d,disabled:g,closable:b,add:C,change:P,close:w,keyup:j,focus:x}}function lt(e,n){const o=n.list.value.map((u,l)=>t.h(f.ElTag,t.mergeProps(n.tagProps,{key:l,size:n.size.value,closable:n.closable.value,class:n.selectedTag.value===l&&"is-selecte",onClose:()=>n.close(l)}),()=>u));return o.push(t.h(e,t.mergeProps(n.inputProps,n.attrs.value,{ref:n.inputRef,modelValue:n.input.value,size:n.size.value,disabled:n.disabled.value,type:"text",onSelect:n.add,onFocus:n.focus,onBlur:()=>n.add(!0),onKeyup:n.keyup,"onUpdate:modelValue":n.change}))),o}const Mn=t.defineComponent({name:"ProInputTag",props:at,emits:we,setup(e,{emit:n}){const o=Be(e,n);return()=>{var u;return t.h("div",{class:["pro-input-tag",o.focused.value&&"is-focus"],onClick:(u=o.inputRef.value)==null?void 0:u.focus},lt(f.ElInput,o))}}}),ct=O(Mn),Ln=h.omit(f.autocompleteProps,"modelValue"),ut=v(S(S({},ot),Ln),{placeholder:String,disabled:Boolean,readonly:Boolean,name:String,label:String,suffixIcon:String,prefixIcon:String}),In=t.defineComponent({name:"ProAutocompleteTag",props:ut,emits:we,setup(e,{emit:n}){const o=Be(e,n);return()=>{var u;return t.h("div",{class:["pro-input-tag","pro-autocomplete-tag",o.focused.value&&"is-focus"],onClick:(u=o.inputRef.value)==null?void 0:u.focus},lt(f.ElAutocomplete,o))}}}),it=O(In),st={to:String},Nn=t.defineComponent({name:"ProLink",props:st,setup(e,{slots:n}){const o=t.computed(()=>e.to?Pe(e.to)?"a":"router-link":"span"),u=t.computed(()=>e.to?Pe(e.to)?{href:e.to,target:"_blank",rel:"noopener noreferrer"}:{to:e.to}:{});return()=>t.h(t.resolveDynamicComponent(o.value),t.mergeProps(u.value,{class:"pro-link"}),n)}}),Ve=O(Nn),$n=t.defineComponent({name:"ProBreadcrumb",props:f.breadcrumbProps,setup(e){const n=I.useRoute();return()=>t.h(f.ElBreadcrumb,t.mergeProps(e,{class:"pro-breadcrumb"}),()=>n.matched.map((o,u)=>t.h(f.ElBreadcrumbItem,{key:u},()=>t.h(Ve,{to:o.path},()=>{var l;return(l=o.meta)==null?void 0:l.title}))))}}),dt=O($n),_n=h.omit(f.rowProps,"tag"),Kn=h.omit(f.colProps,"tag","span"),mt=v(S(S(S({},f.cardProps),_n),Kn),{span:Number,direction:{type:String,default:"row"},split:Boolean,ghost:Boolean}),Gn=t.defineComponent({name:"ProCard",props:mt,setup(e,{slots:n}){const{rowStyle:o,rowClass:u}=le(e),{colStyle:l,colClass:m,gutter:a}=Te(e),i=t.computed(()=>n.default&&n.default()),c=t.computed(()=>!!ke(i.value,"ProCard")),s=t.computed(()=>{const g=/^el-col,el-col-24(,is-guttered)?$/;return!(!e.span&&g.test(m.value.join()))});function p(){if(n.header||e.header)return t.h("div",{class:"pro-card__header"},n.header?n.header():e.header)}function d(){return t.h("div",t.mergeProps({style:e.bodyStyle},{class:["pro-card__body",c.value&&u.value,c.value&&e.direction&&`is-direction-${e.direction}`],style:c.value&&o.value}),i.value)}function y(){return t.h("div",{class:["pro-card",e.ghost&&"is-ghost",c.value&&e.split&&"is-split",e.shadow&&`is-${e.shadow}-shadow`],style:!s.value&&a.value&&{marginLeft:`${a.value/2}px`,marginRight:`${a.value/2}px`}},[p(),d()])}return()=>s.value?t.h("div",{class:m.value,style:l.value},y()):y()}}),ft=O(Gn),ce={data:{type:Array,default:()=>[]},config:{type:Object,default:()=>({})}},Oe={name:String,id:String,autocomplete:String,automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:String,defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:String,collapseTags:Boolean,teleported:{type:Boolean,default:!0},clearIcon:[String,Object],fitInputWidth:Boolean,suffixIcon:[String,Object],tagType:{type:String,default:"info"},effect:{type:String,default:"light"},collapseTagsTooltip:Boolean,persistent:{type:Boolean,default:!0},validateEvent:{type:Boolean,default:!0}},Re=v(S(S({},ce),Oe),{modelValue:[Array,String,Number,Boolean,Object],filterMethod:Function,popperClass:String}),je={"update:modelValue":e=>R(e)||h.isString(e)||h.isNumber(e)||h.isBoolean(e)||h.isObject(e)},qn=Object.keys(Re).filter(e=>!["data","config"].includes(e)),Wn=Object.keys(f.checkboxGroupProps),ue=S(S({},f.checkboxGroupProps),ce),ie={"update:modelValue":e=>R(e)};function ht(e,n,o){const{getLabel:u,getValue:l,getName:m,getDisabled:a}=Z(),i=ae(),[c]=z(e,Wn);return()=>t.h(f.ElCheckboxGroup,t.mergeProps(c,{class:o,"onUpdate:modelValue":i}),()=>e.data.map(s=>t.h(n,{key:l(s),name:m(s),value:l(s),disabled:a(s)},()=>u(s))))}const Hn=t.defineComponent({name:"ProCheckbox",props:ue,emits:ie,setup(e){return ht(e,f.ElCheckbox,"pro-checkbox")}}),gt=O(Hn),Zn=t.defineComponent({name:"ProCheckboxButton",props:ue,emits:ie,setup(e){return ht(e,f.ElCheckboxButton,"pro-checkbox-button")}}),pt=O(Zn),se={emptyText:String,renderAfterExpand:Boolean,expandOnClickNode:Boolean,defaultExpandAll:Boolean,checkOnClickNode:Boolean,autoExpandParent:Boolean,allowDrag:Function,allowDrop:Function,accordion:Boolean,indent:Number,icon:[String,Object]},Jn=Object.keys(se),bt=v(S({},se),{modelValue:{type:Array,default:()=>[]},trigger:{type:String,default:"hover"},placement:{type:String,default:"bottom"},size:String,highlightCurrent:Boolean,filterNodeMethod:Function}),yt={"update:modelValue":e=>R(e)},Qn=t.defineComponent({name:"ProColumnSetting",props:bt,emits:yt,setup(e,{emit:n,slots:o}){const{modelValue:u}=t.toRefs(e),[l]=z(e,[...Jn,"highlightCurrent","filterNodeMethod"]),m=t.ref(),a=t.computed(()=>L(e.modelValue,"hide",!1,d=>d.prop));t.watch(a,d=>{var y;(y=m.value)==null||y.setCheckedKeys(d)},{deep:!0});function i(){n("update:modelValue",u.value)}function c(d){d.hide=!d.hide,n("update:modelValue",u.value)}function s(){return o.default?o.default({size:e.size}):t.h(f.ElButton,{size:e.size,circle:!0,icon:N.Setting})}function p(){return t.h(f.ElDropdownMenu,null,()=>t.h(f.ElTree,t.mergeProps(l,{ref:m,data:u.value,defaultCheckedKeys:a.value,showCheckbox:!0,checkStrictly:!0,draggable:!0,nodeKey:"prop",class:"pro-column-setting-tree",onNodeDragEnd:i,onCheck:c})))}return()=>t.h(f.ElDropdown,{placement:e.placement,trigger:e.trigger,class:"pro-column-setting"},{default:()=>s(),dropdown:()=>p()})}}),Ct=O(Qn),De={submit:!0,submitProps:{type:"primary"},reset:!0};function xe(e){const{t:n}=H();return t.computed(()=>{const o=v(S({},De),{submitText:n("pro.form.submit"),resetText:n("pro.form.reset"),prevText:n("pro.form.prev"),nextText:n("pro.form.next")});return e.menu?Object.assign({},o,e.menu):o})}function de(e){const n=t.shallowRef({}),o=t.reactive({}),{show:u,toggleShow:l}=Ee();t.onMounted(()=>{Object.assign(o,n.value)});function m(c){e("update:modelValue",c)}function a(){u.value=!0,n.value.validate().then(c=>{e("submit",l,c)}).catch(c=>{e("submit",l,!1,c)})}function i(c=!1){var s;h.isBoolean(c)&&c&&m(void 0),(s=n.value)==null||s.resetFields(),e("reset")}return{formRef:n,formExpose:o,loading:u,update:m,submitForm:a,resetForm:i}}const Ae=Symbol("formKey");function St(e){t.provide(Ae,S(S({},e),me(e.emit)))}function me(e){function n(a){e("add-item",a)}function o(a){e("remove-item",a)}function u(a){e("tab-change",a)}function l(a){e("collapse-change",a)}function m(a){e("step-change",a)}return{addItem:n,removeItem:o,tabsChange:u,collapseChange:l,stepChange:m}}function $(){return t.inject(Ae)}function Pt(e,n){const o=$(),u=t.computed(()=>e.max?e.max>e.modelValue.length:!0);function l(i){let c=[...e.modelValue];e.modelValue?c.push({}):c=[{}],n("update:modelValue",c),o==null||o.addItem(i)}function m(i,c){const s=[...e.modelValue];s.splice(i,1),n("update:modelValue",s),o==null||o.removeItem(c)}function a(i,c){const s=[...e.modelValue];s[c]=i,n("update:modelValue",s)}return{showAdd:u,add:l,remove:m,update:a}}function J(e){const n=$();function o(u){var l;return n!=null&&n.slots[`form-${u.prop}-label`]?(n==null?void 0:(l=n.slots)[`form-${u.prop}-label`]).call(l,{item:u,indexes:e.indexes}):u.label}return o}const kt=h.omit(f.formProps,"model"),Xn=h.omit(f.rowProps,"tag"),Yn=Object.keys(kt),ze={modelValue:{type:Object,default:()=>({})},item:{type:Object,default:()=>({})},prefix:{type:String,default:""},indexes:{type:Array,default:void 0}},vt={is:{type:[String,Object],require:!0},_ref:[String,Object,Function],slots:[Function,Object,String]},Tt=h.pick(ze,"prefix","indexes"),Et=v(S({},Tt),{modelValue:{type:Array,default:()=>[]},columns:Array,max:Number}),Q=v(S(S(S({},kt),Xn),Tt),{modelValue:[Object,Array],columns:Array,menu:Object,array:Boolean,max:Number}),Ft=v(S({},Q),{type:String}),ee=v(S({},Q),{columns:Array}),X={"update:modelValue":e=>h.isObject(e)},Me={"update:modelValue":e=>R(e),"add-item":e=>R(e),"remove-item":e=>R(e)},Le=v(S({},X),{"tab-change":e=>h.isString(e)||h.isNumber(e)}),Ie=v(S({},X),{"collapse-change":e=>R(e)}),Ne=v(S({},X),{"step-change":e=>h.isString(e)||h.isNumber(e)}),te=v(S(S(S(S({},Me),Le),Ie),Ne),{"update:modelValue":e=>h.isObject(e)||R(e)||K(e),submit:(e,n,o)=>h.isFunction(e)&&h.isBoolean(n)&&(h.isObject(o)||K(o)),reset:()=>!0}),wt=t.defineComponent({name:"ProArrayForm",props:Et,emits:Me,setup(e,{emit:n}){const o=$(),{t:u}=H(),{showAdd:l,add:m,remove:a,update:i}=Pt(e,n);function c(s,p){const d=[...e.indexes||[],p],y=ve(e.prefix,String(p));return t.h("div",{key:d.join("_"),class:"pro-array-form"},[t.h("div",{class:[!(o!=null&&o.props.inline)&&"el-row","form-content"]},t.h(G,t.mergeProps(e,{modelValue:s,indexes:d,prefix:y,"onUpdate:modelValue":g=>i(g,p)}))),t.h(f.ElButton,{icon:t.markRaw(N.Minus),type:"danger",circle:!0,class:"form-btn-delete",ariaLabel:u("pro.form.ariaDel"),onClick:()=>a(p,d)})])}return()=>{let s=[];return R(e.modelValue)&&(s=s.concat(e.modelValue.map(c))),l.value&&s.push(t.h(f.ElButton,{icon:t.markRaw(N.Plus),type:"primary",circle:!0,class:"form-btn-add",ariaLabel:u("pro.form.ariaAdd"),onClick:()=>m(e.indexes||[])})),s}}});function Un(e){const n=["component","max","props","prop","children","span","offset","pull","push","xs","sm","md","lg","xl","show"];return h.isObject(e)?h.omit(e,n):{}}function fe(e){const n=["prop","type","children"];return h.isObject(e)?h.omit(e,n):{}}const Bt=t.defineComponent({name:"ProGroupForm",props:ee,emits:X,setup(e,{emit:n,attrs:o}){const u=$(),l=J(e);function m(i){n("update:modelValue",i)}function a(i,c){return i.show===!1?null:[t.h("div",t.mergeProps(fe(i),o,{key:i.prop||c,class:["pro-group-form-title",!(u!=null&&u.props.inline)&&"el-col-24"]}),l(i)),t.h(G,t.mergeProps(e,{columns:i.children,"onUpdate:modelValue":m}))]}return()=>{var i;return(i=e.columns)==null?void 0:i.map(a)}}}),Vt=t.defineComponent({name:"ProTabsForm",props:ee,emits:Le,setup(e,{emit:n}){var s,p;const o=$(),u=J(e),{rowStyle:l,rowClass:m}=le(e),a=t.ref((p=(s=e.columns)==null?void 0:s[0].prop)!=null?p:0);function i(d){n("update:modelValue",d)}function c(){var d;return(d=e.columns)==null?void 0:d.map((y,g)=>y.show===!1?null:t.h(f.ElTabPane,t.mergeProps(fe(y),{key:y.prop||g,label:y.label,name:y.prop||g,class:!(o!=null&&o.props.inline)&&m.value,style:e.inline?null:l.value}),{label:()=>u(y),default:()=>t.h(G,t.mergeProps(e,{columns:y.children,"onUpdate:modelValue":i}))}))}return()=>t.h(f.ElTabs,{modelValue:a.value,class:["pro-tabs-form",!(o!=null&&o.props.inline)&&"el-col-24"],onTabChange:o==null?void 0:o.tabsChange,"onUpdate:modelValue":d=>a.value=d},()=>c())}}),Ot=t.defineComponent({name:"ProCollapseForm",props:ee,emits:Ie,setup(e,{emit:n}){const o=$(),u=J(e),l=t.ref();function m(i){n("update:modelValue",i)}function a(){var i;return(i=e.columns)==null?void 0:i.map((c,s)=>c.show===!1?null:t.h(f.ElCollapseItem,t.mergeProps(fe(c),{key:c.prop||s,title:c.label,name:c.prop||s}),{title:()=>u(c),default:()=>t.h(G,t.mergeProps(e,{columns:c.children,"onUpdate:modelValue":m}))}))}return()=>t.h(f.ElCollapse,{modelValue:l.value,class:["pro-collapse-form",!(o!=null&&o.props.inline)&&"el-col-24"],onChange:o==null?void 0:o.collapseChange,"onUpdate:modelValue":i=>l.value=i},()=>a())}}),Rt=t.defineComponent({name:"ProStepsForm",props:ee,emits:Ne,setup(e,{emit:n,attrs:o}){var b;const u=$(),l=J(e),m=xe((u==null?void 0:u.props)||{}),a=t.ref(0),i=t.computed(()=>{var C;if(R(e.columns))return(C=e.columns[a.value].children)==null?void 0:C.reduce((P,w)=>w.prop?[...P,w.prop]:P,[])});u&&(((b=e.columns)==null?void 0:b.length)||0)>1&&(u.disabled.value=!0);function c(C){C>0&&R(i.value)?u==null||u.formRef.value.validateField(i.value,P=>{P&&s(C)}):(s(C),t.nextTick(()=>{u==null||u.formRef.value.clearValidate(i.value)}))}function s(C){var w,j;a.value=a.value+C;const P=(w=e.columns)==null?void 0:w[a.value].prop;u&&(u.disabled.value=a.value+1!==((j=e.columns)==null?void 0:j.length),u.stepChange(P!=null?P:a.value))}function p(C){n("update:modelValue",C)}function d(){if(R(e.columns))return t.h(f.ElSteps,t.mergeProps(o,{active:a.value,alignCenter:!0,class:["pro-steps-form",!(u!=null&&u.props.inline)&&"el-col-24"]}),()=>{var C;return(C=e.columns)==null?void 0:C.map((P,w)=>P.show===!1?null:t.h(f.ElStep,t.mergeProps(fe(P),{key:P.prop||w,title:P.label}),{title:()=>l(P)}))})}function y(){if(!R(e.columns))return;const C=e.columns[a.value];return C.show===!1?null:t.h(G,t.mergeProps(e,{columns:C.children,"onUpdate:modelValue":p}))}function g(){if(R(e.columns))return t.h(f.ElFormItem,{class:"pro-steps-form-menu"},()=>{var C;return[t.h(f.ElButton,t.mergeProps(m.value.prevProps||{},{disabled:!a.value,onClick:()=>c(-1)}),()=>m.value.prevText),t.h(f.ElButton,t.mergeProps(m.value.nextProps||{},{disabled:a.value+1===((C=e.columns)==null?void 0:C.length),onClick:()=>c(1)}),()=>m.value.nextText)]})}return()=>[d(),y(),g()]}}),jt=t.defineComponent({name:"ProFormComponent",props:vt,setup(e,{attrs:n,emit:o}){const u=["input","textarea","select"],l=t.computed(()=>h.isString(e.is)&&!u.includes(e.is)?t.resolveComponent(e.is):e.is),m=t.computed(()=>{const i=t.mergeProps({ref:e._ref},n);return h.isString(e.is)&&u.includes(e.is)&&(e.is==="select"||n.type==="checkbox"||n.type==="radio"?(i.checked=n.modelValue,i.onChange=c=>o("update:modelValue",c.target.checked)):(i.value=n.modelValue,i.onInput=c=>o("update:modelValue",c.target.value)),i.modelValue=void 0),i}),a=t.computed(()=>{if(h.isFunction(e.slots))return e.slots;if(h.isObject(e.slots)){const i={};for(const c in e.slots){const s=e.slots[c];i[c]=h.isFunction(s)?s:()=>s}return i}else return e.slots?()=>e.slots:void 0});return()=>t.h(l.value,m.value,a.value)}}),Dt=t.defineComponent({name:"ProFormItem",props:ze,emits:X,setup(e,{emit:n}){const o=$(),u=f.useSize(),l=J(e),{colStyle:m,colClass:a}=Te(e.item),i=t.computed(()=>{var y;return((y=e.item.models)!=null?y:[e.item.modelKey?R(e.item.modelKey)?{prop:e.item.prop,key:e.item.modelKey[0],event:e.item.modelKey[1]}:{prop:e.item.prop,key:e.item.modelKey}:{prop:e.item.prop,key:"modelValue"}]).reduce((g,b)=>{var C;return v(S({},g),{[b.key]:h.get(e.modelValue,b.prop,void 0),[(C=b.event)!=null?C:`onUpdate:${b.key}`]:P=>n("update:modelValue",h.set(e.modelValue,b.prop,P))})},{})});e.item.modelKey&&oe("[ProForm] The 'modelKey' attribute will be removed in the next major version, please use 'models' instead");function c(d){n("update:modelValue",h.set(e.modelValue,e.item.prop,d))}function s(d){var y;if(o!=null&&o.slots[`form-${e.item.prop}-error`])return(o==null?void 0:(y=o.slots)[`form-${e.item.prop}-error`]).call(y,v(S({},d),{item:e.item,indexes:e.indexes}))}function p(){var g,b,C;!h.has(e.modelValue,e.item.prop)&&c(void 0);const d=h.get(e.modelValue,e.item.prop,void 0);let y=[];return(g=e.item.children)!=null&&g.length?y=y.concat(t.h(G,{modelValue:d,columns:e.item.children,prefix:e.prefix,indexes:e.indexes,max:e.item.max,type:e.item.type||"array","onUpdate:modelValue":c})):o!=null&&o.slots[`form-${e.item.prop}`]?y=y.concat((o==null?void 0:(b=o.slots)[`form-${e.item.prop}`]).call(b,v(S({},i.value),{item:e.item,indexes:e.indexes,value:d,setValue:c}))):e.item.component&&y.push(t.h(jt,t.mergeProps(e.item.props||{},v(S({},i.value),{is:e.item.component,ref:void 0,_ref:(C=e.item.props)==null?void 0:C.ref})))),y}return()=>e.item.show===!1?null:t.h(f.ElFormItem,t.mergeProps({size:u.value},Un(e.item),{prop:e.prefix,style:o!=null&&o.props.inline?void 0:m.value,class:["pro-form-item",!(o!=null&&o.props.inline)&&a.value]}),{label:()=>l(e.item),error:d=>s(d),default:()=>p()})}}),G=t.defineComponent({name:"ProFormList",props:Ft,emits:te,setup(e,{emit:n}){function o(l){n("update:modelValue",l)}function u(){if(!e.columns)return;const l=[],m=e.columns.length;let a,i=0,c=i;const s=()=>{if(!e.columns||!a)return;const p=e.columns.slice(i,c),d={group:Bt,tabs:Vt,collapse:Ot,steps:Rt};l.push(t.h(d[a],{key:`${i}__${c}`,modelValue:e.modelValue,columns:p,prefix:e.prefix,indexes:e.indexes,"onUpdate:modelValue":o})),a=void 0,i=c};for(;i<m&&c<m;){const p=e.columns[c],d=ve(e.prefix,p.prop);p!=null&&p.type&&p.type!=="array"?!a&&i+1!==m?(a=p.type,c=i+1):a===p.type&&c+1!==m?c++:(a!==p.type&&(s(),a=p.type),c++,c===m&&s()):(a&&s(),l.push(t.h(Dt,{key:p.prop,modelValue:e.modelValue,item:p,indexes:e.indexes,prefix:d,"onUpdate:modelValue":o})),i++,c++)}return l}return()=>e.type==="array"?(!R(e.modelValue)&&!K(e.modelValue)&&o(void 0),t.h(wt,{modelValue:e.modelValue,columns:e.columns,prefix:e.prefix,indexes:e.indexes,max:e.max,"onUpdate:modelValue":o})):u()}}),eo=t.defineComponent({name:"ProForm",props:Q,emits:te,setup(e,{slots:n,emit:o,expose:u}){const[l]=z(e,Yn),{formRef:m,formExpose:a,loading:i,update:c,submitForm:s,resetForm:p}=de(o),d=xe(e),{rowStyle:y,rowClass:g}=le(e),b=re(),C=t.ref(!1),P=t.computed(()=>{const k=b.value==="xs"&&!e.inline;return e.labelPosition||(k?"top":void 0)}),w=t.computed(()=>e.gutter?{paddingLeft:`${e.gutter/2}px`,paddingRight:`${e.gutter/2}px`}:{});St({props:e,emit:o,slots:n,formRef:m,disabled:C}),u(a);function j(){return t.h(G,t.mergeProps(e,{type:e.array?"array":void 0,"onUpdate:modelValue":c}))}function x(){let k=[];return n["menu-left"]&&(k=k.concat(n["menu-left"]({loading:i.value}))),d.value.submit&&k.push(t.h(f.ElButton,t.mergeProps(d.value.submitProps||{},{loading:i.value,disabled:C.value,onClick:s}),()=>d.value.submitText)),d.value.reset&&k.push(t.h(f.ElButton,t.mergeProps(d.value.resetProps||{},{disabled:i.value,onClick:()=>p()}),()=>d.value.resetText)),n["menu-right"]&&(k=k.concat(n["menu-right"]({loading:i.value}))),t.h(f.ElFormItem,{class:"pro-form-menu",style:w.value},()=>k)}return()=>t.h(f.ElForm,t.mergeProps(l,{ref:m,model:e.modelValue||{},labelPosition:P.value,style:e.inline?null:y.value,class:["pro-form",!e.inline&&g.value,e.array&&"is-array"],onSubmit:k=>{k.preventDefault()}}),()=>[j(),n.default&&n.default(),x()])}});function to(e){return e}function no(e){return e}function oo(e){return e}const he=O(eo);function xt(e){return t.computed(()=>({showOverflowTooltip:e.showOverflowTooltip||!1,align:e.align,headerAlign:e.headerAlign}))}function Y(e,n){return t.computed(()=>{const o=t.unref(e),u=t.unref(n),l=h.isObject(o)?S({},o):void 0;return l&&(l.slot&&delete l.slot,l.children&&delete l.children),Object.assign({},u,l)})}function $e(){const e=t.shallowRef({}),n=t.reactive({}),o=["clearSelection","getSelectionRows","toggleRowSelection","toggleAllSelection","toggleRowExpansion","setCurrentRow","clearSort","clearFilter","doLayout","sort","scrollTo","setScrollTop","setScrollLeft","columns","updateKeyChildren"];return t.onMounted(()=>{Object.assign(n,h.pick(e.value,o))}),{tableRef:e,tableExpose:n}}function _e(e){function n(l){e("update:pageSize",l)}function o(l){e("update:currentPage",l)}function u(){e("load")}return{sizeChange:n,currentChange:o,handleLoad:u}}const At=Object.keys(f.paginationProps),ge=v(S({},f.paginationProps),{prevIcon:{type:[String,Object,Function],default:void 0},nextIcon:{type:[String,Object,Function],default:void 0},selection:{type:[Boolean,Object],default:!1},expand:{type:[Boolean,Object],default:void 0},index:{type:[Boolean,Object],default:!1},menu:{type:[Boolean,Object],default:void 0},columns:{type:Array,default:void 0},data:{type:Array,default:()=>[]},height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children"})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:Boolean,align:String,headerAlign:String,size:String}),ro={item:{type:Object,required:!0,default:()=>({})},size:String},Ke={"update:currentPage":e=>h.isNumber(e),"update:pageSize":e=>h.isNumber(e),load:()=>!0},ao=Object.keys(ge).filter(e=>![...At.filter(n=>n!=="size"),"showOverflowTooltip","align","headerAlign"].includes(e)),zt=t.defineComponent({name:"ProTableItem",props:ro,setup(e,{slots:n}){const o=t.inject("defaultBind"),u=Y(e.item,o);function l(a){return n[`table-${e.item.prop}-header`]?n[`table-${e.item.prop}-header`](v(S({},a),{size:e.size})):e.item.label}function m(a){const i=[];if(e.item.children&&e.item.children.length){const c=e.item.children.map(s=>t.h(zt,{item:s,key:s.prop,size:e.size},n));i.push(c)}else n[`table-${e.item.prop}`]?i.push(n[`table-${e.item.prop}`](v(S({},a),{size:e.size}))):e.item.render?i.push(h.isFunction(e.item.render)?e.item.render(a.row):String(e.item.render)):i.push(h.get(a.row,e.item.prop,""));return i}return()=>t.h(f.ElTableColumn,u.value,{header:a=>l(a),default:a=>m(a)})}}),lo=t.defineComponent({name:"ProTable",props:ge,emits:Ke,setup(e,{slots:n,emit:o,expose:u}){const{selection:l,expand:m,index:a,menu:i}=t.toRefs(e),c=f.useAttrs(),s=xt(e),p=Y(l,s),d=Y(m,s),y=Y(a,s),g=Y(i,s),{sizeChange:b,currentChange:C,handleLoad:P}=_e(o),{tableRef:w,tableExpose:j}=$e(),[x,k]=z(e,ao,At);t.provide("defaultBind",s),u(j);function T(){let B=[];if(l.value&&B.push(t.h(f.ElTableColumn,t.mergeProps(p.value,{type:"selection"}))),m.value!==!1&&n.expand&&B.push(t.h(f.ElTableColumn,t.mergeProps(d.value,{type:"expand"}),{default:A=>n.expand&&n.expand(A)})),a.value&&B.push(t.h(f.ElTableColumn,t.mergeProps(y.value,{type:"index"}))),e.columns){const A=e.columns.map(q=>q.hide?null:t.h(zt,{item:q,key:q.prop,size:e.size},n));B=B.concat(A)}return n.default&&(B=B.concat(n.default())),i.value!==!1&&n.menu&&B.push(t.h(f.ElTableColumn,t.mergeProps(g.value,{type:"menu"}),{default:A=>n.menu&&n.menu(v(S({},A),{size:e.size}))})),B}function F(){const B=t.h(f.ElTable,t.mergeProps(x,c.value,{ref:w}),{default:()=>T(),append:n.append}),A=t.h(f.ElPagination,t.mergeProps(k,{"onUpdate:pageSize":b,"onUpdate:currentPage":C,onChange:P}));return[B,!K(e.total)||!K(e.pageCount)?A:null]}return()=>t.h("div",{class:"pro-table"},F())}});function co(e){return e}function uo(e){return e}function io(e){return e}function so(e){return e}function mo(e){return e}const Ge=O(lo);function Mt(e){const{t:n}=H();return t.computed(()=>{const o=v(S({},De),{add:!0,addProps:{type:"primary"},edit:!0,editProps:{link:!0,type:"primary"},detail:!0,detailProps:{link:!0,type:"info"},del:!0,delProps:{link:!0,type:"danger"},search:!0,searchProps:{type:"primary"},searchReset:!0,addText:n("pro.crud.add"),editText:n("pro.crud.edit"),detailText:n("pro.crud.detail"),delText:n("pro.crud.del"),submitText:n("pro.crud.submit"),resetText:n("pro.crud.reset"),prevText:n("pro.crud.prev"),nextText:n("pro.crud.next"),searchText:n("pro.crud.search"),searchResetText:n("pro.crud.reset"),searchPrevText:n("pro.crud.prev"),searchNextText:n("pro.crud.next")});return h.isObject(e.menu)?Object.assign({},o,e.menu):o})}function qe(e){const n=t.computed(()=>e.searchColumns?e.searchColumns:e.columns?M(e.columns,"search"):void 0),o=t.computed(()=>e.tableColumns||e.columns),u=t.computed(()=>e.addColumns?e.addColumns:e.columns?M(e.columns,"add"):void 0),l=t.computed(()=>e.editColumns?e.editColumns:e.columns?M(e.columns,"edit"):void 0),m=t.computed(()=>e.formColumns?e.formColumns:e.columns?M(e.columns,"form"):void 0),a=t.computed(()=>e.detailColumns?e.detailColumns:e.columns?M(e.columns,"detail",!0,i=>v(S({},i),{span:i.detailSpan})):void 0);return{searchColumns:n,tableColumns:o,addColumns:u,editColumns:l,formColumns:m,detailColumns:a}}function Lt({emit:e,openDialog:n,closeDialog:o}){const u=t.ref(),{tableRef:l,tableExpose:m}=$e(),{formRef:a,update:i,resetForm:c}=de(e),s=t.reactive({searchRef:u,formRef:a,openDialog:n,closeDialog:o});return t.onMounted(()=>{Object.assign(s,m)}),{searchRef:u,tableRef:l,formRef:a,update:i,resetForm:c,crudExpose:s}}function It(e,n,o){const{addColumns:u,editColumns:l,formColumns:m}=qe(e),a=me(n),i=t.ref(!1),c=t.ref("add"),s=t.computed(()=>m.value&&m.value.length?m.value:c.value==="add"?u.value:l.value),p=(g,b,C)=>{function P(){g(),o(!0),i.value=!1}n("submit",P,g,c.value,b,C)};function d(g,b){function C(){c.value=g,i.value=!0}n(g,b),h.isFunction(e.beforeOpen)?e.beforeOpen(C,g,b):C()}function y(){i.value=!1}return v(S({},a),{showDialog:i,type:c,formColumns:s,openDialog:d,closeDialog:y,submitForm:p})}function Nt(e){return t.computed(()=>({submit:e.value.search,submitText:e.value.searchText,submitProps:e.value.searchProps,reset:e.value.searchReset,resetText:e.value.searchResetText,resetProps:e.value.searchResetProps,prevText:e.value.searchPrevText,prevProps:e.value.searchPrevProps,nextText:e.value.searchNextText,nextProps:e.value.searchNextProps}))}function $t(e){const n=(l,m,a)=>{e("search",l,m,a)};function o(){e("searchReset")}function u(l){e("update:search",l)}return{searchForm:n,searchReset:o,upSearchData:u}}function _t(){const e=t.useSlots(),n={},o={},u={},l={},m=["search","search-menu-left","search-menu-right"],a=["table","table-expand","table-append"],i=["form","form-menu-left","form-menu-right"],c=["detail","detail-title","detail-extra"];for(const s in e){const p=e[s];if(/^search/.test(s)){const d=m.includes(s)?s.replace(/^search-?/,"")||"default":s;n[d]=p}else if(/^table/.test(s)){const d=a.includes(s)?s.replace(/^table-?/,"")||"default":s;o[d]=p}else if(/^form/.test(s)){const d=i.includes(s)?s.replace(/^form-?/,"")||"default":s;u[d]=p}else if(/^detail/.test(s)){const d=c.includes(s)?s.replace(/^detail-?/,"")||"default":s;l[d]=p}}return{searchSlots:n,tableSlots:o,formSlots:u,detailSlots:l}}const We={columns:Array,detail:Object,border:Boolean,column:Number,direction:String,size:String,title:String,extra:String,align:String,labelAlign:String},Kt=h.omit(Q,"columns","menu"),Gt=h.omit(ge,"columns","menu"),qt=h.omit(We,"columns","title"),Wt=h.omit(f.dialogProps,"modelValue"),fo=Object.keys(Kt),ho=Object.keys(Gt),go=Object.keys(qt),po=Object.keys(Wt),Ht=v(S(S(S(S({},Kt),Gt),qt),Wt),{columns:Array,addColumns:Array,editColumns:Array,formColumns:Array,searchColumns:Array,tableColumns:Array,detailColumns:Array,menu:[Boolean,Object],search:Object,searchProps:Object,searchRules:Object,beforeOpen:Function,beforeClose:Function}),Zt=v(S(S({},te),Ke),{submit:(e,n,o,u,l)=>h.isFunction(e)&&h.isFunction(n)&&h.isString(o)&&h.isBoolean(u)&&(h.isObject(l)||K(l)),search:(e,n,o)=>h.isFunction(e)&&h.isBoolean(n)&&(h.isObject(o)||K(o)),searchReset:()=>!0,add:()=>!0,edit:e=>h.isObject(e),detail:e=>h.isObject(e),delete:e=>h.isObject(e),"update:search":e=>h.isObject(e)}),Jt=v(S({},Q),{config:{type:Object,default:()=>({})}}),Qt=te,Xt={submit:!0,submitProps:{type:"primary"},reset:!0};function Yt(e){const{t:n}=H();return t.computed(()=>{const o=v(S({},Xt),{searchMenu:n("pro.search.submit"),resetText:n("pro.search.reset"),prevText:n("pro.search.prev"),nextText:n("pro.search.next")});return e.menu?Object.assign({},o,e.menu):o})}function Ut(e,n){const o={xs:24,md:12,lg:8,xl:6},u=me(n),l=t.computed(()=>e.inline?e.columns:a(e.columns)),m=(i,c,s)=>{n("submit",i,c,s)};function a(i){if(i)return i.map(c=>{var s;return(s=c.children)!=null&&s.length&&(c.children=a(c.children)),S(S(S({},o),e.config),c)})}return v(S({},u),{columns:l,submitForm:m})}function en(){const e=t.useSlots(),n={};for(const o in e){const u=e[o],l=o.replace(/^search-/,"form-");n[l]=u}return n}function tn(e){const n=t.computed(()=>{const o=e.value.$el;return o==null?void 0:o.querySelector(".pro-form-menu")});_.useResizeObserver(n,()=>{if(!n.value)return;const o=n.value.querySelector("div"),u=o==null?void 0:o.getBoundingClientRect().width;u&&(n.value.style.minWidth=`${u}px`)})}const bo=t.defineComponent({name:"ProSearch",props:Jt,emits:Qt,setup(e,{emit:n,expose:o}){const u=Yt(e),l=en(),{columns:m,addItem:a,removeItem:i,tabsChange:c,collapseChange:s,stepChange:p,submitForm:d}=Ut(e,n),{formRef:y,formExpose:g,update:b,resetForm:C}=de(n);return tn(y),o(g),()=>t.h(he,v(S({},e),{ref:y,columns:m.value,menu:u.value,config:void 0,class:"pro-search",role:"search","onUpdate:modelValue":b,"onAdd-item":a,"onRemove-item":i,"onTab-change":c,"onCollapse-change":s,"onStep-change":p,onSubmit:d,onReset:C}),l)}});function yo(e){return e}function Co(e){return e}function So(e){return e}const He=O(bo),Po=t.defineComponent({name:"ProDescriptions",props:We,setup(e,{slots:n}){const[o]=z(e,["border","column","direction","size","title","extra"]);function u(a){return n[`detail-${a.prop}`]?n[`detail-${a.prop}`]({size:e.size,item:e.detail}):a.render?h.isFunction(a.render)?a.render(e.detail):String(a.render):h.get(e.detail,a.prop,"")}function l(a){return n[`detail-${a.prop}-label`]?n[`detail-${a.prop}-label`]({size:e.size,item:a}):a.renderLabel?h.isFunction(a.renderLabel)?a.renderLabel(a):String(a.renderLabel):null}function m(){var a;return(a=e.columns)==null?void 0:a.map(i=>{var c,s;return t.h(f.ElDescriptionsItem,v(S({},i),{key:i.prop,align:(c=i.align)!=null?c:e.align,labelAlign:(s=i.labelAlign)!=null?s:e.labelAlign}),{default:()=>u(i),label:()=>l(i)})})}return()=>{const a={default:()=>[m(),n.default&&n.default()]};return n.title&&(a.title=()=>{var i;return(i=n.title)==null?void 0:i.call(n,{size:e.size})}),n.extra&&(a.extra=()=>{var i;return(i=n.extra)==null?void 0:i.call(n,{size:e.size})}),t.h(f.ElDescriptions,t.mergeProps(o,{class:"pro-descriptions"}),a)}}});function ko(e){return e}const Ze=O(Po),vo=t.defineComponent({name:"ProCrud",props:Ht,emits:Zt,setup(e,{slots:n,emit:o,expose:u}){const[l,m,a,i]=z(e,fo,ho,go,po),{searchColumns:c,tableColumns:s,detailColumns:p}=qe(e),d=Mt(e),{searchRef:y,tableRef:g,formRef:b,update:C,resetForm:P,crudExpose:w}=Lt({emit:o,openDialog:(...E)=>A(...E),closeDialog:()=>q()}),{sizeChange:j,currentChange:x,handleLoad:k}=_e(o),{showDialog:T,type:F,formColumns:B,openDialog:A,closeDialog:q,submitForm:Ce,addItem:ne,removeItem:W,tabsChange:Sn,collapseChange:Pn,stepChange:kn}=It(e,o,P),vn=Nt(d),{searchForm:Zo,searchReset:Jo,upSearchData:Qo}=$t(o),{searchSlots:Xo,tableSlots:Yo,formSlots:Uo,detailSlots:er}=_t(),Tn=f.useAttrs(),tr=et(),nr=t.computed(()=>{var D;const E=e.title||(e.menu?F.value==="detail"?d.value.detailText:F.value==="add"?d.value.addText:d.value.editText:F.value);function V(Ye){function Bn(){var Vn;T.value=!1,F.value!=="detail"&&((Vn=B.value)!=null&&Vn.length)&&b.value&&P(!0),Ye()}h.isFunction(e.beforeClose)?e.beforeClose(Bn):Bn()}return{title:E,beforeClose:V,destroyOnClose:!0,width:(D=e.width)!=null?D:tr.value,class:"pro-crud-dialog"}});u(w);function or(E){return h.isFunction(d.value.detail)?d.value.detail(E):d.value.detail}function rr(E){return h.isFunction(d.value.edit)?d.value.edit(E):d.value.edit}function ar(E){return h.isFunction(d.value.del)?d.value.del(E):d.value.del}function lr(E,V){E.stopPropagation(),o("delete",V)}function cr(){var V;e.searchRules&&oe("[ProCrud] The `searchRules` attribute will be removed in the next major version, please use `searchProps` instead");const E=v(S({ref:y,rules:e.searchRules},e.searchProps),{modelValue:e.search,columns:c.value,menu:vn.value,size:e.size,class:"pro-crud-search","onUpdate:modelValue":Qo,"onAdd-item":ne,"onRemove-item":W,"onTab-change":Sn,"onCollapse-change":Pn,"onStep-change":kn,onSubmit:Zo,onReset:Jo});return n["crud-search"]?n["crud-search"]({props:E,columns:c.value,menu:vn.value}):(V=c.value)!=null&&V.length?t.h(He,E,Xo):null}function ur(){let E=[];return n["menu-left"]&&(E=E.concat(n["menu-left"]({size:e.size}))),e.menu&&d.value.add&&E.push(t.h(f.ElButton,t.mergeProps({size:e.size},d.value.addProps||{},{onClick:()=>A("add")}),()=>{var V;return((V=d.value)==null?void 0:V.addText)||""})),n["menu-right"]&&(E=E.concat(n["menu-right"]({size:e.size}))),t.h("div",{class:"pro-crud-menu"},[t.h("div",{class:"pro-menu-item"},E),t.h("div",{class:"pro-menu-item"},n.action?n.action({size:e.size}):void 0)])}function ir(){const E=e.menu&&(d.value.edit||d.value.detail||d.value.del||n.menu),V=E?{menu:Ye=>En(Ye)}:{},D=t.mergeProps(m,Tn.value,{ref:g,menu:d.value,columns:s.value,class:"pro-crud-table","onUpdate:pageSize":j,"onUpdate:currentPage":x,onLoad:k});return n["crud-table"]?n["crud-table"]({props:D,size:e.size,columns:s.value,menu:d.value,showMenu:E,createTableMenu:En}):t.h(Ge,D,Object.assign({},Yo,V))}function En(E){let V=[];return e.menu&&rr(E.row)&&V.push(t.h(f.ElButton,t.mergeProps({size:e.size},d.value.editProps||{},{onClick:D=>{D.stopPropagation(),A("edit",E.row)}}),()=>{var D;return((D=d.value)==null?void 0:D.editText)||""})),e.menu&&or(E.row)&&V.push(t.h(f.ElButton,t.mergeProps({size:e.size},d.value.detailProps||{},{onClick:D=>{D.stopPropagation(),A("detail",E.row)}}),()=>{var D;return((D=d.value)==null?void 0:D.detailText)||""})),e.menu&&ar(E.row)&&V.push(t.h(f.ElButton,t.mergeProps({size:e.size},d.value.delProps||{},{onClick:D=>lr(D,E.row)}),()=>{var D;return((D=d.value)==null?void 0:D.delText)||""})),n.menu&&(V=V.concat(n.menu(v(S({},E),{size:e.size})))),V}function Fn(){var V;Object.assign(w,b.value);const E=t.mergeProps(l,Tn.value,{ref:b,columns:B.value,menu:d.value,class:"pro-crud-form","onUpdate:modelValue":C,"onAdd-item":ne,"onRemove-item":W,"onTab-change":Sn,"onCollapse-change":Pn,"onStep-change":kn,onSubmit:Ce,onReset:P});return n["crud-form"]?n["crud-form"]({props:E,columns:B.value,menu:d.value}):(V=B.value)!=null&&V.length?t.h(he,E,Uo):null}function wn(){var V;const E=t.mergeProps(a,{columns:p.value,class:"pro-crud-detail"});return n["crud-detail"]?n["crud-detail"]({props:E,size:e.size,columns:p.value}):(V=p.value)!=null&&V.length?t.h(Ze,E,er):null}function sr(){const E=t.mergeProps(i,nr.value,{modelValue:T.value});return n["crud-dialog"]?n["crud-dialog"]({props:E,type:F.value,createDescriptions:wn,createForm:Fn}):t.h(f.ElDialog,E,()=>[n["dialog-top"]&&n["dialog-top"]({type:F.value}),F.value==="detail"?wn():Fn(),n["dialog-bottom"]&&n["dialog-bottom"]({type:F.value})])}return()=>t.h("section",{class:"pro-crud"},[cr(),ur(),ir(),sr()])}});function To(e){return e}function Eo(e){return e}function Fo(e){return e}function wo(e){return e}function Bo(e){return e}function Vo(e){return e}const nn=O(vo),Oo=t.defineComponent({name:"ProSelect",props:Re,emits:je,setup(e,{slots:n}){const{getLabel:o,getValue:u,getDisabled:l,getChildren:m}=Z(),a=ae(),[i]=z(e,qn);function c(p){return t.h(f.ElOption,{key:u(p),value:u(p),label:o(p),disabled:l(p)},()=>n.default&&n.default({item:p}))}function s(){return e.data.map(p=>{const d=m(p);return d!=null&&d.length?t.h(f.ElOptionGroup,{label:o(p)},()=>d==null?void 0:d.map(y=>c(y))):c(p)})}return()=>t.h(f.ElSelect,t.mergeProps(i,{class:"pro-select","onUpdate:modelValue":a}),()=>s())}}),Je=O(Oo),on=h.pick(Oe,"name","id","size","disabled","clearable","noMatchText","noDataText","placeholder","teleported","clearIcon","suffixIcon","effect","persistent","validateEvent"),Ro=Object.keys(on),rn=v(S({},on),{routes:Array}),jo=t.defineComponent({name:"ProFilterRoutes",props:rn,setup(e,{slots:n}){const o=I.useRouter(),u=Fe(),[l]=z(e,Ro),m=t.ref(""),a=t.computed(()=>{const s=M(u.value,"meta.hidden",!1);return L(s,"redirect",!1,p=>{var d;return{label:((d=p.meta)==null?void 0:d.title)||p.path,value:p.path}})});function i(s){m.value=s,o.push(s)}function c({item:s}){return n.default?n.default({item:s}):[t.h("p",{class:"filter-routes-title"},s.label),t.h("p",{class:"filter-routes-info"},s.value)]}return()=>t.h(Je,t.mergeProps(l,{modelValue:m.value,data:a.value,filterable:!0,class:"pro-filter-routes",popperClass:"pro-filter-routes-popper","onUpdate:modelValue":i}),{default:c})}}),an=O(jo),Do=h.omit(f.menuProps,["defaultActive","router"]),pe=v(S({},Do),{routes:Array,router:{type:Boolean,default:!0}}),xo=Object.keys(pe),ln=v(S({},pe),{fixedHeader:{type:Boolean,default:!0},transition:String,keepAlive:Boolean,include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]}),Ao=t.defineComponent({name:"ProMenu",props:pe,setup(e,{slots:n}){const o=I.useRoute(),u=Fe();function l(i){var p;if(!i.children)return!1;let c=0,s=0;for(;c<2&&s<i.children.length;)(p=i.children[s].meta)!=null&&p.hidden||c++,s++;return c>=2}function m(i){var c,s;return n.default?n.default(i):[((c=i.meta)==null?void 0:c.icon)&&t.h(t.resolveDynamicComponent(i.meta.icon),{class:"el-icon"}),((s=i.meta)==null?void 0:s.title)&&t.h("span",i.meta.title)]}function a(i){if(i)return i.map((c,s)=>{var d,y,g;const p=c&&!((d=c.meta)!=null&&d.hidden);if(p&&!l(c)){const b=((y=c.children)==null?void 0:y[0].path)||c.path||String(s);return t.h(f.ElMenuItem,{key:b,index:b},()=>m(c))}else return p?t.h((g=c.meta)!=null&&g.group?f.ElMenuItemGroup:f.ElSubMenu,{key:c.path||s,index:c.path||s},{title:()=>m({meta:c==null?void 0:c.meta}),default:()=>a(c==null?void 0:c.children)}):void 0})}return()=>t.h(f.ElMenu,t.mergeProps(e,{defaultActive:o==null?void 0:o.path,class:"pro-menu"}),()=>a(u.value))}}),Qe=O(Ao),zo=t.defineComponent({name:"ProLayout",props:ln,setup(e,{slots:n}){const{mode:o,fixedHeader:u}=t.toRefs(e),[l,m]=z(e,xo,["include","exclude","max"]),a=f.useAttrs(),i=re(),{show:c,toggleShow:s}=Ee(e.collapse),{t:p}=H(),d=f.useId(),y=t.computed(()=>i.value==="xs"?!1:c.value);function g(){i.value==="xs"&&s()}function b(){const k=n.menu?{default:T=>n.menu&&n.menu(T)}:void 0;return t.h(Qe,t.mergeProps(a.value,l,{collapse:y.value,onSelect:g}),k)}function C(){return t.h("button",{type:"button",ariaDisabled:!1,ariaControls:d.value,ariaExpanded:!y.value,ariaLabel:p("pro.layout.ariaToggle"),class:["header-fold-btn",y.value&&"is-active"],onClick:s},[t.h("span",{class:"line"}),t.h("span",{class:"line"}),t.h("span",{class:"line"})])}function P(){return t.h("aside",{id:d.value,class:["pro-aside",c.value&&"aside-collapse"]},[t.h("div",{class:"mask",onClick:s}),t.h("nav",{class:["pro-aside-wrapper",n.logo&&"with-logo",e.collapseTransition&&"with-transition"]},[n.logo&&t.h("div",{class:"pro-aside-logo"},n.logo({collapse:y.value})),t.h(f.ElScrollbar,null,()=>b())])])}function w(){let k=[];return o.value==="horizontal"&&n.logo&&k.push(t.h("div",{class:"pro-aside-logo"},n.logo({collapse:void 0}))),o.value==="vertical"&&n["collapse-button"]?k=k.concat(n["collapse-button"]({collapse:y.value,toggleShow:s})):o.value==="vertical"?k.push(C()):k.push(b()),n["header-left"]&&(k=k.concat(n["header-left"]())),t.h("header",{class:["pro-header",u.value&&"fixed-header"]},[t.h("div",{class:"header-content"},[t.h("div",{class:"header-slot"},k),n["header-right"]&&t.h("div",{class:"header-slot"},n["header-right"]())]),n["header-bottom"]&&n["header-bottom"]()])}function j(){return n.default?n.default():t.h(I.RouterView,{},{default:({Component:k,route:T})=>{var B,A;const F=e.keepAlive?t.h(t.KeepAlive,m,k):k;return e.transition?t.h(t.Transition,{mode:"out-in",appear:!0,name:(A=(B=T==null?void 0:T.meta)==null?void 0:B.transition)!=null?A:e.transition},()=>F):F}})}function x(){let k=[w(),j()];return n.footer&&(k=k.concat(n.footer())),o.value==="vertical"?[P(),t.h("section",{class:"pro-container"},k)]:k}return()=>t.h("section",{class:["pro-layout",o.value==="vertical"?"layout-aside":"layout-topmenu"]},x())}}),cn=O(zo),Mo=Object.keys(f.radioGroupProps),be=S(S({},f.radioGroupProps),ce),ye={"update:modelValue":e=>h.isString(e)||h.isNumber(e)||h.isBoolean(e)};function un(e,n,o){const{getLabel:u,getValue:l,getName:m,getDisabled:a}=Z(),i=ae(),[c]=z(e,Mo);return()=>t.h(f.ElRadioGroup,t.mergeProps(c,{class:o,"onUpdate:modelValue":i}),()=>e.data.map(s=>t.h(n,{key:l(s),name:m(s),value:l(s),disabled:a(s)},()=>u(s))))}const Lo=t.defineComponent({name:"ProRadio",props:be,emits:ye,setup(e){return un(e,f.ElRadio,"pro-radio")}}),sn=O(Lo),Io=t.defineComponent({name:"ProRadioButton",props:be,emits:ye,setup(e){return un(e,f.ElRadioButton,"pro-radio-button")}}),dn=O(Io);function mn(){const{t:e}=H();return t.computed(()=>({refresh:e("pro.tabs.refresh"),left:e("pro.tabs.left"),right:e("pro.tabs.right"),others:e("pro.tabs.others")}))}function fn(e){const n=I.useRoute(),o=I.useRouter(),u=t.ref(""),l=t.ref([]);t.watch(()=>n.path,(g,b)=>xn(this,null,function*(){var P;if(g===e.refreshPath)return;if(b&&!e.keepHiddenRoute){const w=l.value.find(j=>j.path===b);(P=w==null?void 0:w.meta)!=null&&P.hidden&&c(b)}let C=!0;if(h.isFunction(e.beforeAdd))try{C=yield e.beforeAdd({route:n,oldPath:b,list:l,close:c,closeOther:s})}catch(w){oe("[ProTabs] Failed to execute beforeAdd function"),C=!1}C!==!1&&m(S({},n))}),{immediate:!0});function m(g){!l.value.find(b=>b.path===g.path)&&l.value.push(g),u.value=g.path}function a(g){if(g!==n.path){const b=l.value.find(C=>C.path===g);o.push({path:g,query:b==null?void 0:b.query,hash:b==null?void 0:b.hash})}}function i(g){if(!e.refreshPath)return;const b=g.path,C=l.value.findIndex(P=>P.path===b);l.value.splice(C,1),o.replace(e.refreshPath).then(()=>{l.value.splice(C,0,g),o.replace({path:b,query:g==null?void 0:g.query,hash:g==null?void 0:g.hash})})}function c(g){const b=l.value.findIndex(C=>C.path===g);l.value=l.value.filter(C=>C.path!==g),n.path===g&&l.value.length&&(b>=1?a(l.value[b-1].path):a(l.value[b].path))}function s(){const g=l.value.find(b=>b.path===n.path);l.value=g?[g]:[]}function p(g,b){l.value.splice(0,b),a(g.path)}function d(g,b){l.value.splice(b+1),a(g.path)}function y(g,b){l.value=l.value.filter((C,P)=>P===b),a(g.path)}return{active:u,list:l,to:a,refresh:i,close:c,closeOther:s,closeLeft:p,closeRight:d,closeOthers:y}}function hn({props:e,list:n,refresh:o,closeLeft:u,closeRight:l,closeOthers:m}){