vant
Version:
Mobile UI Components built on Vue
6 lines • 246 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vant={},e.Vue)}(this,(function(e,t){"use strict";function o(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const o in e)if("default"!==o){const a=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:()=>e[o]})}return t.default=e,Object.freeze(t)}const a=o(t);function n(){}const r=Object.assign,l="undefined"!=typeof window,i=e=>null!==e&&"object"==typeof e,s=e=>null!=e,c=e=>"function"==typeof e,d=e=>i(e)&&c(e.then)&&c(e.catch),u=e=>"[object Date]"===Object.prototype.toString.call(e)&&!Number.isNaN(e.getTime());function p(e){return e=e.replace(/[^-|\d]/g,""),/^((\+86)|(86))?(1)\d{10}$/.test(e)||/^0[0-9-]{10,13}$/.test(e)}const v=e=>"number"==typeof e||/^\d+(\.\d+)?$/.test(e);function m(e,t){const o=t.split(".");let a=e;return o.forEach((e=>{var t;a=i(a)&&null!=(t=a[e])?t:""})),a}function f(e,t,o){return t.reduce(((t,a)=>(o&&void 0===e[a]||(t[a]=e[a]),t)),{})}const h=(e,t)=>JSON.stringify(e)===JSON.stringify(t),g=e=>Array.isArray(e)?e:[e],b=null,y=[Number,String],w={type:Boolean,default:!0},x=e=>({type:e,required:!0}),V=()=>({type:Array,default:()=>[]}),N=e=>({type:Number,default:e}),C=e=>({type:y,default:e}),k=e=>({type:String,default:e}),S="undefined"!=typeof window;function T(e){return S?requestAnimationFrame(e):-1}function B(e){S&&cancelAnimationFrame(e)}function P(e){T((()=>T(e)))}const D=(e,t)=>({top:0,left:0,right:e,bottom:t,width:e,height:t}),O=e=>{const t=(0,a.unref)(e);if(t===window){const e=t.innerWidth,o=t.innerHeight;return D(e,o)}return(null==t?void 0:t.getBoundingClientRect)?t.getBoundingClientRect():D(0,0)};function A(e){const t=(0,a.inject)(e,null);if(t){const e=(0,a.getCurrentInstance)(),{link:o,unlink:n,internalChildren:r}=t;o(e),(0,a.onUnmounted)((()=>n(e)));return{parent:t,index:(0,a.computed)((()=>r.indexOf(e)))}}return{parent:null,index:(0,a.ref)(-1)}}const I=(e,t)=>{const o=e.indexOf(t);return-1===o?e.findIndex((e=>void 0!==t.key&&null!==t.key&&e.type===t.type&&e.key===t.key)):o};function z(e,t,o){const n=function(e){const t=[],o=e=>{Array.isArray(e)&&e.forEach((e=>{var n;(0,a.isVNode)(e)&&(t.push(e),(null==(n=e.component)?void 0:n.subTree)&&(t.push(e.component.subTree),o(e.component.subTree.children)),e.children&&o(e.children))}))};return o(e),t}(e.subTree.children);o.sort(((e,t)=>I(n,e.vnode)-I(n,t.vnode)));const r=o.map((e=>e.proxy));t.sort(((e,t)=>r.indexOf(e)-r.indexOf(t)))}function E(e){const t=(0,a.reactive)([]),o=(0,a.reactive)([]),n=(0,a.getCurrentInstance)();return{children:t,linkChildren:r=>{(0,a.provide)(e,Object.assign({link:e=>{e.proxy&&(o.push(e),t.push(e.proxy),z(n,t,o))},unlink:e=>{const a=o.indexOf(e);t.splice(a,1),o.splice(a,1)},children:t,internalChildren:o},r))}}}const $=1e3,L=6e4,M=36e5,F=24*M;function R(e){let t,o,n,r;const l=(0,a.ref)(e.time),i=(0,a.computed)((()=>{return{total:e=l.value,days:Math.floor(e/F),hours:Math.floor(e%F/M),minutes:Math.floor(e%M/L),seconds:Math.floor(e%L/$),milliseconds:Math.floor(e%$)};var e})),s=()=>{n=!1,B(t)},c=()=>Math.max(o-Date.now(),0),d=t=>{var o,a;(l.value=t,null==(o=e.onChange)||o.call(e,i.value),0===t)&&(s(),null==(a=e.onFinish)||a.call(e))},u=()=>{t=T((()=>{n&&(d(c()),l.value>0&&u())}))},p=()=>{t=T((()=>{if(n){const o=c();e=o,t=l.value,(Math.floor(e/1e3)!==Math.floor(t/1e3)||0===o)&&d(o),l.value>0&&p()}var e,t}))},v=()=>{S&&(e.millisecond?u():p())};return(0,a.onBeforeUnmount)(s),(0,a.onActivated)((()=>{r&&(n=!0,r=!1,v())})),(0,a.onDeactivated)((()=>{n&&(s(),r=!0)})),{start:()=>{n||(o=Date.now()+l.value,n=!0,v())},pause:s,reset:(t=e.time)=>{s(),l.value=t},current:i}}function H(e){let t;(0,a.onMounted)((()=>{e(),(0,a.nextTick)((()=>{t=!0}))})),(0,a.onActivated)((()=>{t&&e()}))}function j(e,t,o={}){if(!S)return;const{target:n=window,passive:r=!1,capture:l=!1}=o;let i,s=!1;const c=o=>{if(s)return;const n=(0,a.unref)(o);n&&!i&&(n.addEventListener(e,t,{capture:l,passive:r}),i=!0)},d=o=>{if(s)return;const n=(0,a.unref)(o);n&&i&&(n.removeEventListener(e,t,l),i=!1)};let u;return(0,a.onUnmounted)((()=>d(n))),(0,a.onDeactivated)((()=>d(n))),H((()=>c(n))),(0,a.isRef)(n)&&(u=(0,a.watch)(n,((e,t)=>{d(t),c(e)}))),()=>{null==u||u(),d(n),s=!0}}function W(e,t,o={}){if(!S)return;const{eventName:n="click"}=o;j(n,(o=>{(Array.isArray(e)?e:[e]).every((e=>{const t=(0,a.unref)(e);return t&&!t.contains(o.target)}))&&t(o)}),{target:document})}let U,Y;const X=/scroll|auto|overlay/i,q=S?window:void 0;function G(e){return"HTML"!==e.tagName&&"BODY"!==e.tagName&&1===e.nodeType}function Z(e,t=q){let o=e;for(;o&&o!==t&&G(o);){const{overflowY:e}=window.getComputedStyle(o);if(X.test(e))return o;o=o.parentNode}return t}function K(e,t=q){const o=(0,a.ref)();return(0,a.onMounted)((()=>{e.value&&(o.value=Z(e.value,t))})),o}let _;const J=Symbol("van-field");function Q(e){const t=(0,a.inject)(J,null);t&&!t.customValue.value&&(t.customValue.value=e,(0,a.watch)(e,(()=>{t.resetValidation(),t.validateWithTrigger("onChange")})))}function ee(e){const t="scrollTop"in e?e.scrollTop:e.pageYOffset;return Math.max(t,0)}function te(e,t){"scrollTop"in e?e.scrollTop=t:e.scrollTo(e.scrollX,t)}function oe(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}function ae(e){te(window,e),te(document.body,e)}function ne(e,t){if(e===window)return 0;const o=t?ee(t):oe();return O(e).top+o}const re=!!l&&/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());function le(){re&&ae(oe())}const ie=e=>e.stopPropagation();function se(e,t){("boolean"!=typeof e.cancelable||e.cancelable)&&e.preventDefault(),t&&ie(e)}function ce(e){const o=t.unref(e);if(!o)return!1;const a=window.getComputedStyle(o),n="none"===a.display,r=null===o.offsetParent&&"fixed"!==a.position;return n||r}const{width:de,height:ue}=function(){if(!U&&(U=(0,a.ref)(0),Y=(0,a.ref)(0),S)){const e=()=>{U.value=window.innerWidth,Y.value=window.innerHeight};e(),window.addEventListener("resize",e,{passive:!0}),window.addEventListener("orientationchange",e,{passive:!0})}return{width:U,height:Y}}();function pe(e){const t=window.getComputedStyle(e);return"none"!==t.transform||"none"!==t.perspective||["transform","perspective","filter"].some((e=>(t.willChange||"").includes(e)))}function ve(e){if(s(e))return v(e)?`${e}px`:String(e)}function me(e){if(s(e)){if(Array.isArray(e))return{width:ve(e[0]),height:ve(e[1])};const t=ve(e);return{width:t,height:t}}}function fe(e){const t={};return void 0!==e&&(t.zIndex=+e),t}let he;function ge(e){return+(e=e.replace(/rem/g,""))*function(){if(!he){const e=document.documentElement,t=e.style.fontSize||window.getComputedStyle(e).fontSize;he=parseFloat(t)}return he}()}function be(e){if("number"==typeof e)return e;if(l){if(e.includes("rem"))return ge(e);if(e.includes("vw"))return function(e){return+(e=e.replace(/vw/g,""))*de.value/100}(e);if(e.includes("vh"))return function(e){return+(e=e.replace(/vh/g,""))*ue.value/100}(e)}return parseFloat(e)}const ye=/-(\w)/g,we=e=>e.replace(ye,((e,t)=>t.toUpperCase()));function xe(e,t=2){let o=e+"";for(;o.length<t;)o="0"+o;return o}const Ve=(e,t,o)=>Math.min(Math.max(e,t),o);function Ne(e,t,o){const a=e.indexOf(t);return-1===a?e:"-"===t&&0!==a?e.slice(0,a):e.slice(0,a+1)+e.slice(a).replace(o,"")}function Ce(e,t=!0,o=!0){e=t?Ne(e,".",/\./g):e.split(".")[0];const a=t?/[^-0-9.]/g:/[^-0-9]/g;return(e=o?Ne(e,"-",/-/g):e.replace(/-/,"")).replace(a,"")}function ke(e,t){const o=10**10;return Math.round((e+t)*o)/o}const{hasOwnProperty:Se}=Object.prototype;function Te(e,t){return Object.keys(t).forEach((o=>{!function(e,t,o){const a=t[o];s(a)&&(Se.call(e,o)&&i(a)?e[o]=Te(Object(e[o]),a):e[o]=a)}(e,t,o)})),e}const Be=t.ref("zh-CN"),Pe=t.reactive({"zh-CN":{name:"姓名",tel:"电话",save:"保存",clear:"清空",cancel:"取消",confirm:"确认",delete:"删除",loading:"加载中...",noCoupon:"暂无优惠券",nameEmpty:"请填写姓名",addContact:"添加联系人",telInvalid:"请填写正确的电话",vanCalendar:{end:"结束",start:"开始",title:"日期选择",weekdays:["日","一","二","三","四","五","六"],monthTitle:(e,t)=>`${e}年${t}月`,rangePrompt:e=>`最多选择 ${e} 天`},vanCascader:{select:"请选择"},vanPagination:{prev:"上一页",next:"下一页"},vanPullRefresh:{pulling:"下拉即可刷新...",loosing:"释放即可刷新..."},vanSubmitBar:{label:"合计:"},vanCoupon:{unlimited:"无门槛",discount:e=>`${e}折`,condition:e=>`满${e}元可用`},vanCouponCell:{title:"优惠券",count:e=>`${e}张可用`},vanCouponList:{exchange:"兑换",close:"不使用",enable:"可用",disabled:"不可用",placeholder:"输入优惠码"},vanAddressEdit:{area:"地区",areaEmpty:"请选择地区",addressEmpty:"请填写详细地址",addressDetail:"详细地址",defaultAddress:"设为默认收货地址"},vanAddressList:{add:"新增地址"}}}),De={messages:()=>Pe[Be.value],use(e,t){Be.value=e,this.add({[e]:t})},add(e={}){Te(Pe,e)}};var Oe=De;function Ae(e){const t=we(e)+".";return(e,...o)=>{const a=Oe.messages(),n=m(a,t+e)||m(a,e);return c(n)?n(...o):n}}function Ie(e,t){return t?"string"==typeof t?` ${e}--${t}`:Array.isArray(t)?t.reduce(((t,o)=>t+Ie(e,o)),""):Object.keys(t).reduce(((o,a)=>o+(t[a]?Ie(e,a):"")),""):""}function ze(e){return(t,o)=>(t&&"string"!=typeof t&&(o=t,t=""),`${t=t?`${e}__${t}`:e}${Ie(t,o)}`)}function Ee(e){const t=`van-${e}`;return[t,ze(t),Ae(t)]}const $e="van-hairline",Le=`${$e}--top`,Me=`${$e}--left`,Fe=`${$e}--right`,Re=`${$e}--bottom`,He=`${$e}--surround`,je=`${$e}--top-bottom`,We=`${$e}-unset--top-bottom`,Ue="van-haptics-feedback",Ye=Symbol("van-form");function Xe(e,{args:t=[],done:o,canceled:a,error:r}){if(e){const l=e.apply(null,t);d(l)?l.then((e=>{e?o():a&&a()})).catch(r||n):l?o():a&&a()}else o()}function qe(e){return e.install=t=>{const{name:o}=e;o&&(t.component(o,e),t.component(we(`-${o}`),e))},e}function Ge(e,t){return e.reduce(((e,o)=>Math.abs(e-t)<Math.abs(o-t)?e:o))}const Ze=Symbol();function Ke(e){const o=t.inject(Ze,null);o&&t.watch(o,(t=>{t&&e()}))}const _e=(e,o)=>{const a=t.ref(),n=()=>{a.value=O(e).height};return t.onMounted((()=>{if(t.nextTick(n),o)for(let e=1;e<=3;e++)setTimeout(n,100*e)})),Ke((()=>t.nextTick(n))),t.watch([de,ue],n),a};function Je(e,o){const a=_e(e,!0);return e=>t.createVNode("div",{class:o("placeholder"),style:{height:a.value?`${a.value}px`:void 0}},[e()])}const[Qe,et]=Ee("action-bar"),tt=Symbol(Qe),ot={placeholder:Boolean,safeAreaInsetBottom:w};const at=qe(t.defineComponent({name:Qe,props:ot,setup(e,{slots:o}){const a=t.ref(),n=Je(a,et),{linkChildren:r}=E(tt);r();const l=()=>{var n;return t.createVNode("div",{ref:a,class:[et(),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[null==(n=o.default)?void 0:n.call(o)])};return()=>e.placeholder?n(l):l()}}));function nt(e){const o=t.getCurrentInstance();o&&r(o.proxy,e)}const rt={to:[String,Object],url:String,replace:Boolean};function lt({to:e,url:t,replace:o,$router:a}){e&&a?a[o?"replace":"push"](e):t&&(o?location.replace(t):location.href=t)}function it(){const e=t.getCurrentInstance().proxy;return()=>lt(e)}const[st,ct]=Ee("badge"),dt={dot:Boolean,max:y,tag:k("div"),color:String,offset:Array,content:y,showZero:w,position:k("top-right")};const ut=qe(t.defineComponent({name:st,props:dt,setup(e,{slots:o}){const a=()=>{if(o.content)return!0;const{content:t,showZero:a}=e;return s(t)&&""!==t&&(a||0!==t&&"0"!==t)},n=()=>{const{dot:t,max:n,content:r}=e;if(!t&&a())return o.content?o.content():s(n)&&v(r)&&+r>+n?`${n}+`:r},r=e=>e.startsWith("-")?e.replace("-",""):`-${e}`,l=t.computed((()=>{const t={background:e.color};if(e.offset){const[a,n]=e.offset,{position:l}=e,[i,s]=l.split("-");o.default?(t[i]="number"==typeof n?ve("top"===i?n:-n):"top"===i?ve(n):r(n),t[s]="number"==typeof a?ve("left"===s?a:-a):"left"===s?ve(a):r(a)):(t.marginTop=ve(n),t.marginLeft=ve(a))}return t})),i=()=>{if(a()||e.dot)return t.createVNode("div",{class:ct([e.position,{dot:e.dot,fixed:!!o.default}]),style:l.value},[n()])};return()=>{if(o.default){const{tag:a}=e;return t.createVNode(a,{class:ct("wrapper")},{default:()=>[o.default(),i()]})}return i()}}}));let pt=2e3;const[vt,mt]=Ee("config-provider"),ft=Symbol(vt),ht={tag:k("div"),theme:k("light"),zIndex:Number,themeVars:Object,themeVarsDark:Object,themeVarsLight:Object,themeVarsScope:k("local"),iconPrefix:String};function gt(e={},t={}){Object.keys(e).forEach((o=>{e[o]!==t[o]&&document.documentElement.style.setProperty(o,e[o])})),Object.keys(t).forEach((t=>{e[t]||document.documentElement.style.removeProperty(t)}))}var bt=t.defineComponent({name:vt,props:ht,setup(e,{slots:o}){const a=t.computed((()=>function(e){const t={};return Object.keys(e).forEach((o=>{const a=o.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,"").replace(/([a-zA-Z])(\d)/g,"$1-$2");t[`--van-${a}`]=e[o]})),t}(r({},e.themeVars,"dark"===e.theme?e.themeVarsDark:e.themeVarsLight))));if(l){const o=()=>{document.documentElement.classList.add(`van-theme-${e.theme}`)},n=(t=e.theme)=>{document.documentElement.classList.remove(`van-theme-${t}`)};t.watch((()=>e.theme),((e,t)=>{t&&n(t),o()}),{immediate:!0}),t.onActivated(o),t.onDeactivated(n),t.onBeforeUnmount(n),t.watch(a,((t,o)=>{"global"===e.themeVarsScope&>(t,o)})),t.watch((()=>e.themeVarsScope),((e,t)=>{"global"===t&>({},a.value),"global"===e&>(a.value,{})})),"global"===e.themeVarsScope&>(a.value,{})}return t.provide(ft,e),t.watchEffect((()=>{var t;void 0!==e.zIndex&&(t=e.zIndex,pt=t)})),()=>t.createVNode(e.tag,{class:mt(),style:"local"===e.themeVarsScope?a.value:void 0},{default:()=>{var e;return[null==(e=o.default)?void 0:e.call(o)]}})}});const[yt,wt]=Ee("icon"),xt={dot:Boolean,tag:k("i"),name:String,size:y,badge:y,color:String,badgeProps:Object,classPrefix:String};const Vt=qe(t.defineComponent({name:yt,props:xt,setup(e,{slots:o}){const a=t.inject(ft,null),n=t.computed((()=>e.classPrefix||(null==a?void 0:a.iconPrefix)||wt()));return()=>{const{tag:a,dot:r,name:l,size:i,badge:s,color:c}=e,d=(e=>null==e?void 0:e.includes("/"))(l);return t.createVNode(ut,t.mergeProps({dot:r,tag:a,class:[n.value,d?"":`${n.value}-${l}`],style:{color:c,fontSize:ve(i)},content:s},e.badgeProps),{default:()=>{var e;return[null==(e=o.default)?void 0:e.call(o),d&&t.createVNode("img",{class:wt("image"),src:l},null)]}})}}}));var Nt=Vt;const[Ct,kt]=Ee("loading"),St=Array(12).fill(null).map(((e,o)=>t.createVNode("i",{class:kt("line",String(o+1))},null))),Tt=t.createVNode("svg",{class:kt("circular"),viewBox:"25 25 50 50"},[t.createVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),Bt={size:y,type:k("circular"),color:String,vertical:Boolean,textSize:y,textColor:String};const Pt=qe(t.defineComponent({name:Ct,props:Bt,setup(e,{slots:o}){const a=t.computed((()=>r({color:e.color},me(e.size)))),n=()=>{const n="spinner"===e.type?St:Tt;return t.createVNode("span",{class:kt("spinner",e.type),style:a.value},[o.icon?o.icon():n])},l=()=>{var a;if(o.default)return t.createVNode("span",{class:kt("text"),style:{fontSize:ve(e.textSize),color:null!=(a=e.textColor)?a:e.color}},[o.default()])};return()=>{const{type:o,vertical:a}=e;return t.createVNode("div",{class:kt([o,{vertical:a}]),"aria-live":"polite","aria-busy":!0},[n(),l()])}}})),[Dt,Ot]=Ee("button"),At=r({},rt,{tag:k("button"),text:String,icon:String,type:k("default"),size:k("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:k("button"),loadingSize:y,loadingText:String,loadingType:String,iconPosition:k("left")});const It=qe(t.defineComponent({name:Dt,props:At,emits:["click"],setup(e,{emit:o,slots:a}){const n=it(),r=()=>e.loading?a.loading?a.loading():t.createVNode(Pt,{size:e.loadingSize,type:e.loadingType,class:Ot("loading")},null):a.icon?t.createVNode("div",{class:Ot("icon")},[a.icon()]):e.icon?t.createVNode(Vt,{name:e.icon,class:Ot("icon"),classPrefix:e.iconPrefix},null):void 0,l=()=>{let o;if(o=e.loading?e.loadingText:a.default?a.default():e.text,o)return t.createVNode("span",{class:Ot("text")},[o])},i=()=>{const{color:t,plain:o}=e;if(t){const e={color:o?t:"white"};return o||(e.background=t),t.includes("gradient")?e.border=0:e.borderColor=t,e}},s=t=>{e.loading?se(t):e.disabled||(o("click",t),n())};return()=>{const{tag:o,type:a,size:n,block:c,round:d,plain:u,square:p,loading:v,disabled:m,hairline:f,nativeType:h,iconPosition:g}=e,b=[Ot([a,n,{plain:u,block:c,round:d,square:p,loading:v,disabled:m,hairline:f}]),{[He]:f}];return t.createVNode(o,{type:h,class:b,style:i(),disabled:m,onClick:s},{default:()=>[t.createVNode("div",{class:Ot("content")},["left"===g&&r(),l(),"right"===g&&r()])]})}}})),[zt,Et]=Ee("action-bar-button"),$t=r({},rt,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});const Lt=qe(t.defineComponent({name:zt,props:$t,setup(e,{slots:o}){const a=it(),{parent:n,index:r}=A(tt),l=t.computed((()=>{if(n){const e=n.children[r.value-1];return!(e&&"isButton"in e)}})),i=t.computed((()=>{if(n){const e=n.children[r.value+1];return!(e&&"isButton"in e)}}));return nt({isButton:!0}),()=>{const{type:n,icon:r,text:s,color:c,loading:d,disabled:u}=e;return t.createVNode(It,{class:Et([n,{last:i.value,first:l.value}]),size:"large",type:n,icon:r,color:c,loading:d,disabled:u,onClick:a},{default:()=>[o.default?o.default():s]})}}})),[Mt,Ft]=Ee("action-bar-icon"),Rt=r({},rt,{dot:Boolean,text:String,icon:String,color:String,badge:y,iconClass:b,badgeProps:Object,iconPrefix:String});const Ht=qe(t.defineComponent({name:Mt,props:Rt,setup(e,{slots:o}){const a=it();A(tt);const n=()=>{const{dot:a,badge:n,icon:r,color:l,iconClass:i,badgeProps:s,iconPrefix:c}=e;return o.icon?t.createVNode(ut,t.mergeProps({dot:a,class:Ft("icon"),content:n},s),{default:o.icon}):t.createVNode(Vt,{tag:"div",dot:a,name:r,badge:n,color:l,class:[Ft("icon"),i],badgeProps:s,classPrefix:c},null)};return()=>t.createVNode("div",{role:"button",class:Ft(),tabindex:0,onClick:a},[n(),o.default?o.default():e.text])}})),jt={show:Boolean,zIndex:y,overlay:w,duration:y,teleport:[String,Object],lockScroll:w,lazyRender:w,beforeClose:Function,overlayStyle:Object,overlayClass:b,transitionAppear:Boolean,closeOnClickOverlay:w},Wt=Object.keys(jt);function Ut(){const e=t.ref(0),o=t.ref(0),a=t.ref(0),n=t.ref(0),r=t.ref(0),l=t.ref(0),i=t.ref(""),s=t.ref(!0),c=()=>{a.value=0,n.value=0,r.value=0,l.value=0,i.value="",s.value=!0};return{move:t=>{const c=t.touches[0];a.value=(c.clientX<0?0:c.clientX)-e.value,n.value=c.clientY-o.value,r.value=Math.abs(a.value),l.value=Math.abs(n.value);var d,u;(!i.value||r.value<10&&l.value<10)&&(i.value=(d=r.value,u=l.value,d>u?"horizontal":u>d?"vertical":"")),s.value&&(r.value>5||l.value>5)&&(s.value=!1)},start:t=>{c(),e.value=t.touches[0].clientX,o.value=t.touches[0].clientY},reset:c,startX:e,startY:o,deltaX:a,deltaY:n,offsetX:r,offsetY:l,direction:i,isVertical:()=>"vertical"===i.value,isHorizontal:()=>"horizontal"===i.value,isTap:s}}let Yt=0;const Xt="van-overflow-hidden";function qt(e,o){const a=Ut(),n=t=>{a.move(t);const o=a.deltaY.value>0?"10":"01",n=Z(t.target,e.value),{scrollHeight:r,offsetHeight:l,scrollTop:i}=n;let s="11";0===i?s=l>=r?"00":"01":i+l>=r&&(s="10"),"11"===s||!a.isVertical()||parseInt(s,2)&parseInt(o,2)||se(t,!0)},r=()=>{document.addEventListener("touchstart",a.start),document.addEventListener("touchmove",n,{passive:!1}),Yt||document.body.classList.add(Xt),Yt++},l=()=>{Yt&&(document.removeEventListener("touchstart",a.start),document.removeEventListener("touchmove",n),Yt--,Yt||document.body.classList.remove(Xt))},i=()=>o()&&l();H((()=>o()&&r())),t.onDeactivated(i),t.onBeforeUnmount(i),t.watch(o,(e=>{e?r():l()}))}function Gt(e){const o=t.ref(!1);return t.watch(e,(e=>{e&&(o.value=e)}),{immediate:!0}),e=>()=>o.value?e():null}const Zt=()=>{var e;const{scopeId:o}=(null==(e=t.getCurrentInstance())?void 0:e.vnode)||{};return o?{[o]:""}:null},[Kt,_t]=Ee("overlay"),Jt={show:Boolean,zIndex:y,duration:y,className:b,lockScroll:w,lazyRender:w,customStyle:Object,teleport:[String,Object]};const Qt=qe(t.defineComponent({name:Kt,inheritAttrs:!1,props:Jt,setup(e,{attrs:o,slots:a}){const n=t.ref(),l=Gt((()=>e.show||!e.lazyRender))((()=>{var l;const i=r(fe(e.zIndex),e.customStyle);return s(e.duration)&&(i.animationDuration=`${e.duration}s`),t.withDirectives(t.createVNode("div",t.mergeProps({ref:n,style:i,class:[_t(),e.className]},o),[null==(l=a.default)?void 0:l.call(a)]),[[t.vShow,e.show]])}));return j("touchmove",(t=>{e.lockScroll&&se(t,!0)}),{target:n}),()=>{const o=t.createVNode(t.Transition,{name:"van-fade",appear:!0},{default:l});return e.teleport?t.createVNode(t.Teleport,{to:e.teleport},{default:()=>[o]}):o}}})),eo=r({},jt,{round:Boolean,position:k("center"),closeIcon:k("cross"),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:k("top-right"),destroyOnClose:Boolean,safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[to,oo]=Ee("popup");const ao=qe(t.defineComponent({name:to,inheritAttrs:!1,props:eo,emits:["open","close","opened","closed","keydown","update:show","clickOverlay","clickCloseIcon"],setup(e,{emit:o,attrs:a,slots:n}){let r,l;const i=t.ref(),c=t.ref(),d=Gt((()=>e.show||!e.lazyRender)),u=t.computed((()=>{const t={zIndex:i.value};if(s(e.duration)){t["center"===e.position?"animationDuration":"transitionDuration"]=`${e.duration}s`}return t})),p=()=>{r||(r=!0,i.value=void 0!==e.zIndex?+e.zIndex:++pt,o("open"))},v=()=>{r&&Xe(e.beforeClose,{done(){r=!1,o("close"),o("update:show",!1)}})},m=t=>{o("clickOverlay",t),e.closeOnClickOverlay&&v()},f=()=>{if(e.overlay)return t.createVNode(Qt,t.mergeProps({show:e.show,class:e.overlayClass,zIndex:i.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?"button":void 0,tabindex:e.closeOnClickOverlay?0:void 0},Zt(),{onClick:m}),{default:n["overlay-content"]})},h=e=>{o("clickCloseIcon",e),v()},g=()=>{if(e.closeable)return t.createVNode(Vt,{role:"button",tabindex:0,name:e.closeIcon,class:[oo("close-icon",e.closeIconPosition),Ue],classPrefix:e.iconPrefix,onClick:h},null)};let b;const y=()=>{b&&clearTimeout(b),b=setTimeout((()=>{o("opened")}))},w=()=>o("closed"),x=e=>o("keydown",e),V=d((()=>{var o;const{destroyOnClose:r,round:l,position:i,safeAreaInsetTop:s,safeAreaInsetBottom:d,show:p}=e;if(p||!r)return t.withDirectives(t.createVNode("div",t.mergeProps({ref:c,style:u.value,role:"dialog",tabindex:0,class:[oo({round:l,[i]:i}),{"van-safe-area-top":s,"van-safe-area-bottom":d}],onKeydown:x},a,Zt()),[null==(o=n.default)?void 0:o.call(n),g()]),[[t.vShow,p]])})),N=()=>{const{position:o,transition:a,transitionAppear:n}=e,r="center"===o?"van-fade":`van-popup-slide-${o}`;return t.createVNode(t.Transition,{name:a||r,appear:n,onAfterEnter:y,onAfterLeave:w},{default:V})};return t.watch((()=>e.show),(e=>{e&&!r&&(p(),0===a.tabindex&&t.nextTick((()=>{var e;null==(e=c.value)||e.focus()}))),!e&&r&&(r=!1,o("close"))})),nt({popupRef:c}),qt(c,(()=>e.show&&e.lockScroll)),j("popstate",(()=>{e.closeOnPopstate&&(v(),l=!1)})),t.onMounted((()=>{e.show&&p()})),t.onActivated((()=>{l&&(o("update:show",!0),l=!1)})),t.onDeactivated((()=>{e.show&&e.teleport&&(v(),l=!0)})),t.provide(Ze,(()=>e.show)),()=>e.teleport?t.createVNode(t.Teleport,{to:e.teleport},{default:()=>[f(),N()]}):t.createVNode(t.Fragment,null,[f(),N()])}})),[no,ro]=Ee("action-sheet"),lo=r({},jt,{title:String,round:w,actions:V(),closeIcon:k("cross"),closeable:w,cancelText:String,description:String,closeOnPopstate:w,closeOnClickAction:Boolean,safeAreaInsetBottom:w}),io=[...Wt,"round","closeOnPopstate","safeAreaInsetBottom"];const so=qe(t.defineComponent({name:no,props:lo,emits:["select","cancel","update:show"],setup(e,{slots:o,emit:a}){const n=e=>a("update:show",e),r=()=>{n(!1),a("cancel")},l=()=>{if(e.title)return t.createVNode("div",{class:ro("header")},[e.title,e.closeable&&t.createVNode(Vt,{name:e.closeIcon,class:[ro("close"),Ue],onClick:r},null)])},i=()=>{if(o.cancel||e.cancelText)return[t.createVNode("div",{class:ro("gap")},null),t.createVNode("button",{type:"button",class:ro("cancel"),onClick:r},[o.cancel?o.cancel():e.cancelText])]},s=e=>{if(e.icon)return t.createVNode(Vt,{class:ro("item-icon"),name:e.icon},null)},c=(e,a)=>e.loading?t.createVNode(Pt,{class:ro("loading-icon")},null):o.action?o.action({action:e,index:a}):[t.createVNode("span",{class:ro("name")},[e.name]),e.subname&&t.createVNode("div",{class:ro("subname")},[e.subname])],d=(o,r)=>{const{color:l,loading:i,callback:d,disabled:u,className:p}=o;return t.createVNode("button",{type:"button",style:{color:l},class:[ro("item",{loading:i,disabled:u}),p],onClick:()=>{u||i||(d&&d(o),e.closeOnClickAction&&n(!1),t.nextTick((()=>a("select",o,r))))}},[s(o),c(o,r)])},u=()=>{if(e.description||o.description){const a=o.description?o.description():e.description;return t.createVNode("div",{class:ro("description")},[a])}};return()=>t.createVNode(ao,t.mergeProps({class:ro(),position:"bottom","onUpdate:show":n},f(e,io)),{default:()=>{var a;return[l(),u(),t.createVNode("div",{class:ro("content")},[e.actions.map(d),null==(a=o.default)?void 0:a.call(o)]),i()]}})}})),[co,uo,po]=Ee("picker"),vo=e=>e.find((e=>!e.disabled))||e[0];function mo(e,t){for(let o=t=Ve(t,0,e.length);o<e.length;o++)if(!e[o].disabled)return o;for(let o=t-1;o>=0;o--)if(!e[o].disabled)return o;return 0}const fo=(e,t,o)=>void 0!==t&&e.some((e=>e[o.value]===t));function ho(e,t,o){const a=e.findIndex((e=>e[o.value]===t));return e[mo(e,a)]}const[go,bo]=Ee("picker-column"),yo=Symbol(go);var wo=t.defineComponent({name:go,props:{value:y,fields:x(Object),options:V(),readonly:Boolean,allowHtml:Boolean,optionHeight:x(Number),swipeDuration:x(y),visibleOptionNum:x(y)},emits:["change","clickOption","scrollInto"],setup(e,{emit:o,slots:a}){let n,r,l,i,s;const c=t.ref(),d=t.ref(),u=t.ref(0),p=t.ref(0),v=Ut(),m=()=>e.options.length,f=()=>e.optionHeight*(+e.visibleOptionNum-1)/2,h=t=>{let a=mo(e.options,t);const r=-a*e.optionHeight,l=()=>{a>m()-1&&(a=mo(e.options,t));const n=e.options[a][e.fields.value];n!==e.value&&o("change",n)};n&&r!==u.value?s=l:l(),u.value=r},g=()=>e.readonly||!e.options.length,b=t=>Ve(Math.round(-t/e.optionHeight),0,m()-1),y=t.computed((()=>b(u.value))),w=()=>{n=!1,p.value=0,s&&(s(),s=null)},x=e=>{if(!g()){if(v.start(e),n){const e=function(e){const{transform:t}=window.getComputedStyle(e),o=t.slice(7,t.length-1).split(", ")[5];return Number(o)}(d.value);u.value=Math.min(0,e-f())}p.value=0,r=u.value,l=Date.now(),i=r,s=null}},V=()=>{if(g())return;const t=u.value-i,o=Date.now()-l;if(o<300&&Math.abs(t)>15)return void((t,o)=>{const a=Math.abs(t/o);t=u.value+a/.003*(t<0?-1:1);const n=b(t);p.value=+e.swipeDuration,h(n)})(t,o);const a=b(u.value);p.value=200,h(a),setTimeout((()=>{n=!1}),0)},N=()=>{const r={height:`${e.optionHeight}px`};return e.options.map(((l,i)=>{const c=l[e.fields.text],{disabled:d}=l,u=l[e.fields.value],v={role:"button",style:r,tabindex:d?-1:0,class:[bo("item",{disabled:d,selected:u===e.value}),l.className],onClick:()=>(t=>{n||g()||(s=null,p.value=200,h(t),o("clickOption",e.options[t]))})(i)},m={class:"van-ellipsis",[e.allowHtml?"innerHTML":"textContent"]:c};return t.createVNode("li",v,[a.option?a.option(l,i):t.createVNode("div",m,null)])}))};return A(yo),nt({stopMomentum:w}),t.watchEffect((()=>{const t=n?Math.floor(-u.value/e.optionHeight):e.options.findIndex((t=>t[e.fields.value]===e.value)),o=mo(e.options,t),a=-o*e.optionHeight;n&&o<t&&w(),u.value=a})),j("touchmove",(t=>{if(g())return;v.move(t),v.isVertical()&&(n=!0,se(t,!0));const a=Ve(r+v.deltaY.value,-m()*e.optionHeight,e.optionHeight),s=b(a);s!==y.value&&o("scrollInto",e.options[s]),u.value=a;const c=Date.now();c-l>300&&(l=c,i=a)}),{target:c}),()=>t.createVNode("div",{ref:c,class:bo(),onTouchstartPassive:x,onTouchend:V,onTouchcancel:V},[t.createVNode("ul",{ref:d,style:{transform:`translate3d(0, ${u.value+f()}px, 0)`,transitionDuration:`${p.value}ms`,transitionProperty:p.value?"all":"none"},class:bo("wrapper"),onTransitionend:w},[N()])])}});const[xo]=Ee("picker-toolbar"),Vo={title:String,cancelButtonText:String,confirmButtonText:String},No=["cancel","confirm","title","toolbar"],Co=Object.keys(Vo);var ko=t.defineComponent({name:xo,props:Vo,emits:["confirm","cancel"],setup(e,{emit:o,slots:a}){const n=()=>o("cancel"),r=()=>o("confirm"),l=()=>{var o;const r=null!=(o=e.cancelButtonText)?o:po("cancel");if(a.cancel||r)return t.createVNode("button",{type:"button",class:[uo("cancel"),Ue],onClick:n},[a.cancel?a.cancel():r])},i=()=>{var o;const n=null!=(o=e.confirmButtonText)?o:po("confirm");if(a.confirm||n)return t.createVNode("button",{type:"button",class:[uo("confirm"),Ue],onClick:r},[a.confirm?a.confirm():n])};return()=>t.createVNode("div",{class:uo("toolbar")},[a.toolbar?a.toolbar():[l(),a.title?a.title():e.title?t.createVNode("div",{class:[uo("title"),"van-ellipsis"]},[e.title]):void 0,i()]])}});const So=(e,o)=>{const a=t.ref(e());return t.watch(e,(e=>{e!==a.value&&(a.value=e)})),t.watch(a,(t=>{t!==e()&&o(t)})),a},To=Array.isArray,Bo=e=>"string"==typeof e,Po=e=>null!==e&&"object"==typeof e,Do=/\B([A-Z])/g,Oo=(e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))})((e=>e.replace(Do,"-$1").toLowerCase()));
/**
* @vue/shared v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Ao(e){if(To(e)){const t={};for(let o=0;o<e.length;o++){const a=e[o],n=Bo(a)?$o(a):Ao(a);if(n)for(const e in n)t[e]=n[e]}return t}if(Bo(e)||Po(e))return e}const Io=/;(?![^(]*\))/g,zo=/:([^]+)/,Eo=/\/\*[^]*?\*\//g;function $o(e){const t={};return e.replace(Eo,"").split(Io).forEach((e=>{if(e){const o=e.split(zo);o.length>1&&(t[o[0].trim()]=o[1].trim())}})),t}function Lo(e){let t="";if(Bo(e))t=e;else if(To(e))for(let o=0;o<e.length;o++){const a=Lo(e[o]);a&&(t+=a+" ")}else if(Po(e))for(const o in e)e[o]&&(t+=o+" ");return t.trim()}let Mo=0;function Fo(){const e=t.getCurrentInstance(),{name:o="unknown"}=(null==e?void 0:e.type)||{};return`${o}-${++Mo}`}function Ro(){const e=t.ref([]),o=[];t.onBeforeUpdate((()=>{e.value=[]}));return[e,t=>(o[t]||(o[t]=o=>{e.value[t]=o}),o[t])]}function Ho(e,o){if(!l||!window.IntersectionObserver)return;const a=new IntersectionObserver((e=>{o(e[0].intersectionRatio>0)}),{root:document.body}),n=()=>{e.value&&a.unobserve(e.value)};t.onDeactivated(n),t.onBeforeUnmount(n),H((()=>{e.value&&a.observe(e.value)}))}const[jo,Wo]=Ee("sticky"),Uo={zIndex:y,position:k("top"),container:Object,offsetTop:C(0),offsetBottom:C(0)};const Yo=qe(t.defineComponent({name:jo,props:Uo,emits:["scroll","change"],setup(e,{emit:o,slots:a}){const n=t.ref(),l=K(n),i=t.reactive({fixed:!1,width:0,height:0,transform:0}),s=t.ref(!1),c=t.computed((()=>be("top"===e.position?e.offsetTop:e.offsetBottom))),d=t.computed((()=>{if(s.value)return;const{fixed:e,height:t,width:o}=i;return e?{width:`${o}px`,height:`${t}px`}:void 0})),u=t.computed((()=>{if(!i.fixed||s.value)return;const t=r(fe(e.zIndex),{width:`${i.width}px`,height:`${i.height}px`,[e.position]:`${c.value}px`});return i.transform&&(t.transform=`translate3d(0, ${i.transform}px, 0)`),t})),p=()=>{if(!n.value||ce(n))return;const{container:t,position:a}=e,r=O(n),l=ee(window);if(i.width=r.width,i.height=r.height,"top"===a)if(t){const e=O(t),o=e.bottom-c.value-i.height;i.fixed=c.value>r.top&&e.bottom>0,i.transform=o<0?o:0}else i.fixed=c.value>r.top;else{const{clientHeight:e}=document.documentElement;if(t){const o=O(t),a=e-o.top-c.value-i.height;i.fixed=e-c.value<r.bottom&&e>o.top,i.transform=a<0?-a:0}else i.fixed=e-c.value<r.bottom}(e=>{o("scroll",{scrollTop:e,isFixed:i.fixed})})(l)};return t.watch((()=>i.fixed),(e=>o("change",e))),j("scroll",p,{target:l,passive:!0}),Ho(n,p),t.watch([de,ue],(()=>{n.value&&!ce(n)&&i.fixed&&(s.value=!0,t.nextTick((()=>{const e=O(n);i.width=e.width,i.height=e.height,s.value=!1})))})),()=>{var e;return t.createVNode("div",{ref:n,style:d.value},[t.createVNode("div",{class:Wo({fixed:i.fixed&&!s.value}),style:u.value},[null==(e=a.default)?void 0:e.call(a)])])}}})),[Xo,qo]=Ee("swipe"),Go={loop:w,width:y,height:y,vertical:Boolean,autoplay:C(0),duration:C(500),touchable:w,lazyRender:Boolean,initialSwipe:C(0),indicatorColor:String,showIndicators:w,stopPropagation:w},Zo=Symbol(Xo);const Ko=qe(t.defineComponent({name:Xo,props:Go,emits:["change","dragStart","dragEnd"],setup(e,{emit:o,slots:n}){const r=t.ref(),l=t.ref(),i=t.reactive({rect:null,width:0,height:0,offset:0,active:0,swiping:!1});let s=!1;const c=Ut(),{children:d,linkChildren:u}=E(Zo),p=t.computed((()=>d.length)),v=t.computed((()=>i[e.vertical?"height":"width"])),m=t.computed((()=>e.vertical?c.deltaY.value:c.deltaX.value)),f=t.computed((()=>{if(i.rect){return(e.vertical?i.rect.height:i.rect.width)-v.value*p.value}return 0})),h=t.computed((()=>v.value?Math.ceil(Math.abs(f.value)/v.value):p.value)),g=t.computed((()=>p.value*v.value)),b=t.computed((()=>(i.active+p.value)%p.value)),y=t.computed((()=>{const t=e.vertical?"vertical":"horizontal";return c.direction.value===t})),w=t.computed((()=>{const t={transitionDuration:`${i.swiping?0:e.duration}ms`,transform:`translate${e.vertical?"Y":"X"}(${+i.offset.toFixed(2)}px)`};if(v.value){const o=e.vertical?"height":"width",a=e.vertical?"width":"height";t[o]=`${g.value}px`,t[a]=e[a]?`${e[a]}px`:""}return t})),x=(t,o=0)=>{let a=t*v.value;e.loop||(a=Math.min(a,-f.value));let n=o-a;return e.loop||(n=Ve(n,f.value,0)),n},V=({pace:t=0,offset:a=0,emitChange:n})=>{if(p.value<=1)return;const{active:r}=i,l=(t=>{const{active:o}=i;return t?e.loop?Ve(o+t,-1,p.value):Ve(o+t,0,h.value):o})(t),s=x(l,a);if(e.loop){if(d[0]&&s!==f.value){const e=s<f.value;d[0].setOffset(e?g.value:0)}if(d[p.value-1]&&0!==s){const e=s>0;d[p.value-1].setOffset(e?-g.value:0)}}i.active=l,i.offset=s,n&&l!==r&&o("change",b.value)},N=()=>{i.swiping=!0,i.active<=-1?V({pace:p.value}):i.active>=p.value&&V({pace:-p.value})},C=()=>{N(),c.reset(),P((()=>{i.swiping=!1,V({pace:1,emitChange:!0})}))};let k;const T=()=>clearTimeout(k),B=()=>{T(),+e.autoplay>0&&p.value>1&&(k=setTimeout((()=>{C(),B()}),+e.autoplay))},D=(o=+e.initialSwipe)=>{if(!r.value)return;const a=()=>{var t,a;if(!ce(r)){const o={width:r.value.offsetWidth,height:r.value.offsetHeight};i.rect=o,i.width=+(null!=(t=e.width)?t:o.width),i.height=+(null!=(a=e.height)?a:o.height)}p.value&&-1===(o=Math.min(p.value-1,o))&&(o=p.value-1),i.active=o,i.swiping=!0,i.offset=x(o),d.forEach((e=>{e.setOffset(0)})),B()};ce(r)?t.nextTick().then(a):a()},O=()=>D(i.active);let A;const I=t=>{!e.touchable||t.touches.length>1||(c.start(t),s=!1,A=Date.now(),T(),N())},z=()=>{if(!e.touchable||!i.swiping)return;const t=Date.now()-A,a=m.value/t;if((Math.abs(a)>.25||Math.abs(m.value)>v.value/2)&&y.value){const t=e.vertical?c.offsetY.value:c.offsetX.value;let o=0;o=e.loop?t>0?m.value>0?-1:1:0:-Math[m.value>0?"ceil":"floor"](m.value/v.value),V({pace:o,emitChange:!0})}else m.value&&V({pace:0});s=!1,i.swiping=!1,o("dragEnd",{index:b.value}),B()},$=(o,a)=>{const n=a===b.value,r=n?{backgroundColor:e.indicatorColor}:void 0;return t.createVNode("i",{style:r,class:qo("indicator",{active:n})},null)};return nt({prev:()=>{N(),c.reset(),P((()=>{i.swiping=!1,V({pace:-1,emitChange:!0})}))},next:C,state:i,resize:O,swipeTo:(t,o={})=>{N(),c.reset(),P((()=>{let a;a=e.loop&&t===p.value?0===i.active?0:t:t%p.value,o.immediate?P((()=>{i.swiping=!1})):i.swiping=!1,V({pace:a-i.active,emitChange:!0})}))}}),u({size:v,props:e,count:p,activeIndicator:b}),t.watch((()=>e.initialSwipe),(e=>D(+e))),t.watch(p,(()=>D(i.active))),t.watch((()=>e.autoplay),B),t.watch([de,ue,()=>e.width,()=>e.height],O),t.watch(function(){if(!_&&(_=(0,a.ref)("visible"),S)){const e=()=>{_.value=document.hidden?"hidden":"visible"};e(),window.addEventListener("visibilitychange",e)}return _}(),(e=>{"visible"===e?B():T()})),t.onMounted(D),t.onActivated((()=>D(i.active))),Ke((()=>D(i.active))),t.onDeactivated(T),t.onBeforeUnmount(T),j("touchmove",(t=>{if(e.touchable&&i.swiping&&(c.move(t),y.value)){!e.loop&&(0===i.active&&m.value>0||i.active===p.value-1&&m.value<0)||(se(t,e.stopPropagation),V({offset:m.value}),s||(o("dragStart",{index:b.value}),s=!0))}}),{target:l}),()=>{var o;return t.createVNode("div",{ref:r,class:qo()},[t.createVNode("div",{ref:l,style:w.value,class:qo("track",{vertical:e.vertical}),onTouchstartPassive:I,onTouchend:z,onTouchcancel:z},[null==(o=n.default)?void 0:o.call(n)]),n.indicator?n.indicator({active:b.value,total:p.value}):e.showIndicators&&p.value>1?t.createVNode("div",{class:qo("indicators",{vertical:e.vertical})},[Array(p.value).fill("").map($)]):void 0])}}})),[_o,Jo]=Ee("tabs");var Qo=t.defineComponent({name:_o,props:{count:x(Number),inited:Boolean,animated:Boolean,duration:x(y),swipeable:Boolean,lazyRender:Boolean,currentIndex:x(Number)},emits:["change"],setup(e,{emit:o,slots:a}){const n=t.ref(),r=e=>o("change",e),l=()=>{var o;const l=null==(o=a.default)?void 0:o.call(a);return e.animated||e.swipeable?t.createVNode(Ko,{ref:n,loop:!1,class:Jo("track"),duration:1e3*+e.duration,touchable:e.swipeable,lazyRender:e.lazyRender,showIndicators:!1,onChange:r},{default:()=>[l]}):l},i=t=>{const o=n.value;o&&o.state.active!==t&&o.swipeTo(t,{immediate:!e.inited})};return t.watch((()=>e.currentIndex),i),t.onMounted((()=>{i(e.currentIndex)})),nt({swipeRef:n}),()=>t.createVNode("div",{class:Jo("content",{animated:e.animated||e.swipeable})},[l()])}});const[ea,ta]=Ee("tabs"),oa={type:k("line"),color:String,border:Boolean,sticky:Boolean,shrink:Boolean,active:C(0),duration:C(.3),animated:Boolean,ellipsis:w,swipeable:Boolean,scrollspy:Boolean,offsetTop:C(0),background:String,lazyRender:w,showHeader:w,lineWidth:y,lineHeight:y,beforeChange:Function,swipeThreshold:C(5),titleActiveColor:String,titleInactiveColor:String},aa=Symbol(ea);var na=t.defineComponent({name:ea,props:oa,emits:["change","scroll","rendered","clickTab","update:active"],setup(e,{emit:o,slots:a}){let n,r,l,i,c;const d=t.ref(),u=t.ref(),p=t.ref(),v=t.ref(),m=Fo(),f=K(d),[h,g]=Ro(),{children:b,linkChildren:y}=E(aa),w=t.reactive({inited:!1,position:"",lineStyle:{},currentIndex:-1}),x=t.computed((()=>b.length>+e.swipeThreshold||!e.ellipsis||e.shrink)),V=t.computed((()=>({borderColor:e.color,background:e.background}))),N=(e,t)=>{var o;return null!=(o=e.name)?o:t},C=t.computed((()=>{const e=b[w.currentIndex];if(e)return N(e,w.currentIndex)})),k=t.computed((()=>be(e.offsetTop))),S=t.computed((()=>e.sticky?k.value+n:0)),P=t=>{const o=u.value,a=h.value;if(!(x.value&&o&&a&&a[w.currentIndex]))return;const n=a[w.currentIndex].$el,r=n.offsetLeft-(o.offsetWidth-n.offsetWidth)/2;i&&i(),i=function(e,t,o){let a,n=0;const r=e.scrollLeft,l=0===o?1:Math.round(1e3*o/16);let i=r;return function o(){i+=(t-r)/l,e.scrollLeft=i,++n<l&&(a=T(o))}(),function(){B(a)}}(o,r,t?0:+e.duration)},D=()=>{const o=w.inited;t.nextTick((()=>{const t=h.value;if(!t||!t[w.currentIndex]||"line"!==e.type||ce(d.value))return;const a=t[w.currentIndex].$el,{lineWidth:n,lineHeight:r}=e,l=a.offsetLeft+a.offsetWidth/2,i={width:ve(n),backgroundColor:e.color,transform:`translateX(${l}px) translateX(-50%)`};if(o&&(i.transitionDuration=`${e.duration}s`),s(r)){const e=ve(r);i.height=e,i.borderRadius=e}w.lineStyle=i}))},A=(t,a)=>{const n=(e=>{const t=e<w.currentIndex?-1:1;for(;e>=0&&e<b.length;){if(!b[e].disabled)return e;e+=t}})(t);if(!s(n))return;const r=b[n],i=N(r,n),c=null!==w.currentIndex;w.currentIndex!==n&&(w.currentIndex=n,a||P(),D()),i!==e.active&&(o("update:active",i),c&&o("change",i,r.title)),l&&!e.scrollspy&&ae(Math.ceil(ne(d.value)-k.value))},I=(e,t)=>{const o=b.findIndex(((t,o)=>N(t,o)===e));A(-1===o?0:o,t)},z=(t=!1)=>{if(e.scrollspy){const o=b[w.currentIndex].$el;if(o&&f.value){const a=ne(o,f.value)-S.value;r=!0,c&&c(),c=function(e,t,o,a){let n,r=ee(e);const l=r<t,i=0===o?1:Math.round(1e3*o/16),s=(t-r)/i;return function o(){r+=s,(l&&r>t||!l&&r<t)&&(r=t),te(e,r),l&&r<t||!l&&r>t?n=T(o):a&&(n=T(a))}(),function(){B(n)}}(f.value,a,t?0:+e.duration,(()=>{r=!1}))}}},$=(t,a,n)=>{const{title:r,disabled:l}=b[a],i=N(b[a],a);l||(Xe(e.beforeChange,{args:[i],done:()=>{A(a),z()}}),lt(t)),o("clickTab",{name:i,title:r,event:n,disabled:l})},L=e=>{l=e.isFixed,o("scroll",e)},M=()=>{if("line"===e.type&&b.length)return t.createVNode("div",{class:ta("line"),style:w.lineStyle},null)},F=()=>{var o,n,r;const{type:l,border:i,sticky:s}=e,c=[t.createVNode("div",{ref:s?void 0:p,class:[ta("wrap"),{[je]:"line"===l&&i}]},[t.createVNode("div",{ref:u,role:"tablist",class:ta("nav",[l,{shrink:e.shrink,complete:x.value}]),style:V.value,"aria-orientation":"horizontal"},[null==(o=a["nav-left"])?void 0:o.call(a),b.map((e=>e.renderTitle($))),M(),null==(n=a["nav-right"])?void 0:n.call(a)])]),null==(r=a["nav-bottom"])?void 0:r.call(a)];return s?t.createVNode("div",{ref:p},[c]):c},R=()=>{D(),t.nextTick((()=>{var e,t;P(!0),null==(t=null==(e=v.value)?void 0:e.swipeRef.value)||t.resize()}))};t.watch((()=>[e.color,e.duration,e.lineWidth,e.lineHeight]),D),t.watch(de,R),t.watch((()=>e.active),(e=>{e!==C.value&&I(e)})),t.watch((()=>b.length),(()=>{w.inited&&(I(e.active),D(),t.nextTick((()=>{P(!0)})))}));return nt({resize:R,scrollTo:e=>{t.nextTick((()=>{I(e),z(!0)}))}}),t.onActivated(D),Ke(D),H((()=>{I(e.active,!0),t.nextTick((()=>{w.inited=!0,p.value&&(n=O(p.value).height),P(!0)}))})),Ho(d,D),j("scroll",(()=>{if(e.scrollspy&&!r){const e=(()=>{for(let e=0;e<b.length;e++){const{top:t}=O(b[e].$el);if(t>S.value)return 0===e?0:e-1}return b.length-1})();A(e)}}),{target:f,passive:!0}),y({id:m,props:e,setLine:D,scrollable:x,onRendered:(e,t)=>o("rendered",e,t),currentName:C,setTitleRefs:g,scrollIntoView:P}),()=>t.createVNode("div",{ref:d,class:ta([e.type])},[e.showHeader?e.sticky?t.createVNode(Yo,{container:d.value,offsetTop:k.value,onScroll:L},{default:()=>[F()]}):F():null,t.createVNode(Qo,{ref:v,count:b.length,inited:w.inited,animated:e.animated,duration:e.duration,swipeable:e.swipeable,lazyRender:e.lazyRender,currentIndex:w.currentIndex,onChange:A},{default:()=>{var e;return[null==(e=a.default)?void 0:e.call(a)]}})])}});const ra=Symbol(),[la,ia]=Ee("tab"),sa=t.defineComponent({name:la,props:{id:String,dot:Boolean,type:String,color:String,title:String,badge:y,shrink:Boolean,isActive:Boolean,disabled:Boolean,controls:String,scrollable:Boolean,activeColor:String,inactiveColor:String,showZeroBadge:w},setup(e,{slots:o}){const a=t.computed((()=>{const t={},{type:o,color:a,disabled:n,isActive:r,activeColor:l,inactiveColor:i}=e;a&&"card"===o&&(t.borderColor=a,n||(r?t.backgroundColor=a:t.color=a));const s=r?l:i;return s&&(t.color=s),t})),n=()=>{const a=t.createVNode("span",{class:ia("text",{ellipsis:!e.scrollable})},[o.title?o.title():e.title]);return e.dot||s(e.badge)&&""!==e.badge?t.createVNode(ut,{dot:e.dot,content:e.badge,showZero:e.showZeroBadge},{default:()=>[a]}):a};return()=>t.createVNode("div",{id:e.id,role:"tab",class:[ia([e.type,{grow:e.scrollable&&!e.shrink,shrink:e.shrink,active:e.isActive,disabled:e.disabled}])],style:a.value,tabindex:e.disabled?void 0:e.isActive?0:-1,"aria-selected":e.isActive,"aria-disabled":e.disabled||void 0,"aria-controls":e.controls,"data-allow-mismatch":"attribute"},[n()])}}),[ca,da]=Ee("swipe-item");const ua=qe(t.defineComponent({name:ca,setup(e,{slots:o}){let a;const n=t.reactive({offset:0,inited:!1,mounted:!1}),{parent:r,index:l}=A(Zo);if(!r)return;const i=t.computed((()=>{const e={},{vertical:t}=r.props;return r.size.value&&(e[t?"height":"width"]=`${r.size.value}px`),n.offset&&(e.transform=`translate${t?"Y":"X"}(${n.offset}px)`),e})),s=t.computed((()=>{const{loop:e,lazyRender:t}=r.props;if(!t||a)return!0;if(!n.mounted)return!1;const o=r.activeIndicator.value,i=r.count.value-1,s=0===o&&e?i:o-1,c=o===i&&e?0:o+1;return a=l.value===o||l.value===s||l.value===c,a}));return t.onMounted((()=>{t.nextTick((()=>{n.mounted=!0}))})),nt({setOffset:e=>{n.offset=e}}),()=>{var e;return t.createVNode("div",{class:da(),style:i.value},[s.value?null==(e=o.default)?void 0:e.call(o):null])}}})),[pa,va]=Ee("tab"),ma=r({},rt,{dot:Boolean,name:y,badge:y,title:String,disabled:Boolean,titleClass:b,titleStyle:[String,Object],showZeroBadge:w});const fa=qe(t.defineComponent({name:pa,props:ma,setup(e,{slots:o}){const a=Fo(),n=t.ref(!1),r=t.getCurrentInstance(),{parent:l,index:i}=A(aa);if(!l)return;const s=()=>{var t;return null!=(t=e.name)?t:i.value},c=t.computed((()=>{const o=s()===l.currentName.value;return o&&!n.value&&(n.value=!0,l.props.lazyRender&&t.nextTick((()=>{l.onRendered(s(),e.title)}))),o})),d=t.ref(""),u=t.ref("");t.watchEffect((()=>{const{titleClass:t,titleStyle:o}=e;d.value=t?Lo(t):"",u.value=o&&"string"!=typeof o?function(e){if(!e)return"";if(Bo(e))return e;let t="";for(const o in e){const a=e[o];(Bo(a)||"number"==typeof a)&&(t+=`${o.startsWith("--")?o:Oo(o)}:${a};`)}return t}(Ao(o)):o}));const p=t.ref(!c.value);return t.watch(c,(e=>{e?p.value=!1:P((()=>{p.value=!0}))})),t.watch((()=>e.title),(()=>{l.setLine(),l.scrollIntoView()})),t.provide(ra,c),nt({id:a,renderTitle:n=>t.createVNode(sa,t.mergeProps({key:a,id:`${l.id}-${i.value}`,ref:l.setTitleRefs(i.value),style:u.value,class:d.value,isActive:c.value,controls:a,scrollable:l.scrollable.value,activeColor:l.props.titleActiveColor,inactiveColor:l.props.titleInactiveColor,onClick:e=>n(r.proxy,i.value,e)},f(l.props,["type","color","shrink"]),f(e,["dot","badge","title","disabled","showZeroBadge"])),{title:o.title})}),()=>{var e;const r=`${l.id}-${i.value}`,{animated:s,swipeable:d,scrollspy:u,lazyRender:v}=l.props;if(!o.default&&!s)return;const m=u||c.value;if(s||d)return t.createVNode(ua,{id:a,role:"tabpanel",class:va("panel-wrapper",{inactive:p.value}),tabindex:c.value?0:-1,"aria-hidden":!c.value,"aria-labelledby":r,"data-allow-mismatch":"attribute"},{default:()=>{var e;return[t.createVNode("div",{class:va("panel")},[null==(e=o.default)?void 0:e.call(o)])]}});const f=n.value||u||!v?null==(e=o.default)?void 0:e.call(o):null;return t.withDirectives(t.createVNode("div",{id:a,role:"tabpanel",class:va("panel"),tabindex:m?0:-1,"aria-labelledby":r,"data-allow-mismatch":"attribute"},[f]),[[t.vShow,m]])}}})),ha=qe(na),[ga,ba]=Ee("picker-group"),ya=Symbol(ga),wa=r({tabs:V(),activeTab:C(0),nextStepText:String,showToolbar:w},Vo);var xa=t.defineComponent({name:ga,props:wa,emits:["confirm","cancel","update:activeTab"],setup(e,{emit:o,slots:a}){const n=So((()=>e.activeTab),(e=>o("update:activeTab",e))),{children:r,linkChildren:l}=E(ya);l();const i=()=>+n.value<e.tabs.length-1&&e.nextStepText,s=()=>{i()?n.value=+n.value+1:o("confirm",r.map((e=>e.confirm())))},c=()=>o("cancel");return()=>{var o,r;let l=null==(r=null==(o=a.default)?void 0:o.call(a))?void 0:r.filter((e=>e.type!==t.Comment)).map((e=>e.type===t.Fragment?e.children:e));l&&(l=l.reduce(((e,t)=>e.concat(t)),[]));const d=i()?e.nextStepText:e.confirmButtonText;return t.createVNode("div",{class:ba()},[e.showToolbar?t.createVNode(ko,{title:e.title,cancelButtonText:e.cancelButtonText,confirmButtonText:d,onConfirm:s,onCancel:c},f(a,No)):null,t.createVNode(ha,{active:n.value,"onUpdate:active":e=>n.value=e,class:ba("tabs"),shrink:!0,animated:!0,lazyRender:!1},{default:()=>[e.tabs.map(((e,o)=>t.createVNode(fa,{title:e,titleClass:ba("tab-title")},{default:()=>[null==l?void 0:l[o]]})))]})])}}});const Va=r({loading:Boolean,readonly:Boolean,allowHtml:Boolean,optionHeight:C(44),showToolbar:w,swipeDuration:C(1e3),visibleOptionNum:C(6)},Vo),Na=r({},Va,{columns:V(),modelValue:V(),toolbarPosition:k("top"),columnsFieldNames:Object});var Ca=t.defineComponent({name:co,props:Na,emits:["confirm","cancel","change","scrollInto","clickOption","update:modelValue"],setup(e,{emit:o,slots:a}){const n=t.ref(),l=t.ref(e.modelValue.slice(0)),{parent:i}=A(ya),{children:c,linkChildren:d}=E(yo);d();const u=t.computed((()=>function(e){return r({text:"text",value:"value",children:"children"},e)}(e.columnsFieldNames))),p=t.computed((()=>be(e.optionHeight))),v=t.computed((()=>function(e,t){const o=e[0];if(o){if(Array.isArray(o))return"multiple";if(t.children in o)return"cascade"}return"default"}(e.columns,u.value))),m=t.computed((()=>{const{columns:t}=e;switch(v.value){case"multiple":return t;case"cascade":return function(e,t,o){const a=[];let n={[t.children]:e},r=0;for(;n&&n[t.children];){const e=n[t.children],l=o.value[r];n=s(l)?ho(e,l,t):void 0,!n&&e.length&&(n=ho(e,vo(e)[t.value],t)),r++,a.push(e)}return a}(t,u.value,l);default:return[t]}})),g=t.computed((()=>m.value.some((e=>e.length)))),b=t.computed((()=>m.value.map(((e,t)=>ho(e,l.value[t],u.value))))),y=t.computed((()=>m.value.map(((e,t)=>e.findIndex((e=>e[u.value.value]===l.value[t])))))),w=(e,t)=>{if(l.value[e]!==t){const o=l.value.slice(0);o[e]=t,l.value=o}},x=()=>({selectedValues:l.value.slice(0),selectedOptions:b.value,selectedIndexes:y.value}),V=()=>{c.forEach((e=>e.stopMomentum()));const e=x();return t.nextTick((()=>{const e=x();o("confirm",e)})),e},N=()=>o("cancel",x()),C=()=>m.value.map(((n,i)=>t.createVNode(wo,{value:l.value[i],fields:u.value,options:n,readonly:e.readonly,allowHtml:e.allowHtml,optionHeight:p.value,swipeDuration:e.swipeDuration,visibleOptionNum:e.visibleOptionNum,onChange:e=>((e,a)=>{w(a,e),"cascade"===v.value&&l.value.forEach(((e,t)=>{const o=m.value[t];fo(o,e,u.value)||w(t,o.length?o[0][u.value.value]:void 0)})),t.nextTick((()=>{o("change",r({columnIndex:a},x()))}))})(e,i),onClickOption:e=>((e,t)=>{const a={columnIndex:t,currentOption:e};o("clickOption",r(x(),a)),o("scrollInto",a)})(e,i),onScrollInto:e=>{o("scrollInto",{currentOption:e,columnIndex:i})}},{option:a.option}))),k=e=>{if(g.value){const o={height:`${p.value}px`},a={backgroundSize:`100% ${(e-p.value)/2}px`};return[t.createVNode("div",{class:uo("mask"),style:a},null),t.createVNode("div",{class:[We,uo("frame")],style:o},null)]}},S=()=>{const o=p.value*+e.visibleOptionNum,r={height:`${o}px`};return e.loading||g.value||!a.empty?t.createVNode("div",{ref:n,class:uo("columns"),style:r},[C(),k(o)]):a.empty()},T=()=>{if(e.showToolbar&&!i)return t.createVNode(ko,t.mergeProps(f(e,Co),{onConfirm:V,onCancel:N}),f(a,No))};let B;t.watch(m,(e=>{e.forEach(((e,t)=>{e.length&&!fo(e,l.value[t],u.value)&&w(t,vo(e)[u.value.value])}))}),{immediate:!0}),t.watch((()=>e.modelValue),(e=>{h(e,l.value)||h(e,B)||(l.value=e.slice(0),B=e.slice(0))}),{deep:!0}),t.watch(l,(t=>{h(t,e.modelValue)||(B=t.slice(0),o("update:modelValue",B))}),{immediate:!0}),j("touchmove",se,{target:n});return nt({confirm:V,getSelectedOptions:()=>b.value}),()=>{var o,n;r