UNPKG

vant

Version:

Mobile UI Components built on Vue

6 lines 245 kB
!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(){}const a=Object.assign,n="undefined"!=typeof window,r=e=>null!==e&&"object"==typeof e,l=e=>null!=e,i=e=>"function"==typeof e,s=e=>r(e)&&i(e.then)&&i(e.catch),c=e=>"[object Date]"===Object.prototype.toString.call(e)&&!Number.isNaN(e.getTime());function d(e){return e=e.replace(/[^-|\d]/g,""),/^((\+86)|(86))?(1)\d{10}$/.test(e)||/^0[0-9-]{10,13}$/.test(e)}const u=e=>"number"==typeof e||/^\d+(\.\d+)?$/.test(e);function p(e,t){const o=t.split(".");let a=e;return o.forEach((e=>{var t;a=r(a)&&null!=(t=a[e])?t:""})),a}function v(e,t,o){return t.reduce(((t,a)=>(o&&void 0===e[a]||(t[a]=e[a]),t)),{})}const m=(e,t)=>JSON.stringify(e)===JSON.stringify(t),f=e=>Array.isArray(e)?e:[e],h=null,g=[Number,String],b={type:Boolean,default:!0},y=e=>({type:e,required:!0}),w=()=>({type:Array,default:()=>[]}),x=e=>({type:Number,default:e}),V=e=>({type:g,default:e}),N=e=>({type:String,default:e});var C="undefined"!=typeof window;function k(e){return C?requestAnimationFrame(e):-1}function S(e){C&&cancelAnimationFrame(e)}function T(e){k((()=>k(e)))}var B=(e,t)=>({top:0,left:0,right:e,bottom:t,width:e,height:t}),P=e=>{const o=t.unref(e);if(o===window){const e=o.innerWidth,t=o.innerHeight;return B(e,t)}return(null==o?void 0:o.getBoundingClientRect)?o.getBoundingClientRect():B(0,0)};function D(e){const o=t.inject(e,null);if(o){const e=t.getCurrentInstance(),{link:a,unlink:n,internalChildren:r}=o;a(e),t.onUnmounted((()=>n(e)));return{parent:o,index:t.computed((()=>r.indexOf(e)))}}return{parent:null,index:t.ref(-1)}}var A=(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 O(e,o,a){const n=function(e){const o=[],a=e=>{Array.isArray(e)&&e.forEach((e=>{var n;t.isVNode(e)&&(o.push(e),(null==(n=e.component)?void 0:n.subTree)&&(o.push(e.component.subTree),a(e.component.subTree.children)),e.children&&a(e.children))}))};return a(e),o}(e.subTree.children);a.sort(((e,t)=>A(n,e.vnode)-A(n,t.vnode)));const r=a.map((e=>e.proxy));o.sort(((e,t)=>r.indexOf(e)-r.indexOf(t)))}function I(e){const o=t.reactive([]),a=t.reactive([]),n=t.getCurrentInstance();return{children:o,linkChildren:r=>{t.provide(e,Object.assign({link:e=>{e.proxy&&(a.push(e),o.push(e.proxy),O(n,o,a))},unlink:e=>{const t=a.indexOf(e);o.splice(t,1),a.splice(t,1)},children:o,internalChildren:a},r))}}}var z,E,L=1e3,$=6e4,M=36e5,R=24*M;function F(e){let o,a,n,r;const l=t.ref(e.time),i=t.computed((()=>{return{total:e=l.value,days:Math.floor(e/R),hours:Math.floor(e%R/M),minutes:Math.floor(e%M/$),seconds:Math.floor(e%$/L),milliseconds:Math.floor(e%L)};var e})),s=()=>{n=!1,S(o)},c=()=>Math.max(a-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=()=>{o=k((()=>{n&&(d(c()),l.value>0&&u())}))},p=()=>{o=k((()=>{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=()=>{C&&(e.millisecond?u():p())};return t.onBeforeUnmount(s),t.onActivated((()=>{r&&(n=!0,r=!1,v())})),t.onDeactivated((()=>{n&&(s(),r=!0)})),{start:()=>{n||(a=Date.now()+l.value,n=!0,v())},pause:s,reset:(t=e.time)=>{s(),l.value=t},current:i}}function H(e){let o;t.onMounted((()=>{e(),t.nextTick((()=>{o=!0}))})),t.onActivated((()=>{o&&e()}))}function j(e,o,a={}){if(!C)return;const{target:n=window,passive:r=!1,capture:l=!1}=a;let i,s=!1;const c=a=>{if(s)return;const n=t.unref(a);n&&!i&&(n.addEventListener(e,o,{capture:l,passive:r}),i=!0)},d=a=>{if(s)return;const n=t.unref(a);n&&i&&(n.removeEventListener(e,o,l),i=!1)};let u;return t.onUnmounted((()=>d(n))),t.onDeactivated((()=>d(n))),H((()=>c(n))),t.isRef(n)&&(u=t.watch(n,((e,t)=>{d(t),c(e)}))),()=>{null==u||u(),d(n),s=!0}}function W(e,o,a={}){if(!C)return;const{eventName:n="click"}=a;j(n,(a=>{(Array.isArray(e)?e:[e]).every((e=>{const o=t.unref(e);return o&&!o.contains(a.target)}))&&o(a)}),{target:document})}var U,Y=/scroll|auto|overlay/i,X=C?window:void 0;function q(e){return"HTML"!==e.tagName&&"BODY"!==e.tagName&&1===e.nodeType}function G(e,t=X){let o=e;for(;o&&o!==t&&q(o);){const{overflowY:e}=window.getComputedStyle(o);if(Y.test(e))return o;o=o.parentNode}return t}function Z(e,o=X){const a=t.ref();return t.onMounted((()=>{e.value&&(a.value=G(e.value,o))})),a}var K=Symbol("van-field");function _(e){const o=t.inject(K,null);o&&!o.customValue.value&&(o.customValue.value=e,t.watch(e,(()=>{o.resetValidation(),o.validateWithTrigger("onChange")})))}function J(e){const t="scrollTop"in e?e.scrollTop:e.pageYOffset;return Math.max(t,0)}function Q(e,t){"scrollTop"in e?e.scrollTop=t:e.scrollTo(e.scrollX,t)}function ee(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}function te(e){Q(window,e),Q(document.body,e)}function oe(e,t){if(e===window)return 0;const o=t?J(t):ee();return P(e).top+o}const ae=!!n&&/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());function ne(){ae&&te(ee())}const re=e=>e.stopPropagation();function le(e,t){("boolean"!=typeof e.cancelable||e.cancelable)&&e.preventDefault(),t&&re(e)}function ie(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:se,height:ce}=function(){if(!z&&(z=t.ref(0),E=t.ref(0),C)){const e=()=>{z.value=window.innerWidth,E.value=window.innerHeight};e(),window.addEventListener("resize",e,{passive:!0}),window.addEventListener("orientationchange",e,{passive:!0})}return{width:z,height:E}}();function de(e){const t=window.getComputedStyle(e);return"none"!==t.transform||"none"!==t.perspective||["transform","perspective","filter"].some((e=>(t.willChange||"").includes(e)))}function ue(e){if(l(e))return u(e)?`${e}px`:String(e)}function pe(e){if(l(e)){if(Array.isArray(e))return{width:ue(e[0]),height:ue(e[1])};const t=ue(e);return{width:t,height:t}}}function ve(e){const t={};return void 0!==e&&(t.zIndex=+e),t}let me;function fe(e){return+(e=e.replace(/rem/g,""))*function(){if(!me){const e=document.documentElement,t=e.style.fontSize||window.getComputedStyle(e).fontSize;me=parseFloat(t)}return me}()}function he(e){if("number"==typeof e)return e;if(n){if(e.includes("rem"))return fe(e);if(e.includes("vw"))return function(e){return+(e=e.replace(/vw/g,""))*se.value/100}(e);if(e.includes("vh"))return function(e){return+(e=e.replace(/vh/g,""))*ce.value/100}(e)}return parseFloat(e)}const ge=/-(\w)/g,be=e=>e.replace(ge,((e,t)=>t.toUpperCase()));function ye(e,t=2){let o=e+"";for(;o.length<t;)o="0"+o;return o}const we=(e,t,o)=>Math.min(Math.max(e,t),o);function xe(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 Ve(e,t=!0,o=!0){e=t?xe(e,".",/\./g):e.split(".")[0];const a=t?/[^-0-9.]/g:/[^-0-9]/g;return(e=o?xe(e,"-",/-/g):e.replace(/-/,"")).replace(a,"")}function Ne(e,t){const o=10**10;return Math.round((e+t)*o)/o}const{hasOwnProperty:Ce}=Object.prototype;function ke(e,t){return Object.keys(t).forEach((o=>{!function(e,t,o){const a=t[o];l(a)&&(Ce.call(e,o)&&r(a)?e[o]=ke(Object(e[o]),a):e[o]=a)}(e,t,o)})),e}const Se=t.ref("zh-CN"),Te=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:"新增地址"}}}),Be={messages:()=>Te[Se.value],use(e,t){Se.value=e,this.add({[e]:t})},add(e={}){ke(Te,e)}};var Pe=Be;function De(e){const t=be(e)+".";return(e,...o)=>{const a=Pe.messages(),n=p(a,t+e)||p(a,e);return i(n)?n(...o):n}}function Ae(e,t){return t?"string"==typeof t?` ${e}--${t}`:Array.isArray(t)?t.reduce(((t,o)=>t+Ae(e,o)),""):Object.keys(t).reduce(((o,a)=>o+(t[a]?Ae(e,a):"")),""):""}function Oe(e){return(t,o)=>(t&&"string"!=typeof t&&(o=t,t=""),`${t=t?`${e}__${t}`:e}${Ae(t,o)}`)}function Ie(e){const t=`van-${e}`;return[t,Oe(t),De(t)]}const ze="van-hairline",Ee=`${ze}--top`,Le=`${ze}--left`,$e=`${ze}--right`,Me=`${ze}--bottom`,Re=`${ze}--surround`,Fe=`${ze}--top-bottom`,He=`${ze}-unset--top-bottom`,je="van-haptics-feedback",We=Symbol("van-form");function Ue(e,{args:t=[],done:a,canceled:n,error:r}){if(e){const l=e.apply(null,t);s(l)?l.then((e=>{e?a():n&&n()})).catch(r||o):l?a():n&&n()}else a()}function Ye(e){return e.install=t=>{const{name:o}=e;o&&(t.component(o,e),t.component(be(`-${o}`),e))},e}function Xe(e,t){return e.reduce(((e,o)=>Math.abs(e-t)<Math.abs(o-t)?e:o))}const qe=Symbol();function Ge(e){const o=t.inject(qe,null);o&&t.watch(o,(t=>{t&&e()}))}const Ze=(e,o)=>{const a=t.ref(),n=()=>{a.value=P(e).height};return t.onMounted((()=>{if(t.nextTick(n),o)for(let e=1;e<=3;e++)setTimeout(n,100*e)})),Ge((()=>t.nextTick(n))),t.watch([se,ce],n),a};function Ke(e,o){const a=Ze(e,!0);return e=>t.createVNode("div",{class:o("placeholder"),style:{height:a.value?`${a.value}px`:void 0}},[e()])}const[_e,Je]=Ie("action-bar"),Qe=Symbol(_e),et={placeholder:Boolean,safeAreaInsetBottom:b};const tt=Ye(t.defineComponent({name:_e,props:et,setup(e,{slots:o}){const a=t.ref(),n=Ke(a,Je),{linkChildren:r}=I(Qe);r();const l=()=>{var n;return t.createVNode("div",{ref:a,class:[Je(),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[null==(n=o.default)?void 0:n.call(o)])};return()=>e.placeholder?n(l):l()}}));function ot(e){const o=t.getCurrentInstance();o&&a(o.proxy,e)}const at={to:[String,Object],url:String,replace:Boolean};function nt({to:e,url:t,replace:o,$router:a}){e&&a?a[o?"replace":"push"](e):t&&(o?location.replace(t):location.href=t)}function rt(){const e=t.getCurrentInstance().proxy;return()=>nt(e)}const[lt,it]=Ie("badge"),st={dot:Boolean,max:g,tag:N("div"),color:String,offset:Array,content:g,showZero:b,position:N("top-right")};const ct=Ye(t.defineComponent({name:lt,props:st,setup(e,{slots:o}){const a=()=>{if(o.content)return!0;const{content:t,showZero:a}=e;return l(t)&&""!==t&&(a||0!==t&&"0"!==t)},n=()=>{const{dot:t,max:n,content:r}=e;if(!t&&a())return o.content?o.content():l(n)&&u(r)&&+r>+n?`${n}+`:r},r=e=>e.startsWith("-")?e.replace("-",""):`-${e}`,i=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?ue("top"===i?n:-n):"top"===i?ue(n):r(n),t[s]="number"==typeof a?ue("left"===s?a:-a):"left"===s?ue(a):r(a)):(t.marginTop=ue(n),t.marginLeft=ue(a))}return t})),s=()=>{if(a()||e.dot)return t.createVNode("div",{class:it([e.position,{dot:e.dot,fixed:!!o.default}]),style:i.value},[n()])};return()=>{if(o.default){const{tag:a}=e;return t.createVNode(a,{class:it("wrapper")},{default:()=>[o.default(),s()]})}return s()}}}));let dt=2e3;const[ut,pt]=Ie("config-provider"),vt=Symbol(ut),mt={tag:N("div"),theme:N("light"),zIndex:Number,themeVars:Object,themeVarsDark:Object,themeVarsLight:Object,themeVarsScope:N("local"),iconPrefix:String};function ft(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 ht=t.defineComponent({name:ut,props:mt,setup(e,{slots:o}){const r=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}(a({},e.themeVars,"dark"===e.theme?e.themeVarsDark:e.themeVarsLight))));if(n){const o=()=>{document.documentElement.classList.add(`van-theme-${e.theme}`)},a=(t=e.theme)=>{document.documentElement.classList.remove(`van-theme-${t}`)};t.watch((()=>e.theme),((e,t)=>{t&&a(t),o()}),{immediate:!0}),t.onActivated(o),t.onDeactivated(a),t.onBeforeUnmount(a),t.watch(r,((t,o)=>{"global"===e.themeVarsScope&&ft(t,o)})),t.watch((()=>e.themeVarsScope),((e,t)=>{"global"===t&&ft({},r.value),"global"===e&&ft(r.value,{})})),"global"===e.themeVarsScope&&ft(r.value,{})}return t.provide(vt,e),t.watchEffect((()=>{var t;void 0!==e.zIndex&&(t=e.zIndex,dt=t)})),()=>t.createVNode(e.tag,{class:pt(),style:"local"===e.themeVarsScope?r.value:void 0},{default:()=>{var e;return[null==(e=o.default)?void 0:e.call(o)]}})}});const[gt,bt]=Ie("icon"),yt={dot:Boolean,tag:N("i"),name:String,size:g,badge:g,color:String,badgeProps:Object,classPrefix:String};const wt=Ye(t.defineComponent({name:gt,props:yt,setup(e,{slots:o}){const a=t.inject(vt,null),n=t.computed((()=>e.classPrefix||(null==a?void 0:a.iconPrefix)||bt()));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(ct,t.mergeProps({dot:r,tag:a,class:[n.value,d?"":`${n.value}-${l}`],style:{color:c,fontSize:ue(i)},content:s},e.badgeProps),{default:()=>{var e;return[null==(e=o.default)?void 0:e.call(o),d&&t.createVNode("img",{class:bt("image"),src:l},null)]}})}}}));var xt=wt;const[Vt,Nt]=Ie("loading"),Ct=Array(12).fill(null).map(((e,o)=>t.createVNode("i",{class:Nt("line",String(o+1))},null))),kt=t.createVNode("svg",{class:Nt("circular"),viewBox:"25 25 50 50"},[t.createVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),St={size:g,type:N("circular"),color:String,vertical:Boolean,textSize:g,textColor:String};const Tt=Ye(t.defineComponent({name:Vt,props:St,setup(e,{slots:o}){const n=t.computed((()=>a({color:e.color},pe(e.size)))),r=()=>{const a="spinner"===e.type?Ct:kt;return t.createVNode("span",{class:Nt("spinner",e.type),style:n.value},[o.icon?o.icon():a])},l=()=>{var a;if(o.default)return t.createVNode("span",{class:Nt("text"),style:{fontSize:ue(e.textSize),color:null!=(a=e.textColor)?a:e.color}},[o.default()])};return()=>{const{type:o,vertical:a}=e;return t.createVNode("div",{class:Nt([o,{vertical:a}]),"aria-live":"polite","aria-busy":!0},[r(),l()])}}})),[Bt,Pt]=Ie("button"),Dt=a({},at,{tag:N("button"),text:String,icon:String,type:N("default"),size:N("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:N("button"),loadingSize:g,loadingText:String,loadingType:String,iconPosition:N("left")});const At=Ye(t.defineComponent({name:Bt,props:Dt,emits:["click"],setup(e,{emit:o,slots:a}){const n=rt(),r=()=>e.loading?a.loading?a.loading():t.createVNode(Tt,{size:e.loadingSize,type:e.loadingType,class:Pt("loading")},null):a.icon?t.createVNode("div",{class:Pt("icon")},[a.icon()]):e.icon?t.createVNode(wt,{name:e.icon,class:Pt("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:Pt("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?le(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=[Pt([a,n,{plain:u,block:c,round:d,square:p,loading:v,disabled:m,hairline:f}]),{[Re]:f}];return t.createVNode(o,{type:h,class:b,style:i(),disabled:m,onClick:s},{default:()=>[t.createVNode("div",{class:Pt("content")},["left"===g&&r(),l(),"right"===g&&r()])]})}}})),[Ot,It]=Ie("action-bar-button"),zt=a({},at,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});const Et=Ye(t.defineComponent({name:Ot,props:zt,setup(e,{slots:o}){const a=rt(),{parent:n,index:r}=D(Qe),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 ot({isButton:!0}),()=>{const{type:n,icon:r,text:s,color:c,loading:d,disabled:u}=e;return t.createVNode(At,{class:It([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]})}}})),[Lt,$t]=Ie("action-bar-icon"),Mt=a({},at,{dot:Boolean,text:String,icon:String,color:String,badge:g,iconClass:h,badgeProps:Object,iconPrefix:String});const Rt=Ye(t.defineComponent({name:Lt,props:Mt,setup(e,{slots:o}){const a=rt();D(Qe);const n=()=>{const{dot:a,badge:n,icon:r,color:l,iconClass:i,badgeProps:s,iconPrefix:c}=e;return o.icon?t.createVNode(ct,t.mergeProps({dot:a,class:$t("icon"),content:n},s),{default:o.icon}):t.createVNode(wt,{tag:"div",dot:a,name:r,badge:n,color:l,class:[$t("icon"),i],badgeProps:s,classPrefix:c},null)};return()=>t.createVNode("div",{role:"button",class:$t(),tabindex:0,onClick:a},[n(),o.default?o.default():e.text])}})),Ft={show:Boolean,zIndex:g,overlay:b,duration:g,teleport:[String,Object],lockScroll:b,lazyRender:b,beforeClose:Function,overlayStyle:Object,overlayClass:h,transitionAppear:Boolean,closeOnClickOverlay:b},Ht=Object.keys(Ft);function jt(){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 Wt=0;const Ut="van-overflow-hidden";function Yt(e,o){const a=jt(),n=t=>{a.move(t);const o=a.deltaY.value>0?"10":"01",n=G(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)||le(t,!0)},r=()=>{document.addEventListener("touchstart",a.start),document.addEventListener("touchmove",n,{passive:!1}),Wt||document.body.classList.add(Ut),Wt++},l=()=>{Wt&&(document.removeEventListener("touchstart",a.start),document.removeEventListener("touchmove",n),Wt--,Wt||document.body.classList.remove(Ut))},i=()=>o()&&l();H((()=>o()&&r())),t.onDeactivated(i),t.onBeforeUnmount(i),t.watch(o,(e=>{e?r():l()}))}function Xt(e){const o=t.ref(!1);return t.watch(e,(e=>{e&&(o.value=e)}),{immediate:!0}),e=>()=>o.value?e():null}const qt=()=>{var e;const{scopeId:o}=(null==(e=t.getCurrentInstance())?void 0:e.vnode)||{};return o?{[o]:""}:null},[Gt,Zt]=Ie("overlay"),Kt={show:Boolean,zIndex:g,duration:g,className:h,lockScroll:b,lazyRender:b,customStyle:Object,teleport:[String,Object]};const _t=Ye(t.defineComponent({name:Gt,props:Kt,setup(e,{slots:o}){const n=t.ref(),r=Xt((()=>e.show||!e.lazyRender))((()=>{var r;const i=a(ve(e.zIndex),e.customStyle);return l(e.duration)&&(i.animationDuration=`${e.duration}s`),t.withDirectives(t.createVNode("div",{ref:n,style:i,class:[Zt(),e.className]},[null==(r=o.default)?void 0:r.call(o)]),[[t.vShow,e.show]])}));return j("touchmove",(t=>{e.lockScroll&&le(t,!0)}),{target:n}),()=>{const o=t.createVNode(t.Transition,{name:"van-fade",appear:!0},{default:r});return e.teleport?t.createVNode(t.Teleport,{to:e.teleport},{default:()=>[o]}):o}}})),Jt=a({},Ft,{round:Boolean,position:N("center"),closeIcon:N("cross"),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:N("top-right"),safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[Qt,eo]=Ie("popup");const to=Ye(t.defineComponent({name:Qt,inheritAttrs:!1,props:Jt,emits:["open","close","opened","closed","keydown","update:show","clickOverlay","clickCloseIcon"],setup(e,{emit:o,attrs:a,slots:n}){let r,i;const s=t.ref(),c=t.ref(),d=Xt((()=>e.show||!e.lazyRender)),u=t.computed((()=>{const t={zIndex:s.value};if(l(e.duration)){t["center"===e.position?"animationDuration":"transitionDuration"]=`${e.duration}s`}return t})),p=()=>{r||(r=!0,s.value=void 0!==e.zIndex?+e.zIndex:++dt,o("open"))},v=()=>{r&&Ue(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(_t,t.mergeProps({show:e.show,class:e.overlayClass,zIndex:s.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?"button":void 0,tabindex:e.closeOnClickOverlay?0:void 0},qt(),{onClick:m}),{default:n["overlay-content"]})},h=e=>{o("clickCloseIcon",e),v()},g=()=>{if(e.closeable)return t.createVNode(wt,{role:"button",tabindex:0,name:e.closeIcon,class:[eo("close-icon",e.closeIconPosition),je],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{round:r,position:l,safeAreaInsetTop:i,safeAreaInsetBottom:s}=e;return t.withDirectives(t.createVNode("div",t.mergeProps({ref:c,style:u.value,role:"dialog",tabindex:0,class:[eo({round:r,[l]:l}),{"van-safe-area-top":i,"van-safe-area-bottom":s}],onKeydown:x},a,qt()),[null==(o=n.default)?void 0:o.call(n),g()]),[[t.vShow,e.show]])})),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"))})),ot({popupRef:c}),Yt(c,(()=>e.show&&e.lockScroll)),j("popstate",(()=>{e.closeOnPopstate&&(v(),i=!1)})),t.onMounted((()=>{e.show&&p()})),t.onActivated((()=>{i&&(o("update:show",!0),i=!1)})),t.onDeactivated((()=>{e.show&&e.teleport&&(v(),i=!0)})),t.provide(qe,(()=>e.show)),()=>e.teleport?t.createVNode(t.Teleport,{to:e.teleport},{default:()=>[f(),N()]}):t.createVNode(t.Fragment,null,[f(),N()])}})),[oo,ao]=Ie("action-sheet"),no=a({},Ft,{title:String,round:b,actions:w(),closeIcon:N("cross"),closeable:b,cancelText:String,description:String,closeOnPopstate:b,closeOnClickAction:Boolean,safeAreaInsetBottom:b}),ro=[...Ht,"round","closeOnPopstate","safeAreaInsetBottom"];const lo=Ye(t.defineComponent({name:oo,props:no,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:ao("header")},[e.title,e.closeable&&t.createVNode(wt,{name:e.closeIcon,class:[ao("close"),je],onClick:r},null)])},i=()=>{if(o.cancel||e.cancelText)return[t.createVNode("div",{class:ao("gap")},null),t.createVNode("button",{type:"button",class:ao("cancel"),onClick:r},[o.cancel?o.cancel():e.cancelText])]},s=e=>{if(e.icon)return t.createVNode(wt,{class:ao("item-icon"),name:e.icon},null)},c=(e,a)=>e.loading?t.createVNode(Tt,{class:ao("loading-icon")},null):o.action?o.action({action:e,index:a}):[t.createVNode("span",{class:ao("name")},[e.name]),e.subname&&t.createVNode("div",{class:ao("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:[ao("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:ao("description")},[a])}};return()=>t.createVNode(to,t.mergeProps({class:ao(),position:"bottom","onUpdate:show":n},v(e,ro)),{default:()=>{var a;return[l(),u(),t.createVNode("div",{class:ao("content")},[e.actions.map(d),null==(a=o.default)?void 0:a.call(o)]),i()]}})}})),[io,so,co]=Ie("picker"),uo=e=>e.find((e=>!e.disabled))||e[0];function po(e,t){for(let o=t=we(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 vo=(e,t,o)=>void 0!==t&&!!e.find((e=>e[o.value]===t));function mo(e,t,o){const a=e.findIndex((e=>e[o.value]===t));return e[po(e,a)]}const[fo,ho]=Ie("picker-column"),go=Symbol(fo);var bo=t.defineComponent({name:fo,props:{value:g,fields:y(Object),options:w(),readonly:Boolean,allowHtml:Boolean,optionHeight:y(Number),swipeDuration:y(g),visibleOptionNum:y(g)},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=jt(),m=()=>e.options.length,f=()=>e.optionHeight*(+e.visibleOptionNum-1)/2,h=t=>{let a=po(e.options,t);const r=-a*e.optionHeight,l=()=>{a>m()-1&&(a=po(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=>we(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:[ho("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 D(go),ot({stopMomentum:w}),t.watchEffect((()=>{const t=n?Math.floor(-u.value/e.optionHeight):e.options.findIndex((t=>t[e.fields.value]===e.value)),o=po(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,le(t,!0));const a=we(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:ho(),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:ho("wrapper"),onTransitionend:w},[N()])])}});const[yo]=Ie("picker-toolbar"),wo={title:String,cancelButtonText:String,confirmButtonText:String},xo=["cancel","confirm","title","toolbar"],Vo=Object.keys(wo);var No=t.defineComponent({name:yo,props:wo,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:co("cancel");if(a.cancel||r)return t.createVNode("button",{type:"button",class:[so("cancel"),je],onClick:n},[a.cancel?a.cancel():r])},i=()=>{var o;const n=null!=(o=e.confirmButtonText)?o:co("confirm");if(a.confirm||n)return t.createVNode("button",{type:"button",class:[so("confirm"),je],onClick:r},[a.confirm?a.confirm():n])};return()=>t.createVNode("div",{class:so("toolbar")},[a.toolbar?a.toolbar():[l(),a.title?a.title():e.title?t.createVNode("div",{class:[so("title"),"van-ellipsis"]},[e.title]):void 0,i()]])}});const Co=(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},ko=Array.isArray,So=e=>"string"==typeof e,To=e=>null!==e&&"object"==typeof e,Bo=/\B([A-Z])/g,Po=(e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))})((e=>e.replace(Bo,"-$1").toLowerCase())); /** * @vue/shared v3.5.11 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function Do(e){if(ko(e)){const t={};for(let o=0;o<e.length;o++){const a=e[o],n=So(a)?zo(a):Do(a);if(n)for(const e in n)t[e]=n[e]}return t}if(So(e)||To(e))return e}const Ao=/;(?![^(]*\))/g,Oo=/:([^]+)/,Io=/\/\*[^]*?\*\//g;function zo(e){const t={};return e.replace(Io,"").split(Ao).forEach((e=>{if(e){const o=e.split(Oo);o.length>1&&(t[o[0].trim()]=o[1].trim())}})),t}function Eo(e){let t="";if(So(e))t=e;else if(ko(e))for(let o=0;o<e.length;o++){const a=Eo(e[o]);a&&(t+=a+" ")}else if(To(e))for(const o in e)e[o]&&(t+=o+" ");return t.trim()}let Lo=0;function $o(){const e=t.getCurrentInstance(),{name:o="unknown"}=(null==e?void 0:e.type)||{};return`${o}-${++Lo}`}function Mo(){const e=t.ref([]),o=[];t.onBeforeUpdate((()=>{e.value=[]}));return[e,t=>(o[t]||(o[t]=o=>{e.value[t]=o}),o[t])]}function Ro(e,o){if(!n||!window.IntersectionObserver)return;const a=new IntersectionObserver((e=>{o(e[0].intersectionRatio>0)}),{root:document.body}),r=()=>{e.value&&a.unobserve(e.value)};t.onDeactivated(r),t.onBeforeUnmount(r),H((()=>{e.value&&a.observe(e.value)}))}const[Fo,Ho]=Ie("sticky"),jo={zIndex:g,position:N("top"),container:Object,offsetTop:V(0),offsetBottom:V(0)};const Wo=Ye(t.defineComponent({name:Fo,props:jo,emits:["scroll","change"],setup(e,{emit:o,slots:n}){const r=t.ref(),l=Z(r),i=t.reactive({fixed:!1,width:0,height:0,transform:0}),s=t.ref(!1),c=t.computed((()=>he("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=a(ve(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(!r.value||ie(r))return;const{container:t,position:a}=e,n=P(r),l=J(window);if(i.width=n.width,i.height=n.height,"top"===a)if(t){const e=P(t),o=e.bottom-c.value-i.height;i.fixed=c.value>n.top&&e.bottom>0,i.transform=o<0?o:0}else i.fixed=c.value>n.top;else{const{clientHeight:e}=document.documentElement;if(t){const o=P(t),a=e-o.top-c.value-i.height;i.fixed=e-c.value<n.bottom&&e>o.top,i.transform=a<0?-a:0}else i.fixed=e-c.value<n.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}),Ro(r,p),t.watch([se,ce],(()=>{r.value&&!ie(r)&&i.fixed&&(s.value=!0,t.nextTick((()=>{const e=P(r);i.width=e.width,i.height=e.height,s.value=!1})))})),()=>{var e;return t.createVNode("div",{ref:r,style:d.value},[t.createVNode("div",{class:Ho({fixed:i.fixed&&!s.value}),style:u.value},[null==(e=n.default)?void 0:e.call(n)])])}}})),[Uo,Yo]=Ie("swipe"),Xo={loop:b,width:g,height:g,vertical:Boolean,autoplay:V(0),duration:V(500),touchable:b,lazyRender:Boolean,initialSwipe:V(0),indicatorColor:String,showIndicators:b,stopPropagation:b},qo=Symbol(Uo);const Go=Ye(t.defineComponent({name:Uo,props:Xo,emits:["change","dragStart","dragEnd"],setup(e,{emit:o,slots:a}){const n=t.ref(),r=t.ref(),l=t.reactive({rect:null,width:0,height:0,offset:0,active:0,swiping:!1});let i=!1;const s=jt(),{children:c,linkChildren:d}=I(qo),u=t.computed((()=>c.length)),p=t.computed((()=>l[e.vertical?"height":"width"])),v=t.computed((()=>e.vertical?s.deltaY.value:s.deltaX.value)),m=t.computed((()=>{if(l.rect){return(e.vertical?l.rect.height:l.rect.width)-p.value*u.value}return 0})),f=t.computed((()=>p.value?Math.ceil(Math.abs(m.value)/p.value):u.value)),h=t.computed((()=>u.value*p.value)),g=t.computed((()=>(l.active+u.value)%u.value)),b=t.computed((()=>{const t=e.vertical?"vertical":"horizontal";return s.direction.value===t})),y=t.computed((()=>{const t={transitionDuration:`${l.swiping?0:e.duration}ms`,transform:`translate${e.vertical?"Y":"X"}(${+l.offset.toFixed(2)}px)`};if(p.value){const o=e.vertical?"height":"width",a=e.vertical?"width":"height";t[o]=`${h.value}px`,t[a]=e[a]?`${e[a]}px`:""}return t})),w=(t,o=0)=>{let a=t*p.value;e.loop||(a=Math.min(a,-m.value));let n=o-a;return e.loop||(n=we(n,m.value,0)),n},x=({pace:t=0,offset:a=0,emitChange:n})=>{if(u.value<=1)return;const{active:r}=l,i=(t=>{const{active:o}=l;return t?e.loop?we(o+t,-1,u.value):we(o+t,0,f.value):o})(t),s=w(i,a);if(e.loop){if(c[0]&&s!==m.value){const e=s<m.value;c[0].setOffset(e?h.value:0)}if(c[u.value-1]&&0!==s){const e=s>0;c[u.value-1].setOffset(e?-h.value:0)}}l.active=i,l.offset=s,n&&i!==r&&o("change",g.value)},V=()=>{l.swiping=!0,l.active<=-1?x({pace:u.value}):l.active>=u.value&&x({pace:-u.value})},N=()=>{V(),s.reset(),T((()=>{l.swiping=!1,x({pace:1,emitChange:!0})}))};let k;const S=()=>clearTimeout(k),B=()=>{S(),+e.autoplay>0&&u.value>1&&(k=setTimeout((()=>{N(),B()}),+e.autoplay))},P=(o=+e.initialSwipe)=>{if(!n.value)return;const a=()=>{var t,a;if(!ie(n)){const o={width:n.value.offsetWidth,height:n.value.offsetHeight};l.rect=o,l.width=+(null!=(t=e.width)?t:o.width),l.height=+(null!=(a=e.height)?a:o.height)}u.value&&-1===(o=Math.min(u.value-1,o))&&(o=u.value-1),l.active=o,l.swiping=!0,l.offset=w(o),c.forEach((e=>{e.setOffset(0)})),B()};ie(n)?t.nextTick().then(a):a()},D=()=>P(l.active);let A;const O=t=>{!e.touchable||t.touches.length>1||(s.start(t),i=!1,A=Date.now(),S(),V())},z=()=>{if(!e.touchable||!l.swiping)return;const t=Date.now()-A,a=v.value/t;if((Math.abs(a)>.25||Math.abs(v.value)>p.value/2)&&b.value){const t=e.vertical?s.offsetY.value:s.offsetX.value;let o=0;o=e.loop?t>0?v.value>0?-1:1:0:-Math[v.value>0?"ceil":"floor"](v.value/p.value),x({pace:o,emitChange:!0})}else v.value&&x({pace:0});i=!1,l.swiping=!1,o("dragEnd",{index:g.value}),B()},E=(o,a)=>{const n=a===g.value,r=n?{backgroundColor:e.indicatorColor}:void 0;return t.createVNode("i",{style:r,class:Yo("indicator",{active:n})},null)};return ot({prev:()=>{V(),s.reset(),T((()=>{l.swiping=!1,x({pace:-1,emitChange:!0})}))},next:N,state:l,resize:D,swipeTo:(t,o={})=>{V(),s.reset(),T((()=>{let a;a=e.loop&&t===u.value?0===l.active?0:t:t%u.value,o.immediate?T((()=>{l.swiping=!1})):l.swiping=!1,x({pace:a-l.active,emitChange:!0})}))}}),d({size:p,props:e,count:u,activeIndicator:g}),t.watch((()=>e.initialSwipe),(e=>P(+e))),t.watch(u,(()=>P(l.active))),t.watch((()=>e.autoplay),B),t.watch([se,ce,()=>e.width,()=>e.height],D),t.watch(function(){if(!U&&(U=t.ref("visible"),C)){const e=()=>{U.value=document.hidden?"hidden":"visible"};e(),window.addEventListener("visibilitychange",e)}return U}(),(e=>{"visible"===e?B():S()})),t.onMounted(P),t.onActivated((()=>P(l.active))),Ge((()=>P(l.active))),t.onDeactivated(S),t.onBeforeUnmount(S),j("touchmove",(t=>{if(e.touchable&&l.swiping&&(s.move(t),b.value)){!e.loop&&(0===l.active&&v.value>0||l.active===u.value-1&&v.value<0)||(le(t,e.stopPropagation),x({offset:v.value}),i||(o("dragStart",{index:g.value}),i=!0))}}),{target:r}),()=>{var o;return t.createVNode("div",{ref:n,class:Yo()},[t.createVNode("div",{ref:r,style:y.value,class:Yo("track",{vertical:e.vertical}),onTouchstartPassive:O,onTouchend:z,onTouchcancel:z},[null==(o=a.default)?void 0:o.call(a)]),a.indicator?a.indicator({active:g.value,total:u.value}):e.showIndicators&&u.value>1?t.createVNode("div",{class:Yo("indicators",{vertical:e.vertical})},[Array(u.value).fill("").map(E)]):void 0])}}})),[Zo,Ko]=Ie("tabs");var _o=t.defineComponent({name:Zo,props:{count:y(Number),inited:Boolean,animated:Boolean,duration:y(g),swipeable:Boolean,lazyRender:Boolean,currentIndex:y(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(Go,{ref:n,loop:!1,class:Ko("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)})),ot({swipeRef:n}),()=>t.createVNode("div",{class:Ko("content",{animated:e.animated||e.swipeable})},[l()])}});const[Jo,Qo]=Ie("tabs"),ea={type:N("line"),color:String,border:Boolean,sticky:Boolean,shrink:Boolean,active:V(0),duration:V(.3),animated:Boolean,ellipsis:b,swipeable:Boolean,scrollspy:Boolean,offsetTop:V(0),background:String,lazyRender:b,showHeader:b,lineWidth:g,lineHeight:g,beforeChange:Function,swipeThreshold:V(5),titleActiveColor:String,titleInactiveColor:String},ta=Symbol(Jo);var oa=t.defineComponent({name:Jo,props:ea,emits:["change","scroll","rendered","clickTab","update:active"],setup(e,{emit:o,slots:a}){let n,r,i,s,c;const d=t.ref(),u=t.ref(),p=t.ref(),v=t.ref(),m=$o(),f=Z(d),[h,g]=Mo(),{children:b,linkChildren:y}=I(ta),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)})),T=t.computed((()=>he(e.offsetTop))),B=t.computed((()=>e.sticky?T.value+n:0)),D=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;s&&s(),s=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=k(o))}(),function(){S(a)}}(o,r,t?0:+e.duration)},A=()=>{const o=w.inited;t.nextTick((()=>{const t=h.value;if(!t||!t[w.currentIndex]||"line"!==e.type||ie(d.value))return;const a=t[w.currentIndex].$el,{lineWidth:n,lineHeight:r}=e,i=a.offsetLeft+a.offsetWidth/2,s={width:ue(n),backgroundColor:e.color,transform:`translateX(${i}px) translateX(-50%)`};if(o&&(s.transitionDuration=`${e.duration}s`),l(r)){const e=ue(r);s.height=e,s.borderRadius=e}w.lineStyle=s}))},O=(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(!l(n))return;const r=b[n],s=N(r,n),c=null!==w.currentIndex;w.currentIndex!==n&&(w.currentIndex=n,a||D(),A()),s!==e.active&&(o("update:active",s),c&&o("change",s,r.title)),i&&!e.scrollspy&&te(Math.ceil(oe(d.value)-T.value))},z=(e,t)=>{const o=b.find(((t,o)=>N(t,o)===e)),a=o?b.indexOf(o):0;O(a,t)},E=(t=!1)=>{if(e.scrollspy){const o=b[w.currentIndex].$el;if(o&&f.value){const a=oe(o,f.value)-B.value;r=!0,c&&c(),c=function(e,t,o,a){let n,r=J(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),Q(e,r),l&&r<t||!l&&r>t?n=k(o):a&&(n=k(a))}(),function(){S(n)}}(f.value,a,t?0:+e.duration,(()=>{r=!1}))}}},L=(t,a,n)=>{const{title:r,disabled:l}=b[a],i=N(b[a],a);l||(Ue(e.beforeChange,{args:[i],done:()=>{O(a),E()}}),nt(t)),o("clickTab",{name:i,title:r,event:n,disabled:l})},$=e=>{i=e.isFixed,o("scroll",e)},M=()=>{if("line"===e.type&&b.length)return t.createVNode("div",{class:Qo("line"),style:w.lineStyle},null)},R=()=>{var o,n,r;const{type:l,border:i,sticky:s}=e,c=[t.createVNode("div",{ref:s?void 0:p,class:[Qo("wrap"),{[Fe]:"line"===l&&i}]},[t.createVNode("div",{ref:u,role:"tablist",class:Qo("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(L))),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},F=()=>{A(),t.nextTick((()=>{var e,t;D(!0),null==(t=null==(e=v.value)?void 0:e.swipeRef.value)||t.resize()}))};t.watch((()=>[e.color,e.duration,e.lineWidth,e.lineHeight]),A),t.watch(se,F),t.watch((()=>e.active),(e=>{e!==C.value&&z(e)})),t.watch((()=>b.length),(()=>{w.inited&&(z(e.active),A(),t.nextTick((()=>{D(!0)})))}));return ot({resize:F,scrollTo:e=>{t.nextTick((()=>{z(e),E(!0)}))}}),t.onActivated(A),Ge(A),H((()=>{z(e.active,!0),t.nextTick((()=>{w.inited=!0,p.value&&(n=P(p.value).height),D(!0)}))})),Ro(d,A),j("scroll",(()=>{if(e.scrollspy&&!r){const e=(()=>{for(let e=0;e<b.length;e++){const{top:t}=P(b[e].$el);if(t>B.value)return 0===e?0:e-1}return b.length-1})();O(e)}}),{target:f,passive:!0}),y({id:m,props:e,setLine:A,scrollable:x,onRendered:(e,t)=>o("rendered",e,t),currentName:C,setTitleRefs:g,scrollIntoView:D}),()=>t.createVNode("div",{ref:d,class:Qo([e.type])},[e.showHeader?e.sticky?t.createVNode(Wo,{container:d.value,offsetTop:T.value,onScroll:$},{default:()=>[R()]}):R():null,t.createVNode(_o,{ref:v,count:b.length,inited:w.inited,animated:e.animated,duration:e.duration,swipeable:e.swipeable,lazyRender:e.lazyRender,currentIndex:w.currentIndex,onChange:O},{default:()=>{var e;return[null==(e=a.default)?void 0:e.call(a)]}})])}});const aa=Symbol(),[na,ra]=Ie("tab"),la=t.defineComponent({name:na,props:{id:String,dot:Boolean,type:String,color:String,title:String,badge:g,shrink:Boolean,isActive:Boolean,disabled:Boolean,controls:String,scrollable:Boolean,activeColor:String,inactiveColor:String,showZeroBadge:b},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:ra("text",{ellipsis:!e.scrollable})},[o.title?o.title():e.title]);return e.dot||l(e.badge)&&""!==e.badge?t.createVNode(ct,{dot:e.dot,content:e.badge,showZero:e.showZeroBadge},{default:()=>[a]}):a};return()=>t.createVNode("div",{id:e.id,role:"tab",class:[ra([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()])}}),[ia,sa]=Ie("swipe-item");const ca=Ye(t.defineComponent({name:ia,setup(e,{slots:o}){let a;const n=t.reactive({offset:0,inited:!1,mounted:!1}),{parent:r,index:l}=D(qo);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}))})),ot({setOffset:e=>{n.offset=e}}),()=>{var e;return t.createVNode("div",{class:sa(),style:i.value},[s.value?null==(e=o.default)?void 0:e.call(o):null])}}})),[da,ua]=Ie("tab"),pa=a({},at,{dot:Boolean,name:g,badge:g,title:String,disabled:Boolean,titleClass:h,titleStyle:[String,Object],showZeroBadge:b});const va=Ye(t.defineComponent({name:da,props:pa,setup(e,{slots:o}){const a=$o(),n=t.ref(!1),r=t.getCurrentInstance(),{parent:l,index:i}=D(ta);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?Eo(t):"",u.value=o&&"string"!=typeof o?function(e){let t="";if(!e||So(e))return t;for(const o in e){const a=e[o];(So(a)||"number"==typeof a)&&(t+=`${o.startsWith("--")?o:Po(o)}:${a};`)}return t}(Do(o)):o}));const p=t.ref(!c.value);return t.watch(c,(e=>{e?p.value=!1:T((()=>{p.value=!0}))})),t.watch((()=>e.title),(()=>{l.setLine(),l.scrollIntoView()})),t.provide(aa,c),ot({id:a,renderTitle:n=>t.createVNode(la,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)},v(l.props,["type","color","shrink"]),v(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(ca,{id:a,role:"tabpanel",class:ua("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:ua("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:ua("panel"),tabindex:m?0:-1,"aria-labelledby":r,"data-allow-mismatch":"attribute"},[f]),[[t.vShow,m]])}}})),ma=Ye(oa),[fa,ha]=Ie("picker-group"),ga=Symbol(fa),ba=a({tabs:w(),activeTab:V(0),nextStepText:String,showToolbar:b},wo);var ya=t.defineComponent({name:fa,props:ba,emits:["confirm","cancel","update:activeTab"],setup(e,{emit:o,slots:a}){const n=Co((()=>e.activeTab),(e=>o("update:activeTab",e))),{children:r,linkChildren:l}=I(ga);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:ha()},[e.showToolbar?t.createVNode(No,{title:e.title,cancelButtonText:e.cancelButtonText,confirmButtonText:d,onConfirm:s,onCancel:c},v(a,xo)):null,t.createVNode(ma,{active:n.value,"onUpdate:active":e=>n.value=e,class:ha("tabs"),shrink:!0,animated:!0,lazyRender:!1},{default:()=>[e.tabs.map(((e,o)=>t.createVNode(va,{title:e,titleClass:ha("tab-title")},{default:()=>[null==l?void 0:l[o]]})))]})])}}});const wa=a({loading:Boolean,readonly:Boolean,allowHtml:Boolean,optionHeight:V(44),showToolbar:b,swipeDuration:V(1e3),visibleOptionNum:V(6)},wo),xa=a({},wa,{columns:w(),modelValue:w(),toolbarPosition:N("top"),columnsFieldNames:Object});var Va=t.defineComponent({name:io,props:xa,emits:["confirm","cancel","change","scrollInto","clickOption","update:modelValue"],setup(e,{emit:o,slots:n}){const r=t.ref(),i=t.ref(e.modelValue.slice(0)),{parent:s}=D(ga),{children:c,linkChildren:d}=I(go);d();const u=t.computed((()=>function(e){return a({text:"text",value:"value",children:"children"},e)}(e.columnsFieldNames))),p=t.computed((()=>he(e.optionHeight))),f=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))),h=t.computed((()=>{const{columns:t}=e;switch(f.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],i=o.value[r];n=l(i)?mo(e,i,t):void 0,!n&&e.length&&(n=mo(e,uo(e)[t.value],t)),r++,a.push(e)}return a}(t,u.value,i);default:return[t]}})),g=t.computed((()=>h.value.some((e=>e.length)))),b=t.computed((()=>h.value.map(((e,t)=>mo(e,i.value[t],u.value))))),y=t.computed((()=>h.value.map(((e,t)=>e.findIndex((e=>e[u.value.value]===i.value[t])))))),w=(e,t)=>{if(i.value[e]!==t){const o=i.value.slice(0);o[e]=t,i.value=o}},x=()=>({selectedValues:i.value.slice(0),selectedOptions:b.value,selectedIndexes:y.value}),V=()=>{c.forEach((e=>e.stopMomentum()));const e=x();return t.nextTick((()=>{o("confirm",e)})),e},N=()=>o("cancel",x()),C=()=>h.value.map(((r,l)=>t.createVNode(bo,{value:i.value[l],fields:u.value,options:r,readonly:e.readonly,allowHtml:e.allowHtml,optionHeight:p.value,swipeDuration:e.swipeDuration,visibleOptionNum:e.visibleOptionNum,onChange:e=>((e,n)=>{w(n,e),"cascade"===f.value&&i.value.forEach(((e,t)=>{const o=h.value[t];vo(o,e,u.value)||w(t,o.length?o[0][u.value.value]:void 0)})),t.nextTick((()=>{o("change",a({columnIndex:n},x()))}))})(e,l),onClickOption:e=>((e,t)=>{const n={columnIndex:t,currentOption:e};o("clickOption",a(x(),n)),o("scrollInto",n)})(e,l),onScrollInto:e=>{o("scrollInto",{currentOption:e,columnIndex:l})}},{option:n.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:so("mask"),style:a},null),t.createVNode("div",{class:[He,so("frame")],style:o},null)]}},S=()=>{const o=p.value*+e.visibleOptionNum,a={height:`${o}px`};return t.createVNode("div",{ref:r,class:so("columns"),style:a},[C(),k(o)])},T=()=>{if(e.showToolbar&&!s)return t.createVNode(No,t.mergeProps(v(e,Vo),{onConfirm:V,onCancel:N}),v(n,xo))};let B;t.watch(h,(e=>{e.forEach(((e,t)=>{e.length&&!vo(e,i.value[t],u.value)&&w(t,uo(e)[u.value.value])}))}),{immediate:!0}),t.watch((()=>e.modelValue),(e=>{m(e,i.value)||m(e,B)||(i.value=e.slice(0),B=e.slice(0))}),{deep:!0}),t.watch(i,(t=>{m(t,e.modelValue)||(B=t.slice(0),o("update:modelValue",B))}),{immediate:!0}),j("touchmove",le,{target:r});return ot({confirm:V,getSelectedOptions:()=>b.value}),()=>{var o,a;return t.createVNode("div",{class:so()},["top"===e.toolbarPosition?T():null,e.loading?t.createVNode(Tt,{class:so("loading")},null):null,null==(o=n["columns-top"])?void 0:o.call(n),S(),null==(a=n["columns-bottom"])?void 0:a.call(n),"bottom"===e.toolbarPosition?T():null])}}});const Na="000000",Ca=["title","cancel","confirm","toolbar","columns-top","columns-bottom"],ka=["title","loading","readonly","optionHeight","swipeDuration","visibleOptionNum","cancelButtonText","confirmButtonText"],Sa=(e="",t=Na,o=void 0)=>({text:e,value:t,children:o});function Ta({areaList:e,columnsNum:t