@xto/form 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),H=require("@xto/core"),ue=["type","placeholder","disabled","readonly","maxlength","minlength"],ce=e.defineComponent({name:"XInput",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},type:{default:"text"},placeholder:{default:""},size:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxlength:{},minlength:{},showWordLimit:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},prefixIcon:{},suffixIcon:{}},emits:["update:modelValue","update:value","input","change","focus","blur","clear"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("input"),m=e.ref(),c=e.ref(!1),g=e.ref(!1),p=e.useSlots(),S=e.computed(()=>l.type==="password"&&l.showPassword&&!l.disabled),b=e.computed(()=>S.value?g.value?"text":"password":l.type),h=e.computed({get:()=>l.modelValue!==void 0?l.modelValue:l.value!==void 0?l.value:"",set:w=>{a("update:modelValue",w),a("update:value",w),a("input",w)}}),y=e.computed(()=>String(h.value).length),D=e.computed(()=>[n.b(),l.size!=="default"?n.m(l.size):"",n.is("disabled",l.disabled),n.is("focus",c.value),n.is("has-prefix",l.prefixIcon||p.prefix),n.is("has-suffix",l.suffixIcon||p.suffix||l.clearable||S.value||l.showWordLimit)]),u=w=>{const R=w.target.value;a("change",R)},k=w=>{c.value=!0,a("focus",w)},B=w=>{c.value=!1,a("blur",w)},C=()=>{a("update:modelValue",""),a("update:value",""),a("clear")},N=()=>{g.value=!g.value};return d({focus:()=>{var w;(w=m.value)==null||w.focus()},blur:()=>{var w;(w=m.value)==null||w.blur()},inputRef:m}),(w,R)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(D.value)},[w.$slots.prefix||o.prefixIcon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.renderSlot(w.$slots,"prefix",{},()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("icon"))},e.toDisplayString(o.prefixIcon),3)])],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{ref_key:"inputRef",ref:m,"onUpdate:modelValue":R[0]||(R[0]=L=>h.value=L),type:b.value,placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,class:e.normalizeClass(e.unref(n).e("inner")),onChange:u,onFocus:k,onBlur:B},null,42,ue),[[e.vModelDynamic,h.value]]),w.$slots.suffix||o.suffixIcon||o.clearable||S.value||o.showWordLimit?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.renderSlot(w.$slots,"suffix",{},()=>[o.clearable&&h.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("clear")]),onClick:C}," ✕ ",2)):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("password")]),onClick:N},e.toDisplayString(g.value?"🙈":"👁️"),3)):e.createCommentVNode("",!0),o.showWordLimit&&o.maxlength?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(y.value)+"/"+e.toDisplayString(o.maxlength),3)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)],2))}}),ie=["disabled"],de=["value","placeholder","disabled"],me=["disabled"],fe=e.defineComponent({name:"XInputNumber",__name:"index",props:{modelValue:{default:void 0},min:{default:-1/0},max:{default:1/0},step:{default:1},stepStrictly:{type:Boolean,default:!1},precision:{default:void 0},size:{default:"default"},disabled:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},controlsPosition:{default:""},placeholder:{default:""},valueOnClear:{default:null}},emits:["update:modelValue","change","focus","blur"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("input-number"),m=e.ref(),c=e.ref(!1),g=e.ref(null),p=e.ref(l.modelValue),S=e.computed(()=>{if(l.precision!==void 0)return l.precision;const s=b(l.step),r=l.modelValue!==void 0?b(l.modelValue):0;return Math.max(s,r)});function b(s){const r=s.toString(),i=r.indexOf(".");return i===-1?0:r.length-i-1}function h(s,r=S.value){if(r===0)return Math.round(s);let i=s.toFixed(r);return Number(i)}function y(s){return s>l.max?l.max:s<l.min?l.min:s}const D=e.computed(()=>l.modelValue),u=e.computed(()=>g.value!==null?g.value:D.value===void 0?"":h(D.value)),k=e.computed(()=>l.disabled?!0:D.value===void 0?l.min!==-1/0:D.value<=l.min),B=e.computed(()=>l.disabled?!0:D.value===void 0?l.max!==1/0:D.value>=l.max),C=e.computed(()=>[n.b(),l.size!=="default"?n.m(l.size):"",n.is("disabled",l.disabled),n.is("focus",c.value),l.controlsPosition?n.m(l.controlsPosition):""]);function N(){if(l.disabled||B.value)return;const s=D.value??(l.min===-1/0?0:l.min),r=h(s+l.step),i=y(r);E(i)}function f(){if(l.disabled||k.value)return;const s=D.value??(l.min===-1/0?0:l.min),r=h(s-l.step),i=y(r);E(i)}function E(s){const r=p.value;if(s===void 0)a("update:modelValue",void 0),a("change",void 0,r);else{const i=h(s),F=y(i);if(l.stepStrictly){const K=Math.round((F-l.min)/l.step),M=h(l.min+K*l.step);a("update:modelValue",M),a("change",M,r)}else a("update:modelValue",F),a("change",F,r)}p.value=l.modelValue,g.value=null}function w(s){if(s===""||s==="-")return;let r=s.replace(/[^\d.-]/g,"");const i=r.split(".");i.length>2&&(r=i[0]+"."+i.slice(1).join("")),r.indexOf("-")>0&&(r=r.replace(/-/g,"")),r.lastIndexOf("-")>0&&(r="-"+r.replace(/-/g,""));const F=Number(r);if(!isNaN(F))return F}function R(s){const r=s.target.value;g.value=r}function L(s){if(c.value=!1,g.value!==null){const r=w(g.value);r===void 0?l.valueOnClear!==null?E(l.valueOnClear):g.value=null:E(r)}a("blur",s)}function Y(s){c.value=!0,p.value=l.modelValue,a("focus",s)}function O(s){var r;if(!l.disabled)switch(s.key){case"ArrowUp":s.preventDefault(),N();break;case"ArrowDown":s.preventDefault(),f();break;case"Enter":(r=m.value)==null||r.blur();break}}function V(){g.value=null,l.valueOnClear!==null&&l.valueOnClear!==void 0?E(l.valueOnClear):(a("update:modelValue",void 0),a("change",void 0,p.value),p.value=void 0)}function x(){var s;(s=m.value)==null||s.focus()}function v(){var s;(s=m.value)==null||s.blur()}return e.watch(()=>l.modelValue,s=>{p.value=s,g.value=null},{immediate:!0}),d({focus:x,blur:v,clear:V,increase:N,decrease:f}),(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[o.controls?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass([e.unref(n).e("decrease"),e.unref(n).is("disabled",k.value)]),disabled:k.value,onClick:f}," − ",10,ie)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("wrapper"))},[e.createElementVNode("input",{ref_key:"inputRef",ref:m,value:u.value,placeholder:o.placeholder,disabled:o.disabled,class:e.normalizeClass(e.unref(n).e("inner")),type:"text",autocomplete:"off",onInput:R,onFocus:Y,onBlur:L,onKeydown:O},null,42,de)],2),o.controls?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass([e.unref(n).e("increase"),e.unref(n).is("disabled",B.value)]),disabled:B.value,onClick:N}," + ",10,me)):e.createCommentVNode("",!0)],2))}}),ve=["placeholder","disabled","readonly","maxlength","minlength","rows"],pe=e.defineComponent({name:"XTextarea",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},placeholder:{default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxlength:{},minlength:{},rows:{default:2},autosize:{type:[Boolean,Object],default:!1},showWordLimit:{type:Boolean,default:!1},resize:{default:"vertical"}},emits:["update:modelValue","update:value","input","change","focus","blur"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("textarea"),m=e.ref(),c=e.ref(!1),g=e.computed({get:()=>l.modelValue!==void 0?l.modelValue:l.value!==void 0?l.value:"",set:C=>{a("update:modelValue",C),a("update:value",C),a("input",C)}}),p=e.computed(()=>String(g.value).length),S=e.computed(()=>{const C={};if(l.resize&&(C.resize=l.resize),l.autosize&&(C.minHeight="auto",typeof l.autosize=="object")){const N=l.autosize.minRows||1,f=l.autosize.maxRows;C.minHeight=`${N*22+12}px`,f&&(C.maxHeight=`${f*22+12}px`)}return C}),b=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("focus",c.value),n.is("exceed",l.maxlength&&p.value>l.maxlength)]),h=()=>{l.autosize&&m.value&&(m.value.style.height="auto",m.value.style.height=`${m.value.scrollHeight}px`)},y=C=>{const N=C.target.value;a("change",N)},D=C=>{c.value=!0,a("focus",C)},u=C=>{c.value=!1,a("blur",C)};return d({focus:()=>{var C;(C=m.value)==null||C.focus()},blur:()=>{var C;(C=m.value)==null||C.blur()},textareaRef:m}),(C,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value),style:e.normalizeStyle(o.disabled?void 0:{cursor:"text"})},[e.withDirectives(e.createElementVNode("textarea",{ref_key:"textareaRef",ref:m,"onUpdate:modelValue":N[0]||(N[0]=f=>g.value=f),placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,rows:o.rows,style:e.normalizeStyle(S.value),class:e.normalizeClass(e.unref(n).e("inner")),onInput:h,onChange:y,onFocus:D,onBlur:u},null,46,ve),[[e.vModelText,g.value]]),o.showWordLimit&&o.maxlength?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(p.value)+"/"+e.toDisplayString(o.maxlength),3)):e.createCommentVNode("",!0)],6))}}),he=e.defineComponent({name:"XSwitch",__name:"index",props:{modelValue:{type:[Boolean,Number,String],default:!1},disabled:{type:Boolean,default:!1},width:{default:40},activeColor:{default:"#409eff"},inactiveColor:{default:"#dcdfe6"},activeValue:{type:[Boolean,Number,String],default:!0},inactiveValue:{type:[Boolean,Number,String],default:!1}},emits:["update:modelValue","change"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("switch"),n=e.computed(()=>t.modelValue===t.activeValue),m=e.computed(()=>[a.b(),a.is("disabled",t.disabled),a.is("checked",n.value)]),c=e.computed(()=>({width:typeof t.width=="number"?`${t.width}px`:t.width,height:"20px",backgroundColor:n.value?t.activeColor:t.inactiveColor})),g=()=>{if(t.disabled)return;const p=n.value?t.inactiveValue:t.activeValue;l("update:modelValue",p),l("change",p)};return(p,S)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(m.value),onClick:g},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("core")),style:e.normalizeStyle(c.value)},null,6),p.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("text"))},[e.renderSlot(p.$slots,"default")],2)):e.createCommentVNode("",!0)],2))}}),ge=["checked","disabled","name","value"],ke=e.defineComponent({name:"XRadio",__name:"index",props:{modelValue:{type:[String,Number,Boolean]},value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean},name:{}},emits:["update:modelValue","change"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("radio"),n=e.inject("radioGroup",null),m=e.computed(()=>!!n),c=e.computed(()=>m.value?n.modelValue.value:t.modelValue),g=e.computed(()=>t.value??t.label),p=e.computed(()=>c.value===g.value),S=e.computed(()=>t.disabled||m.value&&n.disabled),b=e.computed(()=>t.name||(m.value?n.name:void 0)),h=e.computed(()=>[a.b(),a.is("checked",p.value),a.is("disabled",S.value)]),y=()=>{S.value||(m.value?n.changeValue(g.value):(l("update:modelValue",g.value),l("change",g.value)))};return(D,u)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(h.value),onClick:e.withModifiers(y,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("input"))},[e.createElementVNode("input",{type:"radio",checked:p.value,disabled:S.value,name:b.value,value:g.value},null,8,ge)],2),D.$slots.default||o.label?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("label"))},[e.renderSlot(D.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)):e.createCommentVNode("",!0)],2))}}),ye=e.defineComponent({name:"XRadioGroup",__name:"group",props:{modelValue:{type:[String,Number,Boolean],default:""},disabled:{type:Boolean,default:!1},name:{}},emits:["update:modelValue","change"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("radio-group"),n=m=>{l("update:modelValue",m),l("change",m)};return e.provide("radioGroup",{modelValue:e.computed(()=>t.modelValue),name:t.name||`radio-group-${Date.now()}`,disabled:t.disabled,changeValue:n}),(m,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(a).b()),role:"radiogroup"},[e.renderSlot(m.$slots,"default")],2))}}),be=["checked","disabled","value"],Ce=e.defineComponent({name:"XRadioButton",__name:"button",props:{value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean},name:{}},emits:["update:modelValue","change"],setup(o,{emit:d}){const t=o,l=H.useNamespace("radio-button"),a=e.inject("radioGroup",null),n=e.computed(()=>!!a),m=e.computed(()=>n.value?a.modelValue.value:null),c=e.computed(()=>t.value??t.label),g=e.computed(()=>m.value===c.value),p=e.computed(()=>t.disabled||n.value&&a.disabled),S=e.computed(()=>[l.b(),l.is("active",g.value),l.is("disabled",p.value)]),b=()=>{p.value||n.value&&a.changeValue(c.value)};return(h,y)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(S.value),onClick:e.withModifiers(b,["prevent"])},[e.createElementVNode("input",{type:"radio",checked:g.value,disabled:p.value,value:c.value,class:e.normalizeClass(e.unref(l).e("input"))},null,10,be),e.createElementVNode("span",{class:e.normalizeClass(e.unref(l).e("inner"))},[e.renderSlot(h.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)],2))}}),Ve=["checked","disabled","name","value"],Be=e.defineComponent({name:"XCheckbox",__name:"index",props:{modelValue:{type:[Boolean,String,Number,Array]},value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean},name:{},indeterminate:{type:Boolean}},emits:["update:modelValue","change"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("checkbox"),n=e.inject("checkboxGroup",null),m=e.computed(()=>!!n),c=e.computed(()=>t.value??t.label),g=e.computed(()=>m.value?n.modelValue.value.includes(c.value):Array.isArray(t.modelValue)?t.modelValue.includes(c.value):!!t.modelValue),p=e.computed(()=>{if(t.disabled)return!0;if(m.value){const h=n.disabled,y=n.min>0&&n.modelValue.value.length<=n.min,D=n.max>0&&n.modelValue.value.length>=n.max;return g.value&&y||!g.value&&D?!0:h}return!1}),S=e.computed(()=>[a.b(),a.is("checked",g.value),a.is("disabled",p.value),a.is("indeterminate",t.indeterminate&&!g.value)]),b=()=>{if(!p.value)if(m.value)n.changeValue(c.value);else{let h;if(Array.isArray(t.modelValue)){const y=t.modelValue.indexOf(c.value);y>-1?h=[...t.modelValue.slice(0,y),...t.modelValue.slice(y+1)]:h=[...t.modelValue,c.value]}else h=!t.modelValue;l("update:modelValue",h),l("change",h)}};return(h,y)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(S.value),onClick:e.withModifiers(b,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("input"))},[e.createElementVNode("input",{type:"checkbox",checked:g.value,disabled:p.value,name:o.name,value:c.value},null,8,Ve)],2),h.$slots.default||o.label!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("label"))},[e.renderSlot(h.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)):e.createCommentVNode("",!0)],2))}}),Ee=e.defineComponent({name:"XCheckboxGroup",__name:"group",props:{modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},min:{default:0},max:{default:0}},emits:["update:modelValue","change"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("checkbox-group"),n=m=>{const c=[...t.modelValue],g=c.indexOf(m);g>-1?c.splice(g,1):c.push(m),l("update:modelValue",c),l("change",c)};return e.provide("checkboxGroup",{modelValue:e.computed(()=>t.modelValue),disabled:t.disabled,min:t.min,max:t.max,changeValue:n}),(m,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(a).b()),role:"group"},[e.renderSlot(m.$slots,"default")],2))}}),xe=e.defineComponent({name:"XForm",__name:"index",props:{model:{default:()=>({})},rules:{default:()=>({})},labelWidth:{default:"100px"},labelPosition:{default:"right"},layout:{default:"horizontal"},inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"default"}},emits:["validate","submit","reset"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("form"),m=e.ref([]),c=e.computed(()=>l.layout==="inline"||l.inline),g=e.computed(()=>l.layout==="vertical"||l.labelPosition==="top"),p=e.computed(()=>[n.b(),n.m(`label-${g.value?"top":l.labelPosition}`),n.is("inline",c.value),n.is("vertical",g.value)]),S=e.computed(()=>({width:typeof l.labelWidth=="number"?`${l.labelWidth}px`:l.labelWidth})),b=f=>{m.value.push(f)},h=f=>{const E=m.value.indexOf(f);E>-1&&m.value.splice(E,1)},y=async()=>{let f=!0;for(const E of m.value)await E.validate()||(f=!1);return f},D=async f=>{const E=Array.isArray(f)?f:[f];let w=!0;for(const R of m.value)E.includes(R.prop)&&(await R.validate()||(w=!1));return w},u=()=>{m.value.forEach(f=>{f.resetField()})},k=f=>{if(f){const E=Array.isArray(f)?f:[f];m.value.forEach(w=>{E.includes(w.prop)&&w.clearValidate()})}else m.value.forEach(E=>{E.clearValidate()})},B=f=>{console.log("[XForm] handleSubmit triggered",f),f.preventDefault(),a("submit")},C=f=>{console.log("[XForm] handleReset triggered",f),f.preventDefault(),u(),a("reset")},N=e.toRef(l,"model");return e.provide("form",{model:N,rules:l.rules,labelWidth:l.labelWidth,labelPosition:g.value?"top":l.labelPosition,disabled:l.disabled,size:l.size,labelStyle:S,addField:b,removeField:h,emit:a}),d({validate:y,validateField:D,resetFields:u,clearValidate:k}),(f,E)=>(e.openBlock(),e.createElementBlock("form",{class:e.normalizeClass(p.value),onSubmit:B,onReset:C},[e.renderSlot(f.$slots,"default")],34))}}),we=e.defineComponent({name:"XFormItem",__name:"item",props:{prop:{},label:{},labelWidth:{},required:{type:Boolean},rules:{},showMessage:{type:Boolean}},setup(o,{expose:d}){const t=o,l=H.useNamespace("form-item"),a=e.inject("form",null),n=e.ref(""),m=e.ref(""),c=e.computed(()=>t.required?!0:g().some(B=>B.required)),g=()=>{const k=[];return t.rules&&k.push(...t.rules),a&&t.prop&&a.rules[t.prop]&&k.push(...a.rules[t.prop]),k},p=()=>{var k;if(!(!a||!t.prop))return(k=a.model.value)==null?void 0:k[t.prop]},S=k=>{!a||!t.prop||a.model.value&&(a.model.value[t.prop]=k)},b=async k=>{const B=g();if(B.length===0)return n.value="valid",!0;const C=p();let N=!0,f="";for(const E of B)if(!(k&&E.trigger&&E.trigger!==k)){if(E.required&&(C==null||C===""||Array.isArray(C)&&C.length===0)){N=!1,f=E.message||"该字段为必填项";break}if(E.min!==void 0||E.max!==void 0){const w=typeof C=="string"?C.length:0;if(E.min!==void 0&&w<E.min){N=!1,f=E.message||`长度不能小于 ${E.min} 个字符`;break}if(E.max!==void 0&&w>E.max){N=!1,f=E.message||`长度不能大于 ${E.max} 个字符`;break}}if(E.pattern&&C&&!E.pattern.test(C)){N=!1,f=E.message||"格式不正确";break}if(E.validator)try{await new Promise((w,R)=>{E.validator(E,C,L=>{L?R(L):w()})})}catch(w){N=!1,f=w.message||E.message||"验证失败";break}}return n.value=N?"valid":"invalid",m.value=f,a&&t.prop&&a.emit("validate",t.prop,N,f),N},h=()=>{S(void 0),y()},y=()=>{n.value="",m.value=""},D=e.computed(()=>[l.b(),l.is("required",c.value),l.is("error",n.value==="invalid"),l.is("success",n.value==="valid")]),u=e.computed(()=>{const k=t.labelWidth??(a==null?void 0:a.labelWidth)??"100px";return{width:typeof k=="number"?`${k}px`:k}});return e.watch(()=>p(),()=>{n.value==="invalid"&&b("change")}),e.onMounted(()=>{a&&t.prop&&a.addField({prop:t.prop,validate:b,resetField:h,clearValidate:y})}),e.onUnmounted(()=>{a&&t.prop&&a.removeField({prop:t.prop,validate:b,resetField:h,clearValidate:y})}),d({validate:b,resetField:h,clearValidate:y}),(k,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(D.value)},[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(l).e("label")),style:e.normalizeStyle(u.value)},e.toDisplayString(o.label),7)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).e("content"))},[e.renderSlot(k.$slots,"default"),o.showMessage!==!1&&n.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(l).e("error"))},e.toDisplayString(m.value),3)):e.createCommentVNode("",!0)],2)],2))}});function ze(o,d){return new Date(o,d+1,0).getDate()}function De(o,d){return new Date(o,d,1).getDay()}function Z(o,d){return!o||!d?!1:o.getFullYear()===d.getFullYear()&&o.getMonth()===d.getMonth()&&o.getDate()===d.getDate()}function Se(o,d){return!o||!d?!1:o.getFullYear()===d.getFullYear()&&o.getMonth()===d.getMonth()}function oe(o,d,t){if(!d||!t)return!1;const l=o.getTime();return l>=d.getTime()&&l<=t.getTime()}function Ne(o,d,t=0){const l=[],a=ze(o,d),n=De(o,d);let m=new Date(o,d,1);const c=(n-t+7)%7;m.setDate(1-c);let g=[],p=new Date(m);for(;(p.getMonth()<=d||p.getMonth()===d&&p.getDate()<=a)&&(g.push(new Date(p)),!(g.length===7&&(l.push(g),g=[],p.getMonth()>d)||(p.setDate(p.getDate()+1),l.length>7))););return g.length>0&&l.push(g),l}function j(o,d="YYYY-MM-DD"){if(!o)return"";const t=o.getFullYear(),l=o.getMonth()+1,a=o.getDate(),n=o.getHours(),m=o.getMinutes(),c=o.getSeconds();return d.replace(/YYYY/g,String(t)).replace(/YY/g,String(t).slice(-2)).replace(/MM/g,String(l).padStart(2,"0")).replace(/M/g,String(l)).replace(/DD/g,String(a).padStart(2,"0")).replace(/D/g,String(a)).replace(/HH/g,String(n).padStart(2,"0")).replace(/H/g,String(n)).replace(/mm/g,String(m).padStart(2,"0")).replace(/m/g,String(m)).replace(/ss/g,String(c).padStart(2,"0")).replace(/s/g,String(c))}function ee(o){if(!o)return null;if(o instanceof Date)return isNaN(o.getTime())?null:o;if(typeof o=="number")return new Date(o);const d=new Date(o);if(isNaN(d.getTime())){const t=o.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/);return t?new Date(parseInt(t[1]),parseInt(t[2])-1,parseInt(t[3])):null}return d}function Me(o){const d=new Date(o);return d.setMonth(d.getMonth()-1),d}function Te(o){const d=new Date(o);return d.setMonth(d.getMonth()+1),d}function $e(o){const d=new Date(o);return d.setFullYear(d.getFullYear()-1),d}function Fe(o){const d=new Date(o);return d.setFullYear(d.getFullYear()+1),d}function se(o){const d=Math.floor(o/10)*10;return[d,d+9]}function le(o){const d=new Date(o);return d.setHours(0,0,0,0),d}function Re(o,d,t,l){if(d&&d(o))return!0;const a=le(o).getTime();return!!(t&&a<le(t).getTime()||l&&a>le(l).getTime())}const Le=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],Ie=["日","一","二","三","四","五","六"],Pe=["onClick","onMouseenter"],Ae=e.defineComponent({name:"XDateTable",__name:"DateTable",props:{modelValue:{default:null},viewedMonth:{default:()=>new Date},minDate:{default:null},maxDate:{default:null},disabledDate:{},rangeState:{default:()=>({selecting:!1,startDate:null,endDate:null})},selectionMode:{default:"single"}},emits:["pick","range-select","range-move","update:viewedMonth"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("date-table"),n=e.ref(null),m=e.computed(()=>t.viewedMonth.getFullYear()),c=e.computed(()=>t.viewedMonth.getMonth()),g=e.computed(()=>Ne(m.value,c.value,0)),p=f=>t.modelValue?Z(f,t.modelValue):!1,S=f=>Z(f,new Date),b=f=>Se(f,t.viewedMonth),h=f=>{if(t.selectionMode!=="range")return!1;const{startDate:E,endDate:w,selecting:R}=t.rangeState||{};if(R&&E){const L=n.value;if(L){const Y=E<L?E:L,O=E<L?L:E;return oe(f,Y,O)}return Z(f,E)}return E&&w?oe(f,E,w):!1},y=f=>{if(t.selectionMode!=="range")return!1;const{startDate:E,selecting:w}=t.rangeState||{};return w&&E&&n.value?Z(f,E<n.value?E:n.value):E?Z(f,E):!1},D=f=>{if(t.selectionMode!=="range")return!1;const{endDate:E,selecting:w}=t.rangeState||{};if(w&&n.value){const{startDate:R}=t.rangeState||{};return Z(f,R<n.value?n.value:R)}return E?Z(f,E):!1},u=f=>Re(f,t.disabledDate,t.minDate,t.maxDate),k=f=>[a.e("cell"),a.is("selected",p(f)),a.is("today",S(f)),a.is("disabled",u(f)),a.is("in-range",h(f)),a.is("range-start",y(f)),a.is("range-end",D(f)),a.is("prev-month",!b(f)&&f.getMonth()<c.value),a.is("next-month",!b(f)&&f.getMonth()>c.value)],B=f=>{u(f)||(t.selectionMode==="range"?l("range-select",f):l("pick",f))},C=f=>{n.value=f},N=()=>{n.value=null};return(f,E)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(e.unref(a).b()),cellspacing:"0",cellpadding:"0"},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Ie),w=>(e.openBlock(),e.createElementBlock("th",{key:w,class:e.normalizeClass(e.unref(a).e("header-cell"))},e.toDisplayString(w),3))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(w,R)=>(e.openBlock(),e.createElementBlock("tr",{key:R},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w,(L,Y)=>(e.openBlock(),e.createElementBlock("td",{key:Y,class:e.normalizeClass(k(L)),onClick:O=>B(L),onMouseenter:O=>C(L),onMouseleave:N},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("cell-text"))},e.toDisplayString(L.getDate()),3)],42,Pe))),128))]))),128))])],2))}}),Ye=["onClick"],He=e.defineComponent({name:"XMonthTable",__name:"MonthTable",props:{modelValue:{default:null},viewedYear:{default:()=>new Date().getFullYear()},disabledDate:{}},emits:["pick"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("month-table");e.computed(()=>t.modelValue?t.modelValue.getMonth():-1);const n=b=>t.modelValue?t.modelValue.getFullYear()===t.viewedYear&&t.modelValue.getMonth()===b:!1,m=b=>{const h=new Date;return h.getFullYear()===t.viewedYear&&h.getMonth()===b},c=b=>{if(!t.disabledDate)return!1;const h=new Date(t.viewedYear,b,1),y=new Date(t.viewedYear,b+1,0);return t.disabledDate(h)&&t.disabledDate(y)},g=b=>[a.e("cell"),a.is("selected",n(b)),a.is("current",m(b)),a.is("disabled",c(b))],p=b=>{c(b)||l("pick",b)},S=e.computed(()=>{const b=[];for(let h=0;h<12;h+=3)b.push([h,h+1,h+2]);return b});return(b,h)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(e.unref(a).b()),cellspacing:"0",cellpadding:"0"},[e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(y,D)=>(e.openBlock(),e.createElementBlock("tr",{key:D},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y,u=>(e.openBlock(),e.createElementBlock("td",{key:u,class:e.normalizeClass(g(u)),onClick:k=>p(u)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("cell-text"))},e.toDisplayString(e.unref(Le)[u]),3)],10,Ye))),128))]))),128))])],2))}}),Oe=["onClick"],Ue=e.defineComponent({name:"XYearTable",__name:"YearTable",props:{modelValue:{default:null},viewedYear:{default:()=>new Date().getFullYear()},disabledDate:{}},emits:["pick"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("year-table"),n=e.computed(()=>new Date().getFullYear()),m=e.computed(()=>se(t.viewedYear)),c=e.computed(()=>{const[u]=m.value,k=[];k.push(u-1);for(let B=0;B<10;B++)k.push(u+B);return k.push(u+10),k}),g=e.computed(()=>{const u=[];for(let k=0;k<c.value.length;k+=3)u.push(c.value.slice(k,k+3));return u}),p=u=>t.modelValue?t.modelValue.getFullYear()===u:!1,S=u=>u===n.value,b=u=>{const[k,B]=m.value;return u>=k&&u<=B},h=u=>{if(!t.disabledDate)return!1;const k=new Date(u,0,1),B=new Date(u,11,31);return t.disabledDate(k)&&t.disabledDate(B)},y=u=>[a.e("cell"),a.is("selected",p(u)),a.is("current",S(u)),a.is("disabled",h(u)),a.is("in-decade",b(u))],D=u=>{h(u)||l("pick",u)};return(u,k)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(e.unref(a).b()),cellspacing:"0",cellpadding:"0"},[e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(B,C)=>(e.openBlock(),e.createElementBlock("tr",{key:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B,N=>(e.openBlock(),e.createElementBlock("td",{key:N,class:e.normalizeClass(y(N)),onClick:f=>D(N)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("cell-text"))},e.toDisplayString(N),3)],10,Oe))),128))]))),128))])],2))}}),Ke=["placeholder","disabled","value"],Xe=["placeholder","disabled","value"],We=["placeholder","disabled","value"],Ge=e.defineComponent({name:"XDatePicker",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},type:{default:"date"},placeholder:{default:"请选择日期"},startPlaceholder:{default:"开始日期"},endPlaceholder:{default:"结束日期"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"default"},format:{default:"YYYY-MM-DD"},valueFormat:{default:""},disabledDate:{},minDate:{},maxDate:{}},emits:["update:modelValue","update:value","change","focus","blur","clear"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("date-picker"),m=e.ref(!1),c=e.ref(2e3),g=e.ref(),p=()=>l.modelValue!==void 0?l.modelValue:l.value!==void 0?l.value:null,S=$=>{a("update:modelValue",$),a("update:value",$),a("change",$)},b=e.ref(),h=e.ref(),y=e.ref({top:"0px",left:"0px"}),D=()=>H.useZIndex().next(),u=e.ref("date"),k=e.ref(new Date),B=e.ref({selecting:!1,startDate:null,endDate:null}),C=e.computed(()=>{const $=p();if(!$)return null;if(l.type==="daterange"){const[A,W]=$;return[ee(A),ee(W)]}return ee($)}),N=e.computed(()=>!C.value||Array.isArray(C.value)?"":j(C.value,l.format)),f=e.computed(()=>{if(!Array.isArray(C.value))return"";const[$]=C.value;return $?j($,l.format):""}),E=e.computed(()=>{if(!Array.isArray(C.value))return"";const[,$]=C.value;return $?j($,l.format):""}),w=e.computed(()=>Array.isArray(C.value)?null:C.value),R=e.computed(()=>k.value.getFullYear()),L=e.computed(()=>k.value.getMonth()),Y=e.computed(()=>se(R.value)),O=e.computed(()=>u.value==="year"?`${Y.value[0]} 年 - ${Y.value[1]} 年`:u.value==="month"?`${R.value} 年`:`${R.value} 年 ${L.value+1} 月`),V=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("range",l.type==="daterange")]),x=e.computed(()=>[n.e("input"),n.is("focus",m.value),n.is("has-value",!!N.value||!!(f.value||E.value))]),v=()=>{l.disabled||l.readonly||(m.value?r():s())},s=()=>{m.value=!0,c.value=D(),e.nextTick(()=>{if(g.value&&b.value){const $=g.value.getBoundingClientRect(),A=b.value.getBoundingClientRect();let W=$.bottom+8,te=$.left;te+A.width>window.innerWidth&&(te=window.innerWidth-A.width-8),W+A.height>window.innerHeight&&(W=$.top-A.height-8),y.value={top:`${W}px`,left:`${te}px`}}}),a("focus",{})},r=()=>{m.value=!1,u.value="date",a("blur",{})},i=$=>{if(l.type==="date"){const A=l.valueFormat?j($,l.valueFormat):$;S(A),r()}},F=$=>{if(!B.value.selecting)B.value.selecting=!0,B.value.startDate=$,B.value.endDate=null;else{B.value.selecting=!1,B.value.startDate&&$<B.value.startDate?[B.value.startDate,B.value.endDate]=[$,B.value.startDate]:B.value.endDate=$;const A=l.valueFormat?j(B.value.startDate,l.valueFormat):B.value.startDate,W=l.valueFormat?j(B.value.endDate,l.valueFormat):B.value.endDate;S([A,W]),r()}},K=$=>{if(k.value=new Date(R.value,$,1),l.type==="month"){const A=new Date(R.value,$,1),W=l.valueFormat?j(A,l.valueFormat):A;S(W),r()}else u.value="date"},M=$=>{if(k.value=new Date($,L.value,1),l.type==="year"){const A=new Date($,0,1),W=l.valueFormat?j(A,l.valueFormat):A;S(W),r()}else u.value="month"},U=()=>{k.value=Me(k.value)},T=()=>{k.value=Te(k.value)},q=()=>{u.value==="year"?k.value=new Date(R.value-10,L.value,1):k.value=$e(k.value)},_=()=>{u.value==="year"?k.value=new Date(R.value+10,L.value,1):k.value=Fe(k.value)},z=()=>{u.value="month"},I=()=>{u.value="year"},P=()=>{S(null),a("clear"),B.value={selecting:!1,startDate:null,endDate:null}},X=$=>{if(!g.value)return;const A=$.target;g.value.contains(A)||b.value&&b.value.contains(A)||r()};e.watch(p,$=>{if($)if(Array.isArray(C.value)){const[A]=C.value;A&&(k.value=new Date(A))}else C.value&&(k.value=new Date(C.value))},{immediate:!0}),e.watch(m,$=>{$&&(u.value="date",l.type==="daterange"&&(B.value={selecting:!1,startDate:Array.isArray(C.value)?C.value[0]:null,endDate:Array.isArray(C.value)?C.value[1]:null}))});const G=$=>{$.key==="Escape"&&r()};return e.onMounted(()=>{document.addEventListener("click",X),document.addEventListener("keydown",G)}),e.onUnmounted(()=>{document.removeEventListener("click",X),document.removeEventListener("keydown",G)}),d({focus:()=>{var $;return($=h.value)==null?void 0:$.focus()},blur:()=>{var $;return($=h.value)==null?void 0:$.blur()}}),($,A)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:g,class:e.normalizeClass(V.value)},[o.type!=="daterange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(x.value),onClick:v},[e.createElementVNode("input",{ref_key:"inputRef",ref:h,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:N.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,Ke),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&N.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(P,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("icon"))},"📅",2))],2)],2)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(x.value),onClick:v},[e.createElementVNode("input",{type:"text",placeholder:o.startPlaceholder,disabled:o.disabled,readonly:!0,value:f.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,Xe),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("separator"))},"至",2),e.createElementVNode("input",{type:"text",placeholder:o.endPlaceholder,disabled:o.disabled,readonly:!0,value:E.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,We),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&(f.value||E.value)&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(P,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("icon"))},"📅",2))],2)],2)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:b,class:e.normalizeClass(e.unref(n).e("popper")),style:e.normalizeStyle({zIndex:c.value,...y.value})},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(e.unref(n).e("prev-btn")),onClick:A[0]||(A[0]=W=>u.value==="date"?U():q())}," ‹ ",2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header-title"))},[u.value==="year"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:A[1]||(A[1]=W=>u.value="month")},e.toDisplayString(O.value),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",{onClick:I},e.toDisplayString(R.value)+" 年",1),u.value==="date"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:z},e.toDisplayString(L.value+1)+" 月",1)):e.createCommentVNode("",!0)],64))],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(e.unref(n).e("next-btn")),onClick:A[2]||(A[2]=W=>u.value==="date"?T():_())}," › ",2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("content"))},[u.value==="date"?(e.openBlock(),e.createBlock(Ae,{key:0,"model-value":w.value,"viewed-month":k.value,"disabled-date":o.disabledDate,"min-date":o.minDate?e.unref(ee)(o.minDate):null,"max-date":o.maxDate?e.unref(ee)(o.maxDate):null,"selection-mode":o.type==="daterange"?"range":"single","range-state":B.value,onPick:i,onRangeSelect:F},null,8,["model-value","viewed-month","disabled-date","min-date","max-date","selection-mode","range-state"])):u.value==="month"?(e.openBlock(),e.createBlock(He,{key:1,"model-value":w.value,"viewed-year":R.value,"disabled-date":o.disabledDate,onPick:K},null,8,["model-value","viewed-year","disabled-date"])):u.value==="year"?(e.openBlock(),e.createBlock(Ue,{key:2,"model-value":w.value,"viewed-year":R.value,"disabled-date":o.disabledDate,onPick:M},null,8,["model-value","viewed-year","disabled-date"])):e.createCommentVNode("",!0)],2)],6),[[e.vShow,m.value]])]),_:1})]))],2))}});function Q(o,d="HH:mm:ss"){if(!o)return"";const t=o.getHours(),l=o.getMinutes(),a=o.getSeconds();return d.replace(/HH/g,String(t).padStart(2,"0")).replace(/H/g,String(t)).replace(/mm/g,String(l).padStart(2,"0")).replace(/m/g,String(l)).replace(/ss/g,String(a).padStart(2,"0")).replace(/s/g,String(a))}function ae(o){if(!o)return null;if(o instanceof Date)return isNaN(o.getTime())?null:o;if(typeof o=="number"){const l=new Date;return l.setTime(o),l}const d=o.match(/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?/);if(d){const l=new Date;return l.setHours(parseInt(d[1]),parseInt(d[2]),d[3]?parseInt(d[3]):0,0),l}const t=new Date(o);return isNaN(t.getTime())?null:t}function J(o){return String(o).padStart(2,"0")}const qe=["onClick"],je=["onClick"],Ze=["onClick"],Qe=e.defineComponent({name:"XTimePanel",__name:"TimePanel",props:{modelValue:{default:null},format:{default:"HH:mm:ss"},disabledHours:{},disabledMinutes:{},disabledSeconds:{},hourStep:{default:1},minuteStep:{default:1},secondStep:{default:1}},emits:["confirm","cancel"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("time-panel"),n=e.ref(0),m=e.ref(0),c=e.ref(0),g=e.ref(),p=e.ref(),S=e.ref(),b=e.computed(()=>t.format.includes("ss")||t.format.includes("s")),h=e.computed(()=>{const M=[],U=Math.max(1,t.hourStep);for(let T=0;T<24;T+=U)M.push(T);return M}),y=e.computed(()=>{const M=[],U=Math.max(1,t.minuteStep);for(let T=0;T<60;T+=U)M.push(T);return M}),D=e.computed(()=>{const M=[],U=Math.max(1,t.secondStep);for(let T=0;T<60;T+=U)M.push(T);return M}),u=e.computed(()=>t.disabledHours?new Set(t.disabledHours()):new Set),k=e.computed(()=>t.disabledMinutes?new Set(t.disabledMinutes(n.value)):new Set),B=e.computed(()=>t.disabledSeconds?new Set(t.disabledSeconds(n.value,m.value)):new Set),C=e.computed(()=>`${J(n.value)}:${J(m.value)}${b.value?":"+J(c.value):""}`),N=M=>u.value.has(M),f=M=>k.value.has(M),E=M=>B.value.has(M),w=M=>{N(M)||(n.value=M,x(g.value,Y(M)))},R=M=>{f(M)||(m.value=M,x(p.value,O(M)))},L=M=>{E(M)||(c.value=M,x(S.value,V(M)))},Y=M=>h.value.indexOf(M),O=M=>y.value.indexOf(M),V=M=>D.value.indexOf(M),x=(M,U)=>{if(!M)return;const T=32,_=U*T+84-200/2+T/2;M.scrollTop=Math.max(0,_)},v=()=>{if(!g.value)return;const M=g.value.scrollTop,U=Math.round((M-84+100)/32),T=h.value[Math.max(0,Math.min(U,h.value.length-1))];T!==void 0&&!N(T)&&(n.value=T)},s=()=>{if(!p.value)return;const M=p.value.scrollTop,U=Math.round((M-84+100)/32),T=y.value[Math.max(0,Math.min(U,y.value.length-1))];T!==void 0&&!f(T)&&(m.value=T)},r=()=>{if(!S.value)return;const M=S.value.scrollTop,U=Math.round((M-84+100)/32),T=D.value[Math.max(0,Math.min(U,D.value.length-1))];T!==void 0&&!E(T)&&(c.value=T)},i=()=>{const M=t.modelValue?new Date(t.modelValue):new Date;M.setHours(n.value,m.value,c.value,0),l("confirm",M)},F=()=>{l("cancel")},K=()=>{if(t.modelValue)n.value=t.modelValue.getHours(),m.value=t.modelValue.getMinutes(),c.value=t.modelValue.getSeconds();else{const M=new Date;n.value=M.getHours(),m.value=M.getMinutes(),c.value=M.getSeconds()}e.nextTick(()=>{x(g.value,Y(n.value)),x(p.value,O(m.value)),b.value&&x(S.value,V(c.value))})};return e.watch(()=>t.modelValue,()=>{K()},{immediate:!0}),e.onMounted(()=>{K()}),(M,U)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(a).b())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("content"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("indicator"))},null,2),e.createElementVNode("div",{ref_key:"hourListRef",ref:g,class:e.normalizeClass(e.unref(a).e("list")),onScroll:v},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,T=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("selected",n.value===T),e.unref(a).is("disabled",N(T))]),onClick:q=>w(T)},e.toDisplayString(e.unref(J)(T)),11,qe))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2)],34),e.createElementVNode("div",{ref_key:"minuteListRef",ref:p,class:e.normalizeClass(e.unref(a).e("list")),onScroll:s},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,T=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("selected",m.value===T),e.unref(a).is("disabled",f(T))]),onClick:q=>R(T)},e.toDisplayString(e.unref(J)(T)),11,je))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2)],34),b.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"secondListRef",ref:S,class:e.normalizeClass(e.unref(a).e("list")),onScroll:r},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,T=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("selected",c.value===T),e.unref(a).is("disabled",E(T))]),onClick:q=>L(T)},e.toDisplayString(e.unref(J)(T)),11,Ze))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2)],34)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("footer"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("current-time"))},e.toDisplayString(C.value),3),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("actions"))},[e.createElementVNode("button",{class:e.normalizeClass(e.unref(a).e("btn-cancel")),onClick:F},"取消",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a).e("btn-confirm")),onClick:i},"确定",2)],2)],2)],2))}}),Je=["placeholder","disabled","value"],_e=["placeholder","disabled","value"],et=["placeholder","disabled","value"],tt=e.defineComponent({name:"XTimePicker",__name:"index",props:{modelValue:{default:null},type:{default:"time"},placeholder:{default:"请选择时间"},startPlaceholder:{default:"开始时间"},endPlaceholder:{default:"结束时间"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"default"},format:{default:"HH:mm:ss"},valueFormat:{default:""},disabledHours:{},disabledMinutes:{},disabledSeconds:{},hourStep:{default:1},minuteStep:{default:1},secondStep:{default:1}},emits:["update:modelValue","change","focus","blur","clear"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("time-picker"),m=()=>H.useZIndex().next(),c=e.ref(!1),g=e.ref(2e3),p=e.ref(),S=e.ref(),b=e.ref(),h=e.ref({top:"0px",left:"0px"}),y=e.ref({startTime:null,endTime:null}),D=e.ref("start"),u=e.computed(()=>{if(!l.modelValue)return null;if(l.type==="timerange"){const[r,i]=l.modelValue;return[ae(r),ae(i)]}return ae(l.modelValue)}),k=e.computed(()=>!u.value||Array.isArray(u.value)?"":Q(u.value,l.format)),B=e.computed(()=>{if(!Array.isArray(u.value))return"";const[r]=u.value;return r?Q(r,l.format):""}),C=e.computed(()=>{if(!Array.isArray(u.value))return"";const[,r]=u.value;return r?Q(r,l.format):""}),N=e.computed(()=>l.type==="timerange"?D.value==="start"?y.value.startTime:y.value.endTime||y.value.startTime:u.value),f=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("range",l.type==="timerange")]),E=e.computed(()=>[n.e("input"),n.is("focus",c.value)]),w=()=>{l.disabled||l.readonly||(c.value?Y():L())},R=r=>{l.disabled||l.readonly||(D.value=r,c.value||L())},L=()=>{c.value=!0,g.value=m(),e.nextTick(()=>{if(p.value&&S.value){const r=p.value.getBoundingClientRect(),i=S.value.getBoundingClientRect();let F=r.bottom+8,K=r.left;K+i.width>window.innerWidth&&(K=window.innerWidth-i.width-8),F+i.height>window.innerHeight&&(F=r.top-i.height-8),h.value={top:`${F}px`,left:`${K}px`}}}),a("focus",{})},Y=()=>{c.value=!1,a("blur",{})},O=r=>{if(l.type==="timerange")if(D.value==="start")y.value.startTime=r,D.value="end",y.value.endTime&&y.value.endTime<r&&(y.value.endTime=null);else{y.value.startTime&&r<y.value.startTime?(y.value.endTime=y.value.startTime,y.value.startTime=r):y.value.endTime=r;const i=l.valueFormat?Q(y.value.startTime,l.valueFormat):y.value.startTime,F=l.valueFormat?Q(y.value.endTime,l.valueFormat):y.value.endTime;a("update:modelValue",[i,F]),a("change",[i,F]),Y()}else{const i=l.valueFormat?Q(r,l.valueFormat):r;a("update:modelValue",i),a("change",i),Y()}},V=()=>{Y()},x=()=>{a("update:modelValue",null),a("change",null),a("clear"),y.value={startTime:null,endTime:null}},v=r=>{if(!p.value)return;const i=r.target;p.value.contains(i)||S.value&&S.value.contains(i)||Y()};e.watch(()=>l.modelValue,r=>{if(r&&l.type==="timerange"){const[i,F]=u.value;y.value={startTime:i,endTime:F}}},{immediate:!0}),e.watch(c,r=>{r&&l.type==="timerange"&&(y.value={startTime:Array.isArray(u.value)?u.value[0]:null,endTime:Array.isArray(u.value)?u.value[1]:null},D.value="start")});const s=r=>{r.key==="Escape"&&Y()};return e.onMounted(()=>{document.addEventListener("click",v),document.addEventListener("keydown",s)}),e.onUnmounted(()=>{document.removeEventListener("click",v),document.removeEventListener("keydown",s)}),d({focus:()=>{var r;return(r=b.value)==null?void 0:r.focus()},blur:()=>{var r;return(r=b.value)==null?void 0:r.blur()}}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:p,class:e.normalizeClass(f.value)},[o.type!=="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(E.value),onClick:w},[e.createElementVNode("input",{ref_key:"inputRef",ref:b,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:k.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,Je),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&k.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(x,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("icon"))},"🕐",2))],2)],2)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(E.value),onClick:w},[e.createElementVNode("input",{type:"text",placeholder:o.startPlaceholder,disabled:o.disabled,readonly:!0,value:B.value,class:e.normalizeClass([e.unref(n).e("input-inner"),e.unref(n).is("active",D.value==="start")]),onClick:i[0]||(i[0]=e.withModifiers(F=>R("start"),["stop"]))},null,10,_e),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("separator"))},"至",2),e.createElementVNode("input",{type:"text",placeholder:o.endPlaceholder,disabled:o.disabled,readonly:!0,value:C.value,class:e.normalizeClass([e.unref(n).e("input-inner"),e.unref(n).is("active",D.value==="end")]),onClick:i[1]||(i[1]=e.withModifiers(F=>R("end"),["stop"]))},null,10,et),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&(B.value||C.value)&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(x,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("icon"))},"🕐",2))],2)],2)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:S,class:e.normalizeClass(e.unref(n).e("popper")),style:e.normalizeStyle({zIndex:g.value,...h.value})},[o.type==="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("popper-header"))},e.toDisplayString(D.value==="start"?"请选择开始时间":"请选择结束时间"),3)):e.createCommentVNode("",!0),e.createVNode(Qe,{"model-value":N.value,format:o.format,"disabled-hours":o.disabledHours,"disabled-minutes":o.disabledMinutes,"disabled-seconds":o.disabledSeconds,"hour-step":o.hourStep,"minute-step":o.minuteStep,"second-step":o.secondStep,onConfirm:O,onCancel:V},null,8,["model-value","format","disabled-hours","disabled-minutes","disabled-seconds","hour-step","minute-step","second-step"])],6),[[e.vShow,c.value]])]),_:1})]))],2))}});function lt(o,d,t){return t?t(d,o):o.toLowerCase().includes(d.toLowerCase())}function re(o,d,t="value",l="children"){for(const a of o){if(a[t]===d)return a;if(a[l]&&a[l].length>0){const n=re(a[l],d,t,l);if(n)return n}}return null}function ne(o,d,t="value",l="children"){const a=[];function n(m){for(const c of m){if(c[t]===d)return a.push(c),!0;if(c[l]&&c[l].length>0){if(a.push(c),n(c[l]))return!0;a.pop()}}return!1}return n(o),a}function at(o,d="children"){const t=[];function l(a,n=0,m=null){for(const c of a)t.push({...c,level:n,parent:m}),c[d]&&c[d].length>0&&l(c[d],n+1,c)}return l(o),t}const nt=["onClick"],ot=["placeholder","disabled","readonly","value"],st=["onClick"],rt=["onClick"],ut=e.defineComponent({name:"XSelect",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},options:{default:()=>[]},type:{default:"single"},placeholder:{default:"请选择"},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},filterMethod:{},size:{default:"default"},multipleLimit:{default:0},collapseTags:{type:Boolean,default:!0},maxCollapseTags:{default:1},separator:{default:" / "},valueKey:{default:"value"},labelKey:{default:"label"},childrenKey:{default:"children"},noDataText:{default:"暂无数据"},noMatchText:{default:"无匹配数据"}},emits:["update:modelValue","update:value","change","clear","focus","blur","visible-change","remove-tag"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("select"),n=()=>H.useZIndex().next(),m=e.ref(),c=e.ref(),g=e.ref(),p=e.ref(!1),S=e.ref(2e3),b=e.ref(""),h=e.ref(-1),y=e.ref({top:"0px",left:"0px"}),D=e.computed(()=>t.type==="multiple"),u=e.computed(()=>t.type==="cascader"),k=e.ref([]),B=()=>t.modelValue!==void 0?t.modelValue:t.value!==void 0?t.value:"",C=z=>{l("update:modelValue",z),l("update:value",z),l("change",z)},N=e.computed(()=>{const z=B();return D.value?Array.isArray(z)?z:[]:u.value?Array.isArray(z)?z:z?[z]:[]:z!==""&&z!==null&&z!==void 0?[z]:[]}),f=e.computed(()=>u.value?at(t.options,t.childrenKey):t.options.map(z=>({...z,level:0}))),E=e.computed(()=>!t.filterable||!b.value?f.value:f.value.filter(z=>{const I=z[t.labelKey]||"";return lt(I,b.value,t.filterMethod)})),w=e.computed(()=>{const z=[];for(const I of N.value){const P=re(t.options,I,t.valueKey,t.childrenKey);P&&z.push(P)}return z}),R=e.computed(()=>{if(D.value)return"";if(u.value)return ne(t.options,N.value[N.value.length-1],t.valueKey,t.childrenKey).map(P=>P[t.labelKey]).join(t.separator);const z=w.value[0];return z?z[t.labelKey]:""}),L=e.computed(()=>D.value?w.value:[]),Y=e.computed(()=>t.collapseTags?L.value.slice(0,t.maxCollapseTags):L.value),O=e.computed(()=>t.collapseTags?Math.max(0,L.value.length-t.maxCollapseTags):0),V=e.computed(()=>[a.b(),a.m(t.size),a.is("disabled",t.disabled),a.is("multiple",D.value),a.is("cascader",u.value),a.is("filterable",t.filterable),a.is("focus",p.value)]),x=()=>{if(!m.value||!g.value||!p.value)return;const z=m.value.getBoundingClientRect(),I=g.value.getBoundingClientRect();let P=z.bottom+4,X=z.left;X+I.width>window.innerWidth&&(X=window.innerWidth-I.width-8),P+I.height>window.innerHeight&&(P=z.top-I.height-4),y.value={top:`${P}px`,left:`${X}px`}},v=()=>{t.disabled||(p.value=!0,S.value=n(),b.value="",e.nextTick(()=>{x()}),l("visible-change",!0),l("focus",{}))},s=()=>{p.value=!1,b.value="",k.value=[],l("visible-change",!1),l("blur",{})},r=z=>{if(!z.disabled)if(D.value){const I=[...N.value],P=z[t.valueKey],X=I.indexOf(P);if(X>-1)I.splice(X,1),l("remove-tag",P);else{if(t.multipleLimit>0&&I.length>=t.multipleLimit)return;I.push(P)}C(I)}else if(u.value)if(z.children&&z.children.length>0){const I=ne(t.options,z[t.valueKey],t.valueKey,t.childrenKey);k.value=I}else{const P=ne(t.options,z[t.valueKey],t.valueKey,t.childrenKey).map(X=>X[t.valueKey]);C(P),s()}else C(z[t.valueKey]),s()},i=z=>{const I=N.value.filter(P=>P!==z[t.valueKey]);C(I),l("remove-tag",z[t.valueKey])},F=()=>{const z=D.value?[]:"";C(z),l("clear")},K=z=>{b.value=z.target.value},M=z=>{if(!m.value)return;const I=z.target;m.value.contains(I)||g.value&&g.value.contains(I)||s()},U=z=>{if(z.key==="Escape")s();else if(z.key==="Enter"&&p.value){const I=E.value[h.value];I&&r(I)}else z.key==="ArrowDown"&&p.value?(z.preventDefault(),h.value=Math.min(h.value+1,E.value.length-1)):z.key==="ArrowUp"&&p.value&&(z.preventDefault(),h.value=Math.max(h.value-1,0))},T=z=>N.value.includes(z[t.valueKey]),q=(z,I)=>[a.e("option"),a.is("selected",T(z)),a.is("disabled",z.disabled===!0),a.is("hover",h.value===I),a.is("group",!!(z.children&&z.children.length>0))],_=e.computed(()=>{if(!u.value)return[];const z=[t.options];for(const I of k.value)I.children&&I.children.length>0&&z.push(I.children);return z});return e.onMounted(()=>{document.addEventListener("click",M),document.addEventListener("keydown",U)}),e.onUnmounted(()=>{document.removeEventListener("click",M),document.removeEventListener("keydown",U),document.removeEventListener("scroll",x,!0)}),e.watch(p,z=>{z?document.addEventListener("scroll",x,!0):document.removeEventListener("scroll",x,!0)}),e.provide("select",{selectedValues:N,handleSelect:r,isSelected:T}),(z,I)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"selectRef",ref:m,class:e.normalizeClass(V.value)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("wrapper")),onClick:I[0]||(I[0]=P=>p.value?s():v())},[D.value&&L.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("tags"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,P=>(e.openBlock(),e.createElementBlock("span",{key:P[o.valueKey],class:e.normalizeClass(e.unref(a).e("tag"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("tag-text"))},e.toDisplayString(P[o.labelKey]),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("tag-close")),onClick:e.withModifiers(X=>i(P),["stop"])},"×",10,nt)],2))),128)),O.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("tag-count"))}," +"+e.toDisplayString(O.value),3)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_key:"inputRef",ref:c,class:e.normalizeClass(e.unref(a).e("input")),placeholder:D.value&&L.value.length>0?"":o.placeholder,disabled:o.disabled,readonly:!o.filterable||!p.value,value:o.filterable&&p.value?b.value:R.value,onInput:K},null,42,ot),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("suffix"))},[o.clearable&&N.value.length>0&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("clear")),onClick:e.withModifiers(F,["stop"])},"×",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([e.unref(a).e("arrow"),e.unref(a).is("reverse",p.value)])},"▼",2))],2)],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:g,class:e.normalizeClass([e.unref(a).e("popper"),e.unref(a).is("cascader",u.value)]),style:e.normalizeStyle({zIndex:S.value,...y.value})},[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("cascader-panels"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(P,X)=>(e.openBlock(),e.createElementBlock("div",{key:X,class:e.normalizeClass(e.unref(a).e("cascader-panel"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P,(G,$)=>(e.openBlock(),e.createElementBlock("div",{key:G[o.valueKey],class:e.normalizeClass(q(G,$)),onClick:A=>r(G)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("option-label"))},e.toDisplayString(G[o.labelKey]),3),G.children&&G.children.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("option-arrow"))},"›",2)):e.createCommentVNode("",!0)],10,st))),128))],2))),128))],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[E.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("empty"))},e.toDisplayString(b.value?o.noMatchText:o.noDataText),3)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(a).e("options"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,(P,X)=>(e.openBlock(),e.createElementBlock("div",{key:P[o.valueKey],class:e.normalizeClass(q(P,X)),onClick:G=>r(P)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("option-label"))},e.toDisplayString(P[o.labelKey]),3),T(P)?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("option-check"))},"✓",2)):e.createCommentVNode("",!0)],10,rt))),128))],2))],64))],6),[[e.vShow,p.value]])]),_:1})]))],2))}}),ct=["checked","indeterminate"],it=["placeholder"],dt=["onClick"],mt=["checked","disabled","onChange"],ft=["disabled"],vt=["disabled"],pt=["checked","indeterminate"],ht=["placeholder"],gt=["onClick"],kt=["checked","disabled","onChange"],yt=e.defineComponent({name:"XTransfer",__name:"index",props:{modelValue:{default:()=>[]},data:{default:()=>[]},titles:{default:()=>["列表1","列表2"]},buttonTexts:{default:()=>["",""]},filterable:{type:Boolean,default:!1},filterPlaceholder:{default:"请输入搜索内容"},filterMethod:{},targetOrder:{default:"original"},props:{},leftDefaultChecked:{default:()=>[]},rightDefaultChecked:{default:()=>[]}},emits:["update:modelValue","change","left-check-change","right-check-change"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("transfer"),m=e.computed(()=>{var s;return((s=l.props)==null?void 0:s.key)||"key"}),c=e.computed(()=>{var s;return((s=l.props)==null?void 0:s.label)||"label"}),g=e.computed(()=>{var s;return((s=l.props)==null?void 0:s.disabled)||"disabled"}),p=e.ref(""),S=e.ref(""),b=e.ref([]),h=e.ref([]),y=s=>s[m.value],D=s=>s[c.value],u=s=>s[g.value]||!1,k=e.computed(()=>l.data.filter(s=>{const r=y(s);return l.modelValue.includes(r)?!1:l.filterable&&p.value?l.filterMethod?l.filterMethod(p.value,s):D(s).toLowerCase().includes(p.value.toLowerCase()):!0})),B=e.computed(()=>{const s=l.modelValue;let r=l.data.filter(i=>{const F=y(i);return s.includes(F)});return l.filterable&&S.value&&(r=r.filter(i=>l.filterMethod?l.filterMethod(S.value,i):D(i).toLowerCase().includes(S.value.toLowerCase()))),l.targetOrder==="push"?r.sort((i,F)=>s.indexOf(y(i))-s.indexOf(y(F))):l.targetOrder==="unshift"?r.sort((i,F)=>s.indexOf(y(F))-s.indexOf(y(i))):r}),C=e.computed(()=>k.value.filter(s=>b.value.includes(y(s))).every(s=>u(s))),N=e.computed(()=>B.value.filter(s=>h.value.includes(y(s))).every(s=>u(s))),f=e.computed(()=>b.value.length===0||C.value),E=e.computed(()=>h.value.length===0||N.value),w=()=>{const s=b.value.filter(i=>{const F=l.data.find(K=>y(K)===i);return F&&!u(F)});let r;l.targetOrder==="unshift"?r=[...s,...l.modelValue]:r=[...l.modelValue,...s],a("update:modelValue",r),a("change",r,"right",s),b.value=[]},R=()=>{const s=h.value.filter(i=>{const F=l.data.find(K=>y(K)===i);return F&&!u(F)}),r=l.modelValue.filter(i=>!s.includes(i));a("update:modelValue",r),a("change",r,"left",s),h.value=[]},L=s=>{const r=b.value.indexOf(s);r>-1?b.value.splice(r,1):b.value.push(s),a("left-check-change",[...b.value])},Y=s=>{const r=h.value.indexOf(s);r>-1?h.value.splice(r,1):h.value.push(s),a("right-check-change",[...h.value])},O=()=>{b.value.length===k.value.filter(s=>!u(s)).length?b.value=[]:b.value=k.value.filter(s=>!u(s)).map(s=>y(s)),a("left-check-change",[...b.value])},V=()=>{h.value.length===B.value.filter(s=>!u(s)).length?h.value=[]:h.value=B.value.filter(s=>!u(s)).map(s=>y(s)),a("right-check-change",[...h.value])},x=s=>{s==="left"?p.value="":S.value=""},v=e.computed(()=>[n.b()]);return d({clearQuery:x}),(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(v.value)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("panel"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:b.value.length>0&&b.value.length===k.value.filter(i=>!u(i)).length,indeterminate:b.value.length>0&&b.value.length<k.value.filter(i=>!u(i)).length,onChange:O},null,40,ct),e.createElementVNode("span",null,e.toDisplayString(o.titles[0]),1)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(b.value.length)+" / "+e.toDisplayString(k.value.length),3)],2),o.filterable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("filter"))},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=i=>p.value=i),placeholder:o.filterPlaceholder,class:e.normalizeClass(e.unref(n).e("filter-input"))},null,10,it),[[e.vModelText,p.value]]),p.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("filter-clear")),onClick:r[1]||(r[1]=i=>x("left"))},"×",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,i=>(e.openBlock(),e.createElementBlock("div",{key:y(i),class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("disabled",u(i)),e.unref(n).is("checked",b.value.includes(y(i)))]),onClick:F=>!u(i)&&L(y(i))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:b.value.includes(y(i)),disabled:u(i),onClick:r[2]||(r[2]=e.withModifiers(()=>{},["stop"])),onChange:F=>L(y(i))},null,40,mt),e.createElementVNode("span",null,e.toDisplayString(D(i)),1)],2)],10,dt))),128)),k.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("empty"))},[e.renderSlot(s.$slots,"left-empty",{},()=>[r[6]||(r[6]=e.createTextVNode("暂无数据",-1))])],2)):e.createCommentVNode("",!0)],2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("buttons"))},[e.createElementVNode("button",{class:e.normalizeClass([e.unref(n).e("button"),e.unref(n).is("disabled",f.value)]),disabled:f.value,onClick:w},e.toDisplayString(o.buttonTexts[0]||">"),11,ft),e.createElementVNode("button",{class:e.normalizeClass([e.unref(n).e("button"),e.unref(n).is("disabled",E.value)]),disabled:E.value,onClick:R},e.toDisplayString(o.buttonTexts[1]||"<"),11,vt)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("panel"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:h.value.length>0&&h.value.length===B.value.filter(i=>!u(i)).length,indeterminate:h.value.length>0&&h.value.length<B.value.filter(i=>!u(i)).length,onChange:V},null,40,pt),e.createElementVNode("span",null,e.toDisplayString(o.titles[1]),1)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(h.value.length)+" / "+e.toDisplayString(B.value.length),3)],2),o.filterable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("filter"))},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[3]||(r[3]=i=>S.value=i),placeholder:o.filterPlaceholder,class:e.normalizeClass(e.unref(n).e("filter-input"))},null,10,ht),[[e.vModelText,S.value]]),S.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("filter-clear")),onClick:r[4]||(r[4]=i=>x("right"))},"×",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,i=>(e.openBlock(),e.createElementBlock("div",{key:y(i),class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("disabled",u(i)),e.unref(n).is("checked",h.value.includes(y(i)))]),onClick:F=>!u(i)&&Y(y(i))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:h.value.includes(y(i)),disabled:u(i),onClick:r[5]||(r[5]=e.withModifiers(()=>{},["stop"])),onChange:F=>Y(y(i))},null,40,kt),e.createElementVNode("span",null,e.toDisplayString(D(i)),1)],2)],10,gt))),128)),B.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("empty"))},[e.renderSlot(s.$slots,"right-empty",{},()=>[r[7]||(r[7]=e.createTextVNode("暂无数据",-1))])],2)):e.createCommentVNode("",!0)],2)],2)],2))}}),bt={key:0},Ct={key:1},Vt=e.defineComponent({name:"XSlider",__name:"index",props:{modelValue:{default:0},min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0},formatTooltip:{},showStops:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},height:{default:"200px"},marks:{}},emits:["update:modelValue","change","input"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("slider"),n=e.ref(),m=e.ref(),c=e.ref(!1),g=e.ref(!1),p=e.computed(()=>{const x=t.max-t.min;return(t.modelValue-t.min)/x*100}),S=e.computed(()=>t.formatTooltip?t.formatTooltip(t.modelValue):t.modelValue),b=e.computed(()=>{if(!t.showStops||t.min>=t.max)return[];const x=[],v=(t.max-t.min)/t.step;for(let s=0;s<=v;s++){const r=t.min+s*t.step;r>t.min&&r<t.max&&x.push((r-t.min)/(t.max-t.min)*100)}return x}),h=e.computed(()=>t.marks?Object.keys(t.marks).map(x=>{const v=Number(x),s=t.marks[v],r=(v-t.min)/(t.max-t.min)*100;let i,F={};return typeof s=="string"?i=s:(i=s.label||String(v),F=s.style||{}),{value:v,pos:r,label:i,style:F}}):[]),y=()=>n.value?t.vertical?n.value.offsetHeight:n.value.offsetWidth:0,D=(x,v)=>{if(!n.value)return t.modelValue;const s=n.value.getBoundingClientRect(),r=y();let i;t.vertical?i=(s.bottom-v)/r*100:i=(x-s.left)/r*100,i=Math.max(0,Math.min(100,i));const F=t.min+i/100*(t.max-t.min),K=Math.round(F/t.step)*t.step;return Math.max(t.min,Math.min(t.max,K))},u=x=>{if(t.disabled)return;const v=Math.max(t.min,Math.min(t.max,x));v!==t.modelValue&&(l("update:modelValue",v),l("input",v))},k=x=>{if(t.disabled)return;x.preventDefault(),g.value=!0,c.value=!0;const v=D(x.clientX,x.clientY);u(v),document.addEventListener("mousemove",B),document.addEventListener("mouseup",C)},B=x=>{if(!g.value)return;const v=D(x.clientX,x.clientY);u(v)},C=()=>{g.value=!1,l("change",t.modelValue),document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",C)},N=x=>{if(t.disabled)return;x.preventDefault(),g.value=!0,c.value=!0;const v=x.touches[0],s=D(v.clientX,v.clientY);u(s)},f=x=>{if(!g.value)return;const v=x.touches[0],s=D(v.clientX,v.clientY);u(s)},E=()=>{g.value=!1,l("change",t.modelValue)},w=()=>{t.showTooltip&&(c.value=!0)},R=()=>{g.value||(c.value=!1)};e.onUnmounted(()=>{document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",C)});const L=e.computed(()=>[a.b(),a.is("disabled",t.disabled),a.is("vertical",t.vertical)]),Y=e.computed(()=>t.vertical&&t.height?{height:typeof t.height=="number"?`${t.height}px`:t.height}:{}),O=e.computed(()=>t.vertical?{height:`${p.value}%`}:{width:`${p.value}%`}),V=e.computed(()=>t.vertical?{bottom:`${p.value}%`}:{left:`${p.value}%`});return(x,v)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(L.value),style:e.normalizeStyle(Y.value)},[e.createElementVNode("div",{ref_key:"sliderRef",ref:n,class:e.normalizeClass(e.unref(a).e("runway")),onMousedown:k,onTouchstart:N},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("bar")),style:e.normalizeStyle(O.value)},null,6),o.showStops?(e.openBlock(),e.createElementBlock("div",bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(s,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(e.unref(a).e("stop")),style:e.normalizeStyle(o.vertical?{bottom:`${s}%`}:{left:`${s}%`})},null,6))),128))])):e.createCommentVNode("",!0),h.value.length>0?(e.openBlock(),e.createElementBlock("div",Ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.value,class:e.normalizeClass(e.unref(a).e("mark")),style:e.normalizeStyle(o.vertical?{bottom:`${s.pos}%`}:{left:`${s.pos}%`,...s.style})},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("mark-text"))},e.toDisplayString(s.label),3)],6))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"buttonRef",ref:m,class:e.normalizeClass(e.unref(a).e("button-wrapper")),style:e.normalizeStyle(V.value),onMouseenter:w,onMouseleave:R,onTouchmove:f,onTouchend:E},[o.showTooltip&&c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("tooltip"))},e.toDisplayString(S.value),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("button"))},null,2)],38)],34)],6))}}),Bt=["src"],Et={key:0,class:"status-uploading"},xt={class:"progress-circle"},wt={class:"progress-text"},zt={key:1,class:"status-error"},Dt={key:2,class:"status-success"},St={key:0,class:"action-preview"},Nt=["onClick"],Mt=["disabled"],Tt={class:"progress-text"},$t=["onClick"],Ft=["src"],Rt={key:0,class:"action-success"},Lt=["onClick"],It=["multiple","accept","disabled"],Pt=e.defineComponent({name:"XUpload",__name:"index",props:{action:{default:"#"},headers:{},data:{},multiple:{type:Boolean,default:!1},accept:{},limit:{},disabled:{type:Boolean,default:!1},drag:{type:Boolean,default:!1},listType:{default:"text"},autoUpload:{type:Boolean,default:!0},fileList:{default:()=>[]},showFileList:{type:Boolean,default:!0},withCredentials:{type:Boolean,default:!1},name:{default:"file"},httpRequest:{},beforeUpload:{},beforeRemove:{},onSuccess:{},onError:{},onProgress:{},onChange:{},onRemove:{},onExceed:{}},emits:["update:fileList","success","error","progress","change","remove","exceed"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("upload");e.useSlots();const m=e.ref(),c=e.ref([...l.fileList]),g=e.ref(!1);let p=1;const S=()=>Date.now()+p++,b=V=>{var s;const x=(s=V.name.split(".").pop())==null?void 0:s.toLowerCase(),v={pdf:"📄",doc:"📝",docx:"📝",xls:"📊",xlsx:"📊",ppt:"📽️",pptx:"📽️",zip:"📦",rar:"📦",mp3:"🎵",mp4:"🎬",default:"📁"};return v[x||""]||v.default},h=e.computed(()=>l.limit?c.value.length<l.limit:!0),y=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("drag",l.drag),n.m(l.listType)]),D=V=>{const x=V.target.files;!x||x.length===0||(u(Array.from(x)),m.value&&(m.value.value=""))},u=async V=>{var x,v;if(l.limit&&c.value.length+V.length>l.limit){a("exceed",V,c.value),(x=l.onExceed)==null||x.call(l,V,c.value);return}for(const s of V){if(l.beforeUpload&&await l.beforeUpload(s,V)===!1)continue;const r={name:s.name,size:s.size,status:"ready",percentage:0,uid:S(),raw:s};s.type.startsWith("image/")&&(r.thumbUrl=await k(s),r.url=r.thumbUrl),c.value.push(r),a("update:fileList",c.value),a("change",r,c.value),(v=l.onChange)==null||v.call(l,r,c.value),l.autoUpload&&B(r)}},k=V=>new Promise(x=>{const v=new FileReader;v.onload=s=>{var r;x((r=s.target)==null?void 0:r.result)},v.readAsDataURL(V)}),B=V=>{if(!V.raw)return;V.status="uploading",(l.httpRequest||C)({action:l.action,headers:l.headers,data:l.data,file:V.raw,name:l.name,withCredentials:l.withCredentials,onProgress:v=>{var s;V.percentage=v.percent,a("progress",v,V,c.value),(s=l.onProgress)==null||s.call(l,v,V,c.value)},onSuccess:v=>{var s;V.status="success",V.response=v,a("success",v,V,c.value),(s=l.onSuccess)==null||s.call(l,v,V,c.value)},onError:v=>{var s;V.status="error",a("error",v,V,c.value),(s=l.onError)==null||s.call(l,v,V,c.value)}})},C=V=>new Promise((x,v)=>{const s=new XMLHttpRequest;s.upload.addEventListener("progress",i=>{i.lengthComputable&&V.onProgress({percent:i.loaded/i.total*100})}),s.addEventListener("load",()=>{if(s.status<200||s.status>=300){V.onError(new Error("Upload failed")),v(new Error("Upload failed"));return}try{const i=JSON.parse(s.responseText);V.onSuccess(i),x(i)}catch{V.onSuccess(s.responseText),x(s.responseText)}}),s.addEventListener("error",()=>{V.onError(new Error("Upload error")),v(new Error("Upload error"))});const r=new FormData;r.append(V.name,V.file),V.data&&Object.keys(V.data).forEach(i=>{r.append(i,V.data[i])}),s.open("POST",V.action,!0),V.withCredentials&&(s.withCredentials=!0),V.headers&&Object.keys(V.headers).forEach(i=>{s.setRequestHeader(i,V.headers[i])}),s.send(r)}),N=async V=>{var v;if(l.beforeRemove&&await l.beforeRemove(V,c.value)===!1)return;const x=c.value.findIndex(s=>s.uid===V.uid);x>-1&&(c.value.splice(x,1),a("update:fileList",c.value),a("remove",V,c.value),(v=l.onRemove)==null||v.call(l,V,c.value))},f=()=>{c.value.filter(V=>V.status==="ready"&&V.raw).forEach(V=>B(V))},E=()=>{c.value=[],a("update:fileList",c.value)},w=()=>{var V;l.disabled||(V=m.value)==null||V.click()},R=V=>{V.preventDefault(),!l.disabled&&l.drag&&(g.value=!0)},L=()=>{g.value=!1},Y=V=>{var v;if(V.preventDefault(),g.value=!1,l.disabled)return;const x=(v=V.dataTransfer)==null?void 0:v.files;x&&x.length>0&&u(Array.from(x))},O=V=>{if(!V)return"0 B";const x=["B","KB","MB","GB"];let v=0,s=V;for(;s>=1024&&v<x.length-1;)s/=1024,v++;return`${s.toFixed(2)} ${x[v]}`};return d({submit:f,clearFiles:E,uploadFiles:c}),(V,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value)},[o.drag?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(n).e("drag"),e.unref(n).is("dragover",g.value)]),onClick:w,onDragover:R,onDragleave:L,onDrop:Y},[e.renderSlot(V.$slots,"drag",{},()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("drag-icon"))},"📁",2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("drag-text"))},[...x[0]||(x[0]=[e.createTextVNode(" 将文件拖到此处,或",-1),e.createElementVNode("em",null,"点击上传",-1)])],2)])],34)):o.listType==="picture-card"?(e.openBlock(),e.createElementBlock("ul",{key:1,class:e.normalizeClass([e.unref(n).e("files"),e.unref(n).e("upload-list")])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,v=>(e.openBlock(),e.createElementBlock("li",{key:v.uid,class:e.normalizeClass([e.unref(n).e("file"),e.unref(n).is(`status-${v.status}`)])},[v.thumbUrl&&v.status!=="uploading"?(e.openBlock(),e.createElementBlock("img",{key:0,src:v.thumbUrl,class:e.normalizeClass(e.unref(n).e("file-image"))},null,10,Bt)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("file-status"))},[v.status==="uploading"?(e.openBlock(),e.createElementBlock("span",Et,[e.createElementVNode("span",xt,[e.createElementVNode("span",wt,e.toDisplayString(Math.round(v.percentage||0))+"%",1)])])):v.status==="error"?(e.openBlock(),e.createElementBlock("span",zt,"✕")):v.status==="success"?(e.openBlock(),e.createElementBlock("span",Dt,"✓")):e.createCommentVNode("",!0)],2)),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-actions"))},[v.url?(e.openBlock(),e.createElementBlock("span",St,"👁️")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"action-remove",onClick:s=>N(v)},"🗑️",8,Nt)],2)],2))),128)),h.value?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass(e.unref(n).e("upload-card")),onClick:w},[e.renderSlot(V.$slots,"trigger",{},()=>[x[1]||(x[1]=e.createElementVNode("span",{class:"upload-icon"},"+",-1))])],2)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("trigger-wrapper")),onClick:w},[e.renderSlot(V.$slots,"trigger",{},()=>[h.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(n).e("trigger")),disabled:o.disabled},[e.renderSlot(V.$slots,"default",{},()=>[x[2]||(x[2]=e.createTextVNode("点击上传",-1))])],10,Mt)):e.createCommentVNode("",!0)])],2),o.showFileList&&c.value.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,class:e.normalizeClass(e.unref(n).e("files"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,v=>(e.openBlock(),e.createElementBlock("li",{key:v.uid,class:e.normalizeClass([e.unref(n).e("file"),e.unref(n).is(`status-${v.status}`)])},[o.listType==="text"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-icon"))},e.toDisplayString(b(v)),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-name"))},e.toDisplayString(v.name),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-size"))},e.toDisplayString(O(v.size)),3),v.status==="uploading"?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("file-progress"))},[e.createElementVNode("span",{class:"progress-bar",style:e.normalizeStyle({width:v.percentage+"%"})},null,4),e.createElementVNode("span",Tt,e.toDisplayString(Math.round(v.percentage||0))+"%",1)],2)):e.createCommentVNode("",!0),v.status==="success"?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("file-success"))},"✓",2)):e.createCommentVNode("",!0),v.status==="error"?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(e.unref(n).e("file-error"))},"✕",2)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-actions"))},[e.createElementVNode("span",{class:"action-remove",onClick:s=>N(v)},"✕",8,$t)],2)],64)):o.listType==="picture"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[v.thumbUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:v.thumbUrl,class:e.normalizeClass(e.unref(n).e("file-thumb"))},null,10,Ft)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("file-icon"))},e.toDisplayString(b(v)),3)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("file-info"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-name"))},e.toDisplayString(v.name),3),v.status==="uploading"?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("file-progress"))},[e.createElementVNode("span",{class:"progress-bar",style:e.normalizeStyle({width:v.percentage+"%"})},null,4)],2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-actions"))},[v.status==="success"?(e.openBlock(),e.createElementBlock("span",Rt,"✓")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"action-remove",onClick:s=>N(v)},"✕",8,Lt)],2)],64)):e.createCommentVNode("",!0)],2))),128))],2)):e.createCommentVNode("",!0)],64)),e.createElementVNode("input",{ref_key:"inputRef",ref:m,type:"file",class:e.normalizeClass(e.unref(n).e("input")),multiple:o.multiple,accept:o.accept,disabled:o.disabled,onChange:D},null,42,It),V.$slots.tip?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(n).e("tip"))},[e.renderSlot(V.$slots,"tip")],2)):e.createCommentVNode("",!0)],2))}}),At=["onMousemove","onClick"],Yt=e.defineComponent({name:"XRate",__name:"index",props:{modelValue:{default:0},max:{default:5},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},lowThreshold:{default:2},highThreshold:{default:4},colors:{default:()=>["#F7BA2A","#F7BA2A","#F7BA2A"]},voidColor:{default:"#C6D1DE"},disabledVoidColor:{default:"#EFF2F7"},icon:{default:"★"},voidIcon:{default:"★"},disabledVoidIcon:{default:"★"},showText:{type:Boolean,default:!1},showScore:{type:Boolean,default:!1},textColor:{default:"#1F2D3D"},texts:{default:()=>["极差","失望","一般","满意","惊喜"]},scoreTemplate:{default:"{value}"},size:{default:"default"}},emits:["update:modelValue","change"],setup(o,{emit:d}){const t=o,l=d,a=H.useNamespace("rate"),n=e.ref(-1),m=e.computed(()=>n.value>-1?n.value:t.modelValue),c=e.computed(()=>[a.b(),a.m(t.size),a.is("disabled",t.disabled),a.is("readonly",t.readonly)]),g=u=>t.disabled?t.disabledVoidColor:u<=t.lowThreshold?t.colors[0]:u<=t.highThreshold?t.colors[1]||t.colors[0]:t.colors[2]||t.colors[1]||t.colors[0],p=u=>{const k=m.value;return k>=u?100:t.allowHalf&&k>=u-.5?50:0},S=u=>p(u)>0?g(m.value):t.disabled?t.disabledVoidColor:t.voidColor,b=e.computed(()=>{if(t.showScore)return t.scoreTemplate.replace("{value}",String(t.modelValue));if(t.showText){const u=Math.min(Math.ceil(t.modelValue||0),t.max)-1;return t.texts[Math.max(0,u)]||""}return""}),h=(u,k)=>{if(!(t.disabled||t.readonly))if(t.allowHalf){const C=k.currentTarget.getBoundingClientRect(),N=k.clientX-C.left<C.width/2;n.value=N?u-.5:u}else n.value=u},y=()=>{t.disabled||t.readonly||(n.value=-1)},D=(u,k)=>{if(t.disabled||t.readonly)return;let B;if(t.allowHalf){const N=k.currentTarget.getBoundingClientRect();B=k.clientX-N.left<N.width/2?u-.5:u}else B=u;l("update:modelValue",B),l("change",B)};return(u,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value),onMouseleave:y},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("items"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.max,B=>(e.openBlock(),e.createElementBlock("span",{key:B,class:e.normalizeClass(e.unref(a).e("item")),onMousemove:C=>h(B,C),onClick:C=>D(B,C)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("void")),style:e.normalizeStyle({color:o.disabled?o.disabledVoidColor:o.voidColor})},e.toDisplayString(o.disabled?o.disabledVoidIcon:o.voidIcon),7),e.createElementVNode("span",{class:e.normalizeClass([e.unref(a).e("fill"),p(B)>0?"is-active":""]),style:e.normalizeStyle({color:S(B),clipPath:`inset(0 ${100-p(B)}% 0 0)`})},e.toDisplayString(o.icon),7)],42,At))),128))],2),o.showText||o.showScore?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("text")),style:e.normalizeStyle({color:o.textColor})},e.toDisplayString(b.value),7)):e.createCommentVNode("",!0)],34))}});exports.Checkbox=Be;exports.CheckboxGroup=Ee;exports.DatePicker=Ge;exports.Form=xe;exports.FormItem=we;exports.Input=ce;exports.InputNumber=fe;exports.Radio=ke;exports.RadioButton=Ce;exports.RadioGroup=ye;exports.Rate=Yt;exports.Select=ut;exports.Slider=Vt;exports.Switch=he;exports.Textarea=pe;exports.TimePicker=tt;exports.Transfer=yt;exports.Upload=Pt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),H=require("@xto/core"),ue=["type","placeholder","disabled","readonly","maxlength","minlength"],ie=e.defineComponent({name:"XInput",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},type:{default:"text"},placeholder:{default:""},size:{default:"default"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxlength:{},minlength:{},showWordLimit:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},prefixIcon:{},suffixIcon:{}},emits:["update:modelValue","update:value","input","change","focus","blur","clear"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("input"),c=e.ref(),d=e.ref(!1),y=e.ref(!1),h=e.useSlots(),S=e.computed(()=>t.type==="password"&&t.showPassword&&!t.disabled),V=e.computed(()=>S.value?y.value?"text":"password":t.type),k=e.computed({get:()=>t.modelValue!==void 0?t.modelValue:t.value!==void 0?t.value:"",set:p=>{n("update:modelValue",p),n("update:value",p),n("input",p)}}),C=e.computed(()=>String(k.value).length),z=e.computed(()=>[a.b(),t.size!=="default"?a.m(t.size):"",a.is("disabled",t.disabled),a.is("focus",d.value),a.is("has-prefix",t.prefixIcon||h.prefix),a.is("has-suffix",t.suffixIcon||h.suffix||t.clearable||S.value||t.showWordLimit)]),u=p=>{const F=p.target.value;n("change",F)},b=p=>{d.value=!0,n("focus",p)},B=p=>{d.value=!1,n("blur",p)},x=()=>{n("update:modelValue",""),n("update:value",""),n("clear")},M=()=>{y.value=!y.value};return f({focus:()=>{var p;(p=c.value)==null||p.focus()},blur:()=>{var p;(p=c.value)==null||p.blur()},inputRef:c}),(p,F)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(z.value)},[p.$slots.prefix||o.prefixIcon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("prefix"))},[e.renderSlot(p.$slots,"prefix",{},()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("icon"))},e.toDisplayString(o.prefixIcon),3)])],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{ref_key:"inputRef",ref:c,"onUpdate:modelValue":F[0]||(F[0]=I=>k.value=I),type:V.value,placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,class:e.normalizeClass(e.unref(a).e("inner")),onChange:u,onFocus:b,onBlur:B},null,42,ue),[[e.vModelDynamic,k.value]]),p.$slots.suffix||o.suffixIcon||o.clearable||S.value||o.showWordLimit?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(a).e("suffix"))},[e.renderSlot(p.$slots,"suffix",{},()=>[o.clearable&&k.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass([e.unref(a).e("icon"),e.unref(a).e("clear")]),onClick:x}," ✕ ",2)):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([e.unref(a).e("icon"),e.unref(a).e("password")]),onClick:M},e.toDisplayString(y.value?"🙈":"👁️"),3)):e.createCommentVNode("",!0),o.showWordLimit&&o.maxlength?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(e.unref(a).e("count"))},e.toDisplayString(C.value)+"/"+e.toDisplayString(o.maxlength),3)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)],2))}}),ce=["disabled"],de=["value","placeholder","disabled"],me=["disabled"],fe=e.defineComponent({name:"XInputNumber",__name:"index",props:{modelValue:{default:void 0},min:{default:-1/0},max:{default:1/0},step:{default:1},stepStrictly:{type:Boolean,default:!1},precision:{default:void 0},size:{default:"default"},disabled:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},controlsPosition:{default:""},placeholder:{default:""},valueOnClear:{default:null}},emits:["update:modelValue","change","focus","blur"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("input-number"),c=e.ref(),d=e.ref(!1),y=e.ref(null),h=e.ref(t.modelValue),S=e.computed(()=>{if(t.precision!==void 0)return t.precision;const s=V(t.step),r=t.modelValue!==void 0&&t.modelValue!==null?V(t.modelValue):0;return Math.max(s,r)});function V(s){if(s==null)return 0;const r=s.toString(),v=r.indexOf(".");return v===-1?0:r.length-v-1}function k(s,r=S.value){if(r===0)return Math.round(s);let v=s.toFixed(r);return Number(v)}function C(s){return s>t.max?t.max:s<t.min?t.min:s}const z=e.computed(()=>t.modelValue??void 0),u=e.computed(()=>y.value!==null?y.value:z.value===void 0||z.value===null?"":k(z.value)),b=e.computed(()=>t.disabled?!0:z.value===void 0?t.min!==-1/0:z.value<=t.min),B=e.computed(()=>t.disabled?!0:z.value===void 0?t.max!==1/0:z.value>=t.max),x=e.computed(()=>[a.b(),t.size!=="default"?a.m(t.size):"",a.is("disabled",t.disabled),a.is("focus",d.value),t.controlsPosition?a.m(t.controlsPosition):""]);function M(){if(t.disabled||B.value)return;const s=z.value??(t.min===-1/0?0:t.min),r=k(s+t.step),v=C(r);i(v)}function m(){if(t.disabled||b.value)return;const s=z.value??(t.min===-1/0?0:t.min),r=k(s-t.step),v=C(r);i(v)}function i(s){const r=h.value;if(s===void 0)n("update:modelValue",void 0),n("change",void 0,r);else{const v=k(s),L=C(v);if(t.stepStrictly){const K=Math.round((L-t.min)/t.step),$=k(t.min+K*t.step);n("update:modelValue",$),n("change",$,r)}else n("update:modelValue",L),n("change",L,r)}h.value=t.modelValue,y.value=null}function p(s){if(s===""||s==="-")return;let r=s.replace(/[^\d.-]/g,"");const v=r.split(".");v.length>2&&(r=v[0]+"."+v.slice(1).join("")),r.indexOf("-")>0&&(r=r.replace(/-/g,"")),r.lastIndexOf("-")>0&&(r="-"+r.replace(/-/g,""));const L=Number(r);if(!isNaN(L))return L}function F(s){const r=s.target.value;y.value=r}function I(s){if(d.value=!1,y.value!==null){const r=p(y.value);r===void 0?t.valueOnClear!==null?i(t.valueOnClear):y.value=null:i(r)}n("blur",s)}function Y(s){d.value=!0,h.value=t.modelValue,n("focus",s)}function U(s){var r;if(!t.disabled)switch(s.key){case"ArrowUp":s.preventDefault(),M();break;case"ArrowDown":s.preventDefault(),m();break;case"Enter":(r=c.value)==null||r.blur();break}}function E(){y.value=null,t.valueOnClear!==null&&t.valueOnClear!==void 0?i(t.valueOnClear):(n("update:modelValue",void 0),n("change",void 0,h.value),h.value=void 0)}function w(){var s;(s=c.value)==null||s.focus()}function g(){var s;(s=c.value)==null||s.blur()}return e.watch(()=>t.modelValue,s=>{h.value=s,y.value=null},{immediate:!0}),f({focus:w,blur:g,clear:E,increase:M,decrease:m}),(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(x.value)},[o.controls?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass([e.unref(a).e("decrease"),e.unref(a).is("disabled",b.value)]),disabled:b.value,onClick:m}," − ",10,ce)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("wrapper"))},[e.createElementVNode("input",{ref_key:"inputRef",ref:c,value:u.value,placeholder:o.placeholder,disabled:o.disabled,class:e.normalizeClass(e.unref(a).e("inner")),type:"text",autocomplete:"off",onInput:F,onFocus:Y,onBlur:I,onKeydown:U},null,42,de)],2),o.controls?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass([e.unref(a).e("increase"),e.unref(a).is("disabled",B.value)]),disabled:B.value,onClick:M}," + ",10,me)):e.createCommentVNode("",!0)],2))}}),ve=["placeholder","disabled","readonly","maxlength","minlength","rows"],pe=e.defineComponent({name:"XTextarea",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},placeholder:{default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxlength:{},minlength:{},rows:{default:2},autosize:{type:[Boolean,Object],default:!1},showWordLimit:{type:Boolean,default:!1},resize:{default:"vertical"}},emits:["update:modelValue","update:value","input","change","focus","blur"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("textarea"),c=e.ref(),d=e.ref(!1),y=e.computed({get:()=>t.modelValue!==void 0?t.modelValue:t.value!==void 0?t.value:"",set:x=>{n("update:modelValue",x),n("update:value",x),n("input",x)}}),h=e.computed(()=>String(y.value).length),S=e.computed(()=>{const x={};if(t.resize&&(x.resize=t.resize),t.autosize&&(x.minHeight="auto",typeof t.autosize=="object")){const M=t.autosize.minRows||1,m=t.autosize.maxRows;x.minHeight=`${M*22+12}px`,m&&(x.maxHeight=`${m*22+12}px`)}return x}),V=e.computed(()=>[a.b(),a.is("disabled",t.disabled),a.is("focus",d.value),a.is("exceed",t.maxlength&&h.value>t.maxlength)]),k=()=>{t.autosize&&c.value&&(c.value.style.height="auto",c.value.style.height=`${c.value.scrollHeight}px`)},C=x=>{const M=x.target.value;n("change",M)},z=x=>{d.value=!0,n("focus",x)},u=x=>{d.value=!1,n("blur",x)};return f({focus:()=>{var x;(x=c.value)==null||x.focus()},blur:()=>{var x;(x=c.value)==null||x.blur()},textareaRef:c}),(x,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(V.value),style:e.normalizeStyle(o.disabled?void 0:{cursor:"text"})},[e.withDirectives(e.createElementVNode("textarea",{ref_key:"textareaRef",ref:c,"onUpdate:modelValue":M[0]||(M[0]=m=>y.value=m),placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,rows:o.rows,style:e.normalizeStyle(S.value),class:e.normalizeClass(e.unref(a).e("inner")),onInput:k,onChange:C,onFocus:z,onBlur:u},null,46,ve),[[e.vModelText,y.value]]),o.showWordLimit&&o.maxlength?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("count"))},e.toDisplayString(h.value)+"/"+e.toDisplayString(o.maxlength),3)):e.createCommentVNode("",!0)],6))}}),he=e.defineComponent({name:"XSwitch",__name:"index",props:{modelValue:{type:[Boolean,Number,String],default:!1},disabled:{type:Boolean,default:!1},width:{default:40},activeColor:{default:"#409eff"},inactiveColor:{default:"#dcdfe6"},activeValue:{type:[Boolean,Number,String],default:!0},inactiveValue:{type:[Boolean,Number,String],default:!1}},emits:["update:modelValue","change"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("switch"),a=e.computed(()=>l.modelValue===l.activeValue),c=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("checked",a.value)]),d=e.computed(()=>({width:typeof l.width=="number"?`${l.width}px`:l.width,height:"20px",backgroundColor:a.value?l.activeColor:l.inactiveColor})),y=()=>{if(l.disabled)return;const h=a.value?l.inactiveValue:l.activeValue;t("update:modelValue",h),t("change",h)};return(h,S)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(c.value),onClick:y},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("core")),style:e.normalizeStyle(d.value)},null,6),h.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("text"))},[e.renderSlot(h.$slots,"default")],2)):e.createCommentVNode("",!0)],2))}}),ge=["checked","disabled","name","value"],ke=e.defineComponent({name:"XRadio",__name:"index",props:{modelValue:{type:[String,Number,Boolean]},value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean},name:{}},emits:["update:modelValue","change"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("radio"),a=e.inject("radioGroup",null),c=e.computed(()=>!!a),d=e.computed(()=>c.value?a.modelValue.value:l.modelValue),y=e.computed(()=>l.value??l.label),h=e.computed(()=>d.value===y.value),S=e.computed(()=>l.disabled||c.value&&a.disabled),V=e.computed(()=>l.name||(c.value?a.name:void 0)),k=e.computed(()=>[n.b(),n.is("checked",h.value),n.is("disabled",S.value)]),C=()=>{S.value||(c.value?a.changeValue(y.value):(t("update:modelValue",y.value),t("change",y.value)))};return(z,u)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(k.value),onClick:e.withModifiers(C,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("input"))},[e.createElementVNode("input",{type:"radio",checked:h.value,disabled:S.value,name:V.value,value:y.value},null,8,ge)],2),z.$slots.default||o.label?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("label"))},[e.renderSlot(z.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)):e.createCommentVNode("",!0)],2))}}),ye=e.defineComponent({name:"XRadioGroup",__name:"group",props:{modelValue:{type:[String,Number,Boolean],default:""},disabled:{type:Boolean,default:!1},name:{}},emits:["update:modelValue","change"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("radio-group"),a=c=>{t("update:modelValue",c),t("change",c)};return e.provide("radioGroup",{modelValue:e.computed(()=>l.modelValue),name:l.name||`radio-group-${Date.now()}`,disabled:l.disabled,changeValue:a}),(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n).b()),role:"radiogroup"},[e.renderSlot(c.$slots,"default")],2))}}),be=["checked","disabled","value"],Ce=e.defineComponent({name:"XRadioButton",__name:"button",props:{value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean},name:{}},emits:["update:modelValue","change"],setup(o,{emit:f}){const l=o,t=H.useNamespace("radio-button"),n=e.inject("radioGroup",null),a=e.computed(()=>!!n),c=e.computed(()=>a.value?n.modelValue.value:null),d=e.computed(()=>l.value??l.label),y=e.computed(()=>c.value===d.value),h=e.computed(()=>l.disabled||a.value&&n.disabled),S=e.computed(()=>[t.b(),t.is("active",y.value),t.is("disabled",h.value)]),V=()=>{h.value||a.value&&n.changeValue(d.value)};return(k,C)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(S.value),onClick:e.withModifiers(V,["prevent"])},[e.createElementVNode("input",{type:"radio",checked:y.value,disabled:h.value,value:d.value,class:e.normalizeClass(e.unref(t).e("input"))},null,10,be),e.createElementVNode("span",{class:e.normalizeClass(e.unref(t).e("inner"))},[e.renderSlot(k.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)],2))}}),Ve=["checked","disabled","name","value"],Be=e.defineComponent({name:"XCheckbox",__name:"index",props:{modelValue:{type:[Boolean,String,Number,Array]},value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean},name:{},indeterminate:{type:Boolean}},emits:["update:modelValue","change"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("checkbox"),a=e.inject("checkboxGroup",null),c=e.computed(()=>!!a),d=e.computed(()=>l.value??l.label),y=e.computed(()=>c.value?a.modelValue.value.includes(d.value):Array.isArray(l.modelValue)?l.modelValue.includes(d.value):!!l.modelValue),h=e.computed(()=>{if(l.disabled)return!0;if(c.value){const k=a.disabled,C=a.min>0&&a.modelValue.value.length<=a.min,z=a.max>0&&a.modelValue.value.length>=a.max;return y.value&&C||!y.value&&z?!0:k}return!1}),S=e.computed(()=>[n.b(),n.is("checked",y.value),n.is("disabled",h.value),n.is("indeterminate",l.indeterminate&&!y.value)]),V=()=>{if(!h.value)if(c.value)a.changeValue(d.value);else{let k;if(Array.isArray(l.modelValue)){const C=l.modelValue.indexOf(d.value);C>-1?k=[...l.modelValue.slice(0,C),...l.modelValue.slice(C+1)]:k=[...l.modelValue,d.value]}else k=!l.modelValue;t("update:modelValue",k),t("change",k)}};return(k,C)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(S.value),onClick:e.withModifiers(V,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("input"))},[e.createElementVNode("input",{type:"checkbox",checked:y.value,disabled:h.value,name:o.name,value:d.value},null,8,Ve)],2),k.$slots.default||o.label!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("label"))},[e.renderSlot(k.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)):e.createCommentVNode("",!0)],2))}}),Ee=e.defineComponent({name:"XCheckboxGroup",__name:"group",props:{modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},min:{default:0},max:{default:0}},emits:["update:modelValue","change"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("checkbox-group"),a=c=>{const d=[...l.modelValue],y=d.indexOf(c);y>-1?d.splice(y,1):d.push(c),t("update:modelValue",d),t("change",d)};return e.provide("checkboxGroup",{modelValue:e.computed(()=>l.modelValue),disabled:l.disabled,min:l.min,max:l.max,changeValue:a}),(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n).b()),role:"group"},[e.renderSlot(c.$slots,"default")],2))}}),xe=e.defineComponent({name:"XForm",__name:"index",props:{model:{default:()=>({})},rules:{default:()=>({})},labelWidth:{default:"100px"},labelPosition:{default:"right"},layout:{default:"horizontal"},inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"default"}},emits:["validate","submit","reset"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("form"),c=e.ref([]),d=e.computed(()=>t.layout==="inline"||t.inline),y=e.computed(()=>t.layout==="vertical"||t.labelPosition==="top"),h=e.computed(()=>[a.b(),a.m(`label-${y.value?"top":t.labelPosition}`),a.is("inline",d.value),a.is("vertical",y.value)]),S=e.computed(()=>({width:typeof t.labelWidth=="number"?`${t.labelWidth}px`:t.labelWidth})),V=m=>{c.value.push(m)},k=m=>{const i=c.value.indexOf(m);i>-1&&c.value.splice(i,1)},C=async()=>{let m=!0;for(const i of c.value)await i.validate()||(m=!1);return m},z=async m=>{const i=Array.isArray(m)?m:[m];let p=!0;for(const F of c.value)i.includes(F.prop)&&(await F.validate()||(p=!1));return p},u=()=>{c.value.forEach(m=>{m.resetField()})},b=m=>{if(m){const i=Array.isArray(m)?m:[m];c.value.forEach(p=>{i.includes(p.prop)&&p.clearValidate()})}else c.value.forEach(i=>{i.clearValidate()})},B=m=>{console.log("[XForm] handleSubmit triggered",m),m.preventDefault(),n("submit")},x=m=>{console.log("[XForm] handleReset triggered",m),m.preventDefault(),u(),n("reset")},M=e.toRef(t,"model");return e.provide("form",{model:M,rules:t.rules,labelWidth:t.labelWidth,labelPosition:y.value?"top":t.labelPosition,disabled:t.disabled,size:t.size,labelStyle:S,addField:V,removeField:k,emit:n}),f({validate:C,validateField:z,resetFields:u,clearValidate:b}),(m,i)=>(e.openBlock(),e.createElementBlock("form",{class:e.normalizeClass(h.value),onSubmit:B,onReset:x},[e.renderSlot(m.$slots,"default")],34))}}),we=e.defineComponent({name:"XFormItem",__name:"item",props:{prop:{},label:{},labelWidth:{},required:{type:Boolean},rules:{},showMessage:{type:Boolean}},setup(o,{expose:f}){const l=o,t=H.useNamespace("form-item"),n=e.inject("form",null),a=e.ref(""),c=e.ref(""),d=e.computed(()=>l.required?!0:y().some(B=>B.required)),y=()=>{const b=[];return l.rules&&b.push(...l.rules),n&&l.prop&&n.rules[l.prop]&&b.push(...n.rules[l.prop]),b},h=()=>{var b;if(!(!n||!l.prop))return(b=n.model.value)==null?void 0:b[l.prop]},S=b=>{!n||!l.prop||n.model.value&&(n.model.value[l.prop]=b)},V=async b=>{const B=y();if(B.length===0)return a.value="valid",!0;const x=h();let M=!0,m="";for(const i of B)if(!(b&&i.trigger&&i.trigger!==b)){if(i.required&&(x==null||x===""||Array.isArray(x)&&x.length===0)){M=!1,m=i.message||"该字段为必填项";break}if(i.min!==void 0||i.max!==void 0){const p=typeof x=="string"?x.length:0;if(i.min!==void 0&&p<i.min){M=!1,m=i.message||`长度不能小于 ${i.min} 个字符`;break}if(i.max!==void 0&&p>i.max){M=!1,m=i.message||`长度不能大于 ${i.max} 个字符`;break}}if(i.pattern&&x&&!i.pattern.test(x)){M=!1,m=i.message||"格式不正确";break}if(i.validator)try{await new Promise((p,F)=>{i.validator(i,x,I=>{I?F(I):p()})})}catch(p){M=!1,m=p.message||i.message||"验证失败";break}}return a.value=M?"valid":"invalid",c.value=m,n&&l.prop&&n.emit("validate",l.prop,M,m),M},k=()=>{S(void 0),C()},C=()=>{a.value="",c.value=""},z=e.computed(()=>[t.b(),t.is("required",d.value),t.is("error",a.value==="invalid"),t.is("success",a.value==="valid")]),u=e.computed(()=>{const b=l.labelWidth??(n==null?void 0:n.labelWidth)??"100px";return{width:typeof b=="number"?`${b}px`:b}});return e.watch(()=>h(),()=>{a.value==="invalid"&&V("change")}),e.onMounted(()=>{n&&l.prop&&n.addField({prop:l.prop,validate:V,resetField:k,clearValidate:C})}),e.onUnmounted(()=>{n&&l.prop&&n.removeField({prop:l.prop,validate:V,resetField:k,clearValidate:C})}),f({validate:V,resetField:k,clearValidate:C}),(b,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(z.value)},[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(t).e("label")),style:e.normalizeStyle(u.value)},e.toDisplayString(o.label),7)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(t).e("content"))},[e.renderSlot(b.$slots,"default"),o.showMessage!==!1&&a.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(t).e("error"))},e.toDisplayString(c.value),3)):e.createCommentVNode("",!0)],2)],2))}});function ze(o,f){return new Date(o,f+1,0).getDate()}function Ne(o,f){return new Date(o,f,1).getDay()}function Q(o,f){return!o||!f?!1:o.getFullYear()===f.getFullYear()&&o.getMonth()===f.getMonth()&&o.getDate()===f.getDate()}function De(o,f){return!o||!f?!1:o.getFullYear()===f.getFullYear()&&o.getMonth()===f.getMonth()}function oe(o,f,l){if(!f||!l)return!1;const t=o.getTime();return t>=f.getTime()&&t<=l.getTime()}function Se(o,f,l=0){const t=[],n=ze(o,f),a=Ne(o,f);let c=new Date(o,f,1);const d=(a-l+7)%7;c.setDate(1-d);let y=[],h=new Date(c);for(;(h.getMonth()<=f||h.getMonth()===f&&h.getDate()<=n)&&(y.push(new Date(h)),!(y.length===7&&(t.push(y),y=[],h.getMonth()>f)||(h.setDate(h.getDate()+1),t.length>7))););return y.length>0&&t.push(y),t}function Z(o,f="YYYY-MM-DD"){if(!o)return"";const l=o.getFullYear(),t=o.getMonth()+1,n=o.getDate(),a=o.getHours(),c=o.getMinutes(),d=o.getSeconds();return f.replace(/YYYY/g,String(l)).replace(/YY/g,String(l).slice(-2)).replace(/MM/g,String(t).padStart(2,"0")).replace(/M/g,String(t)).replace(/DD/g,String(n).padStart(2,"0")).replace(/D/g,String(n)).replace(/HH/g,String(a).padStart(2,"0")).replace(/H/g,String(a)).replace(/mm/g,String(c).padStart(2,"0")).replace(/m/g,String(c)).replace(/ss/g,String(d).padStart(2,"0")).replace(/s/g,String(d))}function G(o){if(!o||Array.isArray(o))return null;if(o instanceof Date)return isNaN(o.getTime())?null:o;if(typeof o=="number")return new Date(o);if(typeof o!="string")return null;const f=new Date(o);if(isNaN(f.getTime())){const l=o.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/);return l?new Date(parseInt(l[1]),parseInt(l[2])-1,parseInt(l[3])):null}return f}function Me(o){const f=new Date(o);return f.setMonth(f.getMonth()-1),f}function $e(o){const f=new Date(o);return f.setMonth(f.getMonth()+1),f}function Te(o){const f=new Date(o);return f.setFullYear(f.getFullYear()-1),f}function Fe(o){const f=new Date(o);return f.setFullYear(f.getFullYear()+1),f}function se(o){const f=Math.floor(o/10)*10;return[f,f+9]}function le(o){const f=new Date(o);return f.setHours(0,0,0,0),f}function Re(o,f,l,t){if(f&&f(o))return!0;const n=le(o).getTime();return!!(l&&n<le(l).getTime()||t&&n>le(t).getTime())}const Le=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],Ie=["日","一","二","三","四","五","六"],Pe=["onClick","onMouseenter"],Ae=e.defineComponent({name:"XDateTable",__name:"DateTable",props:{modelValue:{default:null},viewedMonth:{default:()=>new Date},minDate:{default:null},maxDate:{default:null},disabledDate:{},rangeState:{default:()=>({selecting:!1,startDate:null,endDate:null})},selectionMode:{default:"single"}},emits:["pick","range-select","range-move","update:viewedMonth"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("date-table"),a=e.ref(null),c=e.computed(()=>l.viewedMonth.getFullYear()),d=e.computed(()=>l.viewedMonth.getMonth()),y=e.computed(()=>Se(c.value,d.value,0)),h=m=>l.modelValue?Q(m,l.modelValue):!1,S=m=>Q(m,new Date),V=m=>De(m,l.viewedMonth),k=m=>{if(l.selectionMode!=="range")return!1;const{startDate:i,endDate:p,selecting:F}=l.rangeState||{};if(F&&i){const I=a.value;if(I){const Y=i<I?i:I,U=i<I?I:i;return oe(m,Y,U)}return Q(m,i)}return i&&p?oe(m,i,p):!1},C=m=>{if(l.selectionMode!=="range")return!1;const{startDate:i,selecting:p}=l.rangeState||{};return p&&i&&a.value?Q(m,i<a.value?i:a.value):i?Q(m,i):!1},z=m=>{if(l.selectionMode!=="range")return!1;const{endDate:i,selecting:p}=l.rangeState||{};if(p&&a.value){const{startDate:F}=l.rangeState||{};return Q(m,F<a.value?a.value:F)}return i?Q(m,i):!1},u=m=>Re(m,l.disabledDate,l.minDate,l.maxDate),b=m=>[n.e("cell"),n.is("selected",h(m)),n.is("today",S(m)),n.is("disabled",u(m)),n.is("in-range",k(m)),n.is("range-start",C(m)),n.is("range-end",z(m)),n.is("prev-month",!V(m)&&m.getMonth()<d.value),n.is("next-month",!V(m)&&m.getMonth()>d.value)],B=m=>{u(m)||(l.selectionMode==="range"?t("range-select",m):t("pick",m))},x=m=>{a.value=m},M=()=>{a.value=null};return(m,i)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(e.unref(n).b()),cellspacing:"0",cellpadding:"0"},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Ie),p=>(e.openBlock(),e.createElementBlock("th",{key:p,class:e.normalizeClass(e.unref(n).e("header-cell"))},e.toDisplayString(p),3))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(p,F)=>(e.openBlock(),e.createElementBlock("tr",{key:F},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p,(I,Y)=>(e.openBlock(),e.createElementBlock("td",{key:Y,class:e.normalizeClass(b(I)),onClick:U=>B(I),onMouseenter:U=>x(I),onMouseleave:M},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("cell-text"))},e.toDisplayString(I.getDate()),3)],42,Pe))),128))]))),128))])],2))}}),Ye=["onClick"],He=e.defineComponent({name:"XMonthTable",__name:"MonthTable",props:{modelValue:{default:null},viewedYear:{default:()=>new Date().getFullYear()},disabledDate:{}},emits:["pick"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("month-table");e.computed(()=>l.modelValue?l.modelValue.getMonth():-1);const a=V=>l.modelValue?l.modelValue.getFullYear()===l.viewedYear&&l.modelValue.getMonth()===V:!1,c=V=>{const k=new Date;return k.getFullYear()===l.viewedYear&&k.getMonth()===V},d=V=>{if(!l.disabledDate)return!1;const k=new Date(l.viewedYear,V,1),C=new Date(l.viewedYear,V+1,0);return l.disabledDate(k)&&l.disabledDate(C)},y=V=>[n.e("cell"),n.is("selected",a(V)),n.is("current",c(V)),n.is("disabled",d(V))],h=V=>{d(V)||t("pick",V)},S=e.computed(()=>{const V=[];for(let k=0;k<12;k+=3)V.push([k,k+1,k+2]);return V});return(V,k)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(e.unref(n).b()),cellspacing:"0",cellpadding:"0"},[e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(C,z)=>(e.openBlock(),e.createElementBlock("tr",{key:z},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C,u=>(e.openBlock(),e.createElementBlock("td",{key:u,class:e.normalizeClass(y(u)),onClick:b=>h(u)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("cell-text"))},e.toDisplayString(e.unref(Le)[u]),3)],10,Ye))),128))]))),128))])],2))}}),Oe=["onClick"],Ue=e.defineComponent({name:"XYearTable",__name:"YearTable",props:{modelValue:{default:null},viewedYear:{default:()=>new Date().getFullYear()},disabledDate:{}},emits:["pick"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("year-table"),a=e.computed(()=>new Date().getFullYear()),c=e.computed(()=>se(l.viewedYear)),d=e.computed(()=>{const[u]=c.value,b=[];b.push(u-1);for(let B=0;B<10;B++)b.push(u+B);return b.push(u+10),b}),y=e.computed(()=>{const u=[];for(let b=0;b<d.value.length;b+=3)u.push(d.value.slice(b,b+3));return u}),h=u=>l.modelValue?l.modelValue.getFullYear()===u:!1,S=u=>u===a.value,V=u=>{const[b,B]=c.value;return u>=b&&u<=B},k=u=>{if(!l.disabledDate)return!1;const b=new Date(u,0,1),B=new Date(u,11,31);return l.disabledDate(b)&&l.disabledDate(B)},C=u=>[n.e("cell"),n.is("selected",h(u)),n.is("current",S(u)),n.is("disabled",k(u)),n.is("in-decade",V(u))],z=u=>{k(u)||t("pick",u)};return(u,b)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(e.unref(n).b()),cellspacing:"0",cellpadding:"0"},[e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(B,x)=>(e.openBlock(),e.createElementBlock("tr",{key:x},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B,M=>(e.openBlock(),e.createElementBlock("td",{key:M,class:e.normalizeClass(C(M)),onClick:m=>z(M)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("cell-text"))},e.toDisplayString(M),3)],10,Oe))),128))]))),128))])],2))}}),Xe=["placeholder","disabled","value"],Ke=["placeholder","disabled","value"],We=["placeholder","disabled","value"],qe=e.defineComponent({name:"XDatePicker",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},type:{default:"date"},placeholder:{default:"请选择日期"},startPlaceholder:{default:"开始日期"},endPlaceholder:{default:"结束日期"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"default"},format:{default:"YYYY-MM-DD"},valueFormat:{default:""},disabledDate:{},minDate:{},maxDate:{}},emits:["update:modelValue","update:value","change","focus","blur","clear"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("date-picker"),c=e.ref(!1),d=e.ref(2e3),y=e.ref(),h=()=>t.modelValue!==void 0&&t.modelValue!==null?t.modelValue:t.value!==void 0&&t.value!==null?t.value:null,S=D=>{n("update:modelValue",D),n("update:value",D),n("change",D)},V=e.ref(),k=e.ref(),C=e.ref({top:"0px",left:"0px"}),z=()=>H.useZIndex().next(),u=e.ref("date"),b=e.ref(new Date),B=e.ref({selecting:!1,startDate:null,endDate:null}),x=e.computed(()=>{const D=h();if(!D)return null;if(t.type==="daterange"){if(!Array.isArray(D))return null;const[R,O]=D;return[R instanceof Date?R:G(R),O instanceof Date?O:G(O)]}return D instanceof Date?D:G(D)}),M=e.computed(()=>{if(t.type==="daterange")return"";const D=h();if(!D)return"";const R=D instanceof Date?D:G(D);return R?Z(R,t.format):""}),m=e.computed(()=>{const D=h();if(!D||!Array.isArray(D))return"";const[R]=D;if(!R)return"";const O=R instanceof Date?R:G(R);return O?Z(O,t.format):""}),i=e.computed(()=>{const D=h();if(!D||!Array.isArray(D))return"";const[,R]=D;if(!R)return"";const O=R instanceof Date?R:G(R);return O?Z(O,t.format):""}),p=e.computed(()=>{const D=h();return!D||Array.isArray(D)?null:D instanceof Date?D:G(D)}),F=e.computed(()=>b.value.getFullYear()),I=e.computed(()=>b.value.getMonth()),Y=e.computed(()=>se(F.value)),U=e.computed(()=>u.value==="year"?`${Y.value[0]} 年 - ${Y.value[1]} 年`:u.value==="month"?`${F.value} 年`:`${F.value} 年 ${I.value+1} 月`),E=e.computed(()=>[a.b(),a.m(t.size),a.is("disabled",t.disabled),a.is("range",t.type==="daterange")]),w=e.computed(()=>[a.e("input"),a.is("focus",c.value),a.is("has-value",!!M.value||!!(m.value||i.value))]),g=()=>{t.disabled||t.readonly||(c.value?r():s())},s=()=>{c.value=!0,d.value=z(),e.nextTick(()=>{if(y.value&&V.value){const D=y.value.getBoundingClientRect(),R=V.value.getBoundingClientRect();let O=D.bottom+8,te=D.left;te+R.width>window.innerWidth&&(te=window.innerWidth-R.width-8),O+R.height>window.innerHeight&&(O=D.top-R.height-8),C.value={top:`${O}px`,left:`${te}px`}}}),n("focus",{})},r=()=>{c.value=!1,u.value="date",n("blur",{})},v=D=>{if(t.type==="date"){const R=t.valueFormat?Z(D,t.valueFormat):D;S(R),r()}},L=D=>{if(!B.value.selecting)B.value.selecting=!0,B.value.startDate=D,B.value.endDate=null;else{B.value.selecting=!1,B.value.startDate&&D<B.value.startDate?[B.value.startDate,B.value.endDate]=[D,B.value.startDate]:B.value.endDate=D;const R=t.valueFormat?Z(B.value.startDate,t.valueFormat):B.value.startDate,O=t.valueFormat?Z(B.value.endDate,t.valueFormat):B.value.endDate;S([R,O]),r()}},K=D=>{if(b.value=new Date(F.value,D,1),t.type==="month"){const R=new Date(F.value,D,1),O=t.valueFormat?Z(R,t.valueFormat):R;S(O),r()}else u.value="date"},$=D=>{if(b.value=new Date(D,I.value,1),t.type==="year"){const R=new Date(D,0,1),O=t.valueFormat?Z(R,t.valueFormat):R;S(O),r()}else u.value="month"},X=()=>{b.value=Me(b.value)},T=()=>{b.value=$e(b.value)},j=()=>{u.value==="year"?b.value=new Date(F.value-10,I.value,1):b.value=Te(b.value)},ee=()=>{u.value==="year"?b.value=new Date(F.value+10,I.value,1):b.value=Fe(b.value)},N=()=>{u.value="month"},P=()=>{u.value="year"},A=()=>{S(null),n("clear"),B.value={selecting:!1,startDate:null,endDate:null}},W=D=>{if(!y.value)return;const R=D.target;y.value.contains(R)||V.value&&V.value.contains(R)||r()};e.watch(h,D=>{if(D)if(Array.isArray(x.value)){const[R]=x.value;R&&(b.value=new Date(R))}else x.value&&(b.value=new Date(x.value))},{immediate:!0}),e.watch(c,D=>{D&&(u.value="date",t.type==="daterange"&&(B.value={selecting:!1,startDate:Array.isArray(x.value)?x.value[0]:null,endDate:Array.isArray(x.value)?x.value[1]:null}))});const q=D=>{D.key==="Escape"&&r()};return e.onMounted(()=>{document.addEventListener("click",W),document.addEventListener("keydown",q)}),e.onUnmounted(()=>{document.removeEventListener("click",W),document.removeEventListener("keydown",q)}),f({focus:()=>{var D;return(D=k.value)==null?void 0:D.focus()},blur:()=>{var D;return(D=k.value)==null?void 0:D.blur()}}),(D,R)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:y,class:e.normalizeClass(E.value)},[o.type!=="daterange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(w.value),onClick:g},[e.createElementVNode("input",{ref_key:"inputRef",ref:k,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:M.value,class:e.normalizeClass(e.unref(a).e("input-inner"))},null,10,Xe),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("suffix"))},[o.clearable&&M.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("clear")),onClick:e.withModifiers(A,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(a).e("icon"))},"📅",2))],2)],2)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(w.value),onClick:g},[e.createElementVNode("input",{type:"text",placeholder:o.startPlaceholder,disabled:o.disabled,readonly:!0,value:m.value,class:e.normalizeClass(e.unref(a).e("input-inner"))},null,10,Ke),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("separator"))},"至",2),e.createElementVNode("input",{type:"text",placeholder:o.endPlaceholder,disabled:o.disabled,readonly:!0,value:i.value,class:e.normalizeClass(e.unref(a).e("input-inner"))},null,10,We),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("suffix"))},[o.clearable&&(m.value||i.value)&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("clear")),onClick:e.withModifiers(A,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(a).e("icon"))},"📅",2))],2)],2)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:V,class:e.normalizeClass(e.unref(a).e("popper")),style:e.normalizeStyle({zIndex:d.value,...C.value})},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("header"))},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(e.unref(a).e("prev-btn")),onClick:R[0]||(R[0]=O=>u.value==="date"?X():j())}," ‹ ",2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("header-title"))},[u.value==="year"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:R[1]||(R[1]=O=>u.value="month")},e.toDisplayString(U.value),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",{onClick:P},e.toDisplayString(F.value)+" 年",1),u.value==="date"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:N},e.toDisplayString(I.value+1)+" 月",1)):e.createCommentVNode("",!0)],64))],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(e.unref(a).e("next-btn")),onClick:R[2]||(R[2]=O=>u.value==="date"?T():ee())}," › ",2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("content"))},[u.value==="date"?(e.openBlock(),e.createBlock(Ae,{key:0,"model-value":p.value,"viewed-month":b.value,"disabled-date":o.disabledDate,"min-date":o.minDate?e.unref(G)(o.minDate):null,"max-date":o.maxDate?e.unref(G)(o.maxDate):null,"selection-mode":o.type==="daterange"?"range":"single","range-state":B.value,onPick:v,onRangeSelect:L},null,8,["model-value","viewed-month","disabled-date","min-date","max-date","selection-mode","range-state"])):u.value==="month"?(e.openBlock(),e.createBlock(He,{key:1,"model-value":p.value,"viewed-year":F.value,"disabled-date":o.disabledDate,onPick:K},null,8,["model-value","viewed-year","disabled-date"])):u.value==="year"?(e.openBlock(),e.createBlock(Ue,{key:2,"model-value":p.value,"viewed-year":F.value,"disabled-date":o.disabledDate,onPick:$},null,8,["model-value","viewed-year","disabled-date"])):e.createCommentVNode("",!0)],2)],6),[[e.vShow,c.value]])]),_:1})]))],2))}});function J(o,f="HH:mm:ss"){if(!o)return"";const l=o.getHours(),t=o.getMinutes(),n=o.getSeconds();return f.replace(/HH/g,String(l).padStart(2,"0")).replace(/H/g,String(l)).replace(/mm/g,String(t).padStart(2,"0")).replace(/m/g,String(t)).replace(/ss/g,String(n).padStart(2,"0")).replace(/s/g,String(n))}function ae(o){if(!o)return null;if(o instanceof Date)return isNaN(o.getTime())?null:o;if(typeof o=="number"){const t=new Date;return t.setTime(o),t}const f=o.match(/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?/);if(f){const t=new Date;return t.setHours(parseInt(f[1]),parseInt(f[2]),f[3]?parseInt(f[3]):0,0),t}const l=new Date(o);return isNaN(l.getTime())?null:l}function _(o){return String(o).padStart(2,"0")}const Ge=["onClick"],je=["onClick"],Ze=["onClick"],Qe=e.defineComponent({name:"XTimePanel",__name:"TimePanel",props:{modelValue:{default:null},format:{default:"HH:mm:ss"},disabledHours:{},disabledMinutes:{},disabledSeconds:{},hourStep:{default:1},minuteStep:{default:1},secondStep:{default:1}},emits:["confirm","cancel"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("time-panel"),a=e.ref(0),c=e.ref(0),d=e.ref(0),y=e.ref(),h=e.ref(),S=e.ref(),V=e.computed(()=>l.format.includes("ss")||l.format.includes("s")),k=e.computed(()=>{const $=[],X=Math.max(1,l.hourStep);for(let T=0;T<24;T+=X)$.push(T);return $}),C=e.computed(()=>{const $=[],X=Math.max(1,l.minuteStep);for(let T=0;T<60;T+=X)$.push(T);return $}),z=e.computed(()=>{const $=[],X=Math.max(1,l.secondStep);for(let T=0;T<60;T+=X)$.push(T);return $}),u=e.computed(()=>l.disabledHours?new Set(l.disabledHours()):new Set),b=e.computed(()=>l.disabledMinutes?new Set(l.disabledMinutes(a.value)):new Set),B=e.computed(()=>l.disabledSeconds?new Set(l.disabledSeconds(a.value,c.value)):new Set),x=e.computed(()=>`${_(a.value)}:${_(c.value)}${V.value?":"+_(d.value):""}`),M=$=>u.value.has($),m=$=>b.value.has($),i=$=>B.value.has($),p=$=>{M($)||(a.value=$,w(y.value,Y($)))},F=$=>{m($)||(c.value=$,w(h.value,U($)))},I=$=>{i($)||(d.value=$,w(S.value,E($)))},Y=$=>k.value.indexOf($),U=$=>C.value.indexOf($),E=$=>z.value.indexOf($),w=($,X)=>{if(!$)return;const T=32,ee=X*T+84-200/2+T/2;$.scrollTop=Math.max(0,ee)},g=()=>{if(!y.value)return;const $=y.value.scrollTop,X=Math.round(($-84+100)/32),T=k.value[Math.max(0,Math.min(X,k.value.length-1))];T!==void 0&&!M(T)&&(a.value=T)},s=()=>{if(!h.value)return;const $=h.value.scrollTop,X=Math.round(($-84+100)/32),T=C.value[Math.max(0,Math.min(X,C.value.length-1))];T!==void 0&&!m(T)&&(c.value=T)},r=()=>{if(!S.value)return;const $=S.value.scrollTop,X=Math.round(($-84+100)/32),T=z.value[Math.max(0,Math.min(X,z.value.length-1))];T!==void 0&&!i(T)&&(d.value=T)},v=()=>{const $=l.modelValue?new Date(l.modelValue):new Date;$.setHours(a.value,c.value,d.value,0),t("confirm",$)},L=()=>{t("cancel")},K=()=>{if(l.modelValue)a.value=l.modelValue.getHours(),c.value=l.modelValue.getMinutes(),d.value=l.modelValue.getSeconds();else{const $=new Date;a.value=$.getHours(),c.value=$.getMinutes(),d.value=$.getSeconds()}e.nextTick(()=>{w(y.value,Y(a.value)),w(h.value,U(c.value)),V.value&&w(S.value,E(d.value))})};return e.watch(()=>l.modelValue,()=>{K()},{immediate:!0}),e.onMounted(()=>{K()}),($,X)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n).b())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("content"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("indicator"))},null,2),e.createElementVNode("div",{ref_key:"hourListRef",ref:y,class:e.normalizeClass(e.unref(n).e("list")),onScroll:g},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,T=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("selected",a.value===T),e.unref(n).is("disabled",M(T))]),onClick:j=>p(T)},e.toDisplayString(e.unref(_)(T)),11,Ge))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2)],34),e.createElementVNode("div",{ref_key:"minuteListRef",ref:h,class:e.normalizeClass(e.unref(n).e("list")),onScroll:s},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,T=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("selected",c.value===T),e.unref(n).is("disabled",m(T))]),onClick:j=>F(T)},e.toDisplayString(e.unref(_)(T)),11,je))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2)],34),V.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"secondListRef",ref:S,class:e.normalizeClass(e.unref(n).e("list")),onScroll:r},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,T=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("selected",d.value===T),e.unref(n).is("disabled",i(T))]),onClick:j=>I(T)},e.toDisplayString(e.unref(_)(T)),11,Ze))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2)],34)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("footer"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("current-time"))},e.toDisplayString(x.value),3),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("actions"))},[e.createElementVNode("button",{class:e.normalizeClass(e.unref(n).e("btn-cancel")),onClick:L},"取消",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n).e("btn-confirm")),onClick:v},"确定",2)],2)],2)],2))}}),Je=["placeholder","disabled","value"],_e=["placeholder","disabled","value"],et=["placeholder","disabled","value"],tt=e.defineComponent({name:"XTimePicker",__name:"index",props:{modelValue:{default:null},type:{default:"time"},placeholder:{default:"请选择时间"},startPlaceholder:{default:"开始时间"},endPlaceholder:{default:"结束时间"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"default"},format:{default:"HH:mm:ss"},valueFormat:{default:""},disabledHours:{},disabledMinutes:{},disabledSeconds:{},hourStep:{default:1},minuteStep:{default:1},secondStep:{default:1}},emits:["update:modelValue","change","focus","blur","clear"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("time-picker"),c=()=>H.useZIndex().next(),d=e.ref(!1),y=e.ref(2e3),h=e.ref(),S=e.ref(),V=e.ref(),k=e.ref({top:"0px",left:"0px"}),C=e.ref({startTime:null,endTime:null}),z=e.ref("start"),u=e.computed(()=>{if(!t.modelValue)return null;if(t.type==="timerange"){const[r,v]=t.modelValue;return[ae(r),ae(v)]}return ae(t.modelValue)}),b=e.computed(()=>!u.value||Array.isArray(u.value)?"":J(u.value,t.format)),B=e.computed(()=>{if(!Array.isArray(u.value))return"";const[r]=u.value;return r?J(r,t.format):""}),x=e.computed(()=>{if(!Array.isArray(u.value))return"";const[,r]=u.value;return r?J(r,t.format):""}),M=e.computed(()=>t.type==="timerange"?z.value==="start"?C.value.startTime:C.value.endTime||C.value.startTime:u.value),m=e.computed(()=>[a.b(),a.m(t.size),a.is("disabled",t.disabled),a.is("range",t.type==="timerange")]),i=e.computed(()=>[a.e("input"),a.is("focus",d.value)]),p=()=>{t.disabled||t.readonly||(d.value?Y():I())},F=r=>{t.disabled||t.readonly||(z.value=r,d.value||I())},I=()=>{d.value=!0,y.value=c(),e.nextTick(()=>{if(h.value&&S.value){const r=h.value.getBoundingClientRect(),v=S.value.getBoundingClientRect();let L=r.bottom+8,K=r.left;K+v.width>window.innerWidth&&(K=window.innerWidth-v.width-8),L+v.height>window.innerHeight&&(L=r.top-v.height-8),k.value={top:`${L}px`,left:`${K}px`}}}),n("focus",{})},Y=()=>{d.value=!1,n("blur",{})},U=r=>{if(t.type==="timerange")if(z.value==="start")C.value.startTime=r,z.value="end",C.value.endTime&&C.value.endTime<r&&(C.value.endTime=null);else{C.value.startTime&&r<C.value.startTime?(C.value.endTime=C.value.startTime,C.value.startTime=r):C.value.endTime=r;const v=t.valueFormat?J(C.value.startTime,t.valueFormat):C.value.startTime,L=t.valueFormat?J(C.value.endTime,t.valueFormat):C.value.endTime;n("update:modelValue",[v,L]),n("change",[v,L]),Y()}else{const v=t.valueFormat?J(r,t.valueFormat):r;n("update:modelValue",v),n("change",v),Y()}},E=()=>{Y()},w=()=>{n("update:modelValue",null),n("change",null),n("clear"),C.value={startTime:null,endTime:null}},g=r=>{if(!h.value)return;const v=r.target;h.value.contains(v)||S.value&&S.value.contains(v)||Y()};e.watch(()=>t.modelValue,r=>{if(r&&t.type==="timerange"){const[v,L]=u.value;C.value={startTime:v,endTime:L}}},{immediate:!0}),e.watch(d,r=>{r&&t.type==="timerange"&&(C.value={startTime:Array.isArray(u.value)?u.value[0]:null,endTime:Array.isArray(u.value)?u.value[1]:null},z.value="start")});const s=r=>{r.key==="Escape"&&Y()};return e.onMounted(()=>{document.addEventListener("click",g),document.addEventListener("keydown",s)}),e.onUnmounted(()=>{document.removeEventListener("click",g),document.removeEventListener("keydown",s)}),f({focus:()=>{var r;return(r=V.value)==null?void 0:r.focus()},blur:()=>{var r;return(r=V.value)==null?void 0:r.blur()}}),(r,v)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:h,class:e.normalizeClass(m.value)},[o.type!=="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value),onClick:p},[e.createElementVNode("input",{ref_key:"inputRef",ref:V,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:b.value,class:e.normalizeClass(e.unref(a).e("input-inner"))},null,10,Je),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("suffix"))},[o.clearable&&b.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("clear")),onClick:e.withModifiers(w,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(a).e("icon"))},"🕐",2))],2)],2)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(i.value),onClick:p},[e.createElementVNode("input",{type:"text",placeholder:o.startPlaceholder,disabled:o.disabled,readonly:!0,value:B.value,class:e.normalizeClass([e.unref(a).e("input-inner"),e.unref(a).is("active",z.value==="start")]),onClick:v[0]||(v[0]=e.withModifiers(L=>F("start"),["stop"]))},null,10,_e),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("separator"))},"至",2),e.createElementVNode("input",{type:"text",placeholder:o.endPlaceholder,disabled:o.disabled,readonly:!0,value:x.value,class:e.normalizeClass([e.unref(a).e("input-inner"),e.unref(a).is("active",z.value==="end")]),onClick:v[1]||(v[1]=e.withModifiers(L=>F("end"),["stop"]))},null,10,et),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("suffix"))},[o.clearable&&(B.value||x.value)&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("clear")),onClick:e.withModifiers(w,["stop"])}," ✕ ",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(a).e("icon"))},"🕐",2))],2)],2)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:S,class:e.normalizeClass(e.unref(a).e("popper")),style:e.normalizeStyle({zIndex:y.value,...k.value})},[o.type==="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("popper-header"))},e.toDisplayString(z.value==="start"?"请选择开始时间":"请选择结束时间"),3)):e.createCommentVNode("",!0),e.createVNode(Qe,{"model-value":M.value,format:o.format,"disabled-hours":o.disabledHours,"disabled-minutes":o.disabledMinutes,"disabled-seconds":o.disabledSeconds,"hour-step":o.hourStep,"minute-step":o.minuteStep,"second-step":o.secondStep,onConfirm:U,onCancel:E},null,8,["model-value","format","disabled-hours","disabled-minutes","disabled-seconds","hour-step","minute-step","second-step"])],6),[[e.vShow,d.value]])]),_:1})]))],2))}});function lt(o,f,l){return l?l(f,o):o.toLowerCase().includes(f.toLowerCase())}function re(o,f,l="value",t="children"){for(const n of o){if(n[l]===f)return n;if(n[t]&&n[t].length>0){const a=re(n[t],f,l,t);if(a)return a}}return null}function ne(o,f,l="value",t="children"){const n=[];function a(c){for(const d of c){if(d[l]===f)return n.push(d),!0;if(d[t]&&d[t].length>0){if(n.push(d),a(d[t]))return!0;n.pop()}}return!1}return a(o),n}function at(o,f="children"){const l=[];function t(n,a=0,c=null){for(const d of n)l.push({...d,level:a,parent:c}),d[f]&&d[f].length>0&&t(d[f],a+1,d)}return t(o),l}const nt=["onClick"],ot=["placeholder","disabled","readonly","value"],st=["onClick"],rt=["onClick"],ut=e.defineComponent({name:"XSelect",__name:"index",props:{modelValue:{default:void 0},value:{default:void 0},options:{default:()=>[]},type:{default:"single"},placeholder:{default:"请选择"},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},filterMethod:{},size:{default:"default"},multipleLimit:{default:0},collapseTags:{type:Boolean,default:!0},maxCollapseTags:{default:1},separator:{default:" / "},valueKey:{default:"value"},labelKey:{default:"label"},childrenKey:{default:"children"},noDataText:{default:"暂无数据"},noMatchText:{default:"无匹配数据"}},emits:["update:modelValue","update:value","change","clear","focus","blur","visible-change","remove-tag"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("select"),a=()=>H.useZIndex().next(),c=e.ref(),d=e.ref(),y=e.ref(),h=e.ref(!1),S=e.ref(2e3),V=e.ref(""),k=e.ref(-1),C=e.ref({top:"0px",left:"0px"}),z=e.computed(()=>l.type==="multiple"),u=e.computed(()=>l.type==="cascader"),b=e.ref([]),B=()=>l.modelValue!==void 0?l.modelValue:l.value!==void 0?l.value:"",x=N=>{t("update:modelValue",N),t("update:value",N),t("change",N)},M=e.computed(()=>{const N=B();return z.value?Array.isArray(N)?N:[]:u.value?Array.isArray(N)?N:N?[N]:[]:N!==""&&N!==null&&N!==void 0?[N]:[]}),m=e.computed(()=>u.value?at(l.options,l.childrenKey):l.options.map(N=>({...N,level:0}))),i=e.computed(()=>!l.filterable||!V.value?m.value:m.value.filter(N=>{const P=N[l.labelKey]||"";return lt(P,V.value,l.filterMethod)})),p=e.computed(()=>{const N=[];for(const P of M.value){const A=re(l.options,P,l.valueKey,l.childrenKey);A&&N.push(A)}return N}),F=e.computed(()=>{if(z.value)return"";if(u.value)return ne(l.options,M.value[M.value.length-1],l.valueKey,l.childrenKey).map(A=>A[l.labelKey]).join(l.separator);const N=p.value[0];return N?N[l.labelKey]:""}),I=e.computed(()=>z.value?p.value:[]),Y=e.computed(()=>l.collapseTags?I.value.slice(0,l.maxCollapseTags):I.value),U=e.computed(()=>l.collapseTags?Math.max(0,I.value.length-l.maxCollapseTags):0),E=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("multiple",z.value),n.is("cascader",u.value),n.is("filterable",l.filterable),n.is("focus",h.value)]),w=()=>{if(!c.value||!y.value||!h.value)return;const N=c.value.getBoundingClientRect(),P=y.value.getBoundingClientRect();let A=N.bottom+4,W=N.left;W+P.width>window.innerWidth&&(W=window.innerWidth-P.width-8),A+P.height>window.innerHeight&&(A=N.top-P.height-4),C.value={top:`${A}px`,left:`${W}px`}},g=()=>{l.disabled||(h.value=!0,S.value=a(),V.value="",e.nextTick(()=>{w()}),t("visible-change",!0),t("focus",{}))},s=()=>{h.value=!1,V.value="",b.value=[],t("visible-change",!1),t("blur",{})},r=N=>{if(!N.disabled)if(z.value){const P=[...M.value],A=N[l.valueKey],W=P.indexOf(A);if(W>-1)P.splice(W,1),t("remove-tag",A);else{if(l.multipleLimit>0&&P.length>=l.multipleLimit)return;P.push(A)}x(P)}else if(u.value)if(N.children&&N.children.length>0){const P=ne(l.options,N[l.valueKey],l.valueKey,l.childrenKey);b.value=P}else{const A=ne(l.options,N[l.valueKey],l.valueKey,l.childrenKey).map(W=>W[l.valueKey]);x(A),s()}else x(N[l.valueKey]),s()},v=N=>{const P=M.value.filter(A=>A!==N[l.valueKey]);x(P),t("remove-tag",N[l.valueKey])},L=()=>{const N=z.value?[]:"";x(N),t("clear")},K=N=>{V.value=N.target.value},$=N=>{if(!c.value)return;const P=N.target;c.value.contains(P)||y.value&&y.value.contains(P)||s()},X=N=>{if(N.key==="Escape")s();else if(N.key==="Enter"&&h.value){const P=i.value[k.value];P&&r(P)}else N.key==="ArrowDown"&&h.value?(N.preventDefault(),k.value=Math.min(k.value+1,i.value.length-1)):N.key==="ArrowUp"&&h.value&&(N.preventDefault(),k.value=Math.max(k.value-1,0))},T=N=>M.value.includes(N[l.valueKey]),j=(N,P)=>[n.e("option"),n.is("selected",T(N)),n.is("disabled",N.disabled===!0),n.is("hover",k.value===P),n.is("group",!!(N.children&&N.children.length>0))],ee=e.computed(()=>{if(!u.value)return[];const N=[l.options];for(const P of b.value)P.children&&P.children.length>0&&N.push(P.children);return N});return e.onMounted(()=>{document.addEventListener("click",$),document.addEventListener("keydown",X)}),e.onUnmounted(()=>{document.removeEventListener("click",$),document.removeEventListener("keydown",X),document.removeEventListener("scroll",w,!0)}),e.watch(h,N=>{N?document.addEventListener("scroll",w,!0):document.removeEventListener("scroll",w,!0)}),e.provide("select",{selectedValues:M,handleSelect:r,isSelected:T}),(N,P)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"selectRef",ref:c,class:e.normalizeClass(E.value)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("wrapper")),onClick:P[0]||(P[0]=A=>h.value?s():g())},[z.value&&I.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("tags"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,A=>(e.openBlock(),e.createElementBlock("span",{key:A[o.valueKey],class:e.normalizeClass(e.unref(n).e("tag"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("tag-text"))},e.toDisplayString(A[o.labelKey]),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("tag-close")),onClick:e.withModifiers(W=>v(A),["stop"])},"×",10,nt)],2))),128)),U.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("tag-count"))}," +"+e.toDisplayString(U.value),3)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_key:"inputRef",ref:d,class:e.normalizeClass(e.unref(n).e("input")),placeholder:z.value&&I.value.length>0?"":o.placeholder,disabled:o.disabled,readonly:!o.filterable||!h.value,value:o.filterable&&h.value?V.value:F.value,onInput:K},null,42,ot),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&M.value.length>0&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(L,["stop"])},"×",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([e.unref(n).e("arrow"),e.unref(n).is("reverse",h.value)])},"▼",2))],2)],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:y,class:e.normalizeClass([e.unref(n).e("popper"),e.unref(n).is("cascader",u.value)]),style:e.normalizeStyle({zIndex:S.value,...C.value})},[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("cascader-panels"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ee.value,(A,W)=>(e.openBlock(),e.createElementBlock("div",{key:W,class:e.normalizeClass(e.unref(n).e("cascader-panel"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A,(q,D)=>(e.openBlock(),e.createElementBlock("div",{key:q[o.valueKey],class:e.normalizeClass(j(q,D)),onClick:R=>r(q)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("option-label"))},e.toDisplayString(q[o.labelKey]),3),q.children&&q.children.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("option-arrow"))},"›",2)):e.createCommentVNode("",!0)],10,st))),128))],2))),128))],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[i.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("empty"))},e.toDisplayString(V.value?o.noMatchText:o.noDataText),3)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("options"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(A,W)=>(e.openBlock(),e.createElementBlock("div",{key:A[o.valueKey],class:e.normalizeClass(j(A,W)),onClick:q=>r(A)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("option-label"))},e.toDisplayString(A[o.labelKey]),3),T(A)?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("option-check"))},"✓",2)):e.createCommentVNode("",!0)],10,rt))),128))],2))],64))],6),[[e.vShow,h.value]])]),_:1})]))],2))}}),it=["checked","indeterminate"],ct=["placeholder"],dt=["onClick"],mt=["checked","disabled","onChange"],ft=["disabled"],vt=["disabled"],pt=["checked","indeterminate"],ht=["placeholder"],gt=["onClick"],kt=["checked","disabled","onChange"],yt=e.defineComponent({name:"XTransfer",__name:"index",props:{modelValue:{default:()=>[]},data:{default:()=>[]},titles:{default:()=>["列表1","列表2"]},buttonTexts:{default:()=>["",""]},filterable:{type:Boolean,default:!1},filterPlaceholder:{default:"请输入搜索内容"},filterMethod:{},targetOrder:{default:"original"},props:{},leftDefaultChecked:{default:()=>[]},rightDefaultChecked:{default:()=>[]}},emits:["update:modelValue","change","left-check-change","right-check-change"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("transfer"),c=e.computed(()=>{var s;return((s=t.props)==null?void 0:s.key)||"key"}),d=e.computed(()=>{var s;return((s=t.props)==null?void 0:s.label)||"label"}),y=e.computed(()=>{var s;return((s=t.props)==null?void 0:s.disabled)||"disabled"}),h=e.ref(""),S=e.ref(""),V=e.ref([]),k=e.ref([]),C=s=>s[c.value],z=s=>s[d.value],u=s=>s[y.value]||!1,b=e.computed(()=>t.data.filter(s=>{const r=C(s);return t.modelValue.includes(r)?!1:t.filterable&&h.value?t.filterMethod?t.filterMethod(h.value,s):z(s).toLowerCase().includes(h.value.toLowerCase()):!0})),B=e.computed(()=>{const s=t.modelValue;let r=t.data.filter(v=>{const L=C(v);return s.includes(L)});return t.filterable&&S.value&&(r=r.filter(v=>t.filterMethod?t.filterMethod(S.value,v):z(v).toLowerCase().includes(S.value.toLowerCase()))),t.targetOrder==="push"?r.sort((v,L)=>s.indexOf(C(v))-s.indexOf(C(L))):t.targetOrder==="unshift"?r.sort((v,L)=>s.indexOf(C(L))-s.indexOf(C(v))):r}),x=e.computed(()=>b.value.filter(s=>V.value.includes(C(s))).every(s=>u(s))),M=e.computed(()=>B.value.filter(s=>k.value.includes(C(s))).every(s=>u(s))),m=e.computed(()=>V.value.length===0||x.value),i=e.computed(()=>k.value.length===0||M.value),p=()=>{const s=V.value.filter(v=>{const L=t.data.find(K=>C(K)===v);return L&&!u(L)});let r;t.targetOrder==="unshift"?r=[...s,...t.modelValue]:r=[...t.modelValue,...s],n("update:modelValue",r),n("change",r,"right",s),V.value=[]},F=()=>{const s=k.value.filter(v=>{const L=t.data.find(K=>C(K)===v);return L&&!u(L)}),r=t.modelValue.filter(v=>!s.includes(v));n("update:modelValue",r),n("change",r,"left",s),k.value=[]},I=s=>{const r=V.value.indexOf(s);r>-1?V.value.splice(r,1):V.value.push(s),n("left-check-change",[...V.value])},Y=s=>{const r=k.value.indexOf(s);r>-1?k.value.splice(r,1):k.value.push(s),n("right-check-change",[...k.value])},U=()=>{V.value.length===b.value.filter(s=>!u(s)).length?V.value=[]:V.value=b.value.filter(s=>!u(s)).map(s=>C(s)),n("left-check-change",[...V.value])},E=()=>{k.value.length===B.value.filter(s=>!u(s)).length?k.value=[]:k.value=B.value.filter(s=>!u(s)).map(s=>C(s)),n("right-check-change",[...k.value])},w=s=>{s==="left"?h.value="":S.value=""},g=e.computed(()=>[a.b()]);return f({clearQuery:w}),(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(g.value)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("panel"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("header"))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(a).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:V.value.length>0&&V.value.length===b.value.filter(v=>!u(v)).length,indeterminate:V.value.length>0&&V.value.length<b.value.filter(v=>!u(v)).length,onChange:U},null,40,it),e.createElementVNode("span",null,e.toDisplayString(o.titles[0]),1)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("count"))},e.toDisplayString(V.value.length)+" / "+e.toDisplayString(b.value.length),3)],2),o.filterable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("filter"))},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=v=>h.value=v),placeholder:o.filterPlaceholder,class:e.normalizeClass(e.unref(a).e("filter-input"))},null,10,ct),[[e.vModelText,h.value]]),h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("filter-clear")),onClick:r[1]||(r[1]=v=>w("left"))},"×",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("body"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,v=>(e.openBlock(),e.createElementBlock("div",{key:C(v),class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("disabled",u(v)),e.unref(a).is("checked",V.value.includes(C(v)))]),onClick:L=>!u(v)&&I(C(v))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(a).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:V.value.includes(C(v)),disabled:u(v),onClick:r[2]||(r[2]=e.withModifiers(()=>{},["stop"])),onChange:L=>I(C(v))},null,40,mt),e.createElementVNode("span",null,e.toDisplayString(z(v)),1)],2)],10,dt))),128)),b.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("empty"))},[e.renderSlot(s.$slots,"left-empty",{},()=>[r[6]||(r[6]=e.createTextVNode("暂无数据",-1))])],2)):e.createCommentVNode("",!0)],2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("buttons"))},[e.createElementVNode("button",{class:e.normalizeClass([e.unref(a).e("button"),e.unref(a).is("disabled",m.value)]),disabled:m.value,onClick:p},e.toDisplayString(o.buttonTexts[0]||">"),11,ft),e.createElementVNode("button",{class:e.normalizeClass([e.unref(a).e("button"),e.unref(a).is("disabled",i.value)]),disabled:i.value,onClick:F},e.toDisplayString(o.buttonTexts[1]||"<"),11,vt)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("panel"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("header"))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(a).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:k.value.length>0&&k.value.length===B.value.filter(v=>!u(v)).length,indeterminate:k.value.length>0&&k.value.length<B.value.filter(v=>!u(v)).length,onChange:E},null,40,pt),e.createElementVNode("span",null,e.toDisplayString(o.titles[1]),1)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("count"))},e.toDisplayString(k.value.length)+" / "+e.toDisplayString(B.value.length),3)],2),o.filterable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("filter"))},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[3]||(r[3]=v=>S.value=v),placeholder:o.filterPlaceholder,class:e.normalizeClass(e.unref(a).e("filter-input"))},null,10,ht),[[e.vModelText,S.value]]),S.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("filter-clear")),onClick:r[4]||(r[4]=v=>w("right"))},"×",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("body"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,v=>(e.openBlock(),e.createElementBlock("div",{key:C(v),class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("disabled",u(v)),e.unref(a).is("checked",k.value.includes(C(v)))]),onClick:L=>!u(v)&&Y(C(v))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(a).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:k.value.includes(C(v)),disabled:u(v),onClick:r[5]||(r[5]=e.withModifiers(()=>{},["stop"])),onChange:L=>Y(C(v))},null,40,kt),e.createElementVNode("span",null,e.toDisplayString(z(v)),1)],2)],10,gt))),128)),B.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("empty"))},[e.renderSlot(s.$slots,"right-empty",{},()=>[r[7]||(r[7]=e.createTextVNode("暂无数据",-1))])],2)):e.createCommentVNode("",!0)],2)],2)],2))}}),bt={key:0},Ct={key:1},Vt=e.defineComponent({name:"XSlider",__name:"index",props:{modelValue:{default:0},min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0},formatTooltip:{},showStops:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},height:{default:"200px"},marks:{}},emits:["update:modelValue","change","input"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("slider"),a=e.ref(),c=e.ref(),d=e.ref(!1),y=e.ref(!1),h=e.computed(()=>{const w=l.max-l.min;return(l.modelValue-l.min)/w*100}),S=e.computed(()=>l.formatTooltip?l.formatTooltip(l.modelValue):l.modelValue),V=e.computed(()=>{if(!l.showStops||l.min>=l.max)return[];const w=[],g=(l.max-l.min)/l.step;for(let s=0;s<=g;s++){const r=l.min+s*l.step;r>l.min&&r<l.max&&w.push((r-l.min)/(l.max-l.min)*100)}return w}),k=e.computed(()=>l.marks?Object.keys(l.marks).map(w=>{const g=Number(w),s=l.marks[g],r=(g-l.min)/(l.max-l.min)*100;let v,L={};return typeof s=="string"?v=s:(v=s.label||String(g),L=s.style||{}),{value:g,pos:r,label:v,style:L}}):[]),C=()=>a.value?l.vertical?a.value.offsetHeight:a.value.offsetWidth:0,z=(w,g)=>{if(!a.value)return l.modelValue;const s=a.value.getBoundingClientRect(),r=C();let v;l.vertical?v=(s.bottom-g)/r*100:v=(w-s.left)/r*100,v=Math.max(0,Math.min(100,v));const L=l.min+v/100*(l.max-l.min),K=Math.round(L/l.step)*l.step;return Math.max(l.min,Math.min(l.max,K))},u=w=>{if(l.disabled)return;const g=Math.max(l.min,Math.min(l.max,w));g!==l.modelValue&&(t("update:modelValue",g),t("input",g))},b=w=>{if(l.disabled)return;w.preventDefault(),y.value=!0,d.value=!0;const g=z(w.clientX,w.clientY);u(g),document.addEventListener("mousemove",B),document.addEventListener("mouseup",x)},B=w=>{if(!y.value)return;const g=z(w.clientX,w.clientY);u(g)},x=()=>{y.value=!1,t("change",l.modelValue),document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",x)},M=w=>{if(l.disabled)return;w.preventDefault(),y.value=!0,d.value=!0;const g=w.touches[0],s=z(g.clientX,g.clientY);u(s)},m=w=>{if(!y.value)return;const g=w.touches[0],s=z(g.clientX,g.clientY);u(s)},i=()=>{y.value=!1,t("change",l.modelValue)},p=()=>{l.showTooltip&&(d.value=!0)},F=()=>{y.value||(d.value=!1)};e.onUnmounted(()=>{document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",x)});const I=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("vertical",l.vertical)]),Y=e.computed(()=>l.vertical&&l.height?{height:typeof l.height=="number"?`${l.height}px`:l.height}:{}),U=e.computed(()=>l.vertical?{height:`${h.value}%`}:{width:`${h.value}%`}),E=e.computed(()=>l.vertical?{bottom:`${h.value}%`}:{left:`${h.value}%`});return(w,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(I.value),style:e.normalizeStyle(Y.value)},[e.createElementVNode("div",{ref_key:"sliderRef",ref:a,class:e.normalizeClass(e.unref(n).e("runway")),onMousedown:b,onTouchstart:M},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("bar")),style:e.normalizeStyle(U.value)},null,6),o.showStops?(e.openBlock(),e.createElementBlock("div",bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,(s,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(e.unref(n).e("stop")),style:e.normalizeStyle(o.vertical?{bottom:`${s}%`}:{left:`${s}%`})},null,6))),128))])):e.createCommentVNode("",!0),k.value.length>0?(e.openBlock(),e.createElementBlock("div",Ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.value,class:e.normalizeClass(e.unref(n).e("mark")),style:e.normalizeStyle(o.vertical?{bottom:`${s.pos}%`}:{left:`${s.pos}%`,...s.style})},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("mark-text"))},e.toDisplayString(s.label),3)],6))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"buttonRef",ref:c,class:e.normalizeClass(e.unref(n).e("button-wrapper")),style:e.normalizeStyle(E.value),onMouseenter:p,onMouseleave:F,onTouchmove:m,onTouchend:i},[o.showTooltip&&d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("tooltip"))},e.toDisplayString(S.value),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("button"))},null,2)],38)],34)],6))}}),Bt=["src"],Et={key:0,class:"status-uploading"},xt={class:"progress-circle"},wt={class:"progress-text"},zt={key:1,class:"status-error"},Nt={key:2,class:"status-success"},Dt={key:0,class:"action-preview"},St=["onClick"],Mt=["disabled"],$t={class:"progress-text"},Tt=["onClick"],Ft=["src"],Rt={key:0,class:"action-success"},Lt=["onClick"],It=["multiple","accept","disabled"],Pt=e.defineComponent({name:"XUpload",__name:"index",props:{action:{default:"#"},headers:{},data:{},multiple:{type:Boolean,default:!1},accept:{},limit:{},disabled:{type:Boolean,default:!1},drag:{type:Boolean,default:!1},listType:{default:"text"},autoUpload:{type:Boolean,default:!0},fileList:{default:()=>[]},showFileList:{type:Boolean,default:!0},withCredentials:{type:Boolean,default:!1},name:{default:"file"},httpRequest:{},beforeUpload:{},beforeRemove:{},onSuccess:{},onError:{},onProgress:{},onChange:{},onRemove:{},onExceed:{}},emits:["update:fileList","success","error","progress","change","remove","exceed"],setup(o,{expose:f,emit:l}){const t=o,n=l,a=H.useNamespace("upload");e.useSlots();const c=e.ref(),d=e.ref([...t.fileList]),y=e.ref(!1);let h=1;const S=()=>Date.now()+h++,V=E=>{var s;const w=(s=E.name.split(".").pop())==null?void 0:s.toLowerCase(),g={pdf:"📄",doc:"📝",docx:"📝",xls:"📊",xlsx:"📊",ppt:"📽️",pptx:"📽️",zip:"📦",rar:"📦",mp3:"🎵",mp4:"🎬",default:"📁"};return g[w||""]||g.default},k=e.computed(()=>t.limit?d.value.length<t.limit:!0),C=e.computed(()=>[a.b(),a.is("disabled",t.disabled),a.is("drag",t.drag),a.m(t.listType)]),z=E=>{const w=E.target.files;!w||w.length===0||(u(Array.from(w)),c.value&&(c.value.value=""))},u=async E=>{var w,g;if(t.limit&&d.value.length+E.length>t.limit){n("exceed",E,d.value),(w=t.onExceed)==null||w.call(t,E,d.value);return}for(const s of E){if(t.beforeUpload&&await t.beforeUpload(s,E)===!1)continue;const r={name:s.name,size:s.size,status:"ready",percentage:0,uid:S(),raw:s};s.type.startsWith("image/")&&(r.thumbUrl=await b(s),r.url=r.thumbUrl),d.value.push(r),n("update:fileList",d.value),n("change",r,d.value),(g=t.onChange)==null||g.call(t,r,d.value),t.autoUpload&&B(r)}},b=E=>new Promise(w=>{const g=new FileReader;g.onload=s=>{var r;w((r=s.target)==null?void 0:r.result)},g.readAsDataURL(E)}),B=E=>{if(!E.raw)return;E.status="uploading",(t.httpRequest||x)({action:t.action,headers:t.headers,data:t.data,file:E.raw,name:t.name,withCredentials:t.withCredentials,onProgress:g=>{var s;E.percentage=g.percent,n("progress",g,E,d.value),(s=t.onProgress)==null||s.call(t,g,E,d.value)},onSuccess:g=>{var s;E.status="success",E.response=g,n("success",g,E,d.value),(s=t.onSuccess)==null||s.call(t,g,E,d.value)},onError:g=>{var s;E.status="error",n("error",g,E,d.value),(s=t.onError)==null||s.call(t,g,E,d.value)}})},x=E=>new Promise((w,g)=>{const s=new XMLHttpRequest;s.upload.addEventListener("progress",v=>{v.lengthComputable&&E.onProgress({percent:v.loaded/v.total*100})}),s.addEventListener("load",()=>{if(s.status<200||s.status>=300){E.onError(new Error("Upload failed")),g(new Error("Upload failed"));return}try{const v=JSON.parse(s.responseText);E.onSuccess(v),w(v)}catch{E.onSuccess(s.responseText),w(s.responseText)}}),s.addEventListener("error",()=>{E.onError(new Error("Upload error")),g(new Error("Upload error"))});const r=new FormData;r.append(E.name,E.file),E.data&&Object.keys(E.data).forEach(v=>{r.append(v,E.data[v])}),s.open("POST",E.action,!0),E.withCredentials&&(s.withCredentials=!0),E.headers&&Object.keys(E.headers).forEach(v=>{s.setRequestHeader(v,E.headers[v])}),s.send(r)}),M=async E=>{var g;if(t.beforeRemove&&await t.beforeRemove(E,d.value)===!1)return;const w=d.value.findIndex(s=>s.uid===E.uid);w>-1&&(d.value.splice(w,1),n("update:fileList",d.value),n("remove",E,d.value),(g=t.onRemove)==null||g.call(t,E,d.value))},m=()=>{d.value.filter(E=>E.status==="ready"&&E.raw).forEach(E=>B(E))},i=()=>{d.value=[],n("update:fileList",d.value)},p=()=>{var E;t.disabled||(E=c.value)==null||E.click()},F=E=>{E.preventDefault(),!t.disabled&&t.drag&&(y.value=!0)},I=()=>{y.value=!1},Y=E=>{var g;if(E.preventDefault(),y.value=!1,t.disabled)return;const w=(g=E.dataTransfer)==null?void 0:g.files;w&&w.length>0&&u(Array.from(w))},U=E=>{if(!E)return"0 B";const w=["B","KB","MB","GB"];let g=0,s=E;for(;s>=1024&&g<w.length-1;)s/=1024,g++;return`${s.toFixed(2)} ${w[g]}`};return f({submit:m,clearFiles:i,uploadFiles:d}),(E,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[o.drag?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(a).e("drag"),e.unref(a).is("dragover",y.value)]),onClick:p,onDragover:F,onDragleave:I,onDrop:Y},[e.renderSlot(E.$slots,"drag",{},()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("drag-icon"))},"📁",2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("drag-text"))},[...w[0]||(w[0]=[e.createTextVNode(" 将文件拖到此处,或",-1),e.createElementVNode("em",null,"点击上传",-1)])],2)])],34)):o.listType==="picture-card"?(e.openBlock(),e.createElementBlock("ul",{key:1,class:e.normalizeClass([e.unref(a).e("files"),e.unref(a).e("upload-list")])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,g=>(e.openBlock(),e.createElementBlock("li",{key:g.uid,class:e.normalizeClass([e.unref(a).e("file"),e.unref(a).is(`status-${g.status}`)])},[g.thumbUrl&&g.status!=="uploading"?(e.openBlock(),e.createElementBlock("img",{key:0,src:g.thumbUrl,class:e.normalizeClass(e.unref(a).e("file-image"))},null,10,Bt)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(a).e("file-status"))},[g.status==="uploading"?(e.openBlock(),e.createElementBlock("span",Et,[e.createElementVNode("span",xt,[e.createElementVNode("span",wt,e.toDisplayString(Math.round(g.percentage||0))+"%",1)])])):g.status==="error"?(e.openBlock(),e.createElementBlock("span",zt,"✕")):g.status==="success"?(e.openBlock(),e.createElementBlock("span",Nt,"✓")):e.createCommentVNode("",!0)],2)),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("file-actions"))},[g.url?(e.openBlock(),e.createElementBlock("span",Dt,"👁️")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"action-remove",onClick:s=>M(g)},"🗑️",8,St)],2)],2))),128)),k.value?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass(e.unref(a).e("upload-card")),onClick:p},[e.renderSlot(E.$slots,"trigger",{},()=>[w[1]||(w[1]=e.createElementVNode("span",{class:"upload-icon"},"+",-1))])],2)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("trigger-wrapper")),onClick:p},[e.renderSlot(E.$slots,"trigger",{},()=>[k.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(a).e("trigger")),disabled:o.disabled},[e.renderSlot(E.$slots,"default",{},()=>[w[2]||(w[2]=e.createTextVNode("点击上传",-1))])],10,Mt)):e.createCommentVNode("",!0)])],2),o.showFileList&&d.value.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,class:e.normalizeClass(e.unref(a).e("files"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,g=>(e.openBlock(),e.createElementBlock("li",{key:g.uid,class:e.normalizeClass([e.unref(a).e("file"),e.unref(a).is(`status-${g.status}`)])},[o.listType==="text"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("file-icon"))},e.toDisplayString(V(g)),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("file-name"))},e.toDisplayString(g.name),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("file-size"))},e.toDisplayString(U(g.size)),3),g.status==="uploading"?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("file-progress"))},[e.createElementVNode("span",{class:"progress-bar",style:e.normalizeStyle({width:g.percentage+"%"})},null,4),e.createElementVNode("span",$t,e.toDisplayString(Math.round(g.percentage||0))+"%",1)],2)):e.createCommentVNode("",!0),g.status==="success"?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(a).e("file-success"))},"✓",2)):e.createCommentVNode("",!0),g.status==="error"?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(e.unref(a).e("file-error"))},"✕",2)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("file-actions"))},[e.createElementVNode("span",{class:"action-remove",onClick:s=>M(g)},"✕",8,Tt)],2)],64)):o.listType==="picture"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[g.thumbUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:g.thumbUrl,class:e.normalizeClass(e.unref(a).e("file-thumb"))},null,10,Ft)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(a).e("file-icon"))},e.toDisplayString(V(g)),3)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("file-info"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("file-name"))},e.toDisplayString(g.name),3),g.status==="uploading"?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("file-progress"))},[e.createElementVNode("span",{class:"progress-bar",style:e.normalizeStyle({width:g.percentage+"%"})},null,4)],2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("file-actions"))},[g.status==="success"?(e.openBlock(),e.createElementBlock("span",Rt,"✓")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"action-remove",onClick:s=>M(g)},"✕",8,Lt)],2)],64)):e.createCommentVNode("",!0)],2))),128))],2)):e.createCommentVNode("",!0)],64)),e.createElementVNode("input",{ref_key:"inputRef",ref:c,type:"file",class:e.normalizeClass(e.unref(a).e("input")),multiple:o.multiple,accept:o.accept,disabled:o.disabled,onChange:z},null,42,It),E.$slots.tip?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(a).e("tip"))},[e.renderSlot(E.$slots,"tip")],2)):e.createCommentVNode("",!0)],2))}}),At=["onMousemove","onClick"],Yt=e.defineComponent({name:"XRate",__name:"index",props:{modelValue:{default:0},max:{default:5},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},lowThreshold:{default:2},highThreshold:{default:4},colors:{default:()=>["#F7BA2A","#F7BA2A","#F7BA2A"]},voidColor:{default:"#C6D1DE"},disabledVoidColor:{default:"#EFF2F7"},icon:{default:"★"},voidIcon:{default:"★"},disabledVoidIcon:{default:"★"},showText:{type:Boolean,default:!1},showScore:{type:Boolean,default:!1},textColor:{default:"#1F2D3D"},texts:{default:()=>["极差","失望","一般","满意","惊喜"]},scoreTemplate:{default:"{value}"},size:{default:"default"}},emits:["update:modelValue","change"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("rate"),a=e.ref(-1),c=e.computed(()=>a.value>-1?a.value:l.modelValue),d=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("readonly",l.readonly)]),y=u=>l.disabled?l.disabledVoidColor:u<=l.lowThreshold?l.colors[0]:u<=l.highThreshold?l.colors[1]||l.colors[0]:l.colors[2]||l.colors[1]||l.colors[0],h=u=>{const b=c.value;return b>=u?100:l.allowHalf&&b>=u-.5?50:0},S=u=>h(u)>0?y(c.value):l.disabled?l.disabledVoidColor:l.voidColor,V=e.computed(()=>{if(l.showScore)return l.scoreTemplate.replace("{value}",String(l.modelValue));if(l.showText){const u=Math.min(Math.ceil(l.modelValue||0),l.max)-1;return l.texts[Math.max(0,u)]||""}return""}),k=(u,b)=>{if(!(l.disabled||l.readonly))if(l.allowHalf){const x=b.currentTarget.getBoundingClientRect(),M=b.clientX-x.left<x.width/2;a.value=M?u-.5:u}else a.value=u},C=()=>{l.disabled||l.readonly||(a.value=-1)},z=(u,b)=>{if(l.disabled||l.readonly)return;let B;if(l.allowHalf){const M=b.currentTarget.getBoundingClientRect();B=b.clientX-M.left<M.width/2?u-.5:u}else B=u;t("update:modelValue",B),t("change",B)};return(u,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onMouseleave:C},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("items"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.max,B=>(e.openBlock(),e.createElementBlock("span",{key:B,class:e.normalizeClass(e.unref(n).e("item")),onMousemove:x=>k(B,x),onClick:x=>z(B,x)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("void")),style:e.normalizeStyle({color:o.disabled?o.disabledVoidColor:o.voidColor})},e.toDisplayString(o.disabled?o.disabledVoidIcon:o.voidIcon),7),e.createElementVNode("span",{class:e.normalizeClass([e.unref(n).e("fill"),h(B)>0?"is-active":""]),style:e.normalizeStyle({color:S(B),clipPath:`inset(0 ${100-h(B)}% 0 0)`})},e.toDisplayString(o.icon),7)],42,At))),128))],2),o.showText||o.showScore?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("text")),style:e.normalizeStyle({color:o.textColor})},e.toDisplayString(V.value),7)):e.createCommentVNode("",!0)],34))}}),Ht=["value"],Ot={class:"field-type"},Ut={class:"field-name"},Xt={class:"field-label"},Kt={key:0,class:"field-required"},Wt=["onClick"],qt=["onClick"],Gt=["onClick"],jt=["onClick"],Zt={class:"modal-content"},Qt={class:"modal-body"},Jt={class:"edit-field"},_t={class:"edit-field"},el={class:"edit-field"},tl=["value"],ll={class:"edit-field"},al={class:"edit-field"},nl=e.defineComponent({name:"XDynamicFields",__name:"index",props:{fields:{default:()=>[]},editable:{type:Boolean,default:!0},showSort:{type:Boolean,default:!0},maxFields:{default:20},availableTypes:{default:()=>[{label:"单行文本",value:"input"},{label:"文本域",value:"textarea"},{label:"数字",value:"number"},{label:"下拉选择",value:"select"},{label:"开关",value:"switch"},{label:"日期",value:"date"},{label:"文件",value:"file"}]}},emits:["update:fields","add","remove","sort","update"],setup(o,{emit:f}){const l=o,t=f,n=H.useNamespace("dynamic-fields"),a=e.ref([]),c=e.ref(null),d=e.ref("input"),y=e.computed(()=>[n.b(),n.is("editable",l.editable)]),h=e.computed(()=>a.value.length<l.maxFields);e.watch(()=>l.fields,m=>{a.value=[...m].sort((i,p)=>(i.order||0)-(p.order||0))},{immediate:!0,deep:!0});const S=()=>`field_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,V=()=>{if(!h.value)return;const m={id:S(),name:`field_${a.value.length+1}`,label:"新字段",type:d.value,required:!1,order:a.value.length};a.value.push(m),t("add",m),t("update:fields",a.value)},k=m=>{const i=a.value.findIndex(p=>p.id===m);i!==-1&&(a.value[i],a.value.splice(i,1),t("remove",m),t("update:fields",a.value))},C=m=>{const i=a.value.findIndex(p=>p.id===m);if(i>0){const p=a.value[i];a.value[i]=a.value[i-1],a.value[i-1]=p,u(),t("sort",a.value),t("update:fields",a.value)}},z=m=>{const i=a.value.findIndex(p=>p.id===m);if(i<a.value.length-1){const p=a.value[i];a.value[i]=a.value[i+1],a.value[i+1]=p,u(),t("sort",a.value),t("update:fields",a.value)}},u=()=>{a.value.forEach((m,i)=>{m.order=i})},b=m=>{c.value={...m}},B=()=>{if(c.value){const m=a.value.findIndex(i=>i.id===c.value.id);m!==-1&&(a.value[m]=c.value,t("update",c.value.id,c.value),t("update:fields",a.value)),c.value=null}},x=()=>{c.value=null},M=m=>{const i=l.availableTypes.find(p=>p.value===m);return(i==null?void 0:i.label)||m};return(m,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value)},[o.editable&&h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("add"))},[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":i[0]||(i[0]=p=>d.value=p),class:e.normalizeClass(e.unref(n).e("type-select"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.availableTypes,p=>(e.openBlock(),e.createElementBlock("option",{key:p.value,value:p.value},e.toDisplayString(p.label),9,Ht))),128))],2),[[e.vModelSelect,d.value]]),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n).e("add-btn")),onClick:V}," + 添加字段 ",2)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("list"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,p=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:e.normalizeClass(e.unref(n).e("item"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("info"))},[e.createElementVNode("span",Ot,e.toDisplayString(M(p.type)),1),e.createElementVNode("span",Ut,e.toDisplayString(p.name),1),e.createElementVNode("span",Xt,e.toDisplayString(p.label),1),p.required?(e.openBlock(),e.createElementBlock("span",Kt,"必填")):e.createCommentVNode("",!0)],2),o.editable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("actions"))},[o.showSort?(e.openBlock(),e.createElementBlock("button",{key:0,class:"action-btn",title:"上移",onClick:F=>C(p.id)}," ↑ ",8,Wt)):e.createCommentVNode("",!0),o.showSort?(e.openBlock(),e.createElementBlock("button",{key:1,class:"action-btn",title:"下移",onClick:F=>z(p.id)}," ↓ ",8,qt)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"action-btn",title:"编辑",onClick:F=>b(p)}," ✏️ ",8,Gt),e.createElementVNode("button",{class:"action-btn action-btn--danger",title:"删除",onClick:F=>k(p.id)}," ✕ ",8,jt)],2)):e.createCommentVNode("",!0)],2))),128))],2),a.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("empty"))},[...i[6]||(i[6]=[e.createElementVNode("span",null,"暂无字段配置",-1)])],2)):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(n).e("edit-modal"))},[e.createElementVNode("div",Zt,[e.createElementVNode("div",{class:"modal-header"},[i[7]||(i[7]=e.createElementVNode("span",null,"编辑字段",-1)),e.createElementVNode("button",{class:"close-btn",onClick:x},"✕")]),e.createElementVNode("div",Qt,[e.createElementVNode("div",Jt,[i[8]||(i[8]=e.createElementVNode("label",null,"字段名称",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[1]||(i[1]=p=>c.value.name=p),type:"text",placeholder:"变量名称"},null,512),[[e.vModelText,c.value.name]])]),e.createElementVNode("div",_t,[i[9]||(i[9]=e.createElementVNode("label",null,"字段标签",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[2]||(i[2]=p=>c.value.label=p),type:"text",placeholder:"显示标签"},null,512),[[e.vModelText,c.value.label]])]),e.createElementVNode("div",el,[i[10]||(i[10]=e.createElementVNode("label",null,"字段类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":i[3]||(i[3]=p=>c.value.type=p)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.availableTypes,p=>(e.openBlock(),e.createElementBlock("option",{key:p.value,value:p.value},e.toDisplayString(p.label),9,tl))),128))],512),[[e.vModelSelect,c.value.type]])]),e.createElementVNode("div",ll,[i[11]||(i[11]=e.createElementVNode("label",null,"是否必填",-1)),e.createElementVNode("button",{class:e.normalizeClass(["switch-btn",{"is-on":c.value.required}]),onClick:i[4]||(i[4]=p=>c.value.required=!c.value.required)},e.toDisplayString(c.value.required?"必填":"可选"),3)]),e.createElementVNode("div",al,[i[12]||(i[12]=e.createElementVNode("label",null,"占位文本",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[5]||(i[5]=p=>c.value.placeholder=p),type:"text",placeholder:"输入提示"},null,512),[[e.vModelText,c.value.placeholder]])])]),e.createElementVNode("div",{class:"modal-footer"},[e.createElementVNode("button",{class:"cancel-btn",onClick:x},"取消"),e.createElementVNode("button",{class:"save-btn",onClick:B},"保存")])])],2)):e.createCommentVNode("",!0)],2))}});exports.Checkbox=Be;exports.CheckboxGroup=Ee;exports.DatePicker=qe;exports.DynamicFields=nl;exports.Form=xe;exports.FormItem=we;exports.Input=ie;exports.InputNumber=fe;exports.Radio=ke;exports.RadioButton=Ce;exports.RadioGroup=ye;exports.Rate=Yt;exports.Select=ut;exports.Slider=Vt;exports.Switch=he;exports.Textarea=pe;exports.TimePicker=tt;exports.Transfer=yt;exports.Upload=Pt;