UNPKG

@tuoyuan/web-plus

Version:

基于arco-design-vue的配置化表格表单组件

6 lines 588 kB
"use strict";var Pu=Object.defineProperty;var Mu=(e,r,t)=>r in e?Pu(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var di=(e,r,t)=>Mu(e,typeof r!="symbol"?r+"":r,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const pn=require("@tuoyuan/web"),o=require("vue"),Re=require("./index-ScIDkruL.cjs"),Lu=require("@tuoyuan/gateway-request"),Wl=require("@wangeditor/editor-for-vue");require("@wangeditor/editor/dist/css/style.css");const Vu=require("@wangeditor/editor"),Uu=require("json-editor-vue");async function t0(e){try{if(!navigator.clipboard)throw new Error("Clipboard API not supported in this browser");await navigator.clipboard.writeText(e)}catch(r){throw r instanceof Error?r:new Error(`Failed to copy: ${String(r)}`)}}const r0={mounted(e,r){const a=typeof r.value=="string"?{value:r.value,showTip:!0}:{showTip:!0,...r.value},n=async()=>{var i,s;try{await t0(a.value),a.showTip&&pn.Message.success("复制成功"),(i=a.success)==null||i.call(a)}catch(l){const c=l instanceof Error?l:new Error("Unknown error");a.showTip&&pn.Message.error(`复制失败: ${c.message}`),(s=a.error)==null||s.call(a,c)}};e.addEventListener("click",n),e.__copyHandler__=n,e.__copyValue__=a.value},updated(e,r){const t=typeof r.value=="string"?{value:r.value,showTip:!0}:{showTip:!0,...r.value};if(e.__copyValue__!==t.value){e.__copyValue__=t.value,e.__copyHandler__&&e.removeEventListener("click",e.__copyHandler__);const a=async()=>{var n,i;try{await t0(t.value),t.showTip&&pn.Message.success("复制成功"),(n=t.success)==null||n.call(t)}catch(s){const l=s instanceof Error?s:new Error("Unknown error");t.showTip&&pn.Message.error(`复制失败: ${l.message}`),(i=t.error)==null||i.call(t,l)}};e.addEventListener("click",a),e.__copyHandler__=a}},unmounted(e){e.__copyHandler__&&(e.removeEventListener("click",e.__copyHandler__),delete e.__copyHandler__),delete e.__copyValue__}},zu={install(e){e.directive("copy",r0)},directive:r0},Di=new WeakMap,a0=new ResizeObserver(e=>{for(const r of e){const t=Di.get(r.target);t&&t({width:r.borderBoxSize[0].inlineSize,height:r.borderBoxSize[0].blockSize})}}),n0={mounted(e,r){Di.set(e,r.value),a0.observe(e)},updated(e,r){Di.set(e,r.value)},unmounted(e){a0.unobserve(e),Di.delete(e)}},Wu={install(e){e.directive("resize",n0)},directive:n0};function i0(e,r){let t=null;return a=>{t&&clearTimeout(t),t=setTimeout(()=>{e(a),t=null},r)}}function s0(e){return{event:"click",delay:300,...e.value}}const o0={mounted(e,r){const t=s0(r);if(!t.handler)return;const a=i0(t.handler,t.delay);e.addEventListener(t.event,a),e.__debounceHandler__=a,e.__debounceEvent__=t.event},updated(e,r){e.__debounceHandler__&&e.__debounceEvent__&&e.removeEventListener(e.__debounceEvent__,e.__debounceHandler__);const t=s0(r);if(!t.handler)return;const a=i0(t.handler,t.delay);e.addEventListener(t.event,a),e.__debounceHandler__=a,e.__debounceEvent__=t.event},unmounted(e){e.__debounceHandler__&&e.__debounceEvent__&&(e.removeEventListener(e.__debounceEvent__,e.__debounceHandler__),delete e.__debounceHandler__,delete e.__debounceEvent__)}},l0={install(e){e.directive("debounce",o0)},directive:o0};function c0(e,r){let t=null;return a=>{const n=Date.now();(!t||n-t>=r)&&(e(a),t=n)}}function f0(e){return{event:"click",delay:300,...e.value}}const u0={mounted(e,r){const t=f0(r);if(!t.handler)return;const a=c0(t.handler,t.delay);e.addEventListener(t.event,a),e.__throttleHandler__=a,e.__throttleEvent__=t.event},updated(e,r){e.__throttleHandler__&&e.__throttleEvent__&&e.removeEventListener(e.__throttleEvent__,e.__throttleHandler__);const t=f0(r);if(!t.handler)return;const a=c0(t.handler,t.delay);e.addEventListener(t.event,a),e.__throttleHandler__=a,e.__throttleEvent__=t.event},unmounted(e){e.__throttleHandler__&&e.__throttleEvent__&&(e.removeEventListener(e.__throttleEvent__,e.__throttleHandler__),delete e.__throttleHandler__,delete e.__throttleEvent__)}},h0={install(e){e.directive("throttle",u0)},directive:u0},Hu=[{name:"copy",directive:zu.directive},{name:"resize",directive:Wu.directive},{name:"debounce",directive:l0.directive},{name:"deb",directive:l0.directive},{name:"throttle",directive:h0.directive},{name:"thr",directive:h0.directive}],Hl=e=>{Hu.forEach(({name:r,directive:t})=>{e.directive(r,t)})},kr=e=>(e.install=r=>{const t=e.name||e.__name;r.component(t,e)},e),$u=(e,r)=>{const t={};if((r.type==="input"||r.type===void 0)&&(t.allowClear=!0,t.placeholder=`请输入${r.label}`),r.type==="input-password"){const a=Re.deepCopy(r);return delete a.type,{...t,...a,msg:null}}return r.type==="input-number"&&(t.placeholder=`请输入${r.label}`),r.type==="textarea"&&(t.allowClear=!0,t.showWordLimit=r.showWordLimit??!0,t.placeholder=`请输入${r.label}`),r.type==="select"&&(t.allowClear=!0,t.placeholder=`请选择${r.label}`,t.options=[],t.options=e[r.field]||r.dicData),r.type==="cascader"&&(t.allowClear=!0,t.placeholder=`请选择${r.label}`,t.options=e[r.field]||r.dicData),r.type==="radio"&&(t.options=e[r.field]||r.dicData),r.type==="radio-group"&&(t.options=e[r.field]||r.dicData),r.type==="checkbox-group"&&(t.options=e[r.field]||r.dicData),r.type==="checkbox"&&(t.options=e[r.field]||r.dicData),r.type==="date-picker"&&(t.placeholder="请选择日期"),r.type==="time-picker"&&(t.allowClear=!0,t.placeholder="请选择时间"),{...t,...r,msg:null,field:null,type:null,onChange:(...a)=>{r.onChange&&r.onChange(...a)}}};function Xu(e,r){if(!r.trim())throw new Error("函数体不能为空");return{...e},new Function("builtIns",`with(builtIns) { ${r} }`)}function Gu(e,r){return Lu.request({api:e,params:(r==null?void 0:r.params)??{},config:{access_token:!0,method:(r==null?void 0:r.method)??"POST"}})}const ju=(e,r)=>r.replace(/\[(\w+)\]/g,".$1").split(".").reduce((t,a)=>t&&t[a],e),Yu=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}else if(typeof e=="object"&&e!==null)return e;return{}};function oo(e){o.unref(e).columns.forEach(r=>{r.dicUrl!==void 0&&r.dicUrl!==""&&Gu(r.dicUrl,{params:Yu(r.dicQuery),method:r.dicMethod??"POST"}).then(t=>{let a=r.dicBind?ju(t.data,r.dicBind??""):t.data;r.dicFormatter!==void 0&&typeof r.dicFormatter=="function"?(a=r.dicFormatter(a),Array.isArray(a)&&Reflect.set(r,"dicData",o.ref(a))):Array.isArray(a)&&(r.dicData=a)})})}function $l(e){return e.map(r=>{if(r.children&&r.children.length>0)return{...r,children:$l(r.children)};const{children:t,...a}=r;return a})}const Ku={key:0,class:"form-plus-left-bot"},qu=o.defineComponent({name:"aFormPlus",__name:"main",props:o.mergeModels({menuRight:{type:Boolean,default:!1},option:{},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},alone:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:o.mergeModels(["submit","reset","form-change"],["update:modelValue"]),setup(e,{expose:r,emit:t}){const a=o.useSlots(),n=o.useAttrs(),i=e,s=Re.defaultFormOption;o.onMounted(()=>{i.alone===!0&&oo(i.option)});const l=o.useModel(e,"modelValue"),c=o.ref(null),f=t,u=o.reactive({}),h=o.reactive({submit:!1,reset:!1});function d(){h.submit=!1}const x=({values:k,errors:z})=>{z===void 0&&(h.submit=!0,f("submit",k,d))};function m(){c.value.resetFields(),c.value.clearValidate(),f("reset")}function p(k){return i.option.disabled??k??!1}function v(k,z){f("form-change",k,z,d)}r(new Proxy({},{get(k,z){var F;return z==="reset"?m:z==="done"?d:(F=c.value)==null?void 0:F[z]},has(k,z){return z==="reset"||z==="done"||z in c.value}}));function _(k){return Re.validataNull(k.bind)?Reflect.get(l.value,k.field):R(l.value,k.bind)}function y(k,z){try{k.control&&typeof k.control=="string"&&Xu({ev:z,item:k,columns:i.option.columns,form:o.unref(l)},k.control)({ev:z,item:k,columns:i.option.columns,form:o.unref(l),setColumn:S,getColumn:L}),k.control&&typeof k.control=="function"&&k.control({ev:z,item:k,columns:i.option.columns,form:l.value,setColumn:S,getColumn:L})}catch{}}function g(k,z){Re.validataNull(k.bind)?Reflect.set(l.value,k.field,z):(l[k.field]=z,M(l.value,k.bind,z)),y(k,z)}const R=(k,z)=>z.split(".").reduce((F,U)=>F&&F[U],k),M=(k,z,F)=>{const U=z.split("."),G=U.pop(),W=U.reduce((re,H)=>re[H]=re[H]||{},k);W[G]=F},P=(k,z)=>{const F={};if(Reflect.get(z,"fieldNames")===void 0&&(z.dicLabel||z.dicValue)&&(z.fieldNames={label:z.dicLabel||"label",value:z.dicValue||"value"}),(z.type==="input"||z.type===void 0)&&(F.allowClear=!0,F.placeholder=`请输入${z.label}`),z.type==="input-password"){const U=Re.deepCopy(z);return delete U.type,{...F,...U,msg:null}}return z.type==="input-number"&&(F.placeholder=`请输入${z.label}`),z.type==="textarea"&&(F.allowClear=!0,F.showWordLimit=z.showWordLimit??!0,F.placeholder=`请输入${z.label}`),z.type==="select"&&(F.allowClear=!0,F.placeholder=`请选择${z.label}`,F.options=[],F.options=k[z.field]||z.dicData),z.type==="cascader"&&(F.allowClear=!0,F.placeholder=`请选择${z.label}`,F.options=k[z.field]||z.dicData,z.removeEmptyChildren===!0&&(F.options=$l(F.options))),z.type==="radio"&&(F.options=k[z.field]||z.dicData),z.type==="radio-group"&&(F.options=k[z.field]||z.dicData),z.type==="checkbox-group"&&(F.options=k[z.field]||z.dicData),z.type==="checkbox"&&(F.options=k[z.field]||z.dicData),z.type==="date-picker"&&(F.placeholder="请选择日期"),z.type==="time-picker"&&(F.allowClear=!0,F.placeholder="请选择时间"),{...F,...z,msg:null,field:null,type:null}};function S(k,z,F){const{found:U,config:G}=I(k,o.unref(i.option));if(U)Reflect.set(G,z,F);else throw new Error("字段不存在")}function L(k){const{found:z,config:F}=I(k,o.unref(i.option));if(z)return F;throw new Error("字段不存在")}function I(k,z){const F=z.columns.find(U=>U.field===k);if(F)return{found:!0,config:F};if(!z.groups)return{found:!1,config:null};for(const U of z.groups??[]){const G=U.columns.find(W=>W.field===k);if(G)return{found:!0,config:G,group:U.label}}return{found:!1,config:null}}const K=o.ref(!1);function Y(k){K.value=k.width<300}return(k,z)=>{const F=o.resolveComponent("icon-question-circle-fill"),U=o.resolveComponent("a-tooltip"),G=o.resolveComponent("a-form-item"),W=o.resolveComponent("a-col"),re=o.resolveComponent("a-row"),H=o.resolveComponent("a-button"),xe=o.resolveComponent("a-space"),ve=o.resolveComponent("a-form"),T=o.resolveDirective("resize");return o.withDirectives((o.openBlock(),o.createBlock(ve,o.mergeProps({ref_key:"formRef",ref:c,"auto-label-width":k.option.autoLabelWidth??o.unref(s).autoLabelWidth,layout:k.option.layout??o.unref(s).layout??"horizontal",scrollToFirstError:k.option.scrollToFirstError??o.unref(s).scrollToFirstError,size:k.option.size??o.unref(s).size,"label-align":k.option.labelAlign??o.unref(s).labelAlign,model:l.value,onSubmit:x,disabled:k.disabled},o.unref(n)),{default:o.withCtx(()=>[o.createVNode(re,{class:"form-row__container",justify:k.option.justify??o.unref(s).justify,align:k.option.align??o.unref(s).align,wrap:k.option.wrap??o.unref(s).wrap,cols:24,fill:"",gutter:k.option.gutter||o.unref(s).gutter,colGap:k.option.colGap??o.unref(s).colGap,rowGap:k.option.rowGap??o.unref(s).rowGap},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(k.option.columns,O=>(o.openBlock(),o.createElementBlock(o.Fragment,{key:O.field},[O.display??!0?(o.openBlock(),o.createBlock(W,{key:0,style:o.normalizeStyle({marginTop:k.option.marginTop??o.unref(s).marginTop}),span:K.value?24:O.span??k.option.span??o.unref(s).span,offset:O.offset??0,order:O.order??0},{default:o.withCtx(()=>[o.createVNode(G,o.normalizeProps({[(h.submit?"":"disabled")||""]:p(O.disabled),label:O.label,tooltip:O.tooltip,help:O.help,extra:O.extra,"label-component":O.labelComponent,"hide-label":O.hideLabel,"hide-asterisk":O.hideAsterisk,"content-flex":O.contentFlex,feedback:O.feedback,"label-col-style":{paddingRight:"6px",paddingLeft:"2px"},field:O.bind??O.field,rules:O.rules}),o.createSlots({default:o.withCtx(()=>[o.unref(a)[O.field]?o.renderSlot(k.$slots,O.field,{key:0,item:O,size:k.option.size??o.unref(s).size},void 0,!0):(o.openBlock(),o.createBlock(o.resolveDynamicComponent(O.component?O.component:`a-${O.type||"input"}`),o.mergeProps({key:1,style:{width:O.type==="switch"?"":"100%"},size:k.option.size??o.unref(s).size,disabled:k.option.detail??O.disabled??!1,modelValue:_(O),"onUpdate:modelValue":C=>g(O,C),visibility:O.visibility,"onUpdate:visibility":C=>O.visibility=C,ref_for:!0},P(u,O),{onChange:C=>v(C,O)}),null,16,["style","size","disabled","modelValue","onUpdate:modelValue","visibility","onUpdate:visibility","onChange"]))]),_:2},[o.unref(a)[O.field+"Label"]?{name:"label",fn:o.withCtx(()=>[o.renderSlot(k.$slots,O.field+"Label",{},void 0,!0)]),key:"0"}:void 0,o.unref(a)[O.field+"Label"]?void 0:{name:"label",fn:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(O.label)+" ",1),O.helpIconText?(o.openBlock(),o.createBlock(U,{key:0,content:O.helpIconText},{default:o.withCtx(()=>[o.createVNode(F,{size:k.option.size??o.unref(s).size},null,8,["size"])]),_:2},1032,["content"])):o.createCommentVNode("",!0)]),key:"1"},o.unref(a)[O.field+"Help"]||O.help?{name:"help",fn:o.withCtx(()=>[o.renderSlot(k.$slots,O.field+"Help",{},void 0,!0),o.createElementVNode("span",null,o.toDisplayString(O.help),1)]),key:"2"}:void 0,o.unref(a)[O.field+"Extra"]||O.extra?{name:"extra",fn:o.withCtx(()=>[o.renderSlot(k.$slots,O.field+"Extra",{},void 0,!0),o.createElementVNode("span",null,o.toDisplayString(O.extra),1)]),key:"3"}:void 0]),1040,["label","tooltip","help","extra","label-component","hide-label","hide-asterisk","content-flex","feedback","field","rules"])]),_:2},1032,["style","span","offset","order"])):o.createCommentVNode("",!0)],64))),128))]),_:3},8,["justify","align","wrap","gutter","colGap","rowGap"]),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(k.option.groups,O=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[(O.display,o.openBlock(),o.createBlock(re,{key:0,style:o.normalizeStyle(k.option.groupContainerStyle??{})},{default:o.withCtx(()=>[o.createVNode(W,{span:24},{default:o.withCtx(()=>[!o.unref(a)[O.field+"GroupHeader"]&&!o.unref(Re.validataNull)(O.label)?(o.openBlock(),o.createElementBlock("div",Ku,o.toDisplayString(O.label),1)):o.renderSlot(k.$slots,O.field+"GroupHeader",{key:1,label:O.label,record:O},void 0,!0)]),_:2},1024),o.createVNode(re,{style:o.normalizeStyle([{width:"100%"},k.option.groupColStyle??{}]),gutter:O.gutter??k.option.gutter??0},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(O.columns,C=>(o.openBlock(),o.createElementBlock(o.Fragment,{key:C.field},[C.display??!0?(o.openBlock(),o.createBlock(W,{key:0,span:K.value?24:C.span??k.option.span??o.unref(s).span,offset:C.offset??0,order:C.order??100},{default:o.withCtx(()=>[o.createVNode(G,o.normalizeProps({"label-col-style":{width:"100px"},[(h.submit?"":"disabled")||""]:p(C.disabled),label:C.label,tooltip:C.tooltip,help:C.help,extra:C.extra,"label-component":C.labelComponent,"hide-label":C.hideLabel,"hide-asterisk":C.hideAsterisk,"content-flex":C.contentFlex,feedback:C.feedback,field:C.field,rules:C.rules}),o.createSlots({default:o.withCtx(()=>[o.unref(a)[C.field]?o.renderSlot(k.$slots,C.field,{key:0,item:C,size:k.option.size??o.unref(s).size},void 0,!0):(o.openBlock(),o.createBlock(o.resolveDynamicComponent(C.component?C.component:`a-${C.type||"input"}`),o.mergeProps({key:1,style:{width:C.type==="switch"?"":"100%"},size:k.option.size??o.unref(s).size,disabled:k.option.detail??C.disabled??!1,modelValue:_(C),"onUpdate:modelValue":V=>g(C,V),visibility:C.visibility,"onUpdate:visibility":V=>C.visibility=V,ref_for:!0},P(u,C),{onChange:V=>v(V,C)}),null,16,["style","size","disabled","modelValue","onUpdate:modelValue","visibility","onUpdate:visibility","onChange"]))]),_:2},[o.unref(a)[C.field+"Label"]?{name:"label",fn:o.withCtx(()=>[o.renderSlot(k.$slots,C.field+"Label",{},void 0,!0)]),key:"0"}:void 0,o.unref(a)[C.field+"Label"]?void 0:{name:"label",fn:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(C.label)+" ",1),C.helpIconText?(o.openBlock(),o.createBlock(U,{key:0,content:C.helpIconText},{default:o.withCtx(()=>[o.createVNode(F,{size:k.option.size??o.unref(s).size},null,8,["size"])]),_:2},1032,["content"])):o.createCommentVNode("",!0)]),key:"1"},o.unref(a)[C.field+"Help"]||C.help?{name:"help",fn:o.withCtx(()=>[o.renderSlot(k.$slots,C.field+"Help",{},void 0,!0),o.createElementVNode("span",null,o.toDisplayString(C.help),1)]),key:"2"}:void 0,o.unref(a)[C.field+"Extra"]||C.extra?{name:"extra",fn:o.withCtx(()=>[o.renderSlot(k.$slots,C.field+"Extra",{},void 0,!0),o.createElementVNode("span",null,o.toDisplayString(C.extra),1)]),key:"3"}:void 0]),1040,["label","tooltip","help","extra","label-component","hide-label","hide-asterisk","content-flex","feedback","field","rules"])]),_:2},1032,["span","offset","order"])):o.createCommentVNode("",!0)],64))),128))]),_:2},1032,["style","gutter"])]),_:2},1032,["style"]))],64))),256)),!k.option.search&&k.option.detail!==!0?(o.openBlock(),o.createBlock(re,{key:0,class:o.normalizeClass({formMenuContainer:k.option.menu??!k.option.detail??!0})},{default:o.withCtx(()=>[k.option.menu??!k.option.detail??!0?(o.openBlock(),o.createBlock(W,{key:0,order:1e4,span:k.option.menuSpan??24,style:o.normalizeStyle({textAlign:k.option.menuAlign??"center"})},{default:o.withCtx(()=>[o.unref(a).menu?o.renderSlot(k.$slots,"menu",{key:0,size:k.option.size??o.unref(s).size,loading:h.submit},void 0,!0):o.createCommentVNode("",!0),o.createVNode(xe,{wrap:""},{default:o.withCtx(()=>[o.renderSlot(k.$slots,"menuLeft",{size:k.option.size??o.unref(s).size,loading:h.submit},void 0,!0),o.renderSlot(k.$slots,"suffix",{loading:h.submit},()=>[k.option.menuBtn??k.option.submitBtn??!0?(o.openBlock(),o.createBlock(H,{key:0,size:k.option.size??o.unref(s).size,type:"primary",loading:h.submit,"html-type":"submit"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(k.option.submitBtnText??o.unref(s).submitBtnText),1)]),_:1},8,["size","loading"])):o.createCommentVNode("",!0),k.option.menuBtn??k.option.resetBtn??!0?(o.openBlock(),o.createBlock(H,{key:1,size:k.option.size??o.unref(s).size,onClick:z[0]||(z[0]=O=>m())},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(k.option.resetBtnText??o.unref(s).resetBtnText),1)]),_:1},8,["size"])):o.createCommentVNode("",!0)],!0),o.renderSlot(k.$slots,"menuright",{size:k.option.size??o.unref(s).size,loading:h.submit},void 0,!0)]),_:3})]),_:3},8,["span","style"])):o.createCommentVNode("",!0)]),_:3},8,["class"])):o.createCommentVNode("",!0)]),_:3},16,["auto-label-width","layout","scrollToFirstError","size","label-align","model","disabled"])),[[T,Y]])}}}),jr=(e,r)=>{const t=e.__vccOpts||e;for(const[a,n]of r)t[a]=n;return t},as=jr(qu,[["__scopeId","data-v-87470a8b"]]),Ju={style:{display:"flex","justify-content":"space-between"}},Zu=o.defineComponent({__name:"formModal",props:o.mergeModels({option:{default:()=>({columns:[]})},type:{default:"add"},loading:{type:Boolean,default:!1},width:{}},{visible:{default:!1},visibleModifiers:{},formData:{default:{}},formDataModifiers:{}}),emits:o.mergeModels(["submit","close"],["update:visible","update:formData"]),setup(e,{emit:r}){o.ref(Re.defaultOption.size);const t=e,a=r,n=o.ref(),i=o.computed(()=>o.reactive({span:12,menu:!1,detail:t.type==="view",...t.option,columns:t.option.columns.map(d=>o.reactive({...d,slot:d.slot||d.key,slotRight:d.slotRight||d.key+"Right"}))})),s=o.useModel(e,"visible");function l(){n.value.validate().then(d=>{d===void 0&&(u.value=Re.deepCopy(o.unref(h)),a("submit"))})}function c(){return a("close"),!1}function f(){a("close")}const u=o.useModel(e,"formData"),h=o.ref({});return o.onMounted(()=>{h.value=Re.deepCopy(o.unref(u))}),(d,x)=>{const m=o.resolveComponent("a-button"),p=o.resolveComponent("a-space"),v=o.resolveComponent("a-modal");return o.openBlock(),o.createBlock(v,{visible:s.value,"onUpdate:visible":x[1]||(x[1]=_=>s.value=_),okLoading:!0,"body-style":{maxHeight:"calc(100vh - 400px)"},footer:d.type!=="view",width:d.width,onCancel:f,onClose:f,onBeforeCancel:c},{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(d.type==="add"?"新增":d.type==="edit"?"修改":(d.type==="view","详情")),1)]),footer:o.withCtx(_=>[o.createElementVNode("div",Ju,[x[3]||(x[3]=o.createElementVNode("div",null,null,-1)),o.createVNode(p,null,{default:o.withCtx(()=>[o.createVNode(m,{onClick:f,loading:d.loading},{default:o.withCtx(()=>x[2]||(x[2]=[o.createTextVNode("取消")])),_:1},8,["loading"]),o.createVNode(m,{type:"primary",onClick:l,loading:d.loading},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString((d.type=="add","确定")),1)]),_:1},8,["loading"])]),_:1})])]),default:o.withCtx(()=>[o.renderSlot(d.$slots,"after",{type:t.type},void 0,!0),o.useSlots().default?(o.openBlock(),o.createBlock(as,{key:1,alone:!1,class:o.normalizeClass({"form-modal--view":!0}),disabled:d.loading,option:i.value,ref_key:"formRef",ref:n,modelValue:h.value,"onUpdate:modelValue":x[0]||(x[0]=_=>h.value=_)},null,8,["disabled","option","modelValue"])):o.renderSlot(d.$slots,"default",{key:0,type:t.type},void 0,!0),o.renderSlot(d.$slots,"before",{type:t.type},void 0,!0)]),_:3},8,["visible","footer","width"])}}}),Qu=jr(Zu,[["__scopeId","data-v-fc589799"]]),eh={key:1},th={key:2},rh=["innerHTML"],ah={key:3},nh=o.defineComponent({__name:"detailModal",props:o.mergeModels({option:{default:()=>({columns:[]})},type:{default:"add"},loading:{type:Boolean,default:!1},width:{},dicData:{default:()=>({})}},{visible:{default:!1},visibleModifiers:{},formData:{default:{}},formDataModifiers:{}}),emits:o.mergeModels(["close"],["update:visible","update:formData"]),setup(e,{emit:r}){const t=o.useSlots(),a=e,n=o.defineComponent({props:{render:{type:Function,required:!0},record:{type:Object,default:()=>({})}},render(){const d={record:this.record},x=this.render(d);return typeof x=="string"?o.h("div",{},x):x}}),i=r,s=o.useModel(e,"visible"),l=o.useModel(e,"formData");function c(){return i("close"),!1}function f(){i("close")}const u=o.computed(()=>a.option.columns.filter(d=>d.display!==!1&&d.view!==!1).map(d=>({...d,value:l[d.field]??""})));function h(d,x){const m=d.field,p=d.dicValue??"value",v=d.dicLabel??"label",_=a.dicData[m]||[];function y(R,M){for(const P of R){if(P[p]===M)return P[v];if(P.children&&P.children.length>0){const S=y(P.children,M);if(S!==void 0)return S}}}const g=y(_,x[m]);return g!==void 0?g:x[m]}return(d,x)=>{const m=o.resolveComponent("a-descriptions-item"),p=o.resolveComponent("a-descriptions"),v=o.resolveComponent("a-modal");return o.openBlock(),o.createBlock(v,{visible:s.value,"onUpdate:visible":x[0]||(x[0]=_=>s.value=_),footer:!1,title:"详情",width:d.width,onCancel:f,onClose:f,onBeforeCancel:c},{default:o.withCtx(()=>{var _,y;return[o.renderSlot(d.$slots,"after",{type:a.type}),o.unref(t).default?(o.openBlock(),o.createBlock(p,{key:1,layout:((_=d.option)==null?void 0:_.detailLayout)??"horizontal",column:((y=a.option)==null?void 0:y.detailSpan)??1,data:u.value,bordered:""},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(u.value,g=>(o.openBlock(),o.createBlock(m,{label:g.label,span:1},{default:o.withCtx(()=>[g.component?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(g.component),{key:0,modelValue:l.value[g.field],"onUpdate:modelValue":R=>l.value[g.field]=R,value:g.value},null,8,["modelValue","onUpdate:modelValue","value"])):g.render?(o.openBlock(),o.createElementBlock("span",eh,[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(o.unref(n)),{render:g.render,record:l.value},null,8,["render","record"]))])):g.type==="editor-pro"&&!g.component?(o.openBlock(),o.createElementBlock("span",th,[o.createElementVNode("span",{innerHTML:l.value[g.field]},null,8,rh)])):(o.openBlock(),o.createElementBlock("span",ah,o.toDisplayString(h(g,l.value)??l.value[g.field]),1))]),_:2},1032,["label"]))),256))]),_:1},8,["layout","column","data"])):o.renderSlot(d.$slots,"default",{key:0,type:a.type}),o.renderSlot(d.$slots,"before",{type:a.type})]}),_:3},8,["visible","width"])}}}),ih={key:1},sh=o.defineComponent({name:"aCrud",__name:"main",props:o.mergeModels({option:{default:()=>({columns:[],data:()=>[]})},data:{},beforeOpen:{},beforeClose:{}},{modal:{type:Object,default:{}},modalModifiers:{},modelValue:{type:Object,default:()=>({})},modelModifiers:{}}),emits:o.mergeModels(["onAdd","onDel","onEdit","close"],["update:modal","update:modelValue"]),setup(e,{expose:r,emit:t}){var z;const a=o.useAttrs(),n=o.useSlots(),i=o.reactive({table:!1,form:!1}),s=o.ref("add"),l=e;o.onMounted(()=>{x(),c()});function c(){oo(l.option)}const f=((z=l.option)==null?void 0:z.size)??Re.defaultOption.size,u=o.reactive({visible:!1,detailVisible:!1,beforeOpen:l.beforeOpen,beforeClose:l.beforeClose}),h=o.useModel(e,"modal"),d=o.reactive({});function x(){l.option.columns.forEach(F=>{d[""+F.field]=F.dicData??[]})}const m=(F,U)=>{F in d&&(d[F]=U),l.option.columns.forEach(G=>{G.field===F&&(G.dicData=U)})},p=o.computed(()=>Object.assign({menuWidth:160},l.option,{columns:l.option.columns.map(F=>({...F,slot:F.slot||F.key,slotRight:F.slotRight??F.field??"Right"}))})),v=o.useModel(e,"modelValue"),_=t;function y(){i.form=!1,u.visible=!1}async function g(){u.beforeOpen?await u.beforeOpen(()=>{u.visible=!0,s.value="add",h.value={}},"add",i.form):(u.visible=!0,s.value="add",h.value={})}async function R(F){h.value=F,u.beforeOpen?await u.beforeOpen(()=>{u.visible=!0,s.value="edit"},"edit",i.form):(u.visible=!0,s.value="edit")}async function M(F){h.value=F,u.beforeOpen?await u.beforeOpen(()=>{u.detailVisible=!0,s.value="view"},"view",i.form):(u.detailVisible=!0,s.value="view")}function P(){try{i.form=!0,s.value==="add"&&L(),s.value==="edit"&&I()}catch{}finally{i.form=!1}}async function S(){u.beforeClose?await u.beforeClose(()=>{u.visible=!1,u.detailVisible=!1,h.value={}},o.unref(s)):(u.visible=!1,u.detailVisible=!1,h.value={}),_("close")}function L(){o.nextTick(()=>{_("onAdd",o.unref(h),y)})}function I(){o.nextTick(()=>{_("onEdit",o.unref(h),y)})}function K(F){o.nextTick(()=>{_("onDel",F)})}r({updateDicData:m,updateDicDataAll:x,close:S,setDic:c});function Y(F,U,G){const W=k.value[F]||[],re=G.dicValue??"value",H=G.dicLabel??"label",xe=new Map;function ve(O){for(const C of O)xe.set(C[re],C),C.children&&C.children.length>0&&ve(C.children)}ve(W);const T=xe.get(U[G.field]);return T?T[H]:U[G.field]??U[F]}const k=o.computed(()=>{let F={};return l.option.columns.forEach(U=>{F[U.field]=U.dicData??[]}),F});return(F,U)=>{var xe,ve;const G=o.resolveComponent("a-button"),W=o.resolveComponent("a-popconfirm"),re=o.resolveComponent("icon-plus-circle"),H=o.resolveComponent("a-table-plus");return o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(H,o.mergeProps({modelValue:v.value,"onUpdate:modelValue":U[0]||(U[0]=T=>v.value=T),alone:!1,option:p.value,data:F.data},o.unref(a)),o.createSlots({menu:o.withCtx(({record:T,rowIndex:O,column:C})=>{var V,ee,q;return[((V=l.option)==null?void 0:V.viewBtn)??!0?(o.openBlock(),o.createBlock(G,{key:0,type:"text",onClick:j=>M(T),size:o.unref(f)},{default:o.withCtx(()=>{var j;return[o.createTextVNode(o.toDisplayString(((j=l.option)==null?void 0:j.viewBtnText)??"详情"),1)]}),_:2},1032,["onClick","size"])):o.createCommentVNode("",!0),((ee=l.option)==null?void 0:ee.editBtn)??!0?(o.openBlock(),o.createBlock(G,{key:1,type:"text",onClick:j=>R(T),size:o.unref(f)},{default:o.withCtx(()=>{var j;return[o.createTextVNode(o.toDisplayString(((j=l.option)==null?void 0:j.editBtnText)??"修改"),1)]}),_:2},1032,["onClick","size"])):o.createCommentVNode("",!0),o.renderSlot(F.$slots,"menu",{record:T,rowIndex:O,column:C}),((q=l.option)==null?void 0:q.delBtn)??!0?(o.openBlock(),o.createBlock(W,{key:2,content:"确认删除?",position:"left",type:"warning",onOk:j=>K(T)},{default:o.withCtx(()=>[o.createVNode(G,{type:"text",status:"danger",size:o.unref(f)},{default:o.withCtx(()=>{var j;return[o.createTextVNode(o.toDisplayString(((j=l.option)==null?void 0:j.delBtnText)??"删除"),1)]}),_:1},8,["size"])]),_:2},1032,["onOk"])):o.createCommentVNode("",!0)]}),menuRight:o.withCtx(()=>{var T;return[((T=l.option)==null?void 0:T.addBtn)??!0?(o.openBlock(),o.createBlock(G,{key:0,type:"text",onClick:g},{icon:o.withCtx(()=>[o.createVNode(re)]),default:o.withCtx(()=>{var O;return[o.createTextVNode(" "+o.toDisplayString(((O=l.option)==null?void 0:O.addBtnText)??"新增"),1)]}),_:1})):o.createCommentVNode("",!0),o.renderSlot(F.$slots,"menuRight")]}),_:2},[o.renderList(F.option.columns,T=>({name:T.field,fn:o.withCtx(({record:O,rowIndex:C,column:V})=>[T.field in o.unref(n)?o.renderSlot(F.$slots,T.field,{key:0,record:O,rowIndex:C,column:V,val:Y(T.field,O,V)}):(o.openBlock(),o.createElementBlock("span",ih,o.toDisplayString(Y(T.field,O,V)),1))])}))]),1040,["modelValue","option","data"]),u.visible?(o.openBlock(),o.createBlock(Qu,{key:0,visible:u.visible,"onUpdate:visible":U[1]||(U[1]=T=>u.visible=T),formData:h.value,"onUpdate:formData":U[2]||(U[2]=T=>h.value=T),option:F.option,loading:i.form,type:s.value,width:((xe=l.option)==null?void 0:xe.modalWidth)??"800px",onSubmit:P,onClose:S},o.createSlots({_:2},[o.unref(n).modalFormAfter?{name:"after",fn:o.withCtx(T=>[o.renderSlot(F.$slots,"modalFormAfter",o.normalizeProps(o.guardReactiveProps(T)))]),key:"0"}:void 0,o.unref(n).modalFormBefore?{name:"before",fn:o.withCtx(T=>[o.renderSlot(F.$slots,"modalFormBefore",o.normalizeProps(o.guardReactiveProps(T)))]),key:"1"}:void 0,o.unref(n).modalForm?void 0:{name:"default",fn:o.withCtx(T=>[o.renderSlot(F.$slots,"modalForm",o.normalizeProps(o.guardReactiveProps(T)))]),key:"2"}]),1032,["visible","formData","option","loading","type","width"])):o.createCommentVNode("",!0),u.detailVisible?(o.openBlock(),o.createBlock(nh,{key:1,visible:u.detailVisible,"onUpdate:visible":U[3]||(U[3]=T=>u.detailVisible=T),formData:h.value,"onUpdate:formData":U[4]||(U[4]=T=>h.value=T),option:F.option,dicData:k.value,width:((ve=l.option)==null?void 0:ve.modalWidth)??"800px",onClose:S},o.createSlots({_:2},[o.unref(n).modalViewAfter?{name:"after",fn:o.withCtx(T=>[o.renderSlot(F.$slots,"modalViewAfter",o.normalizeProps(o.guardReactiveProps(T)))]),key:"0"}:void 0,o.unref(n).modalViewBefore?{name:"before",fn:o.withCtx(T=>[o.renderSlot(F.$slots,"modalViewBefore",o.normalizeProps(o.guardReactiveProps(T)))]),key:"1"}:void 0,o.unref(n).modalView?void 0:{name:"default",fn:o.withCtx(T=>[o.renderSlot(F.$slots,"modalView",o.normalizeProps(o.guardReactiveProps(T)))]),key:"2"}]),1032,["visible","formData","option","dicData","width"])):o.createCommentVNode("",!0)],64)}}}),Xl=kr(sh),oh=o.defineComponent({name:"AEditor",__name:"index",props:{mode:{type:String,default:"default"},defaultConfig:{type:Object,default:()=>({})}},setup(e){const r=e,t=o.computed(()=>({autoFocus:!1,...r.defaultConfig}));return(a,n)=>(o.openBlock(),o.createBlock(o.unref(Wl.Editor),{defaultConfig:t.value,mode:e.mode},null,8,["defaultConfig","mode"]))}}),lh=o.defineComponent({name:"AEditorToolbar",__name:"toolbar",props:{editorRef:{type:Object},mode:{type:String,default:"default"},defaultConfig:{type:Object,default:()=>({})}},setup(e){const r=e,t=o.computed(()=>({toolbarKeys:r.mode==="default"?a:n,...r.defaultConfig})),a=["headerSelect","blockquote","|","bold","underline","italic",{key:"group-more-style",title:"更多",iconSvg:'<svg viewBox="0 0 1024 1024"><path d="M204.8 505.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z"></path><path d="M505.6 505.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z"></path><path d="M806.4 505.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z"></path></svg>',menuKeys:["through","code","sup","sub","clearStyle"]},"color","bgColor","|","fontSize","fontFamily","lineHeight","|","bulletedList","numberedList","todo",{key:"group-justify",title:"对齐",iconSvg:'<svg viewBox="0 0 1024 1024"><path d="M768 793.6v102.4H51.2v-102.4h716.8z m204.8-230.4v102.4H51.2v-102.4h921.6z m-204.8-230.4v102.4H51.2v-102.4h716.8zM972.8 102.4v102.4H51.2V102.4h921.6z"></path></svg>',menuKeys:["justifyLeft","justifyRight","justifyCenter","justifyJustify"]},{key:"group-indent",title:"缩进",iconSvg:'<svg viewBox="0 0 1024 1024"><path d="M0 64h1024v128H0z m384 192h640v128H384z m0 192h640v128H384z m0 192h640v128H384zM0 832h1024v128H0z m0-128V320l256 192z"></path></svg>',menuKeys:["indent","delIndent"]},"|","emotion","insertLink",{key:"group-image",title:"图片",iconSvg:'<svg viewBox="0 0 1024 1024"><path d="M959.877 128l0.123 0.123v767.775l-0.123 0.122H64.102l-0.122-0.122V128.123l0.122-0.123h895.775zM960 64H64C28.795 64 0 92.795 0 128v768c0 35.205 28.795 64 64 64h896c35.205 0 64-28.795 64-64V128c0-35.205-28.795-64-64-64zM832 288.01c0 53.023-42.988 96.01-96.01 96.01s-96.01-42.987-96.01-96.01S682.967 192 735.99 192 832 234.988 832 288.01zM896 832H128V704l224.01-384 256 320h64l224.01-192z"></path></svg>',menuKeys:["insertImage","uploadImage"]},{key:"group-video",title:"视频",iconSvg:'<svg viewBox="0 0 1024 1024"><path d="M981.184 160.096C837.568 139.456 678.848 128 512 128S186.432 139.456 42.816 160.096C15.296 267.808 0 386.848 0 512s15.264 244.16 42.816 351.904C186.464 884.544 345.152 896 512 896s325.568-11.456 469.184-32.096C1008.704 756.192 1024 637.152 1024 512s-15.264-244.16-42.816-351.904zM384 704V320l320 192-320 192z"></path></svg>',menuKeys:["insertVideo","uploadVideo"]},"insertTable","codeBlock","divider","|","undo","redo","|","fullScreen","preview"],n=["blockquote","header1","header2","header3","|","bold","underline","italic","through","color","bgColor","clearStyle","|","bulletedList","numberedList","todo","justifyLeft","justifyRight","justifyCenter","|","insertLink",{key:"group-image",title:"图片",iconSvg:'<svg viewBox="0 0 1024 1024"><path d="M959.877 128l0.123 0.123v767.775l-0.123 0.122H64.102l-0.122-0.122V128.123l0.122-0.123h895.775zM960 64H64C28.795 64 0 92.795 0 128v768c0 35.205 28.795 64 64 64h896c35.205 0 64-28.795 64-64V128c0-35.205-28.795-64-64-64zM832 288.01c0 53.023-42.988 96.01-96.01 96.01s-96.01-42.987-96.01-96.01S682.967 192 735.99 192 832 234.988 832 288.01zM896 832H128V704l224.01-384 256 320h64l224.01-192z"></path></svg>',menuKeys:["insertImage","uploadImage"]},"insertVideo","insertTable","codeBlock","|","undo","redo","|","fullScreen","preview"];return(i,s)=>(o.openBlock(),o.createBlock(o.unref(Wl.Toolbar),{editor:e.editorRef,defaultConfig:t.value,mode:e.mode},null,8,["editor","defaultConfig","mode"]))}});class ch{constructor(){di(this,"title","");di(this,"tag","");di(this,"alwaysEnable",!0);this.title="预览",this.tag="button"}getValue(r){return!1}isActive(r){return!1}isDisabled(r){return!1}async exec(r,t){pn.Modal.open({title:"预览",content:()=>o.h("div",{class:"info-modal-content",innerHTML:r.getHtml()}),fullscreen:!0,okText:"关闭",hideCancel:!0})}}const fh={key:"preview",factory(){return new ch}};function uh(){Vu.Boot.registerMenu(fh)}uh();const Gl=kr(oh),jl=kr(lh),hh=o.defineComponent({__name:"FormModel",props:o.mergeModels({title:{type:String,default:""},option:{type:Object,default:()=>({})}},{visible:{default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(e){const r=o.ref({}),t=e,a=o.useModel(e,"visible"),n=o.computed(()=>{let c=Re.deepCopy(t.option);return Object.assign(c,{menu:!0})}),i=o.ref(!1);function s(c,f){f()}function l(){a.value=!1}return(c,f)=>{const u=o.resolveComponent("aFormPlus"),h=o.resolveComponent("a-modal");return o.openBlock(),o.createBlock(h,{visible:a.value,"onUpdate:visible":f[1]||(f[1]=d=>a.value=d),title:t.title,footer:!1,width:i.value?"280px":"60vw","render-to-body":!1,"popup-container":"form-create-render",onBeforeClose:l},{default:o.withCtx(()=>[o.createVNode(u,{modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=d=>r.value=d),option:n.value,onSubmit:s},null,8,["modelValue","option"])]),_:1},8,["visible","title","width"])}}}),dh={style:{height:"60vh"}},ph=o.defineComponent({__name:"JsonModel",props:o.mergeModels({title:{type:String,default:""},type:{type:String,default:""},option:{type:Object,default:()=>({})}},{visible:{default:!1},visibleModifiers:{}}),emits:o.mergeModels(["importJson"],["update:visible"]),setup(e,{emit:r}){const t=e,a=o.ref({});o.onMounted(()=>{t.type==="export"&&(a.value=Re.deepCopy(t.option))});const n=r,i=o.computed(()=>t.type==="export"),s=o.useModel(e,"visible");function l(){var c;try{Object.keys(a.value).length>0&&((c=a.value)!=null&&c.columns)&&n("importJson",a.value)}catch{}s.value=!1}return(c,f)=>{const u=o.resolveComponent("a-modal");return o.openBlock(),o.createBlock(u,{visible:s.value,"onUpdate:visible":f[1]||(f[1]=h=>s.value=h),title:i.value?"生成Json":"导入Json",footer:!i.value,width:"60vw","hide-cancel":!0,onOk:l,"unmount-on-close":!0,"render-to-body":i.value,"popup-container":"form-create-render"},{default:o.withCtx(()=>[o.createElementVNode("div",dh,[o.createVNode(o.unref(uo),{style:{height:"60vh"},modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=h=>a.value=h)},null,8,["modelValue"])])]),_:1},8,["visible","title","footer","render-to-body"])}}}),Yl=[{label:"基础组件",list:[{label:"输入框",icon:"biaodanzujian-shurukuang",type:"input"},{label:"数字输入框",icon:"shuzishurukuang",type:"input-number"},{label:"验证码",icon:"shuzishurukuang",type:"verification-code"},{label:"标签输入框",icon:"shuzishurukuang",type:"input-tag"},{label:"多行输入框",icon:"duohangshurukuang",type:"textarea"},{label:"下拉框",icon:"jilian",type:"select"},{label:"单选",icon:"danxuankuang-xuanzhong",type:"radio-group"},{label:"复选框",icon:"duoxuan_xuanzhong",type:"checkbox-group"},{label:"评分",icon:"pingfen",type:"rate"}]},{label:"时间组件",list:[{label:"日期选择",icon:"shijianxuanzeqi1",type:"date-picker"},{label:"日期范围",icon:"shijianfanweixuanze",type:"range-picker"},{label:"时间选择",icon:"shijianxuanzeqi1",type:"time-picker"},{label:"周",icon:"shijianxuanzeqi1",type:"week-picker"},{label:"月份",icon:"shijianxuanzeqi1",type:"month-picker"},{label:"年份",icon:"shijianxuanzeqi1",type:"year-picker"},{label:"季度",icon:"shijianxuanzeqi1",type:"quarter-picker"}]},{label:"高级组件",list:[{label:"文件上传",icon:"fujianshangchuan",type:"upload"},{label:"颜色选择器",icon:"yansexuanzeqi",type:"color-picker"},{label:"富文本编辑器",icon:"biaodanzujian-shurukuang",type:"editor-pro"}]}],xh={input:{label:"输入框"},"verification-code":{label:"验证码",span:24},"editor-pro":{span:24,hideLabel:!0},"table-edit-pro":{span:24,hideLabel:!0},"text-plus":{hideLabel:!0},"radio-group":{dicData:[{label:"选项1",value:"1"},{label:"选项2",value:"2"}]},"checkbox-group":{dicData:[{label:"选项1",value:"1"},{label:"选项2",value:"2"}]}};function d0(e){return xh[e]??{}}const mh=e=>{Array.isArray(e)&&e.forEach(r=>{r.list&&Yl.push(r)})};var vh=Object.defineProperty,Mi=Object.getOwnPropertySymbols,Kl=Object.prototype.hasOwnProperty,ql=Object.prototype.propertyIsEnumerable,p0=(e,r,t)=>r in e?vh(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Ga=(e,r)=>{for(var t in r||(r={}))Kl.call(r,t)&&p0(e,t,r[t]);if(Mi)for(var t of Mi(r))ql.call(r,t)&&p0(e,t,r[t]);return e},Jl=(e,r)=>{var t={};for(var a in e)Kl.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&Mi)for(var a of Mi(e))r.indexOf(a)<0&&ql.call(e,a)&&(t[a]=e[a]);return t};function x0(e,r,t){return t>=0&&t<e.length&&e.splice(t,0,e.splice(r,1)[0]),e}function gh(e){return e.replace(/-(\w)/g,(r,t)=>t?t.toUpperCase():"")}function _h(e){return Object.keys(e).reduce((r,t)=>(typeof e[t]<"u"&&(r[gh(t)]=e[t]),r),{})}function m0(e,r){return Array.isArray(e)&&e.splice(r,1),e}function v0(e,r,t){return Array.isArray(e)&&e.splice(r,0,t),e}function wh(e){return typeof e>"u"}function kh(e){return typeof e=="string"}function g0(e,r,t){const a=e.children[t];e.insertBefore(r,a)}function _s(e){e.parentNode&&e.parentNode.removeChild(e)}function yh(e,r=document){var t;let a=null;return typeof(r==null?void 0:r.querySelector)=="function"?a=(t=r==null?void 0:r.querySelector)==null?void 0:t.call(r,e):a=document.querySelector(e),a||(`${e}`,void 0),a}function Eh(e,r,t=null){return function(...a){return e.apply(t,a),r.apply(t,a)}}function Th(e,r){const t=Ga({},e);return Object.keys(r).forEach(a=>{t[a]?t[a]=Eh(e[a],r[a]):t[a]=r[a]}),t}function bh(e){return e instanceof HTMLElement}function _0(e,r){Object.keys(e).forEach(t=>{r(t,e[t])})}function Sh(e){return e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97)}const Ch=Object.assign;/**! * Sortable 1.15.2 * @author RubaXa <trash@rubaxa.org> * @author owenm <owen23355@gmail.com> * @license MIT */function w0(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,a)}return t}function Pr(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?w0(Object(t),!0).forEach(function(a){Fh(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):w0(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function Ni(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ni=function(r){return typeof r}:Ni=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ni(e)}function Fh(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Xr(){return Xr=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},Xr.apply(this,arguments)}function Ah(e,r){if(e==null)return{};var t={},a=Object.keys(e),n,i;for(i=0;i<a.length;i++)n=a[i],!(r.indexOf(n)>=0)&&(t[n]=e[n]);return t}function Dh(e,r){if(e==null)return{};var t=Ah(e,r),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(r.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(t[a]=e[a])}return t}var Nh="1.15.2";function zr(e){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(e)}var Yr=zr(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),jn=zr(/Edge/i),k0=zr(/firefox/i),kn=zr(/safari/i)&&!zr(/chrome/i)&&!zr(/android/i),Zl=zr(/iP(ad|od|hone)/i),Ql=zr(/chrome/i)&&zr(/android/i),ec={capture:!1,passive:!1};function Ge(e,r,t){e.addEventListener(r,t,!Yr&&ec)}function ze(e,r,t){e.removeEventListener(r,t,!Yr&&ec)}function Li(e,r){if(r){if(r[0]===">"&&(r=r.substring(1)),e)try{if(e.matches)return e.matches(r);if(e.msMatchesSelector)return e.msMatchesSelector(r);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(r)}catch{return!1}return!1}}function Bh(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function br(e,r,t,a){if(e){t=t||document;do{if(r!=null&&(r[0]===">"?e.parentNode===t&&Li(e,r):Li(e,r))||a&&e===t)return e;if(e===t)break}while(e=Bh(e))}return null}var y0=/\s+/g;function ar(e,r,t){if(e&&r)if(e.classList)e.classList[t?"add":"remove"](r);else{var a=(" "+e.className+" ").replace(y0," ").replace(" "+r+" "," ");e.className=(a+(t?" "+r:"")).replace(y0," ")}}function be(e,r,t){var a=e&&e.style;if(a){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(t=e.currentStyle),r===void 0?t:t[r];!(r in a)&&r.indexOf("webkit")===-1&&(r="-webkit-"+r),a[r]=t+(typeof t=="string"?"":"px")}}function Ka(e,r){var t="";if(typeof e=="string")t=e;else do{var a=be(e,"transform");a&&a!=="none"&&(t=a+" "+t)}while(!r&&(e=e.parentNode));var n=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return n&&new n(t)}function tc(e,r,t){if(e){var a=e.getElementsByTagName(r),n=0,i=a.length;if(t)for(;n<i;n++)t(a[n],n);return a}return[]}function Rr(){var e=document.scrollingElement;return e||document.documentElement}function kt(e,r,t,a,n){if(!(!e.getBoundingClientRect&&e!==window)){var i,s,l,c,f,u,h;if(e!==window&&e.parentNode&&e!==Rr()?(i=e.getBoundingClientRect(),s=i.top,l=i.left,c=i.bottom,f=i.right,u=i.height,h=i.width):(s=0,l=0,c=window.innerHeight,f=window.innerWidth,u=window.innerHeight,h=window.innerWidth),(r||t)&&e!==window&&(n=n||e.parentNode,!Yr))do if(n&&n.getBoundingClientRect&&(be(n,"transform")!=="none"||t&&be(n,"position")!=="static")){var d=n.getBoundingClientRect();s-=d.top+parseInt(be(n,"border-top-width")),l-=d.left+parseInt(be(n,"border-left-width")),c=s+i.height,f=l+i.width;break}while(n=n.parentNode);if(a&&e!==window){var x=Ka(n||e),m=x&&x.a,p=x&&x.d;x&&(s/=p,l/=m,h/=m,u/=p,c=s+u,f=l+h)}return{top:s,left:l,bottom:c,right:f,width:h,height:u}}}function E0(e,r,t){for(var a=ra(e,!0),n=kt(e)[r];a;){var i=kt(a)[t],s=void 0;if(s=n>=i,!s)return a;if(a===Rr())break;a=ra(a,!1)}return!1}function en(e,r,t,a){for(var n=0,i=0,s=e.children;i<s.length;){if(s[i].style.display!=="none"&&s[i]!==Se.ghost&&(a||s[i]!==Se.dragged)&&br(s[i],t.draggable,e,!1)){if(n===r)return s[i];n++}i++}return null}function lo(e,r){for(var t=e.lastElementChild;t&&(t===Se.ghost||be(t,"display")==="none"||r&&!Li(t,r));)t=t.previousElementSibling;return t||null}function mr(e,r){var t=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)e.nodeName.toUpperCase()!=="TEMPLATE"&&e!==Se.clone&&(!r||Li(e,r))&&t++;return t}function T0(e){var r=0,t=0,a=Rr();if(e)do{var n=Ka(e),i=n.a,s=n.d;r+=e.scrollLeft*i,t+=e.scrollTop*s}while(e!==a&&(e=e.parentNode));return[r,t]}function Oh(e,r){for(var t in e)if(e.hasOwnProperty(t)){for(var a in r)if(r.hasOwnProperty(a)&&r[a]===e[t][a])return Number(t)}return-1}function ra(e,r){if(!e||!e.getBoundingClientRect)return Rr();var t=e,a=!1;do if(t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight){var n=be(t);if(t.clientWidth<t.scrollWidth&&(n.overflowX=="auto"||n.overflowX=="scroll")||t.clientHeight<t.scrollHeight&&(n.overflowY=="auto"||n.overflowY=="scroll")){if(!t.getBoundingClientRect||t===document.body)return Rr();if(a||r)return t;a=!0}}while(t=t.parentNode);return Rr()}function Ih(e,r){if(e&&r)for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t]);return e}function ws(e,r){return Math.round(e.top)===Math.round(r.top)&&Math.round(e.left)===Math.round(r.left)&&Math.round(e.height)===Math.round(r.height)&&Math.round(e.width)===Math.round(r.width)}var yn;function rc(e,r){return function(){if(!yn){var t=arguments,a=this;t.length===1?e.call(a,t[0]):e.apply(a,t),yn=setTimeout(function(){yn=void 0},r)}}}function Rh(){clearTimeout(yn),yn=void 0}function ac(e,r,t){e.scrollLeft+=r,e.scrollTop+=t}function nc(e){var r=window.Polymer,t=window.jQuery||window.Zepto;return r&&r.dom?r.dom(e).cloneNode(!0):t?t(e).clone(!0)[0]:e.cloneNode(!0)}function ic(e,r,t){var a={};return Array.from(e.children).forEach(function(n){var i,s,l,c;if(!(!br(n,r.draggable,e,!1)||n.animated||n===t)){var f=kt(n);a.left=Math.min((i=a.left)!==null&&i!==void 0?i:1/0,f.left),a.top=Math.min((s=a.top)!==null&&s!==void 0?s:1/0,f.top),a.right=Math.max((l=a.right)!==null&&l!==void 0?l:-1/0,f.right),a.bottom=Math.max((c=a.bottom)!==null&&c!==void 0?c:-1/0,f.bottom)}}),a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}var or="Sortable"+new Date().getTime();function Ph(){var e=[],r;return{captureAnimationState:function(){if(e=[],!!this.options.animation){var t=[].slice.call(this.el.children);t.forEach(function(a){if(!(be(a,"display")==="none"||a===Se.ghost)){e.push({target:a,rect:kt(a)});var n=Pr({},e[e.length-1].rect);if(a.thisAnimationDuration){var i=Ka(a,!0);i&&(n.top-=i.f,n.left-=i.e)}a.fromRect=n}})}},addAnimationState:function(t){e.push(t)},removeAnimationState:function(t){e.splice(Oh(e,{target:t}),1)},animateAll:function(t){var a=this;if(!this.options.animation){clearTimeout(r),typeof t=="function"&&t();return}var n=!1,i=0;e.forEach(function(s){var l=0,c=s.target,f=c.fromRect,u=kt(c),h=c.prevFromRect,d=c.prevToRect,x=s.rect,m=Ka(c,!0);m&&(u.top-=m.f,u.left-=m.e),c.toRect=u,c.thisAnimationDuration&&ws(h,u)&&!ws(f,u)&&(x.top-u.top)/(x.left-u.left)===(f.top-u.top)/(f.left-u.left)&&(l=Lh(x,h,d,a.options)),ws(u,f)||(c.prevFromRect=f,c.prevToRect=u,l||(l=a.options.animation),a.animate(c,x,u,l)),l&&(n=!0,i=Math.max(i,l),clearTimeout(c.animationResetTimer),c.animationResetTimer=setTimeout(function(){c.animationTime=0,c.prevFromRect=null,c.fromRect=null,c.prevToRect=null,c.thisAnimationDuration=null},l),c.thisAnimationDuration=l)}),clearTimeout(r),n?r=setTimeout(function(){typeof t=="function"&&t()},i):typeof t=="function"&&t(),e=[]},animate:function(t,a,n,i){if(i){be(t,"transition",""),be(t,"transform","");var s=Ka(this.el),l=s&&s.a,c=s&&s.d,f=(a.left-n.left)/(l||1),u=(a.top-n.top)/(c||1);t.animatingX=!!f,t.animatingY=!!u,be(t,"transform","translate3d("+f+"px,"+u+"px,0)"),this.forRepaintDummy=Mh(t),be(t,"transition","transform "+i+"ms"+(this.options.easing?" "+this.options.easing:"")),be(t,"transform","translate3d(0,0,0)"),typeof t.animated=="number"&&clearTimeout(t.animated),t.animated=setTimeout(function(){be(t,"transition",""),be(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1},i)}}}}function Mh(e){return e.offsetWidth}function Lh(e,r,t,a){return Math.sqrt(Math.pow(r.top-e.top,2)+Math.pow(r.left-e.left,2))/Math.sqrt(Math.pow(r.top-t.top,2)+Math.pow(r.left-t.left,2))*a.animation}var Va=[],ks={initializeByDefault:!0},Yn={mount:function(e){for(var r in ks)ks.hasOwnProperty(r)&&!(r in e)&&(e[r]=ks[r]);Va.forEach(function(t){if(t.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),Va.push(e)},pluginEvent:function(e,r,t){var a=this;this.eventCanceled=!1,t.cancel=function(){a.eventCanceled=!0};var n=e+"Global";Va.forEach(function(i){r[i.pluginName]&&(r[i.pluginName][n]&&r[i.pluginName][n](Pr({sortable:r},t)),r.options[i.pluginName]&&r[i.pluginName][e]&&r[i.pluginName][e](Pr({sortable:r},t)))})},initializePlugins:function(e,r,t,a){Va.forEach(function(s){var l=s.pluginName;if(!(!e.options[l]&&!s.initializeByDefault)){var c=new s(e,r,e.options);c.sortable=e,c.options=e.options,e[l]=c,Xr(t,c.defaults)}});for(var n in e.options)if(e.options.hasOwnProperty(n)){var i=this.modifyOption(e,n,e.options[n]);typeof i<"u"&&(e.options[n]=i)}},getEventProperties:function(e,r){var t={};return Va.forEach(function(a){typeof a.eventProperties=="function"&&Xr(t,a.eventProperties.call(r[a.pluginName],e))}),t},modifyOption:function(e,r,t){var a;return Va.forEach(function(n){e[n.pluginName]&&n.optionListeners&&typeof n.optionLis