@xto/form 1.1.8 → 1.1.9
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 +1066 -1050
- 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),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;
|
|
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(),m=e.ref(!1),g=e.ref(!1),k=e.useSlots(),N=e.computed(()=>t.type==="password"&&t.showPassword&&!t.disabled),C=e.computed(()=>N.value?g.value?"text":"password":t.type);e.computed(()=>t.modelValue!==void 0),e.computed(()=>t.value!==void 0);const p=e.ref("");e.watch([()=>t.modelValue,()=>t.value],([F,R])=>{const A=F??R??"";A!==p.value&&(p.value=A)},{immediate:!0});const b=F=>{p.value=F,n("update:modelValue",F),n("update:value",F),n("input",F)},M=e.computed(()=>String(p.value).length),i=e.computed(()=>[a.b(),t.size!=="default"?a.m(t.size):"",a.is("disabled",t.disabled),a.is("focus",m.value),a.is("has-prefix",t.prefixIcon||k.prefix),a.is("has-suffix",t.suffixIcon||k.suffix||t.clearable||N.value||t.showWordLimit)]),y=F=>{const R=F.target.value;n("change",R)},w=F=>{m.value=!0,n("focus",F)},z=F=>{m.value=!1,n("blur",F)},B=()=>{p.value="",n("update:modelValue",""),n("update:value",""),n("clear")},d=()=>{g.value=!g.value};return v({focus:()=>{var F;(F=c.value)==null||F.focus()},blur:()=>{var F;(F=c.value)==null||F.blur()},inputRef:c}),(F,R)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[F.$slots.prefix||o.prefixIcon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("prefix"))},[e.renderSlot(F.$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":R[0]||(R[0]=A=>p.value=A),type:C.value,placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,class:e.normalizeClass(e.unref(a).e("inner")),onInput:R[1]||(R[1]=A=>b(A.target.value)),onChange:y,onFocus:w,onBlur:z},null,42,ce),[[e.vModelDynamic,p.value]]),F.$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(F.$slots,"suffix",{},()=>[o.clearable&&o.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:d},e.toDisplayString(g.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(M.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(),m=e.ref(!1),g=e.ref(null),k=e.ref(t.modelValue),N=e.computed(()=>{if(t.precision!==void 0)return t.precision;const s=C(t.step),r=t.modelValue!==void 0&&t.modelValue!==null?C(t.modelValue):0;return Math.max(s,r)});function C(s){if(s==null)return 0;const r=s.toString(),f=r.indexOf(".");return f===-1?0:r.length-f-1}function p(s,r=N.value){if(r===0)return Math.round(s);let f=s.toFixed(r);return Number(f)}function b(s){return s>t.max?t.max:s<t.min?t.min:s}const M=e.computed(()=>t.modelValue??t.value??void 0),i=e.computed(()=>g.value!==null?g.value:M.value===void 0||M.value===null?"":p(M.value)),y=e.computed(()=>t.disabled?!0:M.value===void 0?t.min!==-1/0:M.value<=t.min),w=e.computed(()=>t.disabled?!0:M.value===void 0?t.max!==1/0:M.value>=t.max),z=e.computed(()=>[a.b(),t.size!=="default"?a.m(t.size):"",a.is("disabled",t.disabled),a.is("focus",m.value),t.controlsPosition?a.m(t.controlsPosition):""]);function B(){if(t.disabled||w.value)return;const s=M.value??(t.min===-1/0?0:t.min),r=p(s+t.step),f=b(r);u(f)}function d(){if(t.disabled||y.value)return;const s=M.value??(t.min===-1/0?0:t.min),r=p(s-t.step),f=b(r);u(f)}function u(s){const r=k.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=p(s),P=b(f);if(t.stepStrictly){const K=Math.round((P-t.min)/t.step),T=p(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",P),t.value!==void 0&&n("update:value",P),t.modelValue===void 0&&t.value===void 0&&n("update:modelValue",P),n("change",P,r)}k.value=t.modelValue??t.value,g.value=null}function V(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 P=Number(r);if(!isNaN(P))return P}function F(s){const r=s.target.value;g.value=r}function R(s){if(m.value=!1,g.value!==null){const r=V(g.value);r===void 0?t.valueOnClear!==null?u(t.valueOnClear):g.value=null:u(r)}n("blur",s)}function A(s){m.value=!0,k.value=t.modelValue,n("focus",s)}function U(s){var r;if(!t.disabled)switch(s.key){case"ArrowUp":s.preventDefault(),B();break;case"ArrowDown":s.preventDefault(),d();break;case"Enter":(r=c.value)==null||r.blur();break}}function E(){g.value=null,t.valueOnClear!==null&&t.valueOnClear!==void 0?u(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,k.value),k.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])=>{k.value=s??r,g.value=null},{immediate:!0}),v({focus:x,blur:h,clear:E,increase:B,decrease:d}),(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(z.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",y.value)]),disabled:y.value,onClick:d}," − ",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:i.value,placeholder:o.placeholder,disabled:o.disabled,class:e.normalizeClass(e.unref(a).e("inner")),type:"text",autocomplete:"off",onInput:F,onFocus:A,onBlur:R,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:B}," + ",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(),m=e.ref(!1),g=e.ref("");e.watch([()=>t.modelValue,()=>t.value],([B,d])=>{const u=B??d??"";u!==g.value&&(g.value=u)},{immediate:!0});const k=B=>{g.value=B,n("update:modelValue",B),n("update:value",B),n("input",B)},N=e.computed(()=>String(g.value).length),C=e.computed(()=>{const B={};if(t.resize&&(B.resize=t.resize),t.autosize&&(B.minHeight="auto",typeof t.autosize=="object")){const d=t.autosize.minRows||1,u=t.autosize.maxRows;B.minHeight=`${d*22+12}px`,u&&(B.maxHeight=`${u*22+12}px`)}return B}),p=e.computed(()=>[a.b(),a.is("disabled",t.disabled),a.is("focus",m.value),a.is("exceed",t.maxlength&&N.value>t.maxlength)]),b=B=>{const d=B.target.value;k(d),t.autosize&&c.value&&(c.value.style.height="auto",c.value.style.height=`${c.value.scrollHeight}px`)},M=B=>{const d=B.target.value;n("change",d)},i=B=>{m.value=!0,n("focus",B)},y=B=>{m.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,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(p.value),style:e.normalizeStyle(o.disabled?void 0:{cursor:"text"})},[e.withDirectives(e.createElementVNode("textarea",{ref_key:"textareaRef",ref:c,"onUpdate:modelValue":d[0]||(d[0]=u=>g.value=u),placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,maxlength:o.maxlength,minlength:o.minlength,rows:o.rows,style:e.normalizeStyle(C.value),class:e.normalizeClass(e.unref(a).e("inner")),onInput:b,onChange:M,onFocus:i,onBlur:y},null,46,he),[[e.vModelText,g.value]]),o.showWordLimit&&o.maxlength?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a).e("count"))},e.toDisplayString(N.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),m=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("checked",c.value)]),g=e.computed(()=>({width:typeof l.width=="number"?`${l.width}px`:l.width,height:"20px",backgroundColor:c.value?l.activeColor:l.inactiveColor})),k=()=>{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,C)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(m.value),onClick:k},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("core")),style:e.normalizeStyle(g.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),m=e.computed(()=>c.value?a.modelValue.value:l.modelValue),g=e.computed(()=>l.value??l.label),k=e.computed(()=>m.value===g.value),N=e.computed(()=>l.disabled||c.value&&a.disabled),C=e.computed(()=>l.name||(c.value?a.name:void 0)),p=e.computed(()=>[n.b(),n.is("checked",k.value),n.is("disabled",N.value)]),b=()=>{N.value||(c.value?a.changeValue(g.value):(t("update:modelValue",g.value),t("change",g.value)))};return(M,i)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(p.value),onClick:e.withModifiers(b,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("input"))},[e.createElementVNode("input",{type:"radio",checked:k.value,disabled:N.value,name:C.value,value:g.value},null,8,ye)],2),M.$slots.default||o.label?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("label"))},[e.renderSlot(M.$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,m)=>(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),m=e.computed(()=>l.value??l.label),g=e.computed(()=>c.value===m.value),k=e.computed(()=>l.disabled||a.value&&n.disabled),N=e.computed(()=>[t.b(),t.is("active",g.value),t.is("disabled",k.value)]),C=()=>{k.value||a.value&&n.changeValue(m.value)};return(p,b)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(N.value),onClick:e.withModifiers(C,["prevent"])},[e.createElementVNode("input",{type:"radio",checked:g.value,disabled:k.value,value:m.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(p.$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),m=e.computed(()=>l.value??l.label),g=e.computed(()=>c.value?a.modelValue.value.includes(m.value):Array.isArray(l.modelValue)?l.modelValue.includes(m.value):!!l.modelValue),k=e.computed(()=>{if(l.disabled)return!0;if(c.value){const p=a.disabled,b=a.min>0&&a.modelValue.value.length<=a.min,M=a.max>0&&a.modelValue.value.length>=a.max;return g.value&&b||!g.value&&M?!0:p}return!1}),N=e.computed(()=>[n.b(),n.is("checked",g.value),n.is("disabled",k.value),n.is("indeterminate",l.indeterminate&&!g.value)]),C=()=>{if(!k.value)if(c.value)a.changeValue(m.value);else{let p;if(Array.isArray(l.modelValue)){const b=l.modelValue.indexOf(m.value);b>-1?p=[...l.modelValue.slice(0,b),...l.modelValue.slice(b+1)]:p=[...l.modelValue,m.value]}else p=!l.modelValue;t("update:modelValue",p),t("change",p)}};return(p,b)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(N.value),onClick:e.withModifiers(C,["prevent"])},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("input"))},[e.createElementVNode("input",{type:"checkbox",checked:g.value,disabled:k.value,name:o.name,value:m.value},null,8,Ee)],2),p.$slots.default||o.label!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("label"))},[e.renderSlot(p.$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 m=[...l.modelValue],g=m.indexOf(c);g>-1?m.splice(g,1):m.push(c),t("update:modelValue",m),t("change",m)};return e.provide("checkboxGroup",{modelValue:e.computed(()=>l.modelValue),disabled:l.disabled,min:l.min,max:l.max,changeValue:a}),(c,m)=>(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([]),m=e.computed(()=>t.layout==="inline"||t.inline),g=e.computed(()=>t.layout==="vertical"||t.labelPosition==="top"),k=e.computed(()=>[a.b(),a.m(`label-${g.value?"top":t.labelPosition}`),a.is("inline",m.value),a.is("vertical",g.value)]),N=e.computed(()=>({width:typeof t.labelWidth=="number"?`${t.labelWidth}px`:t.labelWidth})),C=d=>{c.value.push(d)},p=d=>{const u=c.value.indexOf(d);u>-1&&c.value.splice(u,1)},b=async()=>{let d=!0;for(const u of c.value)await u.validate()||(d=!1);return d},M=async d=>{const u=Array.isArray(d)?d:[d];let V=!0;for(const F of c.value)u.includes(F.prop)&&(await F.validate()||(V=!1));return V},i=()=>{c.value.forEach(d=>{d.resetField()})},y=d=>{if(d){const u=Array.isArray(d)?d:[d];c.value.forEach(V=>{u.includes(V.prop)&&V.clearValidate()})}else c.value.forEach(u=>{u.clearValidate()})},w=d=>{console.log("[XForm] handleSubmit triggered",d),d.preventDefault(),n("submit")},z=d=>{console.log("[XForm] handleReset triggered",d),d.preventDefault(),i(),n("reset")},B=e.toRef(t,"model");return e.provide("form",{model:B,rules:t.rules,labelWidth:t.labelWidth,labelPosition:g.value?"top":t.labelPosition,disabled:t.disabled,size:t.size,labelStyle:N,addField:C,removeField:p,emit:n}),v({validate:b,validateField:M,resetFields:i,clearValidate:y}),(d,u)=>(e.openBlock(),e.createElementBlock("form",{class:e.normalizeClass(k.value),onSubmit:w,onReset:z},[e.renderSlot(d.$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(""),m=e.computed(()=>l.required?!0:g().some(w=>w.required)),g=()=>{const y=[];return l.rules&&y.push(...l.rules),n&&l.prop&&n.rules[l.prop]&&y.push(...n.rules[l.prop]),y},k=()=>{var y;if(!(!n||!l.prop))return(y=n.model.value)==null?void 0:y[l.prop]},N=y=>{!n||!l.prop||n.model.value&&(n.model.value[l.prop]=y)},C=async y=>{const w=g();if(w.length===0)return a.value="valid",!0;const z=k();let B=!0,d="";for(const u of w)if(!(y&&u.trigger&&u.trigger!==y)){if(u.required&&(z==null||z===""||Array.isArray(z)&&z.length===0)){B=!1,d=u.message||"该字段为必填项";break}if(u.min!==void 0||u.max!==void 0){const V=typeof z=="string"?z.length:0;if(u.min!==void 0&&V<u.min){B=!1,d=u.message||`长度不能小于 ${u.min} 个字符`;break}if(u.max!==void 0&&V>u.max){B=!1,d=u.message||`长度不能大于 ${u.max} 个字符`;break}}if(u.pattern&&z&&!u.pattern.test(z)){B=!1,d=u.message||"格式不正确";break}if(u.validator)try{await new Promise((V,F)=>{u.validator(u,z,R=>{R?F(R):V()})})}catch(V){B=!1,d=V.message||u.message||"验证失败";break}}return a.value=B?"valid":"invalid",c.value=d,n&&l.prop&&n.emit("validate",l.prop,B,d),B},p=()=>{N(void 0),b()},b=()=>{a.value="",c.value=""},M=e.computed(()=>[t.b(),t.is("required",m.value),t.is("error",a.value==="invalid"),t.is("success",a.value==="valid")]),i=e.computed(()=>{const y=l.labelWidth??(n==null?void 0:n.labelWidth)??"100px";return{width:typeof y=="number"?`${y}px`:y}});return e.watch(()=>k(),()=>{a.value==="invalid"&&C("change")}),e.onMounted(()=>{n&&l.prop&&n.addField({prop:l.prop,validate:C,resetField:p,clearValidate:b})}),e.onUnmounted(()=>{n&&l.prop&&n.removeField({prop:l.prop,validate:C,resetField:p,clearValidate:b})}),v({validate:C,resetField:p,clearValidate:b}),(y,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value)},[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(t).e("label")),style:e.normalizeStyle(i.value)},e.toDisplayString(o.label),7)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(t).e("content"))},[e.renderSlot(y.$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 m=(a-l+7)%7;c.setDate(1-m);let g=[],k=new Date(c);for(;(k.getMonth()<=v||k.getMonth()===v&&k.getDate()<=n)&&(g.push(new Date(k)),!(g.length===7&&(t.push(g),g=[],k.getMonth()>v)||(k.setDate(k.getDate()+1),t.length>7))););return g.length>0&&t.push(g),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(),m=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(m).padStart(2,"0")).replace(/s/g,String(m))}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()),m=e.computed(()=>l.viewedMonth.getMonth()),g=e.computed(()=>$e(c.value,m.value,0)),k=d=>l.modelValue?Q(d,l.modelValue):!1,N=d=>Q(d,new Date),C=d=>Me(d,l.viewedMonth),p=d=>{if(l.selectionMode!=="range")return!1;const{startDate:u,endDate:V,selecting:F}=l.rangeState||{};if(F&&u){const R=a.value;if(R){const A=u<R?u:R,U=u<R?R:u;return re(d,A,U)}return Q(d,u)}return u&&V?re(d,u,V):!1},b=d=>{if(l.selectionMode!=="range")return!1;const{startDate:u,selecting:V}=l.rangeState||{};return V&&u&&a.value?Q(d,u<a.value?u:a.value):u?Q(d,u):!1},M=d=>{if(l.selectionMode!=="range")return!1;const{endDate:u,selecting:V}=l.rangeState||{};if(V&&a.value){const{startDate:F}=l.rangeState||{};return Q(d,F<a.value?a.value:F)}return u?Q(d,u):!1},i=d=>Ie(d,l.disabledDate,l.minDate,l.maxDate),y=d=>[n.e("cell"),n.is("selected",k(d)),n.is("today",N(d)),n.is("disabled",i(d)),n.is("in-range",p(d)),n.is("range-start",b(d)),n.is("range-end",M(d)),n.is("prev-month",!C(d)&&d.getMonth()<m.value),n.is("next-month",!C(d)&&d.getMonth()>m.value)],w=d=>{i(d)||(l.selectionMode==="range"?t("range-select",d):t("pick",d))},z=d=>{a.value=d},B=()=>{a.value=null};return(d,u)=>(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),V=>(e.openBlock(),e.createElementBlock("th",{key:V,class:e.normalizeClass(e.unref(n).e("header-cell"))},e.toDisplayString(V),3))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(V,F)=>(e.openBlock(),e.createElementBlock("tr",{key:F},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V,(R,A)=>(e.openBlock(),e.createElementBlock("td",{key:A,class:e.normalizeClass(y(R)),onClick:U=>w(R),onMouseenter:U=>z(R),onMouseleave:B},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("cell-text"))},e.toDisplayString(R.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=C=>l.modelValue?l.modelValue.getFullYear()===l.viewedYear&&l.modelValue.getMonth()===C:!1,c=C=>{const p=new Date;return p.getFullYear()===l.viewedYear&&p.getMonth()===C},m=C=>{if(!l.disabledDate)return!1;const p=new Date(l.viewedYear,C,1),b=new Date(l.viewedYear,C+1,0);return l.disabledDate(p)&&l.disabledDate(b)},g=C=>[n.e("cell"),n.is("selected",a(C)),n.is("current",c(C)),n.is("disabled",m(C))],k=C=>{m(C)||t("pick",C)},N=e.computed(()=>{const C=[];for(let p=0;p<12;p+=3)C.push([p,p+1,p+2]);return C});return(C,p)=>(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,(b,M)=>(e.openBlock(),e.createElementBlock("tr",{key:M},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b,i=>(e.openBlock(),e.createElementBlock("td",{key:i,class:e.normalizeClass(g(i)),onClick:y=>k(i)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("cell-text"))},e.toDisplayString(e.unref(Pe)[i]),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)),m=e.computed(()=>{const[i]=c.value,y=[];y.push(i-1);for(let w=0;w<10;w++)y.push(i+w);return y.push(i+10),y}),g=e.computed(()=>{const i=[];for(let y=0;y<m.value.length;y+=3)i.push(m.value.slice(y,y+3));return i}),k=i=>l.modelValue?l.modelValue.getFullYear()===i:!1,N=i=>i===a.value,C=i=>{const[y,w]=c.value;return i>=y&&i<=w},p=i=>{if(!l.disabledDate)return!1;const y=new Date(i,0,1),w=new Date(i,11,31);return l.disabledDate(y)&&l.disabledDate(w)},b=i=>[n.e("cell"),n.is("selected",k(i)),n.is("current",N(i)),n.is("disabled",p(i)),n.is("in-decade",C(i))],M=i=>{p(i)||t("pick",i)};return(i,y)=>(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(g.value,(w,z)=>(e.openBlock(),e.createElementBlock("tr",{key:z},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w,B=>(e.openBlock(),e.createElementBlock("td",{key:B,class:e.normalizeClass(b(B)),onClick:d=>M(B)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("cell-text"))},e.toDisplayString(B),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),m=e.ref(2e3),g=e.ref(),k=()=>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)},C=e.ref(),p=e.ref(),b=e.ref({top:"0px",left:"0px"}),M=()=>O.useZIndex().next(),i=e.ref("date"),y=e.ref(new Date),w=e.ref({hours:new Date().getHours(),minutes:new Date().getMinutes(),seconds:new Date().getSeconds()}),z=e.ref({selecting:!1,startDate:null,endDate:null}),B=e.computed(()=>{const D=k();if(!D)return null;if(t.type==="daterange"){if(!Array.isArray(D))return null;const[S,I]=D;return[S instanceof Date?S:j(S),I instanceof Date?I:j(I)]}return D instanceof Date?D:j(D)}),d=e.computed(()=>{if(t.type==="daterange")return"";const D=k();if(!D)return"";const S=D instanceof Date?D:j(D);if(!S)return"";const I=t.showTime?"YYYY-MM-DD HH:mm:ss":t.format;return G(S,I)}),u=e.computed(()=>{const D=k();if(!D||!Array.isArray(D))return"";const[S]=D;if(!S)return"";const I=S instanceof Date?S:j(S);return I?G(I,t.format):""}),V=e.computed(()=>{const D=k();if(!D||!Array.isArray(D))return"";const[,S]=D;if(!S)return"";const I=S instanceof Date?S:j(S);return I?G(I,t.format):""}),F=e.computed(()=>{const D=k();return!D||Array.isArray(D)?null:D instanceof Date?D:j(D)}),R=e.computed(()=>y.value.getFullYear()),A=e.computed(()=>y.value.getMonth()),U=e.computed(()=>ue(R.value)),E=e.computed(()=>i.value==="year"?`${U.value[0]} 年 - ${U.value[1]} 年`:i.value==="month"?`${R.value} 年`:`${R.value} 年 ${A.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",!!d.value||!!(u.value||V.value))]),s=()=>{t.disabled||t.readonly||(c.value?f():r())},r=()=>{c.value=!0,m.value=M(),e.nextTick(()=>{if(g.value&&C.value){const D=g.value.getBoundingClientRect(),S=C.value.getBoundingClientRect();let I=D.bottom+8,ae=D.left;ae+S.width>window.innerWidth&&(ae=window.innerWidth-S.width-8),I+S.height>window.innerHeight&&(I=D.top-S.height-8),b.value={top:`${I}px`,left:`${ae}px`}}}),n("focus",{})},f=()=>{c.value=!1,i.value="date",n("blur",{})},P=D=>{if(t.type==="date"){t.showTime&&(D.setHours(w.value.hours),D.setMinutes(w.value.minutes),D.setSeconds(w.value.seconds));const S=t.showTime?"YYYY-MM-DD HH:mm:ss":t.valueFormat,I=S?G(D,S):D;N(I),t.showTime||f()}},K=()=>{const D=k();if(D){const S=D instanceof Date?D:j(D);if(S){S.setHours(w.value.hours),S.setMinutes(w.value.minutes),S.setSeconds(w.value.seconds);const I=t.valueFormat?G(S,t.valueFormat):S;N(I)}}else{const S=new Date;S.setHours(w.value.hours),S.setMinutes(w.value.minutes),S.setSeconds(w.value.seconds);const I=t.valueFormat?G(S,t.valueFormat):S;N(I)}f()},T=D=>{if(!z.value.selecting)z.value.selecting=!0,z.value.startDate=D,z.value.endDate=null;else{z.value.selecting=!1,z.value.startDate&&D<z.value.startDate?[z.value.startDate,z.value.endDate]=[D,z.value.startDate]:z.value.endDate=D;const S=t.valueFormat?G(z.value.startDate,t.valueFormat):z.value.startDate,I=t.valueFormat?G(z.value.endDate,t.valueFormat):z.value.endDate;N([S,I]),f()}},X=D=>{if(y.value=new Date(R.value,D,1),t.type==="month"){const S=new Date(R.value,D,1),I=t.valueFormat?G(S,t.valueFormat):S;N(I),f()}else i.value="date"},L=D=>{if(y.value=new Date(D,A.value,1),t.type==="year"){const S=new Date(D,0,1),I=t.valueFormat?G(S,t.valueFormat):S;N(I),f()}else i.value="month"},Z=()=>{y.value=Te(y.value)},ee=()=>{y.value=Fe(y.value)},$=()=>{i.value==="year"?y.value=new Date(R.value-10,A.value,1):y.value=Re(y.value)},Y=()=>{i.value==="year"?y.value=new Date(R.value+10,A.value,1):y.value=Le(y.value)},H=()=>{i.value="month"},W=()=>{i.value="year"},q=()=>{N(null),n("clear"),z.value={selecting:!1,startDate:null,endDate:null}},te=D=>{if(!g.value)return;const S=D.target;g.value.contains(S)||C.value&&C.value.contains(S)||f()};e.watch(k,D=>{if(D)if(Array.isArray(B.value)){const[S]=B.value;S&&(y.value=new Date(S))}else B.value&&(y.value=new Date(B.value))},{immediate:!0}),e.watch(c,D=>{D&&(i.value="date",t.type==="daterange"&&(z.value={selecting:!1,startDate:Array.isArray(B.value)?B.value[0]:null,endDate:Array.isArray(B.value)?B.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=p.value)==null?void 0:D.focus()},blur:()=>{var D;return(D=p.value)==null?void 0:D.blur()}}),(D,S)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:g,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:p,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:d.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&&d.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:u.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:V.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&&(u.value||V.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:C,class:e.normalizeClass(e.unref(a).e("popper")),style:e.normalizeStyle({zIndex:m.value,...b.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:S[0]||(S[0]=I=>i.value==="date"?Z():$())}," ‹ ",2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("header-title"))},[i.value==="year"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:S[1]||(S[1]=I=>i.value="month")},e.toDisplayString(E.value),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",{onClick:W},e.toDisplayString(R.value)+" 年",1),i.value==="date"?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:H},e.toDisplayString(A.value+1)+" 月",1)):e.createCommentVNode("",!0)],64))],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(e.unref(a).e("next-btn")),onClick:S[2]||(S[2]=I=>i.value==="date"?ee():Y())}," › ",2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("content"))},[i.value==="date"?(e.openBlock(),e.createBlock(He,{key:0,"model-value":F.value,"viewed-month":y.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":z.value,onPick:P,onRangeSelect:T},null,8,["model-value","viewed-month","disabled-date","min-date","max-date","selection-mode","range-state"])):i.value==="month"?(e.openBlock(),e.createBlock(Ue,{key:1,"model-value":F.value,"viewed-year":R.value,"disabled-date":o.disabledDate,onPick:X},null,8,["model-value","viewed-year","disabled-date"])):i.value==="year"?(e.openBlock(),e.createBlock(Ke,{key:2,"model-value":F.value,"viewed-year":R.value,"disabled-date":o.disabledDate,onPick:L},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":S[3]||(S[3]=I=>w.value.hours=I),class:e.normalizeClass(e.unref(a).e("time-select"))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(24,I=>e.createElementVNode("option",{key:I,value:I-1},e.toDisplayString(String(I-1).padStart(2,"0")),9,je)),64))],2),[[e.vModelSelect,w.value.hours,void 0,{number:!0}]]),S[6]||(S[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":S[4]||(S[4]=I=>w.value.minutes=I),class:e.normalizeClass(e.unref(a).e("time-select"))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(60,I=>e.createElementVNode("option",{key:I,value:I-1},e.toDisplayString(String(I-1).padStart(2,"0")),9,Ze)),64))],2),[[e.vModelSelect,w.value.minutes,void 0,{number:!0}]]),S[7]||(S[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":S[5]||(S[5]=I=>w.value.seconds=I),class:e.normalizeClass(e.unref(a).e("time-select"))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(60,I=>e.createElementVNode("option",{key:I,value:I-1},e.toDisplayString(String(I-1).padStart(2,"0")),9,Qe)),64))],2),[[e.vModelSelect,w.value.seconds,void 0,{number:!0}]]),S[8]||(S[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),m=e.ref(0),g=e.ref(),k=e.ref(),N=e.ref(),C=e.computed(()=>l.format.includes("ss")||l.format.includes("s")),p=e.computed(()=>{const T=[],X=Math.max(1,l.hourStep);for(let L=0;L<24;L+=X)T.push(L);return T}),b=e.computed(()=>{const T=[],X=Math.max(1,l.minuteStep);for(let L=0;L<60;L+=X)T.push(L);return T}),M=e.computed(()=>{const T=[],X=Math.max(1,l.secondStep);for(let L=0;L<60;L+=X)T.push(L);return T}),i=e.computed(()=>l.disabledHours?new Set(l.disabledHours()):new Set),y=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),z=e.computed(()=>`${_(a.value)}:${_(c.value)}${C.value?":"+_(m.value):""}`),B=T=>i.value.has(T),d=T=>y.value.has(T),u=T=>w.value.has(T),V=T=>{B(T)||(a.value=T,x(g.value,A(T)))},F=T=>{d(T)||(c.value=T,x(k.value,U(T)))},R=T=>{u(T)||(m.value=T,x(N.value,E(T)))},A=T=>p.value.indexOf(T),U=T=>b.value.indexOf(T),E=T=>M.value.indexOf(T),x=(T,X)=>{if(!T)return;const L=32,ee=X*L+84-200/2+L/2;T.scrollTop=Math.max(0,ee)},h=()=>{if(!g.value)return;const T=g.value.scrollTop,X=Math.round((T-84+100)/32),L=p.value[Math.max(0,Math.min(X,p.value.length-1))];L!==void 0&&!B(L)&&(a.value=L)},s=()=>{if(!k.value)return;const T=k.value.scrollTop,X=Math.round((T-84+100)/32),L=b.value[Math.max(0,Math.min(X,b.value.length-1))];L!==void 0&&!d(L)&&(c.value=L)},r=()=>{if(!N.value)return;const T=N.value.scrollTop,X=Math.round((T-84+100)/32),L=M.value[Math.max(0,Math.min(X,M.value.length-1))];L!==void 0&&!u(L)&&(m.value=L)},f=()=>{const T=l.modelValue?new Date(l.modelValue):new Date;T.setHours(a.value,c.value,m.value,0),t("confirm",T)},P=()=>{t("cancel")},K=()=>{if(l.modelValue)a.value=l.modelValue.getHours(),c.value=l.modelValue.getMinutes(),m.value=l.modelValue.getSeconds();else{const T=new Date;a.value=T.getHours(),c.value=T.getMinutes(),m.value=T.getSeconds()}e.nextTick(()=>{x(g.value,A(a.value)),x(k.value,U(c.value)),C.value&&x(N.value,E(m.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:g,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(p.value,L=>(e.openBlock(),e.createElementBlock("div",{key:L,class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("selected",a.value===L),e.unref(n).is("disabled",B(L))]),onClick:Z=>V(L)},e.toDisplayString(e.unref(_)(L)),11,_e))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2)],34),e.createElementVNode("div",{ref_key:"minuteListRef",ref:k,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(b.value,L=>(e.openBlock(),e.createElementBlock("div",{key:L,class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("selected",c.value===L),e.unref(n).is("disabled",d(L))]),onClick:Z=>F(L)},e.toDisplayString(e.unref(_)(L)),11,et))),128)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("padding"))},null,2)],34),C.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(M.value,L=>(e.openBlock(),e.createElementBlock("div",{key:L,class:e.normalizeClass([e.unref(n).e("item"),e.unref(n).is("selected",m.value===L),e.unref(n).is("disabled",u(L))]),onClick:Z=>R(L)},e.toDisplayString(e.unref(_)(L)),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(z.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:P},"取消",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(),m=e.ref(!1),g=e.ref(2e3),k=e.ref(),N=e.ref(),C=e.ref(),p=e.ref({top:"0px",left:"0px"}),b=e.ref({startTime:null,endTime:null}),M=e.ref("start"),i=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)}),y=e.computed(()=>!i.value||Array.isArray(i.value)?"":J(i.value,t.format)),w=e.computed(()=>{if(!Array.isArray(i.value))return"";const[r]=i.value;return r?J(r,t.format):""}),z=e.computed(()=>{if(!Array.isArray(i.value))return"";const[,r]=i.value;return r?J(r,t.format):""}),B=e.computed(()=>t.type==="timerange"?M.value==="start"?b.value.startTime:b.value.endTime||b.value.startTime:i.value),d=e.computed(()=>[a.b(),a.m(t.size),a.is("disabled",t.disabled),a.is("range",t.type==="timerange")]),u=e.computed(()=>[a.e("input"),a.is("focus",m.value)]),V=()=>{t.disabled||t.readonly||(m.value?A():R())},F=r=>{t.disabled||t.readonly||(M.value=r,m.value||R())},R=()=>{m.value=!0,g.value=c(),e.nextTick(()=>{if(k.value&&N.value){const r=k.value.getBoundingClientRect(),f=N.value.getBoundingClientRect();let P=r.bottom+8,K=r.left;K+f.width>window.innerWidth&&(K=window.innerWidth-f.width-8),P+f.height>window.innerHeight&&(P=r.top-f.height-8),p.value={top:`${P}px`,left:`${K}px`}}}),n("focus",{})},A=()=>{m.value=!1,n("blur",{})},U=r=>{if(t.type==="timerange")if(M.value==="start")b.value.startTime=r,M.value="end",b.value.endTime&&b.value.endTime<r&&(b.value.endTime=null);else{b.value.startTime&&r<b.value.startTime?(b.value.endTime=b.value.startTime,b.value.startTime=r):b.value.endTime=r;const f=t.valueFormat?J(b.value.startTime,t.valueFormat):b.value.startTime,P=t.valueFormat?J(b.value.endTime,t.valueFormat):b.value.endTime;n("update:modelValue",[f,P]),n("change",[f,P]),A()}else{const f=t.valueFormat?J(r,t.valueFormat):r;n("update:modelValue",f),n("change",f),A()}},E=()=>{A()},x=()=>{n("update:modelValue",null),n("change",null),n("clear"),b.value={startTime:null,endTime:null}},h=r=>{if(!k.value)return;const f=r.target;k.value.contains(f)||N.value&&N.value.contains(f)||A()};e.watch(()=>t.modelValue,r=>{if(r&&t.type==="timerange"){const[f,P]=i.value;b.value={startTime:f,endTime:P}}},{immediate:!0}),e.watch(m,r=>{r&&t.type==="timerange"&&(b.value={startTime:Array.isArray(i.value)?i.value[0]:null,endTime:Array.isArray(i.value)?i.value[1]:null},M.value="start")});const s=r=>{r.key==="Escape"&&A()};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=C.value)==null?void 0:r.focus()},blur:()=>{var r;return(r=C.value)==null?void 0:r.blur()}}),(r,f)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:k,class:e.normalizeClass(d.value)},[o.type!=="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value),onClick:V},[e.createElementVNode("input",{ref_key:"inputRef",ref:C,type:"text",placeholder:o.placeholder,disabled:o.disabled,readonly:!0,value:y.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&&y.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(u.value),onClick:V},[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",M.value==="start")]),onClick:f[0]||(f[0]=e.withModifiers(P=>F("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:z.value,class:e.normalizeClass([e.unref(a).e("input-inner"),e.unref(a).is("active",M.value==="end")]),onClick:f[1]||(f[1]=e.withModifiers(P=>F("end"),["stop"]))},null,10,ot),e.createElementVNode("span",{class:e.normalizeClass(e.unref(a).e("suffix"))},[o.clearable&&(w.value||z.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:g.value,...p.value})},[o.type==="timerange"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).e("popper-header"))},e.toDisplayString(M.value==="start"?"请选择开始时间":"请选择结束时间"),3)):e.createCommentVNode("",!0),e.createVNode(lt,{"model-value":B.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,m.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 m of c){if(m[l]===v)return n.push(m),!0;if(m[t]&&m[t].length>0){if(n.push(m),a(m[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 m of n)l.push({...m,level:a,parent:c}),m[v]&&m[v].length>0&&t(m[v],a+1,m)}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(),m=e.ref(),g=e.ref(),k=e.ref(!1),N=e.ref(2e3),C=e.ref(""),p=e.ref(-1),b=e.ref({top:"0px",left:"0px"}),M=e.computed(()=>l.type==="multiple"),i=e.computed(()=>l.type==="cascader"),y=e.ref([]),w=()=>l.modelValue!==void 0?l.modelValue:l.value!==void 0?l.value:"",z=$=>{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",$)},B=e.computed(()=>{const $=w();return M.value?Array.isArray($)?$:[]:i.value?Array.isArray($)?$:$?[$]:[]:$!==""&&$!==null&&$!==void 0?[$]:[]}),d=e.computed(()=>i.value?ut(l.options,l.childrenKey):l.options.map($=>({...$,level:0}))),u=e.computed(()=>!l.filterable||!C.value?d.value:d.value.filter($=>{const Y=$[l.labelKey]||"";return rt(Y,C.value,l.filterMethod)})),V=e.computed(()=>{const $=[];for(const Y of B.value){const H=ie(l.options,Y,l.valueKey,l.childrenKey);H&&$.push(H)}return $}),F=e.computed(()=>{if(M.value)return"";if(i.value)return se(l.options,B.value[B.value.length-1],l.valueKey,l.childrenKey).map(H=>H[l.labelKey]).join(l.separator);const $=V.value[0];return $?$[l.labelKey]:""}),R=e.computed(()=>M.value?V.value:[]),A=e.computed(()=>l.collapseTags?R.value.slice(0,l.maxCollapseTags):R.value),U=e.computed(()=>l.collapseTags?Math.max(0,R.value.length-l.maxCollapseTags):0),E=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("multiple",M.value),n.is("cascader",i.value),n.is("filterable",l.filterable),n.is("focus",k.value)]),x=()=>{if(!c.value||!g.value||!k.value)return;const $=c.value.getBoundingClientRect(),Y=g.value.getBoundingClientRect();let H=$.bottom+4,W=$.left;W+Y.width>window.innerWidth&&(W=window.innerWidth-Y.width-8),H+Y.height>window.innerHeight&&(H=$.top-Y.height-4),b.value={top:`${H}px`,left:`${W}px`}},h=()=>{l.disabled||(k.value=!0,N.value=a(),C.value="",e.nextTick(()=>{x()}),t("visible-change",!0),t("focus",{}))},s=()=>{k.value=!1,C.value="",y.value=[],t("visible-change",!1),t("blur",{})},r=$=>{if(!$.disabled)if(M.value){const Y=[...B.value],H=$[l.valueKey],W=Y.indexOf(H);if(W>-1)Y.splice(W,1),t("remove-tag",H);else{if(l.multipleLimit>0&&Y.length>=l.multipleLimit)return;Y.push(H)}z(Y)}else if(i.value)if($.children&&$.children.length>0){const Y=se(l.options,$[l.valueKey],l.valueKey,l.childrenKey);y.value=Y}else{const H=se(l.options,$[l.valueKey],l.valueKey,l.childrenKey).map(W=>W[l.valueKey]);z(H),s()}else z($[l.valueKey]),s()},f=$=>{const Y=B.value.filter(H=>H!==$[l.valueKey]);z(Y),t("remove-tag",$[l.valueKey])},P=()=>{const $=M.value?[]:"";z($),t("clear")},K=$=>{C.value=$.target.value},T=$=>{if(!c.value)return;const Y=$.target;c.value.contains(Y)||g.value&&g.value.contains(Y)||s()},X=$=>{if($.key==="Escape")s();else if($.key==="Enter"&&k.value){const Y=u.value[p.value];Y&&r(Y)}else $.key==="ArrowDown"&&k.value?($.preventDefault(),p.value=Math.min(p.value+1,u.value.length-1)):$.key==="ArrowUp"&&k.value&&($.preventDefault(),p.value=Math.max(p.value-1,0))},L=$=>B.value.includes($[l.valueKey]),Z=($,Y)=>[n.e("option"),n.is("selected",L($)),n.is("disabled",$.disabled===!0),n.is("hover",p.value===Y),n.is("group",!!($.children&&$.children.length>0))],ee=e.computed(()=>{if(!i.value)return[];const $=[l.options];for(const Y of y.value)Y.children&&Y.children.length>0&&$.push(Y.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(k,$=>{$?document.addEventListener("scroll",x,!0):document.removeEventListener("scroll",x,!0)}),e.provide("select",{selectedValues:B,handleSelect:r,isSelected:L}),($,Y)=>(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:Y[0]||(Y[0]=H=>k.value?s():h())},[M.value&&R.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(A.value,H=>(e.openBlock(),e.createElementBlock("span",{key:H[o.valueKey],class:e.normalizeClass(e.unref(n).e("tag"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("tag-text"))},e.toDisplayString(H[o.labelKey]),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("tag-close")),onClick:e.withModifiers(W=>f(H),["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:m,class:e.normalizeClass(e.unref(n).e("input")),placeholder:M.value&&R.value.length>0?"":o.placeholder,disabled:o.disabled,readonly:!o.filterable||!k.value,value:o.filterable&&k.value?C.value:F.value,onInput:K},null,42,ct),e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix"))},[o.clearable&&B.value.length>0&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("clear")),onClick:e.withModifiers(P,["stop"])},"×",2)):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([e.unref(n).e("arrow"),e.unref(n).is("reverse",k.value)])},"▼",2))],2)],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:g,class:e.normalizeClass([e.unref(n).e("popper"),e.unref(n).is("cascader",i.value)]),style:e.normalizeStyle({zIndex:N.value,...b.value})},[i.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,(H,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(H,(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},[u.value.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("empty"))},e.toDisplayString(C.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(u.value,(H,W)=>(e.openBlock(),e.createElementBlock("div",{key:H[o.valueKey],class:e.normalizeClass(Z(H,W)),onClick:q=>r(H)},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("option-label"))},e.toDisplayString(H[o.labelKey]),3),L(H)?(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,k.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"}),m=e.computed(()=>{var s;return((s=t.props)==null?void 0:s.label)||"label"}),g=e.computed(()=>{var s;return((s=t.props)==null?void 0:s.disabled)||"disabled"}),k=e.ref(""),N=e.ref(""),C=e.ref([]),p=e.ref([]),b=s=>s[c.value],M=s=>s[m.value],i=s=>s[g.value]||!1,y=e.computed(()=>t.data.filter(s=>{const r=b(s);return t.modelValue.includes(r)?!1:t.filterable&&k.value?t.filterMethod?t.filterMethod(k.value,s):M(s).toLowerCase().includes(k.value.toLowerCase()):!0})),w=e.computed(()=>{const s=t.modelValue;let r=t.data.filter(f=>{const P=b(f);return s.includes(P)});return t.filterable&&N.value&&(r=r.filter(f=>t.filterMethod?t.filterMethod(N.value,f):M(f).toLowerCase().includes(N.value.toLowerCase()))),t.targetOrder==="push"?r.sort((f,P)=>s.indexOf(b(f))-s.indexOf(b(P))):t.targetOrder==="unshift"?r.sort((f,P)=>s.indexOf(b(P))-s.indexOf(b(f))):r}),z=e.computed(()=>y.value.filter(s=>C.value.includes(b(s))).every(s=>i(s))),B=e.computed(()=>w.value.filter(s=>p.value.includes(b(s))).every(s=>i(s))),d=e.computed(()=>C.value.length===0||z.value),u=e.computed(()=>p.value.length===0||B.value),V=()=>{const s=C.value.filter(f=>{const P=t.data.find(K=>b(K)===f);return P&&!i(P)});let r;t.targetOrder==="unshift"?r=[...s,...t.modelValue]:r=[...t.modelValue,...s],n("update:modelValue",r),n("change",r,"right",s),C.value=[]},F=()=>{const s=p.value.filter(f=>{const P=t.data.find(K=>b(K)===f);return P&&!i(P)}),r=t.modelValue.filter(f=>!s.includes(f));n("update:modelValue",r),n("change",r,"left",s),p.value=[]},R=s=>{const r=C.value.indexOf(s);r>-1?C.value.splice(r,1):C.value.push(s),n("left-check-change",[...C.value])},A=s=>{const r=p.value.indexOf(s);r>-1?p.value.splice(r,1):p.value.push(s),n("right-check-change",[...p.value])},U=()=>{C.value.length===y.value.filter(s=>!i(s)).length?C.value=[]:C.value=y.value.filter(s=>!i(s)).map(s=>b(s)),n("left-check-change",[...C.value])},E=()=>{p.value.length===w.value.filter(s=>!i(s)).length?p.value=[]:p.value=w.value.filter(s=>!i(s)).map(s=>b(s)),n("right-check-change",[...p.value])},x=s=>{s==="left"?k.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:C.value.length>0&&C.value.length===y.value.filter(f=>!i(f)).length,indeterminate:C.value.length>0&&C.value.length<y.value.filter(f=>!i(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(C.value.length)+" / "+e.toDisplayString(y.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=>k.value=f),placeholder:o.filterPlaceholder,class:e.normalizeClass(e.unref(a).e("filter-input"))},null,10,pt),[[e.vModelText,k.value]]),k.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(y.value,f=>(e.openBlock(),e.createElementBlock("div",{key:b(f),class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("disabled",i(f)),e.unref(a).is("checked",C.value.includes(b(f)))]),onClick:P=>!i(f)&&R(b(f))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(a).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:C.value.includes(b(f)),disabled:i(f),onClick:r[2]||(r[2]=e.withModifiers(()=>{},["stop"])),onChange:P=>R(b(f))},null,40,gt),e.createElementVNode("span",null,e.toDisplayString(M(f)),1)],2)],10,ht))),128)),y.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",d.value)]),disabled:d.value,onClick:V},e.toDisplayString(o.buttonTexts[0]||">"),11,kt),e.createElementVNode("button",{class:e.normalizeClass([e.unref(a).e("button"),e.unref(a).is("disabled",u.value)]),disabled:u.value,onClick:F},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:p.value.length>0&&p.value.length===w.value.filter(f=>!i(f)).length,indeterminate:p.value.length>0&&p.value.length<w.value.filter(f=>!i(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(p.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:b(f),class:e.normalizeClass([e.unref(a).e("item"),e.unref(a).is("disabled",i(f)),e.unref(a).is("checked",p.value.includes(b(f)))]),onClick:P=>!i(f)&&A(b(f))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(a).e("checkbox"))},[e.createElementVNode("input",{type:"checkbox",checked:p.value.includes(b(f)),disabled:i(f),onClick:r[5]||(r[5]=e.withModifiers(()=>{},["stop"])),onChange:P=>A(b(f))},null,40,Bt),e.createElementVNode("span",null,e.toDisplayString(M(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(),m=e.ref(!1),g=e.ref(!1),k=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),C=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}),p=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,P={};return typeof s=="string"?f=s:(f=s.label||String(h),P=s.style||{}),{value:h,pos:r,label:f,style:P}}):[]),b=()=>a.value?l.vertical?a.value.offsetHeight:a.value.offsetWidth:0,M=(x,h)=>{if(!a.value)return l.modelValue;const s=a.value.getBoundingClientRect(),r=b();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 P=l.min+f/100*(l.max-l.min),K=Math.round(P/l.step)*l.step;return Math.max(l.min,Math.min(l.max,K))},i=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))},y=x=>{if(l.disabled)return;x.preventDefault(),g.value=!0,m.value=!0;const h=M(x.clientX,x.clientY);i(h),document.addEventListener("mousemove",w),document.addEventListener("mouseup",z)},w=x=>{if(!g.value)return;const h=M(x.clientX,x.clientY);i(h)},z=()=>{g.value=!1,t("change",l.modelValue),document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",z)},B=x=>{if(l.disabled)return;x.preventDefault(),g.value=!0,m.value=!0;const h=x.touches[0],s=M(h.clientX,h.clientY);i(s)},d=x=>{if(!g.value)return;const h=x.touches[0],s=M(h.clientX,h.clientY);i(s)},u=()=>{g.value=!1,t("change",l.modelValue)},V=()=>{l.showTooltip&&(m.value=!0)},F=()=>{g.value||(m.value=!1)};e.onUnmounted(()=>{document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",z)});const R=e.computed(()=>[n.b(),n.is("disabled",l.disabled),n.is("vertical",l.vertical)]),A=e.computed(()=>l.vertical&&l.height?{height:typeof l.height=="number"?`${l.height}px`:l.height}:{}),U=e.computed(()=>l.vertical?{height:`${k.value}%`}:{width:`${k.value}%`}),E=e.computed(()=>l.vertical?{bottom:`${k.value}%`}:{left:`${k.value}%`});return(x,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(R.value),style:e.normalizeStyle(A.value)},[e.createElementVNode("div",{ref_key:"sliderRef",ref:a,class:e.normalizeClass(e.unref(n).e("runway")),onMousedown:y,onTouchstart:B},[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(C.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),p.value.length>0?(e.openBlock(),e.createElementBlock("div",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.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:V,onMouseleave:F,onTouchmove:d,onTouchend:u},[o.showTooltip&&m.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(),m=e.ref([...t.fileList]),g=e.ref(!1);let k=1;const N=()=>Date.now()+k++,C=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},p=e.computed(()=>t.limit?m.value.length<t.limit:!0),b=e.computed(()=>[a.b(),a.is("disabled",t.disabled),a.is("drag",t.drag),a.m(t.listType)]),M=E=>{const x=E.target.files;!x||x.length===0||(i(Array.from(x)),c.value&&(c.value.value=""))},i=async E=>{var x,h;if(t.limit&&m.value.length+E.length>t.limit){n("exceed",E,m.value),(x=t.onExceed)==null||x.call(t,E,m.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 y(s),r.url=r.thumbUrl),m.value.push(r),n("update:fileList",m.value),n("change",r,m.value),(h=t.onChange)==null||h.call(t,r,m.value),t.autoUpload&&w(r)}},y=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||z)({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,m.value),(s=t.onProgress)==null||s.call(t,h,E,m.value)},onSuccess:h=>{var s;E.status="success",E.response=h,n("success",h,E,m.value),(s=t.onSuccess)==null||s.call(t,h,E,m.value)},onError:h=>{var s;E.status="error",n("error",h,E,m.value),(s=t.onError)==null||s.call(t,h,E,m.value)}})},z=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)}),B=async E=>{var h;if(t.beforeRemove&&await t.beforeRemove(E,m.value)===!1)return;const x=m.value.findIndex(s=>s.uid===E.uid);x>-1&&(m.value.splice(x,1),n("update:fileList",m.value),n("remove",E,m.value),(h=t.onRemove)==null||h.call(t,E,m.value))},d=()=>{m.value.filter(E=>E.status==="ready"&&E.raw).forEach(E=>w(E))},u=()=>{m.value=[],n("update:fileList",m.value)},V=()=>{var E;t.disabled||(E=c.value)==null||E.click()},F=E=>{E.preventDefault(),!t.disabled&&t.drag&&(g.value=!0)},R=()=>{g.value=!1},A=E=>{var h;if(E.preventDefault(),g.value=!1,t.disabled)return;const x=(h=E.dataTransfer)==null?void 0:h.files;x&&x.length>0&&i(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:d,clearFiles:u,uploadFiles:m}),(E,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[o.drag?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(a).e("drag"),e.unref(a).is("dragover",g.value)]),onClick:V,onDragover:F,onDragleave:R,onDrop:A},[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(m.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=>B(h)},"🗑️",8,Rt)],2)],2))),128)),p.value?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass(e.unref(a).e("upload-card")),onClick:V},[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:V},[e.renderSlot(E.$slots,"trigger",{},()=>[p.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&&m.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(m.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(C(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=>B(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(C(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=>B(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:M},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),m=e.computed(()=>[n.b(),n.m(l.size),n.is("disabled",l.disabled),n.is("readonly",l.readonly)]),g=i=>l.disabled?l.disabledVoidColor:i<=l.lowThreshold?l.colors[0]:i<=l.highThreshold?l.colors[1]||l.colors[0]:l.colors[2]||l.colors[1]||l.colors[0],k=i=>{const y=c.value;return y>=i?100:l.allowHalf&&y>=i-.5?50:0},N=i=>k(i)>0?g(c.value):l.disabled?l.disabledVoidColor:l.voidColor,C=e.computed(()=>{if(l.showScore)return l.scoreTemplate.replace("{value}",String(l.modelValue));if(l.showText){const i=Math.min(Math.ceil(l.modelValue||0),l.max)-1;return l.texts[Math.max(0,i)]||""}return""}),p=(i,y)=>{if(!(l.disabled||l.readonly))if(l.allowHalf){const z=y.currentTarget.getBoundingClientRect(),B=y.clientX-z.left<z.width/2;a.value=B?i-.5:i}else a.value=i},b=()=>{l.disabled||l.readonly||(a.value=-1)},M=(i,y)=>{if(l.disabled||l.readonly)return;let w;if(l.allowHalf){const B=y.currentTarget.getBoundingClientRect();w=y.clientX-B.left<B.width/2?i-.5:i}else w=i;t("update:modelValue",w),t("change",w)};return(i,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value),onMouseleave:b},[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:z=>p(w,z),onClick:z=>M(w,z)},[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"),k(w)>0?"is-active":""]),style:e.normalizeStyle({color:N(w),clipPath:`inset(0 ${100-k(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(C.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),m=e.ref("input"),g=e.computed(()=>[n.b(),n.is("editable",l.editable)]),k=e.computed(()=>a.value.length<l.maxFields);e.watch(()=>l.fields,d=>{a.value=[...d].sort((u,V)=>(u.order||0)-(V.order||0))},{immediate:!0,deep:!0});const N=()=>`field_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,C=()=>{if(!k.value)return;const d={id:N(),name:`field_${a.value.length+1}`,label:"新字段",type:m.value,required:!1,order:a.value.length};a.value.push(d),t("add",d),t("update:fields",a.value)},p=d=>{const u=a.value.findIndex(V=>V.id===d);u!==-1&&(a.value[u],a.value.splice(u,1),t("remove",d),t("update:fields",a.value))},b=d=>{const u=a.value.findIndex(V=>V.id===d);if(u>0){const V=a.value[u];a.value[u]=a.value[u-1],a.value[u-1]=V,i(),t("sort",a.value),t("update:fields",a.value)}},M=d=>{const u=a.value.findIndex(V=>V.id===d);if(u<a.value.length-1){const V=a.value[u];a.value[u]=a.value[u+1],a.value[u+1]=V,i(),t("sort",a.value),t("update:fields",a.value)}},i=()=>{a.value.forEach((d,u)=>{d.order=u})},y=d=>{c.value={...d}},w=()=>{if(c.value){const d=a.value.findIndex(u=>u.id===c.value.id);d!==-1&&(a.value[d]=c.value,t("update",c.value.id,c.value),t("update:fields",a.value)),c.value=null}},z=()=>{c.value=null},B=d=>{const u=l.availableTypes.find(V=>V.value===d);return(u==null?void 0:u.label)||d};return(d,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(g.value)},[o.editable&&k.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("add"))},[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u[0]||(u[0]=V=>m.value=V),class:e.normalizeClass(e.unref(n).e("type-select"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.availableTypes,V=>(e.openBlock(),e.createElementBlock("option",{key:V.value,value:V.value},e.toDisplayString(V.label),9,Wt))),128))],2),[[e.vModelSelect,m.value]]),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n).e("add-btn")),onClick:C}," + 添加字段 ",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,V=>(e.openBlock(),e.createElementBlock("div",{key:V.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(B(V.type)),1),e.createElementVNode("span",Gt,e.toDisplayString(V.name),1),e.createElementVNode("span",jt,e.toDisplayString(V.label),1),V.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:F=>b(V.id)}," ↑ ",8,Qt)):e.createCommentVNode("",!0),o.showSort?(e.openBlock(),e.createElementBlock("button",{key:1,class:"action-btn",title:"下移",onClick:F=>M(V.id)}," ↓ ",8,Jt)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"action-btn",title:"编辑",onClick:F=>y(V)}," ✏️ ",8,_t),e.createElementVNode("button",{class:"action-btn action-btn--danger",title:"删除",onClick:F=>p(V.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"))},[...u[6]||(u[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"},[u[7]||(u[7]=e.createElementVNode("span",null,"编辑字段",-1)),e.createElementVNode("button",{class:"close-btn",onClick:z},"✕")]),e.createElementVNode("div",ll,[e.createElementVNode("div",al,[u[8]||(u[8]=e.createElementVNode("label",null,"字段名称",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[1]||(u[1]=V=>c.value.name=V),type:"text",placeholder:"变量名称"},null,512),[[e.vModelText,c.value.name]])]),e.createElementVNode("div",nl,[u[9]||(u[9]=e.createElementVNode("label",null,"字段标签",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[2]||(u[2]=V=>c.value.label=V),type:"text",placeholder:"显示标签"},null,512),[[e.vModelText,c.value.label]])]),e.createElementVNode("div",ol,[u[10]||(u[10]=e.createElementVNode("label",null,"字段类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u[3]||(u[3]=V=>c.value.type=V)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.availableTypes,V=>(e.openBlock(),e.createElementBlock("option",{key:V.value,value:V.value},e.toDisplayString(V.label),9,sl))),128))],512),[[e.vModelSelect,c.value.type]])]),e.createElementVNode("div",rl,[u[11]||(u[11]=e.createElementVNode("label",null,"是否必填",-1)),e.createElementVNode("button",{class:e.normalizeClass(["switch-btn",{"is-on":c.value.required}]),onClick:u[4]||(u[4]=V=>c.value.required=!c.value.required)},e.toDisplayString(c.value.required?"必填":"可选"),3)]),e.createElementVNode("div",ul,[u[12]||(u[12]=e.createElementVNode("label",null,"占位文本",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[5]||(u[5]=V=>c.value.placeholder=V),type:"text",placeholder:"输入提示"},null,512),[[e.vModelText,c.value.placeholder]])])]),e.createElementVNode("div",{class:"modal-footer"},[e.createElementVNode("button",{class:"cancel-btn",onClick:z},"取消"),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;
|