@sunny-base-web/ui 0.0.0 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/upload/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1122 -999
- package/dist/ui.css +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/data/upload/index.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/data/upload/index.vue"],"names":[],"mappings":"AA8cA,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;;;;;;;;gBAvBc,MAAM;YAEV,MAAM;eAEH,MAAM;YAET,MAAM;WAEP,MAAM;aAEJ,MAAM;eAEJ,MAAM;eAEN,MAAM;eAEN,MAAM;qBAEA,MAAM;cAEb,OAAO;iBAEJ,OAAO;;AAmjBvB,wBASG"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function($,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@arco-design/web-vue"),require("@sunny-base-web/icons"),require("@sunny-base-web/utils"),require("reka-ui"),require("axios"),require("@tanstack/vue-store"),require("@tanstack/store"),require("@vueuse/core"),require("vee-validate"),require("@vee-validate/zod"),require("zod"),require("vxe-table"),require("vxe-pc-ui")):typeof define=="function"&&define.amd?define(["exports","vue","@arco-design/web-vue","@sunny-base-web/icons","@sunny-base-web/utils","reka-ui","axios","@tanstack/vue-store","@tanstack/store","@vueuse/core","vee-validate","@vee-validate/zod","zod","vxe-table","vxe-pc-ui"],e):($=typeof globalThis<"u"?globalThis:$||self,e($.SunnyBaseWebUI={},$.Vue,$.ArcoVue,$.icons,$.utils,$.rekaUi,$.axios,$.vueStore,$.store,$.core,$.veeValidate,$.zod$1,$.zod,$.vxeTable,$.vxePcUi))})(this,(function($,e,w,D,B,L,X,Ie,ve,ue,_,qe,Ue,Z,z){"use strict";function He(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const Ge=He(Ue),We=Symbol("ArcoConfigProvider"),Ye="arco",Ke="$arco",T=t=>{var o,n,r;const s=e.getCurrentInstance(),a=e.inject(We,void 0);return`${(r=(n=a?.prefixCls)!=null?n:(o=s?.appContext.config.globalProperties[Ke])==null?void 0:o.classPrefix)!=null?r:Ye}-${t}`},Xe=Object.prototype.toString;function R(t){return Xe.call(t)==="[object Number]"&&t===t}var M=(t,o)=>{for(const[n,r]of o)t[n]=r;return t};const Ze=e.defineComponent({name:"IconClose",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=T("icon"),r=e.computed(()=>[n,`${n}-close`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const l={};return t.size&&(l.fontSize=R(t.size)?`${t.size}px`:t.size),t.rotate&&(l.transform=`rotate(${t.rotate}deg)`),l});return{cls:r,innerStyle:s,onClick:l=>{o("click",l)}}}}),Qe=["stroke-width","stroke-linecap","stroke-linejoin"];function Je(t,o,n,r,s,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...l)=>t.onClick&&t.onClick(...l))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M9.857 9.858 24 24m0 0 14.142 14.142M24 24 38.142 9.858M24 24 9.857 38.142"},null,-1)]),14,Qe)}var Q=M(Ze,[["render",Je]]);const et=Object.assign(Q,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+Q.name,Q)}}),tt=e.defineComponent({name:"IconQuestionCircle",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=T("icon"),r=e.computed(()=>[n,`${n}-question-circle`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const l={};return t.size&&(l.fontSize=R(t.size)?`${t.size}px`:t.size),t.rotate&&(l.transform=`rotate(${t.rotate}deg)`),l});return{cls:r,innerStyle:s,onClick:l=>{o("click",l)}}}}),ot=["stroke-width","stroke-linecap","stroke-linejoin"];function nt(t,o,n,r,s,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...l)=>t.onClick&&t.onClick(...l))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M42 24c0 9.941-8.059 18-18 18S6 33.941 6 24 14.059 6 24 6s18 8.059 18 18Z"},null,-1),e.createElementVNode("path",{d:"M24.006 31v4.008m0-6.008L24 28c0-3 3-4 4.78-6.402C30.558 19.195 28.288 15 23.987 15c-4.014 0-5.382 2.548-5.388 4.514v.465"},null,-1)]),14,ot)}var J=M(tt,[["render",nt]]);const me=Object.assign(J,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+J.name,J)}}),rt=e.defineComponent({name:"IconSearch",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=T("icon"),r=e.computed(()=>[n,`${n}-search`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const l={};return t.size&&(l.fontSize=R(t.size)?`${t.size}px`:t.size),t.rotate&&(l.transform=`rotate(${t.rotate}deg)`),l});return{cls:r,innerStyle:s,onClick:l=>{o("click",l)}}}}),st=["stroke-width","stroke-linecap","stroke-linejoin"];function at(t,o,n,r,s,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...l)=>t.onClick&&t.onClick(...l))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485"},null,-1)]),14,st)}var ee=M(rt,[["render",at]]);const lt=Object.assign(ee,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ee.name,ee)}}),it=e.defineComponent({name:"IconDelete",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=T("icon"),r=e.computed(()=>[n,`${n}-delete`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const l={};return t.size&&(l.fontSize=R(t.size)?`${t.size}px`:t.size),t.rotate&&(l.transform=`rotate(${t.rotate}deg)`),l});return{cls:r,innerStyle:s,onClick:l=>{o("click",l)}}}}),ct=["stroke-width","stroke-linecap","stroke-linejoin"];function dt(t,o,n,r,s,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...l)=>t.onClick&&t.onClick(...l))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M5 11h5.5m0 0v29a1 1 0 0 0 1 1h25a1 1 0 0 0 1-1V11m-27 0H16m21.5 0H43m-5.5 0H32m-16 0V7h16v4m-16 0h16M20 18v15m8-15v15"},null,-1)]),14,ct)}var te=M(it,[["render",dt]]);const ft=Object.assign(te,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+te.name,te)}}),pt=e.defineComponent({name:"IconFullscreenExit",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=T("icon"),r=e.computed(()=>[n,`${n}-fullscreen-exit`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const l={};return t.size&&(l.fontSize=R(t.size)?`${t.size}px`:t.size),t.rotate&&(l.transform=`rotate(${t.rotate}deg)`),l});return{cls:r,innerStyle:s,onClick:l=>{o("click",l)}}}}),ut=["stroke-width","stroke-linecap","stroke-linejoin"];function mt(t,o,n,r,s,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...l)=>t.onClick&&t.onClick(...l))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M35 6v8a1 1 0 0 0 1 1h8M13 6v8a1 1 0 0 1-1 1H4m31 27v-8a1 1 0 0 1 1-1h8m-31 9v-8a1 1 0 0 0-1-1H4"},null,-1)]),14,ut)}var oe=M(pt,[["render",mt]]);const ht=Object.assign(oe,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+oe.name,oe)}}),yt=e.defineComponent({name:"IconFullscreen",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=T("icon"),r=e.computed(()=>[n,`${n}-fullscreen`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const l={};return t.size&&(l.fontSize=R(t.size)?`${t.size}px`:t.size),t.rotate&&(l.transform=`rotate(${t.rotate}deg)`),l});return{cls:r,innerStyle:s,onClick:l=>{o("click",l)}}}}),gt=["stroke-width","stroke-linecap","stroke-linejoin"];function bt(t,o,n,r,s,a){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...l)=>t.onClick&&t.onClick(...l))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M42 17V9a1 1 0 0 0-1-1h-8M6 17V9a1 1 0 0 1 1-1h8m27 23v8a1 1 0 0 1-1 1h-8M6 31v8a1 1 0 0 0 1 1h8"},null,-1)]),14,gt)}var ne=M(yt,[["render",bt]]);const kt=Object.assign(ne,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ne.name,ne)}}),St={class:"flex-1 font-semibold text-base text-[var(--color-text-1)] overflow-hidden text-ellipsis whitespace-nowrap"},wt={class:"flex items-center gap-3 ml-3"},Ct={class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]"},xt={key:1,class:"flex items-center justify-end gap-2"},he=e.defineComponent({__name:"Modal",props:{modelValue:{type:Boolean,default:!1},title:{default:"Title"},width:{default:"50%"},top:{},zIndex:{default:1e3},helpMessage:{default:"双击标题栏可最大化/还原,按 ESC 可关闭弹窗"},closeOnEsc:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},okText:{},cancelText:{},okLoading:{type:Boolean},confirmLoading:{type:Boolean},hideCancel:{type:Boolean},okButtonProps:{},cancelButtonProps:{},onVisibleChange:{},onBeforeOk:{},onBeforeCancel:{},onClose:{},onOk:{}},emits:["update:modelValue","close","ok"],setup(t,{emit:o}){const n=t,r=o,s=e.useAttrs(),a=e.ref(!1),l=e.computed({get:()=>n.modelValue,set:f=>r("update:modelValue",f)}),i=e.ref(!1),m=()=>{i.value=!i.value},g=async()=>{const f=n.onBeforeCancel;typeof f=="function"&&await f()===!1||(l.value=!1,r("close"))},y=g,c=async()=>{const f=n.onBeforeOk;if(typeof f=="function")try{a.value=!0,await f()!==!1&&(r("ok"),l.value=!1)}catch(d){console.error(d)}finally{a.value=!1}else r("ok"),l.value=!1};return(f,d)=>(e.openBlock(),e.createBlock(e.unref(w.Modal),e.mergeProps({visible:l.value,"onUpdate:visible":d[0]||(d[0]=h=>l.value=h),title:t.title,width:t.width,top:t.top,"z-index":t.zIndex,"mask-closable":t.closeOnClickModal,"esc-to-close":t.closeOnEsc,fullscreen:i.value,closable:!1},f.$attrs,{class:"k-modal-custom"}),{title:e.withCtx(()=>[e.createElementVNode("div",{class:"flex items-center justify-between w-full",onDblclick:m},[e.createElementVNode("div",St,[e.renderSlot(f.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),e.createElementVNode("div",wt,[t.helpMessage?(e.openBlock(),e.createBlock(e.unref(w.Tooltip),{key:0,content:t.helpMessage},{default:e.withCtx(()=>[e.createElementVNode("div",Ct,[e.createVNode(e.unref(me))])]),_:1},8,["content"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]",onClick:e.withModifiers(m,["stop"])},[i.value?(e.openBlock(),e.createBlock(e.unref(ht),{key:0})):(e.openBlock(),e.createBlock(e.unref(kt),{key:1}))]),e.createElementVNode("div",{class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[rgb(var(--red-6))]",onClick:e.withModifiers(g,["stop"])},[e.createVNode(e.unref(et))])])],32)]),footer:e.withCtx(()=>[f.$slots.footer?e.renderSlot(f.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",xt,[e.renderSlot(f.$slots,"insertFooter"),e.unref(s).hideCancel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0},e.unref(s).cancelButtonProps,{onClick:e.unref(y)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).cancelText||"取消"),1)]),_:1},16,["onClick"])),e.renderSlot(f.$slots,"centerFooter"),e.createVNode(e.unref(w.Button),e.mergeProps({type:"primary",loading:a.value||e.unref(s).okLoading||e.unref(s).confirmLoading},e.unref(s).okButtonProps,{onClick:c}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).okText||"确定"),1)]),_:1},16,["loading"]),e.renderSlot(f.$slots,"appendFooter")]))]),default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},16,["visible","title","width","top","z-index","mask-closable","esc-to-close","fullscreen"]))}});class Bt{state;constructor(o={}){this.state=e.reactive({modelValue:!1,...o})}open=()=>{this.setState({modelValue:!0}),this.state.onVisibleChange?.(!0)};close=()=>{this.setState({modelValue:!1}),this.state.onVisibleChange?.(!1)};setState(o){if(typeof o=="function"){const n=o(this.state);Object.assign(this.state,n)}else Object.assign(this.state,o);return this}}function $t(t={}){const o=new Bt(t);return[e.defineComponent({name:"SunnyConnectedModal",inheritAttrs:!1,setup(r,{attrs:s,slots:a}){return()=>e.h(he,{...o.state,...s,"onUpdate:modelValue":l=>{o.setState({modelValue:l}),o.state.onVisibleChange?.(l),typeof s["onUpdate:modelValue"]=="function"&&s["onUpdate:modelValue"](l)}},a)}}),o]}const Vt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Pt=["src"],re=e.defineComponent({__name:"icon",props:{fallback:{type:Boolean},icon:{type:[Function,String]}},setup(t){const o=t,n=e.computed(()=>B.isString(o.icon)&&B.isHttpUrl(o.icon)),r=e.computed(()=>{const{icon:s}=o;return!B.isString(s)&&(B.isObject(s)||B.isFunction(s))});return(s,a)=>r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),e.normalizeProps(e.mergeProps({key:0},s.$attrs)),null,16)):n.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,src:t.icon},s.$attrs),null,16,Pt)):t.icon?(e.openBlock(),e.createBlock(e.unref(D.IconifyIcon),e.mergeProps({key:2},s.$attrs,{icon:t.icon}),null,16,["icon"])):t.fallback?(e.openBlock(),e.createBlock(e.unref(D.IconDefault),e.normalizeProps(e.mergeProps({key:3},s.$attrs)),null,16)):e.createCommentVNode("",!0)}}),ye=e.defineComponent({__name:"ScrollBar",props:{orientation:{default:"vertical"},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=e.computed(()=>{const{class:r,...s}=o;return s});return(r,s)=>(e.openBlock(),e.createBlock(e.unref(L.ScrollAreaScrollbar),e.mergeProps(n.value,{class:e.unref(B.cn)("flex touch-none select-none transition-colors",t.orientation==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",t.orientation==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(L.ScrollAreaThumb),{class:"relative flex-1 rounded-full bg-border"})]),_:1},16,["class"]))}}),Ft=e.defineComponent({__name:"ScrollArea",props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{},onScroll:{type:Function,default:()=>{}},viewportProps:{}},setup(t){const o=t,n=e.computed(()=>{const{class:r,...s}=o;return s});return(r,s)=>(e.openBlock(),e.createBlock(e.unref(L.ScrollAreaRoot),e.mergeProps(n.value,{class:e.unref(B.cn)("relative overflow-hidden",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(L.ScrollAreaViewport),{"as-child":"",class:"h-full w-full rounded-[inherit] focus:outline-none",onScroll:t.onScroll},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["onScroll"]),e.createVNode(ye),e.createVNode(e.unref(L.ScrollAreaCorner))]),_:3},16,["class"]))}}),ge=1,Et=e.defineComponent({__name:"scrollbar",props:{class:{default:""},horizontal:{type:Boolean,default:!1},scrollBarClass:{},shadow:{type:Boolean,default:!1},shadowBorder:{type:Boolean,default:!1},shadowBottom:{type:Boolean,default:!0},shadowLeft:{type:Boolean,default:!1},shadowRight:{type:Boolean,default:!1},shadowTop:{type:Boolean,default:!0}},emits:["scrollAt"],setup(t,{emit:o}){const n=t,r=o,s=e.ref(!0),a=e.ref(!1),l=e.ref(!1),i=e.ref(!0),m=e.computed(()=>n.shadow&&n.shadowTop),g=e.computed(()=>n.shadow&&n.shadowBottom),y=e.computed(()=>n.shadow&&n.shadowLeft),c=e.computed(()=>n.shadow&&n.shadowRight),f=e.computed(()=>({"both-shadow":!i.value&&!a.value&&y.value&&c.value,"left-shadow":!i.value&&y.value,"right-shadow":!a.value&&c.value}));function d(h){const b=h.target,k=b?.scrollTop??0,V=b?.scrollLeft??0,x=b?.clientHeight??0,C=b?.clientWidth??0,F=b?.scrollHeight??0,p=b?.scrollWidth??0;s.value=k<=0,i.value=V<=0,l.value=Math.abs(k)+x>=F-ge,a.value=Math.abs(V)+C>=p-ge,r("scrollAt",{bottom:l.value,left:i.value,right:a.value,top:s.value})}return(h,b)=>(e.openBlock(),e.createBlock(e.unref(Ft),{class:e.normalizeClass([[e.unref(B.cn)(n.class),f.value],"sunny-scrollbar relative"]),"on-scroll":d},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([{"opacity-100":!s.value,"border-t border-border":t.shadowBorder&&!s.value},"scrollbar-top-shadow pointer-events-none absolute top-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),e.renderSlot(h.$slots,"default",{},void 0,!0),g.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"opacity-100":!s.value&&!l.value,"border-b border-border":t.shadowBorder&&!s.value&&!l.value},"scrollbar-bottom-shadow pointer-events-none absolute bottom-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),t.horizontal?(e.openBlock(),e.createBlock(e.unref(ye),{key:2,class:e.normalizeClass(t.scrollBarClass),orientation:"horizontal"},null,8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),be=(t,o)=>{const n=t.__vccOpts||t;for(const[r,s]of o)n[r]=s;return n},_t=be(Et,[["__scopeId","data-v-913bc4ec"]]),Nt={class:"sunny-file-upload"},Ot={class:"font-bold text-gray-700 mb-2"},zt={class:"flex flex-wrap items-center text-sm mb-3 select-none"},Tt={class:"cursor-pointer text-blue-600 hover:text-blue-700 flex items-center mr-4 transition-colors"},Rt={class:"text-xs text-blue-600"},Mt={class:"text-xs text-gray-400"},jt={class:"border border-dashed border-gray-300 rounded-lg p-4 transition-all duration-300"},At={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},Dt={class:"flex-1 min-w-0 pr-8"},Lt=["title"],It={class:"flex items-center text-xs text-gray-500"},vt={class:"mr-3 min-w-[3em]"},qt={class:"ml-2 w-8 text-right"},ke=1024,Ut=e.defineComponent({__name:"index",props:{modelValue:{default:""},action:{default:""},delAction:{default:""},accept:{default:".csv,.pdf,.xls,.xlsx"},limit:{default:10},maxSize:{default:10},storeType:{default:"amazon"},s3FileDir:{default:""},preSigned:{default:""},preSignedExpire:{default:""},readonly:{type:Boolean,default:!1},showEncrypt:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=t,s=o,a=e.ref(!0),l=e.ref(!1),i=e.ref([]),m=e.ref(!1),g=e.computed(()=>i.value.every(p=>!!p.url)),y=e.computed(()=>i.value.filter(p=>p.checked).length);e.watch(()=>r.modelValue,p=>{try{i.value=JSON.parse(p||"[]")}catch(u){console.warn("Failed to parse modelValue:",u),i.value=[]}},{immediate:!0,deep:!0});const c=p=>p,f=p=>{if(p===0)return"0 B";const u=Math.floor(Math.log(p)/Math.log(ke));return(p/Math.pow(ke,u)).toPrecision(3)+" "+n[u]},d=p=>{const u=p.type||"",P=(p.name||"").split(".").pop()?.toLowerCase()||"",E={"vscode-icons:file-type-excel":["xls","xlsx","csv"],"vscode-icons:file-type-powerpoint":["ppt","pptx"],"vscode-icons:file-type-text":["txt"],"vscode-icons:file-type-word":["doc","docx"],"vscode-icons:file-type-zip":["zip","rar","7z","tar","gz"],"vscode-icons:file-type-pdf":["pdf"]};for(const[U,K]of Object.entries(E))if(K.includes(P)||K.some(tr=>u.includes(tr)))return U;return u.includes("excel")||u.includes("spreadsheet")?"vscode-icons:file-type-excel":u.includes("powerpoint")||u.includes("presentation")?"vscode-icons:file-type-powerpoint":u.includes("text/plain")?"vscode-icons:file-type-text":u.includes("word")||u.includes("document")?"vscode-icons:file-type-word":u.includes("zip")||u.includes("compressed")?"vscode-icons:file-type-zip":u.includes("pdf")?"vscode-icons:file-type-pdf":"vscode-icons:default-file"},h=()=>{const p=JSON.stringify(i.value);s("update:modelValue",p),s("change",p)},b=(p,u)=>{if(u.status!=="init")return;if(i.value.length>=r.limit){w.Message.error(`最多上传${r.limit}个文件`);return}const S=r.maxSize*1024*1024;if(u.file.size>S){w.Message.error(`文件最大限制${f(S)}`);return}i.value.push({uid:u.uid,name:u.name,size:u.file?.size,type:u.file?.type,file:u.file,percentage:0,checked:!1})},k=async()=>{if(i.value.length===0)return;const p=i.value.filter(u=>!u.url);for(const u of p){const S=new FormData;S.append("fileName",u.file),S.append("encryptFile",l.value?"1":"0"),r.storeType&&S.append("storeType",r.storeType),r.s3FileDir&&S.append("s3FileDir",r.s3FileDir),r.preSigned&&S.append("preSigned",r.preSigned),r.preSignedExpire&&S.append("preSignedExpire",r.preSignedExpire);try{const P=await X.post(r.action,S,{onUploadProgress:U=>{if(U.total){const K=Math.floor(U.loaded/U.total*100);u.percentage=K}}}),{data:E}=P;E.code===200?(Object.assign(u,E.result),w.Message.success(E.message||"上传成功")):(w.Message.error(E.message||"上传失败"),V(u.uid))}catch{w.Message.error("上传失败"),V(u.uid)}}h()},V=p=>{const u=i.value.findIndex(S=>S.uid===p);u>-1&&i.value.splice(u,1)},x=(p,u)=>{p.url?w.Modal.confirm({title:c("提示"),content:c("是否删除该文件?"),onOk:()=>{X.post(r.delAction,{filePathList:[p.url],storeType:r.storeType}).then(S=>{const{data:P}=S;w.Message[P.success?"success":"error"](P.message),P.code===200&&(i.value.splice(u,1),h())})}}):(i.value.splice(u,1),h())},C=()=>{const p=i.value.every(u=>u.checked);i.value.forEach(u=>u.checked=!p)},F=()=>{const p=i.value.filter(u=>u.checked);p.length!==0&&w.Modal.confirm({title:c("提示"),content:c("是否删除选中的文件?"),onOk:()=>{m.value=!0;const u=p.map(S=>S.url).filter(Boolean);u.length>0?X.post(r.delAction,{filePathList:u,storeType:r.storeType}).then(S=>{const{data:P}=S;w.Message[P.success?"success":"error"](P.message),P.code===200&&(i.value=i.value.filter(E=>!E.checked),h())}).finally(()=>{m.value=!1}):(i.value=i.value.filter(S=>!S.checked),h(),m.value=!1)}})};return(p,u)=>(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("div",Ot,e.toDisplayString(c("附件")),1),e.withDirectives(e.createElementVNode("div",zt,[e.createVNode(e.unref(w.Upload),{"show-file-list":!1,"auto-upload":!1,multiple:"",accept:t.accept,onChange:b},{"upload-button":e.withCtx(()=>[e.createElementVNode("span",Tt,[e.createVNode(e.unref(D.Paperclip),{class:"mr-1 w-4 h-4"}),e.createTextVNode(" "+e.toDisplayString(c("选择附件")),1)])]),_:1},8,["accept"]),e.createElementVNode("span",{class:e.normalizeClass(["flex items-center mr-4 transition-colors",g.value?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-600 hover:text-gray-800"]),onClick:u[0]||(u[0]=S=>!g.value&&k())},[e.createVNode(e.unref(re),{icon:e.unref(D.CloudUpload),class:"mr-1 w-4 h-4"},null,8,["icon"]),e.createTextVNode(" "+e.toDisplayString(c("上传附件")),1)],2),e.createElementVNode("span",{class:"cursor-pointer text-blue-600 hover:text-blue-700 mr-4 transition-colors",onClick:C},e.toDisplayString(c("全选")),1),e.createElementVNode("span",{class:e.normalizeClass(["mr-4 transition-colors",y.value===0?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-500 hover:text-red-500"]),onClick:F},e.toDisplayString(c("删除")),3),t.showEncrypt?(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:l.value,"onUpdate:modelValue":u[1]||(u[1]=S=>l.value=S),class:"mr-4"},{default:e.withCtx(()=>[e.createElementVNode("span",Rt,e.toDisplayString(c("是否加密")),1)]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("span",Mt," ("+e.toDisplayString(c("单个文件最大"))+e.toDisplayString(t.maxSize)+"MB,"+e.toDisplayString(c("最多上传"))+e.toDisplayString(t.limit)+e.toDisplayString(c("个"))+") ",1),e.createElementVNode("span",{class:"ml-auto cursor-pointer text-blue-600 text-xs hover:text-blue-700 transition-colors",onClick:u[2]||(u[2]=S=>a.value=!a.value)},e.toDisplayString(a.value?c("隐藏"):c("展开")),1)],512),[[e.vShow,!t.readonly]]),e.withDirectives(e.createElementVNode("div",jt,[e.createElementVNode("div",At,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(S,P)=>(e.openBlock(),e.createElementBlock("div",{key:S.uid||P,class:"bg-gray-50 hover:bg-gray-100 rounded p-3 relative flex items-center border border-transparent hover:border-gray-200 transition-colors group"},[e.createVNode(e.unref(re),{icon:d(S),class:"w-10 h-10 mr-3 flex-shrink-0"},null,8,["icon"]),e.createElementVNode("div",Dt,[e.createElementVNode("div",{class:"text-sm truncate font-medium text-gray-700 mb-1",title:S.name},e.toDisplayString(S.name),9,Lt),e.createElementVNode("div",It,[e.createElementVNode("span",vt,e.toDisplayString(f(S.size)),1),e.createVNode(e.unref(w.Progress),{percent:S.percentage/100,size:"small","show-text":!1,color:S.percentage===100?"#00b42a":"#165dff",class:"flex-1"},null,8,["percent","color"]),e.createElementVNode("span",qt,e.toDisplayString(S.percentage)+"%",1)])]),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:S.checked,"onUpdate:modelValue":E=>S.checked=E,class:"absolute top-3 right-3"},null,8,["modelValue","onUpdate:modelValue"])),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(D.Trash2),{key:1,class:"absolute bottom-3 right-3 w-4 h-4 cursor-pointer text-gray-400 hover:text-red-500 transition-colors",onClick:E=>x(S,P)},null,8,["onClick"]))]))),128))])],512),[[e.vShow,i.value.length>0&&a.value]])]))}}),Se=e.defineComponent({name:"SunnySelect",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},options:{type:Array,default:()=>[]},filterModel:{type:Object,default:void 0}},emits:["update:modelValue"],setup(t,{emit:o,slots:n,attrs:r}){const s=i=>{const m=i.cMeta;return!m||Object.keys(m).length===0?!0:!t.filterModel||Object.keys(t.filterModel).length===0?!1:Object.entries(m).every(([g,y])=>{const c=t.filterModel[g];return c==null?!1:String(c)===String(y)})},a=e.computed(()=>{const i=t.modelValue;if(i==null||i===""||r["allow-create"]===!0||r["allow-create"]==="")return i;const m=g=>t.options.some(y=>s(y)?y.value==g||typeof g=="object"&&g!==null&&"value"in g&&y.value==g.value:!1);if(Array.isArray(i)){const g=i.filter(y=>m(y));return g.length===i.length?i:g}else return m(i)?i:void 0});e.watch(a,i=>{i!==t.modelValue&&o("update:modelValue",i)});const l=i=>{o("update:modelValue",i)};return()=>React.createElement(w.Select,{...r,modelValue:a.value,"onUpdate:modelValue":l},{default:()=>t.options.map(i=>s(i)?React.createElement(w.Option,{key:i.value,...i},{default:()=>n.option?n.option({data:i}):i.label}):null),...Object.fromEntries(Object.entries(n).filter(([i])=>i!=="option"&&i!=="default"))})}}),Ht={class:"flex items-center justify-between px-3 py-2 border-b border-[var(--color-neutral-3)] bg-[var(--color-bg-popup)] select-none"},Gt={class:"flex items-center gap-1"},Wt={class:"w-6 h-6 flex items-center justify-center rounded cursor-help text-[var(--color-text-3)] hover:text-[var(--color-text-1)] hover:bg-[var(--color-fill-3)] transition-all"},Yt=e.defineComponent({name:"SunnyBatchSelect",inheritAttrs:!1,__name:"BatchSelect",props:{modelValue:{default:()=>[]},options:{default:()=>[]},matchStrategy:{default:"both"},filterModel:{default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.options.filter(c=>!c.disabled)),a=e.computed(()=>s.value.length===0?!1:s.value.every(c=>n.modelValue.includes(c.value))),l=e.computed(()=>{if(s.value.length===0)return!1;const c=s.value.filter(f=>n.modelValue.includes(f.value)).length;return c>0&&c<s.value.length}),i=c=>{r("update:modelValue",c),r("change",c)},m=c=>{if(c===!0){const d=s.value.map(k=>k.value),h=n.modelValue.filter(k=>{const V=n.options.find(x=>x.value===k);return V&&V.disabled}),b=Array.from(new Set([...h,...d]));r("update:modelValue",b),r("change",b)}else{const d=n.modelValue.filter(h=>{const b=n.options.find(k=>k.value===h);return b&&b.disabled});r("update:modelValue",d),r("change",d)}},g=()=>{const c=n.modelValue.filter(f=>{const d=n.options.find(h=>h.value===f);return d&&d.disabled});r("update:modelValue",c),r("change",c)},y=c=>{const f=c.clipboardData||window.clipboardData;if(!f)return;const d=f.getData("text");if(!d)return;const h=d.split(/\r?\n/).map(x=>x.trim()).filter(x=>x);if(h.length===0)return;const b=[];let k=0;const V=x=>{const C=x.cMeta;return!C||Object.keys(C).length===0?!0:!n.filterModel||Object.keys(n.filterModel).length===0?!1:Object.entries(C).every(([F,p])=>{const u=n.filterModel[F];return u==null?!1:String(u)===String(p)})};if(h.forEach(x=>{if(n.matchStrategy==="value"||n.matchStrategy==="both"){const C=n.options.find(F=>String(F.value)===x);if(C&&!C.disabled&&V(C)){b.push(C.value),k++;return}}if(n.matchStrategy==="label"||n.matchStrategy==="both"){const C=n.options.find(F=>F.label===x);C&&!C.disabled&&V(C)&&(b.push(C.value),k++)}}),b.length>0){c.preventDefault();const x=Array.from(new Set([...n.modelValue,...b]));r("update:modelValue",x),r("change",x),w.Message.success(`成功识别并选中 ${k} 项 (Matched ${k} items)`)}};return(c,f)=>{const d=e.resolveComponent("a-checkbox"),h=e.resolveComponent("a-tooltip");return e.openBlock(),e.createBlock(e.unref(Se),e.mergeProps(c.$attrs,{"model-value":t.modelValue,options:t.options,"filter-model":t.filterModel,multiple:"","allow-search":"","onUpdate:modelValue":i,onPaste:y}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Ht,[e.createVNode(d,{"model-value":a.value,indeterminate:l.value,onChange:m,class:"pl-1"},{default:e.withCtx(()=>[...f[0]||(f[0]=[e.createElementVNode("span",{class:"text-[var(--color-text-1)]"},"全选",-1)])]),_:1},8,["model-value","indeterminate"]),e.createElementVNode("div",Gt,[e.createVNode(h,{content:"清除所有选中项"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"w-6 h-6 flex items-center justify-center rounded cursor-pointer text-[var(--color-text-3)] hover:bg-[var(--color-fill-3)] transition-all",onClick:g},[e.createVNode(e.unref(ft))])]),_:1}),f[1]||(f[1]=e.createElementVNode("div",{class:"w-[1px] h-3 bg-[var(--color-neutral-3)] mx-1"},null,-1)),e.createVNode(h,{content:"支持从 Excel 或文本编辑器(↓列数据)复制多行数据,粘贴至搜索框即可自动匹配并选中。",position:"left"},{default:e.withCtx(()=>[e.createElementVNode("div",Wt,[e.createVNode(e.unref(me))])]),_:1})])])]),_:2},[e.renderList(c.$slots,(b,k)=>({name:k,fn:e.withCtx(V=>[e.renderSlot(c.$slots,k,e.normalizeProps(e.guardReactiveProps(V||{})))])}))]),1040,["model-value","options","filter-model"])}}}),Kt=e.defineComponent({name:"SunnySearchInputTag",inheritAttrs:!1,__name:"SearchInputTag",props:{modelValue:{default:()=>[]},fieldNames:{default:()=>({label:"label",value:"value"})},placeholder:{default:"请选择..."},disabled:{type:Boolean,default:!1},maxTagCount:{}},emits:["update:modelValue","search","change","clear"],setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.fieldNames?.label||"label"),a=e.computed(()=>n.fieldNames?.value||"value"),l=e.computed(()=>n.modelValue.map(c=>({label:c[s.value],value:c[a.value],closable:!n.disabled,tagProps:c.tagProps}))),i=c=>{n.disabled||["Backspace","Delete","Tab","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(c.key)||c.preventDefault()},m=(c,f)=>{const d=[...n.modelValue];d.splice(f,1),r("update:modelValue",d),r("change",d)},g=()=>{r("update:modelValue",[]),r("change",[]),r("clear")},y=()=>{n.disabled||r("search")};return(c,f)=>{const d=e.resolveComponent("a-input-tag");return e.openBlock(),e.createBlock(d,e.mergeProps(c.$attrs,{"model-value":l.value,"input-value":"",disabled:t.disabled,placeholder:t.placeholder,"max-tag-count":t.maxTagCount,"allow-create":!1,class:"w-full group",onRemove:m,onClear:g,onKeydown:i}),e.createSlots({suffix:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center h-full px-2 border-l border-[var(--color-neutral-3)] group-hover:border-[var(--color-neutral-4)] -mr-3",[t.disabled?"cursor-not-allowed text-[var(--color-text-4)]":"cursor-pointer text-[var(--color-text-2)] group"]]),onClick:e.withModifiers(y,["stop"])},[e.createVNode(e.unref(lt),{class:"transition-colors group-hover:text-[var(--color-primary-6)]"})],2)]),_:2},[e.renderList(c.$slots,(h,b)=>({name:b,fn:e.withCtx(k=>[e.renderSlot(c.$slots,b,e.normalizeProps(e.guardReactiveProps(k||{})))])}))]),1040,["model-value","disabled","placeholder","max-tag-count"])}}});class Xt{store;constructor(o,n){this.store=new ve.Store(o),n?.onUpdate&&this.store.subscribe(()=>{n.onUpdate?.()})}setState(o){this.store.setState(n=>{const r=typeof o=="function"?o(n):o;return{...n,...r}})}getState(){return this.store.state}}function we(t,o="YYYY-MM-DD"){if(!t)return t;if(B.isFunction(t.format))return t.format(o);if(t instanceof Date){const n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return o.replace("YYYY",String(n)).replace("MM",r).replace("DD",s).replace("HH",a).replace("mm",l).replace("ss",i)}return String(t)}function Ce(t){return is(t,"Date")}function xe(t){return B.isObject(t)&&"$d"in t&&"$y"in t&&"$M"in t}function H(t,o){if(!B.isObject(t)||!B.isObject(o)||Array.isArray(o))return o;const n={...t};return Object.keys(o).forEach(r=>{const s=n[r],a=o[r];B.isObject(s)&&B.isObject(a)?n[r]=H(s,a):n[r]=a}),n}class Zt{condition=!1;resolveFn=null;promise=null;setConditionTrue(){this.condition=!0,this.resolveFn&&(this.resolveFn(),this.resolveFn=null)}reset(){this.condition=!1,this.promise=null,this.resolveFn=null}async waitForCondition(){this.condition||(this.promise||(this.promise=new Promise(o=>{this.resolveFn=o})),await this.promise)}}function Qt(t){const o=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(o);for(const r of n){const s=t[r];r!=="constructor"&&typeof s=="function"&&(t[r]=s.bind(t))}}function Jt(){return{actionWrapperClass:"",collapsed:!1,collapsedRows:1,collapseTriggerResize:!1,commonConfig:{},handleReset:void 0,handleSubmit:void 0,handleValuesChange:void 0,handleCollapsedChange:void 0,layout:"horizontal",resetButtonOptions:{},schema:[],scrollToFirstError:!1,showCollapseButton:!1,showDefaultActions:!0,submitButtonOptions:{},submitOnChange:!1,submitOnEnter:!1,wrapperClass:"grid-cols-1",values:{}}}class Be{form={};isMounted=!1;state=null;stateHandler;store;componentRefMap=new Map;latestSubmissionValues=null;prevState=null;constructor(o={}){const{...n}=o,r=Jt();this.store=new Xt({...r,...n},{onUpdate:()=>{this.prevState=this.state,this.state=this.store.getState(),this.updateState()}}),this.state=this.store.getState(),this.stateHandler=new Zt,Qt(this)}getFieldComponentRef(o){let n=this.componentRefMap.has(o)?this.componentRefMap.get(o):void 0;if(n&&n.$&&n.$.type&&n.$.type.name==="AsyncComponentWrapper"&&n.$.subTree&&n.$.subTree.ref){const r=n.$.subTree.ref;Array.isArray(r)?r.length>0&&r[0]&&e.isRef(r[0].r)&&(n=r[0].r.value):e.isRef(r.r)&&(n=r.r.value)}return n}getFocusedField(){for(const o of this.componentRefMap.keys()){const n=this.getFieldComponentRef(o);if(n){let r=null;if(n instanceof HTMLElement?r=n:n.$el instanceof HTMLElement&&(r=n.$el),!r)continue;if(r===document.activeElement||r.contains(document.activeElement))return o}}}getLatestSubmissionValues(){return this.latestSubmissionValues||{}}getState(){return this.state}async getValues(){const o=await this.getForm();return o.values?this.handleRangeTimeValue(o.values):{}}async isFieldValid(o){return(await this.getForm()).isFieldValid(o)}merge(o){const n=[this,o],r=new Proxy(o,{get(s,a){return a==="merge"?l=>(n.push(l),r):a==="submitAllForm"?async(l=!0)=>{try{const i=await Promise.all(n.map(async m=>(await m.validate()).valid?e.toRaw(await m.getValues()||{}):void 0));return i.some(m=>!m)?void 0:l?Object.assign({},...i):i}catch(i){console.error("Validation error:",i)}}:s[a]}});return r}mount(o,n){this.isMounted||(Object.assign(this.form,o),this.stateHandler.setConditionTrue(),this.setLatestSubmissionValues({...e.toRaw(this.handleRangeTimeValue(this.form.values))}),n&&(this.componentRefMap=n),this.isMounted=!0)}async removeSchemaByFields(o){const n=new Set(o),s=(this.state?.schema??[]).filter(a=>!n.has(a.fieldName));this.setState({schema:s})}async resetForm(o,n){return(await this.getForm()).resetForm(o,n)}async resetValidate(){const o=await this.getForm();Object.keys(o.errors.value).forEach(r=>{o.setFieldError(r,void 0)})}scrollToFirstError(o){const n=typeof o=="string"?o:Object.keys(o)[0];if(!n)return;let r=document.querySelector(`[name="${n}"]`);if(!r){const s=this.getFieldComponentRef(n);s&&s.$el instanceof HTMLElement?r=s.$el:s instanceof HTMLElement&&(r=s)}r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}async setFieldValue(o,n,r){(await this.getForm()).setFieldValue(o,n,r)}setLatestSubmissionValues(o){this.latestSubmissionValues={...e.toRaw(o)}}setState(o){B.isFunction(o)?this.store.setState(n=>H(n,o(n))):this.store.setState(n=>H(n,o))}async setValues(o,n=!0,r=!1){const s=await this.getForm();if(!n){s.setValues(o,r);return}const a=s.values||{},l=(m,g)=>{const y={};for(const c in m)if(Object.prototype.hasOwnProperty.call(m,c)&&c in g){const f=m[c],d=g[c];B.isObject(f)&&!Array.isArray(f)&&!Ce(f)&&!xe(f)&&B.isObject(d)&&!Array.isArray(d)&&!Ce(d)&&!xe(d)?y[c]=l(f,d):y[c]=f}return y},i=l(o,a);s.setValues(i,r)}async submitForm(o){o?.preventDefault(),o?.stopPropagation();const n=await this.getForm(),{valid:r,errors:s}=await n.validate(),a=e.toRaw(await this.getValues());return r?await this.state?.handleSubmit?.(a):this.state?.scrollToFirstError&&this.scrollToFirstError(s),{valid:r,values:a,errors:s}}unmount(){this.form?.resetForm?.(),this.latestSubmissionValues=null,this.isMounted=!1,this.stateHandler.reset()}updateSchema(o){const n=[...o];if(!n.every(l=>Reflect.has(l,"fieldName")&&l.fieldName)){console.error("All items in the schema array must have a valid `fieldName` property to be updated");return}const s=B.cloneDeep(this.state?.schema??[]),a={};n.forEach(l=>{l.fieldName&&(a[l.fieldName]=l)}),s.forEach((l,i)=>{const m=a[l.fieldName];m&&(s[i]=H(l,m))}),this.setState({schema:s})}async validate(o){const r=await(await this.getForm()).validate(o);return Object.keys(r?.errors??{}).length>0&&(console.error("validate error",r?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(r.errors)),r}async validateAndSubmitForm(){const o=await this.getForm(),{valid:n,errors:r}=await o.validate();if(!n){this.state?.scrollToFirstError&&this.scrollToFirstError(r);return}return await this.submitForm()}async validateField(o,n){const s=await(await this.getForm()).validateField(o,n);return Object.keys(s?.errors??{}).length>0&&(console.error("validate error",s?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(o)),s}async getForm(){if(this.isMounted||await this.stateHandler.waitForCondition(),!this.form?.meta)throw new Error("<SunnyUseForm /> is not mounted");return this.form}handleMultiFields=o=>{const n=this.state?.arrayToStringFields;if(!n||!Array.isArray(n))return;const r=(s,a=",")=>{this.processFields(s,a,o,(l,i)=>{if(Array.isArray(l))return l.join(i);if(typeof l=="string"){if(l==="")return[];const m=i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`);return l.split(new RegExp(m))}else return l})};if(n.every(s=>typeof s=="string")){const s=n[n.length-1]||"",a=s.length===1?n.slice(0,-1):n,l=s.length===1?s:",";r(a,l);return}n.forEach(s=>{if(Array.isArray(s)){const[a,l=","]=s;if(!Array.isArray(a)){console.warn(`Invalid field configuration: fields should be an array of strings, got ${typeof a}`);return}r(a,l)}})};handleRangeTimeValue=o=>{const n={...o},r=this.state?.fieldMappingTime;return this.handleMultiFields(n),!r||!Array.isArray(r)||r.forEach(([s,[a,l],i="YYYY-MM-DD"])=>{if(a&&l&&n[s]===null&&(Reflect.deleteProperty(n,a),Reflect.deleteProperty(n,l)),!n[s]){Reflect.deleteProperty(n,s);return}const[m,g]=n[s];if(i===null)n[a]=m,n[l]=g;else if(B.isFunction(i))n[a]=i(m),n[l]=i(g);else{const[y,c]=Array.isArray(i)?i:[i,i];n[a]=m?we(m,y):void 0,n[l]=g?we(g,c):void 0}Reflect.deleteProperty(n,s)}),n};processFields=(o,n,r,s)=>{o.forEach(a=>{const l=r[a];l!=null&&(r[a]=s(l,n))})};updateState(){const o=this.state?.schema??[],n=this.prevState?.schema??[];if(o.length<n.length){const r=new Set(o.map(a=>a.fieldName)),s=n.filter(a=>!r.has(a.fieldName));for(const a of s)this.form?.setFieldValue?.(a.fieldName,void 0)}}useStore}const $e=Symbol("FormRenderProps"),eo=Symbol("ComponentRefMap"),to=t=>{e.provide($e,t)},se=()=>{const t=e.inject($e);if(!t)throw new Error("injectRenderFormProps must be used within provideFormRenderProps");return t},oo=t=>{e.provide(eo,t)},Ve=()=>{const t=se(),o=e.computed(()=>t.layout==="vertical");return{props:t,isVertical:o,componentBindEventMap:e.computed(()=>t.config?.modelPropNameMap)}},Pe=Symbol("FormPropsKey");function Fe(t){e.provide(Pe,t)}function no(){const t=e.inject(Pe);if(!t)throw new Error("Form context not found (表单上下文未找到,请确保在 SunnyForm 或 SunnyUseForm 内部使用)");return t}function ro(t){const o=e.useSlots(),n=e.computed(()=>{const a=e.unref(t),l={};return(a.schema||[]).forEach(i=>{i.defaultValue!==void 0&&(l[i.fieldName]=i.defaultValue)}),a.values&&Object.assign(l,a.values),l}),r=_.useForm({initialValues:n.value}),s=e.computed(()=>{const a=[];for(const l of Object.keys(o))l!=="default"&&a.push(l);return a});return{form:r,delegatedSlots:s}}const so={Input:w.Input,InputPassword:w.InputPassword,InputNumber:w.InputNumber,Textarea:w.Textarea,Select:w.Select,Checkbox:w.Checkbox,CheckboxGroup:w.CheckboxGroup,Radio:w.Radio,RadioGroup:w.RadioGroup,Switch:w.Switch,DatePicker:w.DatePicker,RangePicker:w.RangePicker,TimePicker:w.TimePicker,Upload:w.Upload,Rate:w.Rate,Slider:w.Slider,Cascader:w.Cascader,TreeSelect:w.TreeSelect,SunnySelect:w.Select,SunnyCheckbox:w.Checkbox,SunnyRadio:w.Radio,SunnySwitch:w.Switch,SunnyDatePicker:w.DatePicker,SunnyTimePicker:w.TimePicker,SunnyUpload:w.Upload},ao={};function lo(t){const{config:o,defineRules:n}=t,{disabledOnChangeListener:r=!0,disabledOnInputListener:s=!0,emptyStateValue:a=void 0}=o||{};if(Object.assign(ao,{disabledOnChangeListener:r,disabledOnInputListener:s,emptyStateValue:a}),n)for(const l of Object.keys(n))_.defineRule(l,n[l])}function io(t){const o=_.useFormValues(),r=se().form;if(!o)throw new Error("useDependencies should be used within <SunnyForm> (VeeValidate Form)");const s=e.ref(!0),a=e.ref(!1),l=e.ref(!0),i=e.ref(!1),m=e.ref({}),g=e.ref(),y=e.computed(()=>(t()?.triggerFields??[]).map(d=>o.value[d])),c=()=>{a.value=!1,s.value=!0,l.value=!0,i.value=!1,g.value=void 0,m.value={}};return e.watch([y,t],async([f,d])=>{if(!d||!d?.triggerFields?.length)return;c();const{componentProps:h,disabled:b,if:k,required:V,rules:x,show:C,trigger:F}=d,p=o.value;if(B.isFunction(k)){if(s.value=!!await k(p,r),!s.value)return}else if(B.isBoolean(k)&&(s.value=k,!s.value))return;if(B.isFunction(C)){if(l.value=!!await C(p,r),!l.value)return}else if(B.isBoolean(C)&&(l.value=C,!l.value))return;B.isFunction(h)&&(m.value=await h(p,r)),B.isFunction(x)&&(g.value=await x(p,r)),B.isFunction(b)?a.value=!!await b(p,r):B.isBoolean(b)&&(a.value=b),B.isFunction(V)&&(i.value=!!await V(p,r)),B.isFunction(F)&&await F(p,r)},{deep:!0,immediate:!0}),{dynamicComponentProps:m,dynamicRules:g,isDisabled:a,isIf:s,isRequired:i,isShow:l}}const co=e.defineComponent({__name:"FormField",props:{schema:{}},setup(t){const o=t,n=_.useFormValues(),r=se(),{isVertical:s}=Ve(),a=r.form,{dynamicComponentProps:l,dynamicRules:i,isDisabled:m,isIf:g,isRequired:y,isShow:c}=io(()=>o.schema.dependencies),f=e.computed(()=>{const{component:p}=o.schema;return B.isString(p)&&so[p]||p}),d=e.computed(()=>o.schema.hidden?!1:g.value&&c.value),h=e.computed(()=>i.value||o.schema.rules),b=e.computed(()=>{if(!d.value)return!1;if(!h.value)return y.value;if(y.value)return!0;if(B.isString(h.value))return h.value.split("|").some(P=>["required","selectRequired"].includes(P));const p=e.toRaw(h.value);let u=p?.isOptional?.();if(p?._def?.typeName==="ZodDefault"){const P=p?._def.innerType;P&&(u=P.isOptional?.())}return!u}),k=e.computed(()=>{if(!d.value)return null;let p=e.toRaw(h.value);if(!p)return y.value?"required":null;if(B.isString(p))return p;if(!!b.value){const S=p?.unwrap?.();S&&(p=S)}return qe.toTypedSchema(p)}),V=e.computed(()=>{const{componentProps:p,commonComponentProps:u}=o.schema,S=B.isFunction(p)?p(n.value,a):p;return{...u,...S,...l.value}});e.watch(()=>V.value?.autofocus,p=>{p===!0&&e.nextTick(()=>{})},{immediate:!0});const x=e.computed(()=>m.value||o.schema.disabled||V.value?.disabled),C=e.computed(()=>{if(!(s.value||!o.schema.labelWidth))return{style:{flex:1}}}),F=e.computed(()=>{if(s.value||!o.schema.labelWidth)return;const p=o.schema.labelWidth,u=typeof p=="number"?`${p}px`:p;return{style:{width:u,minWidth:u,maxWidth:u,flex:`0 0 ${u}`}}});return(p,u)=>{const S=e.resolveComponent("a-form-item");return d.value?(e.openBlock(),e.createBlock(e.unref(_.Field),{key:0,name:t.schema.fieldName,rules:k.value,label:t.schema.label},{default:e.withCtx(({field:P,errorMessage:E})=>[e.createVNode(S,e.mergeProps({label:t.schema.label,help:E||t.schema.help,"validate-status":E?"error":void 0,required:b.value,"label-col-props":F.value,"wrapper-col-props":C.value},t.schema.formFieldProps),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),e.mergeProps({...V.value,...P},{disabled:x.value,"model-value":P.value,"onUpdate:modelValue":P.onInput}),null,16,["disabled","model-value","onUpdate:modelValue"]))]),_:2},1040,["label","help","validate-status","required","label-col-props","wrapper-col-props"])]),_:1},8,["name","rules","label"])):e.createCommentVNode("",!0)}}}),ae=e.defineComponent({__name:"form-actions",props:{modelValue:{type:Boolean},formApi:{}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,s=n,{props:a}=Ve(),l=_.useFormContext(),i=e.computed({get:()=>r.modelValue??!1,set:d=>s("update:modelValue",d)}),m=e.computed(()=>({content:"重置",show:!0,type:"outline",...e.unref(a).resetButtonOptions})),g=e.computed(()=>({content:"查询",show:!0,htmlType:r.formApi?"button":"submit",...e.unref(a).submitButtonOptions}));async function y(d){if(r.formApi){d?.preventDefault(),d?.stopPropagation();const h=e.unref(a),{valid:b}=await r.formApi.validate();if(!b)return;const k=e.toRaw(await r.formApi.getValues())??{};await h.handleSubmit?.(k)}}async function c(d){d?.preventDefault(),d?.stopPropagation();const h=e.unref(a);if(r.formApi){const b=e.toRaw(await r.formApi.getValues())??{};h.handleReset?await h.handleReset(b):r.formApi.resetForm()}else if(l)if(h.handleReset){const b=l.values;await h.handleReset(b)}else l.resetForm()}e.watch(()=>i.value,()=>{e.unref(a).collapseTriggerResize&&window.dispatchEvent(new Event("resize"))});const f=e.computed(()=>{const d=e.unref(a),h=d.actionPosition||"right",b=["flex","items-center","gap-3",d.layout==="vertical"?"self-end":"self-start",d.layout==="inline"?"":"w-full",d.actionWrapperClass];switch(h){case"center":{b.push("justify-center");break}case"left":{b.push("justify-start");break}default:{b.push("justify-end");break}}return b.join(" ")});return o({handleReset:c,handleSubmit:y}),(d,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value)},[e.unref(e.unref(a)).actionButtonsReverse?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(d.$slots,"submit-before"),g.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(a)).size,onClick:y},g.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)),e.renderSlot(d.$slots,"reset-before"),m.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:1,size:e.unref(e.unref(a)).size,onClick:c},m.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0),e.unref(e.unref(a)).actionButtonsReverse?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(d.$slots,"submit-before"),g.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(a)).size,onClick:y},g.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-before"),e.unref(e.unref(a)).showCollapseButton?(e.openBlock(),e.createElementBlock("div",{key:3,class:"cursor-pointer ml-2 text-primary hover:opacity-80 transition-opacity select-none",onClick:h[0]||(h[0]=b=>i.value=!i.value)},[e.createElementVNode("span",null,e.toDisplayString(i.value?"展开":"收起"),1)])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-after")],2))}});function fo(t){const o={xs:576,sm:576,md:768,lg:992,xl:1200,xxl:1600},n=ue.useBreakpoints(o),r=e.computed(()=>{const i={},m=t.schema||[],g=a(),y=t.commonConfig?.colProps;return m.forEach(c=>{if(!c.fieldName)return;const f=c.colProps||y;i[c.fieldName]=l(f,c.colSpan,g)}),i}),s=e.computed(()=>{const i=a();if(t.layout!=="inline"){if(t.actionColProps)return l(t.actionColProps,void 0,i);if(t.showCollapseButton){const m=t.commonConfig?.colProps;return l(m||{xs:12,sm:12,md:8,lg:6},void 0,i)}return 24}});function a(){return n.greaterOrEqual("xxl").value?"xxl":n.greaterOrEqual("xl").value?"xl":n.greaterOrEqual("lg").value?"lg":n.greaterOrEqual("md").value?"md":n.greaterOrEqual("sm").value?"sm":"xs"}function l(i,m,g){if(i){const y=["xxl","xl","lg","md","sm","xs"],c=y.indexOf(g);for(let f=c;f<y.length;f++){const d=y[f],h=i[d];if(h!==void 0)return typeof h=="object"?h.span??24:h}if(i.span!==void 0)return i.span}return m!==void 0?m:24}return{spans:r,actionSpan:s}}const Ee=e.defineComponent({__name:"Form",props:{formApi:{},form:{}},setup(t){const o=t,n=no(),r=e.reactive({...n.value});e.watch(()=>n.value,x=>{Object.assign(r,x)},{deep:!0}),to(r);const{spans:s,actionSpan:a}=fo(r),l=e.computed(()=>{const{commonConfig:x={},labelWidth:C,schema:F=[]}=r,{componentProps:p={},formFieldProps:u={},...S}=x,P={...S};return C!==void 0&&Object.assign(P,{labelWidth:C}),F.map(E=>({...P,...E,hidden:E.hide,commonComponentProps:p,formFieldProps:{...u,...E.formFieldProps||{}},componentProps:E.componentProps}))}),i=e.computed(()=>r.layout==="inline"),{handleSubmit:m,resetForm:g,setValues:y,values:c,validate:f,errors:d,meta:h}=o.form||_.useForm({initialValues:l.value.reduce((x,C)=>({...x,[C.fieldName]:C.defaultValue}),{})});e.onMounted(()=>{o.formApi&&o.formApi.mount({handleSubmit:m,resetForm:g,setValues:y,values:c,validate:f,errors:d,meta:h})});const b=m(x=>{r.handleSubmit?r.handleSubmit(x):console.log("Form submitted:",x)}),k=x=>{r.collapsed=x,r.handleCollapsedChange?.(x),o.formApi&&o.formApi.setState({collapsed:x})},V=e.computed(()=>{const{compact:x,gridProps:C}=r,F=x?8:16,p=C?.xGap??C?.["x-gap"]??F,u=C?.yGap??C?.["y-gap"]??F;return{x:p,y:u}});return(x,C)=>{const F=e.resolveComponent("a-col"),p=e.resolveComponent("a-form-item"),u=e.resolveComponent("a-row"),S=e.resolveComponent("a-form");return e.openBlock(),e.createBlock(S,{model:{},layout:e.unref(n).layout||"horizontal",size:e.unref(n).size,class:"arco-form",onSubmit:C[0]||(C[0]=(P,E)=>e.unref(b)(E))},{default:e.withCtx(()=>[e.createVNode(u,{gutter:[V.value.x,V.value.y],class:e.normalizeClass(r.wrapperClass)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(P,E)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:P.fieldName},[!P.hidden&&(!r.collapsed||E<24/(e.unref(s)[P.fieldName]??24)*(r.collapsedRows??1)-1)?(e.openBlock(),e.createBlock(F,{key:0,span:e.unref(s)[P.fieldName]??(i.value?void 0:24)},{default:e.withCtx(()=>[e.createVNode(co,{schema:P},null,8,["schema"])]),_:2},1032,["span"])):e.createCommentVNode("",!0)],64))),128)),r.showDefaultActions?(e.openBlock(),e.createBlock(F,{key:0,span:e.unref(a),style:e.normalizeStyle(i.value?{marginLeft:"16px"}:{flex:1,textAlign:"right",marginBottom:V.value.y+"px"})},{default:e.withCtx(()=>[(r.layout||"horizontal")==="vertical"?(e.openBlock(),e.createBlock(p,{key:0,class:"mb-0","hide-asterisk":!0},{label:e.withCtx(()=>[...C[1]||(C[1]=[e.createElementVNode("span",{style:{display:"inline-block",width:"100%"}}," ",-1)])]),default:e.withCtx(()=>[e.createVNode(ae,{"model-value":r.collapsed,"onUpdate:modelValue":k,"form-api":o.formApi},null,8,["model-value","form-api"])]),_:1})):(e.openBlock(),e.createBlock(ae,{key:1,"model-value":r.collapsed,"onUpdate:modelValue":k,"form-api":o.formApi},null,8,["model-value","form-api"]))]),_:1},8,["span","style"])):e.createCommentVNode("",!0)]),_:1},8,["gutter","class"])]),_:1},8,["layout","size"])}}}),po=e.defineComponent({__name:"SunnyUseForm",props:{layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},showDefaultActions:{type:Boolean,default:void 0},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean,default:void 0},submitOnChange:{type:Boolean,default:void 0},handleValuesChange:{},handleCollapsedChange:{},handleSubmit:{},scrollToFirstError:{type:Boolean},handleReset:{},collapsed:{type:Boolean,default:void 0},showCollapseButton:{type:Boolean,default:void 0},collapsedRows:{},collapseTriggerResize:{type:Boolean,default:void 0},compact:{type:Boolean,default:void 0},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{},formApi:{}},setup(t){const o=t,n=o.formApi.useStore?.()||e.computed(()=>({})),r=e.computed(()=>{const y=Object.entries(o).reduce((c,[f,d])=>(d!==void 0&&(c[f]=d),c),{});return{...n.value,...y}}),s=new Map,{delegatedSlots:a,form:l}=ro(r);Fe(r),oo(s),e.onBeforeUnmount(()=>{o.formApi.unmount()});const i={};e.onMounted(async()=>{o.formApi.mount(l,s),o.formApi.setState({values:B.cloneDeep(l.values)}),await e.nextTick(),e.watch(()=>l.values,async y=>{if(o.formApi.setState({values:B.cloneDeep(y)}),m(),!r.value.handleValuesChange)return;const c=r.value.schema?.map(d=>d.fieldName)||[];if(c.length===0)return;const f=[];for(const d of c){const h=B.get(y,d),b=B.get(i,d);B.isEqual(h,b)||(f.push(d),B.set(i,d,h))}if(f.length>0){const d=await o.formApi.getValues();r.value.handleValuesChange(B.cloneDeep(d??{}),f)}},{deep:!0})});const m=ue.useDebounceFn(async()=>{n.value.submitOnChange&&await o.formApi.submitForm()},300);function g(y){n.value.submitOnEnter&&(y.target instanceof HTMLTextAreaElement||(y.preventDefault(),o.formApi.submitForm()))}return(y,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value.wrapperClass)},[e.createVNode(Ee,e.mergeProps(r.value,{form:e.unref(l),"form-api":o.formApi,onKeydown:e.withKeys(g,["enter"])}),e.createSlots({default:e.withCtx(()=>[]),_:2},[e.renderList(e.unref(a),f=>({name:f,fn:e.withCtx(d=>[e.renderSlot(y.$slots,f,e.normalizeProps(e.guardReactiveProps(d)))])}))]),1040,["form","form-api"])],2))}});function uo(t={}){const o=new Be(t);return o.useStore=r=>Ie.useStore(o.store.store,r),e.isReactive(t)&&e.watch(()=>t.schema,()=>{t.schema&&o.setState({schema:t.schema})},{immediate:!0}),[e.defineComponent({name:"useSunnyFormWrapper",setup(r,{attrs:s,slots:a}){return o.setState({...r,...s}),()=>e.h(po,{...r,...s,formApi:o},a)}}),o]}const mo=e.defineComponent({__name:"SunnyForm",props:{layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},showDefaultActions:{type:Boolean},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean},submitOnChange:{type:Boolean},handleValuesChange:{type:Function},handleCollapsedChange:{type:Function},handleSubmit:{type:Function},scrollToFirstError:{type:Boolean},handleReset:{type:Function},collapsed:{type:Boolean},showCollapseButton:{type:Boolean},collapsedRows:{},collapseTriggerResize:{type:Boolean},compact:{type:Boolean},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{}},emits:["submit","reset","update:collapsed"],setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n);Fe(s);const a=i=>{r("update:collapsed",i),n.handleCollapsedChange?.(i)},l=i=>{r("submit",i),n.handleSubmit?.(i)};return(i,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.wrapperClass)},[e.createVNode(Ee,{onSubmit:l},{default:e.withCtx(()=>[n.showDefaultActions?(e.openBlock(),e.createBlock(ae,{key:0,"model-value":n.collapsed,"onUpdate:modelValue":a},{"reset-before":e.withCtx(()=>[e.renderSlot(i.$slots,"reset-before")]),"submit-before":e.withCtx(()=>[e.renderSlot(i.$slots,"submit-before")]),"expand-before":e.withCtx(()=>[e.renderSlot(i.$slots,"expand-before")]),"expand-after":e.withCtx(()=>[e.renderSlot(i.$slots,"expand-after")]),_:3},8,["model-value"])):e.createCommentVNode("",!0)]),_:3})],2))}});let ho=class{gridRef;options;constructor(o,n){this.gridRef=o,this.options=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}async addEvent(o={}){const n=this.grid;if(n){const{record:r={},index:s=-1}=o,{row:a}=await n.insertAt(r,s);await e.nextTick(),n.setEditRow(a)}}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}};const yo=e.defineComponent({__name:"use-vxe-grid",setup(t,{expose:o}){const n=e.ref();return o({getGrid:()=>n.value}),(r,s)=>(e.openBlock(),e.createBlock(e.unref(Z.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:n},r.$attrs),e.createSlots({_:2},[e.renderList(r.$slots,(a,l)=>({name:l,fn:e.withCtx(i=>[e.renderSlot(r.$slots,l,e.normalizeProps(e.guardReactiveProps(i||{})))])}))]),1040))}});function go(t){const o=e.ref(),n=new ho(o,t);return[e.defineComponent((s,{attrs:a,slots:l})=>{const{gridEvents:i,gridOptions:m}=t,g=Object.entries(i||{}).reduce((y,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return y[d]=f,y},{});return()=>e.h(yo,{ref:o,...s,...a,...m,...g},l)}),n]}class bo{gridRef;options;constructor(o,n){this.gridRef=o,this.options=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}async addEvent(o={}){const n=this.grid;if(n){const{record:r={},index:s=-1}=o,{row:a}=await n.insertAt(r,s);await e.nextTick(),n.setEditRow(a)}}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}}function ko(t,o){let n=null,r=null,s=null,a=null,l=null,i=!1,m=!1;const g=b=>{if(!b)return window;let k=b.parentElement;for(;k;){const V=window.getComputedStyle(k);if(/(auto|scroll)/.test(V.overflow+V.overflowY+V.overflowX))return k;k=k.parentElement}return window},y=()=>{n&&n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.zIndex="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null)),a&&(a.style.display="none")},c=b=>{m||a&&s&&(i=!0,a.scrollLeft=s.scrollLeft,requestAnimationFrame(()=>{i=!1}))},f=b=>{i||a&&s&&(m=!0,s.scrollLeft=a.scrollLeft,requestAnimationFrame(()=>{m=!1}))},d=()=>{!t.value||a||(a=document.createElement("div"),a.className="vxe-table--sticky-scrollbar",a.style.position="fixed",a.style.bottom="0",a.style.overflowX="auto",a.style.overflowY="hidden",a.style.zIndex="101",a.style.display="none",l=document.createElement("div"),a.appendChild(l),a.addEventListener("scroll",f),document.body.appendChild(a),s=t.value.$el.querySelector(".vxe-table--body-wrapper"),s&&s.addEventListener("scroll",c))},h=()=>{if(!t.value||!n)return;if(!o.sticky){y();return}const b=t.value.$el,k=b.getBoundingClientRect(),V=n.getBoundingClientRect(),x=g(b);let C={top:0,bottom:window.innerHeight};if(x!==window&&x instanceof HTMLElement&&(C=x.getBoundingClientRect()),C.bottom>0&&C.top<window.innerHeight&&k.top<C.top&&k.bottom>V.height){const p=Math.max(0,C.top);k.bottom-V.height>p?(!n.classList.contains("is-sticky")||n.style.top!==`${p}px`||n.style.left!==`${k.left}px`)&&(n.style.position="fixed",n.style.top=`${p}px`,n.style.left=`${k.left}px`,n.style.width=`${k.width}px`,n.style.zIndex="100",n.classList.add("is-sticky"),r||(r=document.createElement("div"),n.parentNode?.insertBefore(r,n)),r.style.height=`${V.height}px`):y()}else n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null));if((!a||!s)&&d(),a&&s&&l){const p=s.scrollWidth,u=s.clientWidth;if(p>u){const S=window.innerHeight;k.bottom>S&&k.top<S?(a.style.display="block",a.style.width=`${k.width}px`,a.style.left=`${k.left}px`,l.style.width=`${p}px`,Math.abs(a.scrollLeft-s.scrollLeft)>1&&(a.scrollLeft=s.scrollLeft)):a.style.display="none"}else a.style.display="none"}};e.watch(()=>o.sticky,()=>{h()}),e.onMounted(()=>{setTimeout(()=>{t.value&&(n=t.value.$el.querySelector(".vxe-table--header-wrapper"),n&&(window.addEventListener("scroll",h,!0),window.addEventListener("resize",h)),d())},100)}),e.onBeforeUnmount(()=>{window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h),r&&r.parentNode&&r.parentNode.removeChild(r),a&&a.parentNode&&a.parentNode.removeChild(a),s&&s.removeEventListener("scroll",c)})}var So=typeof global=="object"&&global&&global.Object===Object&&global,wo=typeof self=="object"&&self&&self.Object===Object&&self,le=So||wo||Function("return this")(),j=le.Symbol,_e=Object.prototype,Co=_e.hasOwnProperty,xo=_e.toString,I=j?j.toStringTag:void 0;function Bo(t){var o=Co.call(t,I),n=t[I];try{t[I]=void 0;var r=!0}catch{}var s=xo.call(t);return r&&(o?t[I]=n:delete t[I]),s}var $o=Object.prototype,Vo=$o.toString;function Po(t){return Vo.call(t)}var Fo="[object Null]",Eo="[object Undefined]",Ne=j?j.toStringTag:void 0;function ie(t){return t==null?t===void 0?Eo:Fo:Ne&&Ne in Object(t)?Bo(t):Po(t)}function ce(t){return t!=null&&typeof t=="object"}var _o="[object Symbol]";function de(t){return typeof t=="symbol"||ce(t)&&ie(t)==_o}function No(t,o){for(var n=-1,r=t==null?0:t.length,s=Array(r);++n<r;)s[n]=o(t[n],n,t);return s}var G=Array.isArray,Oe=j?j.prototype:void 0,ze=Oe?Oe.toString:void 0;function Te(t){if(typeof t=="string")return t;if(G(t))return No(t,Te)+"";if(de(t))return ze?ze.call(t):"";var o=t+"";return o=="0"&&1/t==-1/0?"-0":o}function Re(t){var o=typeof t;return t!=null&&(o=="object"||o=="function")}var Oo="[object AsyncFunction]",zo="[object Function]",To="[object GeneratorFunction]",Ro="[object Proxy]";function Mo(t){if(!Re(t))return!1;var o=ie(t);return o==zo||o==To||o==Oo||o==Ro}var fe=le["__core-js_shared__"],Me=(function(){var t=/[^.]+$/.exec(fe&&fe.keys&&fe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function jo(t){return!!Me&&Me in t}var Ao=Function.prototype,Do=Ao.toString;function Lo(t){if(t!=null){try{return Do.call(t)}catch{}try{return t+""}catch{}}return""}var Io=/[\\^$.*+?()[\]{}|]/g,vo=/^\[object .+?Constructor\]$/,qo=Function.prototype,Uo=Object.prototype,Ho=qo.toString,Go=Uo.hasOwnProperty,Wo=RegExp("^"+Ho.call(Go).replace(Io,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Yo(t){if(!Re(t)||jo(t))return!1;var o=Mo(t)?Wo:vo;return o.test(Lo(t))}function Ko(t,o){return t?.[o]}function je(t,o){var n=Ko(t,o);return Yo(n)?n:void 0}var Xo=9007199254740991,Zo=/^(?:0|[1-9]\d*)$/;function Qo(t,o){var n=typeof t;return o=o??Xo,!!o&&(n=="number"||n!="symbol"&&Zo.test(t))&&t>-1&&t%1==0&&t<o}function Jo(t,o){return t===o||t!==t&&o!==o}var en=9007199254740991;function tn(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=en}var on="[object Arguments]";function Ae(t){return ce(t)&&ie(t)==on}var De=Object.prototype,nn=De.hasOwnProperty,rn=De.propertyIsEnumerable,sn=Ae((function(){return arguments})())?Ae:function(t){return ce(t)&&nn.call(t,"callee")&&!rn.call(t,"callee")},an=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ln=/^\w*$/;function cn(t,o){if(G(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||de(t)?!0:ln.test(t)||!an.test(t)||o!=null&&t in Object(o)}var v=je(Object,"create");function dn(){this.__data__=v?v(null):{},this.size=0}function fn(t){var o=this.has(t)&&delete this.__data__[t];return this.size-=o?1:0,o}var pn="__lodash_hash_undefined__",un=Object.prototype,mn=un.hasOwnProperty;function hn(t){var o=this.__data__;if(v){var n=o[t];return n===pn?void 0:n}return mn.call(o,t)?o[t]:void 0}var yn=Object.prototype,gn=yn.hasOwnProperty;function bn(t){var o=this.__data__;return v?o[t]!==void 0:gn.call(o,t)}var kn="__lodash_hash_undefined__";function Sn(t,o){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=v&&o===void 0?kn:o,this}function N(t){var o=-1,n=t==null?0:t.length;for(this.clear();++o<n;){var r=t[o];this.set(r[0],r[1])}}N.prototype.clear=dn,N.prototype.delete=fn,N.prototype.get=hn,N.prototype.has=bn,N.prototype.set=Sn;function wn(){this.__data__=[],this.size=0}function W(t,o){for(var n=t.length;n--;)if(Jo(t[n][0],o))return n;return-1}var Cn=Array.prototype,xn=Cn.splice;function Bn(t){var o=this.__data__,n=W(o,t);if(n<0)return!1;var r=o.length-1;return n==r?o.pop():xn.call(o,n,1),--this.size,!0}function $n(t){var o=this.__data__,n=W(o,t);return n<0?void 0:o[n][1]}function Vn(t){return W(this.__data__,t)>-1}function Pn(t,o){var n=this.__data__,r=W(n,t);return r<0?(++this.size,n.push([t,o])):n[r][1]=o,this}function A(t){var o=-1,n=t==null?0:t.length;for(this.clear();++o<n;){var r=t[o];this.set(r[0],r[1])}}A.prototype.clear=wn,A.prototype.delete=Bn,A.prototype.get=$n,A.prototype.has=Vn,A.prototype.set=Pn;var Fn=je(le,"Map");function En(){this.size=0,this.__data__={hash:new N,map:new(Fn||A),string:new N}}function _n(t){var o=typeof t;return o=="string"||o=="number"||o=="symbol"||o=="boolean"?t!=="__proto__":t===null}function Y(t,o){var n=t.__data__;return _n(o)?n[typeof o=="string"?"string":"hash"]:n.map}function Nn(t){var o=Y(this,t).delete(t);return this.size-=o?1:0,o}function On(t){return Y(this,t).get(t)}function zn(t){return Y(this,t).has(t)}function Tn(t,o){var n=Y(this,t),r=n.size;return n.set(t,o),this.size+=n.size==r?0:1,this}function O(t){var o=-1,n=t==null?0:t.length;for(this.clear();++o<n;){var r=t[o];this.set(r[0],r[1])}}O.prototype.clear=En,O.prototype.delete=Nn,O.prototype.get=On,O.prototype.has=zn,O.prototype.set=Tn;var Rn="Expected a function";function pe(t,o){if(typeof t!="function"||o!=null&&typeof o!="function")throw new TypeError(Rn);var n=function(){var r=arguments,s=o?o.apply(this,r):r[0],a=n.cache;if(a.has(s))return a.get(s);var l=t.apply(this,r);return n.cache=a.set(s,l)||a,l};return n.cache=new(pe.Cache||O),n}pe.Cache=O;var Mn=500;function jn(t){var o=pe(t,function(r){return n.size===Mn&&n.clear(),r}),n=o.cache;return o}var An=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Ln=jn(function(t){var o=[];return t.charCodeAt(0)===46&&o.push(""),t.replace(An,function(n,r,s,a){o.push(s?a.replace(Dn,"$1"):r||n)}),o});function In(t){return t==null?"":Te(t)}function vn(t,o){return G(t)?t:cn(t,o)?[t]:Ln(In(t))}function qn(t){if(typeof t=="string"||de(t))return t;var o=t+"";return o=="0"&&1/t==-1/0?"-0":o}function Un(t,o){return t!=null&&o in Object(t)}function Hn(t,o,n){o=vn(o,t);for(var r=-1,s=o.length,a=!1;++r<s;){var l=qn(o[r]);if(!(a=t!=null&&n(t,l)))break;t=t[l]}return a||++r!=s?a:(s=t==null?0:t.length,!!s&&tn(s)&&Qo(l,s)&&(G(t)||sn(t)))}function Gn(t,o){return t!=null&&Hn(t,o,Un)}const Wn={class:"my-filter-complex"},Yn={key:0,class:"my-filter-input"},Kn={class:"my-fc-footer"},Xn=be(e.defineComponent({__name:"FilterComplex",props:{renderOpts:Object,renderParams:Object},setup(t){const o=t,n=e.ref(),r=e.computed(()=>{const{column:c}=o.renderParams||{};return c?c.field:""}),s=()=>{const{renderParams:c}=o;if(c){const{column:f}=c,d=f.filters[0];n.value=d}};e.watch(r,()=>{s()}),s();const a=e.computed(()=>o.renderParams.column),l=e.computed(()=>Gn(a.value.params,"optionlist")?"select":"input"),i=()=>{const{renderParams:c}=o,f=n.value;if(c&&f){const{$table:d}=c,h=!!f.data;d.updateFilterOptionStatus(f,h)}},m=()=>{const{renderParams:c}=o,f={};if(c){const{$table:d}=c;d.getColumns().forEach(b=>{const{field:k,filters:V}=b;if(k&&V&&V.length){const x=V[0];x.data&&(f[k]=x.data)}})}return f},g=()=>{const{renderParams:c}=o;if(c){const{$table:f,$grid:d}=c,h=n.value;h&&f.updateFilterOptionStatus(h,!!h.data);const b=m();d.commitProxy("query",b),d.closeFilter()}},y=()=>{const{renderParams:c}=o,f=n.value;if(c&&f){const{$table:d,$grid:h}=c;f.data="",d.updateFilterOptionStatus(f,!1);const b=m();h.commitProxy("query",b),h.closeFilter()}};return(c,f)=>(e.openBlock(),e.createElementBlock("div",Wn,[n.value?(e.openBlock(),e.createElementBlock("div",Yn,[l.value==="select"?(e.openBlock(),e.createBlock(e.unref(z.VxeSelect),{key:0,modelValue:n.value.data,"onUpdate:modelValue":f[0]||(f[0]=d=>n.value.data=d),options:a.value.params.optionlist,clearable:"",onChange:i},null,8,["modelValue","options"])):(e.openBlock(),e.createBlock(e.unref(z.VxeInput),{key:1,modelValue:n.value.data,"onUpdate:modelValue":f[1]||(f[1]=d=>n.value.data=d),clearable:"",onKeyup:e.withKeys(g,["enter"]),onInput:i},null,8,["modelValue"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Kn,[e.createVNode(e.unref(z.VxeButton),{onClick:y},{default:e.withCtx(()=>[...f[2]||(f[2]=[e.createTextVNode("重置",-1)])]),_:1}),e.createVNode(e.unref(z.VxeButton),{status:"primary",onClick:g},{default:e.withCtx(()=>[...f[3]||(f[3]=[e.createTextVNode("确认",-1)])]),_:1})])]))}}),[["__scopeId","data-v-98a6f5eb"]]);Z.VxeUI.renderer.add("MyFilterComplex",{showTableFilterFooter:!1,renderTableFilter(t,o){return React.createElement(Xn,{renderOpts:t,renderParams:o})}});const Zn=e.defineComponent({components:{VxePager:z.VxePager,VxeButton:z.VxeButton},__name:"use-query-grid",setup(t,{expose:o}){const n=e.ref(),r=e.useAttrs();return ko(n,r),o({getGrid:()=>n.value}),(s,a)=>(e.openBlock(),e.createBlock(e.unref(Z.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:n},s.$attrs),e.createSlots({_:2},[e.renderList(s.$slots,(l,i)=>({name:i,fn:e.withCtx(m=>[e.renderSlot(s.$slots,i,e.normalizeProps(e.guardReactiveProps(m||{})))])}))]),1040))}});function Qn(t){const o=e.ref(),n=new bo(o,t);return[e.defineComponent((s,{attrs:a,slots:l})=>{const{gridEvents:i,gridOptions:m}=t,g=Object.entries(i||{}).reduce((y,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return y[d]=f,y},{});return()=>e.h(Zn,{ref:o,...s,...a,...m,...g},l)}),n]}let q=null;async function Le(){return q||(q=await import("nprogress"),q.configure({showSpinner:!0,speed:300}),q)}async function Jn(){(await Le())?.start()}async function er(){(await Le())?.done()}Object.defineProperty($,"patterns",{enumerable:!0,get:()=>B.patterns}),$.z=Ge,$.FormApi=Be,$.Modal=he,$.ModalTypes=Vt,$.SunnyBatchSelect=Yt,$.SunnyForm=mo,$.SunnyIcon=re,$.SunnyScrollbar=_t,$.SunnySearchInputTag=Kt,$.SunnySelect=Se,$.SunnyUpload=Ut,$.setupSunnyForm=lo,$.startProgress=Jn,$.stopProgress=er,$.useSunnyEditGrid=go,$.useSunnyForm=uo,$.useSunnyModal=$t,$.useSunnyQueryGrid=Qn,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function($,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@arco-design/web-vue"),require("@sunny-base-web/icons"),require("@sunny-base-web/utils"),require("reka-ui"),require("axios"),require("@tanstack/vue-store"),require("@tanstack/store"),require("@vueuse/core"),require("vee-validate"),require("@vee-validate/zod"),require("zod"),require("vxe-table"),require("vxe-pc-ui")):typeof define=="function"&&define.amd?define(["exports","vue","@arco-design/web-vue","@sunny-base-web/icons","@sunny-base-web/utils","reka-ui","axios","@tanstack/vue-store","@tanstack/store","@vueuse/core","vee-validate","@vee-validate/zod","zod","vxe-table","vxe-pc-ui"],e):($=typeof globalThis<"u"?globalThis:$||self,e($.SunnyBaseWebUI={},$.Vue,$.ArcoVue,$.icons,$.utils,$.rekaUi,$.axios,$.vueStore,$.store,$.core,$.veeValidate,$.zod$1,$.zod,$.vxeTable,$.vxePcUi))})(this,(function($,e,w,ue,B,L,K,Ue,He,me,O,We,Ge,X,R){"use strict";function Ye(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const Ke=Ye(Ge),Xe=Symbol("ArcoConfigProvider"),Ze="arco",Qe="$arco",N=t=>{var o,n,r;const s=e.getCurrentInstance(),l=e.inject(Xe,void 0);return`${(r=(n=l?.prefixCls)!=null?n:(o=s?.appContext.config.globalProperties[Qe])==null?void 0:o.classPrefix)!=null?r:Ze}-${t}`},Je=Object.prototype.toString;function _(t){return Je.call(t)==="[object Number]"&&t===t}var z=(t,o)=>{for(const[n,r]of o)t[n]=r;return t};const et=e.defineComponent({name:"IconClose",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-close`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),tt=["stroke-width","stroke-linecap","stroke-linejoin"];function ot(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M9.857 9.858 24 24m0 0 14.142 14.142M24 24 38.142 9.858M24 24 9.857 38.142"},null,-1)]),14,tt)}var Z=z(et,[["render",ot]]);const nt=Object.assign(Z,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+Z.name,Z)}}),rt=e.defineComponent({name:"IconQuestionCircle",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-question-circle`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),st=["stroke-width","stroke-linecap","stroke-linejoin"];function at(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M42 24c0 9.941-8.059 18-18 18S6 33.941 6 24 14.059 6 24 6s18 8.059 18 18Z"},null,-1),e.createElementVNode("path",{d:"M24.006 31v4.008m0-6.008L24 28c0-3 3-4 4.78-6.402C30.558 19.195 28.288 15 23.987 15c-4.014 0-5.382 2.548-5.388 4.514v.465"},null,-1)]),14,st)}var Q=z(rt,[["render",at]]);const he=Object.assign(Q,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+Q.name,Q)}}),lt=e.defineComponent({name:"IconSearch",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-search`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),it=["stroke-width","stroke-linecap","stroke-linejoin"];function ct(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485"},null,-1)]),14,it)}var J=z(lt,[["render",ct]]);const dt=Object.assign(J,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+J.name,J)}}),ft=e.defineComponent({name:"IconUpload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-upload`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),pt=["stroke-width","stroke-linecap","stroke-linejoin"];function ut(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M14.93 17.071 24.001 8l9.071 9.071m-9.07 16.071v-25M40 35v6H8v-6"},null,-1)]),14,pt)}var ee=z(ft,[["render",ut]]);const mt=Object.assign(ee,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ee.name,ee)}}),ht=e.defineComponent({name:"IconAttachment",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-attachment`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),yt=["stroke-width","stroke-linecap","stroke-linejoin"];function gt(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",stroke:"currentColor",xmlns:"http://www.w3.org/2000/svg",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M29.037 15.236s-9.174 9.267-11.48 11.594c-2.305 2.327-1.646 4.987-.329 6.316 1.317 1.33 3.994 1.953 6.258-.332L37.32 18.851c3.623-3.657 2.092-8.492 0-10.639-2.093-2.147-6.916-3.657-10.54 0L11.3 23.838c-3.623 3.657-3.953 10.638.329 14.96 4.282 4.322 11.115 4.105 14.821.333 3.706-3.773 8.74-8.822 11.224-11.33"},null,-1)]),14,yt)}var te=z(ht,[["render",gt]]);const kt=Object.assign(te,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+te.name,te)}}),bt=e.defineComponent({name:"IconDelete",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-delete`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),St=["stroke-width","stroke-linecap","stroke-linejoin"];function wt(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M5 11h5.5m0 0v29a1 1 0 0 0 1 1h25a1 1 0 0 0 1-1V11m-27 0H16m21.5 0H43m-5.5 0H32m-16 0V7h16v4m-16 0h16M20 18v15m8-15v15"},null,-1)]),14,St)}var oe=z(bt,[["render",wt]]);const ye=Object.assign(oe,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+oe.name,oe)}}),Ct=e.defineComponent({name:"IconFullscreenExit",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-fullscreen-exit`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),xt=["stroke-width","stroke-linecap","stroke-linejoin"];function Bt(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M35 6v8a1 1 0 0 0 1 1h8M13 6v8a1 1 0 0 1-1 1H4m31 27v-8a1 1 0 0 1 1-1h8m-31 9v-8a1 1 0 0 0-1-1H4"},null,-1)]),14,xt)}var ne=z(Ct,[["render",Bt]]);const $t=Object.assign(ne,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+ne.name,ne)}}),Pt=e.defineComponent({name:"IconFullscreen",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const n=N("icon"),r=e.computed(()=>[n,`${n}-fullscreen`,{[`${n}-spin`]:t.spin}]),s=e.computed(()=>{const a={};return t.size&&(a.fontSize=_(t.size)?`${t.size}px`:t.size),t.rotate&&(a.transform=`rotate(${t.rotate}deg)`),a});return{cls:r,innerStyle:s,onClick:a=>{o("click",a)}}}}),Vt=["stroke-width","stroke-linecap","stroke-linejoin"];function Et(t,o,n,r,s,l){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...a)=>t.onClick&&t.onClick(...a))},o[1]||(o[1]=[e.createElementVNode("path",{d:"M42 17V9a1 1 0 0 0-1-1h-8M6 17V9a1 1 0 0 1 1-1h8m27 23v8a1 1 0 0 1-1 1h-8M6 31v8a1 1 0 0 0 1 1h8"},null,-1)]),14,Vt)}var re=z(Pt,[["render",Et]]);const Ft=Object.assign(re,{install:(t,o)=>{var n;const r=(n=o?.iconPrefix)!=null?n:"";t.component(r+re.name,re)}}),Nt={class:"flex-1 font-semibold text-base text-[var(--color-text-1)] overflow-hidden text-ellipsis whitespace-nowrap"},_t={class:"flex items-center gap-3 ml-3"},zt={class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]"},Ot={key:1,class:"flex items-center justify-end gap-2"},ge=e.defineComponent({__name:"Modal",props:{modelValue:{type:Boolean,default:!1},title:{default:"Title"},width:{default:"50%"},top:{},zIndex:{default:1e3},helpMessage:{default:"双击标题栏可最大化/还原,按 ESC 可关闭弹窗"},closeOnEsc:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},okText:{},cancelText:{},okLoading:{type:Boolean},confirmLoading:{type:Boolean},hideCancel:{type:Boolean},okButtonProps:{},cancelButtonProps:{},onVisibleChange:{},onBeforeOk:{},onBeforeCancel:{},onClose:{},onOk:{}},emits:["update:modelValue","close","ok"],setup(t,{emit:o}){const n=t,r=o,s=e.useAttrs(),l=e.ref(!1),a=e.computed({get:()=>n.modelValue,set:f=>r("update:modelValue",f)}),i=e.ref(!1),m=()=>{i.value=!i.value},g=async()=>{const f=n.onBeforeCancel;typeof f=="function"&&await f()===!1||(a.value=!1,r("close"))},y=g,c=async()=>{const f=n.onBeforeOk;if(typeof f=="function")try{l.value=!0,await f()!==!1&&(r("ok"),a.value=!1)}catch(d){console.error(d)}finally{l.value=!1}else r("ok"),a.value=!1};return(f,d)=>(e.openBlock(),e.createBlock(e.unref(w.Modal),e.mergeProps({visible:a.value,"onUpdate:visible":d[0]||(d[0]=h=>a.value=h),title:t.title,width:t.width,top:t.top,"z-index":t.zIndex,"mask-closable":t.closeOnClickModal,"esc-to-close":t.closeOnEsc,fullscreen:i.value,closable:!1},f.$attrs,{class:"k-modal-custom"}),{title:e.withCtx(()=>[e.createElementVNode("div",{class:"flex items-center justify-between w-full",onDblclick:m},[e.createElementVNode("div",Nt,[e.renderSlot(f.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),e.createElementVNode("div",_t,[t.helpMessage?(e.openBlock(),e.createBlock(e.unref(w.Tooltip),{key:0,content:t.helpMessage},{default:e.withCtx(()=>[e.createElementVNode("div",zt,[e.createVNode(e.unref(he))])]),_:1},8,["content"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[var(--color-text-1)]",onClick:e.withModifiers(m,["stop"])},[i.value?(e.openBlock(),e.createBlock(e.unref($t),{key:0})):(e.openBlock(),e.createBlock(e.unref(Ft),{key:1}))]),e.createElementVNode("div",{class:"cursor-pointer text-[var(--color-text-2)] flex items-center justify-center transition-colors duration-200 text-base hover:text-[rgb(var(--red-6))]",onClick:e.withModifiers(g,["stop"])},[e.createVNode(e.unref(nt))])])],32)]),footer:e.withCtx(()=>[f.$slots.footer?e.renderSlot(f.$slots,"footer",{key:0}):(e.openBlock(),e.createElementBlock("div",Ot,[e.renderSlot(f.$slots,"insertFooter"),e.unref(s).hideCancel?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0},e.unref(s).cancelButtonProps,{onClick:e.unref(y)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).cancelText||"取消"),1)]),_:1},16,["onClick"])),e.renderSlot(f.$slots,"centerFooter"),e.createVNode(e.unref(w.Button),e.mergeProps({type:"primary",loading:l.value||e.unref(s).okLoading||e.unref(s).confirmLoading},e.unref(s).okButtonProps,{onClick:c}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s).okText||"确定"),1)]),_:1},16,["loading"]),e.renderSlot(f.$slots,"appendFooter")]))]),default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},16,["visible","title","width","top","z-index","mask-closable","esc-to-close","fullscreen"]))}});class jt{state;constructor(o={}){this.state=e.reactive({modelValue:!1,...o})}open=()=>{this.setState({modelValue:!0}),this.state.onVisibleChange?.(!0)};close=()=>{this.setState({modelValue:!1}),this.state.onVisibleChange?.(!1)};setState(o){if(typeof o=="function"){const n=o(this.state);Object.assign(this.state,n)}else Object.assign(this.state,o);return this}}function Tt(t={}){const o=new jt(t);return[e.defineComponent({name:"SunnyConnectedModal",inheritAttrs:!1,setup(r,{attrs:s,slots:l}){return()=>e.h(ge,{...o.state,...s,"onUpdate:modelValue":a=>{o.setState({modelValue:a}),o.state.onVisibleChange?.(a),typeof s["onUpdate:modelValue"]=="function"&&s["onUpdate:modelValue"](a)}},l)}}),o]}const Rt=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Mt=["src"],ke=e.defineComponent({__name:"icon",props:{fallback:{type:Boolean},icon:{type:[Function,String]}},setup(t){const o=t,n=e.computed(()=>B.isString(o.icon)&&B.isHttpUrl(o.icon)),r=e.computed(()=>{const{icon:s}=o;return!B.isString(s)&&(B.isObject(s)||B.isFunction(s))});return(s,l)=>r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),e.normalizeProps(e.mergeProps({key:0},s.$attrs)),null,16)):n.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,src:t.icon},s.$attrs),null,16,Mt)):t.icon?(e.openBlock(),e.createBlock(e.unref(ue.IconifyIcon),e.mergeProps({key:2},s.$attrs,{icon:t.icon}),null,16,["icon"])):t.fallback?(e.openBlock(),e.createBlock(e.unref(ue.IconDefault),e.normalizeProps(e.mergeProps({key:3},s.$attrs)),null,16)):e.createCommentVNode("",!0)}}),be=e.defineComponent({__name:"ScrollBar",props:{orientation:{default:"vertical"},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=e.computed(()=>{const{class:r,...s}=o;return s});return(r,s)=>(e.openBlock(),e.createBlock(e.unref(L.ScrollAreaScrollbar),e.mergeProps(n.value,{class:e.unref(B.cn)("flex touch-none select-none transition-colors",t.orientation==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",t.orientation==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(L.ScrollAreaThumb),{class:"relative flex-1 rounded-full bg-border"})]),_:1},16,["class"]))}}),At=e.defineComponent({__name:"ScrollArea",props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{},onScroll:{type:Function,default:()=>{}},viewportProps:{}},setup(t){const o=t,n=e.computed(()=>{const{class:r,...s}=o;return s});return(r,s)=>(e.openBlock(),e.createBlock(e.unref(L.ScrollAreaRoot),e.mergeProps(n.value,{class:e.unref(B.cn)("relative overflow-hidden",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(L.ScrollAreaViewport),{"as-child":"",class:"h-full w-full rounded-[inherit] focus:outline-none",onScroll:t.onScroll},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["onScroll"]),e.createVNode(be),e.createVNode(e.unref(L.ScrollAreaCorner))]),_:3},16,["class"]))}}),Se=1,Lt=e.defineComponent({__name:"scrollbar",props:{class:{default:""},horizontal:{type:Boolean,default:!1},scrollBarClass:{},shadow:{type:Boolean,default:!1},shadowBorder:{type:Boolean,default:!1},shadowBottom:{type:Boolean,default:!0},shadowLeft:{type:Boolean,default:!1},shadowRight:{type:Boolean,default:!1},shadowTop:{type:Boolean,default:!0}},emits:["scrollAt"],setup(t,{emit:o}){const n=t,r=o,s=e.ref(!0),l=e.ref(!1),a=e.ref(!1),i=e.ref(!0),m=e.computed(()=>n.shadow&&n.shadowTop),g=e.computed(()=>n.shadow&&n.shadowBottom),y=e.computed(()=>n.shadow&&n.shadowLeft),c=e.computed(()=>n.shadow&&n.shadowRight),f=e.computed(()=>({"both-shadow":!i.value&&!l.value&&y.value&&c.value,"left-shadow":!i.value&&y.value,"right-shadow":!l.value&&c.value}));function d(h){const k=h.target,b=k?.scrollTop??0,P=k?.scrollLeft??0,x=k?.clientHeight??0,C=k?.clientWidth??0,E=k?.scrollHeight??0,p=k?.scrollWidth??0;s.value=b<=0,i.value=P<=0,a.value=Math.abs(b)+x>=E-Se,l.value=Math.abs(P)+C>=p-Se,r("scrollAt",{bottom:a.value,left:i.value,right:l.value,top:s.value})}return(h,k)=>(e.openBlock(),e.createBlock(e.unref(At),{class:e.normalizeClass([[e.unref(B.cn)(n.class),f.value],"sunny-scrollbar relative"]),"on-scroll":d},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([{"opacity-100":!s.value,"border-t border-border":t.shadowBorder&&!s.value},"scrollbar-top-shadow pointer-events-none absolute top-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),e.renderSlot(h.$slots,"default",{},void 0,!0),g.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"opacity-100":!s.value&&!a.value,"border-b border-border":t.shadowBorder&&!s.value&&!a.value},"scrollbar-bottom-shadow pointer-events-none absolute bottom-0 z-10 h-12 w-full opacity-0 transition-opacity duration-300 ease-in-out will-change-[opacity]"])},null,2)):e.createCommentVNode("",!0),t.horizontal?(e.openBlock(),e.createBlock(e.unref(be),{key:2,class:e.normalizeClass(t.scrollBarClass),orientation:"horizontal"},null,8,["class"])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),we=(t,o)=>{const n=t.__vccOpts||t;for(const[r,s]of o)n[r]=s;return n},Dt=we(Lt,[["__scopeId","data-v-913bc4ec"]]),It={class:"sunny-file-upload"},vt={class:"font-bold text-gray-700 mb-2"},qt={class:"flex flex-wrap items-center text-sm mb-3 select-none"},Ut={class:"cursor-pointer text-blue-600 hover:text-blue-700 flex items-center mr-4 transition-colors"},Ht={class:"text-xs text-blue-600"},Wt={class:"text-xs text-gray-400"},Gt={class:"border border-dashed border-gray-300 rounded-lg p-4 transition-all duration-300"},Yt={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},Kt={class:"flex-1 min-w-0 pr-8"},Xt=["title"],Zt={class:"flex items-center text-xs text-gray-500"},Qt={class:"mr-3 min-w-[3em]"},Jt={class:"ml-2 w-8 text-right"},Ce=1024,eo=e.defineComponent({__name:"index",props:{modelValue:{default:""},action:{default:""},delAction:{default:""},accept:{default:".csv,.pdf,.xls,.xlsx"},limit:{default:10},maxSize:{default:10},storeType:{default:"amazon"},s3FileDir:{default:""},preSigned:{default:""},preSignedExpire:{default:""},readonly:{type:Boolean,default:!1},showEncrypt:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=t,s=o,l=e.ref(!0),a=e.ref(!1),i=e.ref([]),m=e.ref(!1),g=e.computed(()=>i.value.every(p=>!!p.url)),y=e.computed(()=>i.value.filter(p=>p.checked).length);e.watch(()=>r.modelValue,p=>{try{i.value=JSON.parse(p||"[]")}catch(u){console.warn("Failed to parse modelValue:",u),i.value=[]}},{immediate:!0,deep:!0});const c=p=>p,f=p=>{if(p===0)return"0 B";const u=Math.floor(Math.log(p)/Math.log(Ce));return(p/Math.pow(Ce,u)).toPrecision(3)+" "+n[u]},d=p=>{const u=p.type||"",V=(p.name||"").split(".").pop()?.toLowerCase()||"",F={"vscode-icons:file-type-excel":["xls","xlsx","csv"],"vscode-icons:file-type-powerpoint":["ppt","pptx"],"vscode-icons:file-type-text":["txt"],"vscode-icons:file-type-word":["doc","docx"],"vscode-icons:file-type-zip":["zip","rar","7z","tar","gz"],"vscode-icons:file-type-pdf":["pdf"]};for(const[q,Y]of Object.entries(F))if(Y.includes(V)||Y.some(fr=>u.includes(fr)))return q;return u.includes("excel")||u.includes("spreadsheet")?"vscode-icons:file-type-excel":u.includes("powerpoint")||u.includes("presentation")?"vscode-icons:file-type-powerpoint":u.includes("text/plain")?"vscode-icons:file-type-text":u.includes("word")||u.includes("document")?"vscode-icons:file-type-word":u.includes("zip")||u.includes("compressed")?"vscode-icons:file-type-zip":u.includes("pdf")?"vscode-icons:file-type-pdf":"vscode-icons:default-file"},h=()=>{const p=JSON.stringify(i.value);s("update:modelValue",p),s("change",p)},k=(p,u)=>{if(u.status!=="init")return;if(i.value.length>=r.limit){w.Message.error(`最多上传${r.limit}个文件`);return}const S=r.maxSize*1024*1024;if(u.file.size>S){w.Message.error(`文件最大限制${f(S)}`);return}i.value.push({uid:u.uid,name:u.name,size:u.file?.size,type:u.file?.type,file:u.file,percentage:0,checked:!1})},b=async()=>{if(i.value.length===0)return;const p=i.value.filter(u=>!u.url);for(const u of p){const S=new FormData;S.append("fileName",u.file),S.append("encryptFile",a.value?"1":"0"),r.storeType&&S.append("storeType",r.storeType),r.s3FileDir&&S.append("s3FileDir",r.s3FileDir),r.preSigned&&S.append("preSigned",r.preSigned),r.preSignedExpire&&S.append("preSignedExpire",r.preSignedExpire);try{const V=await K.post(r.action,S,{onUploadProgress:q=>{if(q.total){const Y=Math.floor(q.loaded/q.total*100);u.percentage=Y}}}),{data:F}=V;F.code===200?(Object.assign(u,F.result),w.Message.success(F.message||"上传成功")):(w.Message.error(F.message||"上传失败"),P(u.uid))}catch{w.Message.error("上传失败"),P(u.uid)}}h()},P=p=>{const u=i.value.findIndex(S=>S.uid===p);u>-1&&i.value.splice(u,1)},x=(p,u)=>{p.url?w.Modal.confirm({title:c("提示"),content:c("是否删除该文件?"),onOk:()=>{K.post(r.delAction,{filePathList:[p.url],storeType:r.storeType}).then(S=>{const{data:V}=S;w.Message[V.success?"success":"error"](V.message),V.code===200&&(i.value.splice(u,1),h())})}}):(i.value.splice(u,1),h())},C=()=>{const p=i.value.every(u=>u.checked);i.value.forEach(u=>u.checked=!p)},E=()=>{const p=i.value.filter(u=>u.checked);p.length!==0&&w.Modal.confirm({title:c("提示"),content:c("是否删除选中的文件?"),onOk:()=>{m.value=!0;const u=p.map(S=>S.url).filter(Boolean);u.length>0?K.post(r.delAction,{filePathList:u,storeType:r.storeType}).then(S=>{const{data:V}=S;w.Message[V.success?"success":"error"](V.message),V.code===200&&(i.value=i.value.filter(F=>!F.checked),h())}).finally(()=>{m.value=!1}):(i.value=i.value.filter(S=>!S.checked),h(),m.value=!1)}})};return(p,u)=>(e.openBlock(),e.createElementBlock("div",It,[e.createElementVNode("div",vt,e.toDisplayString(c("附件")),1),e.withDirectives(e.createElementVNode("div",qt,[e.createVNode(e.unref(w.Upload),{"show-file-list":!1,"auto-upload":!1,multiple:"",accept:t.accept,onChange:k},{"upload-button":e.withCtx(()=>[e.createElementVNode("span",Ut,[e.createVNode(e.unref(kt),{class:"mr-1 w-4 h-4"}),e.createTextVNode(" "+e.toDisplayString(c("选择附件")),1)])]),_:1},8,["accept"]),e.createElementVNode("span",{class:e.normalizeClass(["flex items-center mr-4 transition-colors",g.value?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-600 hover:text-gray-800"]),onClick:u[0]||(u[0]=S=>!g.value&&b())},[e.createVNode(e.unref(mt),{class:"mr-1 w-4 h-4"}),e.createTextVNode(" "+e.toDisplayString(c("上传附件")),1)],2),e.createElementVNode("span",{class:"cursor-pointer text-blue-600 hover:text-blue-700 mr-4 transition-colors",onClick:C},e.toDisplayString(c("全选")),1),e.createElementVNode("span",{class:e.normalizeClass(["mr-4 transition-colors",y.value===0?"text-gray-300 cursor-not-allowed":"cursor-pointer text-gray-500 hover:text-red-500"]),onClick:E},e.toDisplayString(c("删除")),3),t.showEncrypt?(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:a.value,"onUpdate:modelValue":u[1]||(u[1]=S=>a.value=S),class:"mr-4"},{default:e.withCtx(()=>[e.createElementVNode("span",Ht,e.toDisplayString(c("是否加密")),1)]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("span",Wt," ("+e.toDisplayString(c("单个文件最大"))+e.toDisplayString(t.maxSize)+"MB,"+e.toDisplayString(c("最多上传"))+e.toDisplayString(t.limit)+e.toDisplayString(c("个"))+") ",1),e.createElementVNode("span",{class:"ml-auto cursor-pointer text-blue-600 text-xs hover:text-blue-700 transition-colors",onClick:u[2]||(u[2]=S=>l.value=!l.value)},e.toDisplayString(l.value?c("隐藏"):c("展开")),1)],512),[[e.vShow,!t.readonly]]),e.withDirectives(e.createElementVNode("div",Gt,[e.createElementVNode("div",Yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(S,V)=>(e.openBlock(),e.createElementBlock("div",{key:S.uid||V,class:"bg-gray-50 hover:bg-gray-100 rounded p-3 relative flex items-center border border-transparent hover:border-gray-200 transition-colors group"},[e.createVNode(e.unref(ke),{icon:d(S),class:"w-10 h-10 mr-3 flex-shrink-0"},null,8,["icon"]),e.createElementVNode("div",Kt,[e.createElementVNode("div",{class:"text-sm truncate font-medium text-gray-700 mb-1",title:S.name},e.toDisplayString(S.name),9,Xt),e.createElementVNode("div",Zt,[e.createElementVNode("span",Qt,e.toDisplayString(f(S.size)),1),e.createVNode(e.unref(w.Progress),{percent:S.percentage/100,size:"small","show-text":!1,color:S.percentage===100?"#00b42a":"#165dff",class:"flex-1"},null,8,["percent","color"]),e.createElementVNode("span",Jt,e.toDisplayString(S.percentage)+"%",1)])]),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.Checkbox),{key:0,modelValue:S.checked,"onUpdate:modelValue":F=>S.checked=F,class:"absolute top-3 right-3"},null,8,["modelValue","onUpdate:modelValue"])),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ye),{key:1,class:"absolute bottom-3 right-3 w-4 h-4 cursor-pointer text-gray-400 hover:text-red-500 transition-colors",onClick:F=>x(S,V)},null,8,["onClick"]))]))),128))])],512),[[e.vShow,i.value.length>0&&l.value]])]))}}),xe=e.defineComponent({name:"SunnySelect",inheritAttrs:!1,props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},options:{type:Array,default:()=>[]},filterModel:{type:Object,default:void 0}},emits:["update:modelValue"],setup(t,{emit:o,slots:n,attrs:r}){const s=i=>{const m=i.cMeta;return!m||Object.keys(m).length===0?!0:!t.filterModel||Object.keys(t.filterModel).length===0?!1:Object.entries(m).every(([g,y])=>{const c=t.filterModel[g];return c==null?!1:String(c)===String(y)})},l=e.computed(()=>{const i=t.modelValue;if(i==null||i===""||r["allow-create"]===!0||r["allow-create"]==="")return i;const m=g=>t.options.some(y=>s(y)?y.value==g||typeof g=="object"&&g!==null&&"value"in g&&y.value==g.value:!1);if(Array.isArray(i)){const g=i.filter(y=>m(y));return g.length===i.length?i:g}else return m(i)?i:void 0});e.watch(l,i=>{i!==t.modelValue&&o("update:modelValue",i)});const a=i=>{o("update:modelValue",i)};return()=>React.createElement(w.Select,{...r,modelValue:l.value,"onUpdate:modelValue":a},{default:()=>t.options.map(i=>s(i)?React.createElement(w.Option,{key:i.value,...i},{default:()=>n.option?n.option({data:i}):i.label}):null),...Object.fromEntries(Object.entries(n).filter(([i])=>i!=="option"&&i!=="default"))})}}),to={class:"flex items-center justify-between px-3 py-2 border-b border-[var(--color-neutral-3)] bg-[var(--color-bg-popup)] select-none"},oo={class:"flex items-center gap-1"},no={class:"w-6 h-6 flex items-center justify-center rounded cursor-help text-[var(--color-text-3)] hover:text-[var(--color-text-1)] hover:bg-[var(--color-fill-3)] transition-all"},ro=e.defineComponent({name:"SunnyBatchSelect",inheritAttrs:!1,__name:"BatchSelect",props:{modelValue:{default:()=>[]},options:{default:()=>[]},matchStrategy:{default:"both"},filterModel:{default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.options.filter(c=>!c.disabled)),l=e.computed(()=>s.value.length===0?!1:s.value.every(c=>n.modelValue.includes(c.value))),a=e.computed(()=>{if(s.value.length===0)return!1;const c=s.value.filter(f=>n.modelValue.includes(f.value)).length;return c>0&&c<s.value.length}),i=c=>{r("update:modelValue",c),r("change",c)},m=c=>{if(c===!0){const d=s.value.map(b=>b.value),h=n.modelValue.filter(b=>{const P=n.options.find(x=>x.value===b);return P&&P.disabled}),k=Array.from(new Set([...h,...d]));r("update:modelValue",k),r("change",k)}else{const d=n.modelValue.filter(h=>{const k=n.options.find(b=>b.value===h);return k&&k.disabled});r("update:modelValue",d),r("change",d)}},g=()=>{const c=n.modelValue.filter(f=>{const d=n.options.find(h=>h.value===f);return d&&d.disabled});r("update:modelValue",c),r("change",c)},y=c=>{const f=c.clipboardData||window.clipboardData;if(!f)return;const d=f.getData("text");if(!d)return;const h=d.split(/\r?\n/).map(x=>x.trim()).filter(x=>x);if(h.length===0)return;const k=[];let b=0;const P=x=>{const C=x.cMeta;return!C||Object.keys(C).length===0?!0:!n.filterModel||Object.keys(n.filterModel).length===0?!1:Object.entries(C).every(([E,p])=>{const u=n.filterModel[E];return u==null?!1:String(u)===String(p)})};if(h.forEach(x=>{if(n.matchStrategy==="value"||n.matchStrategy==="both"){const C=n.options.find(E=>String(E.value)===x);if(C&&!C.disabled&&P(C)){k.push(C.value),b++;return}}if(n.matchStrategy==="label"||n.matchStrategy==="both"){const C=n.options.find(E=>E.label===x);C&&!C.disabled&&P(C)&&(k.push(C.value),b++)}}),k.length>0){c.preventDefault();const x=Array.from(new Set([...n.modelValue,...k]));r("update:modelValue",x),r("change",x),w.Message.success(`成功识别并选中 ${b} 项 (Matched ${b} items)`)}};return(c,f)=>{const d=e.resolveComponent("a-checkbox"),h=e.resolveComponent("a-tooltip");return e.openBlock(),e.createBlock(e.unref(xe),e.mergeProps(c.$attrs,{"model-value":t.modelValue,options:t.options,"filter-model":t.filterModel,multiple:"","allow-search":"","onUpdate:modelValue":i,onPaste:y}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",to,[e.createVNode(d,{"model-value":l.value,indeterminate:a.value,onChange:m,class:"pl-1"},{default:e.withCtx(()=>[...f[0]||(f[0]=[e.createElementVNode("span",{class:"text-[var(--color-text-1)]"},"全选",-1)])]),_:1},8,["model-value","indeterminate"]),e.createElementVNode("div",oo,[e.createVNode(h,{content:"清除所有选中项"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"w-6 h-6 flex items-center justify-center rounded cursor-pointer text-[var(--color-text-3)] hover:bg-[var(--color-fill-3)] transition-all",onClick:g},[e.createVNode(e.unref(ye))])]),_:1}),f[1]||(f[1]=e.createElementVNode("div",{class:"w-[1px] h-3 bg-[var(--color-neutral-3)] mx-1"},null,-1)),e.createVNode(h,{content:"支持从 Excel 或文本编辑器(↓列数据)复制多行数据,粘贴至搜索框即可自动匹配并选中。",position:"left"},{default:e.withCtx(()=>[e.createElementVNode("div",no,[e.createVNode(e.unref(he))])]),_:1})])])]),_:2},[e.renderList(c.$slots,(k,b)=>({name:b,fn:e.withCtx(P=>[e.renderSlot(c.$slots,b,e.normalizeProps(e.guardReactiveProps(P||{})))])}))]),1040,["model-value","options","filter-model"])}}}),so=e.defineComponent({name:"SunnySearchInputTag",inheritAttrs:!1,__name:"SearchInputTag",props:{modelValue:{default:()=>[]},fieldNames:{default:()=>({label:"label",value:"value"})},placeholder:{default:"请选择..."},disabled:{type:Boolean,default:!1},maxTagCount:{}},emits:["update:modelValue","search","change","clear"],setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.fieldNames?.label||"label"),l=e.computed(()=>n.fieldNames?.value||"value"),a=e.computed(()=>n.modelValue.map(c=>({label:c[s.value],value:c[l.value],closable:!n.disabled,tagProps:c.tagProps}))),i=c=>{n.disabled||["Backspace","Delete","Tab","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(c.key)||c.preventDefault()},m=(c,f)=>{const d=[...n.modelValue];d.splice(f,1),r("update:modelValue",d),r("change",d)},g=()=>{r("update:modelValue",[]),r("change",[]),r("clear")},y=()=>{n.disabled||r("search")};return(c,f)=>{const d=e.resolveComponent("a-input-tag");return e.openBlock(),e.createBlock(d,e.mergeProps(c.$attrs,{"model-value":a.value,"input-value":"",disabled:t.disabled,placeholder:t.placeholder,"max-tag-count":t.maxTagCount,"allow-create":!1,class:"w-full group",onRemove:m,onClear:g,onKeydown:i}),e.createSlots({suffix:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center h-full px-2 border-l border-[var(--color-neutral-3)] group-hover:border-[var(--color-neutral-4)] -mr-3",[t.disabled?"cursor-not-allowed text-[var(--color-text-4)]":"cursor-pointer text-[var(--color-text-2)] group"]]),onClick:e.withModifiers(y,["stop"])},[e.createVNode(e.unref(dt),{class:"transition-colors group-hover:text-[var(--color-primary-6)]"})],2)]),_:2},[e.renderList(c.$slots,(h,k)=>({name:k,fn:e.withCtx(b=>[e.renderSlot(c.$slots,k,e.normalizeProps(e.guardReactiveProps(b||{})))])}))]),1040,["model-value","disabled","placeholder","max-tag-count"])}}});class ao{store;constructor(o,n){this.store=new He.Store(o),n?.onUpdate&&this.store.subscribe(()=>{n.onUpdate?.()})}setState(o){this.store.setState(n=>{const r=typeof o=="function"?o(n):o;return{...n,...r}})}getState(){return this.store.state}}function Be(t,o="YYYY-MM-DD"){if(!t)return t;if(B.isFunction(t.format))return t.format(o);if(t instanceof Date){const n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0"),l=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return o.replace("YYYY",String(n)).replace("MM",r).replace("DD",s).replace("HH",l).replace("mm",a).replace("ss",i)}return String(t)}function $e(t){return is(t,"Date")}function Pe(t){return B.isObject(t)&&"$d"in t&&"$y"in t&&"$M"in t}function U(t,o){if(!B.isObject(t)||!B.isObject(o)||Array.isArray(o))return o;const n={...t};return Object.keys(o).forEach(r=>{const s=n[r],l=o[r];B.isObject(s)&&B.isObject(l)?n[r]=U(s,l):n[r]=l}),n}class lo{condition=!1;resolveFn=null;promise=null;setConditionTrue(){this.condition=!0,this.resolveFn&&(this.resolveFn(),this.resolveFn=null)}reset(){this.condition=!1,this.promise=null,this.resolveFn=null}async waitForCondition(){this.condition||(this.promise||(this.promise=new Promise(o=>{this.resolveFn=o})),await this.promise)}}function io(t){const o=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(o);for(const r of n){const s=t[r];r!=="constructor"&&typeof s=="function"&&(t[r]=s.bind(t))}}function co(){return{actionWrapperClass:"",collapsed:!1,collapsedRows:1,collapseTriggerResize:!1,commonConfig:{},handleReset:void 0,handleSubmit:void 0,handleValuesChange:void 0,handleCollapsedChange:void 0,layout:"horizontal",resetButtonOptions:{},schema:[],scrollToFirstError:!1,showCollapseButton:!1,showDefaultActions:!0,submitButtonOptions:{},submitOnChange:!1,submitOnEnter:!1,wrapperClass:"grid-cols-1",values:{}}}class Ve{form={};isMounted=!1;state=null;stateHandler;store;componentRefMap=new Map;latestSubmissionValues=null;prevState=null;constructor(o={}){const{...n}=o,r=co();this.store=new ao({...r,...n},{onUpdate:()=>{this.prevState=this.state,this.state=this.store.getState(),this.updateState()}}),this.state=this.store.getState(),this.stateHandler=new lo,io(this)}getFieldComponentRef(o){let n=this.componentRefMap.has(o)?this.componentRefMap.get(o):void 0;if(n&&n.$&&n.$.type&&n.$.type.name==="AsyncComponentWrapper"&&n.$.subTree&&n.$.subTree.ref){const r=n.$.subTree.ref;Array.isArray(r)?r.length>0&&r[0]&&e.isRef(r[0].r)&&(n=r[0].r.value):e.isRef(r.r)&&(n=r.r.value)}return n}getFocusedField(){for(const o of this.componentRefMap.keys()){const n=this.getFieldComponentRef(o);if(n){let r=null;if(n instanceof HTMLElement?r=n:n.$el instanceof HTMLElement&&(r=n.$el),!r)continue;if(r===document.activeElement||r.contains(document.activeElement))return o}}}getLatestSubmissionValues(){return this.latestSubmissionValues||{}}getState(){return this.state}async getValues(){const o=await this.getForm();return o.values?this.handleRangeTimeValue(o.values):{}}async isFieldValid(o){return(await this.getForm()).isFieldValid(o)}merge(o){const n=[this,o],r=new Proxy(o,{get(s,l){return l==="merge"?a=>(n.push(a),r):l==="submitAllForm"?async(a=!0)=>{try{const i=await Promise.all(n.map(async m=>(await m.validate()).valid?e.toRaw(await m.getValues()||{}):void 0));return i.some(m=>!m)?void 0:a?Object.assign({},...i):i}catch(i){console.error("Validation error:",i)}}:s[l]}});return r}mount(o,n){this.isMounted||(Object.assign(this.form,o),this.stateHandler.setConditionTrue(),this.setLatestSubmissionValues({...e.toRaw(this.handleRangeTimeValue(this.form.values))}),n&&(this.componentRefMap=n),this.isMounted=!0)}async removeSchemaByFields(o){const n=new Set(o),s=(this.state?.schema??[]).filter(l=>!n.has(l.fieldName));this.setState({schema:s})}async resetForm(o,n){return(await this.getForm()).resetForm(o,n)}async resetValidate(){const o=await this.getForm();Object.keys(o.errors.value).forEach(r=>{o.setFieldError(r,void 0)})}scrollToFirstError(o){const n=typeof o=="string"?o:Object.keys(o)[0];if(!n)return;let r=document.querySelector(`[name="${n}"]`);if(!r){const s=this.getFieldComponentRef(n);s&&s.$el instanceof HTMLElement?r=s.$el:s instanceof HTMLElement&&(r=s)}r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}async setFieldValue(o,n,r){(await this.getForm()).setFieldValue(o,n,r)}setLatestSubmissionValues(o){this.latestSubmissionValues={...e.toRaw(o)}}setState(o){B.isFunction(o)?this.store.setState(n=>U(n,o(n))):this.store.setState(n=>U(n,o))}async setValues(o,n=!0,r=!1){const s=await this.getForm();if(!n){s.setValues(o,r);return}const l=s.values||{},a=(m,g)=>{const y={};for(const c in m)if(Object.prototype.hasOwnProperty.call(m,c)&&c in g){const f=m[c],d=g[c];B.isObject(f)&&!Array.isArray(f)&&!$e(f)&&!Pe(f)&&B.isObject(d)&&!Array.isArray(d)&&!$e(d)&&!Pe(d)?y[c]=a(f,d):y[c]=f}return y},i=a(o,l);s.setValues(i,r)}async submitForm(o){o?.preventDefault(),o?.stopPropagation();const n=await this.getForm(),{valid:r,errors:s}=await n.validate(),l=e.toRaw(await this.getValues());return r?await this.state?.handleSubmit?.(l):this.state?.scrollToFirstError&&this.scrollToFirstError(s),{valid:r,values:l,errors:s}}unmount(){this.form?.resetForm?.(),this.latestSubmissionValues=null,this.isMounted=!1,this.stateHandler.reset()}updateSchema(o){const n=[...o];if(!n.every(a=>Reflect.has(a,"fieldName")&&a.fieldName)){console.error("All items in the schema array must have a valid `fieldName` property to be updated");return}const s=B.cloneDeep(this.state?.schema??[]),l={};n.forEach(a=>{a.fieldName&&(l[a.fieldName]=a)}),s.forEach((a,i)=>{const m=l[a.fieldName];m&&(s[i]=U(a,m))}),this.setState({schema:s})}async validate(o){const r=await(await this.getForm()).validate(o);return Object.keys(r?.errors??{}).length>0&&(console.error("validate error",r?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(r.errors)),r}async validateAndSubmitForm(){const o=await this.getForm(),{valid:n,errors:r}=await o.validate();if(!n){this.state?.scrollToFirstError&&this.scrollToFirstError(r);return}return await this.submitForm()}async validateField(o,n){const s=await(await this.getForm()).validateField(o,n);return Object.keys(s?.errors??{}).length>0&&(console.error("validate error",s?.errors),this.state?.scrollToFirstError&&this.scrollToFirstError(o)),s}async getForm(){if(this.isMounted||await this.stateHandler.waitForCondition(),!this.form?.meta)throw new Error("<SunnyUseForm /> is not mounted");return this.form}handleMultiFields=o=>{const n=this.state?.arrayToStringFields;if(!n||!Array.isArray(n))return;const r=(s,l=",")=>{this.processFields(s,l,o,(a,i)=>{if(Array.isArray(a))return a.join(i);if(typeof a=="string"){if(a==="")return[];const m=i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`);return a.split(new RegExp(m))}else return a})};if(n.every(s=>typeof s=="string")){const s=n[n.length-1]||"",l=s.length===1?n.slice(0,-1):n,a=s.length===1?s:",";r(l,a);return}n.forEach(s=>{if(Array.isArray(s)){const[l,a=","]=s;if(!Array.isArray(l)){console.warn(`Invalid field configuration: fields should be an array of strings, got ${typeof l}`);return}r(l,a)}})};handleRangeTimeValue=o=>{const n={...o},r=this.state?.fieldMappingTime;return this.handleMultiFields(n),!r||!Array.isArray(r)||r.forEach(([s,[l,a],i="YYYY-MM-DD"])=>{if(l&&a&&n[s]===null&&(Reflect.deleteProperty(n,l),Reflect.deleteProperty(n,a)),!n[s]){Reflect.deleteProperty(n,s);return}const[m,g]=n[s];if(i===null)n[l]=m,n[a]=g;else if(B.isFunction(i))n[l]=i(m),n[a]=i(g);else{const[y,c]=Array.isArray(i)?i:[i,i];n[l]=m?Be(m,y):void 0,n[a]=g?Be(g,c):void 0}Reflect.deleteProperty(n,s)}),n};processFields=(o,n,r,s)=>{o.forEach(l=>{const a=r[l];a!=null&&(r[l]=s(a,n))})};updateState(){const o=this.state?.schema??[],n=this.prevState?.schema??[];if(o.length<n.length){const r=new Set(o.map(l=>l.fieldName)),s=n.filter(l=>!r.has(l.fieldName));for(const l of s)this.form?.setFieldValue?.(l.fieldName,void 0)}}useStore}const Ee=Symbol("FormRenderProps"),fo=Symbol("ComponentRefMap"),po=t=>{e.provide(Ee,t)},se=()=>{const t=e.inject(Ee);if(!t)throw new Error("injectRenderFormProps must be used within provideFormRenderProps");return t},uo=t=>{e.provide(fo,t)},Fe=()=>{const t=se(),o=e.computed(()=>t.layout==="vertical");return{props:t,isVertical:o,componentBindEventMap:e.computed(()=>t.config?.modelPropNameMap)}},Ne=Symbol("FormPropsKey");function _e(t){e.provide(Ne,t)}function mo(){const t=e.inject(Ne);if(!t)throw new Error("Form context not found (表单上下文未找到,请确保在 SunnyForm 或 SunnyUseForm 内部使用)");return t}function ho(t){const o=e.useSlots(),n=e.computed(()=>{const l=e.unref(t),a={};return(l.schema||[]).forEach(i=>{i.defaultValue!==void 0&&(a[i.fieldName]=i.defaultValue)}),l.values&&Object.assign(a,l.values),a}),r=O.useForm({initialValues:n.value}),s=e.computed(()=>{const l=[];for(const a of Object.keys(o))a!=="default"&&l.push(a);return l});return{form:r,delegatedSlots:s}}const yo={Input:w.Input,InputPassword:w.InputPassword,InputNumber:w.InputNumber,Textarea:w.Textarea,Select:w.Select,Checkbox:w.Checkbox,CheckboxGroup:w.CheckboxGroup,Radio:w.Radio,RadioGroup:w.RadioGroup,Switch:w.Switch,DatePicker:w.DatePicker,RangePicker:w.RangePicker,TimePicker:w.TimePicker,Upload:w.Upload,Rate:w.Rate,Slider:w.Slider,Cascader:w.Cascader,TreeSelect:w.TreeSelect,SunnySelect:w.Select,SunnyCheckbox:w.Checkbox,SunnyRadio:w.Radio,SunnySwitch:w.Switch,SunnyDatePicker:w.DatePicker,SunnyTimePicker:w.TimePicker,SunnyUpload:w.Upload},go={};function ko(t){const{config:o,defineRules:n}=t,{disabledOnChangeListener:r=!0,disabledOnInputListener:s=!0,emptyStateValue:l=void 0}=o||{};if(Object.assign(go,{disabledOnChangeListener:r,disabledOnInputListener:s,emptyStateValue:l}),n)for(const a of Object.keys(n))O.defineRule(a,n[a])}function bo(t){const o=O.useFormValues(),r=se().form;if(!o)throw new Error("useDependencies should be used within <SunnyForm> (VeeValidate Form)");const s=e.ref(!0),l=e.ref(!1),a=e.ref(!0),i=e.ref(!1),m=e.ref({}),g=e.ref(),y=e.computed(()=>(t()?.triggerFields??[]).map(d=>o.value[d])),c=()=>{l.value=!1,s.value=!0,a.value=!0,i.value=!1,g.value=void 0,m.value={}};return e.watch([y,t],async([f,d])=>{if(!d||!d?.triggerFields?.length)return;c();const{componentProps:h,disabled:k,if:b,required:P,rules:x,show:C,trigger:E}=d,p=o.value;if(B.isFunction(b)){if(s.value=!!await b(p,r),!s.value)return}else if(B.isBoolean(b)&&(s.value=b,!s.value))return;if(B.isFunction(C)){if(a.value=!!await C(p,r),!a.value)return}else if(B.isBoolean(C)&&(a.value=C,!a.value))return;B.isFunction(h)&&(m.value=await h(p,r)),B.isFunction(x)&&(g.value=await x(p,r)),B.isFunction(k)?l.value=!!await k(p,r):B.isBoolean(k)&&(l.value=k),B.isFunction(P)&&(i.value=!!await P(p,r)),B.isFunction(E)&&await E(p,r)},{deep:!0,immediate:!0}),{dynamicComponentProps:m,dynamicRules:g,isDisabled:l,isIf:s,isRequired:i,isShow:a}}const So=e.defineComponent({__name:"FormField",props:{schema:{}},setup(t){const o=t,n=O.useFormValues(),r=se(),{isVertical:s}=Fe(),l=r.form,{dynamicComponentProps:a,dynamicRules:i,isDisabled:m,isIf:g,isRequired:y,isShow:c}=bo(()=>o.schema.dependencies),f=e.computed(()=>{const{component:p}=o.schema;return B.isString(p)&&yo[p]||p}),d=e.computed(()=>o.schema.hidden?!1:g.value&&c.value),h=e.computed(()=>i.value||o.schema.rules),k=e.computed(()=>{if(!d.value)return!1;if(!h.value)return y.value;if(y.value)return!0;if(B.isString(h.value))return h.value.split("|").some(V=>["required","selectRequired"].includes(V));const p=e.toRaw(h.value);let u=p?.isOptional?.();if(p?._def?.typeName==="ZodDefault"){const V=p?._def.innerType;V&&(u=V.isOptional?.())}return!u}),b=e.computed(()=>{if(!d.value)return null;let p=e.toRaw(h.value);if(!p)return y.value?"required":null;if(B.isString(p))return p;if(!!k.value){const S=p?.unwrap?.();S&&(p=S)}return We.toTypedSchema(p)}),P=e.computed(()=>{const{componentProps:p,commonComponentProps:u}=o.schema,S=B.isFunction(p)?p(n.value,l):p;return{...u,...S,...a.value}});e.watch(()=>P.value?.autofocus,p=>{p===!0&&e.nextTick(()=>{})},{immediate:!0});const x=e.computed(()=>m.value||o.schema.disabled||P.value?.disabled),C=e.computed(()=>{if(!(s.value||!o.schema.labelWidth))return{style:{flex:1}}}),E=e.computed(()=>{if(s.value||!o.schema.labelWidth)return;const p=o.schema.labelWidth,u=typeof p=="number"?`${p}px`:p;return{style:{width:u,minWidth:u,maxWidth:u,flex:`0 0 ${u}`}}});return(p,u)=>{const S=e.resolveComponent("a-form-item");return d.value?(e.openBlock(),e.createBlock(e.unref(O.Field),{key:0,name:t.schema.fieldName,rules:b.value,label:t.schema.label},{default:e.withCtx(({field:V,errorMessage:F})=>[e.createVNode(S,e.mergeProps({label:t.schema.label,help:F||t.schema.help,"validate-status":F?"error":void 0,required:k.value,"label-col-props":E.value,"wrapper-col-props":C.value},t.schema.formFieldProps),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),e.mergeProps({...P.value,...V},{disabled:x.value,"model-value":V.value,"onUpdate:modelValue":V.onInput}),null,16,["disabled","model-value","onUpdate:modelValue"]))]),_:2},1040,["label","help","validate-status","required","label-col-props","wrapper-col-props"])]),_:1},8,["name","rules","label"])):e.createCommentVNode("",!0)}}}),ae=e.defineComponent({__name:"form-actions",props:{modelValue:{type:Boolean},formApi:{}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,s=n,{props:l}=Fe(),a=O.useFormContext(),i=e.computed({get:()=>r.modelValue??!1,set:d=>s("update:modelValue",d)}),m=e.computed(()=>({content:"重置",show:!0,type:"outline",...e.unref(l).resetButtonOptions})),g=e.computed(()=>({content:"查询",show:!0,htmlType:r.formApi?"button":"submit",...e.unref(l).submitButtonOptions}));async function y(d){if(r.formApi){d?.preventDefault(),d?.stopPropagation();const h=e.unref(l),{valid:k}=await r.formApi.validate();if(!k)return;const b=e.toRaw(await r.formApi.getValues())??{};await h.handleSubmit?.(b)}}async function c(d){d?.preventDefault(),d?.stopPropagation();const h=e.unref(l);if(r.formApi){const k=e.toRaw(await r.formApi.getValues())??{};h.handleReset?await h.handleReset(k):r.formApi.resetForm()}else if(a)if(h.handleReset){const k=a.values;await h.handleReset(k)}else a.resetForm()}e.watch(()=>i.value,()=>{e.unref(l).collapseTriggerResize&&window.dispatchEvent(new Event("resize"))});const f=e.computed(()=>{const d=e.unref(l),h=d.actionPosition||"right",k=["flex","items-center","gap-3",d.layout==="vertical"?"self-end":"self-start",d.layout==="inline"?"":"w-full",d.actionWrapperClass];switch(h){case"center":{k.push("justify-center");break}case"left":{k.push("justify-start");break}default:{k.push("justify-end");break}}return k.join(" ")});return o({handleReset:c,handleSubmit:y}),(d,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value)},[e.unref(e.unref(l)).actionButtonsReverse?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(d.$slots,"submit-before"),g.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(l)).size,onClick:y},g.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)),e.renderSlot(d.$slots,"reset-before"),m.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:1,size:e.unref(e.unref(l)).size,onClick:c},m.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0),e.unref(e.unref(l)).actionButtonsReverse?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(d.$slots,"submit-before"),g.value.show?(e.openBlock(),e.createBlock(e.unref(w.Button),e.mergeProps({key:0,type:"primary",size:e.unref(e.unref(l)).size,onClick:y},g.value),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value.content),1)]),_:1},16,["size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-before"),e.unref(e.unref(l)).showCollapseButton?(e.openBlock(),e.createElementBlock("div",{key:3,class:"cursor-pointer ml-2 text-primary hover:opacity-80 transition-opacity select-none",onClick:h[0]||(h[0]=k=>i.value=!i.value)},[e.createElementVNode("span",null,e.toDisplayString(i.value?"展开":"收起"),1)])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"expand-after")],2))}});function wo(t){const o={xs:576,sm:576,md:768,lg:992,xl:1200,xxl:1600},n=me.useBreakpoints(o),r=e.computed(()=>{const i={},m=t.schema||[],g=l(),y=t.commonConfig?.colProps;return m.forEach(c=>{if(!c.fieldName)return;const f=c.colProps||y;i[c.fieldName]=a(f,c.colSpan,g)}),i}),s=e.computed(()=>{const i=l();if(t.layout!=="inline"){if(t.actionColProps)return a(t.actionColProps,void 0,i);if(t.showCollapseButton){const m=t.commonConfig?.colProps;return a(m||{xs:12,sm:12,md:8,lg:6},void 0,i)}return 24}});function l(){return n.greaterOrEqual("xxl").value?"xxl":n.greaterOrEqual("xl").value?"xl":n.greaterOrEqual("lg").value?"lg":n.greaterOrEqual("md").value?"md":n.greaterOrEqual("sm").value?"sm":"xs"}function a(i,m,g){if(i){const y=["xxl","xl","lg","md","sm","xs"],c=y.indexOf(g);for(let f=c;f<y.length;f++){const d=y[f],h=i[d];if(h!==void 0)return typeof h=="object"?h.span??24:h}if(i.span!==void 0)return i.span}return m!==void 0?m:24}return{spans:r,actionSpan:s}}const ze=e.defineComponent({__name:"Form",props:{formApi:{},form:{}},setup(t){const o=t,n=mo(),r=e.reactive({...n.value});e.watch(()=>n.value,x=>{Object.assign(r,x)},{deep:!0}),po(r);const{spans:s,actionSpan:l}=wo(r),a=e.computed(()=>{const{commonConfig:x={},labelWidth:C,schema:E=[]}=r,{componentProps:p={},formFieldProps:u={},...S}=x,V={...S};return C!==void 0&&Object.assign(V,{labelWidth:C}),E.map(F=>({...V,...F,hidden:F.hide,commonComponentProps:p,formFieldProps:{...u,...F.formFieldProps||{}},componentProps:F.componentProps}))}),i=e.computed(()=>r.layout==="inline"),{handleSubmit:m,resetForm:g,setValues:y,values:c,validate:f,errors:d,meta:h}=o.form||O.useForm({initialValues:a.value.reduce((x,C)=>({...x,[C.fieldName]:C.defaultValue}),{})});e.onMounted(()=>{o.formApi&&o.formApi.mount({handleSubmit:m,resetForm:g,setValues:y,values:c,validate:f,errors:d,meta:h})});const k=m(x=>{r.handleSubmit?r.handleSubmit(x):console.log("Form submitted:",x)}),b=x=>{r.collapsed=x,r.handleCollapsedChange?.(x),o.formApi&&o.formApi.setState({collapsed:x})},P=e.computed(()=>{const{compact:x,gridProps:C}=r,E=x?8:16,p=C?.xGap??C?.["x-gap"]??E,u=C?.yGap??C?.["y-gap"]??E;return{x:p,y:u}});return(x,C)=>{const E=e.resolveComponent("a-col"),p=e.resolveComponent("a-form-item"),u=e.resolveComponent("a-row"),S=e.resolveComponent("a-form");return e.openBlock(),e.createBlock(S,{model:{},layout:e.unref(n).layout||"horizontal",size:e.unref(n).size,class:"arco-form",onSubmit:C[0]||(C[0]=(V,F)=>e.unref(k)(F))},{default:e.withCtx(()=>[e.createVNode(u,{gutter:[P.value.x,P.value.y],class:e.normalizeClass(r.wrapperClass)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(V,F)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:V.fieldName},[!V.hidden&&(!r.collapsed||F<24/(e.unref(s)[V.fieldName]??24)*(r.collapsedRows??1)-1)?(e.openBlock(),e.createBlock(E,{key:0,span:e.unref(s)[V.fieldName]??(i.value?void 0:24)},{default:e.withCtx(()=>[e.createVNode(So,{schema:V},null,8,["schema"])]),_:2},1032,["span"])):e.createCommentVNode("",!0)],64))),128)),r.showDefaultActions?(e.openBlock(),e.createBlock(E,{key:0,span:e.unref(l),style:e.normalizeStyle(i.value?{marginLeft:"16px"}:{flex:1,textAlign:"right",marginBottom:P.value.y+"px"})},{default:e.withCtx(()=>[(r.layout||"horizontal")==="vertical"?(e.openBlock(),e.createBlock(p,{key:0,class:"mb-0","hide-asterisk":!0},{label:e.withCtx(()=>[...C[1]||(C[1]=[e.createElementVNode("span",{style:{display:"inline-block",width:"100%"}}," ",-1)])]),default:e.withCtx(()=>[e.createVNode(ae,{"model-value":r.collapsed,"onUpdate:modelValue":b,"form-api":o.formApi},null,8,["model-value","form-api"])]),_:1})):(e.openBlock(),e.createBlock(ae,{key:1,"model-value":r.collapsed,"onUpdate:modelValue":b,"form-api":o.formApi},null,8,["model-value","form-api"]))]),_:1},8,["span","style"])):e.createCommentVNode("",!0)]),_:1},8,["gutter","class"])]),_:1},8,["layout","size"])}}}),Co=e.defineComponent({__name:"SunnyUseForm",props:{layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},showDefaultActions:{type:Boolean,default:void 0},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean,default:void 0},submitOnChange:{type:Boolean,default:void 0},handleValuesChange:{},handleCollapsedChange:{},handleSubmit:{},scrollToFirstError:{type:Boolean},handleReset:{},collapsed:{type:Boolean,default:void 0},showCollapseButton:{type:Boolean,default:void 0},collapsedRows:{},collapseTriggerResize:{type:Boolean,default:void 0},compact:{type:Boolean,default:void 0},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{},formApi:{}},setup(t){const o=t,n=o.formApi.useStore?.()||e.computed(()=>({})),r=e.computed(()=>{const y=Object.entries(o).reduce((c,[f,d])=>(d!==void 0&&(c[f]=d),c),{});return{...n.value,...y}}),s=new Map,{delegatedSlots:l,form:a}=ho(r);_e(r),uo(s),e.onBeforeUnmount(()=>{o.formApi.unmount()});const i={};e.onMounted(async()=>{o.formApi.mount(a,s),o.formApi.setState({values:B.cloneDeep(a.values)}),await e.nextTick(),e.watch(()=>a.values,async y=>{if(o.formApi.setState({values:B.cloneDeep(y)}),m(),!r.value.handleValuesChange)return;const c=r.value.schema?.map(d=>d.fieldName)||[];if(c.length===0)return;const f=[];for(const d of c){const h=B.get(y,d),k=B.get(i,d);B.isEqual(h,k)||(f.push(d),B.set(i,d,h))}if(f.length>0){const d=await o.formApi.getValues();r.value.handleValuesChange(B.cloneDeep(d??{}),f)}},{deep:!0})});const m=me.useDebounceFn(async()=>{n.value.submitOnChange&&await o.formApi.submitForm()},300);function g(y){n.value.submitOnEnter&&(y.target instanceof HTMLTextAreaElement||(y.preventDefault(),o.formApi.submitForm()))}return(y,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value.wrapperClass)},[e.createVNode(ze,e.mergeProps(r.value,{form:e.unref(a),"form-api":o.formApi,onKeydown:e.withKeys(g,["enter"])}),e.createSlots({default:e.withCtx(()=>[]),_:2},[e.renderList(e.unref(l),f=>({name:f,fn:e.withCtx(d=>[e.renderSlot(y.$slots,f,e.normalizeProps(e.guardReactiveProps(d)))])}))]),1040,["form","form-api"])],2))}});function xo(t={}){const o=new Ve(t);return o.useStore=r=>Ue.useStore(o.store.store,r),e.isReactive(t)&&e.watch(()=>t.schema,()=>{t.schema&&o.setState({schema:t.schema})},{immediate:!0}),[e.defineComponent({name:"useSunnyFormWrapper",setup(r,{attrs:s,slots:l}){return o.setState({...r,...s}),()=>e.h(Co,{...r,...s,formApi:o},l)}}),o]}const Bo=e.defineComponent({__name:"SunnyForm",props:{layout:{},size:{},schema:{},labelWidth:{},wrapperClass:{},gridProps:{},actionWrapperClass:{},commonConfig:{},showDefaultActions:{type:Boolean},submitButtonOptions:{},resetButtonOptions:{},submitOnEnter:{type:Boolean},submitOnChange:{type:Boolean},handleValuesChange:{type:Function},handleCollapsedChange:{type:Function},handleSubmit:{type:Function},scrollToFirstError:{type:Boolean},handleReset:{type:Function},collapsed:{type:Boolean},showCollapseButton:{type:Boolean},collapsedRows:{},collapseTriggerResize:{type:Boolean},compact:{type:Boolean},actionLayout:{},actionPosition:{},actionColProps:{},values:{},fieldMappingTime:{},arrayToStringFields:{}},emits:["submit","reset","update:collapsed"],setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n);_e(s);const l=i=>{r("update:collapsed",i),n.handleCollapsedChange?.(i)},a=i=>{r("submit",i),n.handleSubmit?.(i)};return(i,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.wrapperClass)},[e.createVNode(ze,{onSubmit:a},{default:e.withCtx(()=>[n.showDefaultActions?(e.openBlock(),e.createBlock(ae,{key:0,"model-value":n.collapsed,"onUpdate:modelValue":l},{"reset-before":e.withCtx(()=>[e.renderSlot(i.$slots,"reset-before")]),"submit-before":e.withCtx(()=>[e.renderSlot(i.$slots,"submit-before")]),"expand-before":e.withCtx(()=>[e.renderSlot(i.$slots,"expand-before")]),"expand-after":e.withCtx(()=>[e.renderSlot(i.$slots,"expand-after")]),_:3},8,["model-value"])):e.createCommentVNode("",!0)]),_:3})],2))}});let $o=class{gridRef;options;constructor(o,n){this.gridRef=o,this.options=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}async addEvent(o={}){const n=this.grid;if(n){const{record:r={},index:s=-1}=o,{row:l}=await n.insertAt(r,s);await e.nextTick(),n.setEditRow(l)}}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}};const Po=e.defineComponent({__name:"use-vxe-grid",setup(t,{expose:o}){const n=e.ref();return o({getGrid:()=>n.value}),(r,s)=>(e.openBlock(),e.createBlock(e.unref(X.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:n},r.$attrs),e.createSlots({_:2},[e.renderList(r.$slots,(l,a)=>({name:a,fn:e.withCtx(i=>[e.renderSlot(r.$slots,a,e.normalizeProps(e.guardReactiveProps(i||{})))])}))]),1040))}});function Vo(t){const o=e.ref(),n=new $o(o,t);return[e.defineComponent((s,{attrs:l,slots:a})=>{const{gridEvents:i,gridOptions:m}=t,g=Object.entries(i||{}).reduce((y,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return y[d]=f,y},{});return()=>e.h(Po,{ref:o,...s,...l,...m,...g},a)}),n]}class Eo{gridRef;options;constructor(o,n){this.gridRef=o,this.options=n}get grid(){return this.gridRef.value?.getGrid?.()||this.gridRef.value}async addEvent(o={}){const n=this.grid;if(n){const{record:r={},index:s=-1}=o,{row:l}=await n.insertAt(r,s);await e.nextTick(),n.setEditRow(l)}}async deleteSelection(){const o=this.grid;if(o){const n=o.getCheckboxRecords();n.length>0&&await o.remove(n)}}}function Fo(t,o){let n=null,r=null,s=null,l=null,a=null,i=!1,m=!1;const g=k=>{if(!k)return window;let b=k.parentElement;for(;b;){const P=window.getComputedStyle(b);if(/(auto|scroll)/.test(P.overflow+P.overflowY+P.overflowX))return b;b=b.parentElement}return window},y=()=>{n&&n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.zIndex="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null)),l&&(l.style.display="none")},c=k=>{m||l&&s&&(i=!0,l.scrollLeft=s.scrollLeft,requestAnimationFrame(()=>{i=!1}))},f=k=>{i||l&&s&&(m=!0,s.scrollLeft=l.scrollLeft,requestAnimationFrame(()=>{m=!1}))},d=()=>{!t.value||l||(l=document.createElement("div"),l.className="vxe-table--sticky-scrollbar",l.style.position="fixed",l.style.bottom="0",l.style.overflowX="auto",l.style.overflowY="hidden",l.style.zIndex="101",l.style.display="none",a=document.createElement("div"),l.appendChild(a),l.addEventListener("scroll",f),document.body.appendChild(l),s=t.value.$el.querySelector(".vxe-table--body-wrapper"),s&&s.addEventListener("scroll",c))},h=()=>{if(!t.value||!n)return;if(!o.sticky){y();return}const k=t.value.$el,b=k.getBoundingClientRect(),P=n.getBoundingClientRect(),x=g(k);let C={top:0,bottom:window.innerHeight};if(x!==window&&x instanceof HTMLElement&&(C=x.getBoundingClientRect()),C.bottom>0&&C.top<window.innerHeight&&b.top<C.top&&b.bottom>P.height){const p=Math.max(0,C.top);b.bottom-P.height>p?(!n.classList.contains("is-sticky")||n.style.top!==`${p}px`||n.style.left!==`${b.left}px`)&&(n.style.position="fixed",n.style.top=`${p}px`,n.style.left=`${b.left}px`,n.style.width=`${b.width}px`,n.style.zIndex="100",n.classList.add("is-sticky"),r||(r=document.createElement("div"),n.parentNode?.insertBefore(r,n)),r.style.height=`${P.height}px`):y()}else n.classList.contains("is-sticky")&&(n.style.position="",n.style.top="",n.style.left="",n.style.width="",n.classList.remove("is-sticky"),r&&r.parentNode&&(r.parentNode.removeChild(r),r=null));if((!l||!s)&&d(),l&&s&&a){const p=s.scrollWidth,u=s.clientWidth;if(p>u){const S=window.innerHeight;b.bottom>S&&b.top<S?(l.style.display="block",l.style.width=`${b.width}px`,l.style.left=`${b.left}px`,a.style.width=`${p}px`,Math.abs(l.scrollLeft-s.scrollLeft)>1&&(l.scrollLeft=s.scrollLeft)):l.style.display="none"}else l.style.display="none"}};e.watch(()=>o.sticky,()=>{h()}),e.onMounted(()=>{setTimeout(()=>{t.value&&(n=t.value.$el.querySelector(".vxe-table--header-wrapper"),n&&(window.addEventListener("scroll",h,!0),window.addEventListener("resize",h)),d())},100)}),e.onBeforeUnmount(()=>{window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h),r&&r.parentNode&&r.parentNode.removeChild(r),l&&l.parentNode&&l.parentNode.removeChild(l),s&&s.removeEventListener("scroll",c)})}var No=typeof global=="object"&&global&&global.Object===Object&&global,_o=typeof self=="object"&&self&&self.Object===Object&&self,le=No||_o||Function("return this")(),M=le.Symbol,Oe=Object.prototype,zo=Oe.hasOwnProperty,Oo=Oe.toString,D=M?M.toStringTag:void 0;function jo(t){var o=zo.call(t,D),n=t[D];try{t[D]=void 0;var r=!0}catch{}var s=Oo.call(t);return r&&(o?t[D]=n:delete t[D]),s}var To=Object.prototype,Ro=To.toString;function Mo(t){return Ro.call(t)}var Ao="[object Null]",Lo="[object Undefined]",je=M?M.toStringTag:void 0;function ie(t){return t==null?t===void 0?Lo:Ao:je&&je in Object(t)?jo(t):Mo(t)}function ce(t){return t!=null&&typeof t=="object"}var Do="[object Symbol]";function de(t){return typeof t=="symbol"||ce(t)&&ie(t)==Do}function Io(t,o){for(var n=-1,r=t==null?0:t.length,s=Array(r);++n<r;)s[n]=o(t[n],n,t);return s}var H=Array.isArray,Te=M?M.prototype:void 0,Re=Te?Te.toString:void 0;function Me(t){if(typeof t=="string")return t;if(H(t))return Io(t,Me)+"";if(de(t))return Re?Re.call(t):"";var o=t+"";return o=="0"&&1/t==-1/0?"-0":o}function Ae(t){var o=typeof t;return t!=null&&(o=="object"||o=="function")}var vo="[object AsyncFunction]",qo="[object Function]",Uo="[object GeneratorFunction]",Ho="[object Proxy]";function Wo(t){if(!Ae(t))return!1;var o=ie(t);return o==qo||o==Uo||o==vo||o==Ho}var fe=le["__core-js_shared__"],Le=(function(){var t=/[^.]+$/.exec(fe&&fe.keys&&fe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Go(t){return!!Le&&Le in t}var Yo=Function.prototype,Ko=Yo.toString;function Xo(t){if(t!=null){try{return Ko.call(t)}catch{}try{return t+""}catch{}}return""}var Zo=/[\\^$.*+?()[\]{}|]/g,Qo=/^\[object .+?Constructor\]$/,Jo=Function.prototype,en=Object.prototype,tn=Jo.toString,on=en.hasOwnProperty,nn=RegExp("^"+tn.call(on).replace(Zo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function rn(t){if(!Ae(t)||Go(t))return!1;var o=Wo(t)?nn:Qo;return o.test(Xo(t))}function sn(t,o){return t?.[o]}function De(t,o){var n=sn(t,o);return rn(n)?n:void 0}var an=9007199254740991,ln=/^(?:0|[1-9]\d*)$/;function cn(t,o){var n=typeof t;return o=o??an,!!o&&(n=="number"||n!="symbol"&&ln.test(t))&&t>-1&&t%1==0&&t<o}function dn(t,o){return t===o||t!==t&&o!==o}var fn=9007199254740991;function pn(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=fn}var un="[object Arguments]";function Ie(t){return ce(t)&&ie(t)==un}var ve=Object.prototype,mn=ve.hasOwnProperty,hn=ve.propertyIsEnumerable,yn=Ie((function(){return arguments})())?Ie:function(t){return ce(t)&&mn.call(t,"callee")&&!hn.call(t,"callee")},gn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,kn=/^\w*$/;function bn(t,o){if(H(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||de(t)?!0:kn.test(t)||!gn.test(t)||o!=null&&t in Object(o)}var I=De(Object,"create");function Sn(){this.__data__=I?I(null):{},this.size=0}function wn(t){var o=this.has(t)&&delete this.__data__[t];return this.size-=o?1:0,o}var Cn="__lodash_hash_undefined__",xn=Object.prototype,Bn=xn.hasOwnProperty;function $n(t){var o=this.__data__;if(I){var n=o[t];return n===Cn?void 0:n}return Bn.call(o,t)?o[t]:void 0}var Pn=Object.prototype,Vn=Pn.hasOwnProperty;function En(t){var o=this.__data__;return I?o[t]!==void 0:Vn.call(o,t)}var Fn="__lodash_hash_undefined__";function Nn(t,o){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=I&&o===void 0?Fn:o,this}function j(t){var o=-1,n=t==null?0:t.length;for(this.clear();++o<n;){var r=t[o];this.set(r[0],r[1])}}j.prototype.clear=Sn,j.prototype.delete=wn,j.prototype.get=$n,j.prototype.has=En,j.prototype.set=Nn;function _n(){this.__data__=[],this.size=0}function W(t,o){for(var n=t.length;n--;)if(dn(t[n][0],o))return n;return-1}var zn=Array.prototype,On=zn.splice;function jn(t){var o=this.__data__,n=W(o,t);if(n<0)return!1;var r=o.length-1;return n==r?o.pop():On.call(o,n,1),--this.size,!0}function Tn(t){var o=this.__data__,n=W(o,t);return n<0?void 0:o[n][1]}function Rn(t){return W(this.__data__,t)>-1}function Mn(t,o){var n=this.__data__,r=W(n,t);return r<0?(++this.size,n.push([t,o])):n[r][1]=o,this}function A(t){var o=-1,n=t==null?0:t.length;for(this.clear();++o<n;){var r=t[o];this.set(r[0],r[1])}}A.prototype.clear=_n,A.prototype.delete=jn,A.prototype.get=Tn,A.prototype.has=Rn,A.prototype.set=Mn;var An=De(le,"Map");function Ln(){this.size=0,this.__data__={hash:new j,map:new(An||A),string:new j}}function Dn(t){var o=typeof t;return o=="string"||o=="number"||o=="symbol"||o=="boolean"?t!=="__proto__":t===null}function G(t,o){var n=t.__data__;return Dn(o)?n[typeof o=="string"?"string":"hash"]:n.map}function In(t){var o=G(this,t).delete(t);return this.size-=o?1:0,o}function vn(t){return G(this,t).get(t)}function qn(t){return G(this,t).has(t)}function Un(t,o){var n=G(this,t),r=n.size;return n.set(t,o),this.size+=n.size==r?0:1,this}function T(t){var o=-1,n=t==null?0:t.length;for(this.clear();++o<n;){var r=t[o];this.set(r[0],r[1])}}T.prototype.clear=Ln,T.prototype.delete=In,T.prototype.get=vn,T.prototype.has=qn,T.prototype.set=Un;var Hn="Expected a function";function pe(t,o){if(typeof t!="function"||o!=null&&typeof o!="function")throw new TypeError(Hn);var n=function(){var r=arguments,s=o?o.apply(this,r):r[0],l=n.cache;if(l.has(s))return l.get(s);var a=t.apply(this,r);return n.cache=l.set(s,a)||l,a};return n.cache=new(pe.Cache||T),n}pe.Cache=T;var Wn=500;function Gn(t){var o=pe(t,function(r){return n.size===Wn&&n.clear(),r}),n=o.cache;return o}var Yn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Kn=/\\(\\)?/g,Xn=Gn(function(t){var o=[];return t.charCodeAt(0)===46&&o.push(""),t.replace(Yn,function(n,r,s,l){o.push(s?l.replace(Kn,"$1"):r||n)}),o});function Zn(t){return t==null?"":Me(t)}function Qn(t,o){return H(t)?t:bn(t,o)?[t]:Xn(Zn(t))}function Jn(t){if(typeof t=="string"||de(t))return t;var o=t+"";return o=="0"&&1/t==-1/0?"-0":o}function er(t,o){return t!=null&&o in Object(t)}function tr(t,o,n){o=Qn(o,t);for(var r=-1,s=o.length,l=!1;++r<s;){var a=Jn(o[r]);if(!(l=t!=null&&n(t,a)))break;t=t[a]}return l||++r!=s?l:(s=t==null?0:t.length,!!s&&pn(s)&&cn(a,s)&&(H(t)||yn(t)))}function or(t,o){return t!=null&&tr(t,o,er)}const nr={class:"my-filter-complex"},rr={key:0,class:"my-filter-input"},sr={class:"my-fc-footer"},ar=we(e.defineComponent({__name:"FilterComplex",props:{renderOpts:Object,renderParams:Object},setup(t){const o=t,n=e.ref(),r=e.computed(()=>{const{column:c}=o.renderParams||{};return c?c.field:""}),s=()=>{const{renderParams:c}=o;if(c){const{column:f}=c,d=f.filters[0];n.value=d}};e.watch(r,()=>{s()}),s();const l=e.computed(()=>o.renderParams.column),a=e.computed(()=>or(l.value.params,"optionlist")?"select":"input"),i=()=>{const{renderParams:c}=o,f=n.value;if(c&&f){const{$table:d}=c,h=!!f.data;d.updateFilterOptionStatus(f,h)}},m=()=>{const{renderParams:c}=o,f={};if(c){const{$table:d}=c;d.getColumns().forEach(k=>{const{field:b,filters:P}=k;if(b&&P&&P.length){const x=P[0];x.data&&(f[b]=x.data)}})}return f},g=()=>{const{renderParams:c}=o;if(c){const{$table:f,$grid:d}=c,h=n.value;h&&f.updateFilterOptionStatus(h,!!h.data);const k=m();d.commitProxy("query",k),d.closeFilter()}},y=()=>{const{renderParams:c}=o,f=n.value;if(c&&f){const{$table:d,$grid:h}=c;f.data="",d.updateFilterOptionStatus(f,!1);const k=m();h.commitProxy("query",k),h.closeFilter()}};return(c,f)=>(e.openBlock(),e.createElementBlock("div",nr,[n.value?(e.openBlock(),e.createElementBlock("div",rr,[a.value==="select"?(e.openBlock(),e.createBlock(e.unref(R.VxeSelect),{key:0,modelValue:n.value.data,"onUpdate:modelValue":f[0]||(f[0]=d=>n.value.data=d),options:l.value.params.optionlist,clearable:"",onChange:i},null,8,["modelValue","options"])):(e.openBlock(),e.createBlock(e.unref(R.VxeInput),{key:1,modelValue:n.value.data,"onUpdate:modelValue":f[1]||(f[1]=d=>n.value.data=d),clearable:"",onKeyup:e.withKeys(g,["enter"]),onInput:i},null,8,["modelValue"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",sr,[e.createVNode(e.unref(R.VxeButton),{onClick:y},{default:e.withCtx(()=>[...f[2]||(f[2]=[e.createTextVNode("重置",-1)])]),_:1}),e.createVNode(e.unref(R.VxeButton),{status:"primary",onClick:g},{default:e.withCtx(()=>[...f[3]||(f[3]=[e.createTextVNode("确认",-1)])]),_:1})])]))}}),[["__scopeId","data-v-98a6f5eb"]]);X.VxeUI.renderer.add("MyFilterComplex",{showTableFilterFooter:!1,renderTableFilter(t,o){return React.createElement(ar,{renderOpts:t,renderParams:o})}});const lr=e.defineComponent({components:{VxePager:R.VxePager,VxeButton:R.VxeButton},__name:"use-query-grid",setup(t,{expose:o}){const n=e.ref(),r=e.useAttrs();return Fo(n,r),o({getGrid:()=>n.value}),(s,l)=>(e.openBlock(),e.createBlock(e.unref(X.VxeGrid),e.mergeProps({ref_key:"gridRef",ref:n},s.$attrs),e.createSlots({_:2},[e.renderList(s.$slots,(a,i)=>({name:i,fn:e.withCtx(m=>[e.renderSlot(s.$slots,i,e.normalizeProps(e.guardReactiveProps(m||{})))])}))]),1040))}});function ir(t){const o=e.ref(),n=new Eo(o,t);return[e.defineComponent((s,{attrs:l,slots:a})=>{const{gridEvents:i,gridOptions:m}=t,g=Object.entries(i||{}).reduce((y,[c,f])=>{const d=`on${c.charAt(0).toUpperCase()+c.slice(1)}`;return y[d]=f,y},{});return()=>e.h(lr,{ref:o,...s,...l,...m,...g},a)}),n]}let v=null;async function qe(){return v||(v=await import("nprogress"),v.configure({showSpinner:!0,speed:300}),v)}async function cr(){(await qe())?.start()}async function dr(){(await qe())?.done()}Object.defineProperty($,"patterns",{enumerable:!0,get:()=>B.patterns}),$.z=Ke,$.FormApi=Ve,$.Modal=ge,$.ModalTypes=Rt,$.SunnyBatchSelect=ro,$.SunnyForm=Bo,$.SunnyIcon=ke,$.SunnyScrollbar=Dt,$.SunnySearchInputTag=so,$.SunnySelect=xe,$.SunnyUpload=eo,$.setupSunnyForm=ko,$.startProgress=cr,$.stopProgress=dr,$.useSunnyEditGrid=Vo,$.useSunnyForm=xo,$.useSunnyModal=Tt,$.useSunnyQueryGrid=ir,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
|