UNPKG

vant

Version:

Mobile UI Components built on Vue

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