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