@xto/form 1.0.2 → 1.1.0

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"),se=["type","placeholder","disabled","readonly","maxlength","minlength"],re=e.defineComponent({name:"XInput",__name:"index",props:{modelValue:{default:""},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","input","change","focus","blur","clear"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("input"),p=e.ref(),c=e.ref(!1),k=e.ref(!1),h=e.useSlots(),z=e.computed(()=>l.type==="password"&&l.showPassword&&!l.disabled),y=e.computed(()=>z.value?k.value?"text":"password":l.type),g=e.computed({get:()=>l.modelValue,set:T=>a("update:modelValue",T)}),f=e.computed(()=>String(g.value).length),C=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||h.prefix),n.is("has-suffix",l.suffixIcon||h.suffix||l.clearable||z.value||l.showWordLimit)]),r=T=>{const I=T.target.value;a("update:modelValue",I),a("input",I)},v=T=>{const I=T.target.value;a("change",I)},B=T=>{c.value=!0,a("focus",T)},w=T=>{c.value=!1,a("blur",T)},D=()=>{a("update:modelValue",""),a("clear")},E=()=>{k.value=!k.value};return d({focus:()=>{var T;(T=p.value)==null||T.focus()},blur:()=>{var T;(T=p.value)==null||T.blur()},inputRef:p}),(T,I)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[T.$slots.prefix||o.prefixIcon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.renderSlot(T.$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:p,"onUpdate:modelValue":I[0]||(I[0]=Y=>g.value=Y),type:y.value,placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,class:e.normalizeClass(e.unref(n).e("inner")),onInput:r,onChange:v,onFocus:B,onBlur:w},null,42,se),[[e.vModelDynamic,g.value]]),T.$slots.suffix||o.suffixIcon||o.clearable||z.value||o.showWordLimit?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.renderSlot(T.$slots,"suffix",{},()=>[o.clearable&&g.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("clear")]),onClick:D}," ✕ ",2)):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("password")]),onClick:E},e.toDisplayString(k.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(f.value)+"/"+e.toDisplayString(o.maxlength),3)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)],2))}}),ue=["disabled"],ce=["value","placeholder","disabled"],ie=["disabled"],de=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"),p=e.ref(),c=e.ref(!1),k=e.ref(null),h=e.ref(l.modelValue),z=e.computed(()=>{if(l.precision!==void 0)return l.precision;const s=y(l.step),u=l.modelValue!==void 0?y(l.modelValue):0;return Math.max(s,u)});function y(s){const u=s.toString(),i=u.indexOf(".");return i===-1?0:u.length-i-1}function g(s,u=z.value){if(u===0)return Math.round(s);let i=s.toFixed(u);return Number(i)}function f(s){return s>l.max?l.max:s<l.min?l.min:s}const C=e.computed(()=>l.modelValue),r=e.computed(()=>k.value!==null?k.value:C.value===void 0?"":g(C.value)),v=e.computed(()=>l.disabled?!0:C.value===void 0?l.min!==-1/0:C.value<=l.min),B=e.computed(()=>l.disabled?!0:C.value===void 0?l.max!==1/0:C.value>=l.max),w=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 D(){if(l.disabled||B.value)return;const s=C.value??(l.min===-1/0?0:l.min),u=g(s+l.step),i=f(u);x(i)}function E(){if(l.disabled||v.value)return;const s=C.value??(l.min===-1/0?0:l.min),u=g(s-l.step),i=f(u);x(i)}function x(s){const u=h.value;if(s===void 0)a("update:modelValue",void 0),a("change",void 0,u);else{const i=g(s),F=f(i);if(l.stepStrictly){const K=Math.round((F-l.min)/l.step),N=g(l.min+K*l.step);a("update:modelValue",N),a("change",N,u)}else a("update:modelValue",F),a("change",F,u)}h.value=l.modelValue,k.value=null}function $(s){if(s===""||s==="-")return;let u=s.replace(/[^\d.-]/g,"");const i=u.split(".");i.length>2&&(u=i[0]+"."+i.slice(1).join("")),u.indexOf("-")>0&&(u=u.replace(/-/g,"")),u.lastIndexOf("-")>0&&(u="-"+u.replace(/-/g,""));const F=Number(u);if(!isNaN(F))return F}function T(s){const u=s.target.value;k.value=u}function I(s){if(c.value=!1,k.value!==null){const u=$(k.value);u===void 0?l.valueOnClear!==null?x(l.valueOnClear):k.value=null:x(u)}a("blur",s)}function Y(s){c.value=!0,h.value=l.modelValue,a("focus",s)}function O(s){var u;if(!l.disabled)switch(s.key){case"ArrowUp":s.preventDefault(),D();break;case"ArrowDown":s.preventDefault(),E();break;case"Enter":(u=p.value)==null||u.blur();break}}function b(){k.value=null,l.valueOnClear!==null&&l.valueOnClear!==void 0?x(l.valueOnClear):(a("update:modelValue",void 0),a("change",void 0,h.value),h.value=void 0)}function V(){var s;(s=p.value)==null||s.focus()}function m(){var s;(s=p.value)==null||s.blur()}return e.watch(()=>l.modelValue,s=>{h.value=s,k.value=null},{immediate:!0}),d({focus:V,blur:m,clear:b,increase:D,decrease:E}),(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(w.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",v.value)]),disabled:v.value,onClick:E}," − ",10,ue)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("wrapper"))},[e.createElementVNode("input",{ref_key:"inputRef",ref:p,value:r.value,placeholder:o.placeholder,disabled:o.disabled,class:e.normalizeClass(e.unref(n).e("inner")),type:"text",autocomplete:"off",onInput:T,onFocus:Y,onBlur:I,onKeydown:O},null,42,ce)],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:D}," + ",10,ie)):e.createCommentVNode("",!0)],2))}}),me=["placeholder","disabled","readonly","maxlength","minlength","rows"],fe=e.defineComponent({name:"XTextarea",__name:"index",props:{modelValue:{default:""},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","input","change","focus","blur"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("textarea"),p=e.ref(),c=e.ref(!1),k=e.computed({get:()=>l.modelValue,set:w=>a("update:modelValue",w)}),h=e.computed(()=>String(k.value).length),z=e.computed(()=>{const w={};if(l.resize&&(w.resize=l.resize),l.autosize&&(w.minHeight="auto",typeof l.autosize=="object")){const D=l.autosize.minRows||1,E=l.autosize.maxRows;w.minHeight=`${D*22+12}px`,E&&(w.maxHeight=`${E*22+12}px`)}return w}),y=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("focus",c.value),n.is("exceed",l.maxlength&&h.value>l.maxlength)]),g=w=>{const D=w.target.value;a("update:modelValue",D),a("input",D),l.autosize&&p.value&&(p.value.style.height="auto",p.value.style.height=`${p.value.scrollHeight}px`)},f=w=>{const D=w.target.value;a("change",D)},C=w=>{c.value=!0,a("focus",w)},r=w=>{c.value=!1,a("blur",w)};return d({focus:()=>{var w;(w=p.value)==null||w.focus()},blur:()=>{var w;(w=p.value)==null||w.blur()},textareaRef:p}),(w,D)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value),style:e.normalizeStyle(o.disabled?void 0:{cursor:"text"})},[e.withDirectives(e.createElementVNode("textarea",{ref_key:"textareaRef",ref:p,"onUpdate:modelValue":D[0]||(D[0]=E=>k.value=E),placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,rows:o.rows,style:e.normalizeStyle(z.value),class:e.normalizeClass(e.unref(n).e("inner")),onInput:g,onChange:f,onFocus:C,onBlur:r},null,46,me),[[e.vModelText,k.value]]),o.showWordLimit&&o.maxlength?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(h.value)+"/"+e.toDisplayString(o.maxlength),3)):e.createCommentVNode("",!0)],6))}}),pe=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),p=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})),k=()=>{if(t.disabled)return;const h=n.value?t.inactiveValue:t.activeValue;l("update:modelValue",h),l("change",h)};return(h,z)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(p.value),onClick:k},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("core")),style:e.normalizeStyle(c.value)},null,6),h.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("text"))},[e.renderSlot(h.$slots,"default")],2)):e.createCommentVNode("",!0)],2))}}),ve=["checked","disabled","name","value"],he=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),p=e.computed(()=>!!n),c=e.computed(()=>p.value?n.modelValue.value:t.modelValue),k=e.computed(()=>t.value??t.label),h=e.computed(()=>c.value===k.value),z=e.computed(()=>t.disabled||p.value&&n.disabled),y=e.computed(()=>t.name||(p.value?n.name:void 0)),g=e.computed(()=>[a.b(),a.is("checked",h.value),a.is("disabled",z.value)]),f=()=>{z.value||(p.value?n.changeValue(k.value):(l("update:modelValue",k.value),l("change",k.value)))};return(C,r)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(g.value),onClick:e.withModifiers(f,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("input"))},[e.createElementVNode("input",{type:"radio",checked:h.value,disabled:z.value,name:y.value,value:k.value},null,8,ve)],2),C.$slots.default||o.label?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("label"))},[e.renderSlot(C.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)):e.createCommentVNode("",!0)],2))}}),ge=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=p=>{l("update:modelValue",p),l("change",p)};return e.provide("radioGroup",{modelValue:e.computed(()=>t.modelValue),name:t.name||`radio-group-${Date.now()}`,disabled:t.disabled,changeValue:n}),(p,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(a).b()),role:"radiogroup"},[e.renderSlot(p.$slots,"default")],2))}}),ke=["checked","disabled","value"],ye=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),p=e.computed(()=>n.value?a.modelValue.value:null),c=e.computed(()=>t.value??t.label),k=e.computed(()=>p.value===c.value),h=e.computed(()=>t.disabled||n.value&&a.disabled),z=e.computed(()=>[l.b(),l.is("active",k.value),l.is("disabled",h.value)]),y=()=>{h.value||n.value&&a.changeValue(c.value)};return(g,f)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(z.value),onClick:e.withModifiers(y,["prevent"])},[e.createElementVNode("input",{type:"radio",checked:k.value,disabled:h.value,value:c.value,class:e.normalizeClass(e.unref(l).e("input"))},null,10,ke),e.createElementVNode("span",{class:e.normalizeClass(e.unref(l).e("inner"))},[e.renderSlot(g.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)],2))}}),be=["checked","disabled","name","value"],Ce=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),p=e.computed(()=>!!n),c=e.computed(()=>t.value??t.label),k=e.computed(()=>p.value?n.modelValue.value.includes(c.value):Array.isArray(t.modelValue)?t.modelValue.includes(c.value):!!t.modelValue),h=e.computed(()=>{if(t.disabled)return!0;if(p.value){const g=n.disabled,f=n.min>0&&n.modelValue.value.length<=n.min,C=n.max>0&&n.modelValue.value.length>=n.max;return k.value&&f||!k.value&&C?!0:g}return!1}),z=e.computed(()=>[a.b(),a.is("checked",k.value),a.is("disabled",h.value),a.is("indeterminate",t.indeterminate&&!k.value)]),y=()=>{if(!h.value)if(p.value)n.changeValue(c.value);else{let g;if(Array.isArray(t.modelValue)){const f=t.modelValue.indexOf(c.value);f>-1?g=[...t.modelValue.slice(0,f),...t.modelValue.slice(f+1)]:g=[...t.modelValue,c.value]}else g=!t.modelValue;l("update:modelValue",g),l("change",g)}};return(g,f)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(z.value),onClick:e.withModifiers(y,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("input"))},[e.createElementVNode("input",{type:"checkbox",checked:k.value,disabled:h.value,name:o.name,value:c.value},null,8,be)],2),g.$slots.default||o.label!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("label"))},[e.renderSlot(g.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],2)):e.createCommentVNode("",!0)],2))}}),Ve=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=p=>{const c=[...t.modelValue],k=c.indexOf(p);k>-1?c.splice(k,1):c.push(p),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}),(p,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(a).b()),role:"group"},[e.renderSlot(p.$slots,"default")],2))}}),Be=e.defineComponent({name:"XForm",__name:"index",props:{model:{default:()=>({})},rules:{default:()=>({})},labelWidth:{default:"100px"},labelPosition:{default:"right"},inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"default"}},emits:["validate"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("form"),p=e.ref([]),c=e.computed(()=>[n.b(),n.m(`label-${l.labelPosition}`),n.is("inline",l.inline)]),k=e.computed(()=>({width:typeof l.labelWidth=="number"?`${l.labelWidth}px`:l.labelWidth})),h=r=>{p.value.push(r)},z=r=>{const v=p.value.indexOf(r);v>-1&&p.value.splice(v,1)},y=async()=>{let r=!0;for(const v of p.value)await v.validate()||(r=!1);return r},g=async r=>{const v=Array.isArray(r)?r:[r];let B=!0;for(const w of p.value)v.includes(w.prop)&&(await w.validate()||(B=!1));return B},f=()=>{p.value.forEach(r=>{r.resetField()})},C=r=>{if(r){const v=Array.isArray(r)?r:[r];p.value.forEach(B=>{v.includes(B.prop)&&B.clearValidate()})}else p.value.forEach(v=>{v.clearValidate()})};return e.provide("form",{model:l.model,rules:l.rules,labelWidth:l.labelWidth,labelPosition:l.labelPosition,disabled:l.disabled,size:l.size,labelStyle:k,addField:h,removeField:z,emit:a}),d({validate:y,validateField:g,resetFields:f,clearValidate:C}),(r,v)=>(e.openBlock(),e.createElementBlock("form",{class:e.normalizeClass(c.value),onSubmit:v[0]||(v[0]=e.withModifiers(()=>{},["prevent"]))},[e.renderSlot(r.$slots,"default")],34))}}),Ee=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(""),p=e.ref(""),c=e.computed(()=>t.required?!0:k().some(B=>B.required)),k=()=>{const v=[];return t.rules&&v.push(...t.rules),a&&t.prop&&a.rules[t.prop]&&v.push(...a.rules[t.prop]),v},h=()=>{if(!(!a||!t.prop))return a.model[t.prop]},z=v=>{!a||!t.prop||(a.model[t.prop]=v)},y=async v=>{const B=k();if(B.length===0)return n.value="valid",!0;const w=h();let D=!0,E="";for(const x of B)if(!(v&&x.trigger&&x.trigger!==v)){if(x.required&&(w==null||w===""||Array.isArray(w)&&w.length===0)){D=!1,E=x.message||"该字段为必填项";break}if(x.min!==void 0||x.max!==void 0){const $=typeof w=="string"?w.length:0;if(x.min!==void 0&&$<x.min){D=!1,E=x.message||`长度不能小于 ${x.min} 个字符`;break}if(x.max!==void 0&&$>x.max){D=!1,E=x.message||`长度不能大于 ${x.max} 个字符`;break}}if(x.pattern&&w&&!x.pattern.test(w)){D=!1,E=x.message||"格式不正确";break}if(x.validator)try{await new Promise(($,T)=>{x.validator(x,w,I=>{I?T(I):$()})})}catch($){D=!1,E=$.message||x.message||"验证失败";break}}return n.value=D?"valid":"invalid",p.value=E,a&&t.prop&&a.emit("validate",t.prop,D,E),D},g=()=>{z(void 0),f()},f=()=>{n.value="",p.value=""},C=e.computed(()=>[l.b(),l.is("required",c.value),l.is("error",n.value==="invalid"),l.is("success",n.value==="valid")]),r=e.computed(()=>{const v=t.labelWidth??(a==null?void 0:a.labelWidth)??"100px";return{width:typeof v=="number"?`${v}px`:v}});return e.watch(()=>h(),()=>{n.value==="invalid"&&y("change")}),e.onMounted(()=>{a&&t.prop&&a.addField({prop:t.prop,validate:y,resetField:g,clearValidate:f})}),e.onUnmounted(()=>{a&&t.prop&&a.removeField({prop:t.prop,validate:y,resetField:g,clearValidate:f})}),d({validate:y,resetField:g,clearValidate:f}),(v,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(l).e("label")),style:e.normalizeStyle(r.value)},e.toDisplayString(o.label),7)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).e("content"))},[e.renderSlot(v.$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(p.value),3)):e.createCommentVNode("",!0)],2)],2))}});function xe(o,d){return new Date(o,d+1,0).getDate()}function we(o,d){return new Date(o,d,1).getDay()}function j(o,d){return!o||!d?!1:o.getFullYear()===d.getFullYear()&&o.getMonth()===d.getMonth()&&o.getDate()===d.getDate()}function ze(o,d){return!o||!d?!1:o.getFullYear()===d.getFullYear()&&o.getMonth()===d.getMonth()}function ae(o,d,t){if(!d||!t)return!1;const l=o.getTime();return l>=d.getTime()&&l<=t.getTime()}function De(o,d,t=0){const l=[],a=xe(o,d),n=we(o,d);let p=new Date(o,d,1);const c=(n-t+7)%7;p.setDate(1-c);let k=[],h=new Date(p);for(;(h.getMonth()<=d||h.getMonth()===d&&h.getDate()<=a)&&(k.push(new Date(h)),!(k.length===7&&(l.push(k),k=[],h.getMonth()>d)||(h.setDate(h.getDate()+1),l.length>7))););return k.length>0&&l.push(k),l}function q(o,d="YYYY-MM-DD"){if(!o)return"";const t=o.getFullYear(),l=o.getMonth()+1,a=o.getDate(),n=o.getHours(),p=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(p).padStart(2,"0")).replace(/m/g,String(p)).replace(/ss/g,String(c).padStart(2,"0")).replace(/s/g,String(c))}function J(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 Se(o){const d=new Date(o);return d.setMonth(d.getMonth()-1),d}function Ne(o){const d=new Date(o);return d.setMonth(d.getMonth()+1),d}function Me(o){const d=new Date(o);return d.setFullYear(d.getFullYear()-1),d}function Te(o){const d=new Date(o);return d.setFullYear(d.getFullYear()+1),d}function ne(o){const d=Math.floor(o/10)*10;return[d,d+9]}function ee(o){const d=new Date(o);return d.setHours(0,0,0,0),d}function $e(o,d,t,l){if(d&&d(o))return!0;const a=ee(o).getTime();return!!(t&&a<ee(t).getTime()||l&&a>ee(l).getTime())}const Fe=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],Re=["日","一","二","三","四","五","六"],Le=["onClick","onMouseenter"],Ie=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),p=e.computed(()=>t.viewedMonth.getFullYear()),c=e.computed(()=>t.viewedMonth.getMonth()),k=e.computed(()=>De(p.value,c.value,0)),h=E=>t.modelValue?j(E,t.modelValue):!1,z=E=>j(E,new Date),y=E=>ze(E,t.viewedMonth),g=E=>{if(t.selectionMode!=="range")return!1;const{startDate:x,endDate:$,selecting:T}=t.rangeState||{};if(T&&x){const I=n.value;if(I){const Y=x<I?x:I,O=x<I?I:x;return ae(E,Y,O)}return j(E,x)}return x&&$?ae(E,x,$):!1},f=E=>{if(t.selectionMode!=="range")return!1;const{startDate:x,selecting:$}=t.rangeState||{};return $&&x&&n.value?j(E,x<n.value?x:n.value):x?j(E,x):!1},C=E=>{if(t.selectionMode!=="range")return!1;const{endDate:x,selecting:$}=t.rangeState||{};if($&&n.value){const{startDate:T}=t.rangeState||{};return j(E,T<n.value?n.value:T)}return x?j(E,x):!1},r=E=>$e(E,t.disabledDate,t.minDate,t.maxDate),v=E=>[a.e("cell"),a.is("selected",h(E)),a.is("today",z(E)),a.is("disabled",r(E)),a.is("in-range",g(E)),a.is("range-start",f(E)),a.is("range-end",C(E)),a.is("prev-month",!y(E)&&E.getMonth()<c.value),a.is("next-month",!y(E)&&E.getMonth()>c.value)],B=E=>{r(E)||(t.selectionMode==="range"?l("range-select",E):l("pick",E))},w=E=>{n.value=E},D=()=>{n.value=null};return(E,x)=>(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(Re),$=>(e.openBlock(),e.createElementBlock("th",{key:$,class:e.normalizeClass(e.unref(a).e("header-cell"))},e.toDisplayString($),3))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,($,T)=>(e.openBlock(),e.createElementBlock("tr",{key:T},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($,(I,Y)=>(e.openBlock(),e.createElementBlock("td",{key:Y,class:e.normalizeClass(v(I)),onClick:O=>B(I),onMouseenter:O=>w(I),onMouseleave:D},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("cell-text"))},e.toDisplayString(I.getDate()),3)],42,Le))),128))]))),128))])],2))}}),Pe=["onClick"],Ae=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=y=>t.modelValue?t.modelValue.getFullYear()===t.viewedYear&&t.modelValue.getMonth()===y:!1,p=y=>{const g=new Date;return g.getFullYear()===t.viewedYear&&g.getMonth()===y},c=y=>{if(!t.disabledDate)return!1;const g=new Date(t.viewedYear,y,1),f=new Date(t.viewedYear,y+1,0);return t.disabledDate(g)&&t.disabledDate(f)},k=y=>[a.e("cell"),a.is("selected",n(y)),a.is("current",p(y)),a.is("disabled",c(y))],h=y=>{c(y)||l("pick",y)},z=e.computed(()=>{const y=[];for(let g=0;g<12;g+=3)y.push([g,g+1,g+2]);return y});return(y,g)=>(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(z.value,(f,C)=>(e.openBlock(),e.createElementBlock("tr",{key:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f,r=>(e.openBlock(),e.createElementBlock("td",{key:r,class:e.normalizeClass(k(r)),onClick:v=>h(r)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("cell-text"))},e.toDisplayString(e.unref(Fe)[r]),3)],10,Pe))),128))]))),128))])],2))}}),Ye=["onClick"],He=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()),p=e.computed(()=>ne(t.viewedYear)),c=e.computed(()=>{const[r]=p.value,v=[];v.push(r-1);for(let B=0;B<10;B++)v.push(r+B);return v.push(r+10),v}),k=e.computed(()=>{const r=[];for(let v=0;v<c.value.length;v+=3)r.push(c.value.slice(v,v+3));return r}),h=r=>t.modelValue?t.modelValue.getFullYear()===r:!1,z=r=>r===n.value,y=r=>{const[v,B]=p.value;return r>=v&&r<=B},g=r=>{if(!t.disabledDate)return!1;const v=new Date(r,0,1),B=new Date(r,11,31);return t.disabledDate(v)&&t.disabledDate(B)},f=r=>[a.e("cell"),a.is("selected",h(r)),a.is("current",z(r)),a.is("disabled",g(r)),a.is("in-decade",y(r))],C=r=>{g(r)||l("pick",r)};return(r,v)=>(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(k.value,(B,w)=>(e.openBlock(),e.createElementBlock("tr",{key:w},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B,D=>(e.openBlock(),e.createElementBlock("td",{key:D,class:e.normalizeClass(f(D)),onClick:E=>C(D)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("cell-text"))},e.toDisplayString(D),3)],10,Ye))),128))]))),128))])],2))}}),Oe=["placeholder","disabled","value"],Ke=["placeholder","disabled","value"],Ue=["placeholder","disabled","value"],Xe=e.defineComponent({name:"XDatePicker",__name:"index",props:{modelValue:{default:null},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","change","focus","blur","clear"],setup(o,{expose:d,emit:t}){const l=o,a=t,n=H.useNamespace("date-picker"),p=e.ref(!1),c=e.ref(2e3),k=e.ref(),h=e.ref(),z=e.ref(),y=e.ref({top:"0px",left:"0px"}),g=()=>H.useZIndex().next(),f=e.ref("date"),C=e.ref(new Date),r=e.ref({selecting:!1,startDate:null,endDate:null}),v=e.computed(()=>{if(!l.modelValue)return null;if(l.type==="daterange"){const[R,A]=l.modelValue;return[J(R),J(A)]}return J(l.modelValue)}),B=e.computed(()=>!v.value||Array.isArray(v.value)?"":q(v.value,l.format)),w=e.computed(()=>{if(!Array.isArray(v.value))return"";const[R]=v.value;return R?q(R,l.format):""}),D=e.computed(()=>{if(!Array.isArray(v.value))return"";const[,R]=v.value;return R?q(R,l.format):""}),E=e.computed(()=>Array.isArray(v.value)?null:v.value),x=e.computed(()=>C.value.getFullYear()),$=e.computed(()=>C.value.getMonth()),T=e.computed(()=>ne(x.value)),I=e.computed(()=>f.value==="year"?`${T.value[0]} 年 - ${T.value[1]} 年`:f.value==="month"?`${x.value} 年`:`${x.value} 年 ${$.value+1} 月`),Y=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("range",l.type==="daterange")]),O=e.computed(()=>[n.e("input"),n.is("focus",p.value),n.is("has-value",!!B.value||!!(w.value||D.value))]),b=()=>{l.disabled||l.readonly||(p.value?m():V())},V=()=>{p.value=!0,c.value=g(),e.nextTick(()=>{if(k.value&&h.value){const R=k.value.getBoundingClientRect(),A=h.value.getBoundingClientRect();let W=R.bottom+8,_=R.left;_+A.width>window.innerWidth&&(_=window.innerWidth-A.width-8),W+A.height>window.innerHeight&&(W=R.top-A.height-8),y.value={top:`${W}px`,left:`${_}px`}}}),a("focus",{})},m=()=>{p.value=!1,f.value="date",a("blur",{})},s=R=>{if(l.type==="date"){const A=l.valueFormat?q(R,l.valueFormat):R;a("update:modelValue",A),a("change",A),m()}},u=R=>{if(!r.value.selecting)r.value.selecting=!0,r.value.startDate=R,r.value.endDate=null;else{r.value.selecting=!1,r.value.startDate&&R<r.value.startDate?[r.value.startDate,r.value.endDate]=[R,r.value.startDate]:r.value.endDate=R;const A=l.valueFormat?q(r.value.startDate,l.valueFormat):r.value.startDate,W=l.valueFormat?q(r.value.endDate,l.valueFormat):r.value.endDate;a("update:modelValue",[A,W]),a("change",[A,W]),m()}},i=R=>{if(C.value=new Date(x.value,R,1),l.type==="month"){const A=new Date(x.value,R,1),W=l.valueFormat?q(A,l.valueFormat):A;a("update:modelValue",W),a("change",W),m()}else f.value="date"},F=R=>{if(C.value=new Date(R,$.value,1),l.type==="year"){const A=new Date(R,0,1),W=l.valueFormat?q(A,l.valueFormat):A;a("update:modelValue",W),a("change",W),m()}else f.value="month"},K=()=>{C.value=Se(C.value)},N=()=>{C.value=Ne(C.value)},U=()=>{f.value==="year"?C.value=new Date(x.value-10,$.value,1):C.value=Me(C.value)},M=()=>{f.value==="year"?C.value=new Date(x.value+10,$.value,1):C.value=Te(C.value)},S=()=>{f.value="month"},L=()=>{f.value="year"},P=()=>{a("update:modelValue",null),a("change",null),a("clear"),r.value={selecting:!1,startDate:null,endDate:null}},X=R=>{if(!k.value)return;const A=R.target;k.value.contains(A)||h.value&&h.value.contains(A)||m()};e.watch(()=>l.modelValue,R=>{if(R)if(Array.isArray(v.value)){const[A]=v.value;A&&(C.value=new Date(A))}else v.value&&(C.value=new Date(v.value))},{immediate:!0}),e.watch(p,R=>{R&&(f.value="date",l.type==="daterange"&&(r.value={selecting:!1,startDate:Array.isArray(v.value)?v.value[0]:null,endDate:Array.isArray(v.value)?v.value[1]:null}))});const G=R=>{R.key==="Escape"&&m()};return e.onMounted(()=>{document.addEventListener("click",X),document.addEventListener("keydown",G)}),e.onUnmounted(()=>{document.removeEventListener("click",X),document.removeEventListener("keydown",G)}),d({focus:()=>{var R;return(R=z.value)==null?void 0:R.focus()},blur:()=>{var R;return(R=z.value)==null?void 0:R.blur()}}),(R,A)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:k,class:e.normalizeClass(Y.value)},[o.type!=="daterange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(O.value),onClick:b},[e.createElementVNode("input",{ref_key:"inputRef",ref:z,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:B.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,Oe),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&B.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(O.value),onClick:b},[e.createElementVNode("input",{type:"text",placeholder:o.startPlaceholder,disabled:o.disabled,readonly:!0,value:w.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,Ke),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:D.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,Ue),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&(w.value||D.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:h,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=>f.value==="date"?K():U())}," ‹ ",2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header-title"))},[f.value==="year"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:A[1]||(A[1]=W=>f.value="month")},e.toDisplayString(I.value),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",{onClick:L},e.toDisplayString(x.value)+" 年",1),f.value==="date"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:S},e.toDisplayString($.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=>f.value==="date"?N():M())}," › ",2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("content"))},[f.value==="date"?(e.openBlock(),e.createBlock(Ie,{key:0,"model-value":E.value,"viewed-month":C.value,"disabled-date":o.disabledDate,"min-date":o.minDate?e.unref(J)(o.minDate):null,"max-date":o.maxDate?e.unref(J)(o.maxDate):null,"selection-mode":o.type==="daterange"?"range":"single","range-state":r.value,onPick:s,onRangeSelect:u},null,8,["model-value","viewed-month","disabled-date","min-date","max-date","selection-mode","range-state"])):f.value==="month"?(e.openBlock(),e.createBlock(Ae,{key:1,"model-value":E.value,"viewed-year":x.value,"disabled-date":o.disabledDate,onPick:i},null,8,["model-value","viewed-year","disabled-date"])):f.value==="year"?(e.openBlock(),e.createBlock(He,{key:2,"model-value":E.value,"viewed-year":x.value,"disabled-date":o.disabledDate,onPick:F},null,8,["model-value","viewed-year","disabled-date"])):e.createCommentVNode("",!0)],2)],6),[[e.vShow,p.value]])]),_:1})]))],2))}});function Z(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 te(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 Q(o){return String(o).padStart(2,"0")}const We=["onClick"],Ge=["onClick"],qe=["onClick"],je=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),p=e.ref(0),c=e.ref(0),k=e.ref(),h=e.ref(),z=e.ref(),y=e.computed(()=>t.format.includes("ss")||t.format.includes("s")),g=e.computed(()=>{const N=[],U=Math.max(1,t.hourStep);for(let M=0;M<24;M+=U)N.push(M);return N}),f=e.computed(()=>{const N=[],U=Math.max(1,t.minuteStep);for(let M=0;M<60;M+=U)N.push(M);return N}),C=e.computed(()=>{const N=[],U=Math.max(1,t.secondStep);for(let M=0;M<60;M+=U)N.push(M);return N}),r=e.computed(()=>t.disabledHours?new Set(t.disabledHours()):new Set),v=e.computed(()=>t.disabledMinutes?new Set(t.disabledMinutes(n.value)):new Set),B=e.computed(()=>t.disabledSeconds?new Set(t.disabledSeconds(n.value,p.value)):new Set),w=e.computed(()=>`${Q(n.value)}:${Q(p.value)}${y.value?":"+Q(c.value):""}`),D=N=>r.value.has(N),E=N=>v.value.has(N),x=N=>B.value.has(N),$=N=>{D(N)||(n.value=N,V(k.value,Y(N)))},T=N=>{E(N)||(p.value=N,V(h.value,O(N)))},I=N=>{x(N)||(c.value=N,V(z.value,b(N)))},Y=N=>g.value.indexOf(N),O=N=>f.value.indexOf(N),b=N=>C.value.indexOf(N),V=(N,U)=>{if(!N)return;const M=32,L=U*M+84-200/2+M/2;N.scrollTop=Math.max(0,L)},m=()=>{if(!k.value)return;const N=k.value.scrollTop,U=Math.round((N-84+100)/32),M=g.value[Math.max(0,Math.min(U,g.value.length-1))];M!==void 0&&!D(M)&&(n.value=M)},s=()=>{if(!h.value)return;const N=h.value.scrollTop,U=Math.round((N-84+100)/32),M=f.value[Math.max(0,Math.min(U,f.value.length-1))];M!==void 0&&!E(M)&&(p.value=M)},u=()=>{if(!z.value)return;const N=z.value.scrollTop,U=Math.round((N-84+100)/32),M=C.value[Math.max(0,Math.min(U,C.value.length-1))];M!==void 0&&!x(M)&&(c.value=M)},i=()=>{const N=t.modelValue?new Date(t.modelValue):new Date;N.setHours(n.value,p.value,c.value,0),l("confirm",N)},F=()=>{l("cancel")},K=()=>{if(t.modelValue)n.value=t.modelValue.getHours(),p.value=t.modelValue.getMinutes(),c.value=t.modelValue.getSeconds();else{const N=new Date;n.value=N.getHours(),p.value=N.getMinutes(),c.value=N.getSeconds()}e.nextTick(()=>{V(k.value,Y(n.value)),V(h.value,O(p.value)),y.value&&V(z.value,b(c.value))})};return e.watch(()=>t.modelValue,()=>{K()},{immediate:!0}),e.onMounted(()=>{K()}),(N,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:k,class:e.normalizeClass(e.unref(a).e("list")),onScroll:m},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,M=>(e.openBlock(),e.createElementBlock("div",{key:M,class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("selected",n.value===M),e.unref(a).is("disabled",D(M))]),onClick:S=>$(M)},e.toDisplayString(e.unref(Q)(M)),11,We))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2)],34),e.createElementVNode("div",{ref_key:"minuteListRef",ref:h,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(f.value,M=>(e.openBlock(),e.createElementBlock("div",{key:M,class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("selected",p.value===M),e.unref(a).is("disabled",E(M))]),onClick:S=>T(M)},e.toDisplayString(e.unref(Q)(M)),11,Ge))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2)],34),y.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"secondListRef",ref:z,class:e.normalizeClass(e.unref(a).e("list")),onScroll:u},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("padding"))},null,2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,M=>(e.openBlock(),e.createElementBlock("div",{key:M,class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("selected",c.value===M),e.unref(a).is("disabled",x(M))]),onClick:S=>I(M)},e.toDisplayString(e.unref(Q)(M)),11,qe))),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(w.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))}}),Ze=["placeholder","disabled","value"],Qe=["placeholder","disabled","value"],Je=["placeholder","disabled","value"],_e=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"),p=()=>H.useZIndex().next(),c=e.ref(!1),k=e.ref(2e3),h=e.ref(),z=e.ref(),y=e.ref(),g=e.ref({top:"0px",left:"0px"}),f=e.ref({startTime:null,endTime:null}),C=e.ref("start"),r=e.computed(()=>{if(!l.modelValue)return null;if(l.type==="timerange"){const[u,i]=l.modelValue;return[te(u),te(i)]}return te(l.modelValue)}),v=e.computed(()=>!r.value||Array.isArray(r.value)?"":Z(r.value,l.format)),B=e.computed(()=>{if(!Array.isArray(r.value))return"";const[u]=r.value;return u?Z(u,l.format):""}),w=e.computed(()=>{if(!Array.isArray(r.value))return"";const[,u]=r.value;return u?Z(u,l.format):""}),D=e.computed(()=>l.type==="timerange"?C.value==="start"?f.value.startTime:f.value.endTime||f.value.startTime:r.value),E=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("range",l.type==="timerange")]),x=e.computed(()=>[n.e("input"),n.is("focus",c.value)]),$=()=>{l.disabled||l.readonly||(c.value?Y():I())},T=u=>{l.disabled||l.readonly||(C.value=u,c.value||I())},I=()=>{c.value=!0,k.value=p(),e.nextTick(()=>{if(h.value&&z.value){const u=h.value.getBoundingClientRect(),i=z.value.getBoundingClientRect();let F=u.bottom+8,K=u.left;K+i.width>window.innerWidth&&(K=window.innerWidth-i.width-8),F+i.height>window.innerHeight&&(F=u.top-i.height-8),g.value={top:`${F}px`,left:`${K}px`}}}),a("focus",{})},Y=()=>{c.value=!1,a("blur",{})},O=u=>{if(l.type==="timerange")if(C.value==="start")f.value.startTime=u,C.value="end",f.value.endTime&&f.value.endTime<u&&(f.value.endTime=null);else{f.value.startTime&&u<f.value.startTime?(f.value.endTime=f.value.startTime,f.value.startTime=u):f.value.endTime=u;const i=l.valueFormat?Z(f.value.startTime,l.valueFormat):f.value.startTime,F=l.valueFormat?Z(f.value.endTime,l.valueFormat):f.value.endTime;a("update:modelValue",[i,F]),a("change",[i,F]),Y()}else{const i=l.valueFormat?Z(u,l.valueFormat):u;a("update:modelValue",i),a("change",i),Y()}},b=()=>{Y()},V=()=>{a("update:modelValue",null),a("change",null),a("clear"),f.value={startTime:null,endTime:null}},m=u=>{if(!h.value)return;const i=u.target;h.value.contains(i)||z.value&&z.value.contains(i)||Y()};e.watch(()=>l.modelValue,u=>{if(u&&l.type==="timerange"){const[i,F]=r.value;f.value={startTime:i,endTime:F}}},{immediate:!0}),e.watch(c,u=>{u&&l.type==="timerange"&&(f.value={startTime:Array.isArray(r.value)?r.value[0]:null,endTime:Array.isArray(r.value)?r.value[1]:null},C.value="start")});const s=u=>{u.key==="Escape"&&Y()};return e.onMounted(()=>{document.addEventListener("click",m),document.addEventListener("keydown",s)}),e.onUnmounted(()=>{document.removeEventListener("click",m),document.removeEventListener("keydown",s)}),d({focus:()=>{var u;return(u=y.value)==null?void 0:u.focus()},blur:()=>{var u;return(u=y.value)==null?void 0:u.blur()}}),(u,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:h,class:e.normalizeClass(E.value)},[o.type!=="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(x.value),onClick:$},[e.createElementVNode("input",{ref_key:"inputRef",ref:y,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:v.value,class:e.normalizeClass(e.unref(n).e("input-inner"))},null,10,Ze),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&v.value&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(V,["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:$},[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",C.value==="start")]),onClick:i[0]||(i[0]=e.withModifiers(F=>T("start"),["stop"]))},null,10,Qe),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:w.value,class:e.normalizeClass([e.unref(n).e("input-inner"),e.unref(n).is("active",C.value==="end")]),onClick:i[1]||(i[1]=e.withModifiers(F=>T("end"),["stop"]))},null,10,Je),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&(B.value||w.value)&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(V,["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:z,class:e.normalizeClass(e.unref(n).e("popper")),style:e.normalizeStyle({zIndex:k.value,...g.value})},[o.type==="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("popper-header"))},e.toDisplayString(C.value==="start"?"请选择开始时间":"请选择结束时间"),3)):e.createCommentVNode("",!0),e.createVNode(je,{"model-value":D.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:b},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 et(o,d,t){return t?t(d,o):o.toLowerCase().includes(d.toLowerCase())}function oe(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=oe(a[l],d,t,l);if(n)return n}}return null}function le(o,d,t="value",l="children"){const a=[];function n(p){for(const c of p){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 tt(o,d="children"){const t=[];function l(a,n=0,p=null){for(const c of a)t.push({...c,level:n,parent:p}),c[d]&&c[d].length>0&&l(c[d],n+1,c)}return l(o),t}const lt=["onClick"],at=["placeholder","disabled","readonly","value"],nt=["onClick"],ot=["onClick"],st=e.defineComponent({name:"XSelect",__name:"index",props:{modelValue:{default:""},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","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(),p=e.ref(),c=e.ref(),k=e.ref(),h=e.ref(!1),z=e.ref(2e3),y=e.ref(""),g=e.ref(-1),f=e.ref({top:"0px",left:"0px"}),C=e.computed(()=>t.type==="multiple"),r=e.computed(()=>t.type==="cascader"),v=e.ref([]),B=e.computed(()=>C.value?Array.isArray(t.modelValue)?t.modelValue:[]:r.value?Array.isArray(t.modelValue)?t.modelValue:t.modelValue?[t.modelValue]:[]:t.modelValue!==""&&t.modelValue!==null&&t.modelValue!==void 0?[t.modelValue]:[]),w=e.computed(()=>r.value?tt(t.options,t.childrenKey):t.options.map(S=>({...S,level:0}))),D=e.computed(()=>!t.filterable||!y.value?w.value:w.value.filter(S=>{const L=S[t.labelKey]||"";return et(L,y.value,t.filterMethod)})),E=e.computed(()=>{const S=[];for(const L of B.value){const P=oe(t.options,L,t.valueKey,t.childrenKey);P&&S.push(P)}return S}),x=e.computed(()=>{if(C.value)return"";if(r.value)return le(t.options,B.value[B.value.length-1],t.valueKey,t.childrenKey).map(P=>P[t.labelKey]).join(t.separator);const S=E.value[0];return S?S[t.labelKey]:""}),$=e.computed(()=>C.value?E.value:[]),T=e.computed(()=>t.collapseTags?$.value.slice(0,t.maxCollapseTags):$.value),I=e.computed(()=>t.collapseTags?Math.max(0,$.value.length-t.maxCollapseTags):0),Y=e.computed(()=>[a.b(),a.m(t.size),a.is("disabled",t.disabled),a.is("multiple",C.value),a.is("cascader",r.value),a.is("filterable",t.filterable),a.is("focus",h.value)]),O=()=>{if(!p.value||!k.value||!h.value)return;const S=p.value.getBoundingClientRect(),L=k.value.getBoundingClientRect();let P=S.bottom+4,X=S.left;X+L.width>window.innerWidth&&(X=window.innerWidth-L.width-8),P+L.height>window.innerHeight&&(P=S.top-L.height-4),f.value={top:`${P}px`,left:`${X}px`}},b=()=>{t.disabled||(h.value=!0,z.value=n(),y.value="",e.nextTick(()=>{O()}),l("visible-change",!0),l("focus",{}))},V=()=>{h.value=!1,y.value="",v.value=[],l("visible-change",!1),l("blur",{})},m=S=>{if(!S.disabled)if(C.value){const L=[...B.value],P=S[t.valueKey],X=L.indexOf(P);if(X>-1)L.splice(X,1),l("remove-tag",P);else{if(t.multipleLimit>0&&L.length>=t.multipleLimit)return;L.push(P)}l("update:modelValue",L),l("change",L)}else if(r.value)if(S.children&&S.children.length>0){const L=le(t.options,S[t.valueKey],t.valueKey,t.childrenKey);v.value=L}else{const P=le(t.options,S[t.valueKey],t.valueKey,t.childrenKey).map(X=>X[t.valueKey]);l("update:modelValue",P),l("change",P),V()}else l("update:modelValue",S[t.valueKey]),l("change",S[t.valueKey]),V()},s=S=>{const L=B.value.filter(P=>P!==S[t.valueKey]);l("update:modelValue",L),l("change",L),l("remove-tag",S[t.valueKey])},u=()=>{const S=C.value?[]:"";l("update:modelValue",S),l("change",S),l("clear")},i=S=>{y.value=S.target.value},F=S=>{if(!p.value)return;const L=S.target;p.value.contains(L)||k.value&&k.value.contains(L)||V()},K=S=>{if(S.key==="Escape")V();else if(S.key==="Enter"&&h.value){const L=D.value[g.value];L&&m(L)}else S.key==="ArrowDown"&&h.value?(S.preventDefault(),g.value=Math.min(g.value+1,D.value.length-1)):S.key==="ArrowUp"&&h.value&&(S.preventDefault(),g.value=Math.max(g.value-1,0))},N=S=>B.value.includes(S[t.valueKey]),U=(S,L)=>[a.e("option"),a.is("selected",N(S)),a.is("disabled",S.disabled===!0),a.is("hover",g.value===L),a.is("group",!!(S.children&&S.children.length>0))],M=e.computed(()=>{if(!r.value)return[];const S=[t.options];for(const L of v.value)L.children&&L.children.length>0&&S.push(L.children);return S});return e.onMounted(()=>{document.addEventListener("click",F),document.addEventListener("keydown",K)}),e.onUnmounted(()=>{document.removeEventListener("click",F),document.removeEventListener("keydown",K),document.removeEventListener("scroll",O,!0)}),e.watch(h,S=>{S?document.addEventListener("scroll",O,!0):document.removeEventListener("scroll",O,!0)}),e.provide("select",{selectedValues:B,handleSelect:m,isSelected:N}),(S,L)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"selectRef",ref:p,class:e.normalizeClass(Y.value)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("wrapper")),onClick:L[0]||(L[0]=P=>h.value?V():b())},[C.value&&$.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(T.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=>s(P),["stop"])},"×",10,lt)],2))),128)),I.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("tag-count"))}," +"+e.toDisplayString(I.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:C.value&&$.value.length>0?"":o.placeholder,disabled:o.disabled,readonly:!o.filterable||!h.value,value:o.filterable&&h.value?y.value:x.value,onInput:i},null,42,at),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("suffix"))},[o.clearable&&B.value.length>0&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("clear")),onClick:e.withModifiers(u,["stop"])},"×",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([e.unref(a).e("arrow"),e.unref(a).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:k,class:e.normalizeClass([e.unref(a).e("popper"),e.unref(a).is("cascader",r.value)]),style:e.normalizeStyle({zIndex:z.value,...f.value})},[r.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(M.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,R)=>(e.openBlock(),e.createElementBlock("div",{key:G[o.valueKey],class:e.normalizeClass(U(G,R)),onClick:A=>m(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,nt))),128))],2))),128))],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[D.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("empty"))},e.toDisplayString(y.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(D.value,(P,X)=>(e.openBlock(),e.createElementBlock("div",{key:P[o.valueKey],class:e.normalizeClass(U(P,X)),onClick:G=>m(P)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("option-label"))},e.toDisplayString(P[o.labelKey]),3),N(P)?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("option-check"))},"✓",2)):e.createCommentVNode("",!0)],10,ot))),128))],2))],64))],6),[[e.vShow,h.value]])]),_:1})]))],2))}}),rt=["checked","indeterminate"],ut=["placeholder"],ct=["onClick"],it=["checked","disabled","onChange"],dt=["disabled"],mt=["disabled"],ft=["checked","indeterminate"],pt=["placeholder"],vt=["onClick"],ht=["checked","disabled","onChange"],gt=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"),p=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"}),k=e.computed(()=>{var s;return((s=l.props)==null?void 0:s.disabled)||"disabled"}),h=e.ref(""),z=e.ref(""),y=e.ref([]),g=e.ref([]),f=s=>s[p.value],C=s=>s[c.value],r=s=>s[k.value]||!1,v=e.computed(()=>l.data.filter(s=>{const u=f(s);return l.modelValue.includes(u)?!1:l.filterable&&h.value?l.filterMethod?l.filterMethod(h.value,s):C(s).toLowerCase().includes(h.value.toLowerCase()):!0})),B=e.computed(()=>{const s=l.modelValue;let u=l.data.filter(i=>{const F=f(i);return s.includes(F)});return l.filterable&&z.value&&(u=u.filter(i=>l.filterMethod?l.filterMethod(z.value,i):C(i).toLowerCase().includes(z.value.toLowerCase()))),l.targetOrder==="push"?u.sort((i,F)=>s.indexOf(f(i))-s.indexOf(f(F))):l.targetOrder==="unshift"?u.sort((i,F)=>s.indexOf(f(F))-s.indexOf(f(i))):u}),w=e.computed(()=>v.value.filter(s=>y.value.includes(f(s))).every(s=>r(s))),D=e.computed(()=>B.value.filter(s=>g.value.includes(f(s))).every(s=>r(s))),E=e.computed(()=>y.value.length===0||w.value),x=e.computed(()=>g.value.length===0||D.value),$=()=>{const s=y.value.filter(i=>{const F=l.data.find(K=>f(K)===i);return F&&!r(F)});let u;l.targetOrder==="unshift"?u=[...s,...l.modelValue]:u=[...l.modelValue,...s],a("update:modelValue",u),a("change",u,"right",s),y.value=[]},T=()=>{const s=g.value.filter(i=>{const F=l.data.find(K=>f(K)===i);return F&&!r(F)}),u=l.modelValue.filter(i=>!s.includes(i));a("update:modelValue",u),a("change",u,"left",s),g.value=[]},I=s=>{const u=y.value.indexOf(s);u>-1?y.value.splice(u,1):y.value.push(s),a("left-check-change",[...y.value])},Y=s=>{const u=g.value.indexOf(s);u>-1?g.value.splice(u,1):g.value.push(s),a("right-check-change",[...g.value])},O=()=>{y.value.length===v.value.filter(s=>!r(s)).length?y.value=[]:y.value=v.value.filter(s=>!r(s)).map(s=>f(s)),a("left-check-change",[...y.value])},b=()=>{g.value.length===B.value.filter(s=>!r(s)).length?g.value=[]:g.value=B.value.filter(s=>!r(s)).map(s=>f(s)),a("right-check-change",[...g.value])},V=s=>{s==="left"?h.value="":z.value=""},m=e.computed(()=>[n.b()]);return d({clearQuery:V}),(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.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:y.value.length>0&&y.value.length===v.value.filter(i=>!r(i)).length,indeterminate:y.value.length>0&&y.value.length<v.value.filter(i=>!r(i)).length,onChange:O},null,40,rt),e.createElementVNode("span",null,e.toDisplayString(o.titles[0]),1)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(y.value.length)+" / "+e.toDisplayString(v.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":u[0]||(u[0]=i=>h.value=i),placeholder:o.filterPlaceholder,class:e.normalizeClass(e.unref(n).e("filter-input"))},null,10,ut),[[e.vModelText,h.value]]),h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("filter-clear")),onClick:u[1]||(u[1]=i=>V("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(v.value,i=>(e.openBlock(),e.createElementBlock("div",{key:f(i),class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("disabled",r(i)),e.unref(n).is("checked",y.value.includes(f(i)))]),onClick:F=>!r(i)&&I(f(i))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:y.value.includes(f(i)),disabled:r(i),onClick:u[2]||(u[2]=e.withModifiers(()=>{},["stop"])),onChange:F=>I(f(i))},null,40,it),e.createElementVNode("span",null,e.toDisplayString(C(i)),1)],2)],10,ct))),128)),v.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("empty"))},[e.renderSlot(s.$slots,"left-empty",{},()=>[u[6]||(u[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",E.value)]),disabled:E.value,onClick:$},e.toDisplayString(o.buttonTexts[0]||">"),11,dt),e.createElementVNode("button",{class:e.normalizeClass([e.unref(n).e("button"),e.unref(n).is("disabled",x.value)]),disabled:x.value,onClick:T},e.toDisplayString(o.buttonTexts[1]||"<"),11,mt)],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:g.value.length>0&&g.value.length===B.value.filter(i=>!r(i)).length,indeterminate:g.value.length>0&&g.value.length<B.value.filter(i=>!r(i)).length,onChange:b},null,40,ft),e.createElementVNode("span",null,e.toDisplayString(o.titles[1]),1)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(g.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":u[3]||(u[3]=i=>z.value=i),placeholder:o.filterPlaceholder,class:e.normalizeClass(e.unref(n).e("filter-input"))},null,10,pt),[[e.vModelText,z.value]]),z.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("filter-clear")),onClick:u[4]||(u[4]=i=>V("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:f(i),class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("disabled",r(i)),e.unref(n).is("checked",g.value.includes(f(i)))]),onClick:F=>!r(i)&&Y(f(i))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:g.value.includes(f(i)),disabled:r(i),onClick:u[5]||(u[5]=e.withModifiers(()=>{},["stop"])),onChange:F=>Y(f(i))},null,40,ht),e.createElementVNode("span",null,e.toDisplayString(C(i)),1)],2)],10,vt))),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",{},()=>[u[7]||(u[7]=e.createTextVNode("暂无数据",-1))])],2)):e.createCommentVNode("",!0)],2)],2)],2))}}),kt={key:0},yt={key:1},bt=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(),p=e.ref(),c=e.ref(!1),k=e.ref(!1),h=e.computed(()=>{const V=t.max-t.min;return(t.modelValue-t.min)/V*100}),z=e.computed(()=>t.formatTooltip?t.formatTooltip(t.modelValue):t.modelValue),y=e.computed(()=>{if(!t.showStops||t.min>=t.max)return[];const V=[],m=(t.max-t.min)/t.step;for(let s=0;s<=m;s++){const u=t.min+s*t.step;u>t.min&&u<t.max&&V.push((u-t.min)/(t.max-t.min)*100)}return V}),g=e.computed(()=>t.marks?Object.keys(t.marks).map(V=>{const m=Number(V),s=t.marks[m],u=(m-t.min)/(t.max-t.min)*100;let i,F={};return typeof s=="string"?i=s:(i=s.label||String(m),F=s.style||{}),{value:m,pos:u,label:i,style:F}}):[]),f=()=>n.value?t.vertical?n.value.offsetHeight:n.value.offsetWidth:0,C=(V,m)=>{if(!n.value)return t.modelValue;const s=n.value.getBoundingClientRect(),u=f();let i;t.vertical?i=(s.bottom-m)/u*100:i=(V-s.left)/u*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))},r=V=>{if(t.disabled)return;const m=Math.max(t.min,Math.min(t.max,V));m!==t.modelValue&&(l("update:modelValue",m),l("input",m))},v=V=>{if(t.disabled)return;V.preventDefault(),k.value=!0,c.value=!0;const m=C(V.clientX,V.clientY);r(m),document.addEventListener("mousemove",B),document.addEventListener("mouseup",w)},B=V=>{if(!k.value)return;const m=C(V.clientX,V.clientY);r(m)},w=()=>{k.value=!1,l("change",t.modelValue),document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",w)},D=V=>{if(t.disabled)return;V.preventDefault(),k.value=!0,c.value=!0;const m=V.touches[0],s=C(m.clientX,m.clientY);r(s)},E=V=>{if(!k.value)return;const m=V.touches[0],s=C(m.clientX,m.clientY);r(s)},x=()=>{k.value=!1,l("change",t.modelValue)},$=()=>{t.showTooltip&&(c.value=!0)},T=()=>{k.value||(c.value=!1)};e.onUnmounted(()=>{document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",w)});const I=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:`${h.value}%`}:{width:`${h.value}%`}),b=e.computed(()=>t.vertical?{bottom:`${h.value}%`}:{left:`${h.value}%`});return(V,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(I.value),style:e.normalizeStyle(Y.value)},[e.createElementVNode("div",{ref_key:"sliderRef",ref:n,class:e.normalizeClass(e.unref(a).e("runway")),onMousedown:v,onTouchstart:D},[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",kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(s,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:e.normalizeClass(e.unref(a).e("stop")),style:e.normalizeStyle(o.vertical?{bottom:`${s}%`}:{left:`${s}%`})},null,6))),128))])):e.createCommentVNode("",!0),g.value.length>0?(e.openBlock(),e.createElementBlock("div",yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.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:p,class:e.normalizeClass(e.unref(a).e("button-wrapper")),style:e.normalizeStyle(b.value),onMouseenter:$,onMouseleave:T,onTouchmove:E,onTouchend:x},[o.showTooltip&&c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("tooltip"))},e.toDisplayString(z.value),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("button"))},null,2)],38)],34)],6))}}),Ct=["src"],Vt={key:0,class:"status-uploading"},Bt={class:"progress-circle"},Et={class:"progress-text"},xt={key:1,class:"status-error"},wt={key:2,class:"status-success"},zt={key:0,class:"action-preview"},Dt=["onClick"],St=["disabled"],Nt={class:"progress-text"},Mt=["onClick"],Tt=["src"],$t={key:0,class:"action-success"},Ft=["onClick"],Rt=["multiple","accept","disabled"],Lt=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 p=e.ref(),c=e.ref([...l.fileList]),k=e.ref(!1);let h=1;const z=()=>Date.now()+h++,y=b=>{var s;const V=(s=b.name.split(".").pop())==null?void 0:s.toLowerCase(),m={pdf:"📄",doc:"📝",docx:"📝",xls:"📊",xlsx:"📊",ppt:"📽️",pptx:"📽️",zip:"📦",rar:"📦",mp3:"🎵",mp4:"🎬",default:"📁"};return m[V||""]||m.default},g=e.computed(()=>l.limit?c.value.length<l.limit:!0),f=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("drag",l.drag),n.m(l.listType)]),C=b=>{const V=b.target.files;!V||V.length===0||(r(Array.from(V)),p.value&&(p.value.value=""))},r=async b=>{var V,m;if(l.limit&&c.value.length+b.length>l.limit){a("exceed",b,c.value),(V=l.onExceed)==null||V.call(l,b,c.value);return}for(const s of b){if(l.beforeUpload&&await l.beforeUpload(s,b)===!1)continue;const u={name:s.name,size:s.size,status:"ready",percentage:0,uid:z(),raw:s};s.type.startsWith("image/")&&(u.thumbUrl=await v(s),u.url=u.thumbUrl),c.value.push(u),a("update:fileList",c.value),a("change",u,c.value),(m=l.onChange)==null||m.call(l,u,c.value),l.autoUpload&&B(u)}},v=b=>new Promise(V=>{const m=new FileReader;m.onload=s=>{var u;V((u=s.target)==null?void 0:u.result)},m.readAsDataURL(b)}),B=b=>{if(!b.raw)return;b.status="uploading",(l.httpRequest||w)({action:l.action,headers:l.headers,data:l.data,file:b.raw,name:l.name,withCredentials:l.withCredentials,onProgress:m=>{var s;b.percentage=m.percent,a("progress",m,b,c.value),(s=l.onProgress)==null||s.call(l,m,b,c.value)},onSuccess:m=>{var s;b.status="success",b.response=m,a("success",m,b,c.value),(s=l.onSuccess)==null||s.call(l,m,b,c.value)},onError:m=>{var s;b.status="error",a("error",m,b,c.value),(s=l.onError)==null||s.call(l,m,b,c.value)}})},w=b=>new Promise((V,m)=>{const s=new XMLHttpRequest;s.upload.addEventListener("progress",i=>{i.lengthComputable&&b.onProgress({percent:i.loaded/i.total*100})}),s.addEventListener("load",()=>{if(s.status<200||s.status>=300){b.onError(new Error("Upload failed")),m(new Error("Upload failed"));return}try{const i=JSON.parse(s.responseText);b.onSuccess(i),V(i)}catch{b.onSuccess(s.responseText),V(s.responseText)}}),s.addEventListener("error",()=>{b.onError(new Error("Upload error")),m(new Error("Upload error"))});const u=new FormData;u.append(b.name,b.file),b.data&&Object.keys(b.data).forEach(i=>{u.append(i,b.data[i])}),s.open("POST",b.action,!0),b.withCredentials&&(s.withCredentials=!0),b.headers&&Object.keys(b.headers).forEach(i=>{s.setRequestHeader(i,b.headers[i])}),s.send(u)}),D=async b=>{var m;if(l.beforeRemove&&await l.beforeRemove(b,c.value)===!1)return;const V=c.value.findIndex(s=>s.uid===b.uid);V>-1&&(c.value.splice(V,1),a("update:fileList",c.value),a("remove",b,c.value),(m=l.onRemove)==null||m.call(l,b,c.value))},E=()=>{c.value.filter(b=>b.status==="ready"&&b.raw).forEach(b=>B(b))},x=()=>{c.value=[],a("update:fileList",c.value)},$=()=>{var b;l.disabled||(b=p.value)==null||b.click()},T=b=>{b.preventDefault(),!l.disabled&&l.drag&&(k.value=!0)},I=()=>{k.value=!1},Y=b=>{var m;if(b.preventDefault(),k.value=!1,l.disabled)return;const V=(m=b.dataTransfer)==null?void 0:m.files;V&&V.length>0&&r(Array.from(V))},O=b=>{if(!b)return"0 B";const V=["B","KB","MB","GB"];let m=0,s=b;for(;s>=1024&&m<V.length-1;)s/=1024,m++;return`${s.toFixed(2)} ${V[m]}`};return d({submit:E,clearFiles:x,uploadFiles:c}),(b,V)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value)},[o.drag?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(n).e("drag"),e.unref(n).is("dragover",k.value)]),onClick:$,onDragover:T,onDragleave:I,onDrop:Y},[e.renderSlot(b.$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"))},[...V[0]||(V[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,m=>(e.openBlock(),e.createElementBlock("li",{key:m.uid,class:e.normalizeClass([e.unref(n).e("file"),e.unref(n).is(`status-${m.status}`)])},[m.thumbUrl&&m.status!=="uploading"?(e.openBlock(),e.createElementBlock("img",{key:0,src:m.thumbUrl,class:e.normalizeClass(e.unref(n).e("file-image"))},null,10,Ct)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("file-status"))},[m.status==="uploading"?(e.openBlock(),e.createElementBlock("span",Vt,[e.createElementVNode("span",Bt,[e.createElementVNode("span",Et,e.toDisplayString(Math.round(m.percentage||0))+"%",1)])])):m.status==="error"?(e.openBlock(),e.createElementBlock("span",xt,"✕")):m.status==="success"?(e.openBlock(),e.createElementBlock("span",wt,"✓")):e.createCommentVNode("",!0)],2)),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-actions"))},[m.url?(e.openBlock(),e.createElementBlock("span",zt,"👁️")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"action-remove",onClick:s=>D(m)},"🗑️",8,Dt)],2)],2))),128)),g.value?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass(e.unref(n).e("upload-card")),onClick:$},[e.renderSlot(b.$slots,"trigger",{},()=>[V[1]||(V[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:$},[e.renderSlot(b.$slots,"trigger",{},()=>[g.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(n).e("trigger")),disabled:o.disabled},[e.renderSlot(b.$slots,"default",{},()=>[V[2]||(V[2]=e.createTextVNode("点击上传",-1))])],10,St)):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,m=>(e.openBlock(),e.createElementBlock("li",{key:m.uid,class:e.normalizeClass([e.unref(n).e("file"),e.unref(n).is(`status-${m.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(y(m)),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-name"))},e.toDisplayString(m.name),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-size"))},e.toDisplayString(O(m.size)),3),m.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:m.percentage+"%"})},null,4),e.createElementVNode("span",Nt,e.toDisplayString(Math.round(m.percentage||0))+"%",1)],2)):e.createCommentVNode("",!0),m.status==="success"?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("file-success"))},"✓",2)):e.createCommentVNode("",!0),m.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=>D(m)},"✕",8,Mt)],2)],64)):o.listType==="picture"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[m.thumbUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:m.thumbUrl,class:e.normalizeClass(e.unref(n).e("file-thumb"))},null,10,Tt)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("file-icon"))},e.toDisplayString(y(m)),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(m.name),3),m.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:m.percentage+"%"})},null,4)],2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("file-actions"))},[m.status==="success"?(e.openBlock(),e.createElementBlock("span",$t,"✓")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"action-remove",onClick:s=>D(m)},"✕",8,Ft)],2)],64)):e.createCommentVNode("",!0)],2))),128))],2)):e.createCommentVNode("",!0)],64)),e.createElementVNode("input",{ref_key:"inputRef",ref:p,type:"file",class:e.normalizeClass(e.unref(n).e("input")),multiple:o.multiple,accept:o.accept,disabled:o.disabled,onChange:C},null,42,Rt),b.$slots.tip?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(n).e("tip"))},[e.renderSlot(b.$slots,"tip")],2)):e.createCommentVNode("",!0)],2))}}),It=["onMousemove","onClick"],Pt=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),p=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)]),k=r=>t.disabled?t.disabledVoidColor:r<=t.lowThreshold?t.colors[0]:r<=t.highThreshold?t.colors[1]||t.colors[0]:t.colors[2]||t.colors[1]||t.colors[0],h=r=>{const v=p.value;return v>=r?100:t.allowHalf&&v>=r-.5?50:0},z=r=>h(r)>0?k(p.value):t.disabled?t.disabledVoidColor:t.voidColor,y=e.computed(()=>{if(t.showScore)return t.scoreTemplate.replace("{value}",String(t.modelValue));if(t.showText){const r=Math.min(Math.ceil(t.modelValue||0),t.max)-1;return t.texts[Math.max(0,r)]||""}return""}),g=(r,v)=>{if(!(t.disabled||t.readonly))if(t.allowHalf){const w=v.currentTarget.getBoundingClientRect(),D=v.clientX-w.left<w.width/2;n.value=D?r-.5:r}else n.value=r},f=()=>{t.disabled||t.readonly||(n.value=-1)},C=(r,v)=>{if(t.disabled||t.readonly)return;let B;if(t.allowHalf){const D=v.currentTarget.getBoundingClientRect();B=v.clientX-D.left<D.width/2?r-.5:r}else B=r;l("update:modelValue",B),l("change",B)};return(r,v)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value),onMouseleave:f},[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:w=>g(B,w),onClick:w=>C(B,w)},[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"),h(B)>0?"is-active":""]),style:e.normalizeStyle({color:z(B),clipPath:`inset(0 ${100-h(B)}% 0 0)`})},e.toDisplayString(o.icon),7)],42,It))),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(y.value),7)):e.createCommentVNode("",!0)],34))}});exports.Checkbox=Ce;exports.CheckboxGroup=Ve;exports.DatePicker=Xe;exports.Form=Be;exports.FormItem=Ee;exports.Input=re;exports.InputNumber=de;exports.Radio=he;exports.RadioButton=ye;exports.RadioGroup=ge;exports.Rate=Pt;exports.Select=st;exports.Slider=bt;exports.Switch=pe;exports.Textarea=fe;exports.TimePicker=_e;exports.Transfer=gt;exports.Upload=Lt;
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;