1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397 |
- ;(function(){function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray2(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};},e:function e(_e2){throw _e2;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o);},n:function n(){var step=it.next();normalCompletion=step.done;return step;},e:function e(_e3){didErr=true;err=_e3;},f:function f(){try{if(!normalCompletion&&it.return!=null)it.return();}finally{if(didErr)throw err;}}};}function _classCallCheck2(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass2(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _typeof2(obj){"@babel/helpers - typeof";return _typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof2(obj);}function _defineProperty2(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray2(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _toConsumableArray2(arr){return _arrayWithoutHoles2(arr)||_iterableToArray2(arr)||_unsupportedIterableToArray2(arr)||_nonIterableSpread2();}function _nonIterableSpread2(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray2(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray2(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray2(o,minLen);}function _iterableToArray2(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _arrayWithoutHoles2(arr){if(Array.isArray(arr))return _arrayLikeToArray2(arr);}function _arrayLikeToArray2(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}var __vite_style__=document.createElement('style');__vite_style__.innerHTML=":root{--van-black:#000;--van-white:#fff;--van-gray-1:#f7f8fa;--van-gray-2:#f2f3f5;--van-gray-3:#ebedf0;--van-gray-4:#dcdee0;--van-gray-5:#c8c9cc;--van-gray-6:#969799;--van-gray-7:#646566;--van-gray-8:#323233;--van-red:#ee0a24;--van-blue:#1989fa;--van-orange:#ff976a;--van-orange-dark:#ed6a0c;--van-orange-light:#fffbe8;--van-green:#07c160;--van-gradient-red:linear-gradient(to right, #ff6034, #ee0a24);--van-gradient-orange:linear-gradient(to right, #ffd01e, #ff8917);--van-primary-color:var(--van-blue);--van-success-color:var(--van-green);--van-danger-color:var(--van-red);--van-warning-color:var(--van-orange);--van-text-color:var(--van-gray-8);--van-text-color-2:var(--van-gray-6);--van-text-color-3:var(--van-gray-5);--van-text-link-color:#576b95;--van-active-color:var(--van-gray-2);--van-active-opacity:.6;--van-disabled-opacity:.5;--van-background-color:var(--van-gray-1);--van-background-color-light:var(--van-white);--van-padding-base:.10667rem;--van-padding-xs:.21333rem;--van-padding-sm:.32rem;--van-padding-md:.42667rem;--van-padding-lg:.64rem;--van-padding-xl:.85333rem;--van-font-size-xs:.26667rem;--van-font-size-sm:.32rem;--van-font-size-md:.37333rem;--van-font-size-lg:.42667rem;--van-font-weight-bold:500;--van-line-height-xs:.37333rem;--van-line-height-sm:.48rem;--van-line-height-md:.53333rem;--van-line-height-lg:.58667rem;--van-base-font-family:-apple-system,BlinkMacSystemFont,\"Helvetica Neue\",Helvetica,Segoe UI,Arial,Roboto,\"PingFang SC\",\"miui\",\"Hiragino Sans GB\",\"Microsoft Yahei\",sans-serif;--van-price-integer-font-family:Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif;--van-animation-duration-base:.3s;--van-animation-duration-fast:.2s;--van-animation-timing-function-enter:ease-out;--van-animation-timing-function-leave:ease-in;--van-border-color:var(--van-gray-3);--van-border-width-base:.02667rem;--van-border-radius-sm:.05333rem;--van-border-radius-md:.10667rem;--van-border-radius-lg:.21333rem;--van-border-radius-max:26.64rem}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Segoe UI,Arial,Roboto,PingFang SC,miui,Hiragino Sans GB,Microsoft Yahei,sans-serif}a{text-decoration:none}button,input,textarea{color:inherit;font:inherit}[class*=van-]:focus,a:focus,button:focus,input:focus,textarea:focus{outline:0}ol,ul{margin:0;padding:0;list-style:none}@-webkit-keyframes van-slide-up-enter{0%{transform:translateY(100%)}}@keyframes van-slide-up-enter{0%{transform:translateY(100%)}}@-webkit-keyframes van-slide-up-leave{to{transform:translateY(100%)}}@keyframes van-slide-up-leave{to{transform:translateY(100%)}}@-webkit-keyframes van-slide-down-enter{0%{transform:translateY(-100%)}}@keyframes van-slide-down-enter{0%{transform:translateY(-100%)}}@-webkit-keyframes van-slide-down-leave{to{transform:translateY(-100%)}}@keyframes van-slide-down-leave{to{transform:translateY(-100%)}}@-webkit-keyframes van-slide-left-enter{0%{transform:translate(-100%)}}@keyframes van-slide-left-enter{0%{transform:translate(-100%)}}@-webkit-keyframes van-slide-left-leave{to{transform:translate(-100%)}}@keyframes van-slide-left-leave{to{transform:translate(-100%)}}@-webkit-keyframes van-slide-right-enter{0%{transform:translate(100%)}}@keyframes van-slide-right-enter{0%{transform:translate(100%)}}@-webkit-keyframes van-slide-right-leave{to{transform:translate(100%)}}@keyframes van-slide-right-leave{to{transform:translate(100%)}}@-webkit-keyframes van-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes van-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-fade-out{0%{opacity:1}to{opacity:0}}@-webkit-keyframes van-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes van-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.van-fade-enter-active{-webkit-animation:var(--van-animation-duration-base) van-fade-in both var(--van-animation-timing-function-enter);animation:var(--van-animation-duration-base) van-fade-in both var(--van-animation-timing-function-enter)}.van-fade-leave-active{-webkit-animation:var(--van-animation-duration-base) van-fade-out both var(--van-animation-timing-function-leave);animation:var(--van-animation-duration-base) van-fade-out both var(--van-animation-timing-function-leave)}.van-slide-up-enter-active{-webkit-animation:van-slide-up-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter);animation:van-slide-up-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter)}.van-slide-up-leave-active{-webkit-animation:van-slide-up-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave);animation:van-slide-up-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave)}.van-slide-down-enter-active{-webkit-animation:van-slide-down-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter);animation:van-slide-down-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter)}.van-slide-down-leave-active{-webkit-animation:van-slide-down-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave);animation:van-slide-down-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave)}.van-slide-left-enter-active{-webkit-animation:van-slide-left-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter);animation:van-slide-left-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter)}.van-slide-left-leave-active{-webkit-animation:van-slide-left-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave);animation:van-slide-left-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave)}.van-slide-right-enter-active{-webkit-animation:van-slide-right-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter);animation:van-slide-right-enter var(--van-animation-duration-base) both var(--van-animation-timing-function-enter)}.van-slide-right-leave-active{-webkit-animation:van-slide-right-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave);animation:van-slide-right-leave var(--van-animation-duration-base) both var(--van-animation-timing-function-leave)}.van-clearfix:after{display:table;clear:both;content:\"\"}.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}.van-safe-area-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.van-haptics-feedback:active{opacity:var(--van-active-opacity)}[class*=van-hairline]:after{position:absolute;box-sizing:border-box;content:\" \";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--van-border-color);transform:scale(.5)}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--top:after{border-top-width:.02667rem}.van-hairline--left:after{border-left-width:.02667rem}.van-hairline--right:after{border-right-width:.02667rem}.van-hairline--bottom:after{border-bottom-width:.02667rem}.van-hairline--top-bottom:after,.van-hairline-unset--top-bottom:after{border-width:.02667rem 0}.van-hairline--surround:after{border-width:.02667rem}:root{--van-badge-size:.42667rem;--van-badge-color:var(--van-white);--van-badge-padding:0 .08rem;--van-badge-font-size:var(--van-font-size-sm);--van-badge-font-weight:var(--van-font-weight-bold);--van-badge-border-width:var(--van-border-width-base);--van-badge-background-color:var(--van-danger-color);--van-badge-dot-color:var(--van-danger-color);--van-badge-dot-size:.21333rem;--van-badge-font-family:-apple-system-font,Helvetica Neue,Arial,sans-serif}.van-badge{display:inline-block;box-sizing:border-box;min-width:var(--van-badge-size);padding:var(--van-badge-padding);color:var(--van-badge-color);font-weight:var(--van-badge-font-weight);font-size:var(--van-badge-font-size);font-family:var(--van-badge-font-family);line-height:1.2;text-align:center;background:var(--van-badge-background-color);border:var(--van-badge-border-width) solid var(--van-background-color-light);border-radius:var(--van-border-radius-max)}.van-badge--fixed{position:absolute;transform-origin:100%}.van-badge--top-left{top:0;left:0;transform:translate(-50%,-50%)}.van-badge--top-right{top:0;right:0;transform:translate(50%,-50%)}.van-badge--bottom-left{bottom:0;left:0;transform:translate(-50%,50%)}.van-badge--bottom-right{bottom:0;right:0;transform:translate(50%,50%)}.van-badge--dot{width:var(--van-badge-dot-size);min-width:0;height:var(--van-badge-dot-size);background:var(--van-badge-dot-color);border-radius:100%;border:none;padding:0}.van-badge__wrapper{position:relative;display:inline-block}.van-icon{position:relative;display:inline-block;font: .37333rem/1 vant-icon;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}.van-icon:before{display:inline-block}.van-icon-exchange:before{content:\"\\e6af\"}.van-icon-eye:before{content:\"\\e6b0\"}.van-icon-enlarge:before{content:\"\\e6b1\"}.van-icon-expand-o:before{content:\"\\e6b2\"}.van-icon-eye-o:before{content:\"\\e6b3\"}.van-icon-expand:before{content:\"\\e6b4\"}.van-icon-filter-o:before{content:\"\\e6b5\"}.van-icon-fire:before{content:\"\\e6b6\"}.van-icon-fail:before{content:\"\\e6b7\"}.van-icon-failure:before{content:\"\\e6b8\"}.van-icon-fire-o:before{content:\"\\e6b9\"}.van-icon-flag-o:before{content:\"\\e6ba\"}.van-icon-font:before{content:\"\\e6bb\"}.van-icon-font-o:before{content:\"\\e6bc\"}.van-icon-gem-o:before{content:\"\\e6bd\"}.van-icon-flower-o:before{content:\"\\e6be\"}.van-icon-gem:before{content:\"\\e6bf\"}.van-icon-gift-card:before{content:\"\\e6c0\"}.van-icon-friends:before{content:\"\\e6c1\"}.van-icon-friends-o:before{content:\"\\e6c2\"}.van-icon-gold-coin:before{content:\"\\e6c3\"}.van-icon-gold-coin-o:before{content:\"\\e6c4\"}.van-icon-good-job-o:before{content:\"\\e6c5\"}.van-icon-gift:before{content:\"\\e6c6\"}.van-icon-gift-o:before{content:\"\\e6c7\"}.van-icon-gift-card-o:before{content:\"\\e6c8\"}.van-icon-good-job:before{content:\"\\e6c9\"}.van-icon-home-o:before{content:\"\\e6ca\"}.van-icon-goods-collect:before{content:\"\\e6cb\"}.van-icon-graphic:before{content:\"\\e6cc\"}.van-icon-goods-collect-o:before{content:\"\\e6cd\"}.van-icon-hot-o:before{content:\"\\e6ce\"}.van-icon-info:before{content:\"\\e6cf\"}.van-icon-hotel-o:before{content:\"\\e6d0\"}.van-icon-info-o:before{content:\"\\e6d1\"}.van-icon-hot-sale-o:before{content:\"\\e6d2\"}.van-icon-hot:before{content:\"\\e6d3\"}.van-icon-like:before{content:\"\\e6d4\"}.van-icon-idcard:before{content:\"\\e6d5\"}.van-icon-invitation:before{content:\"\\e6d6\"}.van-icon-like-o:before{content:\"\\e6d7\"}.van-icon-hot-sale:before{content:\"\\e6d8\"}.van-icon-location-o:before{content:\"\\e6d9\"}.van-icon-location:before{content:\"\\e6da\"}.van-icon-label:before{content:\"\\e6db\"}.van-icon-lock:before{content:\"\\e6dc\"}.van-icon-label-o:before{content:\"\\e6dd\"}.van-icon-map-marked:before{content:\"\\e6de\"}.van-icon-logistics:before{content:\"\\e6df\"}.van-icon-manager:before{content:\"\\e6e0\"}.van-icon-more:before{content:\"\\e6e1\"}.van-icon-live:before{content:\"\\e6e2\"}.van-icon-manager-o:before{content:\"\\e6e3\"}.van-icon-medal:before{content:\"\\e6e4\"}.van-icon-more-o:before{content:\"\\e6e5\"}.van-icon-music-o:before{content:\"\\e6e6\"}.van-icon-music:before{content:\"\\e6e7\"}.van-icon-new-arrival-o:before{content:\"\\e6e8\"}.van-icon-medal-o:before{content:\"\\e6e9\"}.van-icon-new-o:before{content:\"\\e6ea\"}.van-icon-free-postage:before{content:\"\\e6eb\"}.van-icon-newspaper-o:before{content:\"\\e6ec\"}.van-icon-new-arrival:before{content:\"\\e6ed\"}.van-icon-minus:before{content:\"\\e6ee\"}.van-icon-orders-o:before{content:\"\\e6ef\"}.van-icon-new:before{content:\"\\e6f0\"}.van-icon-paid:before{content:\"\\e6f1\"}.van-icon-notes-o:before{content:\"\\e6f2\"}.van-icon-other-pay:before{content:\"\\e6f3\"}.van-icon-pause-circle:before{content:\"\\e6f4\"}.van-icon-pause:before{content:\"\\e6f5\"}.van-icon-pause-circle-o:before{content:\"\\e6f6\"}.van-icon-peer-pay:before{content:\"\\e6f7\"}.van-icon-pending-payment:before{content:\"\\e6f8\"}.van-icon-passed:before{content:\"\\e6f9\"}.van-icon-plus:before{content:\"\\e6fa\"}.van-icon-phone-circle-o:before{content:\"\\e6fb\"}.van-icon-phone-o:before{content:\"\\e6fc\"}.van-icon-printer:before{content:\"\\e6fd\"}.van-icon-photo-fail:before{content:\"\\e6fe\"}.van-icon-phone:before{content:\"\\e6ff\"}.van-icon-photo-o:before{content:\"\\e700\"}.van-icon-play-circle:before{content:\"\\e701\"}.van-icon-play:before{content:\"\\e702\"}.van-icon-phone-circle:before{content:\"\\e703\"}.van-icon-point-gift-o:before{content:\"\\e704\"}.van-icon-point-gift:before{content:\"\\e705\"}.van-icon-play-circle-o:before{content:\"\\e706\"}.van-icon-shrink:before{content:\"\\e707\"}.van-icon-photo:before{content:\"\\e708\"}.van-icon-qr:before{content:\"\\e709\"}.van-icon-qr-invalid:before{content:\"\\e70a\"}.van-icon-question-o:before{content:\"\\e70b\"}.van-icon-revoke:before{content:\"\\e70c\"}.van-icon-replay:before{content:\"\\e70d\"}.van-icon-service:before{content:\"\\e70e\"}.van-icon-question:before{content:\"\\e70f\"}.van-icon-search:before{content:\"\\e710\"}.van-icon-refund-o:before{content:\"\\e711\"}.van-icon-service-o:before{content:\"\\e712\"}.van-icon-scan:before{content:\"\\e713\"}.van-icon-share:before{content:\"\\e714\"}.van-icon-send-gift-o:before{content:\"\\e715\"}.van-icon-share-o:before{content:\"\\e716\"}.van-icon-setting:before{content:\"\\e717\"}.van-icon-points:before{content:\"\\e718\"}.van-icon-photograph:before{content:\"\\e719\"}.van-icon-shop:before{content:\"\\e71a\"}.van-icon-shop-o:before{content:\"\\e71b\"}.van-icon-shop-collect-o:before{content:\"\\e71c\"}.van-icon-shop-collect:before{content:\"\\e71d\"}.van-icon-smile:before{content:\"\\e71e\"}.van-icon-shopping-cart-o:before{content:\"\\e71f\"}.van-icon-sign:before{content:\"\\e720\"}.van-icon-sort:before{content:\"\\e721\"}.van-icon-star-o:before{content:\"\\e722\"}.van-icon-smile-comment-o:before{content:\"\\e723\"}.van-icon-stop:before{content:\"\\e724\"}.van-icon-stop-circle-o:before{content:\"\\e725\"}.van-icon-smile-o:before{content:\"\\e726\"}.van-icon-star:before{content:\"\\e727\"}.van-icon-success:before{content:\"\\e728\"}.van-icon-stop-circle:before{content:\"\\e729\"}.van-icon-records:before{content:\"\\e72a\"}.van-icon-shopping-cart:before{content:\"\\e72b\"}.van-icon-tosend:before{content:\"\\e72c\"}.van-icon-todo-list:before{content:\"\\e72d\"}.van-icon-thumb-circle-o:before{content:\"\\e72e\"}.van-icon-thumb-circle:before{content:\"\\e72f\"}.van-icon-umbrella-circle:before{content:\"\\e730\"}.van-icon-underway:before{content:\"\\e731\"}.van-icon-upgrade:before{content:\"\\e732\"}.van-icon-todo-list-o:before{content:\"\\e733\"}.van-icon-tv-o:before{content:\"\\e734\"}.van-icon-underway-o:before{content:\"\\e735\"}.van-icon-user-o:before{content:\"\\e736\"}.van-icon-vip-card-o:before{content:\"\\e737\"}.van-icon-vip-card:before{content:\"\\e738\"}.van-icon-send-gift:before{content:\"\\e739\"}.van-icon-wap-home:before{content:\"\\e73a\"}.van-icon-wap-nav:before{content:\"\\e73b\"}.van-icon-volume-o:before{content:\"\\e73c\"}.van-icon-video:before{content:\"\\e73d\"}.van-icon-wap-home-o:before{content:\"\\e73e\"}.van-icon-volume:before{content:\"\\e73f\"}.van-icon-warning:before{content:\"\\e740\"}.van-icon-weapp-nav:before{content:\"\\e741\"}.van-icon-wechat-pay:before{content:\"\\e742\"}.van-icon-warning-o:before{content:\"\\e743\"}.van-icon-wechat:before{content:\"\\e744\"}.van-icon-setting-o:before{content:\"\\e745\"}.van-icon-youzan-shield:before{content:\"\\e746\"}.van-icon-warn-o:before{content:\"\\e747\"}.van-icon-smile-comment:before{content:\"\\e748\"}.van-icon-user-circle-o:before{content:\"\\e749\"}.van-icon-video-o:before{content:\"\\e74a\"}.van-icon-add-square:before{content:\"\\e65c\"}.van-icon-add:before{content:\"\\e65d\"}.van-icon-arrow-down:before{content:\"\\e65e\"}.van-icon-arrow-up:before{content:\"\\e65f\"}.van-icon-arrow:before{content:\"\\e660\"}.van-icon-after-sale:before{content:\"\\e661\"}.van-icon-add-o:before{content:\"\\e662\"}.van-icon-alipay:before{content:\"\\e663\"}.van-icon-ascending:before{content:\"\\e664\"}.van-icon-apps-o:before{content:\"\\e665\"}.van-icon-aim:before{content:\"\\e666\"}.van-icon-award:before{content:\"\\e667\"}.van-icon-arrow-left:before{content:\"\\e668\"}.van-icon-award-o:before{content:\"\\e669\"}.van-icon-audio:before{content:\"\\e66a\"}.van-icon-bag-o:before{content:\"\\e66b\"}.van-icon-balance-list:before{content:\"\\e66c\"}.van-icon-back-top:before{content:\"\\e66d\"}.van-icon-bag:before{content:\"\\e66e\"}.van-icon-balance-pay:before{content:\"\\e66f\"}.van-icon-balance-o:before{content:\"\\e670\"}.van-icon-bar-chart-o:before{content:\"\\e671\"}.van-icon-bars:before{content:\"\\e672\"}.van-icon-balance-list-o:before{content:\"\\e673\"}.van-icon-birthday-cake-o:before{content:\"\\e674\"}.van-icon-bookmark:before{content:\"\\e675\"}.van-icon-bill:before{content:\"\\e676\"}.van-icon-bell:before{content:\"\\e677\"}.van-icon-browsing-history-o:before{content:\"\\e678\"}.van-icon-browsing-history:before{content:\"\\e679\"}.van-icon-bookmark-o:before{content:\"\\e67a\"}.van-icon-bulb-o:before{content:\"\\e67b\"}.van-icon-bullhorn-o:before{content:\"\\e67c\"}.van-icon-bill-o:before{content:\"\\e67d\"}.van-icon-calendar-o:before{content:\"\\e67e\"}.van-icon-brush-o:before{content:\"\\e67f\"}.van-icon-card:before{content:\"\\e680\"}.van-icon-cart-o:before{content:\"\\e681\"}.van-icon-cart-circle:before{content:\"\\e682\"}.van-icon-cart-circle-o:before{content:\"\\e683\"}.van-icon-cart:before{content:\"\\e684\"}.van-icon-cash-on-deliver:before{content:\"\\e685\"}.van-icon-cash-back-record:before{content:\"\\e686\"}.van-icon-cashier-o:before{content:\"\\e687\"}.van-icon-chart-trending-o:before{content:\"\\e688\"}.van-icon-certificate:before{content:\"\\e689\"}.van-icon-chat:before{content:\"\\e68a\"}.van-icon-clear:before{content:\"\\e68b\"}.van-icon-chat-o:before{content:\"\\e68c\"}.van-icon-checked:before{content:\"\\e68d\"}.van-icon-clock:before{content:\"\\e68e\"}.van-icon-clock-o:before{content:\"\\e68f\"}.van-icon-close:before{content:\"\\e690\"}.van-icon-closed-eye:before{content:\"\\e691\"}.van-icon-circle:before{content:\"\\e692\"}.van-icon-cluster-o:before{content:\"\\e693\"}.van-icon-column:before{content:\"\\e694\"}.van-icon-comment-circle-o:before{content:\"\\e695\"}.van-icon-cluster:before{content:\"\\e696\"}.van-icon-comment:before{content:\"\\e697\"}.van-icon-comment-o:before{content:\"\\e698\"}.van-icon-comment-circle:before{content:\"\\e699\"}.van-icon-completed:before{content:\"\\e69a\"}.van-icon-credit-pay:before{content:\"\\e69b\"}.van-icon-coupon:before{content:\"\\e69c\"}.van-icon-debit-pay:before{content:\"\\e69d\"}.van-icon-coupon-o:before{content:\"\\e69e\"}.van-icon-contact:before{content:\"\\e69f\"}.van-icon-descending:before{content:\"\\e6a0\"}.van-icon-desktop-o:before{content:\"\\e6a1\"}.van-icon-diamond-o:before{content:\"\\e6a2\"}.van-icon-description:before{content:\"\\e6a3\"}.van-icon-delete:before{content:\"\\e6a4\"}.van-icon-diamond:before{content:\"\\e6a5\"}.van-icon-delete-o:before{content:\"\\e6a6\"}.van-icon-cross:before{content:\"\\e6a7\"}.van-icon-edit:before{content:\"\\e6a8\"}.van-icon-ellipsis:before{content:\"\\e6a9\"}.van-icon-down:before{content:\"\\e6aa\"}.van-icon-discount:before{content:\"\\e6ab\"}.van-icon-ecard-pay:before{content:\"\\e6ac\"}.van-icon-envelop-o:before{content:\"\\e6ae\"}.van-icon-shield-o:before{content:\"\\e74b\"}.van-icon-guide-o:before{content:\"\\e74c\"}@font-face{font-weight:400;font-family:vant-icon;font-style:normal;font-display:auto;src:url(data:font/woff2;charset=utf-8;base64,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) format(\"woff2\"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.woff?t=1631948257467) format(\"woff\"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.ttf?t=1631948257467) format(\"truetype\")}.van-icon__image{width:1em;height:1em;-o-object-fit:contain;object-fit:contain}:root{--van-loading-text-color:var(--van-text-color-2);--van-loading-text-font-size:var(--van-font-size-md);--van-loading-spinner-color:var(--van-gray-5);--van-loading-spinner-size:.8rem;--van-loading-spinner-animation-duration:.8s}.van-loading{position:relative;color:var(--van-loading-spinner-color);font-size:0;vertical-align:middle}.van-loading__spinner{position:relative;display:inline-block;width:var(--van-loading-spinner-size);max-width:100%;height:var(--van-loading-spinner-size);max-height:100%;vertical-align:middle;-webkit-animation:van-rotate var(--van-loading-spinner-animation-duration) linear infinite;animation:van-rotate var(--van-loading-spinner-animation-duration) linear infinite}.van-loading__spinner--spinner{-webkit-animation-timing-function:steps(12);animation-timing-function:steps(12)}.van-loading__spinner--circular{-webkit-animation-duration:2s;animation-duration:2s}.van-loading__line{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__line:before{display:block;width:.05333rem;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:\" \"}.van-loading__circular{display:block;width:100%;height:100%}.van-loading__circular circle{-webkit-animation:van-circular 1.5s ease-in-out infinite;animation:van-circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}.van-loading__text{display:inline-block;margin-left:var(--van-padding-xs);color:var(--van-loading-text-color);font-size:var(--van-loading-text-font-size);vertical-align:middle}.van-loading--vertical{display:flex;flex-direction:column;align-items:center}.van-loading--vertical .van-loading__text{margin:var(--van-padding-xs) 0 0}@-webkit-keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}@keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}.van-loading__line--1{transform:rotate(30deg);opacity:1}.van-loading__line--2{transform:rotate(60deg);opacity:.9375}.van-loading__line--3{transform:rotate(90deg);opacity:.875}.van-loading__line--4{transform:rotate(120deg);opacity:.8125}.van-loading__line--5{transform:rotate(150deg);opacity:.75}.van-loading__line--6{transform:rotate(180deg);opacity:.6875}.van-loading__line--7{transform:rotate(210deg);opacity:.625}.van-loading__line--8{transform:rotate(240deg);opacity:.5625}.van-loading__line--9{transform:rotate(270deg);opacity:.5}.van-loading__line--10{transform:rotate(300deg);opacity:.4375}.van-loading__line--11{transform:rotate(330deg);opacity:.375}.van-loading__line--12{transform:rotate(360deg);opacity:.3125}:root{--van-overlay-z-index:1;--van-overlay-background-color:rgba(0, 0, 0, .7)}.van-overlay{position:fixed;top:0;left:0;z-index:var(--van-overlay-z-index);width:100%;height:100%;background:var(--van-overlay-background-color)}:root{--van-popup-background-color:var(--van-background-color-light);--van-popup-transition:transform var(--van-animation-duration-base);--van-popup-round-border-radius:.42667rem;--van-popup-close-icon-size:.58667rem;--van-popup-close-icon-color:var(--van-gray-5);--van-popup-close-icon-margin:.42667rem;--van-popup-close-icon-z-index:1}.van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;background:var(--van-popup-background-color);transition:var(--van-popup-transition);-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:50%;transform:translate(-50%,-50%)}.van-popup--center.van-popup--round{border-radius:var(--van-popup-round-border-radius)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--van-popup-round-border-radius) var(--van-popup-round-border-radius)}.van-popup--right{top:50%;right:0;transform:translateY(-50%)}.van-popup--right.van-popup--round{border-radius:var(--van-popup-round-border-radius) 0 0 var(--van-popup-round-border-radius)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--van-popup-round-border-radius) var(--van-popup-round-border-radius) 0 0}.van-popup--left{top:50%;left:0;transform:translateY(-50%)}.van-popup--left.van-popup--round{border-radius:0 var(--van-popup-round-border-radius) var(--van-popup-round-border-radius) 0}.van-popup-slide-bottom-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-top-enter-active{transition-timing-function:var(--van-animation-timing-function-enter)}.van-popup-slide-bottom-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-top-leave-active{transition-timing-function:var(--van-animation-timing-function-leave)}.van-popup-slide-top-enter-from,.van-popup-slide-top-leave-active{transform:translateY(-100%)}.van-popup-slide-right-enter-from,.van-popup-slide-right-leave-active{transform:translate(100%,-50%)}.van-popup-slide-bottom-enter-from,.van-popup-slide-bottom-leave-active{transform:translateY(100%)}.van-popup-slide-left-enter-from,.van-popup-slide-left-leave-active{transform:translate(-100%,-50%)}.van-popup__close-icon{position:absolute;z-index:var(--van-popup-close-icon-z-index);color:var(--van-popup-close-icon-color);font-size:var(--van-popup-close-icon-size);cursor:pointer}.van-popup__close-icon--top-left{top:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--top-right{top:var(--van-popup-close-icon-margin);right:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-left{bottom:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-right{right:var(--van-popup-close-icon-margin);bottom:var(--van-popup-close-icon-margin)}:root{--van-toast-max-width:70%;--van-toast-font-size:var(--van-font-size-md);--van-toast-text-color:var(--van-white);--van-toast-loading-icon-color:var(--van-white);--van-toast-line-height:var(--van-line-height-md);--van-toast-border-radius:var(--van-border-radius-lg);--van-toast-background-color:rgba(0, 0, 0, .7);--van-toast-icon-size:.96rem;--van-toast-text-min-width:2.56rem;--van-toast-text-padding:var(--van-padding-xs) var(--van-padding-sm);--van-toast-default-padding:var(--van-padding-md);--van-toast-default-width:2.34667rem;--van-toast-default-min-height:2.34667rem;--van-toast-position-top-distance:20%;--van-toast-position-bottom-distance:20%}.van-toast{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:content-box;transition:all var(--van-animation-duration-fast);width:var(--van-toast-default-width);max-width:var(--van-toast-max-width);min-height:var(--van-toast-default-min-height);padding:var(--van-toast-default-padding);color:var(--van-toast-text-color);font-size:var(--van-toast-font-size);line-height:var(--van-toast-line-height);white-space:pre-wrap;text-align:center;word-break:break-all;background:var(--van-toast-background-color);border-radius:var(--van-toast-border-radius)}.van-toast--unclickable{overflow:hidden;cursor:not-allowed}.van-toast--unclickable *{pointer-events:none}.van-toast--html,.van-toast--text{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:var(--van-toast-text-min-width);min-height:0;padding:var(--van-toast-text-padding)}.van-toast--html .van-toast__text,.van-toast--text .van-toast__text{margin-top:0}.van-toast--top{top:var(--van-toast-position-top-distance)}.van-toast--bottom{top:auto;bottom:var(--van-toast-position-bottom-distance)}.van-toast__icon{font-size:var(--van-toast-icon-size)}.van-toast__loading{padding:var(--van-padding-base);color:var(--van-toast-loading-icon-color)}.van-toast__text{margin-top:var(--van-padding-xs)}:root{--van-button-mini-height:.64rem;--van-button-mini-padding:0 var(--van-padding-base);--van-button-mini-font-size:var(--van-font-size-xs);--van-button-small-height:.85333rem;--van-button-small-padding:0 var(--van-padding-xs);--van-button-small-font-size:var(--van-font-size-sm);--van-button-normal-padding:0 .4rem;--van-button-normal-font-size:var(--van-font-size-md);--van-button-large-height:1.33333rem;--van-button-default-height:1.17333rem;--van-button-default-line-height:1.2;--van-button-default-font-size:var(--van-font-size-lg);--van-button-default-color:var(--van-text-color);--van-button-default-background-color:var(--van-background-color-light);--van-button-default-border-color:var(--van-border-color);--van-button-primary-color:var(--van-white);--van-button-primary-background-color:var(--van-primary-color);--van-button-primary-border-color:var(--van-primary-color);--van-button-success-color:var(--van-white);--van-button-success-background-color:var(--van-success-color);--van-button-success-border-color:var(--van-success-color);--van-button-danger-color:var(--van-white);--van-button-danger-background-color:var(--van-danger-color);--van-button-danger-border-color:var(--van-danger-color);--van-button-warning-color:var(--van-white);--van-button-warning-background-color:var(--van-warning-color);--van-button-warning-border-color:var(--van-warning-color);--van-button-border-width:var(--van-border-width-base);--van-button-border-radius:var(--van-border-radius-sm);--van-button-round-border-radius:var(--van-border-radius-max);--van-button-plain-background-color:var(--van-white);--van-button-disabled-opacity:var(--van-disabled-opacity);--van-button-icon-size:1.2em;--van-button-loading-icon-size:.53333rem}.van-button{position:relative;display:inline-block;box-sizing:border-box;height:var(--van-button-default-height);margin:0;padding:0;font-size:var(--van-button-default-font-size);line-height:var(--van-button-default-line-height);text-align:center;border-radius:var(--van-button-border-radius);cursor:pointer;transition:opacity var(--van-animation-duration-fast);-webkit-appearance:none}.van-button:before{position:absolute;top:50%;left:50%;width:100%;height:100%;background:var(--van-black);border:inherit;border-color:var(--van-black);border-radius:inherit;transform:translate(-50%,-50%);opacity:0;content:\" \"}.van-button:active:before{opacity:.1}.van-button--disabled:before,.van-button--loading:before{display:none}.van-button--default{color:var(--van-button-default-color);background:var(--van-button-default-background-color);border:var(--van-button-border-width) solid var(--van-button-default-border-color)}.van-button--primary{color:var(--van-button-primary-color);background:var(--van-button-primary-background-color);border:var(--van-button-border-width) solid var(--van-button-primary-border-color)}.van-button--success{color:var(--van-button-success-color);background:var(--van-button-success-background-color);border:var(--van-button-border-width) solid var(--van-button-success-border-color)}.van-button--danger{color:var(--van-button-danger-color);background:var(--van-button-danger-background-color);border:var(--van-button-border-width) solid var(--van-button-danger-border-color)}.van-button--warning{color:var(--van-button-warning-color);background:var(--van-button-warning-background-color);border:var(--van-button-border-width) solid var(--van-button-warning-border-color)}.van-button--plain{background:var(--van-button-plain-background-color)}.van-button--plain.van-button--primary{color:var(--van-button-primary-background-color)}.van-button--plain.van-button--success{color:var(--van-button-success-background-color)}.van-button--plain.van-button--danger{color:var(--van-button-danger-background-color)}.van-button--plain.van-button--warning{color:var(--van-button-warning-background-color)}.van-button--large{width:100%;height:var(--van-button-large-height)}.van-button--normal{padding:var(--van-button-normal-padding);font-size:var(--van-button-normal-font-size)}.van-button--small{height:var(--van-button-small-height);padding:var(--van-button-small-padding);font-size:var(--van-button-small-font-size)}.van-button__loading{color:inherit;font-size:inherit}.van-button__loading .van-loading__spinner{color:currentColor;width:var(--van-button-loading-icon-size);height:var(--van-button-loading-icon-size)}.van-button--mini{height:var(--van-button-mini-height);padding:var(--van-button-mini-padding);font-size:var(--van-button-mini-font-size)}.van-button--mini+.van-button--mini{margin-left:var(--van-padding-base)}.van-button--block{display:block;width:100%}.van-button--disabled{cursor:not-allowed;opacity:var(--van-button-disabled-opacity)}.van-button--loading{cursor:default}.van-button--round{border-radius:var(--van-button-round-border-radius)}.van-button--square{border-radius:0}.van-button__content{display:flex;align-items:center;justify-content:center;height:100%}.van-button__content:before{content:\" \"}.van-button__icon{font-size:var(--van-button-icon-size);line-height:inherit}.van-button__icon+.van-button__text,.van-button__loading+.van-button__text,.van-button__text+.van-button__icon,.van-button__text+.van-button__loading{margin-left:var(--van-padding-base)}.van-button--hairline{border-width:0}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--van-button-border-radius) * 2)}.van-button--hairline.van-button--round:after{border-radius:var(--van-button-round-border-radius)}.van-button--hairline.van-button--square:after{border-radius:0}\n";document.head.appendChild(__vite_style__);System.register([],function(exports){'use strict';return{execute:function execute(){var _Object$freeze;exports({K:isVNode,Q:resolveDirective,T:Toast,b:createTextVNode,c:createBlock,d:defineComponent,e:createRouter,f:createWebHashHistory,i:reactive,o:openBlock,r:resolveComponent,t:createElementBlock,u:createBaseVNode,w:withDirectives,x:normalizeStyle,y:createCommentVNode,z:normalizeClass});/**
- * Make a map and return a function for checking if a key
- * is in that map.
- * IMPORTANT: all calls of this function must be prefixed with
- * \/\*#\_\_PURE\_\_\*\/
- * So that rollup can tree-shake them if necessary.
- */function makeMap(str,expectsLowerCase){var map=Object.create(null);var list=str.split(',');for(var i=0;i<list.length;i++){map[list[i]]=true;}return expectsLowerCase?function(val){return!!map[val.toLowerCase()];}:function(val){return!!map[val];};}/**
- * On the client we only need to offer special cases for boolean attributes that
- * have different names from their corresponding dom properties:
- * - itemscope -> N/A
- * - allowfullscreen -> allowFullscreen
- * - formnovalidate -> formNoValidate
- * - ismap -> isMap
- * - nomodule -> noModule
- * - novalidate -> noValidate
- * - readonly -> readOnly
- */var specialBooleanAttrs="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly";var isSpecialBooleanAttr=/*#__PURE__*/makeMap(specialBooleanAttrs);/**
- * Boolean attributes should be included if the value is truthy or ''.
- * e.g. `<select multiple>` compiles to `{ multiple: '' }`
- */function includeBooleanAttr(value){return!!value||value==='';}function normalizeStyle(value){if(isArray$5(value)){var res={};for(var i=0;i<value.length;i++){var item=value[i];var normalized=isString$1(item)?parseStringStyle(item):normalizeStyle(item);if(normalized){for(var key in normalized){res[key]=normalized[key];}}}return res;}else if(isString$1(value)){return value;}else if(isObject$2(value)){return value;}}var listDelimiterRE=/;(?![^(]*\))/g;var propertyDelimiterRE=/:(.+)/;function parseStringStyle(cssText){var ret={};cssText.split(listDelimiterRE).forEach(function(item){if(item){var tmp=item.split(propertyDelimiterRE);tmp.length>1&&(ret[tmp[0].trim()]=tmp[1].trim());}});return ret;}function normalizeClass(value){var res='';if(isString$1(value)){res=value;}else if(isArray$5(value)){for(var i=0;i<value.length;i++){var normalized=normalizeClass(value[i]);if(normalized){res+=normalized+' ';}}}else if(isObject$2(value)){for(var _name2 in value){if(value[_name2]){res+=_name2+' ';}}}return res.trim();}/**
- * For converting {{ interpolation }} values to displayed strings.
- * @private
- */var toDisplayString=exports('A',function(val){return val==null?'':isArray$5(val)||isObject$2(val)&&(val.toString===objectToString$2||!isFunction$1(val.toString))?JSON.stringify(val,replacer,2):String(val);});var replacer=function replacer(_key,val){// can't use isRef here since @vue/shared has no deps
- if(val&&val.__v_isRef){return replacer(_key,val.value);}else if(isMap$1(val)){return _defineProperty2({},"Map(".concat(val.size,")"),_toConsumableArray2(val.entries()).reduce(function(entries,_ref4){var _ref5=_slicedToArray(_ref4,2),key=_ref5[0],val=_ref5[1];entries["".concat(key," =>")]=val;return entries;},{}));}else if(isSet$1(val)){return _defineProperty2({},"Set(".concat(val.size,")"),_toConsumableArray2(val.values()));}else if(isObject$2(val)&&!isArray$5(val)&&!isPlainObject$2(val)){return String(val);}return val;};var EMPTY_OBJ={};var EMPTY_ARR=[];var NOOP=function NOOP(){};/**
- * Always return false.
- */var NO=function NO(){return false;};var onRE=/^on[^a-z]/;var isOn=function isOn(key){return onRE.test(key);};var isModelListener=function isModelListener(key){return key.startsWith('onUpdate:');};var extend$2=Object.assign;var remove=function remove(arr,el){var i=arr.indexOf(el);if(i>-1){arr.splice(i,1);}};var hasOwnProperty$2=Object.prototype.hasOwnProperty;var hasOwn$2=function hasOwn$2(val,key){return hasOwnProperty$2.call(val,key);};var isArray$5=Array.isArray;var isMap$1=function isMap$1(val){return toTypeString(val)==='[object Map]';};var isSet$1=function isSet$1(val){return toTypeString(val)==='[object Set]';};var isFunction$1=function isFunction$1(val){return typeof val==='function';};var isString$1=function isString$1(val){return typeof val==='string';};var isSymbol$1=function isSymbol$1(val){return _typeof2(val)==='symbol';};var isObject$2=function isObject$2(val){return val!==null&&_typeof2(val)==='object';};var isPromise$1=function isPromise$1(val){return isObject$2(val)&&isFunction$1(val.then)&&isFunction$1(val.catch);};var objectToString$2=Object.prototype.toString;var toTypeString=function toTypeString(value){return objectToString$2.call(value);};var toRawType=function toRawType(value){// extract "RawType" from strings like "[object RawType]"
- return toTypeString(value).slice(8,-1);};var isPlainObject$2=function isPlainObject$2(val){return toTypeString(val)==='[object Object]';};var isIntegerKey=function isIntegerKey(key){return isString$1(key)&&key!=='NaN'&&key[0]!=='-'&&''+parseInt(key,10)===key;};var isReservedProp=/*#__PURE__*/makeMap(// the leading comma is intentional so empty string "" is also included
- ',key,ref,ref_for,ref_key,'+'onVnodeBeforeMount,onVnodeMounted,'+'onVnodeBeforeUpdate,onVnodeUpdated,'+'onVnodeBeforeUnmount,onVnodeUnmounted');var cacheStringFunction=function cacheStringFunction(fn){var cache=Object.create(null);return function(str){var hit=cache[str];return hit||(cache[str]=fn(str));};};var camelizeRE$1=/-(\w)/g;/**
- * @private
- */var camelize$1=cacheStringFunction(function(str){return str.replace(camelizeRE$1,function(_,c){return c?c.toUpperCase():'';});});var hyphenateRE=/\B([A-Z])/g;/**
- * @private
- */var hyphenate=cacheStringFunction(function(str){return str.replace(hyphenateRE,'-$1').toLowerCase();});/**
- * @private
- */var capitalize=cacheStringFunction(function(str){return str.charAt(0).toUpperCase()+str.slice(1);});/**
- * @private
- */var toHandlerKey=cacheStringFunction(function(str){return str?"on".concat(capitalize(str)):"";});// compare whether a value has changed, accounting for NaN.
- var hasChanged=function hasChanged(value,oldValue){return!Object.is(value,oldValue);};var invokeArrayFns=function invokeArrayFns(fns,arg){for(var i=0;i<fns.length;i++){fns[i](arg);}};var def=function def(obj,key,value){Object.defineProperty(obj,key,{configurable:true,enumerable:false,value:value});};var toNumber=function toNumber(val){var n=parseFloat(val);return isNaN(n)?val:n;};var _globalThis;var getGlobalThis=function getGlobalThis(){return _globalThis||(_globalThis=typeof globalThis!=='undefined'?globalThis:typeof self!=='undefined'?self:typeof window!=='undefined'?window:typeof global!=='undefined'?global:{});};var activeEffectScope;var effectScopeStack=[];var EffectScope=/*#__PURE__*/function(){function EffectScope(){var detached=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;_classCallCheck2(this,EffectScope);this.active=true;this.effects=[];this.cleanups=[];if(!detached&&activeEffectScope){this.parent=activeEffectScope;this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1;}}_createClass2(EffectScope,[{key:"run",value:function run(fn){if(this.active){try{this.on();return fn();}finally{this.off();}}}},{key:"on",value:function on(){if(this.active){effectScopeStack.push(this);activeEffectScope=this;}}},{key:"off",value:function off(){if(this.active){effectScopeStack.pop();activeEffectScope=effectScopeStack[effectScopeStack.length-1];}}},{key:"stop",value:function stop(fromParent){if(this.active){this.effects.forEach(function(e){return e.stop();});this.cleanups.forEach(function(cleanup){return cleanup();});if(this.scopes){this.scopes.forEach(function(e){return e.stop(true);});}// nested scope, dereference from parent to avoid memory leaks
- if(this.parent&&!fromParent){// optimized O(1) removal
- var last=this.parent.scopes.pop();if(last&&last!==this){this.parent.scopes[this.index]=last;last.index=this.index;}}this.active=false;}}}]);return EffectScope;}();function recordEffectScope(effect,scope){scope=scope||activeEffectScope;if(scope&&scope.active){scope.effects.push(effect);}}var createDep=function createDep(effects){var dep=new Set(effects);dep.w=0;dep.n=0;return dep;};var wasTracked=function wasTracked(dep){return(dep.w&trackOpBit)>0;};var newTracked=function newTracked(dep){return(dep.n&trackOpBit)>0;};var initDepMarkers=function initDepMarkers(_ref8){var deps=_ref8.deps;if(deps.length){for(var i=0;i<deps.length;i++){deps[i].w|=trackOpBit;// set was tracked
- }}};var finalizeDepMarkers=function finalizeDepMarkers(effect){var deps=effect.deps;if(deps.length){var ptr=0;for(var i=0;i<deps.length;i++){var dep=deps[i];if(wasTracked(dep)&&!newTracked(dep)){dep.delete(effect);}else{deps[ptr++]=dep;}// clear bits
- dep.w&=~trackOpBit;dep.n&=~trackOpBit;}deps.length=ptr;}};var targetMap=new WeakMap();// The number of effects currently being tracked recursively.
- var effectTrackDepth=0;var trackOpBit=1;/**
- * The bitwise track markers support at most 30 levels of recursion.
- * This value is chosen to enable modern JS engines to use a SMI on all platforms.
- * When recursion depth is greater, fall back to using a full cleanup.
- */var maxMarkerBits=30;var effectStack=[];var activeEffect;var ITERATE_KEY=Symbol('');var MAP_KEY_ITERATE_KEY=Symbol('');var ReactiveEffect=/*#__PURE__*/function(){function ReactiveEffect(fn){var scheduler=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var scope=arguments.length>2?arguments[2]:undefined;_classCallCheck2(this,ReactiveEffect);this.fn=fn;this.scheduler=scheduler;this.active=true;this.deps=[];recordEffectScope(this,scope);}_createClass2(ReactiveEffect,[{key:"run",value:function run(){if(!this.active){return this.fn();}if(!effectStack.includes(this)){try{effectStack.push(activeEffect=this);enableTracking();trackOpBit=1<<++effectTrackDepth;if(effectTrackDepth<=maxMarkerBits){initDepMarkers(this);}else{cleanupEffect(this);}return this.fn();}finally{if(effectTrackDepth<=maxMarkerBits){finalizeDepMarkers(this);}trackOpBit=1<<--effectTrackDepth;resetTracking();effectStack.pop();var n=effectStack.length;activeEffect=n>0?effectStack[n-1]:undefined;}}}},{key:"stop",value:function stop(){if(this.active){cleanupEffect(this);if(this.onStop){this.onStop();}this.active=false;}}}]);return ReactiveEffect;}();function cleanupEffect(effect){var deps=effect.deps;if(deps.length){for(var i=0;i<deps.length;i++){deps[i].delete(effect);}deps.length=0;}}var shouldTrack=true;var trackStack=[];function pauseTracking(){trackStack.push(shouldTrack);shouldTrack=false;}function enableTracking(){trackStack.push(shouldTrack);shouldTrack=true;}function resetTracking(){var last=trackStack.pop();shouldTrack=last===undefined?true:last;}function track(target,type,key){if(!isTracking()){return;}var depsMap=targetMap.get(target);if(!depsMap){targetMap.set(target,depsMap=new Map());}var dep=depsMap.get(key);if(!dep){depsMap.set(key,dep=createDep());}trackEffects(dep);}function isTracking(){return shouldTrack&&activeEffect!==undefined;}function trackEffects(dep,debuggerEventExtraInfo){var shouldTrack=false;if(effectTrackDepth<=maxMarkerBits){if(!newTracked(dep)){dep.n|=trackOpBit;// set newly tracked
- shouldTrack=!wasTracked(dep);}}else{// Full cleanup mode.
- shouldTrack=!dep.has(activeEffect);}if(shouldTrack){dep.add(activeEffect);activeEffect.deps.push(dep);}}function trigger(target,type,key,newValue,oldValue,oldTarget){var depsMap=targetMap.get(target);if(!depsMap){// never been tracked
- return;}var deps=[];if(type==="clear"/* CLEAR */){// collection being cleared
- // trigger all effects for target
- deps=_toConsumableArray2(depsMap.values());}else if(key==='length'&&isArray$5(target)){depsMap.forEach(function(dep,key){if(key==='length'||key>=newValue){deps.push(dep);}});}else{// schedule runs for SET | ADD | DELETE
- if(key!==void 0){deps.push(depsMap.get(key));}// also run for iteration key on ADD | DELETE | Map.SET
- switch(type){case"add"/* ADD */:if(!isArray$5(target)){deps.push(depsMap.get(ITERATE_KEY));if(isMap$1(target)){deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));}}else if(isIntegerKey(key)){// new index added to array -> length changes
- deps.push(depsMap.get('length'));}break;case"delete"/* DELETE */:if(!isArray$5(target)){deps.push(depsMap.get(ITERATE_KEY));if(isMap$1(target)){deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));}}break;case"set"/* SET */:if(isMap$1(target)){deps.push(depsMap.get(ITERATE_KEY));}break;}}if(deps.length===1){if(deps[0]){{triggerEffects(deps[0]);}}}else{var effects=[];var _iterator=_createForOfIteratorHelper(deps),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var dep=_step.value;if(dep){effects.push.apply(effects,_toConsumableArray2(dep));}}}catch(err){_iterator.e(err);}finally{_iterator.f();}{triggerEffects(createDep(effects));}}}function triggerEffects(dep,debuggerEventExtraInfo){// spread into array for stabilization
- var _iterator2=_createForOfIteratorHelper(isArray$5(dep)?dep:_toConsumableArray2(dep)),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var effect=_step2.value;if(effect!==activeEffect||effect.allowRecurse){if(effect.scheduler){effect.scheduler();}else{effect.run();}}}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}var isNonTrackableKeys=/*#__PURE__*/makeMap("__proto__,__v_isRef,__isVue");var builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).map(function(key){return Symbol[key];}).filter(isSymbol$1));var get$1=/*#__PURE__*/createGetter();var shallowGet=/*#__PURE__*/createGetter(false,true);var readonlyGet=/*#__PURE__*/createGetter(true);var arrayInstrumentations=/*#__PURE__*/createArrayInstrumentations();function createArrayInstrumentations(){var instrumentations={};['includes','indexOf','lastIndexOf'].forEach(function(key){instrumentations[key]=function(){var arr=toRaw(this);for(var i=0,l=this.length;i<l;i++){track(arr,"get"/* GET */,i+'');}// we run the method using the original args first (which may be reactive)
- for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}var res=arr[key].apply(arr,args);if(res===-1||res===false){// if that didn't work, run it again using raw values.
- return arr[key].apply(arr,_toConsumableArray2(args.map(toRaw)));}else{return res;}};});['push','pop','shift','unshift','splice'].forEach(function(key){instrumentations[key]=function(){pauseTracking();for(var _len3=arguments.length,args=new Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3];}var res=toRaw(this)[key].apply(this,args);resetTracking();return res;};});return instrumentations;}function createGetter(){var isReadonly=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var shallow=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return function get(target,key,receiver){if(key==="__v_isReactive"/* IS_REACTIVE */){return!isReadonly;}else if(key==="__v_isReadonly"/* IS_READONLY */){return isReadonly;}else if(key==="__v_raw"/* RAW */&&receiver===(isReadonly?shallow?shallowReadonlyMap:readonlyMap:shallow?shallowReactiveMap:reactiveMap).get(target)){return target;}var targetIsArray=isArray$5(target);if(!isReadonly&&targetIsArray&&hasOwn$2(arrayInstrumentations,key)){return Reflect.get(arrayInstrumentations,key,receiver);}var res=Reflect.get(target,key,receiver);if(isSymbol$1(key)?builtInSymbols.has(key):isNonTrackableKeys(key)){return res;}if(!isReadonly){track(target,"get"/* GET */,key);}if(shallow){return res;}if(isRef(res)){// ref unwrapping - does not apply for Array + integer key.
- var shouldUnwrap=!targetIsArray||!isIntegerKey(key);return shouldUnwrap?res.value:res;}if(isObject$2(res)){// Convert returned value into a proxy as well. we do the isObject check
- // here to avoid invalid value warning. Also need to lazy access readonly
- // and reactive here to avoid circular dependency.
- return isReadonly?readonly(res):reactive(res);}return res;};}var set=/*#__PURE__*/createSetter();var shallowSet=/*#__PURE__*/createSetter(true);function createSetter(){var shallow=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return function set(target,key,value,receiver){var oldValue=target[key];if(!shallow&&!isReadonly(value)){value=toRaw(value);oldValue=toRaw(oldValue);if(!isArray$5(target)&&isRef(oldValue)&&!isRef(value)){oldValue.value=value;return true;}}var hadKey=isArray$5(target)&&isIntegerKey(key)?Number(key)<target.length:hasOwn$2(target,key);var result=Reflect.set(target,key,value,receiver);// don't trigger if target is something up in the prototype chain of original
- if(target===toRaw(receiver)){if(!hadKey){trigger(target,"add"/* ADD */,key,value);}else if(hasChanged(value,oldValue)){trigger(target,"set"/* SET */,key,value);}}return result;};}function deleteProperty(target,key){var hadKey=hasOwn$2(target,key);target[key];var result=Reflect.deleteProperty(target,key);if(result&&hadKey){trigger(target,"delete"/* DELETE */,key,undefined);}return result;}function has$4(target,key){var result=Reflect.has(target,key);if(!isSymbol$1(key)||!builtInSymbols.has(key)){track(target,"has"/* HAS */,key);}return result;}function ownKeys$1(target){track(target,"iterate"/* ITERATE */,isArray$5(target)?'length':ITERATE_KEY);return Reflect.ownKeys(target);}var mutableHandlers={get:get$1,set:set,deleteProperty:deleteProperty,has:has$4,ownKeys:ownKeys$1};var readonlyHandlers={get:readonlyGet,set:function set(target,key){return true;},deleteProperty:function deleteProperty(target,key){return true;}};var shallowReactiveHandlers=/*#__PURE__*/extend$2({},mutableHandlers,{get:shallowGet,set:shallowSet});var toShallow=function toShallow(value){return value;};var getProto$1=function getProto$1(v){return Reflect.getPrototypeOf(v);};function get$1$1(target,key){var isReadonly=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var isShallow=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;// #1772: readonly(reactive(Map)) should return readonly + reactive version
- // of the value
- target=target["__v_raw"/* RAW */];var rawTarget=toRaw(target);var rawKey=toRaw(key);if(key!==rawKey){!isReadonly&&track(rawTarget,"get"/* GET */,key);}!isReadonly&&track(rawTarget,"get"/* GET */,rawKey);var _getProto$=getProto$1(rawTarget),has=_getProto$.has;var wrap=isShallow?toShallow:isReadonly?toReadonly:toReactive;if(has.call(rawTarget,key)){return wrap(target.get(key));}else if(has.call(rawTarget,rawKey)){return wrap(target.get(rawKey));}else if(target!==rawTarget){// #3602 readonly(reactive(Map))
- // ensure that the nested reactive `Map` can do tracking for itself
- target.get(key);}}function has$1$1(key){var isReadonly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var target=this["__v_raw"/* RAW */];var rawTarget=toRaw(target);var rawKey=toRaw(key);if(key!==rawKey){!isReadonly&&track(rawTarget,"has"/* HAS */,key);}!isReadonly&&track(rawTarget,"has"/* HAS */,rawKey);return key===rawKey?target.has(key):target.has(key)||target.has(rawKey);}function size(target){var isReadonly=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;target=target["__v_raw"/* RAW */];!isReadonly&&track(toRaw(target),"iterate"/* ITERATE */,ITERATE_KEY);return Reflect.get(target,'size',target);}function add(value){value=toRaw(value);var target=toRaw(this);var proto=getProto$1(target);var hadKey=proto.has.call(target,value);if(!hadKey){target.add(value);trigger(target,"add"/* ADD */,value,value);}return this;}function set$1(key,value){value=toRaw(value);var target=toRaw(this);var _getProto$2=getProto$1(target),has=_getProto$2.has,get=_getProto$2.get;var hadKey=has.call(target,key);if(!hadKey){key=toRaw(key);hadKey=has.call(target,key);}var oldValue=get.call(target,key);target.set(key,value);if(!hadKey){trigger(target,"add"/* ADD */,key,value);}else if(hasChanged(value,oldValue)){trigger(target,"set"/* SET */,key,value);}return this;}function deleteEntry(key){var target=toRaw(this);var _getProto$3=getProto$1(target),has=_getProto$3.has,get=_getProto$3.get;var hadKey=has.call(target,key);if(!hadKey){key=toRaw(key);hadKey=has.call(target,key);}get?get.call(target,key):undefined;// forward the operation before queueing reactions
- var result=target.delete(key);if(hadKey){trigger(target,"delete"/* DELETE */,key,undefined);}return result;}function clear(){var target=toRaw(this);var hadItems=target.size!==0;// forward the operation before queueing reactions
- var result=target.clear();if(hadItems){trigger(target,"clear"/* CLEAR */,undefined,undefined);}return result;}function createForEach(isReadonly,isShallow){return function forEach(callback,thisArg){var observed=this;var target=observed["__v_raw"/* RAW */];var rawTarget=toRaw(target);var wrap=isShallow?toShallow:isReadonly?toReadonly:toReactive;!isReadonly&&track(rawTarget,"iterate"/* ITERATE */,ITERATE_KEY);return target.forEach(function(value,key){// important: make sure the callback is
- // 1. invoked with the reactive map as `this` and 3rd arg
- // 2. the value received should be a corresponding reactive/readonly.
- return callback.call(thisArg,wrap(value),wrap(key),observed);});};}function createIterableMethod(method,isReadonly,isShallow){return function(){var target=this["__v_raw"/* RAW */];var rawTarget=toRaw(target);var targetIsMap=isMap$1(rawTarget);var isPair=method==='entries'||method===Symbol.iterator&&targetIsMap;var isKeyOnly=method==='keys'&&targetIsMap;var innerIterator=target[method].apply(target,arguments);var wrap=isShallow?toShallow:isReadonly?toReadonly:toReactive;!isReadonly&&track(rawTarget,"iterate"/* ITERATE */,isKeyOnly?MAP_KEY_ITERATE_KEY:ITERATE_KEY);// return a wrapped iterator which returns observed versions of the
- // values emitted from the real iterator
- return _defineProperty2({// iterator protocol
- next:function next(){var _innerIterator$next=innerIterator.next(),value=_innerIterator$next.value,done=_innerIterator$next.done;return done?{value:value,done:done}:{value:isPair?[wrap(value[0]),wrap(value[1])]:wrap(value),done:done};}},Symbol.iterator,function(){return this;});};}function createReadonlyMethod(type){return function(){return type==="delete"/* DELETE */?false:this;};}function createInstrumentations(){var mutableInstrumentations={get:function get(key){return get$1$1(this,key);},get size(){return size(this);},has:has$1$1,add:add,set:set$1,delete:deleteEntry,clear:clear,forEach:createForEach(false,false)};var shallowInstrumentations={get:function get(key){return get$1$1(this,key,false,true);},get size(){return size(this);},has:has$1$1,add:add,set:set$1,delete:deleteEntry,clear:clear,forEach:createForEach(false,true)};var readonlyInstrumentations={get:function get(key){return get$1$1(this,key,true);},get size(){return size(this,true);},has:function has(key){return has$1$1.call(this,key,true);},add:createReadonlyMethod("add"/* ADD */),set:createReadonlyMethod("set"/* SET */),delete:createReadonlyMethod("delete"/* DELETE */),clear:createReadonlyMethod("clear"/* CLEAR */),forEach:createForEach(true,false)};var shallowReadonlyInstrumentations={get:function get(key){return get$1$1(this,key,true,true);},get size(){return size(this,true);},has:function has(key){return has$1$1.call(this,key,true);},add:createReadonlyMethod("add"/* ADD */),set:createReadonlyMethod("set"/* SET */),delete:createReadonlyMethod("delete"/* DELETE */),clear:createReadonlyMethod("clear"/* CLEAR */),forEach:createForEach(true,true)};var iteratorMethods=['keys','values','entries',Symbol.iterator];iteratorMethods.forEach(function(method){mutableInstrumentations[method]=createIterableMethod(method,false,false);readonlyInstrumentations[method]=createIterableMethod(method,true,false);shallowInstrumentations[method]=createIterableMethod(method,false,true);shallowReadonlyInstrumentations[method]=createIterableMethod(method,true,true);});return[mutableInstrumentations,readonlyInstrumentations,shallowInstrumentations,shallowReadonlyInstrumentations];}var _createInstrumentatio=/* #__PURE__*/createInstrumentations(),_createInstrumentatio2=_slicedToArray(_createInstrumentatio,4),mutableInstrumentations=_createInstrumentatio2[0],readonlyInstrumentations=_createInstrumentatio2[1],shallowInstrumentations=_createInstrumentatio2[2],shallowReadonlyInstrumentations=_createInstrumentatio2[3];function createInstrumentationGetter(isReadonly,shallow){var instrumentations=shallow?isReadonly?shallowReadonlyInstrumentations:shallowInstrumentations:isReadonly?readonlyInstrumentations:mutableInstrumentations;return function(target,key,receiver){if(key==="__v_isReactive"/* IS_REACTIVE */){return!isReadonly;}else if(key==="__v_isReadonly"/* IS_READONLY */){return isReadonly;}else if(key==="__v_raw"/* RAW */){return target;}return Reflect.get(hasOwn$2(instrumentations,key)&&key in target?instrumentations:target,key,receiver);};}var mutableCollectionHandlers={get:/*#__PURE__*/createInstrumentationGetter(false,false)};var shallowCollectionHandlers={get:/*#__PURE__*/createInstrumentationGetter(false,true)};var readonlyCollectionHandlers={get:/*#__PURE__*/createInstrumentationGetter(true,false)};var reactiveMap=new WeakMap();var shallowReactiveMap=new WeakMap();var readonlyMap=new WeakMap();var shallowReadonlyMap=new WeakMap();function targetTypeMap(rawType){switch(rawType){case'Object':case'Array':return 1/* COMMON */;case'Map':case'Set':case'WeakMap':case'WeakSet':return 2/* COLLECTION */;default:return 0/* INVALID */;}}function getTargetType(value){return value["__v_skip"/* SKIP */]||!Object.isExtensible(value)?0/* INVALID */:targetTypeMap(toRawType(value));}function reactive(target){// if trying to observe a readonly proxy, return the readonly version.
- if(target&&target["__v_isReadonly"/* IS_READONLY */]){return target;}return createReactiveObject(target,false,mutableHandlers,mutableCollectionHandlers,reactiveMap);}/**
- * Return a shallowly-reactive copy of the original object, where only the root
- * level properties are reactive. It also does not auto-unwrap refs (even at the
- * root level).
- */function shallowReactive(target){return createReactiveObject(target,false,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap);}/**
- * Creates a readonly copy of the original object. Note the returned copy is not
- * made reactive, but `readonly` can be called on an already reactive object.
- */function readonly(target){return createReactiveObject(target,true,readonlyHandlers,readonlyCollectionHandlers,readonlyMap);}function createReactiveObject(target,isReadonly,baseHandlers,collectionHandlers,proxyMap){if(!isObject$2(target)){return target;}// target is already a Proxy, return it.
- // exception: calling readonly() on a reactive object
- if(target["__v_raw"/* RAW */]&&!(isReadonly&&target["__v_isReactive"/* IS_REACTIVE */])){return target;}// target already has corresponding Proxy
- var existingProxy=proxyMap.get(target);if(existingProxy){return existingProxy;}// only a whitelist of value types can be observed.
- var targetType=getTargetType(target);if(targetType===0/* INVALID */){return target;}var proxy=new Proxy(target,targetType===2/* COLLECTION */?collectionHandlers:baseHandlers);proxyMap.set(target,proxy);return proxy;}function isReactive(value){if(isReadonly(value)){return isReactive(value["__v_raw"/* RAW */]);}return!!(value&&value["__v_isReactive"/* IS_REACTIVE */]);}function isReadonly(value){return!!(value&&value["__v_isReadonly"/* IS_READONLY */]);}function isProxy(value){return isReactive(value)||isReadonly(value);}function toRaw(observed){var raw=observed&&observed["__v_raw"/* RAW */];return raw?toRaw(raw):observed;}function markRaw(value){def(value,"__v_skip"/* SKIP */,true);return value;}var toReactive=function toReactive(value){return isObject$2(value)?reactive(value):value;};var toReadonly=function toReadonly(value){return isObject$2(value)?readonly(value):value;};function trackRefValue(ref){if(isTracking()){ref=toRaw(ref);if(!ref.dep){ref.dep=createDep();}{trackEffects(ref.dep);}}}function triggerRefValue(ref,newVal){ref=toRaw(ref);if(ref.dep){{triggerEffects(ref.dep);}}}function isRef(r){return Boolean(r&&r.__v_isRef===true);}function ref(value){return createRef(value,false);}function shallowRef(value){return createRef(value,true);}function createRef(rawValue,shallow){if(isRef(rawValue)){return rawValue;}return new RefImpl(rawValue,shallow);}var RefImpl=/*#__PURE__*/function(){function RefImpl(value,_shallow){_classCallCheck2(this,RefImpl);this._shallow=_shallow;this.dep=undefined;this.__v_isRef=true;this._rawValue=_shallow?value:toRaw(value);this._value=_shallow?value:toReactive(value);}_createClass2(RefImpl,[{key:"value",get:function get(){trackRefValue(this);return this._value;},set:function set(newVal){newVal=this._shallow?newVal:toRaw(newVal);if(hasChanged(newVal,this._rawValue)){this._rawValue=newVal;this._value=this._shallow?newVal:toReactive(newVal);triggerRefValue(this);}}}]);return RefImpl;}();function unref(ref){return isRef(ref)?ref.value:ref;}var shallowUnwrapHandlers={get:function get(target,key,receiver){return unref(Reflect.get(target,key,receiver));},set:function set(target,key,value,receiver){var oldValue=target[key];if(isRef(oldValue)&&!isRef(value)){oldValue.value=value;return true;}else{return Reflect.set(target,key,value,receiver);}}};function proxyRefs(objectWithRefs){return isReactive(objectWithRefs)?objectWithRefs:new Proxy(objectWithRefs,shallowUnwrapHandlers);}var ComputedRefImpl=/*#__PURE__*/function(){function ComputedRefImpl(getter,_setter,isReadonly){var _this4=this;_classCallCheck2(this,ComputedRefImpl);this._setter=_setter;this.dep=undefined;this._dirty=true;this.__v_isRef=true;this.effect=new ReactiveEffect(getter,function(){if(!_this4._dirty){_this4._dirty=true;triggerRefValue(_this4);}});this["__v_isReadonly"/* IS_READONLY */]=isReadonly;}_createClass2(ComputedRefImpl,[{key:"value",get:function get(){// the computed ref may get wrapped by other proxies e.g. readonly() #3376
- var self=toRaw(this);trackRefValue(self);if(self._dirty){self._dirty=false;self._value=self.effect.run();}return self._value;},set:function set(newValue){this._setter(newValue);}}]);return ComputedRefImpl;}();function computed(getterOrOptions,debugOptions){var getter;var setter;var onlyGetter=isFunction$1(getterOrOptions);if(onlyGetter){getter=getterOrOptions;setter=NOOP;}else{getter=getterOrOptions.get;setter=getterOrOptions.set;}var cRef=new ComputedRefImpl(getter,setter,onlyGetter||!setter);return cRef;}Promise.resolve();function emit$1(instance,event){var props=instance.vnode.props||EMPTY_OBJ;for(var _len4=arguments.length,rawArgs=new Array(_len4>2?_len4-2:0),_key4=2;_key4<_len4;_key4++){rawArgs[_key4-2]=arguments[_key4];}var args=rawArgs;var isModelListener=event.startsWith('update:');// for v-model update:xxx events, apply modifiers on args
- var modelArg=isModelListener&&event.slice(7);if(modelArg&&modelArg in props){var modifiersKey="".concat(modelArg==='modelValue'?'model':modelArg,"Modifiers");var _ref10=props[modifiersKey]||EMPTY_OBJ,number=_ref10.number,trim=_ref10.trim;if(trim){args=rawArgs.map(function(a){return a.trim();});}else if(number){args=rawArgs.map(toNumber);}}var handlerName;var handler=props[handlerName=toHandlerKey(event)]||// also try camelCase event handler (#2249)
- props[handlerName=toHandlerKey(camelize$1(event))];// for v-model update:xxx events, also trigger kebab-case equivalent
- // for props passed via kebab-case
- if(!handler&&isModelListener){handler=props[handlerName=toHandlerKey(hyphenate(event))];}if(handler){callWithAsyncErrorHandling(handler,instance,6/* COMPONENT_EVENT_HANDLER */,args);}var onceHandler=props[handlerName+"Once"];if(onceHandler){if(!instance.emitted){instance.emitted={};}else if(instance.emitted[handlerName]){return;}instance.emitted[handlerName]=true;callWithAsyncErrorHandling(onceHandler,instance,6/* COMPONENT_EVENT_HANDLER */,args);}}function normalizeEmitsOptions(comp,appContext){var asMixin=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var cache=appContext.emitsCache;var cached=cache.get(comp);if(cached!==undefined){return cached;}var raw=comp.emits;var normalized={};// apply mixin/extends props
- var hasExtends=false;if(!isFunction$1(comp)){var extendEmits=function extendEmits(raw){var normalizedFromExtend=normalizeEmitsOptions(raw,appContext,true);if(normalizedFromExtend){hasExtends=true;extend$2(normalized,normalizedFromExtend);}};if(!asMixin&&appContext.mixins.length){appContext.mixins.forEach(extendEmits);}if(comp.extends){extendEmits(comp.extends);}if(comp.mixins){comp.mixins.forEach(extendEmits);}}if(!raw&&!hasExtends){cache.set(comp,null);return null;}if(isArray$5(raw)){raw.forEach(function(key){return normalized[key]=null;});}else{extend$2(normalized,raw);}cache.set(comp,normalized);return normalized;}// Check if an incoming prop key is a declared emit event listener.
- // e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are
- // both considered matched listeners.
- function isEmitListener(options,key){if(!options||!isOn(key)){return false;}key=key.slice(2).replace(/Once$/,'');return hasOwn$2(options,key[0].toLowerCase()+key.slice(1))||hasOwn$2(options,hyphenate(key))||hasOwn$2(options,key);}/**
- * mark the current rendering instance for asset resolution (e.g.
- * resolveComponent, resolveDirective) during render
- */var currentRenderingInstance=null;var currentScopeId=null;/**
- * Note: rendering calls maybe nested. The function returns the parent rendering
- * instance if present, which should be restored after the render is done:
- *
- * ```js
- * const prev = setCurrentRenderingInstance(i)
- * // ...render
- * setCurrentRenderingInstance(prev)
- * ```
- */function setCurrentRenderingInstance(instance){var prev=currentRenderingInstance;currentRenderingInstance=instance;currentScopeId=instance&&instance.type.__scopeId||null;return prev;}/**
- * Wrap a slot function to memoize current rendering instance
- * @private compiler helper
- */function withCtx(fn){var ctx=arguments.length>1&&arguments[1]!==undefined?arguments[1]:currentRenderingInstance;var isNonScopedSlot// false only
- =arguments.length>2?arguments[2]:undefined;if(!ctx)return fn;// already normalized
- if(fn._n){return fn;}var renderFnWithContext=function renderFnWithContext(){// If a user calls a compiled slot inside a template expression (#1745), it
- // can mess up block tracking, so by default we disable block tracking and
- // force bail out when invoking a compiled slot (indicated by the ._d flag).
- // This isn't necessary if rendering a compiled `<slot>`, so we flip the
- // ._d flag off when invoking the wrapped fn inside `renderSlot`.
- if(renderFnWithContext._d){setBlockTracking(-1);}var prevInstance=setCurrentRenderingInstance(ctx);var res=fn.apply(void 0,arguments);setCurrentRenderingInstance(prevInstance);if(renderFnWithContext._d){setBlockTracking(1);}return res;};// mark normalized to avoid duplicated wrapping
- renderFnWithContext._n=true;// mark this as compiled by default
- // this is used in vnode.ts -> normalizeChildren() to set the slot
- // rendering flag.
- renderFnWithContext._c=true;// disable block tracking by default
- renderFnWithContext._d=true;return renderFnWithContext;}function markAttrsAccessed(){}function renderComponentRoot(instance){var Component=instance.type,vnode=instance.vnode,proxy=instance.proxy,withProxy=instance.withProxy,props=instance.props,_instance$propsOption=_slicedToArray(instance.propsOptions,1),propsOptions=_instance$propsOption[0],slots=instance.slots,attrs=instance.attrs,emit=instance.emit,render=instance.render,renderCache=instance.renderCache,data=instance.data,setupState=instance.setupState,ctx=instance.ctx,inheritAttrs=instance.inheritAttrs;var result;var fallthroughAttrs;var prev=setCurrentRenderingInstance(instance);try{if(vnode.shapeFlag&4/* STATEFUL_COMPONENT */){// withProxy is a proxy with a different `has` trap only for
- // runtime-compiled render functions using `with` block.
- var proxyToUse=withProxy||proxy;result=normalizeVNode(render.call(proxyToUse,proxyToUse,renderCache,props,setupState,data,ctx));fallthroughAttrs=attrs;}else{// functional
- var _render=Component;// in dev, mark attrs accessed if optional props (attrs === props)
- if("production"!=='production'&&attrs===props);result=normalizeVNode(_render.length>1?_render(props,"production"!=='production'?{get attrs(){markAttrsAccessed();return attrs;},slots:slots,emit:emit}:{attrs:attrs,slots:slots,emit:emit}):_render(props,null/* we know it doesn't need it */));fallthroughAttrs=Component.props?attrs:getFunctionalFallthrough(attrs);}}catch(err){blockStack.length=0;handleError(err,instance,1/* RENDER_FUNCTION */);result=createVNode(Comment);}// attr merging
- // in dev mode, comments are preserved, and it's possible for a template
- // to have comments along side the root element which makes it a fragment
- var root=result;if(fallthroughAttrs&&inheritAttrs!==false){var keys=Object.keys(fallthroughAttrs);var _root=root,shapeFlag=_root.shapeFlag;if(keys.length){if(shapeFlag&(1/* ELEMENT */|6/* COMPONENT */)){if(propsOptions&&keys.some(isModelListener)){// If a v-model listener (onUpdate:xxx) has a corresponding declared
- // prop, it indicates this component expects to handle v-model and
- // it should not fallthrough.
- // related: #1543, #1643, #1989
- fallthroughAttrs=filterModelListeners(fallthroughAttrs,propsOptions);}root=cloneVNode(root,fallthroughAttrs);}}}// inherit directives
- if(vnode.dirs){root.dirs=root.dirs?root.dirs.concat(vnode.dirs):vnode.dirs;}// inherit transition data
- if(vnode.transition){root.transition=vnode.transition;}{result=root;}setCurrentRenderingInstance(prev);return result;}var getFunctionalFallthrough=function getFunctionalFallthrough(attrs){var res;for(var key in attrs){if(key==='class'||key==='style'||isOn(key)){(res||(res={}))[key]=attrs[key];}}return res;};var filterModelListeners=function filterModelListeners(attrs,props){var res={};for(var key in attrs){if(!isModelListener(key)||!(key.slice(9)in props)){res[key]=attrs[key];}}return res;};function shouldUpdateComponent(prevVNode,nextVNode,optimized){var prevProps=prevVNode.props,prevChildren=prevVNode.children,component=prevVNode.component;var nextProps=nextVNode.props,nextChildren=nextVNode.children,patchFlag=nextVNode.patchFlag;var emits=component.emitsOptions;// force child update for runtime directive or transition on component vnode.
- if(nextVNode.dirs||nextVNode.transition){return true;}if(optimized&&patchFlag>=0){if(patchFlag&1024/* DYNAMIC_SLOTS */){// slot content that references values that might have changed,
- // e.g. in a v-for
- return true;}if(patchFlag&16/* FULL_PROPS */){if(!prevProps){return!!nextProps;}// presence of this flag indicates props are always non-null
- return hasPropsChanged(prevProps,nextProps,emits);}else if(patchFlag&8/* PROPS */){var dynamicProps=nextVNode.dynamicProps;for(var i=0;i<dynamicProps.length;i++){var key=dynamicProps[i];if(nextProps[key]!==prevProps[key]&&!isEmitListener(emits,key)){return true;}}}}else{// this path is only taken by manually written render functions
- // so presence of any children leads to a forced update
- if(prevChildren||nextChildren){if(!nextChildren||!nextChildren.$stable){return true;}}if(prevProps===nextProps){return false;}if(!prevProps){return!!nextProps;}if(!nextProps){return true;}return hasPropsChanged(prevProps,nextProps,emits);}return false;}function hasPropsChanged(prevProps,nextProps,emitsOptions){var nextKeys=Object.keys(nextProps);if(nextKeys.length!==Object.keys(prevProps).length){return true;}for(var i=0;i<nextKeys.length;i++){var key=nextKeys[i];if(nextProps[key]!==prevProps[key]&&!isEmitListener(emitsOptions,key)){return true;}}return false;}function updateHOCHostEl(_ref11,el// HostNode
- ){var vnode=_ref11.vnode,parent=_ref11.parent;while(parent&&parent.subTree===vnode){(vnode=parent.vnode).el=el;parent=parent.parent;}}var isSuspense=function isSuspense(type){return type.__isSuspense;};function queueEffectWithSuspense(fn,suspense){if(suspense&&suspense.pendingBranch){if(isArray$5(fn)){var _suspense$effects;(_suspense$effects=suspense.effects).push.apply(_suspense$effects,_toConsumableArray2(fn));}else{suspense.effects.push(fn);}}else{queuePostFlushCb(fn);}}function provide(key,value){if(!currentInstance);else{var provides=currentInstance.provides;// by default an instance inherits its parent's provides object
- // but when it needs to provide values of its own, it creates its
- // own provides object using parent provides object as prototype.
- // this way in `inject` we can simply look up injections from direct
- // parent and let the prototype chain do the work.
- var parentProvides=currentInstance.parent&¤tInstance.parent.provides;if(parentProvides===provides){provides=currentInstance.provides=Object.create(parentProvides);}// TS doesn't allow symbol as index type
- provides[key]=value;}}function inject(key,defaultValue){var treatDefaultAsFactory=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;// fallback to `currentRenderingInstance` so that this can be called in
- // a functional component
- var instance=currentInstance||currentRenderingInstance;if(instance){// #2400
- // to support `app.use` plugins,
- // fallback to appContext's `provides` if the intance is at root
- var provides=instance.parent==null?instance.vnode.appContext&&instance.vnode.appContext.provides:instance.parent.provides;if(provides&&key in provides){// TS doesn't allow symbol as index type
- return provides[key];}else if(arguments.length>1){return treatDefaultAsFactory&&isFunction$1(defaultValue)?defaultValue.call(instance.proxy):defaultValue;}else;}}function useTransitionState(){var state={isMounted:false,isLeaving:false,isUnmounting:false,leavingVNodes:new Map()};onMounted(function(){state.isMounted=true;});onBeforeUnmount(function(){state.isUnmounting=true;});return state;}var TransitionHookValidator=[Function,Array];var BaseTransitionImpl={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,// enter
- onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,// leave
- onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,// appear
- onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},setup:function setup(props,_ref12){var slots=_ref12.slots;var instance=getCurrentInstance();var state=useTransitionState();var prevTransitionKey;return function(){var children=slots.default&&getTransitionRawChildren(slots.default(),true);if(!children||!children.length){return;}// there's no need to track reactivity for these props so use the raw
- // props for a bit better perf
- var rawProps=toRaw(props);var mode=rawProps.mode;// at this point children has a guaranteed length of 1.
- var child=children[0];if(state.isLeaving){return emptyPlaceholder(child);}// in the case of <transition><keep-alive/></transition>, we need to
- // compare the type of the kept-alive children.
- var innerChild=getKeepAliveChild(child);if(!innerChild){return emptyPlaceholder(child);}var enterHooks=resolveTransitionHooks(innerChild,rawProps,state,instance);setTransitionHooks(innerChild,enterHooks);var oldChild=instance.subTree;var oldInnerChild=oldChild&&getKeepAliveChild(oldChild);var transitionKeyChanged=false;var getTransitionKey=innerChild.type.getTransitionKey;if(getTransitionKey){var key=getTransitionKey();if(prevTransitionKey===undefined){prevTransitionKey=key;}else if(key!==prevTransitionKey){prevTransitionKey=key;transitionKeyChanged=true;}}// handle mode
- if(oldInnerChild&&oldInnerChild.type!==Comment&&(!isSameVNodeType(innerChild,oldInnerChild)||transitionKeyChanged)){var leavingHooks=resolveTransitionHooks(oldInnerChild,rawProps,state,instance);// update old tree's hooks in case of dynamic transition
- setTransitionHooks(oldInnerChild,leavingHooks);// switching between different views
- if(mode==='out-in'){state.isLeaving=true;// return placeholder node and queue update when leave finishes
- leavingHooks.afterLeave=function(){state.isLeaving=false;instance.update();};return emptyPlaceholder(child);}else if(mode==='in-out'&&innerChild.type!==Comment){leavingHooks.delayLeave=function(el,earlyRemove,delayedLeave){var leavingVNodesCache=getLeavingNodesForType(state,oldInnerChild);leavingVNodesCache[String(oldInnerChild.key)]=oldInnerChild;// early removal callback
- el._leaveCb=function(){earlyRemove();el._leaveCb=undefined;delete enterHooks.delayedLeave;};enterHooks.delayedLeave=delayedLeave;};}}return child;};}};// export the public type for h/tsx inference
- // also to avoid inline import() in generated d.ts files
- var BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(state,vnode){var leavingVNodes=state.leavingVNodes;var leavingVNodesCache=leavingVNodes.get(vnode.type);if(!leavingVNodesCache){leavingVNodesCache=Object.create(null);leavingVNodes.set(vnode.type,leavingVNodesCache);}return leavingVNodesCache;}// The transition hooks are attached to the vnode as vnode.transition
- // and will be called at appropriate timing in the renderer.
- function resolveTransitionHooks(vnode,props,state,instance){var appear=props.appear,mode=props.mode,_props$persisted=props.persisted,persisted=_props$persisted===void 0?false:_props$persisted,onBeforeEnter=props.onBeforeEnter,onEnter=props.onEnter,onAfterEnter=props.onAfterEnter,onEnterCancelled=props.onEnterCancelled,onBeforeLeave=props.onBeforeLeave,onLeave=props.onLeave,onAfterLeave=props.onAfterLeave,onLeaveCancelled=props.onLeaveCancelled,onBeforeAppear=props.onBeforeAppear,onAppear=props.onAppear,onAfterAppear=props.onAfterAppear,onAppearCancelled=props.onAppearCancelled;var key=String(vnode.key);var leavingVNodesCache=getLeavingNodesForType(state,vnode);var callHook=function callHook(hook,args){hook&&callWithAsyncErrorHandling(hook,instance,9/* TRANSITION_HOOK */,args);};var hooks={mode:mode,persisted:persisted,beforeEnter:function beforeEnter(el){var hook=onBeforeEnter;if(!state.isMounted){if(appear){hook=onBeforeAppear||onBeforeEnter;}else{return;}}// for same element (v-show)
- if(el._leaveCb){el._leaveCb(true/* cancelled */);}// for toggled element with same key (v-if)
- var leavingVNode=leavingVNodesCache[key];if(leavingVNode&&isSameVNodeType(vnode,leavingVNode)&&leavingVNode.el._leaveCb){// force early removal (not cancelled)
- leavingVNode.el._leaveCb();}callHook(hook,[el]);},enter:function enter(el){var hook=onEnter;var afterHook=onAfterEnter;var cancelHook=onEnterCancelled;if(!state.isMounted){if(appear){hook=onAppear||onEnter;afterHook=onAfterAppear||onAfterEnter;cancelHook=onAppearCancelled||onEnterCancelled;}else{return;}}var called=false;var done=el._enterCb=function(cancelled){if(called)return;called=true;if(cancelled){callHook(cancelHook,[el]);}else{callHook(afterHook,[el]);}if(hooks.delayedLeave){hooks.delayedLeave();}el._enterCb=undefined;};if(hook){hook(el,done);if(hook.length<=1){done();}}else{done();}},leave:function leave(el,remove){var key=String(vnode.key);if(el._enterCb){el._enterCb(true/* cancelled */);}if(state.isUnmounting){return remove();}callHook(onBeforeLeave,[el]);var called=false;var done=el._leaveCb=function(cancelled){if(called)return;called=true;remove();if(cancelled){callHook(onLeaveCancelled,[el]);}else{callHook(onAfterLeave,[el]);}el._leaveCb=undefined;if(leavingVNodesCache[key]===vnode){delete leavingVNodesCache[key];}};leavingVNodesCache[key]=vnode;if(onLeave){onLeave(el,done);if(onLeave.length<=1){done();}}else{done();}},clone:function clone(vnode){return resolveTransitionHooks(vnode,props,state,instance);}};return hooks;}// the placeholder really only handles one special case: KeepAlive
- // in the case of a KeepAlive in a leave phase we need to return a KeepAlive
- // placeholder with empty content to avoid the KeepAlive instance from being
- // unmounted.
- function emptyPlaceholder(vnode){if(isKeepAlive(vnode)){vnode=cloneVNode(vnode);vnode.children=null;return vnode;}}function getKeepAliveChild(vnode){return isKeepAlive(vnode)?vnode.children?vnode.children[0]:undefined:vnode;}function setTransitionHooks(vnode,hooks){if(vnode.shapeFlag&6/* COMPONENT */&&vnode.component){setTransitionHooks(vnode.component.subTree,hooks);}else if(vnode.shapeFlag&128/* SUSPENSE */){vnode.ssContent.transition=hooks.clone(vnode.ssContent);vnode.ssFallback.transition=hooks.clone(vnode.ssFallback);}else{vnode.transition=hooks;}}function getTransitionRawChildren(children){var keepComment=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var ret=[];var keyedFragmentCount=0;for(var i=0;i<children.length;i++){var child=children[i];// handle fragment children case, e.g. v-for
- if(child.type===Fragment){if(child.patchFlag&128/* KEYED_FRAGMENT */)keyedFragmentCount++;ret=ret.concat(getTransitionRawChildren(child.children,keepComment));}// comment placeholders should be skipped, e.g. v-if
- else if(keepComment||child.type!==Comment){ret.push(child);}}// #1126 if a transition children list contains multiple sub fragments, these
- // fragments will be merged into a flat children array. Since each v-for
- // fragment may contain different static bindings inside, we need to de-op
- // these children to force full diffs to ensure correct behavior.
- if(keyedFragmentCount>1){for(var _i2=0;_i2<ret.length;_i2++){ret[_i2].patchFlag=-2/* BAIL */;}}return ret;}// implementation, close to no-op
- function defineComponent(options){return isFunction$1(options)?{setup:options,name:options.name}:options;}var isAsyncWrapper=function isAsyncWrapper(i){return!!i.type.__asyncLoader;};var isKeepAlive=function isKeepAlive(vnode){return vnode.type.__isKeepAlive;};function onActivated(hook,target){registerKeepAliveHook(hook,"a"/* ACTIVATED */,target);}function onDeactivated(hook,target){registerKeepAliveHook(hook,"da"/* DEACTIVATED */,target);}function registerKeepAliveHook(hook,type){var target=arguments.length>2&&arguments[2]!==undefined?arguments[2]:currentInstance;// cache the deactivate branch check wrapper for injected hooks so the same
- // hook can be properly deduped by the scheduler. "__wdc" stands for "with
- // deactivation check".
- var wrappedHook=hook.__wdc||(hook.__wdc=function(){// only fire the hook if the target instance is NOT in a deactivated branch.
- var current=target;while(current){if(current.isDeactivated){return;}current=current.parent;}return hook();});injectHook(type,wrappedHook,target);// In addition to registering it on the target instance, we walk up the parent
- // chain and register it on all ancestor instances that are keep-alive roots.
- // This avoids the need to walk the entire component tree when invoking these
- // hooks, and more importantly, avoids the need to track child components in
- // arrays.
- if(target){var _current=target.parent;while(_current&&_current.parent){if(isKeepAlive(_current.parent.vnode)){injectToKeepAliveRoot(wrappedHook,type,target,_current);}_current=_current.parent;}}}function injectToKeepAliveRoot(hook,type,target,keepAliveRoot){// injectHook wraps the original for error handling, so make sure to remove
- // the wrapped version.
- var injected=injectHook(type,hook,keepAliveRoot,true/* prepend */);onUnmounted(function(){remove(keepAliveRoot[type],injected);},target);}function injectHook(type,hook){var target=arguments.length>2&&arguments[2]!==undefined?arguments[2]:currentInstance;var prepend=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;if(target){var hooks=target[type]||(target[type]=[]);// cache the error handling wrapper for injected hooks so the same hook
- // can be properly deduped by the scheduler. "__weh" stands for "with error
- // handling".
- var wrappedHook=hook.__weh||(hook.__weh=function(){if(target.isUnmounted){return;}// disable tracking inside all lifecycle hooks
- // since they can potentially be called inside effects.
- pauseTracking();// Set currentInstance during hook invocation.
- // This assumes the hook does not synchronously trigger other hooks, which
- // can only be false when the user does something really funky.
- setCurrentInstance(target);for(var _len5=arguments.length,args=new Array(_len5),_key5=0;_key5<_len5;_key5++){args[_key5]=arguments[_key5];}var res=callWithAsyncErrorHandling(hook,target,type,args);unsetCurrentInstance();resetTracking();return res;});if(prepend){hooks.unshift(wrappedHook);}else{hooks.push(wrappedHook);}return wrappedHook;}}var createHook=function createHook(lifecycle){return function(hook){var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:currentInstance;return(// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
- (!isInSSRComponentSetup||lifecycle==="sp"/* SERVER_PREFETCH */)&&injectHook(lifecycle,hook,target));};};var onBeforeMount=createHook("bm"/* BEFORE_MOUNT */);var onMounted=createHook("m"/* MOUNTED */);var onBeforeUpdate=createHook("bu"/* BEFORE_UPDATE */);var onUpdated=createHook("u"/* UPDATED */);var onBeforeUnmount=createHook("bum"/* BEFORE_UNMOUNT */);var onUnmounted=createHook("um"/* UNMOUNTED */);var onServerPrefetch=createHook("sp"/* SERVER_PREFETCH */);var onRenderTriggered=createHook("rtg"/* RENDER_TRIGGERED */);var onRenderTracked=createHook("rtc"/* RENDER_TRACKED */);function onErrorCaptured(hook){var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:currentInstance;injectHook("ec"/* ERROR_CAPTURED */,hook,target);}var shouldCacheAccess=true;function applyOptions(instance){var options=resolveMergedOptions(instance);var publicThis=instance.proxy;var ctx=instance.ctx;// do not cache property access on public proxy during state initialization
- shouldCacheAccess=false;// call beforeCreate first before accessing other options since
- // the hook may mutate resolved options (#2791)
- if(options.beforeCreate){callHook$1(options.beforeCreate,instance,"bc"/* BEFORE_CREATE */);}var dataOptions=options.data,computedOptions=options.computed,methods=options.methods,watchOptions=options.watch,provideOptions=options.provide,injectOptions=options.inject,created=options.created,beforeMount=options.beforeMount,mounted=options.mounted,beforeUpdate=options.beforeUpdate,updated=options.updated,activated=options.activated,deactivated=options.deactivated,beforeDestroy=options.beforeDestroy,beforeUnmount=options.beforeUnmount,destroyed=options.destroyed,unmounted=options.unmounted,render=options.render,renderTracked=options.renderTracked,renderTriggered=options.renderTriggered,errorCaptured=options.errorCaptured,serverPrefetch=options.serverPrefetch,expose=options.expose,inheritAttrs=options.inheritAttrs,components=options.components,directives=options.directives,filters=options.filters;var checkDuplicateProperties=null;// options initialization order (to be consistent with Vue 2):
- // - props (already done outside of this function)
- // - inject
- // - methods
- // - data (deferred since it relies on `this` access)
- // - computed
- // - watch (deferred since it relies on `this` access)
- if(injectOptions){resolveInjections(injectOptions,ctx,checkDuplicateProperties,instance.appContext.config.unwrapInjectedRef);}if(methods){for(var key in methods){var methodHandler=methods[key];if(isFunction$1(methodHandler)){// In dev mode, we use the `createRenderContext` function to define
- // methods to the proxy target, and those are read-only but
- // reconfigurable, so it needs to be redefined here
- {ctx[key]=methodHandler.bind(publicThis);}}}}if(dataOptions){var data=dataOptions.call(publicThis,publicThis);if(!isObject$2(data));else{instance.data=reactive(data);}}// state initialization complete at this point - start caching access
- shouldCacheAccess=true;if(computedOptions){var _loop=function _loop(_key6){var opt=computedOptions[_key6];var get=isFunction$1(opt)?opt.bind(publicThis,publicThis):isFunction$1(opt.get)?opt.get.bind(publicThis,publicThis):NOOP;var set=!isFunction$1(opt)&&isFunction$1(opt.set)?opt.set.bind(publicThis):NOOP;var c=computed({get:get,set:set});Object.defineProperty(ctx,_key6,{enumerable:true,configurable:true,get:function get(){return c.value;},set:function set(v){return c.value=v;}});};for(var _key6 in computedOptions){_loop(_key6);}}if(watchOptions){for(var _key7 in watchOptions){createWatcher(watchOptions[_key7],ctx,publicThis,_key7);}}if(provideOptions){var provides=isFunction$1(provideOptions)?provideOptions.call(publicThis):provideOptions;Reflect.ownKeys(provides).forEach(function(key){provide(key,provides[key]);});}if(created){callHook$1(created,instance,"c"/* CREATED */);}function registerLifecycleHook(register,hook){if(isArray$5(hook)){hook.forEach(function(_hook){return register(_hook.bind(publicThis));});}else if(hook){register(hook.bind(publicThis));}}registerLifecycleHook(onBeforeMount,beforeMount);registerLifecycleHook(onMounted,mounted);registerLifecycleHook(onBeforeUpdate,beforeUpdate);registerLifecycleHook(onUpdated,updated);registerLifecycleHook(onActivated,activated);registerLifecycleHook(onDeactivated,deactivated);registerLifecycleHook(onErrorCaptured,errorCaptured);registerLifecycleHook(onRenderTracked,renderTracked);registerLifecycleHook(onRenderTriggered,renderTriggered);registerLifecycleHook(onBeforeUnmount,beforeUnmount);registerLifecycleHook(onUnmounted,unmounted);registerLifecycleHook(onServerPrefetch,serverPrefetch);if(isArray$5(expose)){if(expose.length){var exposed=instance.exposed||(instance.exposed={});expose.forEach(function(key){Object.defineProperty(exposed,key,{get:function get(){return publicThis[key];},set:function set(val){return publicThis[key]=val;}});});}else if(!instance.exposed){instance.exposed={};}}// options that are handled when creating the instance but also need to be
- // applied from mixins
- if(render&&instance.render===NOOP){instance.render=render;}if(inheritAttrs!=null){instance.inheritAttrs=inheritAttrs;}// asset options.
- if(components)instance.components=components;if(directives)instance.directives=directives;}function resolveInjections(injectOptions,ctx){var checkDuplicateProperties=arguments.length>2&&arguments[2]!==undefined?arguments[2]:NOOP;var unwrapRef=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;if(isArray$5(injectOptions)){injectOptions=normalizeInject(injectOptions);}var _loop2=function _loop2(key){var opt=injectOptions[key];var injected=void 0;if(isObject$2(opt)){if('default'in opt){injected=inject(opt.from||key,opt.default,true/* treat default function as factory */);}else{injected=inject(opt.from||key);}}else{injected=inject(opt);}if(isRef(injected)){// TODO remove the check in 3.3
- if(unwrapRef){Object.defineProperty(ctx,key,{enumerable:true,configurable:true,get:function get(){return injected.value;},set:function set(v){return injected.value=v;}});}else{ctx[key]=injected;}}else{ctx[key]=injected;}};for(var key in injectOptions){_loop2(key);}}function callHook$1(hook,instance,type){callWithAsyncErrorHandling(isArray$5(hook)?hook.map(function(h){return h.bind(instance.proxy);}):hook.bind(instance.proxy),instance,type);}function createWatcher(raw,ctx,publicThis,key){var getter=key.includes('.')?createPathGetter(publicThis,key):function(){return publicThis[key];};if(isString$1(raw)){var handler=ctx[raw];if(isFunction$1(handler)){watch(getter,handler);}}else if(isFunction$1(raw)){watch(getter,raw.bind(publicThis));}else if(isObject$2(raw)){if(isArray$5(raw)){raw.forEach(function(r){return createWatcher(r,ctx,publicThis,key);});}else{var _handler=isFunction$1(raw.handler)?raw.handler.bind(publicThis):ctx[raw.handler];if(isFunction$1(_handler)){watch(getter,_handler,raw);}}}else;}/**
- * Resolve merged options and cache it on the component.
- * This is done only once per-component since the merging does not involve
- * instances.
- */function resolveMergedOptions(instance){var base=instance.type;var mixins=base.mixins,extendsOptions=base.extends;var _instance$appContext=instance.appContext,globalMixins=_instance$appContext.mixins,cache=_instance$appContext.optionsCache,optionMergeStrategies=_instance$appContext.config.optionMergeStrategies;var cached=cache.get(base);var resolved;if(cached){resolved=cached;}else if(!globalMixins.length&&!mixins&&!extendsOptions){{resolved=base;}}else{resolved={};if(globalMixins.length){globalMixins.forEach(function(m){return mergeOptions$1(resolved,m,optionMergeStrategies,true);});}mergeOptions$1(resolved,base,optionMergeStrategies);}cache.set(base,resolved);return resolved;}function mergeOptions$1(to,from,strats){var asMixin=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var mixins=from.mixins,extendsOptions=from.extends;if(extendsOptions){mergeOptions$1(to,extendsOptions,strats,true);}if(mixins){mixins.forEach(function(m){return mergeOptions$1(to,m,strats,true);});}for(var key in from){if(asMixin&&key==='expose');else{var strat=internalOptionMergeStrats[key]||strats&&strats[key];to[key]=strat?strat(to[key],from[key]):from[key];}}return to;}var internalOptionMergeStrats={data:mergeDataFn,props:mergeObjectOptions,emits:mergeObjectOptions,// objects
- methods:mergeObjectOptions,computed:mergeObjectOptions,// lifecycle
- beforeCreate:mergeAsArray,created:mergeAsArray,beforeMount:mergeAsArray,mounted:mergeAsArray,beforeUpdate:mergeAsArray,updated:mergeAsArray,beforeDestroy:mergeAsArray,beforeUnmount:mergeAsArray,destroyed:mergeAsArray,unmounted:mergeAsArray,activated:mergeAsArray,deactivated:mergeAsArray,errorCaptured:mergeAsArray,serverPrefetch:mergeAsArray,// assets
- components:mergeObjectOptions,directives:mergeObjectOptions,// watch
- watch:mergeWatchOptions,// provide / inject
- provide:mergeDataFn,inject:mergeInject};function mergeDataFn(to,from){if(!from){return to;}if(!to){return from;}return function mergedDataFn(){return extend$2(isFunction$1(to)?to.call(this,this):to,isFunction$1(from)?from.call(this,this):from);};}function mergeInject(to,from){return mergeObjectOptions(normalizeInject(to),normalizeInject(from));}function normalizeInject(raw){if(isArray$5(raw)){var res={};for(var i=0;i<raw.length;i++){res[raw[i]]=raw[i];}return res;}return raw;}function mergeAsArray(to,from){return to?_toConsumableArray2(new Set([].concat(to,from))):from;}function mergeObjectOptions(to,from){return to?extend$2(extend$2(Object.create(null),to),from):from;}function mergeWatchOptions(to,from){if(!to)return from;if(!from)return to;var merged=extend$2(Object.create(null),to);for(var key in from){merged[key]=mergeAsArray(to[key],from[key]);}return merged;}function initProps(instance,rawProps,isStateful){var isSSR=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var props={};var attrs={};def(attrs,InternalObjectKey,1);instance.propsDefaults=Object.create(null);setFullProps(instance,rawProps,props,attrs);// ensure all declared prop keys are present
- for(var key in instance.propsOptions[0]){if(!(key in props)){props[key]=undefined;}}if(isStateful){// stateful
- instance.props=isSSR?props:shallowReactive(props);}else{if(!instance.type.props){// functional w/ optional props, props === attrs
- instance.props=attrs;}else{// functional w/ declared props
- instance.props=props;}}instance.attrs=attrs;}function updateProps(instance,rawProps,rawPrevProps,optimized){var props=instance.props,attrs=instance.attrs,patchFlag=instance.vnode.patchFlag;var rawCurrentProps=toRaw(props);var _instance$propsOption2=_slicedToArray(instance.propsOptions,1),options=_instance$propsOption2[0];var hasAttrsChanged=false;if(// always force full diff in dev
- // - #1942 if hmr is enabled with sfc component
- // - vite#872 non-sfc component used by sfc component
- (optimized||patchFlag>0)&&!(patchFlag&16/* FULL_PROPS */)){if(patchFlag&8/* PROPS */){// Compiler-generated props & no keys change, just set the updated
- // the props.
- var propsToUpdate=instance.vnode.dynamicProps;for(var i=0;i<propsToUpdate.length;i++){var key=propsToUpdate[i];// PROPS flag guarantees rawProps to be non-null
- var value=rawProps[key];if(options){// attr / props separation was done on init and will be consistent
- // in this code path, so just check if attrs have it.
- if(hasOwn$2(attrs,key)){if(value!==attrs[key]){attrs[key]=value;hasAttrsChanged=true;}}else{var camelizedKey=camelize$1(key);props[camelizedKey]=resolvePropValue(options,rawCurrentProps,camelizedKey,value,instance,false/* isAbsent */);}}else{if(value!==attrs[key]){attrs[key]=value;hasAttrsChanged=true;}}}}}else{// full props update.
- if(setFullProps(instance,rawProps,props,attrs)){hasAttrsChanged=true;}// in case of dynamic props, check if we need to delete keys from
- // the props object
- var kebabKey;for(var _key8 in rawCurrentProps){if(!rawProps||// for camelCase
- !hasOwn$2(rawProps,_key8)&&(// it's possible the original props was passed in as kebab-case
- // and converted to camelCase (#955)
- (kebabKey=hyphenate(_key8))===_key8||!hasOwn$2(rawProps,kebabKey))){if(options){if(rawPrevProps&&(// for camelCase
- rawPrevProps[_key8]!==undefined||// for kebab-case
- rawPrevProps[kebabKey]!==undefined)){props[_key8]=resolvePropValue(options,rawCurrentProps,_key8,undefined,instance,true/* isAbsent */);}}else{delete props[_key8];}}}// in the case of functional component w/o props declaration, props and
- // attrs point to the same object so it should already have been updated.
- if(attrs!==rawCurrentProps){for(var _key9 in attrs){if(!rawProps||!hasOwn$2(rawProps,_key9)){delete attrs[_key9];hasAttrsChanged=true;}}}}// trigger updates for $attrs in case it's used in component slots
- if(hasAttrsChanged){trigger(instance,"set"/* SET */,'$attrs');}}function setFullProps(instance,rawProps,props,attrs){var _instance$propsOption3=_slicedToArray(instance.propsOptions,2),options=_instance$propsOption3[0],needCastKeys=_instance$propsOption3[1];var hasAttrsChanged=false;var rawCastValues;if(rawProps){for(var key in rawProps){// key, ref are reserved and never passed down
- if(isReservedProp(key)){continue;}var value=rawProps[key];// prop option names are camelized during normalization, so to support
- // kebab -> camel conversion here we need to camelize the key.
- var camelKey=void 0;if(options&&hasOwn$2(options,camelKey=camelize$1(key))){if(!needCastKeys||!needCastKeys.includes(camelKey)){props[camelKey]=value;}else{(rawCastValues||(rawCastValues={}))[camelKey]=value;}}else if(!isEmitListener(instance.emitsOptions,key)){if(!(key in attrs)||value!==attrs[key]){attrs[key]=value;hasAttrsChanged=true;}}}}if(needCastKeys){var rawCurrentProps=toRaw(props);var castValues=rawCastValues||EMPTY_OBJ;for(var i=0;i<needCastKeys.length;i++){var _key10=needCastKeys[i];props[_key10]=resolvePropValue(options,rawCurrentProps,_key10,castValues[_key10],instance,!hasOwn$2(castValues,_key10));}}return hasAttrsChanged;}function resolvePropValue(options,props,key,value,instance,isAbsent){var opt=options[key];if(opt!=null){var hasDefault=hasOwn$2(opt,'default');// default values
- if(hasDefault&&value===undefined){var defaultValue=opt.default;if(opt.type!==Function&&isFunction$1(defaultValue)){var propsDefaults=instance.propsDefaults;if(key in propsDefaults){value=propsDefaults[key];}else{setCurrentInstance(instance);value=propsDefaults[key]=defaultValue.call(null,props);unsetCurrentInstance();}}else{value=defaultValue;}}// boolean casting
- if(opt[0/* shouldCast */]){if(isAbsent&&!hasDefault){value=false;}else if(opt[1/* shouldCastTrue */]&&(value===''||value===hyphenate(key))){value=true;}}}return value;}function normalizePropsOptions(comp,appContext){var asMixin=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var cache=appContext.propsCache;var cached=cache.get(comp);if(cached){return cached;}var raw=comp.props;var normalized={};var needCastKeys=[];// apply mixin/extends props
- var hasExtends=false;if(!isFunction$1(comp)){var extendProps=function extendProps(raw){hasExtends=true;var _normalizePropsOption=normalizePropsOptions(raw,appContext,true),_normalizePropsOption2=_slicedToArray(_normalizePropsOption,2),props=_normalizePropsOption2[0],keys=_normalizePropsOption2[1];extend$2(normalized,props);if(keys)needCastKeys.push.apply(needCastKeys,_toConsumableArray2(keys));};if(!asMixin&&appContext.mixins.length){appContext.mixins.forEach(extendProps);}if(comp.extends){extendProps(comp.extends);}if(comp.mixins){comp.mixins.forEach(extendProps);}}if(!raw&&!hasExtends){cache.set(comp,EMPTY_ARR);return EMPTY_ARR;}if(isArray$5(raw)){for(var i=0;i<raw.length;i++){var normalizedKey=camelize$1(raw[i]);if(validatePropName(normalizedKey)){normalized[normalizedKey]=EMPTY_OBJ;}}}else if(raw){for(var key in raw){var _normalizedKey=camelize$1(key);if(validatePropName(_normalizedKey)){var opt=raw[key];var prop=normalized[_normalizedKey]=isArray$5(opt)||isFunction$1(opt)?{type:opt}:opt;if(prop){var booleanIndex=getTypeIndex(Boolean,prop.type);var stringIndex=getTypeIndex(String,prop.type);prop[0/* shouldCast */]=booleanIndex>-1;prop[1/* shouldCastTrue */]=stringIndex<0||booleanIndex<stringIndex;// if the prop needs boolean casting or default value
- if(booleanIndex>-1||hasOwn$2(prop,'default')){needCastKeys.push(_normalizedKey);}}}}}var res=[normalized,needCastKeys];cache.set(comp,res);return res;}function validatePropName(key){if(key[0]!=='$'){return true;}return false;}// use function string name to check type constructors
- // so that it works across vms / iframes.
- function getType(ctor){var match=ctor&&ctor.toString().match(/^\s*function (\w+)/);return match?match[1]:ctor===null?'null':'';}function isSameType(a,b){return getType(a)===getType(b);}function getTypeIndex(type,expectedTypes){if(isArray$5(expectedTypes)){return expectedTypes.findIndex(function(t){return isSameType(t,type);});}else if(isFunction$1(expectedTypes)){return isSameType(expectedTypes,type)?0:-1;}return-1;}var isInternalKey=function isInternalKey(key){return key[0]==='_'||key==='$stable';};var normalizeSlotValue=function normalizeSlotValue(value){return isArray$5(value)?value.map(normalizeVNode):[normalizeVNode(value)];};var normalizeSlot$1=function normalizeSlot$1(key,rawSlot,ctx){var normalized=withCtx(function(){return normalizeSlotValue(rawSlot.apply(void 0,arguments));},ctx);normalized._c=false;return normalized;};var normalizeObjectSlots=function normalizeObjectSlots(rawSlots,slots,instance){var ctx=rawSlots._ctx;for(var key in rawSlots){if(isInternalKey(key))continue;var value=rawSlots[key];if(isFunction$1(value)){slots[key]=normalizeSlot$1(key,value,ctx);}else if(value!=null){(function(){var normalized=normalizeSlotValue(value);slots[key]=function(){return normalized;};})();}}};var normalizeVNodeSlots=function normalizeVNodeSlots(instance,children){var normalized=normalizeSlotValue(children);instance.slots.default=function(){return normalized;};};var initSlots=function initSlots(instance,children){if(instance.vnode.shapeFlag&32/* SLOTS_CHILDREN */){var type=children._;if(type){// users can get the shallow readonly version of the slots object through `this.$slots`,
- // we should avoid the proxy object polluting the slots of the internal instance
- instance.slots=toRaw(children);// make compiler marker non-enumerable
- def(children,'_',type);}else{normalizeObjectSlots(children,instance.slots={});}}else{instance.slots={};if(children){normalizeVNodeSlots(instance,children);}}def(instance.slots,InternalObjectKey,1);};var updateSlots=function updateSlots(instance,children,optimized){var vnode=instance.vnode,slots=instance.slots;var needDeletionCheck=true;var deletionComparisonTarget=EMPTY_OBJ;if(vnode.shapeFlag&32/* SLOTS_CHILDREN */){var type=children._;if(type){// compiled slots.
- if(optimized&&type===1/* STABLE */){// compiled AND stable.
- // no need to update, and skip stale slots removal.
- needDeletionCheck=false;}else{// compiled but dynamic (v-if/v-for on slots) - update slots, but skip
- // normalization.
- extend$2(slots,children);// #2893
- // when rendering the optimized slots by manually written render function,
- // we need to delete the `slots._` flag if necessary to make subsequent updates reliable,
- // i.e. let the `renderSlot` create the bailed Fragment
- if(!optimized&&type===1/* STABLE */){delete slots._;}}}else{needDeletionCheck=!children.$stable;normalizeObjectSlots(children,slots);}deletionComparisonTarget=children;}else if(children){// non slot object children (direct value) passed to a component
- normalizeVNodeSlots(instance,children);deletionComparisonTarget={default:1};}// delete stale slots
- if(needDeletionCheck){for(var key in slots){if(!isInternalKey(key)&&!(key in deletionComparisonTarget)){delete slots[key];}}}};/**
- * Adds directives to a VNode.
- */function withDirectives(vnode,directives){var internalInstance=currentRenderingInstance;if(internalInstance===null){return vnode;}var instance=internalInstance.proxy;var bindings=vnode.dirs||(vnode.dirs=[]);for(var i=0;i<directives.length;i++){var _directives$i=_slicedToArray(directives[i],4),dir=_directives$i[0],value=_directives$i[1],arg=_directives$i[2],_directives$i$=_directives$i[3],modifiers=_directives$i$===void 0?EMPTY_OBJ:_directives$i$;if(isFunction$1(dir)){dir={mounted:dir,updated:dir};}if(dir.deep){traverse(value);}bindings.push({dir:dir,instance:instance,value:value,oldValue:void 0,arg:arg,modifiers:modifiers});}return vnode;}function invokeDirectiveHook(vnode,prevVNode,instance,name){var bindings=vnode.dirs;var oldBindings=prevVNode&&prevVNode.dirs;for(var i=0;i<bindings.length;i++){var binding=bindings[i];if(oldBindings){binding.oldValue=oldBindings[i].value;}var hook=binding.dir[name];if(hook){// disable tracking inside all lifecycle hooks
- // since they can potentially be called inside effects.
- pauseTracking();callWithAsyncErrorHandling(hook,instance,8/* DIRECTIVE_HOOK */,[vnode.el,binding,vnode,prevVNode]);resetTracking();}}}function createAppContext(){return{app:null,config:{isNativeTag:NO,performance:false,globalProperties:{},optionMergeStrategies:{},errorHandler:undefined,warnHandler:undefined,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap(),propsCache:new WeakMap(),emitsCache:new WeakMap()};}var uid=0;function createAppAPI(render,hydrate){return function createApp(rootComponent){var rootProps=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(rootProps!=null&&!isObject$2(rootProps)){rootProps=null;}var context=createAppContext();var installedPlugins=new Set();var isMounted=false;var app=context.app={_uid:uid++,_component:rootComponent,_props:rootProps,_container:null,_context:context,_instance:null,version:version,get config(){return context.config;},set config(v){},use:function use(plugin){for(var _len6=arguments.length,options=new Array(_len6>1?_len6-1:0),_key11=1;_key11<_len6;_key11++){options[_key11-1]=arguments[_key11];}if(installedPlugins.has(plugin));else if(plugin&&isFunction$1(plugin.install)){installedPlugins.add(plugin);plugin.install.apply(plugin,[app].concat(options));}else if(isFunction$1(plugin)){installedPlugins.add(plugin);plugin.apply(void 0,[app].concat(options));}else;return app;},mixin:function mixin(_mixin){{if(!context.mixins.includes(_mixin)){context.mixins.push(_mixin);}}return app;},component:function component(name,_component){if(!_component){return context.components[name];}context.components[name]=_component;return app;},directive:function directive(name,_directive){if(!_directive){return context.directives[name];}context.directives[name]=_directive;return app;},mount:function mount(rootContainer,isHydrate,isSVG){if(!isMounted){var vnode=createVNode(rootComponent,rootProps);// store app context on the root VNode.
- // this will be set on the root instance on initial mount.
- vnode.appContext=context;if(isHydrate&&hydrate){hydrate(vnode,rootContainer);}else{render(vnode,rootContainer,isSVG);}isMounted=true;app._container=rootContainer;rootContainer.__vue_app__=app;return getExposeProxy(vnode.component)||vnode.component.proxy;}},unmount:function unmount(){if(isMounted){render(null,app._container);delete app._container.__vue_app__;}},provide:function provide(key,value){// TypeScript doesn't allow symbols as index type
- // https://github.com/Microsoft/TypeScript/issues/24587
- context.provides[key]=value;return app;}};return app;};}/**
- * Function for handling a template ref
- */function setRef(rawRef,oldRawRef,parentSuspense,vnode){var isUnmount=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;if(isArray$5(rawRef)){rawRef.forEach(function(r,i){return setRef(r,oldRawRef&&(isArray$5(oldRawRef)?oldRawRef[i]:oldRawRef),parentSuspense,vnode,isUnmount);});return;}if(isAsyncWrapper(vnode)&&!isUnmount){// when mounting async components, nothing needs to be done,
- // because the template ref is forwarded to inner component
- return;}var refValue=vnode.shapeFlag&4/* STATEFUL_COMPONENT */?getExposeProxy(vnode.component)||vnode.component.proxy:vnode.el;var value=isUnmount?null:refValue;var owner=rawRef.i,ref=rawRef.r;var oldRef=oldRawRef&&oldRawRef.r;var refs=owner.refs===EMPTY_OBJ?owner.refs={}:owner.refs;var setupState=owner.setupState;// dynamic ref changed. unset old ref
- if(oldRef!=null&&oldRef!==ref){if(isString$1(oldRef)){refs[oldRef]=null;if(hasOwn$2(setupState,oldRef)){setupState[oldRef]=null;}}else if(isRef(oldRef)){oldRef.value=null;}}if(isFunction$1(ref)){callWithErrorHandling(ref,owner,12/* FUNCTION_REF */,[value,refs]);}else{var _isString=isString$1(ref);var _isRef=isRef(ref);if(_isString||_isRef){var doSet=function doSet(){if(rawRef.f){var existing=_isString?refs[ref]:ref.value;if(isUnmount){isArray$5(existing)&&remove(existing,refValue);}else{if(!isArray$5(existing)){if(_isString){refs[ref]=[refValue];}else{ref.value=[refValue];if(rawRef.k)refs[rawRef.k]=ref.value;}}else if(!existing.includes(refValue)){existing.push(refValue);}}}else if(_isString){refs[ref]=value;if(hasOwn$2(setupState,ref)){setupState[ref]=value;}}else if(isRef(ref)){ref.value=value;if(rawRef.k)refs[rawRef.k]=value;}else;};if(value){doSet.id=-1;queuePostRenderEffect(doSet,parentSuspense);}else{doSet();}}}}var queuePostRenderEffect=queueEffectWithSuspense;/**
- * The createRenderer function accepts two generic arguments:
- * HostNode and HostElement, corresponding to Node and Element types in the
- * host environment. For example, for runtime-dom, HostNode would be the DOM
- * `Node` interface and HostElement would be the DOM `Element` interface.
- *
- * Custom renderers can pass in the platform specific types like this:
- *
- * ``` js
- * const { render, createApp } = createRenderer<Node, Element>({
- * patchProp,
- * ...nodeOps
- * })
- * ```
- */function createRenderer(options){return baseCreateRenderer(options);}// implementation
- function baseCreateRenderer(options,createHydrationFns){var target=getGlobalThis();target.__VUE__=true;var hostInsert=options.insert,hostRemove=options.remove,hostPatchProp=options.patchProp,hostCreateElement=options.createElement,hostCreateText=options.createText,hostCreateComment=options.createComment,hostSetText=options.setText,hostSetElementText=options.setElementText,hostParentNode=options.parentNode,hostNextSibling=options.nextSibling,_options$setScopeId=options.setScopeId,hostSetScopeId=_options$setScopeId===void 0?NOOP:_options$setScopeId,hostCloneNode=options.cloneNode,hostInsertStaticContent=options.insertStaticContent;// Note: functions inside this closure should use `const xxx = () => {}`
- // style in order to prevent being inlined by minifiers.
- var patch=function patch(n1,n2,container){var anchor=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var parentComponent=arguments.length>4&&arguments[4]!==undefined?arguments[4]:null;var parentSuspense=arguments.length>5&&arguments[5]!==undefined?arguments[5]:null;var isSVG=arguments.length>6&&arguments[6]!==undefined?arguments[6]:false;var slotScopeIds=arguments.length>7&&arguments[7]!==undefined?arguments[7]:null;var optimized=arguments.length>8&&arguments[8]!==undefined?arguments[8]:!!n2.dynamicChildren;if(n1===n2){return;}// patching & not same type, unmount old tree
- if(n1&&!isSameVNodeType(n1,n2)){anchor=getNextHostNode(n1);unmount(n1,parentComponent,parentSuspense,true);n1=null;}if(n2.patchFlag===-2/* BAIL */){optimized=false;n2.dynamicChildren=null;}var type=n2.type,ref=n2.ref,shapeFlag=n2.shapeFlag;switch(type){case Text:processText(n1,n2,container,anchor);break;case Comment:processCommentNode(n1,n2,container,anchor);break;case Static:if(n1==null){mountStaticNode(n2,container,anchor,isSVG);}break;case Fragment:processFragment(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);break;default:if(shapeFlag&1/* ELEMENT */){processElement(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else if(shapeFlag&6/* COMPONENT */){processComponent(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else if(shapeFlag&64/* TELEPORT */){type.process(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized,internals);}else if(shapeFlag&128/* SUSPENSE */){type.process(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized,internals);}else;}// set ref
- if(ref!=null&&parentComponent){setRef(ref,n1&&n1.ref,parentSuspense,n2||n1,!n2);}};var processText=function processText(n1,n2,container,anchor){if(n1==null){hostInsert(n2.el=hostCreateText(n2.children),container,anchor);}else{var el=n2.el=n1.el;if(n2.children!==n1.children){hostSetText(el,n2.children);}}};var processCommentNode=function processCommentNode(n1,n2,container,anchor){if(n1==null){hostInsert(n2.el=hostCreateComment(n2.children||''),container,anchor);}else{// there's no support for dynamic comments
- n2.el=n1.el;}};var mountStaticNode=function mountStaticNode(n2,container,anchor,isSVG){var _hostInsertStaticCont=hostInsertStaticContent(n2.children,container,anchor,isSVG);var _hostInsertStaticCont2=_slicedToArray(_hostInsertStaticCont,2);n2.el=_hostInsertStaticCont2[0];n2.anchor=_hostInsertStaticCont2[1];};var moveStaticNode=function moveStaticNode(_ref13,container,nextSibling){var el=_ref13.el,anchor=_ref13.anchor;var next;while(el&&el!==anchor){next=hostNextSibling(el);hostInsert(el,container,nextSibling);el=next;}hostInsert(anchor,container,nextSibling);};var removeStaticNode=function removeStaticNode(_ref14){var el=_ref14.el,anchor=_ref14.anchor;var next;while(el&&el!==anchor){next=hostNextSibling(el);hostRemove(el);el=next;}hostRemove(anchor);};var processElement=function processElement(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){isSVG=isSVG||n2.type==='svg';if(n1==null){mountElement(n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else{patchElement(n1,n2,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}};var mountElement=function mountElement(vnode,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){var el;var vnodeHook;var type=vnode.type,props=vnode.props,shapeFlag=vnode.shapeFlag,transition=vnode.transition,patchFlag=vnode.patchFlag,dirs=vnode.dirs;if(vnode.el&&hostCloneNode!==undefined&&patchFlag===-1/* HOISTED */){// If a vnode has non-null el, it means it's being reused.
- // Only static vnodes can be reused, so its mounted DOM nodes should be
- // exactly the same, and we can simply do a clone here.
- // only do this in production since cloned trees cannot be HMR updated.
- el=vnode.el=hostCloneNode(vnode.el);}else{el=vnode.el=hostCreateElement(vnode.type,isSVG,props&&props.is,props);// mount children first, since some props may rely on child content
- // being already rendered, e.g. `<select value>`
- if(shapeFlag&8/* TEXT_CHILDREN */){hostSetElementText(el,vnode.children);}else if(shapeFlag&16/* ARRAY_CHILDREN */){mountChildren(vnode.children,el,null,parentComponent,parentSuspense,isSVG&&type!=='foreignObject',slotScopeIds,optimized);}if(dirs){invokeDirectiveHook(vnode,null,parentComponent,'created');}// props
- if(props){for(var key in props){if(key!=='value'&&!isReservedProp(key)){hostPatchProp(el,key,null,props[key],isSVG,vnode.children,parentComponent,parentSuspense,unmountChildren);}}/**
- * Special case for setting value on DOM elements:
- * - it can be order-sensitive (e.g. should be set *after* min/max, #2325, #4024)
- * - it needs to be forced (#1471)
- * #2353 proposes adding another renderer option to configure this, but
- * the properties affects are so finite it is worth special casing it
- * here to reduce the complexity. (Special casing it also should not
- * affect non-DOM renderers)
- */if('value'in props){hostPatchProp(el,'value',null,props.value);}if(vnodeHook=props.onVnodeBeforeMount){invokeVNodeHook(vnodeHook,parentComponent,vnode);}}// scopeId
- setScopeId(el,vnode,vnode.scopeId,slotScopeIds,parentComponent);}if(dirs){invokeDirectiveHook(vnode,null,parentComponent,'beforeMount');}// #1583 For inside suspense + suspense not resolved case, enter hook should call when suspense resolved
- // #1689 For inside suspense + suspense resolved case, just call it
- var needCallTransitionHooks=(!parentSuspense||parentSuspense&&!parentSuspense.pendingBranch)&&transition&&!transition.persisted;if(needCallTransitionHooks){transition.beforeEnter(el);}hostInsert(el,container,anchor);if((vnodeHook=props&&props.onVnodeMounted)||needCallTransitionHooks||dirs){queuePostRenderEffect(function(){vnodeHook&&invokeVNodeHook(vnodeHook,parentComponent,vnode);needCallTransitionHooks&&transition.enter(el);dirs&&invokeDirectiveHook(vnode,null,parentComponent,'mounted');},parentSuspense);}};var setScopeId=function setScopeId(el,vnode,scopeId,slotScopeIds,parentComponent){if(scopeId){hostSetScopeId(el,scopeId);}if(slotScopeIds){for(var i=0;i<slotScopeIds.length;i++){hostSetScopeId(el,slotScopeIds[i]);}}if(parentComponent){var subTree=parentComponent.subTree;if(vnode===subTree){var parentVNode=parentComponent.vnode;setScopeId(el,parentVNode,parentVNode.scopeId,parentVNode.slotScopeIds,parentComponent.parent);}}};var mountChildren=function mountChildren(children,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){var start=arguments.length>8&&arguments[8]!==undefined?arguments[8]:0;for(var i=start;i<children.length;i++){var child=children[i]=optimized?cloneIfMounted(children[i]):normalizeVNode(children[i]);patch(null,child,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}};var patchElement=function patchElement(n1,n2,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){var el=n2.el=n1.el;var patchFlag=n2.patchFlag,dynamicChildren=n2.dynamicChildren,dirs=n2.dirs;// #1426 take the old vnode's patch flag into account since user may clone a
- // compiler-generated vnode, which de-opts to FULL_PROPS
- patchFlag|=n1.patchFlag&16/* FULL_PROPS */;var oldProps=n1.props||EMPTY_OBJ;var newProps=n2.props||EMPTY_OBJ;var vnodeHook;// disable recurse in beforeUpdate hooks
- parentComponent&&toggleRecurse(parentComponent,false);if(vnodeHook=newProps.onVnodeBeforeUpdate){invokeVNodeHook(vnodeHook,parentComponent,n2,n1);}if(dirs){invokeDirectiveHook(n2,n1,parentComponent,'beforeUpdate');}parentComponent&&toggleRecurse(parentComponent,true);var areChildrenSVG=isSVG&&n2.type!=='foreignObject';if(dynamicChildren){patchBlockChildren(n1.dynamicChildren,dynamicChildren,el,parentComponent,parentSuspense,areChildrenSVG,slotScopeIds);}else if(!optimized){// full diff
- patchChildren(n1,n2,el,null,parentComponent,parentSuspense,areChildrenSVG,slotScopeIds,false);}if(patchFlag>0){// the presence of a patchFlag means this element's render code was
- // generated by the compiler and can take the fast path.
- // in this path old node and new node are guaranteed to have the same shape
- // (i.e. at the exact same position in the source template)
- if(patchFlag&16/* FULL_PROPS */){// element props contain dynamic keys, full diff needed
- patchProps(el,n2,oldProps,newProps,parentComponent,parentSuspense,isSVG);}else{// class
- // this flag is matched when the element has dynamic class bindings.
- if(patchFlag&2/* CLASS */){if(oldProps.class!==newProps.class){hostPatchProp(el,'class',null,newProps.class,isSVG);}}// style
- // this flag is matched when the element has dynamic style bindings
- if(patchFlag&4/* STYLE */){hostPatchProp(el,'style',oldProps.style,newProps.style,isSVG);}// props
- // This flag is matched when the element has dynamic prop/attr bindings
- // other than class and style. The keys of dynamic prop/attrs are saved for
- // faster iteration.
- // Note dynamic keys like :[foo]="bar" will cause this optimization to
- // bail out and go through a full diff because we need to unset the old key
- if(patchFlag&8/* PROPS */){// if the flag is present then dynamicProps must be non-null
- var propsToUpdate=n2.dynamicProps;for(var i=0;i<propsToUpdate.length;i++){var key=propsToUpdate[i];var prev=oldProps[key];var next=newProps[key];// #1471 force patch value
- if(next!==prev||key==='value'){hostPatchProp(el,key,prev,next,isSVG,n1.children,parentComponent,parentSuspense,unmountChildren);}}}}// text
- // This flag is matched when the element has only dynamic text children.
- if(patchFlag&1/* TEXT */){if(n1.children!==n2.children){hostSetElementText(el,n2.children);}}}else if(!optimized&&dynamicChildren==null){// unoptimized, full diff
- patchProps(el,n2,oldProps,newProps,parentComponent,parentSuspense,isSVG);}if((vnodeHook=newProps.onVnodeUpdated)||dirs){queuePostRenderEffect(function(){vnodeHook&&invokeVNodeHook(vnodeHook,parentComponent,n2,n1);dirs&&invokeDirectiveHook(n2,n1,parentComponent,'updated');},parentSuspense);}};// The fast path for blocks.
- var patchBlockChildren=function patchBlockChildren(oldChildren,newChildren,fallbackContainer,parentComponent,parentSuspense,isSVG,slotScopeIds){for(var i=0;i<newChildren.length;i++){var oldVNode=oldChildren[i];var newVNode=newChildren[i];// Determine the container (parent element) for the patch.
- var container=// oldVNode may be an errored async setup() component inside Suspense
- // which will not have a mounted element
- oldVNode.el&&(// - In the case of a Fragment, we need to provide the actual parent
- // of the Fragment itself so it can move its children.
- oldVNode.type===Fragment||// - In the case of different nodes, there is going to be a replacement
- // which also requires the correct parent container
- !isSameVNodeType(oldVNode,newVNode)||// - In the case of a component, it could contain anything.
- oldVNode.shapeFlag&(6/* COMPONENT */|64/* TELEPORT */))?hostParentNode(oldVNode.el):// In other cases, the parent container is not actually used so we
- // just pass the block element here to avoid a DOM parentNode call.
- fallbackContainer;patch(oldVNode,newVNode,container,null,parentComponent,parentSuspense,isSVG,slotScopeIds,true);}};var patchProps=function patchProps(el,vnode,oldProps,newProps,parentComponent,parentSuspense,isSVG){if(oldProps!==newProps){for(var key in newProps){// empty string is not valid prop
- if(isReservedProp(key))continue;var next=newProps[key];var prev=oldProps[key];// defer patching value
- if(next!==prev&&key!=='value'){hostPatchProp(el,key,prev,next,isSVG,vnode.children,parentComponent,parentSuspense,unmountChildren);}}if(oldProps!==EMPTY_OBJ){for(var _key12 in oldProps){if(!isReservedProp(_key12)&&!(_key12 in newProps)){hostPatchProp(el,_key12,oldProps[_key12],null,isSVG,vnode.children,parentComponent,parentSuspense,unmountChildren);}}}if('value'in newProps){hostPatchProp(el,'value',oldProps.value,newProps.value);}}};var processFragment=function processFragment(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){var fragmentStartAnchor=n2.el=n1?n1.el:hostCreateText('');var fragmentEndAnchor=n2.anchor=n1?n1.anchor:hostCreateText('');var patchFlag=n2.patchFlag,dynamicChildren=n2.dynamicChildren,fragmentSlotScopeIds=n2.slotScopeIds;// check if this is a slot fragment with :slotted scope ids
- if(fragmentSlotScopeIds){slotScopeIds=slotScopeIds?slotScopeIds.concat(fragmentSlotScopeIds):fragmentSlotScopeIds;}if(n1==null){hostInsert(fragmentStartAnchor,container,anchor);hostInsert(fragmentEndAnchor,container,anchor);// a fragment can only have array children
- // since they are either generated by the compiler, or implicitly created
- // from arrays.
- mountChildren(n2.children,container,fragmentEndAnchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else{if(patchFlag>0&&patchFlag&64/* STABLE_FRAGMENT */&&dynamicChildren&&// #2715 the previous fragment could've been a BAILed one as a result
- // of renderSlot() with no valid children
- n1.dynamicChildren){// a stable fragment (template root or <template v-for>) doesn't need to
- // patch children order, but it may contain dynamicChildren.
- patchBlockChildren(n1.dynamicChildren,dynamicChildren,container,parentComponent,parentSuspense,isSVG,slotScopeIds);if(// #2080 if the stable fragment has a key, it's a <template v-for> that may
- // get moved around. Make sure all root level vnodes inherit el.
- // #2134 or if it's a component root, it may also get moved around
- // as the component is being moved.
- n2.key!=null||parentComponent&&n2===parentComponent.subTree){traverseStaticChildren(n1,n2,true/* shallow */);}}else{// keyed / unkeyed, or manual fragments.
- // for keyed & unkeyed, since they are compiler generated from v-for,
- // each child is guaranteed to be a block so the fragment will never
- // have dynamicChildren.
- patchChildren(n1,n2,container,fragmentEndAnchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}}};var processComponent=function processComponent(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){n2.slotScopeIds=slotScopeIds;if(n1==null){if(n2.shapeFlag&512/* COMPONENT_KEPT_ALIVE */){parentComponent.ctx.activate(n2,container,anchor,isSVG,optimized);}else{mountComponent(n2,container,anchor,parentComponent,parentSuspense,isSVG,optimized);}}else{updateComponent(n1,n2,optimized);}};var mountComponent=function mountComponent(initialVNode,container,anchor,parentComponent,parentSuspense,isSVG,optimized){var instance=initialVNode.component=createComponentInstance(initialVNode,parentComponent,parentSuspense);// inject renderer internals for keepAlive
- if(isKeepAlive(initialVNode)){instance.ctx.renderer=internals;}// resolve props and slots for setup context
- {setupComponent(instance);}// setup() is async. This component relies on async logic to be resolved
- // before proceeding
- if(instance.asyncDep){parentSuspense&&parentSuspense.registerDep(instance,setupRenderEffect);// Give it a placeholder if this is not hydration
- // TODO handle self-defined fallback
- if(!initialVNode.el){var placeholder=instance.subTree=createVNode(Comment);processCommentNode(null,placeholder,container,anchor);}return;}setupRenderEffect(instance,initialVNode,container,anchor,parentSuspense,isSVG,optimized);};var updateComponent=function updateComponent(n1,n2,optimized){var instance=n2.component=n1.component;if(shouldUpdateComponent(n1,n2,optimized)){if(instance.asyncDep&&!instance.asyncResolved){updateComponentPreRender(instance,n2,optimized);return;}else{// normal update
- instance.next=n2;// in case the child component is also queued, remove it to avoid
- // double updating the same child component in the same flush.
- invalidateJob(instance.update);// instance.update is the reactive effect.
- instance.update();}}else{// no update needed. just copy over properties
- n2.component=n1.component;n2.el=n1.el;instance.vnode=n2;}};var setupRenderEffect=function setupRenderEffect(instance,initialVNode,container,anchor,parentSuspense,isSVG,optimized){var componentUpdateFn=function componentUpdateFn(){if(!instance.isMounted){var vnodeHook;var _initialVNode=initialVNode,el=_initialVNode.el,props=_initialVNode.props;var bm=instance.bm,m=instance.m,parent=instance.parent;var isAsyncWrapperVNode=isAsyncWrapper(initialVNode);toggleRecurse(instance,false);// beforeMount hook
- if(bm){invokeArrayFns(bm);}// onVnodeBeforeMount
- if(!isAsyncWrapperVNode&&(vnodeHook=props&&props.onVnodeBeforeMount)){invokeVNodeHook(vnodeHook,parent,initialVNode);}toggleRecurse(instance,true);if(el&&hydrateNode){// vnode has adopted host node - perform hydration instead of mount.
- var hydrateSubTree=function hydrateSubTree(){instance.subTree=renderComponentRoot(instance);hydrateNode(el,instance.subTree,instance,parentSuspense,null);};if(isAsyncWrapperVNode){initialVNode.type.__asyncLoader().then(// note: we are moving the render call into an async callback,
- // which means it won't track dependencies - but it's ok because
- // a server-rendered async wrapper is already in resolved state
- // and it will never need to change.
- function(){return!instance.isUnmounted&&hydrateSubTree();});}else{hydrateSubTree();}}else{var subTree=instance.subTree=renderComponentRoot(instance);patch(null,subTree,container,anchor,instance,parentSuspense,isSVG);initialVNode.el=subTree.el;}// mounted hook
- if(m){queuePostRenderEffect(m,parentSuspense);}// onVnodeMounted
- if(!isAsyncWrapperVNode&&(vnodeHook=props&&props.onVnodeMounted)){var scopedInitialVNode=initialVNode;queuePostRenderEffect(function(){return invokeVNodeHook(vnodeHook,parent,scopedInitialVNode);},parentSuspense);}// activated hook for keep-alive roots.
- // #1742 activated hook must be accessed after first render
- // since the hook may be injected by a child keep-alive
- if(initialVNode.shapeFlag&256/* COMPONENT_SHOULD_KEEP_ALIVE */){instance.a&&queuePostRenderEffect(instance.a,parentSuspense);}instance.isMounted=true;// #2458: deference mount-only object parameters to prevent memleaks
- initialVNode=container=anchor=null;}else{// updateComponent
- // This is triggered by mutation of component's own state (next: null)
- // OR parent calling processComponent (next: VNode)
- var next=instance.next,bu=instance.bu,u=instance.u,_parent=instance.parent,vnode=instance.vnode;var originNext=next;var _vnodeHook;// Disallow component effect recursion during pre-lifecycle hooks.
- toggleRecurse(instance,false);if(next){next.el=vnode.el;updateComponentPreRender(instance,next,optimized);}else{next=vnode;}// beforeUpdate hook
- if(bu){invokeArrayFns(bu);}// onVnodeBeforeUpdate
- if(_vnodeHook=next.props&&next.props.onVnodeBeforeUpdate){invokeVNodeHook(_vnodeHook,_parent,next,vnode);}toggleRecurse(instance,true);var nextTree=renderComponentRoot(instance);var prevTree=instance.subTree;instance.subTree=nextTree;patch(prevTree,nextTree,// parent may have changed if it's in a teleport
- hostParentNode(prevTree.el),// anchor may have changed if it's in a fragment
- getNextHostNode(prevTree),instance,parentSuspense,isSVG);next.el=nextTree.el;if(originNext===null){// self-triggered update. In case of HOC, update parent component
- // vnode el. HOC is indicated by parent instance's subTree pointing
- // to child component's vnode
- updateHOCHostEl(instance,nextTree.el);}// updated hook
- if(u){queuePostRenderEffect(u,parentSuspense);}// onVnodeUpdated
- if(_vnodeHook=next.props&&next.props.onVnodeUpdated){queuePostRenderEffect(function(){return invokeVNodeHook(_vnodeHook,_parent,next,vnode);},parentSuspense);}}};// create reactive effect for rendering
- var effect=instance.effect=new ReactiveEffect(componentUpdateFn,function(){return queueJob(instance.update);},instance.scope// track it in component's effect scope
- );var update=instance.update=effect.run.bind(effect);update.id=instance.uid;// allowRecurse
- // #1801, #2043 component render effects should allow recursive updates
- toggleRecurse(instance,true);update();};var updateComponentPreRender=function updateComponentPreRender(instance,nextVNode,optimized){nextVNode.component=instance;var prevProps=instance.vnode.props;instance.vnode=nextVNode;instance.next=null;updateProps(instance,nextVNode.props,prevProps,optimized);updateSlots(instance,nextVNode.children,optimized);pauseTracking();// props update may have triggered pre-flush watchers.
- // flush them before the render update.
- flushPreFlushCbs(undefined,instance.update);resetTracking();};var patchChildren=function patchChildren(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds){var optimized=arguments.length>8&&arguments[8]!==undefined?arguments[8]:false;var c1=n1&&n1.children;var prevShapeFlag=n1?n1.shapeFlag:0;var c2=n2.children;var patchFlag=n2.patchFlag,shapeFlag=n2.shapeFlag;// fast path
- if(patchFlag>0){if(patchFlag&128/* KEYED_FRAGMENT */){// this could be either fully-keyed or mixed (some keyed some not)
- // presence of patchFlag means children are guaranteed to be arrays
- patchKeyedChildren(c1,c2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);return;}else if(patchFlag&256/* UNKEYED_FRAGMENT */){// unkeyed
- patchUnkeyedChildren(c1,c2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);return;}}// children has 3 possibilities: text, array or no children.
- if(shapeFlag&8/* TEXT_CHILDREN */){// text children fast path
- if(prevShapeFlag&16/* ARRAY_CHILDREN */){unmountChildren(c1,parentComponent,parentSuspense);}if(c2!==c1){hostSetElementText(container,c2);}}else{if(prevShapeFlag&16/* ARRAY_CHILDREN */){// prev children was array
- if(shapeFlag&16/* ARRAY_CHILDREN */){// two arrays, cannot assume anything, do full diff
- patchKeyedChildren(c1,c2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else{// no new children, just unmount old
- unmountChildren(c1,parentComponent,parentSuspense,true);}}else{// prev children was text OR null
- // new children is array OR null
- if(prevShapeFlag&8/* TEXT_CHILDREN */){hostSetElementText(container,'');}// mount new if array
- if(shapeFlag&16/* ARRAY_CHILDREN */){mountChildren(c2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}}}};var patchUnkeyedChildren=function patchUnkeyedChildren(c1,c2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){c1=c1||EMPTY_ARR;c2=c2||EMPTY_ARR;var oldLength=c1.length;var newLength=c2.length;var commonLength=Math.min(oldLength,newLength);var i;for(i=0;i<commonLength;i++){var nextChild=c2[i]=optimized?cloneIfMounted(c2[i]):normalizeVNode(c2[i]);patch(c1[i],nextChild,container,null,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}if(oldLength>newLength){// remove old
- unmountChildren(c1,parentComponent,parentSuspense,true,false,commonLength);}else{// mount new
- mountChildren(c2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized,commonLength);}};// can be all-keyed or mixed
- var patchKeyedChildren=function patchKeyedChildren(c1,c2,container,parentAnchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized){var i=0;var l2=c2.length;var e1=c1.length-1;// prev ending index
- var e2=l2-1;// next ending index
- // 1. sync from start
- // (a b) c
- // (a b) d e
- while(i<=e1&&i<=e2){var n1=c1[i];var n2=c2[i]=optimized?cloneIfMounted(c2[i]):normalizeVNode(c2[i]);if(isSameVNodeType(n1,n2)){patch(n1,n2,container,null,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else{break;}i++;}// 2. sync from end
- // a (b c)
- // d e (b c)
- while(i<=e1&&i<=e2){var _n2=c1[e1];var _n3=c2[e2]=optimized?cloneIfMounted(c2[e2]):normalizeVNode(c2[e2]);if(isSameVNodeType(_n2,_n3)){patch(_n2,_n3,container,null,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else{break;}e1--;e2--;}// 3. common sequence + mount
- // (a b)
- // (a b) c
- // i = 2, e1 = 1, e2 = 2
- // (a b)
- // c (a b)
- // i = 0, e1 = -1, e2 = 0
- if(i>e1){if(i<=e2){var nextPos=e2+1;var anchor=nextPos<l2?c2[nextPos].el:parentAnchor;while(i<=e2){patch(null,c2[i]=optimized?cloneIfMounted(c2[i]):normalizeVNode(c2[i]),container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);i++;}}}// 4. common sequence + unmount
- // (a b) c
- // (a b)
- // i = 2, e1 = 2, e2 = 1
- // a (b c)
- // (b c)
- // i = 0, e1 = 0, e2 = -1
- else if(i>e2){while(i<=e1){unmount(c1[i],parentComponent,parentSuspense,true);i++;}}// 5. unknown sequence
- // [i ... e1 + 1]: a b [c d e] f g
- // [i ... e2 + 1]: a b [e d c h] f g
- // i = 2, e1 = 4, e2 = 5
- else{var s1=i;// prev starting index
- var s2=i;// next starting index
- // 5.1 build key:index map for newChildren
- var keyToNewIndexMap=new Map();for(i=s2;i<=e2;i++){var nextChild=c2[i]=optimized?cloneIfMounted(c2[i]):normalizeVNode(c2[i]);if(nextChild.key!=null){keyToNewIndexMap.set(nextChild.key,i);}}// 5.2 loop through old children left to be patched and try to patch
- // matching nodes & remove nodes that are no longer present
- var j;var patched=0;var toBePatched=e2-s2+1;var moved=false;// used to track whether any node has moved
- var maxNewIndexSoFar=0;// works as Map<newIndex, oldIndex>
- // Note that oldIndex is offset by +1
- // and oldIndex = 0 is a special value indicating the new node has
- // no corresponding old node.
- // used for determining longest stable subsequence
- var newIndexToOldIndexMap=new Array(toBePatched);for(i=0;i<toBePatched;i++){newIndexToOldIndexMap[i]=0;}for(i=s1;i<=e1;i++){var prevChild=c1[i];if(patched>=toBePatched){// all new children have been patched so this can only be a removal
- unmount(prevChild,parentComponent,parentSuspense,true);continue;}var newIndex=void 0;if(prevChild.key!=null){newIndex=keyToNewIndexMap.get(prevChild.key);}else{// key-less node, try to locate a key-less node of the same type
- for(j=s2;j<=e2;j++){if(newIndexToOldIndexMap[j-s2]===0&&isSameVNodeType(prevChild,c2[j])){newIndex=j;break;}}}if(newIndex===undefined){unmount(prevChild,parentComponent,parentSuspense,true);}else{newIndexToOldIndexMap[newIndex-s2]=i+1;if(newIndex>=maxNewIndexSoFar){maxNewIndexSoFar=newIndex;}else{moved=true;}patch(prevChild,c2[newIndex],container,null,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);patched++;}}// 5.3 move and mount
- // generate longest stable subsequence only when nodes have moved
- var increasingNewIndexSequence=moved?getSequence(newIndexToOldIndexMap):EMPTY_ARR;j=increasingNewIndexSequence.length-1;// looping backwards so that we can use last patched node as anchor
- for(i=toBePatched-1;i>=0;i--){var nextIndex=s2+i;var _nextChild=c2[nextIndex];var _anchor=nextIndex+1<l2?c2[nextIndex+1].el:parentAnchor;if(newIndexToOldIndexMap[i]===0){// mount new
- patch(null,_nextChild,container,_anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}else if(moved){// move if:
- // There is no stable subsequence (e.g. a reverse)
- // OR current node is not among the stable sequence
- if(j<0||i!==increasingNewIndexSequence[j]){move(_nextChild,container,_anchor,2/* REORDER */);}else{j--;}}}}};var move=function move(vnode,container,anchor,moveType){var parentSuspense=arguments.length>4&&arguments[4]!==undefined?arguments[4]:null;var el=vnode.el,type=vnode.type,transition=vnode.transition,children=vnode.children,shapeFlag=vnode.shapeFlag;if(shapeFlag&6/* COMPONENT */){move(vnode.component.subTree,container,anchor,moveType);return;}if(shapeFlag&128/* SUSPENSE */){vnode.suspense.move(container,anchor,moveType);return;}if(shapeFlag&64/* TELEPORT */){type.move(vnode,container,anchor,internals);return;}if(type===Fragment){hostInsert(el,container,anchor);for(var i=0;i<children.length;i++){move(children[i],container,anchor,moveType);}hostInsert(vnode.anchor,container,anchor);return;}if(type===Static){moveStaticNode(vnode,container,anchor);return;}// single nodes
- var needTransition=moveType!==2/* REORDER */&&shapeFlag&1/* ELEMENT */&&transition;if(needTransition){if(moveType===0/* ENTER */){transition.beforeEnter(el);hostInsert(el,container,anchor);queuePostRenderEffect(function(){return transition.enter(el);},parentSuspense);}else{var leave=transition.leave,delayLeave=transition.delayLeave,afterLeave=transition.afterLeave;var _remove=function _remove(){return hostInsert(el,container,anchor);};var performLeave=function performLeave(){leave(el,function(){_remove();afterLeave&&afterLeave();});};if(delayLeave){delayLeave(el,_remove,performLeave);}else{performLeave();}}}else{hostInsert(el,container,anchor);}};var unmount=function unmount(vnode,parentComponent,parentSuspense){var doRemove=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var optimized=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;var type=vnode.type,props=vnode.props,ref=vnode.ref,children=vnode.children,dynamicChildren=vnode.dynamicChildren,shapeFlag=vnode.shapeFlag,patchFlag=vnode.patchFlag,dirs=vnode.dirs;// unset ref
- if(ref!=null){setRef(ref,null,parentSuspense,vnode,true);}if(shapeFlag&256/* COMPONENT_SHOULD_KEEP_ALIVE */){parentComponent.ctx.deactivate(vnode);return;}var shouldInvokeDirs=shapeFlag&1/* ELEMENT */&&dirs;var shouldInvokeVnodeHook=!isAsyncWrapper(vnode);var vnodeHook;if(shouldInvokeVnodeHook&&(vnodeHook=props&&props.onVnodeBeforeUnmount)){invokeVNodeHook(vnodeHook,parentComponent,vnode);}if(shapeFlag&6/* COMPONENT */){unmountComponent(vnode.component,parentSuspense,doRemove);}else{if(shapeFlag&128/* SUSPENSE */){vnode.suspense.unmount(parentSuspense,doRemove);return;}if(shouldInvokeDirs){invokeDirectiveHook(vnode,null,parentComponent,'beforeUnmount');}if(shapeFlag&64/* TELEPORT */){vnode.type.remove(vnode,parentComponent,parentSuspense,optimized,internals,doRemove);}else if(dynamicChildren&&(// #1153: fast path should not be taken for non-stable (v-for) fragments
- type!==Fragment||patchFlag>0&&patchFlag&64/* STABLE_FRAGMENT */)){// fast path for block nodes: only need to unmount dynamic children.
- unmountChildren(dynamicChildren,parentComponent,parentSuspense,false,true);}else if(type===Fragment&&patchFlag&(128/* KEYED_FRAGMENT */|256/* UNKEYED_FRAGMENT */)||!optimized&&shapeFlag&16/* ARRAY_CHILDREN */){unmountChildren(children,parentComponent,parentSuspense);}if(doRemove){remove(vnode);}}if(shouldInvokeVnodeHook&&(vnodeHook=props&&props.onVnodeUnmounted)||shouldInvokeDirs){queuePostRenderEffect(function(){vnodeHook&&invokeVNodeHook(vnodeHook,parentComponent,vnode);shouldInvokeDirs&&invokeDirectiveHook(vnode,null,parentComponent,'unmounted');},parentSuspense);}};var remove=function remove(vnode){var type=vnode.type,el=vnode.el,anchor=vnode.anchor,transition=vnode.transition;if(type===Fragment){removeFragment(el,anchor);return;}if(type===Static){removeStaticNode(vnode);return;}var performRemove=function performRemove(){hostRemove(el);if(transition&&!transition.persisted&&transition.afterLeave){transition.afterLeave();}};if(vnode.shapeFlag&1/* ELEMENT */&&transition&&!transition.persisted){var leave=transition.leave,delayLeave=transition.delayLeave;var performLeave=function performLeave(){return leave(el,performRemove);};if(delayLeave){delayLeave(vnode.el,performRemove,performLeave);}else{performLeave();}}else{performRemove();}};var removeFragment=function removeFragment(cur,end){// For fragments, directly remove all contained DOM nodes.
- // (fragment child nodes cannot have transition)
- var next;while(cur!==end){next=hostNextSibling(cur);hostRemove(cur);cur=next;}hostRemove(end);};var unmountComponent=function unmountComponent(instance,parentSuspense,doRemove){var bum=instance.bum,scope=instance.scope,update=instance.update,subTree=instance.subTree,um=instance.um;// beforeUnmount hook
- if(bum){invokeArrayFns(bum);}// stop effects in component scope
- scope.stop();// update may be null if a component is unmounted before its async
- // setup has resolved.
- if(update){// so that scheduler will no longer invoke it
- update.active=false;unmount(subTree,instance,parentSuspense,doRemove);}// unmounted hook
- if(um){queuePostRenderEffect(um,parentSuspense);}queuePostRenderEffect(function(){instance.isUnmounted=true;},parentSuspense);// A component with async dep inside a pending suspense is unmounted before
- // its async dep resolves. This should remove the dep from the suspense, and
- // cause the suspense to resolve immediately if that was the last dep.
- if(parentSuspense&&parentSuspense.pendingBranch&&!parentSuspense.isUnmounted&&instance.asyncDep&&!instance.asyncResolved&&instance.suspenseId===parentSuspense.pendingId){parentSuspense.deps--;if(parentSuspense.deps===0){parentSuspense.resolve();}}};var unmountChildren=function unmountChildren(children,parentComponent,parentSuspense){var doRemove=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var optimized=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;var start=arguments.length>5&&arguments[5]!==undefined?arguments[5]:0;for(var i=start;i<children.length;i++){unmount(children[i],parentComponent,parentSuspense,doRemove,optimized);}};var getNextHostNode=function getNextHostNode(vnode){if(vnode.shapeFlag&6/* COMPONENT */){return getNextHostNode(vnode.component.subTree);}if(vnode.shapeFlag&128/* SUSPENSE */){return vnode.suspense.next();}return hostNextSibling(vnode.anchor||vnode.el);};var render=function render(vnode,container,isSVG){if(vnode==null){if(container._vnode){unmount(container._vnode,null,null,true);}}else{patch(container._vnode||null,vnode,container,null,null,null,isSVG);}flushPostFlushCbs();container._vnode=vnode;};var internals={p:patch,um:unmount,m:move,r:remove,mt:mountComponent,mc:mountChildren,pc:patchChildren,pbc:patchBlockChildren,n:getNextHostNode,o:options};var hydrate;var hydrateNode;if(createHydrationFns){var _createHydrationFns=createHydrationFns(internals);var _createHydrationFns2=_slicedToArray(_createHydrationFns,2);hydrate=_createHydrationFns2[0];hydrateNode=_createHydrationFns2[1];}return{render:render,hydrate:hydrate,createApp:createAppAPI(render,hydrate)};}function toggleRecurse(_ref15,allowed){var effect=_ref15.effect,update=_ref15.update;effect.allowRecurse=update.allowRecurse=allowed;}/**
- * #1156
- * When a component is HMR-enabled, we need to make sure that all static nodes
- * inside a block also inherit the DOM element from the previous tree so that
- * HMR updates (which are full updates) can retrieve the element for patching.
- *
- * #2080
- * Inside keyed `template` fragment static children, if a fragment is moved,
- * the children will always be moved. Therefore, in order to ensure correct move
- * position, el should be inherited from previous nodes.
- */function traverseStaticChildren(n1,n2){var shallow=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var ch1=n1.children;var ch2=n2.children;if(isArray$5(ch1)&&isArray$5(ch2)){for(var i=0;i<ch1.length;i++){// this is only called in the optimized path so array children are
- // guaranteed to be vnodes
- var c1=ch1[i];var c2=ch2[i];if(c2.shapeFlag&1/* ELEMENT */&&!c2.dynamicChildren){if(c2.patchFlag<=0||c2.patchFlag===32/* HYDRATE_EVENTS */){c2=ch2[i]=cloneIfMounted(ch2[i]);c2.el=c1.el;}if(!shallow)traverseStaticChildren(c1,c2);}}}}// https://en.wikipedia.org/wiki/Longest_increasing_subsequence
- function getSequence(arr){var p=arr.slice();var result=[0];var i,j,u,v,c;var len=arr.length;for(i=0;i<len;i++){var arrI=arr[i];if(arrI!==0){j=result[result.length-1];if(arr[j]<arrI){p[i]=j;result.push(i);continue;}u=0;v=result.length-1;while(u<v){c=u+v>>1;if(arr[result[c]]<arrI){u=c+1;}else{v=c;}}if(arrI<arr[result[u]]){if(u>0){p[i]=result[u-1];}result[u]=i;}}}u=result.length;v=result[u-1];while(u-->0){result[u]=v;v=p[v];}return result;}var isTeleport=function isTeleport(type){return type.__isTeleport;};var isTeleportDisabled=function isTeleportDisabled(props){return props&&(props.disabled||props.disabled==='');};var isTargetSVG=function isTargetSVG(target){return typeof SVGElement!=='undefined'&&target instanceof SVGElement;};var resolveTarget=function resolveTarget(props,select){var targetSelector=props&&props.to;if(isString$1(targetSelector)){if(!select){return null;}else{var target=select(targetSelector);return target;}}else{return targetSelector;}};var TeleportImpl={__isTeleport:true,process:function process(n1,n2,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized,internals){var mountChildren=internals.mc,patchChildren=internals.pc,patchBlockChildren=internals.pbc,_internals$o=internals.o,insert=_internals$o.insert,querySelector=_internals$o.querySelector,createText=_internals$o.createText,createComment=_internals$o.createComment;var disabled=isTeleportDisabled(n2.props);var shapeFlag=n2.shapeFlag,children=n2.children,dynamicChildren=n2.dynamicChildren;if(n1==null){// insert anchors in the main view
- var placeholder=n2.el=createText('');var mainAnchor=n2.anchor=createText('');insert(placeholder,container,anchor);insert(mainAnchor,container,anchor);var target=n2.target=resolveTarget(n2.props,querySelector);var targetAnchor=n2.targetAnchor=createText('');if(target){insert(targetAnchor,target);// #2652 we could be teleporting from a non-SVG tree into an SVG tree
- isSVG=isSVG||isTargetSVG(target);}var mount=function mount(container,anchor){// Teleport *always* has Array children. This is enforced in both the
- // compiler and vnode children normalization.
- if(shapeFlag&16/* ARRAY_CHILDREN */){mountChildren(children,container,anchor,parentComponent,parentSuspense,isSVG,slotScopeIds,optimized);}};if(disabled){mount(container,mainAnchor);}else if(target){mount(target,targetAnchor);}}else{// update content
- n2.el=n1.el;var _mainAnchor=n2.anchor=n1.anchor;var _target=n2.target=n1.target;var _targetAnchor=n2.targetAnchor=n1.targetAnchor;var wasDisabled=isTeleportDisabled(n1.props);var currentContainer=wasDisabled?container:_target;var currentAnchor=wasDisabled?_mainAnchor:_targetAnchor;isSVG=isSVG||isTargetSVG(_target);if(dynamicChildren){// fast path when the teleport happens to be a block root
- patchBlockChildren(n1.dynamicChildren,dynamicChildren,currentContainer,parentComponent,parentSuspense,isSVG,slotScopeIds);// even in block tree mode we need to make sure all root-level nodes
- // in the teleport inherit previous DOM references so that they can
- // be moved in future patches.
- traverseStaticChildren(n1,n2,true);}else if(!optimized){patchChildren(n1,n2,currentContainer,currentAnchor,parentComponent,parentSuspense,isSVG,slotScopeIds,false);}if(disabled){if(!wasDisabled){// enabled -> disabled
- // move into main container
- moveTeleport(n2,container,_mainAnchor,internals,1/* TOGGLE */);}}else{// target changed
- if((n2.props&&n2.props.to)!==(n1.props&&n1.props.to)){var nextTarget=n2.target=resolveTarget(n2.props,querySelector);if(nextTarget){moveTeleport(n2,nextTarget,null,internals,0/* TARGET_CHANGE */);}}else if(wasDisabled){// disabled -> enabled
- // move into teleport target
- moveTeleport(n2,_target,_targetAnchor,internals,1/* TOGGLE */);}}}},remove:function remove(vnode,parentComponent,parentSuspense,optimized,_ref16,doRemove){var unmount=_ref16.um,hostRemove=_ref16.o.remove;var shapeFlag=vnode.shapeFlag,children=vnode.children,anchor=vnode.anchor,targetAnchor=vnode.targetAnchor,target=vnode.target,props=vnode.props;if(target){hostRemove(targetAnchor);}// an unmounted teleport should always remove its children if not disabled
- if(doRemove||!isTeleportDisabled(props)){hostRemove(anchor);if(shapeFlag&16/* ARRAY_CHILDREN */){for(var i=0;i<children.length;i++){var child=children[i];unmount(child,parentComponent,parentSuspense,true,!!child.dynamicChildren);}}}},move:moveTeleport,hydrate:hydrateTeleport};function moveTeleport(vnode,container,parentAnchor,_ref17){var insert=_ref17.o.insert,move=_ref17.m;var moveType=arguments.length>4&&arguments[4]!==undefined?arguments[4]:2;// move target anchor if this is a target change.
- if(moveType===0/* TARGET_CHANGE */){insert(vnode.targetAnchor,container,parentAnchor);}var el=vnode.el,anchor=vnode.anchor,shapeFlag=vnode.shapeFlag,children=vnode.children,props=vnode.props;var isReorder=moveType===2/* REORDER */;// move main view anchor if this is a re-order.
- if(isReorder){insert(el,container,parentAnchor);}// if this is a re-order and teleport is enabled (content is in target)
- // do not move children. So the opposite is: only move children if this
- // is not a reorder, or the teleport is disabled
- if(!isReorder||isTeleportDisabled(props)){// Teleport has either Array children or no children.
- if(shapeFlag&16/* ARRAY_CHILDREN */){for(var i=0;i<children.length;i++){move(children[i],container,parentAnchor,2/* REORDER */);}}}// move main view anchor if this is a re-order.
- if(isReorder){insert(anchor,container,parentAnchor);}}function hydrateTeleport(node,vnode,parentComponent,parentSuspense,slotScopeIds,optimized,_ref18,hydrateChildren){var _ref18$o=_ref18.o,nextSibling=_ref18$o.nextSibling,parentNode=_ref18$o.parentNode,querySelector=_ref18$o.querySelector;var target=vnode.target=resolveTarget(vnode.props,querySelector);if(target){// if multiple teleports rendered to the same target element, we need to
- // pick up from where the last teleport finished instead of the first node
- var targetNode=target._lpa||target.firstChild;if(vnode.shapeFlag&16/* ARRAY_CHILDREN */){if(isTeleportDisabled(vnode.props)){vnode.anchor=hydrateChildren(nextSibling(node),vnode,parentNode(node),parentComponent,parentSuspense,slotScopeIds,optimized);vnode.targetAnchor=targetNode;}else{vnode.anchor=nextSibling(node);vnode.targetAnchor=hydrateChildren(targetNode,vnode,target,parentComponent,parentSuspense,slotScopeIds,optimized);}target._lpa=vnode.targetAnchor&&nextSibling(vnode.targetAnchor);}}return vnode.anchor&&nextSibling(vnode.anchor);}// Force-casted public typing for h and TSX props inference
- var Teleport=TeleportImpl;var COMPONENTS='components';var DIRECTIVES='directives';/**
- * @private
- */function resolveComponent(name,maybeSelfReference){return resolveAsset(COMPONENTS,name,true,maybeSelfReference)||name;}var NULL_DYNAMIC_COMPONENT=Symbol();/**
- * @private
- */function resolveDirective(name){return resolveAsset(DIRECTIVES,name);}// implementation
- function resolveAsset(type,name){var warnMissing=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var maybeSelfReference=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var instance=currentRenderingInstance||currentInstance;if(instance){var Component=instance.type;// explicit self name has highest priority
- if(type===COMPONENTS){var selfName=getComponentName(Component);if(selfName&&(selfName===name||selfName===camelize$1(name)||selfName===capitalize(camelize$1(name)))){return Component;}}var res=// local registration
- // check instance[type] first which is resolved for options API
- resolve(instance[type]||Component[type],name)||// global registration
- resolve(instance.appContext[type],name);if(!res&&maybeSelfReference){// fallback to implicit self-reference
- return Component;}return res;}}function resolve(registry,name){return registry&&(registry[name]||registry[camelize$1(name)]||registry[capitalize(camelize$1(name))]);}var Fragment=exports('F',Symbol(undefined));var Text=Symbol(undefined);var Comment=Symbol(undefined);var Static=Symbol(undefined);// Since v-if and v-for are the two possible ways node structure can dynamically
- // change, once we consider v-if branches and each v-for fragment a block, we
- // can divide a template into nested blocks, and within each block the node
- // structure would be stable. This allows us to skip most children diffing
- // and only worry about the dynamic nodes (indicated by patch flags).
- var blockStack=[];var currentBlock=null;/**
- * Open a block.
- * This must be called before `createBlock`. It cannot be part of `createBlock`
- * because the children of the block are evaluated before `createBlock` itself
- * is called. The generated code typically looks like this:
- *
- * ```js
- * function render() {
- * return (openBlock(),createBlock('div', null, [...]))
- * }
- * ```
- * disableTracking is true when creating a v-for fragment block, since a v-for
- * fragment always diffs its children.
- *
- * @private
- */function openBlock(){var disableTracking=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;blockStack.push(currentBlock=disableTracking?null:[]);}function closeBlock(){blockStack.pop();currentBlock=blockStack[blockStack.length-1]||null;}// Whether we should be tracking dynamic child nodes inside a block.
- // Only tracks when this value is > 0
- // We are not using a simple boolean because this value may need to be
- // incremented/decremented by nested usage of v-once (see below)
- var isBlockTreeEnabled=1;/**
- * Block tracking sometimes needs to be disabled, for example during the
- * creation of a tree that needs to be cached by v-once. The compiler generates
- * code like this:
- *
- * ``` js
- * _cache[1] || (
- * setBlockTracking(-1),
- * _cache[1] = createVNode(...),
- * setBlockTracking(1),
- * _cache[1]
- * )
- * ```
- *
- * @private
- */function setBlockTracking(value){isBlockTreeEnabled+=value;}function setupBlock(vnode){// save current block children on the block vnode
- vnode.dynamicChildren=isBlockTreeEnabled>0?currentBlock||EMPTY_ARR:null;// close block
- closeBlock();// a block is always going to be patched, so track it as a child of its
- // parent block
- if(isBlockTreeEnabled>0&¤tBlock){currentBlock.push(vnode);}return vnode;}/**
- * @private
- */function createElementBlock(type,props,children,patchFlag,dynamicProps,shapeFlag){return setupBlock(createBaseVNode(type,props,children,patchFlag,dynamicProps,shapeFlag,true/* isBlock */));}/**
- * Create a block root vnode. Takes the same exact arguments as `createVNode`.
- * A block root keeps track of dynamic nodes within the block in the
- * `dynamicChildren` array.
- *
- * @private
- */function createBlock(type,props,children,patchFlag,dynamicProps){return setupBlock(createVNode(type,props,children,patchFlag,dynamicProps,true/* isBlock: prevent a block from tracking itself */));}function isVNode(value){return value?value.__v_isVNode===true:false;}function isSameVNodeType(n1,n2){return n1.type===n2.type&&n1.key===n2.key;}var InternalObjectKey="__vInternal";var normalizeKey=function normalizeKey(_ref19){var key=_ref19.key;return key!=null?key:null;};var normalizeRef=function normalizeRef(_ref20){var ref=_ref20.ref,ref_key=_ref20.ref_key,ref_for=_ref20.ref_for;return ref!=null?isString$1(ref)||isRef(ref)||isFunction$1(ref)?{i:currentRenderingInstance,r:ref,k:ref_key,f:!!ref_for}:ref:null;};function createBaseVNode(type){var props=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var children=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var patchFlag=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var dynamicProps=arguments.length>4&&arguments[4]!==undefined?arguments[4]:null;var shapeFlag=arguments.length>5&&arguments[5]!==undefined?arguments[5]:type===Fragment?0:1;var isBlockNode=arguments.length>6&&arguments[6]!==undefined?arguments[6]:false;var needFullChildrenNormalization=arguments.length>7&&arguments[7]!==undefined?arguments[7]:false;var vnode={__v_isVNode:true,__v_skip:true,type:type,props:props,key:props&&normalizeKey(props),ref:props&&normalizeRef(props),scopeId:currentScopeId,slotScopeIds:null,children:children,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:shapeFlag,patchFlag:patchFlag,dynamicProps:dynamicProps,dynamicChildren:null,appContext:null};if(needFullChildrenNormalization){normalizeChildren(vnode,children);// normalize suspense children
- if(shapeFlag&128/* SUSPENSE */){type.normalize(vnode);}}else if(children){// compiled element vnode - if children is passed, only possible types are
- // string or Array.
- vnode.shapeFlag|=isString$1(children)?8/* TEXT_CHILDREN */:16/* ARRAY_CHILDREN */;}// track vnode for block tree
- if(isBlockTreeEnabled>0&&// avoid a block node from tracking itself
- !isBlockNode&&// has current parent block
- currentBlock&&(// presence of a patch flag indicates this node needs patching on updates.
- // component nodes also should always be patched, because even if the
- // component doesn't need to update, it needs to persist the instance on to
- // the next vnode so that it can be properly unmounted later.
- vnode.patchFlag>0||shapeFlag&6/* COMPONENT */)&&// the EVENTS flag is only for hydration and if it is the only flag, the
- // vnode should not be considered dynamic due to handler caching.
- vnode.patchFlag!==32/* HYDRATE_EVENTS */){currentBlock.push(vnode);}return vnode;}var createVNode=exports('a',_createVNode);function _createVNode(type){var props=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var children=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var patchFlag=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var dynamicProps=arguments.length>4&&arguments[4]!==undefined?arguments[4]:null;var isBlockNode=arguments.length>5&&arguments[5]!==undefined?arguments[5]:false;if(!type||type===NULL_DYNAMIC_COMPONENT){type=Comment;}if(isVNode(type)){// createVNode receiving an existing vnode. This happens in cases like
- // <component :is="vnode"/>
- // #2078 make sure to merge refs during the clone instead of overwriting it
- var cloned=cloneVNode(type,props,true/* mergeRef: true */);if(children){normalizeChildren(cloned,children);}return cloned;}// class component normalization.
- if(isClassComponent(type)){type=type.__vccOpts;}// class & style normalization.
- if(props){// for reactive or proxy objects, we need to clone it to enable mutation.
- props=guardReactiveProps(props);var _props=props,klass=_props.class,style=_props.style;if(klass&&!isString$1(klass)){props.class=normalizeClass(klass);}if(isObject$2(style)){// reactive state objects need to be cloned since they are likely to be
- // mutated
- if(isProxy(style)&&!isArray$5(style)){style=extend$2({},style);}props.style=normalizeStyle(style);}}// encode the vnode type information into a bitmap
- var shapeFlag=isString$1(type)?1/* ELEMENT */:isSuspense(type)?128/* SUSPENSE */:isTeleport(type)?64/* TELEPORT */:isObject$2(type)?4/* STATEFUL_COMPONENT */:isFunction$1(type)?2/* FUNCTIONAL_COMPONENT */:0;return createBaseVNode(type,props,children,patchFlag,dynamicProps,shapeFlag,isBlockNode,true);}function guardReactiveProps(props){if(!props)return null;return isProxy(props)||InternalObjectKey in props?extend$2({},props):props;}function cloneVNode(vnode,extraProps){var mergeRef=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;// This is intentionally NOT using spread or extend to avoid the runtime
- // key enumeration cost.
- var props=vnode.props,ref=vnode.ref,patchFlag=vnode.patchFlag,children=vnode.children;var mergedProps=extraProps?mergeProps(props||{},extraProps):props;var cloned={__v_isVNode:true,__v_skip:true,type:vnode.type,props:mergedProps,key:mergedProps&&normalizeKey(mergedProps),ref:extraProps&&extraProps.ref?// #2078 in the case of <component :is="vnode" ref="extra"/>
- // if the vnode itself already has a ref, cloneVNode will need to merge
- // the refs so the single vnode can be set on multiple refs
- mergeRef&&ref?isArray$5(ref)?ref.concat(normalizeRef(extraProps)):[ref,normalizeRef(extraProps)]:normalizeRef(extraProps):ref,scopeId:vnode.scopeId,slotScopeIds:vnode.slotScopeIds,children:children,target:vnode.target,targetAnchor:vnode.targetAnchor,staticCount:vnode.staticCount,shapeFlag:vnode.shapeFlag,// if the vnode is cloned with extra props, we can no longer assume its
- // existing patch flag to be reliable and need to add the FULL_PROPS flag.
- // note: perserve flag for fragments since they use the flag for children
- // fast paths only.
- patchFlag:extraProps&&vnode.type!==Fragment?patchFlag===-1// hoisted node
- ?16/* FULL_PROPS */:patchFlag|16/* FULL_PROPS */:patchFlag,dynamicProps:vnode.dynamicProps,dynamicChildren:vnode.dynamicChildren,appContext:vnode.appContext,dirs:vnode.dirs,transition:vnode.transition,// These should technically only be non-null on mounted VNodes. However,
- // they *should* be copied for kept-alive vnodes. So we just always copy
- // them since them being non-null during a mount doesn't affect the logic as
- // they will simply be overwritten.
- component:vnode.component,suspense:vnode.suspense,ssContent:vnode.ssContent&&cloneVNode(vnode.ssContent),ssFallback:vnode.ssFallback&&cloneVNode(vnode.ssFallback),el:vnode.el,anchor:vnode.anchor};return cloned;}/**
- * @private
- */function createTextVNode(){var text=arguments.length>0&&arguments[0]!==undefined?arguments[0]:' ';var flag=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return createVNode(Text,null,text,flag);}/**
- * @private
- */function createCommentVNode(){var text=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';var asBlock=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return asBlock?(openBlock(),createBlock(Comment,null,text)):createVNode(Comment,null,text);}function normalizeVNode(child){if(child==null||typeof child==='boolean'){// empty placeholder
- return createVNode(Comment);}else if(isArray$5(child)){// fragment
- return createVNode(Fragment,null,// #3666, avoid reference pollution when reusing vnode
- child.slice());}else if(_typeof2(child)==='object'){// already vnode, this should be the most common since compiled templates
- // always produce all-vnode children arrays
- return cloneIfMounted(child);}else{// strings and numbers
- return createVNode(Text,null,String(child));}}// optimized normalization for template-compiled render fns
- function cloneIfMounted(child){return child.el===null||child.memo?child:cloneVNode(child);}function normalizeChildren(vnode,children){var type=0;var shapeFlag=vnode.shapeFlag;if(children==null){children=null;}else if(isArray$5(children)){type=16/* ARRAY_CHILDREN */;}else if(_typeof2(children)==='object'){if(shapeFlag&(1/* ELEMENT */|64/* TELEPORT */)){// Normalize slot to plain children for plain element and Teleport
- var slot=children.default;if(slot){// _c marker is added by withCtx() indicating this is a compiled slot
- slot._c&&(slot._d=false);normalizeChildren(vnode,slot());slot._c&&(slot._d=true);}return;}else{type=32/* SLOTS_CHILDREN */;var slotFlag=children._;if(!slotFlag&&!(InternalObjectKey in children)){children._ctx=currentRenderingInstance;}else if(slotFlag===3/* FORWARDED */&¤tRenderingInstance){// a child component receives forwarded slots from the parent.
- // its slot type is determined by its parent's slot type.
- if(currentRenderingInstance.slots._===1/* STABLE */){children._=1/* STABLE */;}else{children._=2/* DYNAMIC */;vnode.patchFlag|=1024/* DYNAMIC_SLOTS */;}}}}else if(isFunction$1(children)){children={default:children,_ctx:currentRenderingInstance};type=32/* SLOTS_CHILDREN */;}else{children=String(children);// force teleport children to array so it can be moved around
- if(shapeFlag&64/* TELEPORT */){type=16/* ARRAY_CHILDREN */;children=[createTextVNode(children)];}else{type=8/* TEXT_CHILDREN */;}}vnode.children=children;vnode.shapeFlag|=type;}function mergeProps(){var ret={};for(var i=0;i<arguments.length;i++){var toMerge=i<0||arguments.length<=i?undefined:arguments[i];for(var key in toMerge){if(key==='class'){if(ret.class!==toMerge.class){ret.class=normalizeClass([ret.class,toMerge.class]);}}else if(key==='style'){ret.style=normalizeStyle([ret.style,toMerge.style]);}else if(isOn(key)){var existing=ret[key];var incoming=toMerge[key];if(existing!==incoming&&!(isArray$5(existing)&&existing.includes(incoming))){ret[key]=existing?[].concat(existing,incoming):incoming;}}else if(key!==''){ret[key]=toMerge[key];}}}return ret;}function invokeVNodeHook(hook,instance,vnode){var prevVNode=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;callWithAsyncErrorHandling(hook,instance,7/* VNODE_HOOK */,[vnode,prevVNode]);}/**
- * #2437 In Vue 3, functional components do not have a public instance proxy but
- * they exist in the internal parent chain. For code that relies on traversing
- * public $parent chains, skip functional ones and go to the parent instead.
- */var getPublicInstance=function getPublicInstance(i){if(!i)return null;if(isStatefulComponent(i))return getExposeProxy(i)||i.proxy;return getPublicInstance(i.parent);};var publicPropertiesMap=extend$2(Object.create(null),{$:function $(i){return i;},$el:function $el(i){return i.vnode.el;},$data:function $data(i){return i.data;},$props:function $props(i){return i.props;},$attrs:function $attrs(i){return i.attrs;},$slots:function $slots(i){return i.slots;},$refs:function $refs(i){return i.refs;},$parent:function $parent(i){return getPublicInstance(i.parent);},$root:function $root(i){return getPublicInstance(i.root);},$emit:function $emit(i){return i.emit;},$options:function $options(i){return resolveMergedOptions(i);},$forceUpdate:function $forceUpdate(i){return function(){return queueJob(i.update);};},$nextTick:function $nextTick(i){return nextTick.bind(i.proxy);},$watch:function $watch(i){return instanceWatch.bind(i);}});var PublicInstanceProxyHandlers={get:function get(_ref21,key){var instance=_ref21._;var ctx=instance.ctx,setupState=instance.setupState,data=instance.data,props=instance.props,accessCache=instance.accessCache,type=instance.type,appContext=instance.appContext;// data / props / ctx
- // This getter gets called for every property access on the render context
- // during render and is a major hotspot. The most expensive part of this
- // is the multiple hasOwn() calls. It's much faster to do a simple property
- // access on a plain object, so we use an accessCache object (with null
- // prototype) to memoize what access type a key corresponds to.
- var normalizedProps;if(key[0]!=='$'){var n=accessCache[key];if(n!==undefined){switch(n){case 1/* SETUP */:return setupState[key];case 2/* DATA */:return data[key];case 4/* CONTEXT */:return ctx[key];case 3/* PROPS */:return props[key];// default: just fallthrough
- }}else if(setupState!==EMPTY_OBJ&&hasOwn$2(setupState,key)){accessCache[key]=1/* SETUP */;return setupState[key];}else if(data!==EMPTY_OBJ&&hasOwn$2(data,key)){accessCache[key]=2/* DATA */;return data[key];}else if(// only cache other properties when instance has declared (thus stable)
- // props
- (normalizedProps=instance.propsOptions[0])&&hasOwn$2(normalizedProps,key)){accessCache[key]=3/* PROPS */;return props[key];}else if(ctx!==EMPTY_OBJ&&hasOwn$2(ctx,key)){accessCache[key]=4/* CONTEXT */;return ctx[key];}else if(shouldCacheAccess){accessCache[key]=0/* OTHER */;}}var publicGetter=publicPropertiesMap[key];var cssModule,globalProperties;// public $xxx properties
- if(publicGetter){if(key==='$attrs'){track(instance,"get"/* GET */,key);}return publicGetter(instance);}else if(// css module (injected by vue-loader)
- (cssModule=type.__cssModules)&&(cssModule=cssModule[key])){return cssModule;}else if(ctx!==EMPTY_OBJ&&hasOwn$2(ctx,key)){// user may set custom properties to `this` that start with `$`
- accessCache[key]=4/* CONTEXT */;return ctx[key];}else if(// global properties
- globalProperties=appContext.config.globalProperties,hasOwn$2(globalProperties,key)){{return globalProperties[key];}}else;},set:function set(_ref22,key,value){var instance=_ref22._;var data=instance.data,setupState=instance.setupState,ctx=instance.ctx;if(setupState!==EMPTY_OBJ&&hasOwn$2(setupState,key)){setupState[key]=value;}else if(data!==EMPTY_OBJ&&hasOwn$2(data,key)){data[key]=value;}else if(hasOwn$2(instance.props,key)){return false;}if(key[0]==='$'&&key.slice(1)in instance){return false;}else{{ctx[key]=value;}}return true;},has:function has(_ref23,key){var _ref23$_=_ref23._,data=_ref23$_.data,setupState=_ref23$_.setupState,accessCache=_ref23$_.accessCache,ctx=_ref23$_.ctx,appContext=_ref23$_.appContext,propsOptions=_ref23$_.propsOptions;var normalizedProps;return!!accessCache[key]||data!==EMPTY_OBJ&&hasOwn$2(data,key)||setupState!==EMPTY_OBJ&&hasOwn$2(setupState,key)||(normalizedProps=propsOptions[0])&&hasOwn$2(normalizedProps,key)||hasOwn$2(ctx,key)||hasOwn$2(publicPropertiesMap,key)||hasOwn$2(appContext.config.globalProperties,key);}};var emptyAppContext=createAppContext();var uid$1=0;function createComponentInstance(vnode,parent,suspense){var type=vnode.type;// inherit parent app context - or - if root, adopt from root vnode
- var appContext=(parent?parent.appContext:vnode.appContext)||emptyAppContext;var instance={uid:uid$1++,vnode:vnode,type:type,parent:parent,appContext:appContext,root:null,next:null,subTree:null,effect:null,update:null,scope:new EffectScope(true/* detached */),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:parent?parent.provides:Object.create(appContext.provides),accessCache:null,renderCache:[],// local resovled assets
- components:null,directives:null,// resolved props and emits options
- propsOptions:normalizePropsOptions(type,appContext),emitsOptions:normalizeEmitsOptions(type,appContext),// emit
- emit:null,emitted:null,// props default value
- propsDefaults:EMPTY_OBJ,// inheritAttrs
- inheritAttrs:type.inheritAttrs,// state
- ctx:EMPTY_OBJ,data:EMPTY_OBJ,props:EMPTY_OBJ,attrs:EMPTY_OBJ,slots:EMPTY_OBJ,refs:EMPTY_OBJ,setupState:EMPTY_OBJ,setupContext:null,// suspense related
- suspense:suspense,suspenseId:suspense?suspense.pendingId:0,asyncDep:null,asyncResolved:false,// lifecycle hooks
- // not using enums here because it results in computed properties
- isMounted:false,isUnmounted:false,isDeactivated:false,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};{instance.ctx={_:instance};}instance.root=parent?parent.root:instance;instance.emit=emit$1.bind(null,instance);// apply custom element special handling
- if(vnode.ce){vnode.ce(instance);}return instance;}var currentInstance=null;var getCurrentInstance=function getCurrentInstance(){return currentInstance||currentRenderingInstance;};var setCurrentInstance=function setCurrentInstance(instance){currentInstance=instance;instance.scope.on();};var unsetCurrentInstance=function unsetCurrentInstance(){currentInstance&¤tInstance.scope.off();currentInstance=null;};function isStatefulComponent(instance){return instance.vnode.shapeFlag&4/* STATEFUL_COMPONENT */;}var isInSSRComponentSetup=false;function setupComponent(instance){var isSSR=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;isInSSRComponentSetup=isSSR;var _instance$vnode=instance.vnode,props=_instance$vnode.props,children=_instance$vnode.children;var isStateful=isStatefulComponent(instance);initProps(instance,props,isStateful,isSSR);initSlots(instance,children);var setupResult=isStateful?setupStatefulComponent(instance,isSSR):undefined;isInSSRComponentSetup=false;return setupResult;}function setupStatefulComponent(instance,isSSR){var Component=instance.type;// 0. create render proxy property access cache
- instance.accessCache=Object.create(null);// 1. create public instance / render proxy
- // also mark it raw so it's never observed
- instance.proxy=markRaw(new Proxy(instance.ctx,PublicInstanceProxyHandlers));// 2. call setup()
- var setup=Component.setup;if(setup){var setupContext=instance.setupContext=setup.length>1?createSetupContext(instance):null;setCurrentInstance(instance);pauseTracking();var setupResult=callWithErrorHandling(setup,instance,0/* SETUP_FUNCTION */,[instance.props,setupContext]);resetTracking();unsetCurrentInstance();if(isPromise$1(setupResult)){setupResult.then(unsetCurrentInstance,unsetCurrentInstance);if(isSSR){// return the promise so server-renderer can wait on it
- return setupResult.then(function(resolvedResult){handleSetupResult(instance,resolvedResult,isSSR);}).catch(function(e){handleError(e,instance,0/* SETUP_FUNCTION */);});}else{// async setup returned Promise.
- // bail here and wait for re-entry.
- instance.asyncDep=setupResult;}}else{handleSetupResult(instance,setupResult,isSSR);}}else{finishComponentSetup(instance,isSSR);}}function handleSetupResult(instance,setupResult,isSSR){if(isFunction$1(setupResult)){// setup returned an inline render function
- if(instance.type.__ssrInlineRender){// when the function's name is `ssrRender` (compiled by SFC inline mode),
- // set it as ssrRender instead.
- instance.ssrRender=setupResult;}else{instance.render=setupResult;}}else if(isObject$2(setupResult)){instance.setupState=proxyRefs(setupResult);}else;finishComponentSetup(instance,isSSR);}var compile;function finishComponentSetup(instance,isSSR,skipOptions){var Component=instance.type;// template / render function normalization
- // could be already set when returned from setup()
- if(!instance.render){// only do on-the-fly compile if not in SSR - SSR on-the-fly compliation
- // is done by server-renderer
- if(!isSSR&&compile&&!Component.render){var template=Component.template;if(template){var _instance$appContext$=instance.appContext.config,isCustomElement=_instance$appContext$.isCustomElement,compilerOptions=_instance$appContext$.compilerOptions;var delimiters=Component.delimiters,componentCompilerOptions=Component.compilerOptions;var finalCompilerOptions=extend$2(extend$2({isCustomElement:isCustomElement,delimiters:delimiters},compilerOptions),componentCompilerOptions);Component.render=compile(template,finalCompilerOptions);}}instance.render=Component.render||NOOP;}// support for 2.x options
- {setCurrentInstance(instance);pauseTracking();applyOptions(instance);resetTracking();unsetCurrentInstance();}}function createAttrsProxy(instance){return new Proxy(instance.attrs,{get:function get(target,key){track(instance,"get"/* GET */,'$attrs');return target[key];}});}function createSetupContext(instance){var expose=function expose(exposed){instance.exposed=exposed||{};};var attrs;{return{get attrs(){return attrs||(attrs=createAttrsProxy(instance));},slots:instance.slots,emit:instance.emit,expose:expose};}}function getExposeProxy(instance){if(instance.exposed){return instance.exposeProxy||(instance.exposeProxy=new Proxy(proxyRefs(markRaw(instance.exposed)),{get:function get(target,key){if(key in target){return target[key];}else if(key in publicPropertiesMap){return publicPropertiesMap[key](instance);}}}));}}function getComponentName(Component){return isFunction$1(Component)?Component.displayName||Component.name:Component.name;}function isClassComponent(value){return isFunction$1(value)&&'__vccOpts'in value;}function callWithErrorHandling(fn,instance,type,args){var res;try{res=args?fn.apply(void 0,_toConsumableArray2(args)):fn();}catch(err){handleError(err,instance,type);}return res;}function callWithAsyncErrorHandling(fn,instance,type,args){if(isFunction$1(fn)){var res=callWithErrorHandling(fn,instance,type,args);if(res&&isPromise$1(res)){res.catch(function(err){handleError(err,instance,type);});}return res;}var values=[];for(var i=0;i<fn.length;i++){values.push(callWithAsyncErrorHandling(fn[i],instance,type,args));}return values;}function handleError(err,instance,type){var throwInDev=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var contextVNode=instance?instance.vnode:null;if(instance){var cur=instance.parent;// the exposed instance is the render proxy to keep it consistent with 2.x
- var exposedInstance=instance.proxy;// in production the hook receives only the error code
- var errorInfo=type;while(cur){var errorCapturedHooks=cur.ec;if(errorCapturedHooks){for(var i=0;i<errorCapturedHooks.length;i++){if(errorCapturedHooks[i](err,exposedInstance,errorInfo)===false){return;}}}cur=cur.parent;}// app-level handling
- var appErrorHandler=instance.appContext.config.errorHandler;if(appErrorHandler){callWithErrorHandling(appErrorHandler,null,10/* APP_ERROR_HANDLER */,[err,exposedInstance,errorInfo]);return;}}logError(err,type,contextVNode,throwInDev);}function logError(err,type,contextVNode){var throwInDev=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;{// recover in prod to reduce the impact on end-user
- console.error(err);}}var isFlushing=false;var isFlushPending=false;var queue$1=[];var flushIndex=0;var pendingPreFlushCbs=[];var activePreFlushCbs=null;var preFlushIndex=0;var pendingPostFlushCbs=[];var activePostFlushCbs=null;var postFlushIndex=0;var resolvedPromise=Promise.resolve();var currentFlushPromise=null;var currentPreFlushParentJob=null;function nextTick(fn){var p=currentFlushPromise||resolvedPromise;return fn?p.then(this?fn.bind(this):fn):p;}// #2768
- // Use binary-search to find a suitable position in the queue,
- // so that the queue maintains the increasing order of job's id,
- // which can prevent the job from being skipped and also can avoid repeated patching.
- function findInsertionIndex(id){// the start index should be `flushIndex + 1`
- var start=flushIndex+1;var end=queue$1.length;while(start<end){var middle=start+end>>>1;var middleJobId=getId(queue$1[middle]);middleJobId<id?start=middle+1:end=middle;}return start;}function queueJob(job){// the dedupe search uses the startIndex argument of Array.includes()
- // by default the search index includes the current job that is being run
- // so it cannot recursively trigger itself again.
- // if the job is a watch() callback, the search will start with a +1 index to
- // allow it recursively trigger itself - it is the user's responsibility to
- // ensure it doesn't end up in an infinite loop.
- if((!queue$1.length||!queue$1.includes(job,isFlushing&&job.allowRecurse?flushIndex+1:flushIndex))&&job!==currentPreFlushParentJob){if(job.id==null){queue$1.push(job);}else{queue$1.splice(findInsertionIndex(job.id),0,job);}queueFlush();}}function queueFlush(){if(!isFlushing&&!isFlushPending){isFlushPending=true;currentFlushPromise=resolvedPromise.then(flushJobs);}}function invalidateJob(job){var i=queue$1.indexOf(job);if(i>flushIndex){queue$1.splice(i,1);}}function queueCb(cb,activeQueue,pendingQueue,index){if(!isArray$5(cb)){if(!activeQueue||!activeQueue.includes(cb,cb.allowRecurse?index+1:index)){pendingQueue.push(cb);}}else{// if cb is an array, it is a component lifecycle hook which can only be
- // triggered by a job, which is already deduped in the main queue, so
- // we can skip duplicate check here to improve perf
- pendingQueue.push.apply(pendingQueue,_toConsumableArray2(cb));}queueFlush();}function queuePreFlushCb(cb){queueCb(cb,activePreFlushCbs,pendingPreFlushCbs,preFlushIndex);}function queuePostFlushCb(cb){queueCb(cb,activePostFlushCbs,pendingPostFlushCbs,postFlushIndex);}function flushPreFlushCbs(seen){var parentJob=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(pendingPreFlushCbs.length){currentPreFlushParentJob=parentJob;activePreFlushCbs=_toConsumableArray2(new Set(pendingPreFlushCbs));pendingPreFlushCbs.length=0;for(preFlushIndex=0;preFlushIndex<activePreFlushCbs.length;preFlushIndex++){activePreFlushCbs[preFlushIndex]();}activePreFlushCbs=null;preFlushIndex=0;currentPreFlushParentJob=null;// recursively flush until it drains
- flushPreFlushCbs(seen,parentJob);}}function flushPostFlushCbs(seen){if(pendingPostFlushCbs.length){var deduped=_toConsumableArray2(new Set(pendingPostFlushCbs));pendingPostFlushCbs.length=0;// #1947 already has active queue, nested flushPostFlushCbs call
- if(activePostFlushCbs){var _activePostFlushCbs;(_activePostFlushCbs=activePostFlushCbs).push.apply(_activePostFlushCbs,_toConsumableArray2(deduped));return;}activePostFlushCbs=deduped;activePostFlushCbs.sort(function(a,b){return getId(a)-getId(b);});for(postFlushIndex=0;postFlushIndex<activePostFlushCbs.length;postFlushIndex++){activePostFlushCbs[postFlushIndex]();}activePostFlushCbs=null;postFlushIndex=0;}}var getId=function getId(job){return job.id==null?Infinity:job.id;};function flushJobs(seen){isFlushPending=false;isFlushing=true;flushPreFlushCbs(seen);// Sort queue before flush.
- // This ensures that:
- // 1. Components are updated from parent to child. (because parent is always
- // created before the child so its render effect will have smaller
- // priority number)
- // 2. If a component is unmounted during a parent component's update,
- // its update can be skipped.
- queue$1.sort(function(a,b){return getId(a)-getId(b);});// conditional usage of checkRecursiveUpdate must be determined out of
- // try ... catch block since Rollup by default de-optimizes treeshaking
- // inside try-catch. This can leave all warning code unshaked. Although
- // they would get eventually shaken by a minifier like terser, some minifiers
- // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)
- var check=NOOP;try{for(flushIndex=0;flushIndex<queue$1.length;flushIndex++){var job=queue$1[flushIndex];if(job&&job.active!==false){if("production"!=='production'&&check(job));// console.log(`running:`, job.id)
- callWithErrorHandling(job,null,14/* SCHEDULER */);}}}finally{flushIndex=0;queue$1.length=0;flushPostFlushCbs();isFlushing=false;currentFlushPromise=null;// some postFlushCb queued jobs!
- // keep flushing until it drains.
- if(queue$1.length||pendingPreFlushCbs.length||pendingPostFlushCbs.length){flushJobs(seen);}}}// initial value for watchers to trigger on undefined initial values
- var INITIAL_WATCHER_VALUE={};// implementation
- function watch(source,cb,options){return doWatch(source,cb,options);}function doWatch(source,cb){var _ref24=arguments.length>2&&arguments[2]!==undefined?arguments[2]:EMPTY_OBJ,immediate=_ref24.immediate,deep=_ref24.deep,flush=_ref24.flush,onTrack=_ref24.onTrack,onTrigger=_ref24.onTrigger;var instance=currentInstance;var getter;var forceTrigger=false;var isMultiSource=false;if(isRef(source)){getter=function getter(){return source.value;};forceTrigger=!!source._shallow;}else if(isReactive(source)){getter=function getter(){return source;};deep=true;}else if(isArray$5(source)){isMultiSource=true;forceTrigger=source.some(isReactive);getter=function getter(){return source.map(function(s){if(isRef(s)){return s.value;}else if(isReactive(s)){return traverse(s);}else if(isFunction$1(s)){return callWithErrorHandling(s,instance,2/* WATCH_GETTER */);}else;});};}else if(isFunction$1(source)){if(cb){// getter with cb
- getter=function getter(){return callWithErrorHandling(source,instance,2/* WATCH_GETTER */);};}else{// no cb -> simple effect
- getter=function getter(){if(instance&&instance.isUnmounted){return;}if(cleanup){cleanup();}return callWithAsyncErrorHandling(source,instance,3/* WATCH_CALLBACK */,[onInvalidate]);};}}else{getter=NOOP;}if(cb&&deep){var baseGetter=getter;getter=function getter(){return traverse(baseGetter());};}var cleanup;var onInvalidate=function onInvalidate(fn){cleanup=effect.onStop=function(){callWithErrorHandling(fn,instance,4/* WATCH_CLEANUP */);};};// in SSR there is no need to setup an actual effect, and it should be noop
- // unless it's eager
- if(isInSSRComponentSetup){// we will also not call the invalidate callback (+ runner is not set up)
- onInvalidate=NOOP;if(!cb){getter();}else if(immediate){callWithAsyncErrorHandling(cb,instance,3/* WATCH_CALLBACK */,[getter(),isMultiSource?[]:undefined,onInvalidate]);}return NOOP;}var oldValue=isMultiSource?[]:INITIAL_WATCHER_VALUE;var job=function job(){if(!effect.active){return;}if(cb){// watch(source, cb)
- var newValue=effect.run();if(deep||forceTrigger||(isMultiSource?newValue.some(function(v,i){return hasChanged(v,oldValue[i]);}):hasChanged(newValue,oldValue))||false){// cleanup before running cb again
- if(cleanup){cleanup();}callWithAsyncErrorHandling(cb,instance,3/* WATCH_CALLBACK */,[newValue,// pass undefined as the old value when it's changed for the first time
- oldValue===INITIAL_WATCHER_VALUE?undefined:oldValue,onInvalidate]);oldValue=newValue;}}else{// watchEffect
- effect.run();}};// important: mark the job as a watcher callback so that scheduler knows
- // it is allowed to self-trigger (#1727)
- job.allowRecurse=!!cb;var scheduler;if(flush==='sync'){scheduler=job;// the scheduler function gets called directly
- }else if(flush==='post'){scheduler=function scheduler(){return queuePostRenderEffect(job,instance&&instance.suspense);};}else{// default: 'pre'
- scheduler=function scheduler(){if(!instance||instance.isMounted){queuePreFlushCb(job);}else{// with 'pre' option, the first call must happen before
- // the component is mounted so it is called synchronously.
- job();}};}var effect=new ReactiveEffect(getter,scheduler);// initial run
- if(cb){if(immediate){job();}else{oldValue=effect.run();}}else if(flush==='post'){queuePostRenderEffect(effect.run.bind(effect),instance&&instance.suspense);}else{effect.run();}return function(){effect.stop();if(instance&&instance.scope){remove(instance.scope.effects,effect);}};}// this.$watch
- function instanceWatch(source,value,options){var publicThis=this.proxy;var getter=isString$1(source)?source.includes('.')?createPathGetter(publicThis,source):function(){return publicThis[source];}:source.bind(publicThis,publicThis);var cb;if(isFunction$1(value)){cb=value;}else{cb=value.handler;options=value;}var cur=currentInstance;setCurrentInstance(this);var res=doWatch(getter,cb.bind(publicThis),options);if(cur){setCurrentInstance(cur);}else{unsetCurrentInstance();}return res;}function createPathGetter(ctx,path){var segments=path.split('.');return function(){var cur=ctx;for(var i=0;i<segments.length&&cur;i++){cur=cur[segments[i]];}return cur;};}function traverse(value,seen){if(!isObject$2(value)||value["__v_skip"/* SKIP */]){return value;}seen=seen||new Set();if(seen.has(value)){return value;}seen.add(value);if(isRef(value)){traverse(value.value,seen);}else if(isArray$5(value)){for(var i=0;i<value.length;i++){traverse(value[i],seen);}}else if(isSet$1(value)||isMap$1(value)){value.forEach(function(v){traverse(v,seen);});}else if(isPlainObject$2(value)){for(var key in value){traverse(value[key],seen);}}return value;}// Actual implementation
- function h(type,propsOrChildren,children){var l=arguments.length;if(l===2){if(isObject$2(propsOrChildren)&&!isArray$5(propsOrChildren)){// single vnode without props
- if(isVNode(propsOrChildren)){return createVNode(type,null,[propsOrChildren]);}// props without children
- return createVNode(type,propsOrChildren);}else{// omit props
- return createVNode(type,null,propsOrChildren);}}else{if(l>3){children=Array.prototype.slice.call(arguments,2);}else if(l===3&&isVNode(children)){children=[children];}return createVNode(type,propsOrChildren,children);}}// Core API ------------------------------------------------------------------
- var version="3.2.26";var svgNS='http://www.w3.org/2000/svg';var doc=typeof document!=='undefined'?document:null;var staticTemplateCache=new Map();var nodeOps={insert:function insert(child,parent,anchor){parent.insertBefore(child,anchor||null);},remove:function remove(child){var parent=child.parentNode;if(parent){parent.removeChild(child);}},createElement:function createElement(tag,isSVG,is,props){var el=isSVG?doc.createElementNS(svgNS,tag):doc.createElement(tag,is?{is:is}:undefined);if(tag==='select'&&props&&props.multiple!=null){el.setAttribute('multiple',props.multiple);}return el;},createText:function createText(text){return doc.createTextNode(text);},createComment:function createComment(text){return doc.createComment(text);},setText:function setText(node,text){node.nodeValue=text;},setElementText:function setElementText(el,text){el.textContent=text;},parentNode:function parentNode(node){return node.parentNode;},nextSibling:function nextSibling(node){return node.nextSibling;},querySelector:function querySelector(selector){return doc.querySelector(selector);},setScopeId:function setScopeId(el,id){el.setAttribute(id,'');},cloneNode:function cloneNode(el){var cloned=el.cloneNode(true);// #3072
- // - in `patchDOMProp`, we store the actual value in the `el._value` property.
- // - normally, elements using `:value` bindings will not be hoisted, but if
- // the bound value is a constant, e.g. `:value="true"` - they do get
- // hoisted.
- // - in production, hoisted nodes are cloned when subsequent inserts, but
- // cloneNode() does not copy the custom property we attached.
- // - This may need to account for other custom DOM properties we attach to
- // elements in addition to `_value` in the future.
- if("_value"in el){cloned._value=el._value;}return cloned;},// __UNSAFE__
- // Reason: innerHTML.
- // Static content here can only come from compiled templates.
- // As long as the user only uses trusted templates, this is safe.
- insertStaticContent:function insertStaticContent(content,parent,anchor,isSVG){// <parent> before | first ... last | anchor </parent>
- var before=anchor?anchor.previousSibling:parent.lastChild;var template=staticTemplateCache.get(content);if(!template){var _t=doc.createElement('template');_t.innerHTML=isSVG?"<svg>".concat(content,"</svg>"):content;template=_t.content;if(isSVG){// remove outer svg wrapper
- var wrapper=template.firstChild;while(wrapper.firstChild){template.appendChild(wrapper.firstChild);}template.removeChild(wrapper);}staticTemplateCache.set(content,template);}parent.insertBefore(template.cloneNode(true),anchor);return[// first
- before?before.nextSibling:parent.firstChild,// last
- anchor?anchor.previousSibling:parent.lastChild];}};// compiler should normalize class + :class bindings on the same element
- // into a single binding ['staticClass', dynamic]
- function patchClass(el,value,isSVG){// directly setting className should be faster than setAttribute in theory
- // if this is an element during a transition, take the temporary transition
- // classes into account.
- var transitionClasses=el._vtc;if(transitionClasses){value=(value?[value].concat(_toConsumableArray2(transitionClasses)):_toConsumableArray2(transitionClasses)).join(' ');}if(value==null){el.removeAttribute('class');}else if(isSVG){el.setAttribute('class',value);}else{el.className=value;}}function patchStyle(el,prev,next){var style=el.style;var isCssString=isString$1(next);if(next&&!isCssString){for(var key in next){setStyle(style,key,next[key]);}if(prev&&!isString$1(prev)){for(var _key13 in prev){if(next[_key13]==null){setStyle(style,_key13,'');}}}}else{var currentDisplay=style.display;if(isCssString){if(prev!==next){style.cssText=next;}}else if(prev){el.removeAttribute('style');}// indicates that the `display` of the element is controlled by `v-show`,
- // so we always keep the current `display` value regardless of the `style`
- // value, thus handing over control to `v-show`.
- if('_vod'in el){style.display=currentDisplay;}}}var importantRE=/\s*!important$/;function setStyle(style,name,val){if(isArray$5(val)){val.forEach(function(v){return setStyle(style,name,v);});}else{if(name.startsWith('--')){// custom property definition
- style.setProperty(name,val);}else{var prefixed=autoPrefix(style,name);if(importantRE.test(val)){// !important
- style.setProperty(hyphenate(prefixed),val.replace(importantRE,''),'important');}else{style[prefixed]=val;}}}}var prefixes=['Webkit','Moz','ms'];var prefixCache={};function autoPrefix(style,rawName){var cached=prefixCache[rawName];if(cached){return cached;}var name=camelize$1(rawName);if(name!=='filter'&&name in style){return prefixCache[rawName]=name;}name=capitalize(name);for(var i=0;i<prefixes.length;i++){var prefixed=prefixes[i]+name;if(prefixed in style){return prefixCache[rawName]=prefixed;}}return rawName;}var xlinkNS='http://www.w3.org/1999/xlink';function patchAttr(el,key,value,isSVG,instance){if(isSVG&&key.startsWith('xlink:')){if(value==null){el.removeAttributeNS(xlinkNS,key.slice(6,key.length));}else{el.setAttributeNS(xlinkNS,key,value);}}else{// note we are only checking boolean attributes that don't have a
- // corresponding dom prop of the same name here.
- var _isBoolean=isSpecialBooleanAttr(key);if(value==null||_isBoolean&&!includeBooleanAttr(value)){el.removeAttribute(key);}else{el.setAttribute(key,_isBoolean?'':value);}}}// __UNSAFE__
- // functions. The user is responsible for using them with only trusted content.
- function patchDOMProp(el,key,value,// the following args are passed only due to potential innerHTML/textContent
- // overriding existing VNodes, in which case the old tree must be properly
- // unmounted.
- prevChildren,parentComponent,parentSuspense,unmountChildren){if(key==='innerHTML'||key==='textContent'){if(prevChildren){unmountChildren(prevChildren,parentComponent,parentSuspense);}el[key]=value==null?'':value;return;}if(key==='value'&&el.tagName!=='PROGRESS'&&// custom elements may use _value internally
- !el.tagName.includes('-')){// store value as _value as well since
- // non-string values will be stringified.
- el._value=value;var newValue=value==null?'':value;if(el.value!==newValue||// #4956: always set for OPTION elements because its value falls back to
- // textContent if no value attribute is present. And setting .value for
- // OPTION has no side effect
- el.tagName==='OPTION'){el.value=newValue;}if(value==null){el.removeAttribute(key);}return;}if(value===''||value==null){var type=_typeof2(el[key]);if(type==='boolean'){// e.g. <select multiple> compiles to { multiple: '' }
- el[key]=includeBooleanAttr(value);return;}else if(value==null&&type==='string'){// e.g. <div :id="null">
- el[key]='';el.removeAttribute(key);return;}else if(type==='number'){// e.g. <img :width="null">
- // the value of some IDL attr must be greater than 0, e.g. input.size = 0 -> error
- try{el[key]=0;}catch(_a){}el.removeAttribute(key);return;}}// some properties perform value validation and throw
- try{el[key]=value;}catch(e){}}// Async edge case fix requires storing an event listener's attach timestamp.
- var _getNow=Date.now;var skipTimestampCheck=false;if(typeof window!=='undefined'){// Determine what event timestamp the browser is using. Annoyingly, the
- // timestamp can either be hi-res (relative to page load) or low-res
- // (relative to UNIX epoch), so in order to compare time we have to use the
- // same timestamp type when saving the flush timestamp.
- if(_getNow()>document.createEvent('Event').timeStamp){// if the low-res timestamp which is bigger than the event timestamp
- // (which is evaluated AFTER) it means the event is using a hi-res timestamp,
- // and we need to use the hi-res version for event listeners as well.
- _getNow=function _getNow(){return performance.now();};}// #3485: Firefox <= 53 has incorrect Event.timeStamp implementation
- // and does not fire microtasks in between event propagation, so safe to exclude.
- var ffMatch=navigator.userAgent.match(/firefox\/(\d+)/i);skipTimestampCheck=!!(ffMatch&&Number(ffMatch[1])<=53);}// To avoid the overhead of repeatedly calling performance.now(), we cache
- // and use the same timestamp for all event listeners attached in the same tick.
- var cachedNow=0;var p=Promise.resolve();var reset=function reset(){cachedNow=0;};var getNow=function getNow(){return cachedNow||(p.then(reset),cachedNow=_getNow());};function addEventListener(el,event,handler,options){el.addEventListener(event,handler,options);}function removeEventListener(el,event,handler,options){el.removeEventListener(event,handler,options);}function patchEvent(el,rawName,prevValue,nextValue){var instance=arguments.length>4&&arguments[4]!==undefined?arguments[4]:null;// vei = vue event invokers
- var invokers=el._vei||(el._vei={});var existingInvoker=invokers[rawName];if(nextValue&&existingInvoker){// patch
- existingInvoker.value=nextValue;}else{var _parseName=parseName(rawName),_parseName2=_slicedToArray(_parseName,2),_name3=_parseName2[0],options=_parseName2[1];if(nextValue){// add
- var invoker=invokers[rawName]=createInvoker(nextValue,instance);addEventListener(el,_name3,invoker,options);}else if(existingInvoker){// remove
- removeEventListener(el,_name3,existingInvoker,options);invokers[rawName]=undefined;}}}var optionsModifierRE=/(?:Once|Passive|Capture)$/;function parseName(name){var options;if(optionsModifierRE.test(name)){options={};var m;while(m=name.match(optionsModifierRE)){name=name.slice(0,name.length-m[0].length);options[m[0].toLowerCase()]=true;}}return[hyphenate(name.slice(2)),options];}function createInvoker(initialValue,instance){var invoker=function invoker(e){// async edge case #6566: inner click event triggers patch, event handler
- // attached to outer element during patch, and triggered again. This
- // happens because browsers fire microtask ticks between event propagation.
- // the solution is simple: we save the timestamp when a handler is attached,
- // and the handler would only fire if the event passed to it was fired
- // AFTER it was attached.
- var timeStamp=e.timeStamp||_getNow();if(skipTimestampCheck||timeStamp>=invoker.attached-1){callWithAsyncErrorHandling(patchStopImmediatePropagation(e,invoker.value),instance,5/* NATIVE_EVENT_HANDLER */,[e]);}};invoker.value=initialValue;invoker.attached=getNow();return invoker;}function patchStopImmediatePropagation(e,value){if(isArray$5(value)){var originalStop=e.stopImmediatePropagation;e.stopImmediatePropagation=function(){originalStop.call(e);e._stopped=true;};return value.map(function(fn){return function(e){return!e._stopped&&fn(e);};});}else{return value;}}var nativeOnRE=/^on[a-z]/;var patchProp=function patchProp(el,key,prevValue,nextValue){var isSVG=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;var prevChildren=arguments.length>5?arguments[5]:undefined;var parentComponent=arguments.length>6?arguments[6]:undefined;var parentSuspense=arguments.length>7?arguments[7]:undefined;var unmountChildren=arguments.length>8?arguments[8]:undefined;if(key==='class'){patchClass(el,nextValue,isSVG);}else if(key==='style'){patchStyle(el,prevValue,nextValue);}else if(isOn(key)){// ignore v-model listeners
- if(!isModelListener(key)){patchEvent(el,key,prevValue,nextValue,parentComponent);}}else if(key[0]==='.'?(key=key.slice(1),true):key[0]==='^'?(key=key.slice(1),false):shouldSetAsProp(el,key,nextValue,isSVG)){patchDOMProp(el,key,nextValue,prevChildren,parentComponent,parentSuspense,unmountChildren);}else{// special case for <input v-model type="checkbox"> with
- // :true-value & :false-value
- // store value as dom properties since non-string values will be
- // stringified.
- if(key==='true-value'){el._trueValue=nextValue;}else if(key==='false-value'){el._falseValue=nextValue;}patchAttr(el,key,nextValue,isSVG);}};function shouldSetAsProp(el,key,value,isSVG){if(isSVG){// most keys must be set as attribute on svg elements to work
- // ...except innerHTML & textContent
- if(key==='innerHTML'||key==='textContent'){return true;}// or native onclick with function values
- if(key in el&&nativeOnRE.test(key)&&isFunction$1(value)){return true;}return false;}// spellcheck and draggable are numerated attrs, however their
- // corresponding DOM properties are actually booleans - this leads to
- // setting it with a string "false" value leading it to be coerced to
- // `true`, so we need to always treat them as attributes.
- // Note that `contentEditable` doesn't have this problem: its DOM
- // property is also enumerated string values.
- if(key==='spellcheck'||key==='draggable'){return false;}// #1787, #2840 form property on form elements is readonly and must be set as
- // attribute.
- if(key==='form'){return false;}// #1526 <input list> must be set as attribute
- if(key==='list'&&el.tagName==='INPUT'){return false;}// #2766 <textarea type> must be set as attribute
- if(key==='type'&&el.tagName==='TEXTAREA'){return false;}// native onclick with string value, must be set as attribute
- if(nativeOnRE.test(key)&&isString$1(value)){return false;}return key in el;}var TRANSITION='transition';var ANIMATION='animation';// DOM Transition is a higher-order-component based on the platform-agnostic
- // base Transition component, with DOM-specific logic.
- var Transition=function Transition(props,_ref25){var slots=_ref25.slots;return h(BaseTransition,resolveTransitionProps(props),slots);};Transition.displayName='Transition';var DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:true},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Transition.props=/*#__PURE__*/extend$2({},BaseTransition.props,DOMTransitionPropsValidators);/**
- * #3227 Incoming hooks may be merged into arrays when wrapping Transition
- * with custom HOCs.
- */var callHook=function callHook(hook){var args=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];if(isArray$5(hook)){hook.forEach(function(h){return h.apply(void 0,_toConsumableArray2(args));});}else if(hook){hook.apply(void 0,_toConsumableArray2(args));}};/**
- * Check if a hook expects a callback (2nd arg), which means the user
- * intends to explicitly control the end of the transition.
- */var hasExplicitCallback=function hasExplicitCallback(hook){return hook?isArray$5(hook)?hook.some(function(h){return h.length>1;}):hook.length>1:false;};function resolveTransitionProps(rawProps){var baseProps={};for(var key in rawProps){if(!(key in DOMTransitionPropsValidators)){baseProps[key]=rawProps[key];}}if(rawProps.css===false){return baseProps;}var _rawProps$name=rawProps.name,name=_rawProps$name===void 0?'v':_rawProps$name,type=rawProps.type,duration=rawProps.duration,_rawProps$enterFromCl=rawProps.enterFromClass,enterFromClass=_rawProps$enterFromCl===void 0?"".concat(name,"-enter-from"):_rawProps$enterFromCl,_rawProps$enterActive=rawProps.enterActiveClass,enterActiveClass=_rawProps$enterActive===void 0?"".concat(name,"-enter-active"):_rawProps$enterActive,_rawProps$enterToClas=rawProps.enterToClass,enterToClass=_rawProps$enterToClas===void 0?"".concat(name,"-enter-to"):_rawProps$enterToClas,_rawProps$appearFromC=rawProps.appearFromClass,appearFromClass=_rawProps$appearFromC===void 0?enterFromClass:_rawProps$appearFromC,_rawProps$appearActiv=rawProps.appearActiveClass,appearActiveClass=_rawProps$appearActiv===void 0?enterActiveClass:_rawProps$appearActiv,_rawProps$appearToCla=rawProps.appearToClass,appearToClass=_rawProps$appearToCla===void 0?enterToClass:_rawProps$appearToCla,_rawProps$leaveFromCl=rawProps.leaveFromClass,leaveFromClass=_rawProps$leaveFromCl===void 0?"".concat(name,"-leave-from"):_rawProps$leaveFromCl,_rawProps$leaveActive=rawProps.leaveActiveClass,leaveActiveClass=_rawProps$leaveActive===void 0?"".concat(name,"-leave-active"):_rawProps$leaveActive,_rawProps$leaveToClas=rawProps.leaveToClass,leaveToClass=_rawProps$leaveToClas===void 0?"".concat(name,"-leave-to"):_rawProps$leaveToClas;var durations=normalizeDuration(duration);var enterDuration=durations&&durations[0];var leaveDuration=durations&&durations[1];var _onBeforeEnter=baseProps.onBeforeEnter,onEnter=baseProps.onEnter,_onEnterCancelled=baseProps.onEnterCancelled,_onLeave=baseProps.onLeave,_onLeaveCancelled=baseProps.onLeaveCancelled,_baseProps$onBeforeAp=baseProps.onBeforeAppear,_onBeforeAppear=_baseProps$onBeforeAp===void 0?_onBeforeEnter:_baseProps$onBeforeAp,_baseProps$onAppear=baseProps.onAppear,onAppear=_baseProps$onAppear===void 0?onEnter:_baseProps$onAppear,_baseProps$onAppearCa=baseProps.onAppearCancelled,_onAppearCancelled=_baseProps$onAppearCa===void 0?_onEnterCancelled:_baseProps$onAppearCa;var finishEnter=function finishEnter(el,isAppear,done){removeTransitionClass(el,isAppear?appearToClass:enterToClass);removeTransitionClass(el,isAppear?appearActiveClass:enterActiveClass);done&&done();};var finishLeave=function finishLeave(el,done){removeTransitionClass(el,leaveToClass);removeTransitionClass(el,leaveActiveClass);done&&done();};var makeEnterHook=function makeEnterHook(isAppear){return function(el,done){var hook=isAppear?onAppear:onEnter;var resolve=function resolve(){return finishEnter(el,isAppear,done);};callHook(hook,[el,resolve]);nextFrame(function(){removeTransitionClass(el,isAppear?appearFromClass:enterFromClass);addTransitionClass(el,isAppear?appearToClass:enterToClass);if(!hasExplicitCallback(hook)){whenTransitionEnds(el,type,enterDuration,resolve);}});};};return extend$2(baseProps,{onBeforeEnter:function onBeforeEnter(el){callHook(_onBeforeEnter,[el]);addTransitionClass(el,enterFromClass);addTransitionClass(el,enterActiveClass);},onBeforeAppear:function onBeforeAppear(el){callHook(_onBeforeAppear,[el]);addTransitionClass(el,appearFromClass);addTransitionClass(el,appearActiveClass);},onEnter:makeEnterHook(false),onAppear:makeEnterHook(true),onLeave:function onLeave(el,done){var resolve=function resolve(){return finishLeave(el,done);};addTransitionClass(el,leaveFromClass);// force reflow so *-leave-from classes immediately take effect (#2593)
- forceReflow();addTransitionClass(el,leaveActiveClass);nextFrame(function(){removeTransitionClass(el,leaveFromClass);addTransitionClass(el,leaveToClass);if(!hasExplicitCallback(_onLeave)){whenTransitionEnds(el,type,leaveDuration,resolve);}});callHook(_onLeave,[el,resolve]);},onEnterCancelled:function onEnterCancelled(el){finishEnter(el,false);callHook(_onEnterCancelled,[el]);},onAppearCancelled:function onAppearCancelled(el){finishEnter(el,true);callHook(_onAppearCancelled,[el]);},onLeaveCancelled:function onLeaveCancelled(el){finishLeave(el);callHook(_onLeaveCancelled,[el]);}});}function normalizeDuration(duration){if(duration==null){return null;}else if(isObject$2(duration)){return[NumberOf(duration.enter),NumberOf(duration.leave)];}else{var n=NumberOf(duration);return[n,n];}}function NumberOf(val){var res=toNumber(val);return res;}function addTransitionClass(el,cls){cls.split(/\s+/).forEach(function(c){return c&&el.classList.add(c);});(el._vtc||(el._vtc=new Set())).add(cls);}function removeTransitionClass(el,cls){cls.split(/\s+/).forEach(function(c){return c&&el.classList.remove(c);});var _vtc=el._vtc;if(_vtc){_vtc.delete(cls);if(!_vtc.size){el._vtc=undefined;}}}function nextFrame(cb){requestAnimationFrame(function(){requestAnimationFrame(cb);});}var endId=0;function whenTransitionEnds(el,expectedType,explicitTimeout,resolve){var id=el._endId=++endId;var resolveIfNotStale=function resolveIfNotStale(){if(id===el._endId){resolve();}};if(explicitTimeout){return setTimeout(resolveIfNotStale,explicitTimeout);}var _getTransitionInfo=getTransitionInfo(el,expectedType),type=_getTransitionInfo.type,timeout=_getTransitionInfo.timeout,propCount=_getTransitionInfo.propCount;if(!type){return resolve();}var endEvent=type+'end';var ended=0;var end=function end(){el.removeEventListener(endEvent,onEnd);resolveIfNotStale();};var onEnd=function onEnd(e){if(e.target===el&&++ended>=propCount){end();}};setTimeout(function(){if(ended<propCount){end();}},timeout+1);el.addEventListener(endEvent,onEnd);}function getTransitionInfo(el,expectedType){var styles=window.getComputedStyle(el);// JSDOM may return undefined for transition properties
- var getStyleProperties=function getStyleProperties(key){return(styles[key]||'').split(', ');};var transitionDelays=getStyleProperties(TRANSITION+'Delay');var transitionDurations=getStyleProperties(TRANSITION+'Duration');var transitionTimeout=getTimeout(transitionDelays,transitionDurations);var animationDelays=getStyleProperties(ANIMATION+'Delay');var animationDurations=getStyleProperties(ANIMATION+'Duration');var animationTimeout=getTimeout(animationDelays,animationDurations);var type=null;var timeout=0;var propCount=0;/* istanbul ignore if */if(expectedType===TRANSITION){if(transitionTimeout>0){type=TRANSITION;timeout=transitionTimeout;propCount=transitionDurations.length;}}else if(expectedType===ANIMATION){if(animationTimeout>0){type=ANIMATION;timeout=animationTimeout;propCount=animationDurations.length;}}else{timeout=Math.max(transitionTimeout,animationTimeout);type=timeout>0?transitionTimeout>animationTimeout?TRANSITION:ANIMATION:null;propCount=type?type===TRANSITION?transitionDurations.length:animationDurations.length:0;}var hasTransform=type===TRANSITION&&/\b(transform|all)(,|$)/.test(styles[TRANSITION+'Property']);return{type:type,timeout:timeout,propCount:propCount,hasTransform:hasTransform};}function getTimeout(delays,durations){while(delays.length<durations.length){delays=delays.concat(delays);}return Math.max.apply(Math,_toConsumableArray2(durations.map(function(d,i){return toMs(d)+toMs(delays[i]);})));}// Old versions of Chromium (below 61.0.3163.100) formats floating pointer
- // numbers in a locale-dependent way, using a comma instead of a dot.
- // If comma is not replaced with a dot, the input will be rounded down
- // (i.e. acting as a floor function) causing unexpected behaviors
- function toMs(s){return Number(s.slice(0,-1).replace(',','.'))*1000;}// synchronously force layout to put elements into a certain state
- function forceReflow(){return document.body.offsetHeight;}var vShow=exports('v',{beforeMount:function beforeMount(el,_ref26,_ref27){var value=_ref26.value;var transition=_ref27.transition;el._vod=el.style.display==='none'?'':el.style.display;if(transition&&value){transition.beforeEnter(el);}else{setDisplay(el,value);}},mounted:function mounted(el,_ref28,_ref29){var value=_ref28.value;var transition=_ref29.transition;if(transition&&value){transition.enter(el);}},updated:function updated(el,_ref30,_ref31){var value=_ref30.value,oldValue=_ref30.oldValue;var transition=_ref31.transition;if(!value===!oldValue)return;if(transition){if(value){transition.beforeEnter(el);setDisplay(el,true);transition.enter(el);}else{transition.leave(el,function(){setDisplay(el,false);});}}else{setDisplay(el,value);}},beforeUnmount:function beforeUnmount(el,_ref32){var value=_ref32.value;setDisplay(el,value);}});function setDisplay(el,value){el.style.display=value?el._vod:'none';}var rendererOptions=extend$2({patchProp:patchProp},nodeOps);// lazy create the renderer - this makes core renderer logic tree-shakable
- // in case the user only imports reactivity utilities from Vue.
- var renderer;function ensureRenderer(){return renderer||(renderer=createRenderer(rendererOptions));}var createApp=exports('g',function(){var _ensureRenderer;var app=(_ensureRenderer=ensureRenderer()).createApp.apply(_ensureRenderer,arguments);var mount=app.mount;app.mount=function(containerOrSelector){var container=normalizeContainer(containerOrSelector);if(!container)return;var component=app._component;if(!isFunction$1(component)&&!component.render&&!component.template){// __UNSAFE__
- // Reason: potential execution of JS expressions in in-DOM template.
- // The user must make sure the in-DOM template is trusted. If it's
- // rendered by the server, the template should not contain any user data.
- component.template=container.innerHTML;}// clear content before mounting
- container.innerHTML='';var proxy=mount(container,false,container instanceof SVGElement);if(container instanceof Element){container.removeAttribute('v-cloak');container.setAttribute('data-v-app','');}return proxy;};return app;});function normalizeContainer(container){if(isString$1(container)){var res=document.querySelector(container);return res;}return container;}var commonjsGlobal=typeof globalThis!=='undefined'?globalThis:typeof window!=='undefined'?window:typeof global!=='undefined'?global:typeof self!=='undefined'?self:{};function getAugmentedNamespace(n){if(n.__esModule)return n;var a=Object.defineProperty({},'__esModule',{value:true});Object.keys(n).forEach(function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:true,get:function get(){return n[k];}});});return a;}var dayjs_min={exports:{}};(function(module,exports){!function(t,e){module.exports=e();}(commonjsGlobal,function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function m(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t;},g={s:m,z:function z(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0");},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return+(-(r+(n-i)/(s?i-u:u-i))||0);},a:function a(t){return t<0?Math.ceil(t)||0:Math.floor(t);},p:function p(t){return{M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"");},u:function u(t){return void 0===t;}},D="en",v={};v[D]=M;var p=function p(t){return t instanceof _;},S=function S(t,e,n){var r;if(!t)return D;if("string"==typeof t)v[t]&&(r=t),e&&(v[t]=e,r=t);else{var i=t.name;v[i]=t,r=i;}return!n&&r&&(D=r),r||!n&&D;},w=function w(t,e){if(p(t))return t.clone();var n="object"==_typeof2(e)?e:{};return n.date=t,n.args=arguments,new _(n);},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset});};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date();if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s);}}return new Date(e);}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O;},m.isValid=function(){return!(this.$d.toString()===$);},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e);},m.isAfter=function(t,e){return w(t)<this.startOf(e);},m.isBefore=function(t,e){return this.endOf(e)<w(t);},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t);},m.unix=function(){return Math.floor(this.valueOf()/1e3);},m.valueOf=function(){return this.$d.getTime();},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function $(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a);},l=function l(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n);},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var D=this.$locale().weekStart||0,v=(y<D?y+7:y)-D;return $(r?m-v:m+(6-v),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone();}},m.endOf=function(t){return this.startOf(t,!1);},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this;},m.set=function(t,e){return this.clone().$set(t,e);},m.get=function(t){return this[O.p(t)]();},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function y(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$);};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this);},m.subtract=function(t,e){return this.add(-1*t,e);},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function h(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s);},c=function c(t){return O.s(s%12||12,t,"0");},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r;},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,function(t,e){return e||l[t]||i.replace(":","");});},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15);},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,D=O.m(this,M);return D=(l={},l[c]=D/12,l[f]=D,l[h]=D/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?D:O.a(D);},m.daysInMonth=function(){return this.endOf(f).$D;},m.$locale=function(){return v[this.$L];},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n;},m.clone=function(){return O.w(this.$d,this);},m.toDate=function(){return new Date(this.valueOf());},m.toJSON=function(){return this.isValid()?this.toISOString():null;},m.toISOString=function(){return this.$d.toISOString();},m.toString=function(){return this.$d.toUTCString();},M;}(),b=_.prototype;return w.prototype=b,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach(function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1]);};}),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w;},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t);},w.en=v[D],w.Ls=v,w.p={},w;});})(dayjs_min);var dayjs=exports('h',dayjs_min.exports);var zhCn={exports:{}};(function(module,exports){!function(e,_){module.exports=_(dayjs_min.exports);}(commonjsGlobal,function(e){function _(e){return e&&"object"==_typeof2(e)&&"default"in e?e:{default:e};}var t=_(e),d={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function ordinal(e,_){switch(_){case"W":return e+"周";default:return e+"日";}},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function meridiem(e,_){var t=100*e+_;return t<600?"凌晨":t<900?"早上":t<1100?"上午":t<1300?"中午":t<1800?"下午":"晚上";}};return t.default.locale(d,null,!0),d;});})(zhCn);/*!
- * vue-router v4.0.12
- * (c) 2021 Eduardo San Martin Morote
- * @license MIT
- */var hasSymbol=typeof Symbol==='function'&&_typeof2(Symbol.toStringTag)==='symbol';var PolySymbol=function PolySymbol(name){return(// vr = vue router
- hasSymbol?Symbol(name):'_vr_'+name);};// rvlm = Router View Location Matched
- /**
- * RouteRecord being rendered by the closest ancestor Router View. Used for
- * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View
- * Location Matched
- *
- * @internal
- */var matchedRouteKey=/*#__PURE__*/PolySymbol('rvlm');/**
- * Allows overriding the router view depth to control which component in
- * `matched` is rendered. rvd stands for Router View Depth
- *
- * @internal
- */var viewDepthKey=/*#__PURE__*/PolySymbol('rvd');/**
- * Allows overriding the router instance returned by `useRouter` in tests. r
- * stands for router
- *
- * @internal
- */var routerKey=/*#__PURE__*/PolySymbol('r');/**
- * Allows overriding the current route returned by `useRoute` in tests. rl
- * stands for route location
- *
- * @internal
- */var routeLocationKey=/*#__PURE__*/PolySymbol('rl');/**
- * Allows overriding the current route used by router-view. Internally this is
- * used when the `route` prop is passed.
- *
- * @internal
- */var routerViewLocationKey=/*#__PURE__*/PolySymbol('rvl');var isBrowser=typeof window!=='undefined';function isESModule(obj){return obj.__esModule||hasSymbol&&obj[Symbol.toStringTag]==='Module';}var assign$1=Object.assign;function applyToParams(fn,params){var newParams={};for(var key in params){var value=params[key];newParams[key]=Array.isArray(value)?value.map(fn):fn(value);}return newParams;}var noop$1=function noop$1(){};var TRAILING_SLASH_RE=/\/$/;var removeTrailingSlash=function removeTrailingSlash(path){return path.replace(TRAILING_SLASH_RE,'');};/**
- * Transforms an URI into a normalized history location
- *
- * @param parseQuery
- * @param location - URI to normalize
- * @param currentLocation - current absolute location. Allows resolving relative
- * paths. Must start with `/`. Defaults to `/`
- * @returns a normalized history location
- */function parseURL(parseQuery,location){var currentLocation=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'/';var path,query={},searchString='',hash='';// Could use URL and URLSearchParams but IE 11 doesn't support it
- var searchPos=location.indexOf('?');var hashPos=location.indexOf('#',searchPos>-1?searchPos:0);if(searchPos>-1){path=location.slice(0,searchPos);searchString=location.slice(searchPos+1,hashPos>-1?hashPos:location.length);query=parseQuery(searchString);}if(hashPos>-1){path=path||location.slice(0,hashPos);// keep the # character
- hash=location.slice(hashPos,location.length);}// no search and no query
- path=resolveRelativePath(path!=null?path:location,currentLocation);// empty path means a relative query or hash `?foo=f`, `#thing`
- return{fullPath:path+(searchString&&'?')+searchString+hash,path:path,query:query,hash:hash};}/**
- * Stringifies a URL object
- *
- * @param stringifyQuery
- * @param location
- */function stringifyURL(stringifyQuery,location){var query=location.query?stringifyQuery(location.query):'';return location.path+(query&&'?')+query+(location.hash||'');}/**
- * Strips off the base from the beginning of a location.pathname in a non
- * case-sensitive way.
- *
- * @param pathname - location.pathname
- * @param base - base to strip off
- */function stripBase(pathname,base){// no base or base is not found at the beginning
- if(!base||!pathname.toLowerCase().startsWith(base.toLowerCase()))return pathname;return pathname.slice(base.length)||'/';}/**
- * Checks if two RouteLocation are equal. This means that both locations are
- * pointing towards the same {@link RouteRecord} and that all `params`, `query`
- * parameters and `hash` are the same
- *
- * @param a - first {@link RouteLocation}
- * @param b - second {@link RouteLocation}
- */function isSameRouteLocation(stringifyQuery,a,b){var aLastIndex=a.matched.length-1;var bLastIndex=b.matched.length-1;return aLastIndex>-1&&aLastIndex===bLastIndex&&isSameRouteRecord(a.matched[aLastIndex],b.matched[bLastIndex])&&isSameRouteLocationParams(a.params,b.params)&&stringifyQuery(a.query)===stringifyQuery(b.query)&&a.hash===b.hash;}/**
- * Check if two `RouteRecords` are equal. Takes into account aliases: they are
- * considered equal to the `RouteRecord` they are aliasing.
- *
- * @param a - first {@link RouteRecord}
- * @param b - second {@link RouteRecord}
- */function isSameRouteRecord(a,b){// since the original record has an undefined value for aliasOf
- // but all aliases point to the original record, this will always compare
- // the original record
- return(a.aliasOf||a)===(b.aliasOf||b);}function isSameRouteLocationParams(a,b){if(Object.keys(a).length!==Object.keys(b).length)return false;for(var key in a){if(!isSameRouteLocationParamsValue(a[key],b[key]))return false;}return true;}function isSameRouteLocationParamsValue(a,b){return Array.isArray(a)?isEquivalentArray(a,b):Array.isArray(b)?isEquivalentArray(b,a):a===b;}/**
- * Check if two arrays are the same or if an array with one single entry is the
- * same as another primitive value. Used to check query and parameters
- *
- * @param a - array of values
- * @param b - array of values or a single value
- */function isEquivalentArray(a,b){return Array.isArray(b)?a.length===b.length&&a.every(function(value,i){return value===b[i];}):a.length===1&&a[0]===b;}/**
- * Resolves a relative path that starts with `.`.
- *
- * @param to - path location we are resolving
- * @param from - currentLocation.path, should start with `/`
- */function resolveRelativePath(to,from){if(to.startsWith('/'))return to;if(!to)return from;var fromSegments=from.split('/');var toSegments=to.split('/');var position=fromSegments.length-1;var toPosition;var segment;for(toPosition=0;toPosition<toSegments.length;toPosition++){segment=toSegments[toPosition];// can't go below zero
- if(position===1||segment==='.')continue;if(segment==='..')position--;// found something that is not relative path
- else break;}return fromSegments.slice(0,position).join('/')+'/'+toSegments.slice(toPosition-(toPosition===toSegments.length?1:0)).join('/');}var NavigationType;(function(NavigationType){NavigationType["pop"]="pop";NavigationType["push"]="push";})(NavigationType||(NavigationType={}));var NavigationDirection;(function(NavigationDirection){NavigationDirection["back"]="back";NavigationDirection["forward"]="forward";NavigationDirection["unknown"]="";})(NavigationDirection||(NavigationDirection={}));// Generic utils
- /**
- * Normalizes a base by removing any trailing slash and reading the base tag if
- * present.
- *
- * @param base - base to normalize
- */function normalizeBase(base){if(!base){if(isBrowser){// respect <base> tag
- var baseEl=document.querySelector('base');base=baseEl&&baseEl.getAttribute('href')||'/';// strip full URL origin
- base=base.replace(/^\w+:\/\/[^\/]+/,'');}else{base='/';}}// ensure leading slash when it was removed by the regex above avoid leading
- // slash with hash because the file could be read from the disk like file://
- // and the leading slash would cause problems
- if(base[0]!=='/'&&base[0]!=='#')base='/'+base;// remove the trailing slash so all other method can just do `base + fullPath`
- // to build an href
- return removeTrailingSlash(base);}// remove any character before the hash
- var BEFORE_HASH_RE=/^[^#]+#/;function createHref(base,location){return base.replace(BEFORE_HASH_RE,'#')+location;}function getElementPosition(el,offset){var docRect=document.documentElement.getBoundingClientRect();var elRect=el.getBoundingClientRect();return{behavior:offset.behavior,left:elRect.left-docRect.left-(offset.left||0),top:elRect.top-docRect.top-(offset.top||0)};}var computeScrollPosition=function computeScrollPosition(){return{left:window.pageXOffset,top:window.pageYOffset};};function scrollToPosition(position){var scrollToOptions;if('el'in position){var positionEl=position.el;var isIdSelector=typeof positionEl==='string'&&positionEl.startsWith('#');var el=typeof positionEl==='string'?isIdSelector?document.getElementById(positionEl.slice(1)):document.querySelector(positionEl):positionEl;if(!el){return;}scrollToOptions=getElementPosition(el,position);}else{scrollToOptions=position;}if('scrollBehavior'in document.documentElement.style)window.scrollTo(scrollToOptions);else{window.scrollTo(scrollToOptions.left!=null?scrollToOptions.left:window.pageXOffset,scrollToOptions.top!=null?scrollToOptions.top:window.pageYOffset);}}function getScrollKey(path,delta){var position=history.state?history.state.position-delta:-1;return position+path;}var scrollPositions=new Map();function saveScrollPosition(key,scrollPosition){scrollPositions.set(key,scrollPosition);}function getSavedScrollPosition(key){var scroll=scrollPositions.get(key);// consume it so it's not used again
- scrollPositions.delete(key);return scroll;}// TODO: RFC about how to save scroll position
- /**
- * ScrollBehavior instance used by the router to compute and restore the scroll
- * position when navigating.
- */ // export interface ScrollHandler<ScrollPositionEntry extends HistoryStateValue, ScrollPosition extends ScrollPositionEntry> {
- // // returns a scroll position that can be saved in history
- // compute(): ScrollPositionEntry
- // // can take an extended ScrollPositionEntry
- // scroll(position: ScrollPosition): void
- // }
- // export const scrollHandler: ScrollHandler<ScrollPosition> = {
- // compute: computeScroll,
- // scroll: scrollToPosition,
- // }
- var createBaseLocation=function createBaseLocation(){return location.protocol+'//'+location.host;};/**
- * Creates a normalized history location from a window.location object
- * @param location -
- */function createCurrentLocation(base,location){var pathname=location.pathname,search=location.search,hash=location.hash;// allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end
- var hashPos=base.indexOf('#');if(hashPos>-1){var slicePos=hash.includes(base.slice(hashPos))?base.slice(hashPos).length:1;var pathFromHash=hash.slice(slicePos);// prepend the starting slash to hash so the url starts with /#
- if(pathFromHash[0]!=='/')pathFromHash='/'+pathFromHash;return stripBase(pathFromHash,'');}var path=stripBase(pathname,base);return path+search+hash;}function useHistoryListeners(base,historyState,currentLocation,replace){var listeners=[];var teardowns=[];// TODO: should it be a stack? a Dict. Check if the popstate listener
- // can trigger twice
- var pauseState=null;var popStateHandler=function popStateHandler(_ref33){var state=_ref33.state;var to=createCurrentLocation(base,location);var from=currentLocation.value;var fromState=historyState.value;var delta=0;if(state){currentLocation.value=to;historyState.value=state;// ignore the popstate and reset the pauseState
- if(pauseState&&pauseState===from){pauseState=null;return;}delta=fromState?state.position-fromState.position:0;}else{replace(to);}// console.log({ deltaFromCurrent })
- // Here we could also revert the navigation by calling history.go(-delta)
- // this listener will have to be adapted to not trigger again and to wait for the url
- // to be updated before triggering the listeners. Some kind of validation function would also
- // need to be passed to the listeners so the navigation can be accepted
- // call all listeners
- listeners.forEach(function(listener){listener(currentLocation.value,from,{delta:delta,type:NavigationType.pop,direction:delta?delta>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown});});};function pauseListeners(){pauseState=currentLocation.value;}function listen(callback){// setup the listener and prepare teardown callbacks
- listeners.push(callback);var teardown=function teardown(){var index=listeners.indexOf(callback);if(index>-1)listeners.splice(index,1);};teardowns.push(teardown);return teardown;}function beforeUnloadListener(){var _window=window,history=_window.history;if(!history.state)return;history.replaceState(assign$1({},history.state,{scroll:computeScrollPosition()}),'');}function destroy(){var _iterator3=_createForOfIteratorHelper(teardowns),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var teardown=_step3.value;teardown();}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}teardowns=[];window.removeEventListener('popstate',popStateHandler);window.removeEventListener('beforeunload',beforeUnloadListener);}// setup the listeners and prepare teardown callbacks
- window.addEventListener('popstate',popStateHandler);window.addEventListener('beforeunload',beforeUnloadListener);return{pauseListeners:pauseListeners,listen:listen,destroy:destroy};}/**
- * Creates a state object
- */function buildState(back,current,forward){var replaced=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var computeScroll=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;return{back:back,current:current,forward:forward,replaced:replaced,position:window.history.length,scroll:computeScroll?computeScrollPosition():null};}function useHistoryStateNavigation(base){var _window2=window,history=_window2.history,location=_window2.location;// private variables
- var currentLocation={value:createCurrentLocation(base,location)};var historyState={value:history.state};// build current history entry as this is a fresh navigation
- if(!historyState.value){changeLocation(currentLocation.value,{back:null,current:currentLocation.value,forward:null,// the length is off by one, we need to decrease it
- position:history.length-1,replaced:true,// don't add a scroll as the user may have an anchor and we want
- // scrollBehavior to be triggered without a saved position
- scroll:null},true);}function changeLocation(to,state,replace){/**
- * if a base tag is provided and we are on a normal domain, we have to
- * respect the provided `base` attribute because pushState() will use it and
- * potentially erase anything before the `#` like at
- * https://github.com/vuejs/vue-router-next/issues/685 where a base of
- * `/folder/#` but a base of `/` would erase the `/folder/` section. If
- * there is no host, the `<base>` tag makes no sense and if there isn't a
- * base tag we can just use everything after the `#`.
- */var hashIndex=base.indexOf('#');var url=hashIndex>-1?(location.host&&document.querySelector('base')?base:base.slice(hashIndex))+to:createBaseLocation()+base+to;try{// BROWSER QUIRK
- // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds
- history[replace?'replaceState':'pushState'](state,'',url);historyState.value=state;}catch(err){{console.error(err);}// Force the navigation, this also resets the call count
- location[replace?'replace':'assign'](url);}}function replace(to,data){var state=assign$1({},history.state,buildState(historyState.value.back,// keep back and forward entries but override current position
- to,historyState.value.forward,true),data,{position:historyState.value.position});changeLocation(to,state,true);currentLocation.value=to;}function push(to,data){// Add to current entry the information of where we are going
- // as well as saving the current position
- var currentState=assign$1({},// use current history state to gracefully handle a wrong call to
- // history.replaceState
- // https://github.com/vuejs/vue-router-next/issues/366
- historyState.value,history.state,{forward:to,scroll:computeScrollPosition()});changeLocation(currentState.current,currentState,true);var state=assign$1({},buildState(currentLocation.value,to,null),{position:currentState.position+1},data);changeLocation(to,state,false);currentLocation.value=to;}return{location:currentLocation,state:historyState,push:push,replace:replace};}/**
- * Creates an HTML5 history. Most common history for single page applications.
- *
- * @param base -
- */function createWebHistory(base){base=normalizeBase(base);var historyNavigation=useHistoryStateNavigation(base);var historyListeners=useHistoryListeners(base,historyNavigation.state,historyNavigation.location,historyNavigation.replace);function go(delta){var triggerListeners=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;if(!triggerListeners)historyListeners.pauseListeners();history.go(delta);}var routerHistory=assign$1({// it's overridden right after
- location:'',base:base,go:go,createHref:createHref.bind(null,base)},historyNavigation,historyListeners);Object.defineProperty(routerHistory,'location',{enumerable:true,get:function get(){return historyNavigation.location.value;}});Object.defineProperty(routerHistory,'state',{enumerable:true,get:function get(){return historyNavigation.state.value;}});return routerHistory;}/**
- * Creates a hash history. Useful for web applications with no host (e.g.
- * `file://`) or when configuring a server to handle any URL is not possible.
- *
- * @param base - optional base to provide. Defaults to `location.pathname +
- * location.search` If there is a `<base>` tag in the `head`, its value will be
- * ignored in favor of this parameter **but note it affects all the
- * history.pushState() calls**, meaning that if you use a `<base>` tag, it's
- * `href` value **has to match this parameter** (ignoring anything after the
- * `#`).
- *
- * @example
- * ```js
- * // at https://example.com/folder
- * createWebHashHistory() // gives a url of `https://example.com/folder#`
- * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`
- * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`
- * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`
- * // you should avoid doing this because it changes the original url and breaks copying urls
- * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`
- *
- * // at file:///usr/etc/folder/index.html
- * // for locations with no `host`, the base is ignored
- * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`
- * ```
- */function createWebHashHistory(base){// Make sure this implementation is fine in terms of encoding, specially for IE11
- // for `file://`, directly use the pathname and ignore the base
- // location.pathname contains an initial `/` even at the root: `https://example.com`
- base=location.host?base||location.pathname+location.search:'';// allow the user to provide a `#` in the middle: `/base/#/app`
- if(!base.includes('#'))base+='#';return createWebHistory(base);}function isRouteLocation(route){return typeof route==='string'||route&&_typeof2(route)==='object';}function isRouteName(name){return typeof name==='string'||_typeof2(name)==='symbol';}/**
- * Initial route location where the router is. Can be used in navigation guards
- * to differentiate the initial navigation.
- *
- * @example
- * ```js
- * import { START_LOCATION } from 'vue-router'
- *
- * router.beforeEach((to, from) => {
- * if (from === START_LOCATION) {
- * // initial navigation
- * }
- * })
- * ```
- */var START_LOCATION_NORMALIZED={path:'/',name:undefined,params:{},query:{},hash:'',fullPath:'/',matched:[],meta:{},redirectedFrom:undefined};var NavigationFailureSymbol=/*#__PURE__*/PolySymbol('nf');/**
- * Enumeration with all possible types for navigation failures. Can be passed to
- * {@link isNavigationFailure} to check for specific failures.
- */var NavigationFailureType;(function(NavigationFailureType){/**
- * An aborted navigation is a navigation that failed because a navigation
- * guard returned `false` or called `next(false)`
- */NavigationFailureType[NavigationFailureType["aborted"]=4]="aborted";/**
- * A cancelled navigation is a navigation that failed because a more recent
- * navigation finished started (not necessarily finished).
- */NavigationFailureType[NavigationFailureType["cancelled"]=8]="cancelled";/**
- * A duplicated navigation is a navigation that failed because it was
- * initiated while already being at the exact same location.
- */NavigationFailureType[NavigationFailureType["duplicated"]=16]="duplicated";})(NavigationFailureType||(NavigationFailureType={}));function createRouterError(type,params){// keep full error messages in cjs versions
- {return assign$1(new Error(),_defineProperty2({type:type},NavigationFailureSymbol,true),params);}}function isNavigationFailure(error,type){return error instanceof Error&&NavigationFailureSymbol in error&&(type==null||!!(error.type&type));}// default pattern for a param: non greedy everything but /
- var BASE_PARAM_PATTERN='[^/]+?';var BASE_PATH_PARSER_OPTIONS={sensitive:false,strict:false,start:true,end:true};// Special Regex characters that must be escaped in static tokens
- var REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;/**
- * Creates a path parser from an array of Segments (a segment is an array of Tokens)
- *
- * @param segments - array of segments returned by tokenizePath
- * @param extraOptions - optional options for the regexp
- * @returns a PathParser
- */function tokensToParser(segments,extraOptions){var options=assign$1({},BASE_PATH_PARSER_OPTIONS,extraOptions);// the amount of scores is the same as the length of segments except for the root segment "/"
- var score=[];// the regexp as a string
- var pattern=options.start?'^':'';// extracted keys
- var keys=[];var _iterator4=_createForOfIteratorHelper(segments),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var segment=_step4.value;// the root segment needs special treatment
- var segmentScores=segment.length?[]:[90/* Root */];// allow trailing slash
- if(options.strict&&!segment.length)pattern+='/';for(var tokenIndex=0;tokenIndex<segment.length;tokenIndex++){var token=segment[tokenIndex];// resets the score if we are inside a sub segment /:a-other-:b
- var subSegmentScore=40/* Segment */+(options.sensitive?0.25/* BonusCaseSensitive */:0);if(token.type===0/* Static */){// prepend the slash if we are starting a new segment
- if(!tokenIndex)pattern+='/';pattern+=token.value.replace(REGEX_CHARS_RE,'\\$&');subSegmentScore+=40/* Static */;}else if(token.type===1/* Param */){var value=token.value,repeatable=token.repeatable,optional=token.optional,regexp=token.regexp;keys.push({name:value,repeatable:repeatable,optional:optional});var _re=regexp?regexp:BASE_PARAM_PATTERN;// the user provided a custom regexp /:id(\\d+)
- if(_re!==BASE_PARAM_PATTERN){subSegmentScore+=10/* BonusCustomRegExp */;// make sure the regexp is valid before using it
- try{new RegExp("(".concat(_re,")"));}catch(err){throw new Error("Invalid custom RegExp for param \"".concat(value,"\" (").concat(_re,"): ")+err.message);}}// when we repeat we must take care of the repeating leading slash
- var subPattern=repeatable?"((?:".concat(_re,")(?:/(?:").concat(_re,"))*)"):"(".concat(_re,")");// prepend the slash if we are starting a new segment
- if(!tokenIndex)subPattern=// avoid an optional / if there are more segments e.g. /:p?-static
- // or /:p?-:p2
- optional&&segment.length<2?"(?:/".concat(subPattern,")"):'/'+subPattern;if(optional)subPattern+='?';pattern+=subPattern;subSegmentScore+=20/* Dynamic */;if(optional)subSegmentScore+=-8/* BonusOptional */;if(repeatable)subSegmentScore+=-20/* BonusRepeatable */;if(_re==='.*')subSegmentScore+=-50/* BonusWildcard */;}segmentScores.push(subSegmentScore);}// an empty array like /home/ -> [[{home}], []]
- // if (!segment.length) pattern += '/'
- score.push(segmentScores);}// only apply the strict bonus to the last score
- }catch(err){_iterator4.e(err);}finally{_iterator4.f();}if(options.strict&&options.end){var i=score.length-1;score[i][score[i].length-1]+=0.7000000000000001/* BonusStrict */;}// TODO: dev only warn double trailing slash
- if(!options.strict)pattern+='/?';if(options.end)pattern+='$';// allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else
- else if(options.strict)pattern+='(?:/|$)';var re=new RegExp(pattern,options.sensitive?'':'i');function parse(path){var match=path.match(re);var params={};if(!match)return null;for(var _i3=1;_i3<match.length;_i3++){var value=match[_i3]||'';var key=keys[_i3-1];params[key.name]=value&&key.repeatable?value.split('/'):value;}return params;}function stringify(params){var path='';// for optional parameters to allow to be empty
- var avoidDuplicatedSlash=false;var _iterator5=_createForOfIteratorHelper(segments),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var segment=_step5.value;if(!avoidDuplicatedSlash||!path.endsWith('/'))path+='/';avoidDuplicatedSlash=false;var _iterator6=_createForOfIteratorHelper(segment),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var token=_step6.value;if(token.type===0/* Static */){path+=token.value;}else if(token.type===1/* Param */){var value=token.value,repeatable=token.repeatable,optional=token.optional;var param=value in params?params[value]:'';if(Array.isArray(param)&&!repeatable)throw new Error("Provided param \"".concat(value,"\" is an array but it is not repeatable (* or + modifiers)"));var text=Array.isArray(param)?param.join('/'):param;if(!text){if(optional){// if we have more than one optional param like /:a?-static we
- // don't need to care about the optional param
- if(segment.length<2){// remove the last slash as we could be at the end
- if(path.endsWith('/'))path=path.slice(0,-1);// do not append a slash on the next iteration
- else avoidDuplicatedSlash=true;}}else throw new Error("Missing required param \"".concat(value,"\""));}path+=text;}}}catch(err){_iterator6.e(err);}finally{_iterator6.f();}}}catch(err){_iterator5.e(err);}finally{_iterator5.f();}return path;}return{re:re,score:score,keys:keys,parse:parse,stringify:stringify};}/**
- * Compares an array of numbers as used in PathParser.score and returns a
- * number. This function can be used to `sort` an array
- *
- * @param a - first array of numbers
- * @param b - second array of numbers
- * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b
- * should be sorted first
- */function compareScoreArray(a,b){var i=0;while(i<a.length&&i<b.length){var diff=b[i]-a[i];// only keep going if diff === 0
- if(diff)return diff;i++;}// if the last subsegment was Static, the shorter segments should be sorted first
- // otherwise sort the longest segment first
- if(a.length<b.length){return a.length===1&&a[0]===40/* Static */+40/* Segment */?-1:1;}else if(a.length>b.length){return b.length===1&&b[0]===40/* Static */+40/* Segment */?1:-1;}return 0;}/**
- * Compare function that can be used with `sort` to sort an array of PathParser
- *
- * @param a - first PathParser
- * @param b - second PathParser
- * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b
- */function comparePathParserScore(a,b){var i=0;var aScore=a.score;var bScore=b.score;while(i<aScore.length&&i<bScore.length){var comp=compareScoreArray(aScore[i],bScore[i]);// do not return if both are equal
- if(comp)return comp;i++;}// if a and b share the same score entries but b has more, sort b first
- return bScore.length-aScore.length;// this is the ternary version
- // return aScore.length < bScore.length
- // ? 1
- // : aScore.length > bScore.length
- // ? -1
- // : 0
- }var ROOT_TOKEN={type:0/* Static */,value:''};var VALID_PARAM_RE=/[a-zA-Z0-9_]/;// After some profiling, the cache seems to be unnecessary because tokenizePath
- // (the slowest part of adding a route) is very fast
- // const tokenCache = new Map<string, Token[][]>()
- function tokenizePath(path){if(!path)return[[]];if(path==='/')return[[ROOT_TOKEN]];if(!path.startsWith('/')){throw new Error("Invalid path \"".concat(path,"\""));}// if (tokenCache.has(path)) return tokenCache.get(path)!
- function crash(message){throw new Error("ERR (".concat(state,")/\"").concat(buffer,"\": ").concat(message));}var state=0/* Static */;var previousState=state;var tokens=[];// the segment will always be valid because we get into the initial state
- // with the leading /
- var segment;function finalizeSegment(){if(segment)tokens.push(segment);segment=[];}// index on the path
- var i=0;// char at index
- var char;// buffer of the value read
- var buffer='';// custom regexp for a param
- var customRe='';function consumeBuffer(){if(!buffer)return;if(state===0/* Static */){segment.push({type:0/* Static */,value:buffer});}else if(state===1/* Param */||state===2/* ParamRegExp */||state===3/* ParamRegExpEnd */){if(segment.length>1&&(char==='*'||char==='+'))crash("A repeatable param (".concat(buffer,") must be alone in its segment. eg: '/:ids+."));segment.push({type:1/* Param */,value:buffer,regexp:customRe,repeatable:char==='*'||char==='+',optional:char==='*'||char==='?'});}else{crash('Invalid state to consume buffer');}buffer='';}function addCharToBuffer(){buffer+=char;}while(i<path.length){char=path[i++];if(char==='\\'&&state!==2/* ParamRegExp */){previousState=state;state=4/* EscapeNext */;continue;}switch(state){case 0/* Static */:if(char==='/'){if(buffer){consumeBuffer();}finalizeSegment();}else if(char===':'){consumeBuffer();state=1/* Param */;}else{addCharToBuffer();}break;case 4/* EscapeNext */:addCharToBuffer();state=previousState;break;case 1/* Param */:if(char==='('){state=2/* ParamRegExp */;}else if(VALID_PARAM_RE.test(char)){addCharToBuffer();}else{consumeBuffer();state=0/* Static */;// go back one character if we were not modifying
- if(char!=='*'&&char!=='?'&&char!=='+')i--;}break;case 2/* ParamRegExp */:// TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)
- // it already works by escaping the closing )
- // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#
- // is this really something people need since you can also write
- // /prefix_:p()_suffix
- if(char===')'){// handle the escaped )
- if(customRe[customRe.length-1]=='\\')customRe=customRe.slice(0,-1)+char;else state=3/* ParamRegExpEnd */;}else{customRe+=char;}break;case 3/* ParamRegExpEnd */:// same as finalizing a param
- consumeBuffer();state=0/* Static */;// go back one character if we were not modifying
- if(char!=='*'&&char!=='?'&&char!=='+')i--;customRe='';break;default:crash('Unknown state');break;}}if(state===2/* ParamRegExp */)crash("Unfinished custom RegExp for param \"".concat(buffer,"\""));consumeBuffer();finalizeSegment();// tokenCache.set(path, tokens)
- return tokens;}function createRouteRecordMatcher(record,parent,options){var parser=tokensToParser(tokenizePath(record.path),options);var matcher=assign$1(parser,{record:record,parent:parent,// these needs to be populated by the parent
- children:[],alias:[]});if(parent){// both are aliases or both are not aliases
- // we don't want to mix them because the order is used when
- // passing originalRecord in Matcher.addRoute
- if(!matcher.record.aliasOf===!parent.record.aliasOf)parent.children.push(matcher);}return matcher;}/**
- * Creates a Router Matcher.
- *
- * @internal
- * @param routes - array of initial routes
- * @param globalOptions - global route options
- */function createRouterMatcher(routes,globalOptions){// normalized ordered array of matchers
- var matchers=[];var matcherMap=new Map();globalOptions=mergeOptions({strict:false,end:true,sensitive:false},globalOptions);function getRecordMatcher(name){return matcherMap.get(name);}function addRoute(record,parent,originalRecord){// used later on to remove by name
- var isRootAdd=!originalRecord;var mainNormalizedRecord=normalizeRouteRecord(record);// we might be the child of an alias
- mainNormalizedRecord.aliasOf=originalRecord&&originalRecord.record;var options=mergeOptions(globalOptions,record);// generate an array of records to correctly handle aliases
- var normalizedRecords=[mainNormalizedRecord];if('alias'in record){var aliases=typeof record.alias==='string'?[record.alias]:record.alias;var _iterator7=_createForOfIteratorHelper(aliases),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var alias=_step7.value;normalizedRecords.push(assign$1({},mainNormalizedRecord,{// this allows us to hold a copy of the `components` option
- // so that async components cache is hold on the original record
- components:originalRecord?originalRecord.record.components:mainNormalizedRecord.components,path:alias,// we might be the child of an alias
- aliasOf:originalRecord?originalRecord.record:mainNormalizedRecord// the aliases are always of the same kind as the original since they
- // are defined on the same record
- }));}}catch(err){_iterator7.e(err);}finally{_iterator7.f();}}var matcher;var originalMatcher;for(var _i4=0,_normalizedRecords=normalizedRecords;_i4<_normalizedRecords.length;_i4++){var normalizedRecord=_normalizedRecords[_i4];var path=normalizedRecord.path;// Build up the path for nested routes if the child isn't an absolute
- // route. Only add the / delimiter if the child path isn't empty and if the
- // parent path doesn't have a trailing slash
- if(parent&&path[0]!=='/'){var parentPath=parent.record.path;var connectingSlash=parentPath[parentPath.length-1]==='/'?'':'/';normalizedRecord.path=parent.record.path+(path&&connectingSlash+path);}// create the object before hand so it can be passed to children
- matcher=createRouteRecordMatcher(normalizedRecord,parent,options);// if we are an alias we must tell the original record that we exist
- // so we can be removed
- if(originalRecord){originalRecord.alias.push(matcher);}else{// otherwise, the first record is the original and others are aliases
- originalMatcher=originalMatcher||matcher;if(originalMatcher!==matcher)originalMatcher.alias.push(matcher);// remove the route if named and only for the top record (avoid in nested calls)
- // this works because the original record is the first one
- if(isRootAdd&&record.name&&!isAliasRecord(matcher))removeRoute(record.name);}if('children'in mainNormalizedRecord){var children=mainNormalizedRecord.children;for(var i=0;i<children.length;i++){addRoute(children[i],matcher,originalRecord&&originalRecord.children[i]);}}// if there was no original record, then the first one was not an alias and all
- // other alias (if any) need to reference this record when adding children
- originalRecord=originalRecord||matcher;// TODO: add normalized records for more flexibility
- // if (parent && isAliasRecord(originalRecord)) {
- // parent.children.push(originalRecord)
- // }
- insertMatcher(matcher);}return originalMatcher?function(){// since other matchers are aliases, they should be removed by the original matcher
- removeRoute(originalMatcher);}:noop$1;}function removeRoute(matcherRef){if(isRouteName(matcherRef)){var matcher=matcherMap.get(matcherRef);if(matcher){matcherMap.delete(matcherRef);matchers.splice(matchers.indexOf(matcher),1);matcher.children.forEach(removeRoute);matcher.alias.forEach(removeRoute);}}else{var _index=matchers.indexOf(matcherRef);if(_index>-1){matchers.splice(_index,1);if(matcherRef.record.name)matcherMap.delete(matcherRef.record.name);matcherRef.children.forEach(removeRoute);matcherRef.alias.forEach(removeRoute);}}}function getRoutes(){return matchers;}function insertMatcher(matcher){var i=0;// console.log('i is', { i })
- while(i<matchers.length&&comparePathParserScore(matcher,matchers[i])>=0){i++;}// console.log('END i is', { i })
- // while (i < matchers.length && matcher.score <= matchers[i].score) i++
- matchers.splice(i,0,matcher);// only add the original record to the name map
- if(matcher.record.name&&!isAliasRecord(matcher))matcherMap.set(matcher.record.name,matcher);}function resolve(location,currentLocation){var matcher;var params={};var path;var name;if('name'in location&&location.name){matcher=matcherMap.get(location.name);if(!matcher)throw createRouterError(1/* MATCHER_NOT_FOUND */,{location:location});name=matcher.record.name;params=assign$1(// paramsFromLocation is a new object
- paramsFromLocation(currentLocation.params,// only keep params that exist in the resolved location
- // TODO: only keep optional params coming from a parent record
- matcher.keys.filter(function(k){return!k.optional;}).map(function(k){return k.name;})),location.params);// throws if cannot be stringified
- path=matcher.stringify(params);}else if('path'in location){// no need to resolve the path with the matcher as it was provided
- // this also allows the user to control the encoding
- path=location.path;matcher=matchers.find(function(m){return m.re.test(path);});// matcher should have a value after the loop
- if(matcher){// TODO: dev warning of unused params if provided
- // we know the matcher works because we tested the regexp
- params=matcher.parse(path);name=matcher.record.name;}// location is a relative path
- }else{// match by name or path of current route
- matcher=currentLocation.name?matcherMap.get(currentLocation.name):matchers.find(function(m){return m.re.test(currentLocation.path);});if(!matcher)throw createRouterError(1/* MATCHER_NOT_FOUND */,{location:location,currentLocation:currentLocation});name=matcher.record.name;// since we are navigating to the same location, we don't need to pick the
- // params like when `name` is provided
- params=assign$1({},currentLocation.params,location.params);path=matcher.stringify(params);}var matched=[];var parentMatcher=matcher;while(parentMatcher){// reversed order so parents are at the beginning
- matched.unshift(parentMatcher.record);parentMatcher=parentMatcher.parent;}return{name:name,path:path,params:params,matched:matched,meta:mergeMetaFields(matched)};}// add initial routes
- routes.forEach(function(route){return addRoute(route);});return{addRoute:addRoute,resolve:resolve,removeRoute:removeRoute,getRoutes:getRoutes,getRecordMatcher:getRecordMatcher};}function paramsFromLocation(params,keys){var newParams={};var _iterator8=_createForOfIteratorHelper(keys),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var key=_step8.value;if(key in params)newParams[key]=params[key];}}catch(err){_iterator8.e(err);}finally{_iterator8.f();}return newParams;}/**
- * Normalizes a RouteRecordRaw. Creates a copy
- *
- * @param record
- * @returns the normalized version
- */function normalizeRouteRecord(record){return{path:record.path,redirect:record.redirect,name:record.name,meta:record.meta||{},aliasOf:undefined,beforeEnter:record.beforeEnter,props:normalizeRecordProps(record),children:record.children||[],instances:{},leaveGuards:new Set(),updateGuards:new Set(),enterCallbacks:{},components:'components'in record?record.components||{}:{default:record.component}};}/**
- * Normalize the optional `props` in a record to always be an object similar to
- * components. Also accept a boolean for components.
- * @param record
- */function normalizeRecordProps(record){var propsObject={};// props does not exist on redirect records but we can set false directly
- var props=record.props||false;if('component'in record){propsObject.default=props;}else{// NOTE: we could also allow a function to be applied to every component.
- // Would need user feedback for use cases
- for(var _name4 in record.components){propsObject[_name4]=typeof props==='boolean'?props:props[_name4];}}return propsObject;}/**
- * Checks if a record or any of its parent is an alias
- * @param record
- */function isAliasRecord(record){while(record){if(record.record.aliasOf)return true;record=record.parent;}return false;}/**
- * Merge meta fields of an array of records
- *
- * @param matched - array of matched records
- */function mergeMetaFields(matched){return matched.reduce(function(meta,record){return assign$1(meta,record.meta);},{});}function mergeOptions(defaults,partialOptions){var options={};for(var key in defaults){options[key]=key in partialOptions?partialOptions[key]:defaults[key];}return options;}/**
- * Encoding Rules ␣ = Space Path: ␣ " < > # ? { } Query: ␣ " < > # & = Hash: ␣ "
- * < > `
- *
- * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)
- * defines some extra characters to be encoded. Most browsers do not encode them
- * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to
- * also encode `!'()*`. Leaving unencoded only ASCII alphanumeric(`a-zA-Z0-9`)
- * plus `-._~`. This extra safety should be applied to query by patching the
- * string returned by encodeURIComponent encodeURI also encodes `[\]^`. `\`
- * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\`
- * into a `/` if directly typed in. The _backtick_ (`````) should also be
- * encoded everywhere because some browsers like FF encode it when directly
- * written while others don't. Safari and IE don't encode ``"<>{}``` in hash.
- */ // const EXTRA_RESERVED_RE = /[!'()*]/g
- // const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)
- var HASH_RE=/#/g;// %23
- var AMPERSAND_RE=/&/g;// %26
- var SLASH_RE=/\//g;// %2F
- var EQUAL_RE=/=/g;// %3D
- var IM_RE=/\?/g;// %3F
- var PLUS_RE=/\+/g;// %2B
- /**
- * NOTE: It's not clear to me if we should encode the + symbol in queries, it
- * seems to be less flexible than not doing so and I can't find out the legacy
- * systems requiring this for regular requests like text/html. In the standard,
- * the encoding of the plus character is only mentioned for
- * application/x-www-form-urlencoded
- * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo
- * leave the plus character as is in queries. To be more flexible, we allow the
- * plus character on the query but it can also be manually encoded by the user.
- *
- * Resources:
- * - https://url.spec.whatwg.org/#urlencoded-parsing
- * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20
- */var ENC_BRACKET_OPEN_RE=/%5B/g;// [
- var ENC_BRACKET_CLOSE_RE=/%5D/g;// ]
- var ENC_CARET_RE=/%5E/g;// ^
- var ENC_BACKTICK_RE=/%60/g;// `
- var ENC_CURLY_OPEN_RE=/%7B/g;// {
- var ENC_PIPE_RE=/%7C/g;// |
- var ENC_CURLY_CLOSE_RE=/%7D/g;// }
- var ENC_SPACE_RE=/%20/g;// }
- /**
- * Encode characters that need to be encoded on the path, search and hash
- * sections of the URL.
- *
- * @internal
- * @param text - string to encode
- * @returns encoded string
- */function commonEncode(text){return encodeURI(''+text).replace(ENC_PIPE_RE,'|').replace(ENC_BRACKET_OPEN_RE,'[').replace(ENC_BRACKET_CLOSE_RE,']');}/**
- * Encode characters that need to be encoded on the hash section of the URL.
- *
- * @param text - string to encode
- * @returns encoded string
- */function encodeHash(text){return commonEncode(text).replace(ENC_CURLY_OPEN_RE,'{').replace(ENC_CURLY_CLOSE_RE,'}').replace(ENC_CARET_RE,'^');}/**
- * Encode characters that need to be encoded query values on the query
- * section of the URL.
- *
- * @param text - string to encode
- * @returns encoded string
- */function encodeQueryValue(text){return commonEncode(text)// Encode the space as +, encode the + to differentiate it from the space
- .replace(PLUS_RE,'%2B').replace(ENC_SPACE_RE,'+').replace(HASH_RE,'%23').replace(AMPERSAND_RE,'%26').replace(ENC_BACKTICK_RE,'`').replace(ENC_CURLY_OPEN_RE,'{').replace(ENC_CURLY_CLOSE_RE,'}').replace(ENC_CARET_RE,'^');}/**
- * Like `encodeQueryValue` but also encodes the `=` character.
- *
- * @param text - string to encode
- */function encodeQueryKey(text){return encodeQueryValue(text).replace(EQUAL_RE,'%3D');}/**
- * Encode characters that need to be encoded on the path section of the URL.
- *
- * @param text - string to encode
- * @returns encoded string
- */function encodePath(text){return commonEncode(text).replace(HASH_RE,'%23').replace(IM_RE,'%3F');}/**
- * Encode characters that need to be encoded on the path section of the URL as a
- * param. This function encodes everything {@link encodePath} does plus the
- * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty
- * string instead.
- *
- * @param text - string to encode
- * @returns encoded string
- */function encodeParam(text){return text==null?'':encodePath(text).replace(SLASH_RE,'%2F');}/**
- * Decode text using `decodeURIComponent`. Returns the original text if it
- * fails.
- *
- * @param text - string to decode
- * @returns decoded string
- */function decode$2(text){try{return decodeURIComponent(''+text);}catch(err){}return''+text;}/**
- * Transforms a queryString into a {@link LocationQuery} object. Accept both, a
- * version with the leading `?` and without Should work as URLSearchParams
- * @internal
- *
- * @param search - search string to parse
- * @returns a query object
- */function parseQuery(search){var query={};// avoid creating an object with an empty key and empty value
- // because of split('&')
- if(search===''||search==='?')return query;var hasLeadingIM=search[0]==='?';var searchParams=(hasLeadingIM?search.slice(1):search).split('&');for(var i=0;i<searchParams.length;++i){// pre decode the + into space
- var searchParam=searchParams[i].replace(PLUS_RE,' ');// allow the = character
- var eqPos=searchParam.indexOf('=');var key=decode$2(eqPos<0?searchParam:searchParam.slice(0,eqPos));var value=eqPos<0?null:decode$2(searchParam.slice(eqPos+1));if(key in query){// an extra variable for ts types
- var currentValue=query[key];if(!Array.isArray(currentValue)){currentValue=query[key]=[currentValue];}currentValue.push(value);}else{query[key]=value;}}return query;}/**
- * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it
- * doesn't prepend a `?`
- *
- * @internal
- *
- * @param query - query object to stringify
- * @returns string version of the query without the leading `?`
- */function stringifyQuery(query){var search='';var _loop3=function _loop3(_key14){var value=query[_key14];_key14=encodeQueryKey(_key14);if(value==null){// only null adds the value
- if(value!==undefined){search+=(search.length?'&':'')+_key14;}key=_key14;return"continue";}// keep null values
- var values=Array.isArray(value)?value.map(function(v){return v&&encodeQueryValue(v);}):[value&&encodeQueryValue(value)];values.forEach(function(value){// skip undefined values in arrays as if they were not present
- // smaller code than using filter
- if(value!==undefined){// only append & with non-empty search
- search+=(search.length?'&':'')+_key14;if(value!=null)search+='='+value;}});key=_key14;};for(var key in query){var _ret=_loop3(key);if(_ret==="continue")continue;}return search;}/**
- * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting
- * numbers into strings, removing keys with an undefined value and replacing
- * undefined with null in arrays
- *
- * @param query - query object to normalize
- * @returns a normalized query object
- */function normalizeQuery(query){var normalizedQuery={};for(var _key15 in query){var value=query[_key15];if(value!==undefined){normalizedQuery[_key15]=Array.isArray(value)?value.map(function(v){return v==null?null:''+v;}):value==null?value:''+value;}}return normalizedQuery;}/**
- * Create a list of callbacks that can be reset. Used to create before and after navigation guards list
- */function useCallbacks(){var handlers=[];function add(handler){handlers.push(handler);return function(){var i=handlers.indexOf(handler);if(i>-1)handlers.splice(i,1);};}function reset(){handlers=[];}return{add:add,list:function list(){return handlers;},reset:reset};}function guardToPromiseFn(guard,to,from,record,name){// keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place
- var enterCallbackArray=record&&(// name is defined if record is because of the function overload
- record.enterCallbacks[name]=record.enterCallbacks[name]||[]);return function(){return new Promise(function(resolve,reject){var next=function next(valid){if(valid===false)reject(createRouterError(4/* NAVIGATION_ABORTED */,{from:from,to:to}));else if(valid instanceof Error){reject(valid);}else if(isRouteLocation(valid)){reject(createRouterError(2/* NAVIGATION_GUARD_REDIRECT */,{from:to,to:valid}));}else{if(enterCallbackArray&&// since enterCallbackArray is truthy, both record and name also are
- record.enterCallbacks[name]===enterCallbackArray&&typeof valid==='function')enterCallbackArray.push(valid);resolve();}};// wrapping with Promise.resolve allows it to work with both async and sync guards
- var guardReturn=guard.call(record&&record.instances[name],to,from,next);var guardCall=Promise.resolve(guardReturn);if(guard.length<3)guardCall=guardCall.then(next);guardCall.catch(function(err){return reject(err);});});};}function extractComponentsGuards(matched,guardType,to,from){var guards=[];var _iterator9=_createForOfIteratorHelper(matched),_step9;try{var _loop4=function _loop4(){var record=_step9.value;var _loop5=function _loop5(_name5){var rawComponent=record.components[_name5];// skip update and leave guards if the route component is not mounted
- if(guardType!=='beforeRouteEnter'&&!record.instances[_name5])return"continue";if(isRouteComponent(rawComponent)){// __vccOpts is added by vue-class-component and contain the regular options
- var options=rawComponent.__vccOpts||rawComponent;var guard=options[guardType];guard&&guards.push(guardToPromiseFn(guard,to,from,record,_name5));}else{// start requesting the chunk already
- var componentPromise=rawComponent();guards.push(function(){return componentPromise.then(function(resolved){if(!resolved)return Promise.reject(new Error("Couldn't resolve component \"".concat(_name5,"\" at \"").concat(record.path,"\"")));var resolvedComponent=isESModule(resolved)?resolved.default:resolved;// replace the function with the resolved component
- record.components[_name5]=resolvedComponent;// __vccOpts is added by vue-class-component and contain the regular options
- var options=resolvedComponent.__vccOpts||resolvedComponent;var guard=options[guardType];return guard&&guardToPromiseFn(guard,to,from,record,_name5)();});});}};for(var _name5 in record.components){var _ret2=_loop5(_name5);if(_ret2==="continue")continue;}};for(_iterator9.s();!(_step9=_iterator9.n()).done;){_loop4();}}catch(err){_iterator9.e(err);}finally{_iterator9.f();}return guards;}/**
- * Allows differentiating lazy components from functional components and vue-class-component
- *
- * @param component
- */function isRouteComponent(component){return _typeof2(component)==='object'||'displayName'in component||'props'in component||'__vccOpts'in component;}// TODO: we could allow currentRoute as a prop to expose `isActive` and
- // `isExactActive` behavior should go through an RFC
- function useLink(props){var router=inject(routerKey);var currentRoute=inject(routeLocationKey);var route=computed(function(){return router.resolve(unref(props.to));});var activeRecordIndex=computed(function(){var matched=route.value.matched;var length=matched.length;var routeMatched=matched[length-1];var currentMatched=currentRoute.matched;if(!routeMatched||!currentMatched.length)return-1;var index=currentMatched.findIndex(isSameRouteRecord.bind(null,routeMatched));if(index>-1)return index;// possible parent record
- var parentRecordPath=getOriginalPath(matched[length-2]);return(// we are dealing with nested routes
- length>1&&// if the parent and matched route have the same path, this link is
- // referring to the empty child. Or we currently are on a different
- // child of the same parent
- getOriginalPath(routeMatched)===parentRecordPath&&// avoid comparing the child with its parent
- currentMatched[currentMatched.length-1].path!==parentRecordPath?currentMatched.findIndex(isSameRouteRecord.bind(null,matched[length-2])):index);});var isActive=computed(function(){return activeRecordIndex.value>-1&&includesParams(currentRoute.params,route.value.params);});var isExactActive=computed(function(){return activeRecordIndex.value>-1&&activeRecordIndex.value===currentRoute.matched.length-1&&isSameRouteLocationParams(currentRoute.params,route.value.params);});function navigate(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(guardEvent(e)){return router[unref(props.replace)?'replace':'push'](unref(props.to)// avoid uncaught errors are they are logged anyway
- ).catch(noop$1);}return Promise.resolve();}return{route:route,href:computed(function(){return route.value.href;}),isActive:isActive,isExactActive:isExactActive,navigate:navigate};}var RouterLinkImpl=/*#__PURE__*/defineComponent({name:'RouterLink',props:{to:{type:[String,Object],required:true},replace:Boolean,activeClass:String,// inactiveClass: String,
- exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:'page'}},useLink:useLink,setup:function setup(props,_ref34){var slots=_ref34.slots;var link=reactive(useLink(props));var _inject=inject(routerKey),options=_inject.options;var elClass=computed(function(){var _ref35;return _ref35={},_defineProperty2(_ref35,getLinkClass(props.activeClass,options.linkActiveClass,'router-link-active'),link.isActive),_defineProperty2(_ref35,getLinkClass(props.exactActiveClass,options.linkExactActiveClass,'router-link-exact-active'),link.isExactActive),_ref35;});return function(){var children=slots.default&&slots.default(link);return props.custom?children:h('a',{'aria-current':link.isExactActive?props.ariaCurrentValue:null,href:link.href,// this would override user added attrs but Vue will still add
- // the listener so we end up triggering both
- onClick:link.navigate,class:elClass.value},children);};}});// export the public type for h/tsx inference
- // also to avoid inline import() in generated d.ts files
- /**
- * Component to render a link that triggers a navigation on click.
- */var RouterLink=RouterLinkImpl;function guardEvent(e){// don't redirect with control keys
- if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;// don't redirect when preventDefault called
- if(e.defaultPrevented)return;// don't redirect on right click
- if(e.button!==undefined&&e.button!==0)return;// don't redirect if `target="_blank"`
- // @ts-expect-error getAttribute does exist
- if(e.currentTarget&&e.currentTarget.getAttribute){// @ts-expect-error getAttribute exists
- var target=e.currentTarget.getAttribute('target');if(/\b_blank\b/i.test(target))return;}// this may be a Weex event which doesn't have this method
- if(e.preventDefault)e.preventDefault();return true;}function includesParams(outer,inner){var _loop6=function _loop6(_key16){var innerValue=inner[_key16];var outerValue=outer[_key16];if(typeof innerValue==='string'){if(innerValue!==outerValue)return{v:false};}else{if(!Array.isArray(outerValue)||outerValue.length!==innerValue.length||innerValue.some(function(value,i){return value!==outerValue[i];}))return{v:false};}};for(var _key16 in inner){var _ret3=_loop6(_key16);if(_typeof2(_ret3)==="object")return _ret3.v;}return true;}/**
- * Get the original path value of a record by following its aliasOf
- * @param record
- */function getOriginalPath(record){return record?record.aliasOf?record.aliasOf.path:record.path:'';}/**
- * Utility class to get the active class based on defaults.
- * @param propClass
- * @param globalClass
- * @param defaultClass
- */var getLinkClass=function getLinkClass(propClass,globalClass,defaultClass){return propClass!=null?propClass:globalClass!=null?globalClass:defaultClass;};var RouterViewImpl=/*#__PURE__*/defineComponent({name:'RouterView',// #674 we manually inherit them
- inheritAttrs:false,props:{name:{type:String,default:'default'},route:Object},setup:function setup(props,_ref36){var attrs=_ref36.attrs,slots=_ref36.slots;var injectedRoute=inject(routerViewLocationKey);var routeToDisplay=computed(function(){return props.route||injectedRoute.value;});var depth=inject(viewDepthKey,0);var matchedRouteRef=computed(function(){return routeToDisplay.value.matched[depth];});provide(viewDepthKey,depth+1);provide(matchedRouteKey,matchedRouteRef);provide(routerViewLocationKey,routeToDisplay);var viewRef=ref();// watch at the same time the component instance, the route record we are
- // rendering, and the name
- watch(function(){return[viewRef.value,matchedRouteRef.value,props.name];},function(_ref37,_ref38){var _ref39=_slicedToArray(_ref37,3),instance=_ref39[0],to=_ref39[1],name=_ref39[2];var _ref40=_slicedToArray(_ref38,3),oldInstance=_ref40[0],from=_ref40[1],oldName=_ref40[2];// copy reused instances
- if(to){// this will update the instance for new instances as well as reused
- // instances when navigating to a new route
- to.instances[name]=instance;// the component instance is reused for a different route or name so
- // we copy any saved update or leave guards. With async setup, the
- // mounting component will mount before the matchedRoute changes,
- // making instance === oldInstance, so we check if guards have been
- // added before. This works because we remove guards when
- // unmounting/deactivating components
- if(from&&from!==to&&instance&&instance===oldInstance){if(!to.leaveGuards.size){to.leaveGuards=from.leaveGuards;}if(!to.updateGuards.size){to.updateGuards=from.updateGuards;}}}// trigger beforeRouteEnter next callbacks
- if(instance&&to&&(// if there is no instance but to and from are the same this might be
- // the first visit
- !from||!isSameRouteRecord(to,from)||!oldInstance)){(to.enterCallbacks[name]||[]).forEach(function(callback){return callback(instance);});}},{flush:'post'});return function(){var route=routeToDisplay.value;var matchedRoute=matchedRouteRef.value;var ViewComponent=matchedRoute&&matchedRoute.components[props.name];// we need the value at the time we render because when we unmount, we
- // navigated to a different location so the value is different
- var currentName=props.name;if(!ViewComponent){return normalizeSlot(slots.default,{Component:ViewComponent,route:route});}// props from route configuration
- var routePropsOption=matchedRoute.props[props.name];var routeProps=routePropsOption?routePropsOption===true?route.params:typeof routePropsOption==='function'?routePropsOption(route):routePropsOption:null;var onVnodeUnmounted=function onVnodeUnmounted(vnode){// remove the instance reference to prevent leak
- if(vnode.component.isUnmounted){matchedRoute.instances[currentName]=null;}};var component=h(ViewComponent,assign$1({},routeProps,attrs,{onVnodeUnmounted:onVnodeUnmounted,ref:viewRef}));return(// pass the vnode to the slot as a prop.
- // h and <component :is="..."> both accept vnodes
- normalizeSlot(slots.default,{Component:component,route:route})||component);};}});function normalizeSlot(slot,data){if(!slot)return null;var slotContent=slot(data);return slotContent.length===1?slotContent[0]:slotContent;}// export the public type for h/tsx inference
- // also to avoid inline import() in generated d.ts files
- /**
- * Component to display the current route the user is at.
- */var RouterView=exports('R',RouterViewImpl);/**
- * Creates a Router instance that can be used by a Vue app.
- *
- * @param options - {@link RouterOptions}
- */function createRouter(options){var matcher=createRouterMatcher(options.routes,options);var parseQuery$1=options.parseQuery||parseQuery;var stringifyQuery$1=options.stringifyQuery||stringifyQuery;var routerHistory=options.history;var beforeGuards=useCallbacks();var beforeResolveGuards=useCallbacks();var afterGuards=useCallbacks();var currentRoute=shallowRef(START_LOCATION_NORMALIZED);var pendingLocation=START_LOCATION_NORMALIZED;// leave the scrollRestoration if no scrollBehavior is provided
- if(isBrowser&&options.scrollBehavior&&'scrollRestoration'in history){history.scrollRestoration='manual';}var normalizeParams=applyToParams.bind(null,function(paramValue){return''+paramValue;});var encodeParams=applyToParams.bind(null,encodeParam);var decodeParams=// @ts-expect-error: intentionally avoid the type check
- applyToParams.bind(null,decode$2);function addRoute(parentOrRoute,route){var parent;var record;if(isRouteName(parentOrRoute)){parent=matcher.getRecordMatcher(parentOrRoute);record=route;}else{record=parentOrRoute;}return matcher.addRoute(record,parent);}function removeRoute(name){var recordMatcher=matcher.getRecordMatcher(name);if(recordMatcher){matcher.removeRoute(recordMatcher);}}function getRoutes(){return matcher.getRoutes().map(function(routeMatcher){return routeMatcher.record;});}function hasRoute(name){return!!matcher.getRecordMatcher(name);}function resolve(rawLocation,currentLocation){// const objectLocation = routerLocationAsObject(rawLocation)
- // we create a copy to modify it later
- currentLocation=assign$1({},currentLocation||currentRoute.value);if(typeof rawLocation==='string'){var locationNormalized=parseURL(parseQuery$1,rawLocation,currentLocation.path);var _matchedRoute=matcher.resolve({path:locationNormalized.path},currentLocation);var _href=routerHistory.createHref(locationNormalized.fullPath);// locationNormalized is always a new object
- return assign$1(locationNormalized,_matchedRoute,{params:decodeParams(_matchedRoute.params),hash:decode$2(locationNormalized.hash),redirectedFrom:undefined,href:_href});}var matcherLocation;// path could be relative in object as well
- if('path'in rawLocation){matcherLocation=assign$1({},rawLocation,{path:parseURL(parseQuery$1,rawLocation.path,currentLocation.path).path});}else{// remove any nullish param
- var targetParams=assign$1({},rawLocation.params);for(var _key17 in targetParams){if(targetParams[_key17]==null){delete targetParams[_key17];}}// pass encoded values to the matcher so it can produce encoded path and fullPath
- matcherLocation=assign$1({},rawLocation,{params:encodeParams(rawLocation.params)});// current location params are decoded, we need to encode them in case the
- // matcher merges the params
- currentLocation.params=encodeParams(currentLocation.params);}var matchedRoute=matcher.resolve(matcherLocation,currentLocation);var hash=rawLocation.hash||'';// decoding them) the matcher might have merged current location params so
- // we need to run the decoding again
- matchedRoute.params=normalizeParams(decodeParams(matchedRoute.params));var fullPath=stringifyURL(stringifyQuery$1,assign$1({},rawLocation,{hash:encodeHash(hash),path:matchedRoute.path}));var href=routerHistory.createHref(fullPath);return assign$1({fullPath:fullPath,// keep the hash encoded so fullPath is effectively path + encodedQuery +
- // hash
- hash:hash,query:// if the user is using a custom query lib like qs, we might have
- // nested objects, so we keep the query as is, meaning it can contain
- // numbers at `$route.query`, but at the point, the user will have to
- // use their own type anyway.
- // https://github.com/vuejs/vue-router-next/issues/328#issuecomment-649481567
- stringifyQuery$1===stringifyQuery?normalizeQuery(rawLocation.query):rawLocation.query||{}},matchedRoute,{redirectedFrom:undefined,href:href});}function locationAsObject(to){return typeof to==='string'?parseURL(parseQuery$1,to,currentRoute.value.path):assign$1({},to);}function checkCanceledNavigation(to,from){if(pendingLocation!==to){return createRouterError(8/* NAVIGATION_CANCELLED */,{from:from,to:to});}}function push(to){return pushWithRedirect(to);}function replace(to){return push(assign$1(locationAsObject(to),{replace:true}));}function handleRedirectRecord(to){var lastMatched=to.matched[to.matched.length-1];if(lastMatched&&lastMatched.redirect){var redirect=lastMatched.redirect;var newTargetLocation=typeof redirect==='function'?redirect(to):redirect;if(typeof newTargetLocation==='string'){newTargetLocation=newTargetLocation.includes('?')||newTargetLocation.includes('#')?newTargetLocation=locationAsObject(newTargetLocation):// force empty params
- {path:newTargetLocation};// @ts-expect-error: force empty params when a string is passed to let
- // the router parse them again
- newTargetLocation.params={};}return assign$1({query:to.query,hash:to.hash,params:to.params},newTargetLocation);}}function pushWithRedirect(to,redirectedFrom){var targetLocation=pendingLocation=resolve(to);var from=currentRoute.value;var data=to.state;var force=to.force;// to could be a string where `replace` is a function
- var replace=to.replace===true;var shouldRedirect=handleRedirectRecord(targetLocation);if(shouldRedirect)return pushWithRedirect(assign$1(locationAsObject(shouldRedirect),{state:data,force:force,replace:replace}),// keep original redirectedFrom if it exists
- redirectedFrom||targetLocation);// if it was a redirect we already called `pushWithRedirect` above
- var toLocation=targetLocation;toLocation.redirectedFrom=redirectedFrom;var failure;if(!force&&isSameRouteLocation(stringifyQuery$1,from,targetLocation)){failure=createRouterError(16/* NAVIGATION_DUPLICATED */,{to:toLocation,from:from});// trigger scroll to allow scrolling to the same anchor
- handleScroll(from,from,// this is a push, the only way for it to be triggered from a
- // history.listen is with a redirect, which makes it become a push
- true,// This cannot be the first navigation because the initial location
- // cannot be manually navigated to
- false);}return(failure?Promise.resolve(failure):navigate(toLocation,from)).catch(function(error){return isNavigationFailure(error)?error:// reject any unknown error
- triggerError(error,toLocation,from);}).then(function(failure){if(failure){if(isNavigationFailure(failure,2/* NAVIGATION_GUARD_REDIRECT */)){return pushWithRedirect(// keep options
- assign$1(locationAsObject(failure.to),{state:data,force:force,replace:replace}),// preserve the original redirectedFrom if any
- redirectedFrom||toLocation);}}else{// if we fail we don't finalize the navigation
- failure=finalizeNavigation(toLocation,from,true,replace,data);}triggerAfterEach(toLocation,from,failure);return failure;});}/**
- * Helper to reject and skip all navigation guards if a new navigation happened
- * @param to
- * @param from
- */function checkCanceledNavigationAndReject(to,from){var error=checkCanceledNavigation(to,from);return error?Promise.reject(error):Promise.resolve();}// TODO: refactor the whole before guards by internally using router.beforeEach
- function navigate(to,from){var guards;var _extractChangingRecor=extractChangingRecords(to,from),_extractChangingRecor2=_slicedToArray(_extractChangingRecor,3),leavingRecords=_extractChangingRecor2[0],updatingRecords=_extractChangingRecor2[1],enteringRecords=_extractChangingRecor2[2];// all components here have been resolved once because we are leaving
- guards=extractComponentsGuards(leavingRecords.reverse(),'beforeRouteLeave',to,from);// leavingRecords is already reversed
- var _iterator10=_createForOfIteratorHelper(leavingRecords),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var record=_step10.value;record.leaveGuards.forEach(function(guard){guards.push(guardToPromiseFn(guard,to,from));});}}catch(err){_iterator10.e(err);}finally{_iterator10.f();}var canceledNavigationCheck=checkCanceledNavigationAndReject.bind(null,to,from);guards.push(canceledNavigationCheck);// run the queue of per route beforeRouteLeave guards
- return runGuardQueue(guards).then(function(){// check global guards beforeEach
- guards=[];var _iterator11=_createForOfIteratorHelper(beforeGuards.list()),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var guard=_step11.value;guards.push(guardToPromiseFn(guard,to,from));}}catch(err){_iterator11.e(err);}finally{_iterator11.f();}guards.push(canceledNavigationCheck);return runGuardQueue(guards);}).then(function(){// check in components beforeRouteUpdate
- guards=extractComponentsGuards(updatingRecords,'beforeRouteUpdate',to,from);var _iterator12=_createForOfIteratorHelper(updatingRecords),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var record=_step12.value;record.updateGuards.forEach(function(guard){guards.push(guardToPromiseFn(guard,to,from));});}}catch(err){_iterator12.e(err);}finally{_iterator12.f();}guards.push(canceledNavigationCheck);// run the queue of per route beforeEnter guards
- return runGuardQueue(guards);}).then(function(){// check the route beforeEnter
- guards=[];var _iterator13=_createForOfIteratorHelper(to.matched),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var record=_step13.value;// do not trigger beforeEnter on reused views
- if(record.beforeEnter&&!from.matched.includes(record)){if(Array.isArray(record.beforeEnter)){var _iterator14=_createForOfIteratorHelper(record.beforeEnter),_step14;try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var beforeEnter=_step14.value;guards.push(guardToPromiseFn(beforeEnter,to,from));}}catch(err){_iterator14.e(err);}finally{_iterator14.f();}}else{guards.push(guardToPromiseFn(record.beforeEnter,to,from));}}}}catch(err){_iterator13.e(err);}finally{_iterator13.f();}guards.push(canceledNavigationCheck);// run the queue of per route beforeEnter guards
- return runGuardQueue(guards);}).then(function(){// NOTE: at this point to.matched is normalized and does not contain any () => Promise<Component>
- // clear existing enterCallbacks, these are added by extractComponentsGuards
- to.matched.forEach(function(record){return record.enterCallbacks={};});// check in-component beforeRouteEnter
- guards=extractComponentsGuards(enteringRecords,'beforeRouteEnter',to,from);guards.push(canceledNavigationCheck);// run the queue of per route beforeEnter guards
- return runGuardQueue(guards);}).then(function(){// check global guards beforeResolve
- guards=[];var _iterator15=_createForOfIteratorHelper(beforeResolveGuards.list()),_step15;try{for(_iterator15.s();!(_step15=_iterator15.n()).done;){var guard=_step15.value;guards.push(guardToPromiseFn(guard,to,from));}}catch(err){_iterator15.e(err);}finally{_iterator15.f();}guards.push(canceledNavigationCheck);return runGuardQueue(guards);})// catch any navigation canceled
- .catch(function(err){return isNavigationFailure(err,8/* NAVIGATION_CANCELLED */)?err:Promise.reject(err);});}function triggerAfterEach(to,from,failure){// navigation is confirmed, call afterGuards
- // TODO: wrap with error handlers
- var _iterator16=_createForOfIteratorHelper(afterGuards.list()),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var guard=_step16.value;guard(to,from,failure);}}catch(err){_iterator16.e(err);}finally{_iterator16.f();}}/**
- * - Cleans up any navigation guards
- * - Changes the url if necessary
- * - Calls the scrollBehavior
- */function finalizeNavigation(toLocation,from,isPush,replace,data){// a more recent navigation took place
- var error=checkCanceledNavigation(toLocation,from);if(error)return error;// only consider as push if it's not the first navigation
- var isFirstNavigation=from===START_LOCATION_NORMALIZED;var state=!isBrowser?{}:history.state;// change URL only if the user did a push/replace and if it's not the initial navigation because
- // it's just reflecting the url
- if(isPush){// on the initial navigation, we want to reuse the scroll position from
- // history state if it exists
- if(replace||isFirstNavigation)routerHistory.replace(toLocation.fullPath,assign$1({scroll:isFirstNavigation&&state&&state.scroll},data));else routerHistory.push(toLocation.fullPath,data);}// accept current navigation
- currentRoute.value=toLocation;handleScroll(toLocation,from,isPush,isFirstNavigation);markAsReady();}var removeHistoryListener;// attach listener to history to trigger navigations
- function setupListeners(){removeHistoryListener=routerHistory.listen(function(to,_from,info){// cannot be a redirect route because it was in history
- var toLocation=resolve(to);// due to dynamic routing, and to hash history with manual navigation
- // (manually changing the url or calling history.hash = '#/somewhere'),
- // there could be a redirect record in history
- var shouldRedirect=handleRedirectRecord(toLocation);if(shouldRedirect){pushWithRedirect(assign$1(shouldRedirect,{replace:true}),toLocation).catch(noop$1);return;}pendingLocation=toLocation;var from=currentRoute.value;// TODO: should be moved to web history?
- if(isBrowser){saveScrollPosition(getScrollKey(from.fullPath,info.delta),computeScrollPosition());}navigate(toLocation,from).catch(function(error){if(isNavigationFailure(error,4/* NAVIGATION_ABORTED */|8/* NAVIGATION_CANCELLED */)){return error;}if(isNavigationFailure(error,2/* NAVIGATION_GUARD_REDIRECT */)){// Here we could call if (info.delta) routerHistory.go(-info.delta,
- // false) but this is bug prone as we have no way to wait the
- // navigation to be finished before calling pushWithRedirect. Using
- // a setTimeout of 16ms seems to work but there is not guarantee for
- // it to work on every browser. So Instead we do not restore the
- // history entry and trigger a new navigation as requested by the
- // navigation guard.
- // the error is already handled by router.push we just want to avoid
- // logging the error
- pushWithRedirect(error.to,toLocation// avoid an uncaught rejection, let push call triggerError
- ).then(function(failure){// manual change in hash history #916 ending up in the URL not
- // changing but it was changed by the manual url change, so we
- // need to manually change it ourselves
- if(isNavigationFailure(failure,4/* NAVIGATION_ABORTED */|16/* NAVIGATION_DUPLICATED */)&&!info.delta&&info.type===NavigationType.pop){routerHistory.go(-1,false);}}).catch(noop$1);// avoid the then branch
- return Promise.reject();}// do not restore history on unknown direction
- if(info.delta)routerHistory.go(-info.delta,false);// unrecognized error, transfer to the global handler
- return triggerError(error,toLocation,from);}).then(function(failure){failure=failure||finalizeNavigation(// after navigation, all matched components are resolved
- toLocation,from,false);// revert the navigation
- if(failure){if(info.delta){routerHistory.go(-info.delta,false);}else if(info.type===NavigationType.pop&&isNavigationFailure(failure,4/* NAVIGATION_ABORTED */|16/* NAVIGATION_DUPLICATED */)){// manual change in hash history #916
- // it's like a push but lacks the information of the direction
- routerHistory.go(-1,false);}}triggerAfterEach(toLocation,from,failure);}).catch(noop$1);});}// Initialization and Errors
- var readyHandlers=useCallbacks();var errorHandlers=useCallbacks();var ready;/**
- * Trigger errorHandlers added via onError and throws the error as well
- *
- * @param error - error to throw
- * @param to - location we were navigating to when the error happened
- * @param from - location we were navigating from when the error happened
- * @returns the error as a rejected promise
- */function triggerError(error,to,from){markAsReady(error);var list=errorHandlers.list();if(list.length){list.forEach(function(handler){return handler(error,to,from);});}else{console.error(error);}return Promise.reject(error);}function isReady(){if(ready&¤tRoute.value!==START_LOCATION_NORMALIZED)return Promise.resolve();return new Promise(function(resolve,reject){readyHandlers.add([resolve,reject]);});}/**
- * Mark the router as ready, resolving the promised returned by isReady(). Can
- * only be called once, otherwise does nothing.
- * @param err - optional error
- */function markAsReady(err){if(ready)return;ready=true;setupListeners();readyHandlers.list().forEach(function(_ref41){var _ref42=_slicedToArray(_ref41,2),resolve=_ref42[0],reject=_ref42[1];return err?reject(err):resolve();});readyHandlers.reset();}// Scroll behavior
- function handleScroll(to,from,isPush,isFirstNavigation){var scrollBehavior=options.scrollBehavior;if(!isBrowser||!scrollBehavior)return Promise.resolve();var scrollPosition=!isPush&&getSavedScrollPosition(getScrollKey(to.fullPath,0))||(isFirstNavigation||!isPush)&&history.state&&history.state.scroll||null;return nextTick().then(function(){return scrollBehavior(to,from,scrollPosition);}).then(function(position){return position&&scrollToPosition(position);}).catch(function(err){return triggerError(err,to,from);});}var go=function go(delta){return routerHistory.go(delta);};var started;var installedApps=new Set();var router={currentRoute:currentRoute,addRoute:addRoute,removeRoute:removeRoute,hasRoute:hasRoute,getRoutes:getRoutes,resolve:resolve,options:options,push:push,replace:replace,go:go,back:function back(){return go(-1);},forward:function forward(){return go(1);},beforeEach:beforeGuards.add,beforeResolve:beforeResolveGuards.add,afterEach:afterGuards.add,onError:errorHandlers.add,isReady:isReady,install:function install(app){var router=this;app.component('RouterLink',RouterLink);app.component('RouterView',RouterView);app.config.globalProperties.$router=router;Object.defineProperty(app.config.globalProperties,'$route',{enumerable:true,get:function get(){return unref(currentRoute);}});// this initial navigation is only necessary on client, on server it doesn't
- // make sense because it will create an extra unnecessary navigation and could
- // lead to problems
- if(isBrowser&&// used for the initial navigation client side to avoid pushing
- // multiple times when the router is used in multiple apps
- !started&¤tRoute.value===START_LOCATION_NORMALIZED){// see above
- started=true;push(routerHistory.location).catch(function(err){});}var reactiveRoute={};var _loop7=function _loop7(_key18){// @ts-expect-error: the key matches
- reactiveRoute[_key18]=computed(function(){return currentRoute.value[_key18];});};for(var _key18 in START_LOCATION_NORMALIZED){_loop7(_key18);}app.provide(routerKey,router);app.provide(routeLocationKey,reactive(reactiveRoute));app.provide(routerViewLocationKey,currentRoute);var unmountApp=app.unmount;installedApps.add(app);app.unmount=function(){installedApps.delete(app);// the router is not attached to an app anymore
- if(installedApps.size<1){// invalidate the current navigation
- pendingLocation=START_LOCATION_NORMALIZED;removeHistoryListener&&removeHistoryListener();currentRoute.value=START_LOCATION_NORMALIZED;started=false;ready=false;}unmountApp();};}};return router;}function runGuardQueue(guards){return guards.reduce(function(promise,guard){return promise.then(function(){return guard();});},Promise.resolve());}function extractChangingRecords(to,from){var leavingRecords=[];var updatingRecords=[];var enteringRecords=[];var len=Math.max(from.matched.length,to.matched.length);var _loop8=function _loop8(i){var recordFrom=from.matched[i];if(recordFrom){if(to.matched.find(function(record){return isSameRouteRecord(record,recordFrom);}))updatingRecords.push(recordFrom);else leavingRecords.push(recordFrom);}var recordTo=to.matched[i];if(recordTo){// the type doesn't matter because we are comparing per reference
- if(!from.matched.find(function(record){return isSameRouteRecord(record,recordTo);})){enteringRecords.push(recordTo);}}};for(var i=0;i<len;i++){_loop8(i);}return[leavingRecords,updatingRecords,enteringRecords];}function noop(){}var extend$1=Object.assign;var inBrowser$1=typeof window!=='undefined';// eslint-disable-next-line
- function get(object,path){var keys=path.split('.');var result=object;keys.forEach(function(key){var _result$key;result=(_result$key=result[key])!=null?_result$key:'';});return result;}function pick(obj,keys,ignoreUndefined){return keys.reduce(function(ret,key){if(!ignoreUndefined||obj[key]!==undefined){ret[key]=obj[key];}return ret;},{});}/**
- * prop type helpers
- * help us to write less code and reduce bundle size
- */var unknownProp=null;var numericProp=[Number,String];var truthProp={type:Boolean,default:true};var makeRequiredProp=function makeRequiredProp(type){return{type:type,required:true};};var makeArrayProp=function makeArrayProp(){return{type:Array,default:function _default(){return[];}};};var makeNumberProp=function makeNumberProp(defaultVal){return{type:Number,default:defaultVal};};var makeNumericProp=function makeNumericProp(defaultVal){return{type:numericProp,default:defaultVal};};var makeStringProp=function makeStringProp(defaultVal){return{type:String,default:defaultVal};};// src/utils.ts
- var inBrowser=typeof window!=="undefined";function raf(fn){return inBrowser?requestAnimationFrame(fn):-1;}function cancelRaf(id){if(inBrowser){cancelAnimationFrame(id);}}function doubleRaf(fn){raf(function(){return raf(fn);});}var isWindow=function isWindow(val){return val===window;};var makeDOMRect=function makeDOMRect(width2,height2){return{top:0,left:0,right:width2,bottom:height2,width:width2,height:height2};};var useRect=function useRect(elementOrRef){var element=unref(elementOrRef);if(isWindow(element)){var width2=element.innerWidth;var height2=element.innerHeight;return makeDOMRect(width2,height2);}if(element==null?void 0:element.getBoundingClientRect){return element.getBoundingClientRect();}return makeDOMRect(0,0);};function useParent(key){var parent=inject(key,null);if(parent){var _instance=getCurrentInstance();var link=parent.link,unlink=parent.unlink,internalChildren=parent.internalChildren;link(_instance);onUnmounted(function(){return unlink(_instance);});var _index2=computed(function(){return internalChildren.indexOf(_instance);});return{parent:parent,index:_index2};}return{parent:null,index:ref(-1)};}function flattenVNodes(children){var result=[];var traverse=function traverse(children2){if(Array.isArray(children2)){children2.forEach(function(child){var _a;if(isVNode(child)){result.push(child);if((_a=child.component)==null?void 0:_a.subTree){result.push(child.component.subTree);traverse(child.component.subTree.children);}if(child.children){traverse(child.children);}}});}};traverse(children);return result;}function sortChildren(parent,publicChildren,internalChildren){var vnodes=flattenVNodes(parent.subTree.children);internalChildren.sort(function(a,b){return vnodes.indexOf(a.vnode)-vnodes.indexOf(b.vnode);});var orderedPublicChildren=internalChildren.map(function(item){return item.proxy;});publicChildren.sort(function(a,b){var indexA=orderedPublicChildren.indexOf(a);var indexB=orderedPublicChildren.indexOf(b);return indexA-indexB;});}function useChildren(key){var publicChildren=reactive([]);var internalChildren=reactive([]);var parent=getCurrentInstance();var linkChildren=function linkChildren(value){var link=function link(child){if(child.proxy){internalChildren.push(child);publicChildren.push(child.proxy);sortChildren(parent,publicChildren,internalChildren);}};var unlink=function unlink(child){var index=internalChildren.indexOf(child);publicChildren.splice(index,1);internalChildren.splice(index,1);};provide(key,Object.assign({link:link,unlink:unlink,children:publicChildren,internalChildren:internalChildren},value));};return{children:publicChildren,linkChildren:linkChildren};}var SECOND=1e3;var MINUTE=60*SECOND;var HOUR=60*MINUTE;var DAY=24*HOUR;function parseTime(time){var days=Math.floor(time/DAY);var hours=Math.floor(time%DAY/HOUR);var minutes=Math.floor(time%HOUR/MINUTE);var seconds=Math.floor(time%MINUTE/SECOND);var milliseconds=Math.floor(time%SECOND);return{total:time,days:days,hours:hours,minutes:minutes,seconds:seconds,milliseconds:milliseconds};}function isSameSecond(time1,time2){return Math.floor(time1/1e3)===Math.floor(time2/1e3);}function useCountDown(options){var rafId;var endTime;var counting;var deactivated;var remain=ref(options.time);var current=computed(function(){return parseTime(remain.value);});var pause=function pause(){counting=false;cancelRaf(rafId);};var getCurrentRemain=function getCurrentRemain(){return Math.max(endTime-Date.now(),0);};var setRemain=function setRemain(value){var _a,_b;remain.value=value;(_a=options.onChange)==null?void 0:_a.call(options,current.value);if(value===0){pause();(_b=options.onFinish)==null?void 0:_b.call(options);}};var microTick=function microTick(){rafId=raf(function(){if(counting){setRemain(getCurrentRemain());if(remain.value>0){microTick();}}});};var macroTick=function macroTick(){rafId=raf(function(){if(counting){var remainRemain=getCurrentRemain();if(!isSameSecond(remainRemain,remain.value)||remainRemain===0){setRemain(remainRemain);}if(remain.value>0){macroTick();}}});};var tick=function tick(){if(!inBrowser){return;}if(options.millisecond){microTick();}else{macroTick();}};var start=function start(){if(!counting){endTime=Date.now()+remain.value;counting=true;tick();}};var reset=function reset(){var totalTime=arguments.length>0&&arguments[0]!==undefined?arguments[0]:options.time;pause();remain.value=totalTime;};onBeforeUnmount(pause);onActivated(function(){if(deactivated){counting=true;deactivated=false;tick();}});onDeactivated(function(){if(counting){pause();deactivated=true;}});return{start:start,pause:pause,reset:reset,current:current};}function onMountedOrActivated(hook){var mounted;onMounted(function(){hook();nextTick(function(){mounted=true;});});onActivated(function(){if(mounted){hook();}});}// src/useEventListener/index.ts
- function useEventListener(type,listener){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!inBrowser){return;}var _options$target=options.target,target=_options$target===void 0?window:_options$target,_options$passive=options.passive,passive=_options$passive===void 0?false:_options$passive,_options$capture=options.capture,capture=_options$capture===void 0?false:_options$capture;var attached;var add=function add(target2){var element=unref(target2);if(element&&!attached){element.addEventListener(type,listener,{capture:capture,passive:passive});attached=true;}};var remove=function remove(target2){var element=unref(target2);if(element&&attached){element.removeEventListener(type,listener,capture);attached=false;}};onUnmounted(function(){return remove(target);});onDeactivated(function(){return remove(target);});onMountedOrActivated(function(){return add(target);});if(isRef(target)){watch(target,function(val,oldVal){remove(oldVal);add(val);});}}var width;var height;function useWindowSize(){if(!width){width=ref(0);height=ref(0);if(inBrowser){var update=function update(){width.value=window.innerWidth;height.value=window.innerHeight;};update();window.addEventListener("resize",update,{passive:true});window.addEventListener("orientationchange",update,{passive:true});}}return{width:width,height:height};}var overflowScrollReg=/scroll|auto/i;var defaultRoot=inBrowser?window:void 0;function isElement$1(node){var ELEMENT_NODE_TYPE=1;return node.tagName!=="HTML"&&node.tagName!=="BODY"&&node.nodeType===ELEMENT_NODE_TYPE;}function getScrollParent(el){var root=arguments.length>1&&arguments[1]!==undefined?arguments[1]:defaultRoot;var node=el;while(node&&node!==root&&isElement$1(node)){var _window$getComputedSt=window.getComputedStyle(node),overflowY=_window$getComputedSt.overflowY;if(overflowScrollReg.test(overflowY)){return node;}node=node.parentNode;}return root;}function useScrollParent(el){var root=arguments.length>1&&arguments[1]!==undefined?arguments[1]:defaultRoot;var scrollParent=ref();onMounted(function(){if(el.value){scrollParent.value=getScrollParent(el.value,root);}});return scrollParent;}var visibility;function usePageVisibility(){if(!visibility){visibility=ref("visible");if(inBrowser){var update=function update(){visibility.value=document.hidden?"hidden":"visible";};update();window.addEventListener("visibilitychange",update);}}return visibility;}var CUSTOM_FIELD_INJECTION_KEY=Symbol("van-field");function useCustomFieldValue(customValue){var field=inject(CUSTOM_FIELD_INJECTION_KEY,null);if(field&&!field.customValue.value){field.customValue.value=customValue;watch(customValue,function(){field.resetValidation();field.validateWithTrigger("onChange");});}}var isDef=function isDef(val){return val!==undefined&&val!==null;};// eslint-disable-next-line @typescript-eslint/ban-types
- var isFunction=function isFunction(val){return typeof val==='function';};var isObject$1=function isObject$1(val){return val!==null&&_typeof2(val)==='object';};var isPromise=function isPromise(val){return isObject$1(val)&&isFunction(val.then)&&isFunction(val.catch);};var isDate$2=function isDate$2(val){return Object.prototype.toString.call(val)==='[object Date]'&&!Number.isNaN(val.getTime());};var isNumeric=function isNumeric(val){return typeof val==='number'||/^\d+(\.\d+)?$/.test(val);};var isIOS$1=function isIOS$1(){return inBrowser$1?/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()):false;};function getScrollTop(el){var top='scrollTop'in el?el.scrollTop:el.pageYOffset;// iOS scroll bounce cause minus scrollTop
- return Math.max(top,0);}function setScrollTop(el,value){if('scrollTop'in el){el.scrollTop=value;}else{el.scrollTo(el.scrollX,value);}}function getRootScrollTop(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;}function setRootScrollTop(value){setScrollTop(window,value);setScrollTop(document.body,value);}// get distance from element top to page top or scroller top
- function getElementTop(el,scroller){if(el===window){return 0;}var scrollTop=scroller?getScrollTop(scroller):getRootScrollTop();return useRect(el).top+scrollTop;}var isIOS=isIOS$1();// hack for iOS12 page scroll
- // see: https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800
- function resetScroll(){if(isIOS){setRootScrollTop(getRootScrollTop());}}var stopPropagation=function stopPropagation(event){return event.stopPropagation();};function preventDefault(event,isStopPropagation){/* istanbul ignore else */if(typeof event.cancelable!=='boolean'||event.cancelable){event.preventDefault();}if(isStopPropagation){stopPropagation(event);}}function isHidden(elementRef){var el=unref(elementRef);if(!el){return false;}var style=window.getComputedStyle(el);var hidden=style.display==='none';// offsetParent returns null in the following situations:
- // 1. The element or its parent element has the display property set to none.
- // 2. The element has the position property set to fixed
- var parentHidden=el.offsetParent===null&&style.position!=='fixed';return hidden||parentHidden;}var _useWindowSize=useWindowSize(),windowWidth=_useWindowSize.width,windowHeight=_useWindowSize.height;function addUnit(value){if(isDef(value)){return isNumeric(value)?value+"px":String(value);}return undefined;}function getSizeStyle(originSize){if(isDef(originSize)){var size=addUnit(originSize);return{width:size,height:size};}}function getZIndexStyle(zIndex){var style={};if(zIndex!==undefined){style.zIndex=+zIndex;}return style;}// cache
- var rootFontSize;function getRootFontSize(){if(!rootFontSize){var doc=document.documentElement;var fontSize=doc.style.fontSize||window.getComputedStyle(doc).fontSize;rootFontSize=parseFloat(fontSize);}return rootFontSize;}function convertRem(value){value=value.replace(/rem/g,'');return+value*getRootFontSize();}function convertVw(value){value=value.replace(/vw/g,'');return+value*windowWidth.value/100;}function convertVh(value){value=value.replace(/vh/g,'');return+value*windowHeight.value/100;}function unitToPx(value){if(typeof value==='number'){return value;}if(inBrowser$1){if(value.includes('rem')){return convertRem(value);}if(value.includes('vw')){return convertVw(value);}if(value.includes('vh')){return convertVh(value);}}return parseFloat(value);}var camelizeRE=/-(\w)/g;var camelize=function camelize(str){return str.replace(camelizeRE,function(_,c){return c.toUpperCase();});};var kebabCase=function kebabCase(str){return str.replace(/([A-Z])/g,'-$1').toLowerCase().replace(/^-/,'');};function padZero(num,targetLength){if(targetLength===void 0){targetLength=2;}var str=num+'';while(str.length<targetLength){str='0'+str;}return str;}/** clamps number within the inclusive lower and upper bounds */var clamp=function clamp(num,min,max){return Math.min(Math.max(num,min),max);};function trimExtraChar(value,char,regExp){var index=value.indexOf(char);if(index===-1){return value;}if(char==='-'&&index!==0){return value.slice(0,index);}return value.slice(0,index+1)+value.slice(index).replace(regExp,'');}function formatNumber(value,allowDot,allowMinus){if(allowDot===void 0){allowDot=true;}if(allowMinus===void 0){allowMinus=true;}if(allowDot){value=trimExtraChar(value,'.',/\./g);}else{value=value.split('.')[0];}if(allowMinus){value=trimExtraChar(value,'-',/-/g);}else{value=value.replace(/-/,'');}var regExp=allowDot?/[^-0-9.]/g:/[^-0-9]/g;return value.replace(regExp,'');}// add num and avoid float number
- var hasOwnProperty$1=Object.prototype.hasOwnProperty;function assignKey(to,from,key){var val=from[key];if(!isDef(val)){return;}if(!hasOwnProperty$1.call(to,key)||!isObject$1(val)){to[key]=val;}else{// eslint-disable-next-line no-use-before-define
- to[key]=deepAssign(Object(to[key]),val);}}function deepAssign(to,from){Object.keys(from).forEach(function(key){assignKey(to,from,key);});return to;}var defaultMessages={name:'姓名',tel:'电话',save:'保存',confirm:'确认',cancel:'取消',delete:'删除',loading:'加载中...',noCoupon:'暂无优惠券',nameEmpty:'请填写姓名',telInvalid:'请填写正确的电话',vanCalendar:{end:'结束',start:'开始',title:'日期选择',confirm:'确定',startEnd:'开始/结束',weekdays:['日','一','二','三','四','五','六'],monthTitle:function monthTitle(year,month){return year+"\u5E74"+month+"\u6708";},rangePrompt:function rangePrompt(maxRange){return"\u6700\u591A\u9009\u62E9 "+maxRange+" \u5929";}},vanCascader:{select:'请选择'},vanContactCard:{addText:'添加联系人'},vanContactList:{addText:'新建联系人'},vanPagination:{prev:'上一页',next:'下一页'},vanPullRefresh:{pulling:'下拉即可刷新...',loosing:'释放即可刷新...'},vanSubmitBar:{label:'合计:'},vanCoupon:{unlimited:'无使用门槛',discount:function discount(_discount){return _discount+"\u6298";},condition:function condition(_condition){return"\u6EE1"+_condition+"\u5143\u53EF\u7528";}},vanCouponCell:{title:'优惠券',count:function count(_count){return _count+"\u5F20\u53EF\u7528";}},vanCouponList:{exchange:'兑换',close:'不使用优惠券',enable:'可用',disabled:'不可用',placeholder:'请输入优惠码'},vanAddressEdit:{area:'地区',postal:'邮政编码',areaEmpty:'请选择地区',addressEmpty:'请填写详细地址',postalEmpty:'邮政编码不正确',defaultAddress:'设为默认收货地址'},vanAddressEditDetail:{label:'详细地址',placeholder:'街道门牌信息'},vanAddressList:{add:'新增地址'}};var lang=ref('zh-CN');var _messages=reactive({'zh-CN':defaultMessages});var Locale={messages:function messages(){return _messages[lang.value];},use:function use(newLang,newMessages){lang.value=newLang;this.add(_defineProperty2({},newLang,newMessages));},add:function add(newMessages){if(newMessages===void 0){newMessages={};}deepAssign(_messages,newMessages);}};var locale=Locale;function createTranslate(name){var prefix=camelize(name)+'.';return function(path){var messages=locale.messages();var message=get(messages,prefix+path)||get(messages,path);for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return isFunction(message)?message.apply(void 0,args):message;};}function genBem(name,mods){if(!mods){return'';}if(typeof mods==='string'){return" "+name+"--"+mods;}if(Array.isArray(mods)){return mods.reduce(function(ret,item){return ret+genBem(name,item);},'');}return Object.keys(mods).reduce(function(ret,key){return ret+(mods[key]?genBem(name,key):'');},'');}/**
- * bem helper
- * b() // 'button'
- * b('text') // 'button__text'
- * b({ disabled }) // 'button button--disabled'
- * b('text', { disabled }) // 'button__text button__text--disabled'
- * b(['disabled', 'primary']) // 'button button--disabled button--primary'
- */function createBEM(name){return function(el,mods){if(el&&typeof el!=='string'){mods=el;el='';}el=el?name+"__"+el:name;return""+el+genBem(el,mods);};}function createNamespace(name){var prefixedName="van-"+name;return[prefixedName,createBEM(prefixedName),createTranslate(prefixedName)];}var BORDER='van-hairline';var BORDER_TOP=BORDER+"--top";var BORDER_BOTTOM=BORDER+"--bottom";var BORDER_SURROUND=BORDER+"--surround";var BORDER_TOP_BOTTOM=BORDER+"--top-bottom";var BORDER_UNSET_TOP_BOTTOM=BORDER+"-unset--top-bottom";var HAPTICS_FEEDBACK='van-haptics-feedback';var FORM_KEY=Symbol('van-form');function callInterceptor(interceptor,_ref){var _ref$args=_ref.args,args=_ref$args===void 0?[]:_ref$args,done=_ref.done,canceled=_ref.canceled;if(interceptor){// eslint-disable-next-line prefer-spread
- var returnVal=interceptor.apply(null,args);if(isPromise(returnVal)){returnVal.then(function(value){if(value){done();}else if(canceled){canceled();}}).catch(noop);}else if(returnVal){done();}else if(canceled){canceled();}}else{done();}}function withInstall(options){options.install=function(app){var name=options.name;app.component(name,options);app.component(camelize("-"+name),options);};return options;}function useExpose(apis){var instance=getCurrentInstance();if(instance){extend$1(instance.proxy,apis);}}/**
- * Vue Router support
- */var routeProps={to:[String,Object],url:String,replace:Boolean};function route(_ref){var to=_ref.to,url=_ref.url,replace=_ref.replace,router=_ref.$router;if(to&&router){router[replace?'replace':'push'](to);}else if(url){replace?location.replace(url):location.href=url;}}function useRoute(){var vm=getCurrentInstance().proxy;return function(){return route(vm);};}var _createNamespace=createNamespace('badge'),_createNamespace2=_slicedToArray(_createNamespace,2),name$C=_createNamespace2[0],bem$B=_createNamespace2[1];var badgeProps={dot:Boolean,max:numericProp,tag:makeStringProp('div'),color:String,offset:Array,content:numericProp,showZero:truthProp,position:makeStringProp('top-right')};var _Badge=defineComponent({name:name$C,props:badgeProps,setup:function setup(props,_ref){var slots=_ref.slots;var hasContent=function hasContent(){if(slots.content){return true;}var content=props.content,showZero=props.showZero;return isDef(content)&&content!==''&&(showZero||content!==0);};var renderContent=function renderContent(){var dot=props.dot,max=props.max,content=props.content;if(!dot&&hasContent()){if(slots.content){return slots.content();}if(isDef(max)&&isNumeric(content)&&+content>max){return max+"+";}return content;}};var style=computed(function(){var style={background:props.color};if(props.offset){var _props$offset=_slicedToArray(props.offset,2),x=_props$offset[0],y=_props$offset[1];if(slots.default){style.top=addUnit(y);if(typeof x==='number'){style.right=addUnit(-x);}else{style.right=x.startsWith('-')?x.replace('-',''):"-"+x;}}else{style.marginTop=addUnit(y);style.marginLeft=addUnit(x);}}return style;});var renderBadge=function renderBadge(){if(hasContent()||props.dot){return createVNode("div",{"class":bem$B([props.position,{dot:props.dot,fixed:!!slots.default}]),"style":style.value},[renderContent()]);}};return function(){if(slots.default){var tag=props.tag;return createVNode(tag,{"class":bem$B('wrapper')},{default:function _default(){return[slots.default(),renderBadge()];}});}return renderBadge();};}});var Badge=withInstall(_Badge);var _createNamespace3=createNamespace('config-provider'),_createNamespace4=_slicedToArray(_createNamespace3,2),name$B=_createNamespace4[0],bem$A=_createNamespace4[1];var CONFIG_PROVIDER_KEY=Symbol(name$B);var configProviderProps={tag:makeStringProp('div'),themeVars:Object,iconPrefix:String};function mapThemeVarsToCSSVars(themeVars){var cssVars={};Object.keys(themeVars).forEach(function(key){cssVars["--van-"+kebabCase(key)]=themeVars[key];});return cssVars;}defineComponent({name:name$B,props:configProviderProps,setup:function setup(props,_ref){var slots=_ref.slots;var style=computed(function(){if(props.themeVars){return mapThemeVarsToCSSVars(props.themeVars);}});provide(CONFIG_PROVIDER_KEY,props);return function(){return createVNode(props.tag,{"class":bem$A(),"style":style.value},{default:function _default(){return[slots.default==null?void 0:slots.default()];}});};}});var _createNamespace5=createNamespace('icon'),_createNamespace6=_slicedToArray(_createNamespace5,2),name$A=_createNamespace6[0],bem$z=_createNamespace6[1];var isImage=function isImage(name){return name==null?void 0:name.includes('/');};var iconProps={dot:Boolean,tag:makeStringProp('i'),name:String,size:numericProp,badge:numericProp,color:String,classPrefix:String};var _Icon=defineComponent({name:name$A,props:iconProps,setup:function setup(props,_ref){var slots=_ref.slots;var config=inject(CONFIG_PROVIDER_KEY,null);var classPrefix=computed(function(){return props.classPrefix||(config==null?void 0:config.iconPrefix)||bem$z();});return function(){var tag=props.tag,dot=props.dot,name=props.name,size=props.size,badge=props.badge,color=props.color;var isImageIcon=isImage(name);return createVNode(Badge,{"dot":dot,"tag":tag,"content":badge,"class":[classPrefix.value,isImageIcon?'':classPrefix.value+"-"+name],"style":{color:color,fontSize:addUnit(size)}},{default:function _default(){return[slots.default==null?void 0:slots.default(),isImageIcon&&createVNode("img",{"class":bem$z('image'),"src":name},null)];}});};}});var Icon=exports('I',withInstall(_Icon));var _createNamespace7=createNamespace('loading'),_createNamespace8=_slicedToArray(_createNamespace7,2),name$z=_createNamespace8[0],bem$y=_createNamespace8[1];var SpinIcon=Array(12).fill(null).map(function(_,index){return createVNode("i",{"class":bem$y('line',String(index+1))},null);});var CircularIcon=createVNode("svg",{"class":bem$y('circular'),"viewBox":"25 25 50 50"},[createVNode("circle",{"cx":"50","cy":"50","r":"20","fill":"none"},null)]);var loadingProps={size:numericProp,type:makeStringProp('circular'),color:String,vertical:Boolean,textSize:numericProp,textColor:String};var _Loading=defineComponent({name:name$z,props:loadingProps,setup:function setup(props,_ref){var slots=_ref.slots;var spinnerStyle=computed(function(){return extend$1({color:props.color},getSizeStyle(props.size));});var renderText=function renderText(){if(slots.default){var _props$textColor;return createVNode("span",{"class":bem$y('text'),"style":{fontSize:addUnit(props.textSize),color:(_props$textColor=props.textColor)!=null?_props$textColor:props.color}},[slots.default()]);}};return function(){var type=props.type,vertical=props.vertical;return createVNode("div",{"class":bem$y([type,{vertical:vertical}])},[createVNode("span",{"class":bem$y('spinner',type),"style":spinnerStyle.value},[type==='spinner'?SpinIcon:CircularIcon]),renderText()]);};}});var Loading=exports('L',withInstall(_Loading));var _createNamespace9=createNamespace('button'),_createNamespace10=_slicedToArray(_createNamespace9,2),name$y=_createNamespace10[0],bem$x=_createNamespace10[1];var buttonProps=extend$1({},routeProps,{tag:makeStringProp('button'),text:String,icon:String,type:makeStringProp('default'),size:makeStringProp('normal'),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:makeStringProp('button'),loadingSize:numericProp,loadingText:String,loadingType:String,iconPosition:makeStringProp('left')});var _Button=defineComponent({name:name$y,props:buttonProps,emits:['click'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var route=useRoute();var renderLoadingIcon=function renderLoadingIcon(){if(slots.loading){return slots.loading();}return createVNode(Loading,{"size":props.loadingSize,"type":props.loadingType,"class":bem$x('loading')},null);};var renderIcon=function renderIcon(){if(props.loading){return renderLoadingIcon();}if(slots.icon){return createVNode("div",{"class":bem$x('icon')},[slots.icon()]);}if(props.icon){return createVNode(Icon,{"name":props.icon,"class":bem$x('icon'),"classPrefix":props.iconPrefix},null);}};var renderText=function renderText(){var text;if(props.loading){text=props.loadingText;}else{text=slots.default?slots.default():props.text;}if(text){return createVNode("span",{"class":bem$x('text')},[text]);}};var getStyle=function getStyle(){var color=props.color,plain=props.plain;if(color){var style={color:plain?color:'white'};if(!plain){// Use background instead of backgroundColor to make linear-gradient work
- style.background=color;}// hide border when color is linear-gradient
- if(color.includes('gradient')){style.border=0;}else{style.borderColor=color;}return style;}};var onClick=function onClick(event){if(props.loading){preventDefault(event);}else if(!props.disabled){emit('click',event);route();}};return function(){var tag=props.tag,type=props.type,size=props.size,block=props.block,round=props.round,plain=props.plain,square=props.square,loading=props.loading,disabled=props.disabled,hairline=props.hairline,nativeType=props.nativeType,iconPosition=props.iconPosition;var classes=[bem$x([type,size,{plain:plain,block:block,round:round,square:square,loading:loading,disabled:disabled,hairline:hairline}]),_defineProperty2({},BORDER_SURROUND,hairline)];return createVNode(tag,{"type":nativeType,"class":classes,"style":getStyle(),"disabled":disabled,"onClick":onClick},{default:function _default(){return[createVNode("div",{"class":bem$x('content')},[iconPosition==='left'&&renderIcon(),renderText(),iconPosition==='right'&&renderIcon()])];}});};}});var Button=exports('B',withInstall(_Button));var popupSharedProps={// whether to show popup
- show:Boolean,// z-index
- zIndex:numericProp,// whether to show overlay
- overlay:truthProp,// transition duration
- duration:numericProp,// teleport
- teleport:[String,Object],// prevent body scroll
- lockScroll:truthProp,// whether to lazy render
- lazyRender:truthProp,// callback function before close
- beforeClose:Function,// overlay custom style
- overlayStyle:Object,// overlay custom class name
- overlayClass:unknownProp,// Initial rendering animation
- transitionAppear:Boolean,// whether to close popup when overlay is clicked
- closeOnClickOverlay:truthProp};var MIN_DISTANCE=10;function getDirection(x,y){if(x>y&&x>MIN_DISTANCE){return'horizontal';}if(y>x&&y>MIN_DISTANCE){return'vertical';}return'';}function useTouch(){var startX=ref(0);var startY=ref(0);var deltaX=ref(0);var deltaY=ref(0);var offsetX=ref(0);var offsetY=ref(0);var direction=ref('');var isVertical=function isVertical(){return direction.value==='vertical';};var isHorizontal=function isHorizontal(){return direction.value==='horizontal';};var reset=function reset(){deltaX.value=0;deltaY.value=0;offsetX.value=0;offsetY.value=0;direction.value='';};var start=function start(event){reset();startX.value=event.touches[0].clientX;startY.value=event.touches[0].clientY;};var move=function move(event){var touch=event.touches[0];// Fix: Safari back will set clientX to negative number
- deltaX.value=touch.clientX<0?0:touch.clientX-startX.value;deltaY.value=touch.clientY-startY.value;offsetX.value=Math.abs(deltaX.value);offsetY.value=Math.abs(deltaY.value);if(!direction.value){direction.value=getDirection(offsetX.value,offsetY.value);}};return{move:move,start:start,reset:reset,startX:startX,startY:startY,deltaX:deltaX,deltaY:deltaY,offsetX:offsetX,offsetY:offsetY,direction:direction,isVertical:isVertical,isHorizontal:isHorizontal};}var totalLockCount=0;var BODY_LOCK_CLASS='van-overflow-hidden';function useLockScroll(rootRef,shouldLock){var touch=useTouch();var onTouchMove=function onTouchMove(event){touch.move(event);var direction=touch.deltaY.value>0?'10':'01';var el=getScrollParent(event.target,rootRef.value);var scrollHeight=el.scrollHeight,offsetHeight=el.offsetHeight,scrollTop=el.scrollTop;var status='11';if(scrollTop===0){status=offsetHeight>=scrollHeight?'00':'01';}else if(scrollTop+offsetHeight>=scrollHeight){status='10';}if(status!=='11'&&touch.isVertical()&&!(parseInt(status,2)&parseInt(direction,2))){preventDefault(event,true);}};var lock=function lock(){document.addEventListener('touchstart',touch.start);document.addEventListener('touchmove',onTouchMove,{passive:false});if(!totalLockCount){document.body.classList.add(BODY_LOCK_CLASS);}totalLockCount++;};var unlock=function unlock(){if(totalLockCount){document.removeEventListener('touchstart',touch.start);document.removeEventListener('touchmove',onTouchMove);totalLockCount--;if(!totalLockCount){document.body.classList.remove(BODY_LOCK_CLASS);}}};var init=function init(){return shouldLock()&&lock();};var destroy=function destroy(){return shouldLock()&&unlock();};onMountedOrActivated(init);onDeactivated(destroy);onBeforeUnmount(destroy);watch(shouldLock,function(value){value?lock():unlock();});}function useLazyRender(show){var inited=ref(false);watch(show,function(value){if(value){inited.value=value;}},{immediate:true});return function(render){return function(){return inited.value?render():null;};};}var POPUP_TOGGLE_KEY=Symbol();function onPopupReopen(callback){var popupToggleStatus=inject(POPUP_TOGGLE_KEY,null);if(popupToggleStatus){watch(popupToggleStatus,function(show){if(show){callback();}});}}var _createNamespace11=createNamespace('overlay'),_createNamespace12=_slicedToArray(_createNamespace11,2),name$x=_createNamespace12[0],bem$w=_createNamespace12[1];var overlayProps={show:Boolean,zIndex:numericProp,duration:numericProp,className:unknownProp,lockScroll:truthProp,customStyle:Object};var _Overlay=defineComponent({name:name$x,props:overlayProps,setup:function setup(props,_ref){var slots=_ref.slots;var lazyRender=useLazyRender(function(){return props.show;});var preventTouchMove=function preventTouchMove(event){preventDefault(event,true);};var renderOverlay=lazyRender(function(){var style=extend$1(getZIndexStyle(props.zIndex),props.customStyle);if(isDef(props.duration)){style.animationDuration=props.duration+"s";}return withDirectives(createVNode("div",{"style":style,"class":[bem$w(),props.className],"onTouchmove":props.lockScroll?preventTouchMove:noop},[slots.default==null?void 0:slots.default()]),[[vShow,props.show]]);});return function(){return createVNode(Transition,{"name":"van-fade","appear":true},{default:renderOverlay});};}});var Overlay=withInstall(_Overlay);var popupProps$1=extend$1({},popupSharedProps,{round:Boolean,position:makeStringProp('center'),closeIcon:makeStringProp('cross'),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:makeStringProp('top-right'),safeAreaInsetBottom:Boolean});var _createNamespace13=createNamespace('popup'),_createNamespace14=_slicedToArray(_createNamespace13,2),name$w=_createNamespace14[0],bem$v=_createNamespace14[1];var globalZIndex=2000;var _Popup=defineComponent({name:name$w,inheritAttrs:false,props:popupProps$1,emits:['open','close','opened','closed','update:show','click-overlay','click-close-icon'],setup:function setup(props,_ref){var emit=_ref.emit,attrs=_ref.attrs,slots=_ref.slots;var opened;var shouldReopen;var zIndex=ref();var popupRef=ref();var lazyRender=useLazyRender(function(){return props.show||!props.lazyRender;});var style=computed(function(){var style={zIndex:zIndex.value};if(isDef(props.duration)){var key=props.position==='center'?'animationDuration':'transitionDuration';style[key]=props.duration+"s";}return style;});var open=function open(){if(!opened){if(props.zIndex!==undefined){globalZIndex=+props.zIndex;}opened=true;zIndex.value=++globalZIndex;emit('open');}};var close=function close(){if(opened){callInterceptor(props.beforeClose,{done:function done(){opened=false;emit('close');emit('update:show',false);}});}};var onClickOverlay=function onClickOverlay(event){emit('click-overlay',event);if(props.closeOnClickOverlay){close();}};var renderOverlay=function renderOverlay(){if(props.overlay){return createVNode(Overlay,{"show":props.show,"class":props.overlayClass,"zIndex":zIndex.value,"duration":props.duration,"customStyle":props.overlayStyle,"onClick":onClickOverlay},{default:slots['overlay-content']});}};var onClickCloseIcon=function onClickCloseIcon(event){emit('click-close-icon',event);close();};var renderCloseIcon=function renderCloseIcon(){if(props.closeable){return createVNode(Icon,{"role":"button","tabindex":0,"name":props.closeIcon,"class":[bem$v('close-icon',props.closeIconPosition),HAPTICS_FEEDBACK],"classPrefix":props.iconPrefix,"onClick":onClickCloseIcon},null);}};var onOpened=function onOpened(){return emit('opened');};var onClosed=function onClosed(){return emit('closed');};var renderPopup=lazyRender(function(){var round=props.round,position=props.position,safeAreaInsetBottom=props.safeAreaInsetBottom;return withDirectives(createVNode("div",mergeProps({"ref":popupRef,"style":style.value,"class":[bem$v(_defineProperty2({round:round},position,position)),{'van-safe-area-bottom':safeAreaInsetBottom}]},attrs),[slots.default==null?void 0:slots.default(),renderCloseIcon()]),[[vShow,props.show]]);});var renderTransition=function renderTransition(){var position=props.position,transition=props.transition,transitionAppear=props.transitionAppear;var name=position==='center'?'van-fade':"van-popup-slide-"+position;return createVNode(Transition,{"name":transition||name,"appear":transitionAppear,"onAfterEnter":onOpened,"onAfterLeave":onClosed},{default:renderPopup});};watch(function(){return props.show;},function(value){if(value){open();}else{opened=false;emit('close');}});useExpose({popupRef:popupRef});useLockScroll(popupRef,function(){return props.show&&props.lockScroll;});useEventListener('popstate',function(){if(props.closeOnPopstate){close();shouldReopen=false;}});onMounted(function(){if(props.show){open();}});onActivated(function(){if(shouldReopen){emit('update:show',true);shouldReopen=false;}});onDeactivated(function(){if(props.show){close();shouldReopen=true;}});provide(POPUP_TOGGLE_KEY,function(){return props.show;});return function(){if(props.teleport){return createVNode(Teleport,{"to":props.teleport},{default:function _default(){return[renderOverlay(),renderTransition()];}});}return createVNode(Fragment,null,[renderOverlay(),renderTransition()]);};}});var Popup=exports('P',withInstall(_Popup));function deepClone(obj){if(!isDef(obj)){return obj;}if(Array.isArray(obj)){return obj.map(function(item){return deepClone(item);});}if(isObject$1(obj)){var to={};Object.keys(obj).forEach(function(key){to[key]=deepClone(obj[key]);});return to;}return obj;}var DEFAULT_DURATION=200;// 惯性滑动思路:
- // 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_LIMIT_TIME` 且 move
- // 距离大于 `MOMENTUM_LIMIT_DISTANCE` 时,执行惯性滑动
- var MOMENTUM_LIMIT_TIME=300;var MOMENTUM_LIMIT_DISTANCE=15;var _createNamespace15=createNamespace('picker-column'),_createNamespace16=_slicedToArray(_createNamespace15,2),name$v=_createNamespace16[0],bem$u=_createNamespace16[1];function getElementTranslateY(element){var _window$getComputedSt2=window.getComputedStyle(element),transform=_window$getComputedSt2.transform;var translateY=transform.slice(7,transform.length-1).split(', ')[5];return Number(translateY);}var PICKER_KEY=Symbol(name$v);var isOptionDisabled=function isOptionDisabled(option){return isObject$1(option)&&option.disabled;};var Column=defineComponent({name:name$v,props:{textKey:makeRequiredProp(String),readonly:Boolean,allowHtml:Boolean,className:unknownProp,itemHeight:makeRequiredProp(Number),defaultIndex:makeNumberProp(0),swipeDuration:makeRequiredProp(numericProp),initialOptions:makeArrayProp(),visibleItemCount:makeRequiredProp(numericProp)},emits:['change'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var moving;var startOffset;var touchStartTime;var momentumOffset;var transitionEndTrigger;var wrapper=ref();var state=reactive({index:props.defaultIndex,offset:0,duration:0,options:deepClone(props.initialOptions)});var touch=useTouch();var count=function count(){return state.options.length;};var baseOffset=function baseOffset(){return props.itemHeight*(+props.visibleItemCount-1)/2;};var adjustIndex=function adjustIndex(index){index=clamp(index,0,count());for(var i=index;i<count();i++){if(!isOptionDisabled(state.options[i]))return i;}for(var _i=index-1;_i>=0;_i--){if(!isOptionDisabled(state.options[_i]))return _i;}};var setIndex=function setIndex(index,emitChange){index=adjustIndex(index)||0;var offset=-index*props.itemHeight;var trigger=function trigger(){if(index!==state.index){state.index=index;if(emitChange){emit('change',index);}}};// trigger the change event after transitionend when moving
- if(moving&&offset!==state.offset){transitionEndTrigger=trigger;}else{trigger();}state.offset=offset;};var setOptions=function setOptions(options){if(JSON.stringify(options)!==JSON.stringify(state.options)){state.options=deepClone(options);setIndex(props.defaultIndex);}};var onClickItem=function onClickItem(index){if(moving||props.readonly){return;}transitionEndTrigger=null;state.duration=DEFAULT_DURATION;setIndex(index,true);};var getOptionText=function getOptionText(option){if(isObject$1(option)&&props.textKey in option){return option[props.textKey];}return option;};var getIndexByOffset=function getIndexByOffset(offset){return clamp(Math.round(-offset/props.itemHeight),0,count()-1);};var momentum=function momentum(distance,duration){var speed=Math.abs(distance/duration);distance=state.offset+speed/0.003*(distance<0?-1:1);var index=getIndexByOffset(distance);state.duration=+props.swipeDuration;setIndex(index,true);};var stopMomentum=function stopMomentum(){moving=false;state.duration=0;if(transitionEndTrigger){transitionEndTrigger();transitionEndTrigger=null;}};var onTouchStart=function onTouchStart(event){if(props.readonly){return;}touch.start(event);if(moving){var translateY=getElementTranslateY(wrapper.value);state.offset=Math.min(0,translateY-baseOffset());startOffset=state.offset;}else{startOffset=state.offset;}state.duration=0;touchStartTime=Date.now();momentumOffset=startOffset;transitionEndTrigger=null;};var onTouchMove=function onTouchMove(event){if(props.readonly){return;}touch.move(event);if(touch.isVertical()){moving=true;preventDefault(event,true);}state.offset=clamp(startOffset+touch.deltaY.value,-(count()*props.itemHeight),props.itemHeight);var now=Date.now();if(now-touchStartTime>MOMENTUM_LIMIT_TIME){touchStartTime=now;momentumOffset=state.offset;}};var onTouchEnd=function onTouchEnd(){if(props.readonly){return;}var distance=state.offset-momentumOffset;var duration=Date.now()-touchStartTime;var allowMomentum=duration<MOMENTUM_LIMIT_TIME&&Math.abs(distance)>MOMENTUM_LIMIT_DISTANCE;if(allowMomentum){momentum(distance,duration);return;}var index=getIndexByOffset(state.offset);state.duration=DEFAULT_DURATION;setIndex(index,true);// compatible with desktop scenario
- // use setTimeout to skip the click event Emitted after touchstart
- setTimeout(function(){moving=false;},0);};var renderOptions=function renderOptions(){var optionStyle={height:props.itemHeight+"px"};return state.options.map(function(option,index){var text=getOptionText(option);var disabled=isOptionDisabled(option);var data={role:'button',style:optionStyle,tabindex:disabled?-1:0,class:bem$u('item',{disabled:disabled,selected:index===state.index}),onClick:function onClick(){return onClickItem(index);}};var childData=_defineProperty2({class:'van-ellipsis'},props.allowHtml?'innerHTML':'textContent',text);return createVNode("li",data,[slots.option?slots.option(option):createVNode("div",childData,null)]);});};var setValue=function setValue(value){var options=state.options;for(var i=0;i<options.length;i++){if(getOptionText(options[i])===value){return setIndex(i);}}};var getValue=function getValue(){return state.options[state.index];};setIndex(state.index);useParent(PICKER_KEY);useExpose({state:state,setIndex:setIndex,getValue:getValue,setValue:setValue,setOptions:setOptions,stopMomentum:stopMomentum});watch(function(){return props.initialOptions;},setOptions);watch(function(){return props.defaultIndex;},function(value){return setIndex(value);});return function(){return createVNode("div",{"class":[bem$u(),props.className],"onTouchstart":onTouchStart,"onTouchmove":onTouchMove,"onTouchend":onTouchEnd,"onTouchcancel":onTouchEnd},[createVNode("ul",{"ref":wrapper,"style":{transform:"translate3d(0, "+(state.offset+baseOffset())+"px, 0)",transitionDuration:state.duration+"ms",transitionProperty:state.duration?'all':'none'},"class":bem$u('wrapper'),"onTransitionend":stopMomentum},[renderOptions()])]);};}});var _createNamespace17=createNamespace('picker'),_createNamespace18=_slicedToArray(_createNamespace17,3),name$u=_createNamespace18[0],bem$t=_createNamespace18[1],t$2=_createNamespace18[2];var pickerSharedProps={title:String,loading:Boolean,readonly:Boolean,allowHtml:Boolean,itemHeight:makeNumericProp(44),showToolbar:truthProp,swipeDuration:makeNumericProp(1000),visibleItemCount:makeNumericProp(6),cancelButtonText:String,confirmButtonText:String};var pickerProps=extend$1({},pickerSharedProps,{columns:makeArrayProp(),// @deprecated
- // should be removed in next major version
- valueKey:String,defaultIndex:makeNumericProp(0),toolbarPosition:makeStringProp('top'),columnsFieldNames:Object});var _Picker=defineComponent({name:name$u,props:pickerProps,emits:['confirm','cancel','change'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var formattedColumns=ref([]);var _extend$=extend$1({// compatible with valueKey prop
- text:props.valueKey||'text',values:'values',children:'children'},props.columnsFieldNames),textKey=_extend$.text,valuesKey=_extend$.values,childrenKey=_extend$.children;var _useChildren=useChildren(PICKER_KEY),children=_useChildren.children,linkChildren=_useChildren.linkChildren;linkChildren();var itemHeight=computed(function(){return unitToPx(props.itemHeight);});var dataType=computed(function(){var firstColumn=props.columns[0];if(_typeof2(firstColumn)==='object'){if(childrenKey in firstColumn){return'cascade';}if(valuesKey in firstColumn){return'object';}}return'plain';});var formatCascade=function formatCascade(){var formatted=[];var cursor=_defineProperty2({},childrenKey,props.columns);while(cursor&&cursor[childrenKey]){var _formatted$push;var _cursor$defaultIndex;var _children=cursor[childrenKey];var defaultIndex=(_cursor$defaultIndex=cursor.defaultIndex)!=null?_cursor$defaultIndex:+props.defaultIndex;while(_children[defaultIndex]&&_children[defaultIndex].disabled){if(defaultIndex<_children.length-1){defaultIndex++;}else{defaultIndex=0;break;}}formatted.push((_formatted$push={},_defineProperty2(_formatted$push,valuesKey,cursor[childrenKey]),_defineProperty2(_formatted$push,"className",cursor.className),_defineProperty2(_formatted$push,"defaultIndex",defaultIndex),_formatted$push));cursor=_children[defaultIndex];}formattedColumns.value=formatted;};var format=function format(){var columns=props.columns;if(dataType.value==='plain'){formattedColumns.value=[_defineProperty2({},valuesKey,columns)];}else if(dataType.value==='cascade'){formatCascade();}else{formattedColumns.value=columns;}};// get indexes of all columns
- var getIndexes=function getIndexes(){return children.map(function(child){return child.state.index;});};// set options of column by index
- var setColumnValues=function setColumnValues(index,options){var column=children[index];if(column){column.setOptions(options);}};var onCascadeChange=function onCascadeChange(columnIndex){var cursor=_defineProperty2({},childrenKey,props.columns);var indexes=getIndexes();for(var i=0;i<=columnIndex;i++){cursor=cursor[childrenKey][indexes[i]];}while(cursor&&cursor[childrenKey]){columnIndex++;setColumnValues(columnIndex,cursor[childrenKey]);cursor=cursor[childrenKey][cursor.defaultIndex||0];}};// get column instance by index
- var getChild=function getChild(index){return children[index];};// get column value by index
- var getColumnValue=function getColumnValue(index){var column=getChild(index);if(column){return column.getValue();}};// set column value by index
- var setColumnValue=function setColumnValue(index,value){var column=getChild(index);if(column){column.setValue(value);if(dataType.value==='cascade'){onCascadeChange(index);}}};// get column option index by column index
- var getColumnIndex=function getColumnIndex(index){var column=getChild(index);if(column){return column.state.index;}};// set column option index by column index
- var setColumnIndex=function setColumnIndex(columnIndex,optionIndex){var column=getChild(columnIndex);if(column){column.setIndex(optionIndex);if(dataType.value==='cascade'){onCascadeChange(columnIndex);}}};// get options of column by index
- var getColumnValues=function getColumnValues(index){var column=getChild(index);if(column){return column.state.options;}};// get values of all columns
- var getValues=function getValues(){return children.map(function(child){return child.getValue();});};// set values of all columns
- var setValues=function setValues(values){values.forEach(function(value,index){setColumnValue(index,value);});};// set indexes of all columns
- var setIndexes=function setIndexes(indexes){indexes.forEach(function(optionIndex,columnIndex){setColumnIndex(columnIndex,optionIndex);});};var emitAction=function emitAction(event){if(dataType.value==='plain'){emit(event,getColumnValue(0),getColumnIndex(0));}else{emit(event,getValues(),getIndexes());}};var _onChange=function onChange(columnIndex){if(dataType.value==='cascade'){onCascadeChange(columnIndex);}if(dataType.value==='plain'){emit('change',getColumnValue(0),getColumnIndex(0));}else{emit('change',getValues(),columnIndex);}};var confirm=function confirm(){children.forEach(function(child){return child.stopMomentum();});emitAction('confirm');};var cancel=function cancel(){return emitAction('cancel');};var renderTitle=function renderTitle(){if(slots.title){return slots.title();}if(props.title){return createVNode("div",{"class":[bem$t('title'),'van-ellipsis']},[props.title]);}};var renderCancel=function renderCancel(){var text=props.cancelButtonText||t$2('cancel');return createVNode("button",{"type":"button","class":[bem$t('cancel'),HAPTICS_FEEDBACK],"onClick":cancel},[slots.cancel?slots.cancel():text]);};var renderConfirm=function renderConfirm(){var text=props.confirmButtonText||t$2('confirm');return createVNode("button",{"type":"button","class":[bem$t('confirm'),HAPTICS_FEEDBACK],"onClick":confirm},[slots.confirm?slots.confirm():text]);};var renderToolbar=function renderToolbar(){if(props.showToolbar){// default slot is deprecated
- // should be removed in next major version
- var slot=slots.toolbar||slots.default;return createVNode("div",{"class":bem$t('toolbar')},[slot?slot():[renderCancel(),renderTitle(),renderConfirm()]]);}};var renderColumnItems=function renderColumnItems(){return formattedColumns.value.map(function(item,columnIndex){var _item$defaultIndex;return createVNode(Column,{"textKey":textKey,"readonly":props.readonly,"allowHtml":props.allowHtml,"className":item.className,"itemHeight":itemHeight.value,"defaultIndex":(_item$defaultIndex=item.defaultIndex)!=null?_item$defaultIndex:+props.defaultIndex,"swipeDuration":props.swipeDuration,"initialOptions":item[valuesKey],"visibleItemCount":props.visibleItemCount,"onChange":function onChange(){return _onChange(columnIndex);}},{option:slots.option});});};var renderColumns=function renderColumns(){var wrapHeight=itemHeight.value*+props.visibleItemCount;var frameStyle={height:itemHeight.value+"px"};var columnsStyle={height:wrapHeight+"px"};var maskStyle={backgroundSize:"100% "+(wrapHeight-itemHeight.value)/2+"px"};return createVNode("div",{"class":bem$t('columns'),"style":columnsStyle,"onTouchmove":preventDefault},[renderColumnItems(),createVNode("div",{"class":bem$t('mask'),"style":maskStyle},null),createVNode("div",{"class":[BORDER_UNSET_TOP_BOTTOM,bem$t('frame')],"style":frameStyle},null)]);};watch(function(){return props.columns;},format,{immediate:true});useExpose({confirm:confirm,getValues:getValues,setValues:setValues,getIndexes:getIndexes,setIndexes:setIndexes,getColumnIndex:getColumnIndex,setColumnIndex:setColumnIndex,getColumnValue:getColumnValue,setColumnValue:setColumnValue,getColumnValues:getColumnValues,setColumnValues:setColumnValues});return function(){var _slots$columnsTop,_slots$columnsBottom;return createVNode("div",{"class":bem$t()},[props.toolbarPosition==='top'?renderToolbar():null,props.loading?createVNode(Loading,{"class":bem$t('loading')},null):null,(_slots$columnsTop=slots['columns-top'])==null?void 0:_slots$columnsTop.call(slots),renderColumns(),(_slots$columnsBottom=slots['columns-bottom'])==null?void 0:_slots$columnsBottom.call(slots),props.toolbarPosition==='bottom'?renderToolbar():null]);};}});var Picker=withInstall(_Picker);var _createNamespace19=createNamespace('cell'),_createNamespace20=_slicedToArray(_createNamespace19,2),name$t=_createNamespace20[0],bem$s=_createNamespace20[1];var cellSharedProps={icon:String,size:String,title:numericProp,value:numericProp,label:numericProp,center:Boolean,isLink:Boolean,border:truthProp,required:Boolean,iconPrefix:String,valueClass:unknownProp,labelClass:unknownProp,titleClass:unknownProp,titleStyle:null,arrowDirection:String,clickable:{type:Boolean,default:null}};var cellProps=extend$1({},cellSharedProps,routeProps);var _Cell=defineComponent({name:name$t,props:cellProps,setup:function setup(props,_ref){var slots=_ref.slots;var route=useRoute();var renderLabel=function renderLabel(){var showLabel=slots.label||isDef(props.label);if(showLabel){return createVNode("div",{"class":[bem$s('label'),props.labelClass]},[slots.label?slots.label():props.label]);}};var renderTitle=function renderTitle(){if(slots.title||isDef(props.title)){return createVNode("div",{"class":[bem$s('title'),props.titleClass],"style":props.titleStyle},[slots.title?slots.title():createVNode("span",null,[props.title]),renderLabel()]);}};var renderValue=function renderValue(){// slots.default is an alias of slots.value
- var slot=slots.value||slots.default;var hasValue=slot||isDef(props.value);if(hasValue){var hasTitle=slots.title||isDef(props.title);return createVNode("div",{"class":[bem$s('value',{alone:!hasTitle}),props.valueClass]},[slot?slot():createVNode("span",null,[props.value])]);}};var renderLeftIcon=function renderLeftIcon(){if(slots.icon){return slots.icon();}if(props.icon){return createVNode(Icon,{"name":props.icon,"class":bem$s('left-icon'),"classPrefix":props.iconPrefix},null);}};var renderRightIcon=function renderRightIcon(){if(slots['right-icon']){return slots['right-icon']();}if(props.isLink){var _name=props.arrowDirection?"arrow-"+props.arrowDirection:'arrow';return createVNode(Icon,{"name":_name,"class":bem$s('right-icon')},null);}};return function(){var _props$clickable;var size=props.size,center=props.center,border=props.border,isLink=props.isLink,required=props.required;var clickable=(_props$clickable=props.clickable)!=null?_props$clickable:isLink;var classes={center:center,required:required,clickable:clickable,borderless:!border};if(size){classes[size]=!!size;}return createVNode("div",{"class":bem$s(classes),"role":clickable?'button':undefined,"tabindex":clickable?0:undefined,"onClick":route},[renderLeftIcon(),renderTitle(),renderValue(),renderRightIcon(),slots.extra==null?void 0:slots.extra()]);};}});var Cell=exports('D',withInstall(_Cell));var _createNamespace21=createNamespace('form'),_createNamespace22=_slicedToArray(_createNamespace21,2),name$s=_createNamespace22[0],bem$r=_createNamespace22[1];var formProps={colon:Boolean,disabled:Boolean,readonly:Boolean,showError:Boolean,labelWidth:numericProp,labelAlign:String,inputAlign:String,scrollToError:Boolean,validateFirst:Boolean,submitOnEnter:truthProp,validateTrigger:makeStringProp('onBlur'),showErrorMessage:truthProp,errorMessageAlign:String};var _Form=defineComponent({name:name$s,props:formProps,emits:['submit','failed'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var _useChildren2=useChildren(FORM_KEY),children=_useChildren2.children,linkChildren=_useChildren2.linkChildren;var getFieldsByNames=function getFieldsByNames(names){if(names){return children.filter(function(field){return names.includes(field.name);});}return children;};var validateSeq=function validateSeq(names){return new Promise(function(resolve,reject){var errors=[];var fields=getFieldsByNames(names);fields.reduce(function(promise,field){return promise.then(function(){if(!errors.length){return field.validate().then(function(error){if(error){errors.push(error);}});}});},Promise.resolve()).then(function(){if(errors.length){reject(errors);}else{resolve();}});});};var validateAll=function validateAll(names){return new Promise(function(resolve,reject){var fields=getFieldsByNames(names);Promise.all(fields.map(function(item){return item.validate();})).then(function(errors){errors=errors.filter(Boolean);if(errors.length){reject(errors);}else{resolve();}});});};var validateField=function validateField(name){var matched=children.find(function(item){return item.name===name;});if(matched){return new Promise(function(resolve,reject){matched.validate().then(function(error){if(error){reject(error);}else{resolve();}});});}return Promise.reject();};var validate=function validate(name){if(typeof name==='string'){return validateField(name);}return props.validateFirst?validateSeq(name):validateAll(name);};var resetValidation=function resetValidation(name){if(typeof name==='string'){name=[name];}var fields=getFieldsByNames(name);fields.forEach(function(item){item.resetValidation();});};var scrollToField=function scrollToField(name,options){children.some(function(item){if(item.name===name){item.$el.scrollIntoView(options);return true;}return false;});};var getValues=function getValues(){return children.reduce(function(form,field){form[field.name]=field.formValue.value;return form;},{});};var submit=function submit(){var values=getValues();validate().then(function(){return emit('submit',values);}).catch(function(errors){emit('failed',{values:values,errors:errors});if(props.scrollToError&&errors[0].name){scrollToField(errors[0].name);}});};var onSubmit=function onSubmit(event){preventDefault(event);submit();};linkChildren({props:props});useExpose({submit:submit,validate:validate,scrollToField:scrollToField,resetValidation:resetValidation});return function(){return createVNode("form",{"class":bem$r(),"onSubmit":onSubmit},[slots.default==null?void 0:slots.default()]);};}});var Form=exports('O',withInstall(_Form));function isEmptyValue(value){if(Array.isArray(value)){return!value.length;}if(value===0){return false;}return!value;}function runSyncRule(value,rule){if(rule.required&&isEmptyValue(value)){return false;}if(rule.pattern&&!rule.pattern.test(String(value))){return false;}return true;}function runRuleValidator(value,rule){return new Promise(function(resolve){var returnVal=rule.validator(value,rule);if(isPromise(returnVal)){return returnVal.then(resolve);}resolve(returnVal);});}function getRuleMessage(value,rule){var message=rule.message;if(isFunction(message)){return message(value,rule);}return message||'';}function startComposing(_ref){var target=_ref.target;target.composing=true;}function endComposing(_ref2){var target=_ref2.target;if(target.composing){target.composing=false;target.dispatchEvent(new Event('input'));}}function resizeTextarea(input,autosize){var scrollTop=getRootScrollTop();input.style.height='auto';var height=input.scrollHeight;if(isObject$1(autosize)){var maxHeight=autosize.maxHeight,minHeight=autosize.minHeight;if(maxHeight!==undefined){height=Math.min(height,maxHeight);}if(minHeight!==undefined){height=Math.max(height,minHeight);}}if(height){input.style.height=height+"px";// https://github.com/youzan/vant/issues/9178
- setRootScrollTop(scrollTop);}}function mapInputType(type){// type="number" is weird in iOS, and can't prevent dot in Android
- // so use inputmode to set keyboard in modern browsers
- if(type==='number'){return{type:'text',inputmode:'decimal'};}if(type==='digit'){return{type:'tel',inputmode:'numeric'};}return{type:type};}// get correct length of emoji
- // https://github.com/youzan/vant/issues/10032
- function getStringLength(str){return _toConsumableArray2(str).length;}// cut string with emoji
- function cutString(str,maxlength){return _toConsumableArray2(str).slice(0,maxlength).join('');}var current=0;function useId(){var vm=getCurrentInstance();var _ref45=(vm==null?void 0:vm.type)||{},_ref45$name=_ref45.name,name=_ref45$name===void 0?'unknown':_ref45$name;// keep jest snapshot stable
- return name+"-"+ ++current;}var _createNamespace23=createNamespace('field'),_createNamespace24=_slicedToArray(_createNamespace23,2),name$r=_createNamespace24[0],bem$q=_createNamespace24[1];// provide to Search component to inherit
- var fieldSharedProps={id:String,name:String,leftIcon:String,rightIcon:String,autofocus:Boolean,clearable:Boolean,maxlength:numericProp,formatter:Function,clearIcon:makeStringProp('clear'),modelValue:makeNumericProp(''),inputAlign:String,placeholder:String,autocomplete:String,errorMessage:String,clearTrigger:makeStringProp('focus'),formatTrigger:makeStringProp('onChange'),error:{type:Boolean,default:null},disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null}};var fieldProps=extend$1({},cellSharedProps,fieldSharedProps,{rows:numericProp,type:makeStringProp('text'),rules:Array,autosize:[Boolean,Object],labelWidth:numericProp,labelClass:unknownProp,labelAlign:String,showWordLimit:Boolean,errorMessageAlign:String,colon:{type:Boolean,default:null}});var _Field=defineComponent({name:name$r,props:fieldProps,emits:['blur','focus','clear','keypress','click-input','click-left-icon','click-right-icon','update:modelValue'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var id=useId();var state=reactive({focused:false,validateFailed:false,validateMessage:''});var inputRef=ref();var customValue=ref();var _useParent=useParent(FORM_KEY),form=_useParent.parent;var getModelValue=function getModelValue(){var _props$modelValue;return String((_props$modelValue=props.modelValue)!=null?_props$modelValue:'');};var getProp=function getProp(key){if(isDef(props[key])){return props[key];}if(form&&isDef(form.props[key])){return form.props[key];}};var showClear=computed(function(){var readonly=getProp('readonly');if(props.clearable&&!readonly){var hasValue=getModelValue()!=='';var trigger=props.clearTrigger==='always'||props.clearTrigger==='focus'&&state.focused;return hasValue&&trigger;}return false;});var formValue=computed(function(){if(customValue.value&&slots.input){return customValue.value();}return props.modelValue;});var runRules=function runRules(rules){return rules.reduce(function(promise,rule){return promise.then(function(){if(state.validateFailed){return;}var value=formValue.value;if(rule.formatter){value=rule.formatter(value,rule);}if(!runSyncRule(value,rule)){state.validateFailed=true;state.validateMessage=getRuleMessage(value,rule);return;}if(rule.validator){return runRuleValidator(value,rule).then(function(result){if(result&&typeof result==='string'){state.validateFailed=true;state.validateMessage=result;}else if(result===false){state.validateFailed=true;state.validateMessage=getRuleMessage(value,rule);}});}});},Promise.resolve());};var resetValidation=function resetValidation(){if(state.validateFailed){state.validateFailed=false;state.validateMessage='';}};var validate=function validate(rules){if(rules===void 0){rules=props.rules;}return new Promise(function(resolve){resetValidation();if(rules){runRules(rules).then(function(){if(state.validateFailed){resolve({name:props.name,message:state.validateMessage});}else{resolve();}});}else{resolve();}});};var validateWithTrigger=function validateWithTrigger(trigger){if(form&&props.rules){var defaultTrigger=form.props.validateTrigger===trigger;var rules=props.rules.filter(function(rule){if(rule.trigger){return rule.trigger===trigger;}return defaultTrigger;});if(rules.length){validate(rules);}}};// native maxlength have incorrect line-break counting
- // see: https://github.com/youzan/vant/issues/5033
- var limitValueLength=function limitValueLength(value){var maxlength=props.maxlength;if(isDef(maxlength)&&getStringLength(value)>maxlength){var modelValue=getModelValue();if(modelValue&&getStringLength(modelValue)===+maxlength){return modelValue;}return cutString(value,+maxlength);}return value;};var updateValue=function updateValue(value,trigger){if(trigger===void 0){trigger='onChange';}value=limitValueLength(value);if(props.type==='number'||props.type==='digit'){var isNumber=props.type==='number';value=formatNumber(value,isNumber,isNumber);}if(props.formatter&&trigger===props.formatTrigger){value=props.formatter(value);}if(inputRef.value&&inputRef.value.value!==value){inputRef.value.value=value;}if(value!==props.modelValue){emit('update:modelValue',value);}};var onInput=function onInput(event){// skip update value when composing
- if(!event.target.composing){updateValue(event.target.value);}};var blur=function blur(){var _inputRef$value;return(_inputRef$value=inputRef.value)==null?void 0:_inputRef$value.blur();};var focus=function focus(){var _inputRef$value2;return(_inputRef$value2=inputRef.value)==null?void 0:_inputRef$value2.focus();};var adjustTextareaSize=function adjustTextareaSize(){var input=inputRef.value;if(props.type==='textarea'&&props.autosize&&input){resizeTextarea(input,props.autosize);}};var onFocus=function onFocus(event){state.focused=true;emit('focus',event);nextTick(adjustTextareaSize);// readonly not work in legacy mobile safari
- if(getProp('readonly')){blur();}};var onBlur=function onBlur(event){if(getProp('readonly')){return;}state.focused=false;updateValue(getModelValue(),'onBlur');emit('blur',event);validateWithTrigger('onBlur');nextTick(adjustTextareaSize);resetScroll();};var onClickInput=function onClickInput(event){return emit('click-input',event);};var onClickLeftIcon=function onClickLeftIcon(event){return emit('click-left-icon',event);};var onClickRightIcon=function onClickRightIcon(event){return emit('click-right-icon',event);};var onClear=function onClear(event){preventDefault(event);emit('update:modelValue','');emit('clear',event);};var showError=computed(function(){if(typeof props.error==='boolean'){return props.error;}if(form&&form.props.showError&&state.validateFailed){return true;}});var labelStyle=computed(function(){var labelWidth=getProp('labelWidth');if(labelWidth){return{width:addUnit(labelWidth)};}});var onKeypress=function onKeypress(event){var ENTER_CODE=13;if(event.keyCode===ENTER_CODE){var submitOnEnter=form&&form.props.submitOnEnter;if(!submitOnEnter&&props.type!=='textarea'){preventDefault(event);}// trigger blur after click keyboard search button
- if(props.type==='search'){blur();}}emit('keypress',event);};var getInputId=function getInputId(){return props.id||id+"-input";};var renderInput=function renderInput(){var controlClass=bem$q('control',[getProp('inputAlign'),{error:showError.value,custom:!!slots.input,'min-height':props.type==='textarea'&&!props.autosize}]);if(slots.input){return createVNode("div",{"class":controlClass,"onClick":onClickInput},[slots.input()]);}var inputAttrs={id:getInputId(),ref:inputRef,name:props.name,rows:props.rows!==undefined?+props.rows:undefined,class:controlClass,value:props.modelValue,disabled:getProp('disabled'),readonly:getProp('readonly'),autofocus:props.autofocus,placeholder:props.placeholder,autocomplete:props.autocomplete,'aria-labelledby':props.label?id+"-label":undefined,onBlur:onBlur,onFocus:onFocus,onInput:onInput,onClick:onClickInput,onChange:endComposing,onKeypress:onKeypress,onCompositionend:endComposing,onCompositionstart:startComposing};if(props.type==='textarea'){return createVNode("textarea",inputAttrs,null);}return createVNode("input",mergeProps(mapInputType(props.type),inputAttrs),null);};var renderLeftIcon=function renderLeftIcon(){var leftIconSlot=slots['left-icon'];if(props.leftIcon||leftIconSlot){return createVNode("div",{"class":bem$q('left-icon'),"onClick":onClickLeftIcon},[leftIconSlot?leftIconSlot():createVNode(Icon,{"name":props.leftIcon,"classPrefix":props.iconPrefix},null)]);}};var renderRightIcon=function renderRightIcon(){var rightIconSlot=slots['right-icon'];if(props.rightIcon||rightIconSlot){return createVNode("div",{"class":bem$q('right-icon'),"onClick":onClickRightIcon},[rightIconSlot?rightIconSlot():createVNode(Icon,{"name":props.rightIcon,"classPrefix":props.iconPrefix},null)]);}};var renderWordLimit=function renderWordLimit(){if(props.showWordLimit&&props.maxlength){var count=getStringLength(getModelValue());return createVNode("div",{"class":bem$q('word-limit')},[createVNode("span",{"class":bem$q('word-num')},[count]),createTextVNode("/"),props.maxlength]);}};var renderMessage=function renderMessage(){if(form&&form.props.showErrorMessage===false){return;}var message=props.errorMessage||state.validateMessage;if(message){var slot=slots['error-message'];var errorMessageAlign=getProp('errorMessageAlign');return createVNode("div",{"class":bem$q('error-message',errorMessageAlign)},[slot?slot({message:message}):message]);}};var renderLabel=function renderLabel(){var colon=getProp('colon')?':':'';if(slots.label){return[slots.label(),colon];}if(props.label){return createVNode("label",{"id":id+"-label","for":getInputId()},[props.label+colon]);}};var renderFieldBody=function renderFieldBody(){return[createVNode("div",{"class":bem$q('body')},[renderInput(),showClear.value&&createVNode(Icon,{"name":props.clearIcon,"class":bem$q('clear'),"onTouchstart":onClear},null),renderRightIcon(),slots.button&&createVNode("div",{"class":bem$q('button')},[slots.button()])]),renderWordLimit(),renderMessage()];};useExpose({blur:blur,focus:focus,validate:validate,formValue:formValue,resetValidation:resetValidation});provide(CUSTOM_FIELD_INJECTION_KEY,{customValue:customValue,resetValidation:resetValidation,validateWithTrigger:validateWithTrigger});watch(function(){return props.modelValue;},function(){updateValue(getModelValue());resetValidation();validateWithTrigger('onChange');nextTick(adjustTextareaSize);});onMounted(function(){updateValue(getModelValue(),props.formatTrigger);nextTick(adjustTextareaSize);});return function(){var disabled=getProp('disabled');var labelAlign=getProp('labelAlign');var Label=renderLabel();var LeftIcon=renderLeftIcon();return createVNode(Cell,{"size":props.size,"icon":props.leftIcon,"class":bem$q(_defineProperty2({error:showError.value,disabled:disabled},"label-"+labelAlign,labelAlign)),"center":props.center,"border":props.border,"isLink":props.isLink,"clickable":props.clickable,"titleStyle":labelStyle.value,"valueClass":bem$q('value'),"titleClass":[bem$q('label',[labelAlign,{required:props.required}]),props.labelClass],"arrowDirection":props.arrowDirection},{icon:LeftIcon?function(){return LeftIcon;}:null,title:Label?function(){return Label;}:null,value:renderFieldBody,extra:slots.extra});};}});var Field=exports('m',withInstall(_Field));function usePopupState(){var state=reactive({show:false});var toggle=function toggle(show){state.show=show;};var open=function open(props){extend$1(state,props,{transitionAppear:true});toggle(true);};var close=function close(){return toggle(false);};useExpose({open:open,close:close,toggle:toggle});return{open:open,close:close,state:state,toggle:toggle};}function mountComponent(RootComponent){var app=createApp(RootComponent);var root=document.createElement('div');document.body.appendChild(root);return{instance:app.mount(root),unmount:function unmount(){app.unmount();document.body.removeChild(root);}};}var lockCount=0;function lockClick(lock){if(lock){if(!lockCount){document.body.classList.add('van-toast--unclickable');}lockCount++;}else if(lockCount){lockCount--;if(!lockCount){document.body.classList.remove('van-toast--unclickable');}}}var _createNamespace25=createNamespace('toast'),_createNamespace26=_slicedToArray(_createNamespace25,2),name$q=_createNamespace26[0],bem$p=_createNamespace26[1];var popupInheritProps=['show','overlay','transition','overlayClass','overlayStyle','closeOnClickOverlay'];var toastProps={icon:String,show:Boolean,type:makeStringProp('text'),overlay:Boolean,message:numericProp,iconSize:numericProp,duration:makeNumberProp(2000),position:makeStringProp('middle'),className:unknownProp,iconPrefix:String,transition:makeStringProp('van-fade'),loadingType:String,forbidClick:Boolean,overlayClass:unknownProp,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean};var VanToast=defineComponent({name:name$q,props:toastProps,emits:['update:show'],setup:function setup(props,_ref){var emit=_ref.emit;var timer;var clickable=false;var toggleClickable=function toggleClickable(){var newValue=props.show&&props.forbidClick;if(clickable!==newValue){clickable=newValue;lockClick(clickable);}};var updateShow=function updateShow(show){return emit('update:show',show);};var onClick=function onClick(){if(props.closeOnClick){updateShow(false);}};var clearTimer=function clearTimer(){return clearTimeout(timer);};var renderIcon=function renderIcon(){var icon=props.icon,type=props.type,iconSize=props.iconSize,iconPrefix=props.iconPrefix,loadingType=props.loadingType;var hasIcon=icon||type==='success'||type==='fail';if(hasIcon){return createVNode(Icon,{"name":icon||type,"size":iconSize,"class":bem$p('icon'),"classPrefix":iconPrefix},null);}if(type==='loading'){return createVNode(Loading,{"class":bem$p('loading'),"size":iconSize,"type":loadingType},null);}};var renderMessage=function renderMessage(){var type=props.type,message=props.message;if(isDef(message)&&message!==''){return type==='html'?createVNode("div",{"class":bem$p('text'),"innerHTML":String(message)},null):createVNode("div",{"class":bem$p('text')},[message]);}};watch(function(){return[props.show,props.forbidClick];},toggleClickable);watch(function(){return[props.show,props.type,props.message,props.duration];},function(){clearTimer();if(props.show&&props.duration>0){timer=setTimeout(function(){updateShow(false);},props.duration);}});onMounted(toggleClickable);onUnmounted(toggleClickable);return function(){return createVNode(Popup,mergeProps({"class":[bem$p([props.position,_defineProperty2({},props.type,!props.icon)]),props.className],"lockScroll":false,"onClick":onClick,"onClosed":clearTimer,"onUpdate:show":updateShow},pick(props,popupInheritProps)),{default:function _default(){return[renderIcon(),renderMessage()];}});};}});var defaultOptions={icon:'',type:'text',message:'',className:'',overlay:false,onClose:undefined,onOpened:undefined,duration:2000,teleport:'body',iconSize:undefined,iconPrefix:undefined,position:'middle',transition:'van-fade',forbidClick:false,loadingType:undefined,overlayClass:'',overlayStyle:undefined,closeOnClick:false,closeOnClickOverlay:false};var queue=[];var allowMultiple=false;var currentOptions=extend$1({},defaultOptions);// default options of specific type
- var defaultOptionsMap=new Map();function parseOptions(message){if(isObject$1(message)){return message;}return{message:message};}function createInstance(){var _mountComponent=mountComponent({setup:function setup(){var message=ref('');var _usePopupState=usePopupState(),open=_usePopupState.open,state=_usePopupState.state,close=_usePopupState.close,toggle=_usePopupState.toggle;var onClosed=function onClosed(){if(allowMultiple){queue=queue.filter(function(item){return item!==instance;});unmount();}};var render=function render(){var attrs={onClosed:onClosed,'onUpdate:show':toggle};return createVNode(VanToast,mergeProps(state,attrs),null);};// support dynamic modification of message
- // support dynamic modification of message
- watch(message,function(val){state.message=val;});// rewrite render function
- // rewrite render function
- getCurrentInstance().render=render;return{open:open,clear:close,message:message};}}),instance=_mountComponent.instance,unmount=_mountComponent.unmount;return instance;}function getInstance(){if(!queue.length||allowMultiple){var instance=createInstance();queue.push(instance);}return queue[queue.length-1];}function Toast(options){if(options===void 0){options={};}if(!inBrowser$1){return{};}var toast=getInstance();var parsedOptions=parseOptions(options);toast.open(extend$1({},currentOptions,defaultOptionsMap.get(parsedOptions.type||currentOptions.type),parsedOptions));return toast;}var createMethod=function createMethod(type){return function(options){return Toast(extend$1({type:type},parseOptions(options)));};};Toast.loading=createMethod('loading');Toast.success=createMethod('success');Toast.fail=createMethod('fail');Toast.clear=function(all){if(queue.length){if(all){queue.forEach(function(toast){toast.clear();});queue=[];}else if(!allowMultiple){queue[0].clear();}else{var _queue$shift;(_queue$shift=queue.shift())==null?void 0:_queue$shift.clear();}}};function setDefaultOptions(type,options){if(typeof type==='string'){defaultOptionsMap.set(type,options);}else{extend$1(currentOptions,type);}}Toast.setDefaultOptions=setDefaultOptions;Toast.resetDefaultOptions=function(type){if(typeof type==='string'){defaultOptionsMap.delete(type);}else{currentOptions=extend$1({},defaultOptions);defaultOptionsMap.clear();}};Toast.allowMultiple=function(value){if(value===void 0){value=true;}allowMultiple=value;};Toast.install=function(app){app.use(withInstall(VanToast));app.config.globalProperties.$toast=Toast;};var _createNamespace27=createNamespace('tag'),_createNamespace28=_slicedToArray(_createNamespace27,2),name$p=_createNamespace28[0],bem$o=_createNamespace28[1];var tagProps={size:String,mark:Boolean,show:truthProp,type:makeStringProp('default'),color:String,plain:Boolean,round:Boolean,textColor:String,closeable:Boolean};var _Tag=defineComponent({name:name$p,props:tagProps,emits:['close'],setup:function setup(props,_ref){var slots=_ref.slots,emit=_ref.emit;var onClose=function onClose(event){event.stopPropagation();emit('close',event);};var getStyle=function getStyle(){if(props.plain){return{color:props.textColor||props.color,borderColor:props.color};}return{color:props.textColor,background:props.color};};var renderTag=function renderTag(){var type=props.type,mark=props.mark,plain=props.plain,round=props.round,size=props.size,closeable=props.closeable;var classes={mark:mark,plain:plain,round:round};if(size){classes[size]=size;}var CloseIcon=closeable&&createVNode(Icon,{"name":"cross","class":bem$o('close'),"onClick":onClose},null);return createVNode("span",{"style":getStyle(),"class":bem$o([classes,type])},[slots.default==null?void 0:slots.default(),CloseIcon]);};return function(){return createVNode(Transition,{"name":props.closeable?'van-fade':undefined},{default:function _default(){return[props.show?renderTag():null];}});};}});var Tag=exports('G',withInstall(_Tag));var checkerProps={name:unknownProp,shape:makeStringProp('round'),disabled:Boolean,iconSize:numericProp,modelValue:unknownProp,checkedColor:String,labelPosition:String,labelDisabled:Boolean};var Checker=defineComponent({props:extend$1({},checkerProps,{bem:makeRequiredProp(Function),role:String,parent:Object,checked:Boolean,bindGroup:truthProp}),emits:['click','toggle'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var iconRef=ref();var getParentProp=function getParentProp(name){if(props.parent&&props.bindGroup){return props.parent.props[name];}};var disabled=computed(function(){return getParentProp('disabled')||props.disabled;});var direction=computed(function(){return getParentProp('direction');});var iconStyle=computed(function(){var checkedColor=props.checkedColor||getParentProp('checkedColor');if(checkedColor&&props.checked&&!disabled.value){return{borderColor:checkedColor,backgroundColor:checkedColor};}});var onClick=function onClick(event){var target=event.target;var icon=iconRef.value;var iconClicked=icon===target||(icon==null?void 0:icon.contains(target));if(!disabled.value&&(iconClicked||!props.labelDisabled)){emit('toggle');}emit('click',event);};var renderIcon=function renderIcon(){var bem=props.bem,shape=props.shape,checked=props.checked;var iconSize=props.iconSize||getParentProp('iconSize');return createVNode("div",{"ref":iconRef,"class":bem('icon',[shape,{disabled:disabled.value,checked:checked}]),"style":{fontSize:addUnit(iconSize)}},[slots.icon?slots.icon({checked:checked,disabled:disabled.value}):createVNode(Icon,{"name":"success","style":iconStyle.value},null)]);};var renderLabel=function renderLabel(){if(slots.default){return createVNode("span",{"class":props.bem('label',[props.labelPosition,{disabled:disabled.value}])},[slots.default()]);}};return function(){var nodes=props.labelPosition==='left'?[renderLabel(),renderIcon()]:[renderIcon(),renderLabel()];return createVNode("div",{"role":props.role,"class":props.bem([{disabled:disabled.value,'label-disabled':props.labelDisabled},direction.value]),"tabindex":disabled.value?undefined:0,"aria-checked":props.checked,"onClick":onClick},[nodes]);};}});function useRefs(){var refs=ref([]);onBeforeUpdate(function(){refs.value=[];});var setRefs=function setRefs(index){return function(el){refs.value[index]=el;};};return[refs,setRefs];}var sharedProps=extend$1({},pickerSharedProps,{filter:Function,columnsOrder:Array,formatter:{type:Function,default:function _default(type,value){return value;}}});var pickerInheritKeys=Object.keys(pickerSharedProps);function times(n,iteratee){var index=-1;var result=Array(n);while(++index<n){result[index]=iteratee(index);}return result;}function getTrueValue(value){if(!value){return 0;}while(Number.isNaN(parseInt(value,10))){if(value.length>1){value=value.slice(1);}else{return 0;}}return parseInt(value,10);}var getMonthEndDay=function getMonthEndDay(year,month){return 32-new Date(year,month-1,32).getDate();};// https://github.com/youzan/vant/issues/10013
- var proxyPickerMethods=function proxyPickerMethods(picker,callback){var methods=['setValues','setIndexes','setColumnIndex','setColumnValue'];return new Proxy(picker,{get:function get(target,prop){if(methods.includes(prop)){return function(){target[prop].apply(target,arguments);callback();};}return target[prop];}});};var useHeight=function useHeight(element){var height=ref();onMounted(function(){return nextTick(function(){height.value=useRect(element).height;});});return height;};var _createNamespace29=createNamespace('image'),_createNamespace30=_slicedToArray(_createNamespace29,2),name$o=_createNamespace30[0],bem$n=_createNamespace30[1];var imageProps={src:String,alt:String,fit:String,round:Boolean,width:numericProp,height:numericProp,radius:numericProp,lazyLoad:Boolean,iconSize:numericProp,showError:truthProp,errorIcon:makeStringProp('photo-fail'),iconPrefix:String,showLoading:truthProp,loadingIcon:makeStringProp('photo')};var _Image=defineComponent({name:name$o,props:imageProps,emits:['load','error'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var error=ref(false);var loading=ref(true);var imageRef=ref();var $Lazyload=getCurrentInstance().proxy.$Lazyload;var style=computed(function(){var style={width:addUnit(props.width),height:addUnit(props.height)};if(isDef(props.radius)){style.overflow='hidden';style.borderRadius=addUnit(props.radius);}return style;});watch(function(){return props.src;},function(){error.value=false;loading.value=true;});var onLoad=function onLoad(event){loading.value=false;emit('load',event);};var onError=function onError(event){error.value=true;loading.value=false;emit('error',event);};var renderIcon=function renderIcon(name,className,slot){if(slot){return slot();}return createVNode(Icon,{"name":name,"size":props.iconSize,"class":className,"classPrefix":props.iconPrefix},null);};var renderPlaceholder=function renderPlaceholder(){if(loading.value&&props.showLoading){return createVNode("div",{"class":bem$n('loading')},[renderIcon(props.loadingIcon,bem$n('loading-icon'),slots.loading)]);}if(error.value&&props.showError){return createVNode("div",{"class":bem$n('error')},[renderIcon(props.errorIcon,bem$n('error-icon'),slots.error)]);}};var renderImage=function renderImage(){if(error.value||!props.src){return;}var attrs={alt:props.alt,class:bem$n('img'),style:{objectFit:props.fit}};if(props.lazyLoad){return withDirectives(createVNode("img",mergeProps({"ref":imageRef},attrs),null),[[resolveDirective("lazy"),props.src]]);}return createVNode("img",mergeProps({"src":props.src,"onLoad":onLoad,"onError":onError},attrs),null);};var onLazyLoaded=function onLazyLoaded(_ref2){var el=_ref2.el;if(el===imageRef.value&&loading.value){onLoad();}};var onLazyLoadError=function onLazyLoadError(_ref3){var el=_ref3.el;if(el===imageRef.value&&!error.value){onError();}};if($Lazyload&&inBrowser$1){$Lazyload.$on('loaded',onLazyLoaded);$Lazyload.$on('error',onLazyLoadError);onBeforeUnmount(function(){$Lazyload.$off('loaded',onLazyLoaded);$Lazyload.$off('error',onLazyLoadError);});}return function(){return createVNode("div",{"class":bem$n({round:props.round}),"style":style.value},[renderImage(),renderPlaceholder(),slots.default==null?void 0:slots.default()]);};}});var Image$1=exports('q',withInstall(_Image));function scrollLeftTo(scroller,to,duration){var count=0;var from=scroller.scrollLeft;var frames=duration===0?1:Math.round(duration*1000/16);function animate(){scroller.scrollLeft+=(to-from)/frames;if(++count<frames){raf(animate);}}animate();}function scrollTopTo(scroller,to,duration,callback){var current=getScrollTop(scroller);var isDown=current<to;var frames=duration===0?1:Math.round(duration*1000/16);var step=(to-current)/frames;function animate(){current+=step;if(isDown&¤t>to||!isDown&¤t<to){current=to;}setScrollTop(scroller,current);if(isDown&¤t<to||!isDown&¤t>to){raf(animate);}else if(callback){raf(callback);}}animate();}function useVisibilityChange(target,onChange){// compatibility: https://caniuse.com/#feat=intersectionobserver
- if(!inBrowser$1||!window.IntersectionObserver){return;}var observer=new IntersectionObserver(function(entries){// visibility changed
- onChange(entries[0].intersectionRatio>0);},{root:document.body});var observe=function observe(){if(target.value){observer.observe(target.value);}};var unobserve=function unobserve(){if(target.value){observer.unobserve(target.value);}};onDeactivated(unobserve);onBeforeUnmount(unobserve);onMountedOrActivated(observe);}var _createNamespace31=createNamespace('sticky'),_createNamespace32=_slicedToArray(_createNamespace31,2),name$n=_createNamespace32[0],bem$m=_createNamespace32[1];var stickyProps={zIndex:numericProp,position:makeStringProp('top'),container:Object,offsetTop:makeNumericProp(0),offsetBottom:makeNumericProp(0)};var _Sticky=defineComponent({name:name$n,props:stickyProps,emits:['scroll','change'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var root=ref();var scrollParent=useScrollParent(root);var state=reactive({fixed:false,width:0,// root width
- height:0,// root height
- transform:0});var offset=computed(function(){return unitToPx(props.position==='top'?props.offsetTop:props.offsetBottom);});var rootStyle=computed(function(){var fixed=state.fixed,height=state.height,width=state.width;if(fixed){return{width:width+"px",height:height+"px"};}});var stickyStyle=computed(function(){if(!state.fixed){return;}var style=extend$1(getZIndexStyle(props.zIndex),_defineProperty2({width:state.width+"px",height:state.height+"px"},props.position,offset.value+"px"));if(state.transform){style.transform="translate3d(0, "+state.transform+"px, 0)";}return style;});var emitScroll=function emitScroll(scrollTop){return emit('scroll',{scrollTop:scrollTop,isFixed:state.fixed});};var onScroll=function onScroll(){if(!root.value||isHidden(root)){return;}var container=props.container,position=props.position;var rootRect=useRect(root);var scrollTop=getScrollTop(window);state.width=rootRect.width;state.height=rootRect.height;if(position==='top'){// The sticky component should be kept inside the container element
- if(container){var containerRect=useRect(container);var difference=containerRect.bottom-offset.value-state.height;state.fixed=offset.value>rootRect.top&&containerRect.bottom>0;state.transform=difference<0?difference:0;}else{state.fixed=offset.value>rootRect.top;}}else{var clientHeight=document.documentElement.clientHeight;if(container){var _containerRect=useRect(container);var _difference=clientHeight-_containerRect.top-offset.value-state.height;state.fixed=clientHeight-offset.value<rootRect.bottom&&clientHeight>_containerRect.top;state.transform=_difference<0?-_difference:0;}else{state.fixed=clientHeight-offset.value<rootRect.bottom;}}emitScroll(scrollTop);};watch(function(){return state.fixed;},function(value){return emit('change',value);});useEventListener('scroll',onScroll,{target:scrollParent});useVisibilityChange(root,onScroll);return function(){return createVNode("div",{"ref":root,"style":rootStyle.value},[createVNode("div",{"class":bem$m({fixed:state.fixed}),"style":stickyStyle.value},[slots.default==null?void 0:slots.default()])]);};}});var Sticky=exports('S',withInstall(_Sticky));var _createNamespace33=createNamespace('tab'),_createNamespace34=_slicedToArray(_createNamespace33,2),name$m=_createNamespace34[0],bem$l=_createNamespace34[1];var TabsTitle=defineComponent({name:name$m,props:{id:String,dot:Boolean,type:String,color:String,title:String,badge:numericProp,isActive:Boolean,disabled:Boolean,controls:String,scrollable:Boolean,activeColor:String,renderTitle:Function,inactiveColor:String,showZeroBadge:truthProp},setup:function setup(props){var style=computed(function(){var style={};var type=props.type,color=props.color,disabled=props.disabled,isActive=props.isActive,activeColor=props.activeColor,inactiveColor=props.inactiveColor;var isCard=type==='card';// card theme color
- if(color&&isCard){style.borderColor=color;if(!disabled){if(isActive){style.backgroundColor=color;}else{style.color=color;}}}var titleColor=isActive?activeColor:inactiveColor;if(titleColor){style.color=titleColor;}return style;});var renderText=function renderText(){var Text=createVNode("span",{"class":bem$l('text',{ellipsis:!props.scrollable})},[props.renderTitle?props.renderTitle():props.title]);if(props.dot||isDef(props.badge)&&props.badge!==''){return createVNode(Badge,{"dot":props.dot,"content":props.badge,"showZero":props.showZeroBadge},{default:function _default(){return[Text];}});}return Text;};return function(){return createVNode("div",{"id":props.id,"role":"tab","class":[bem$l({active:props.isActive,disabled:props.disabled})],"style":style.value,"tabindex":props.disabled?undefined:props.isActive?0:-1,"aria-selected":props.isActive,"aria-disabled":props.disabled||undefined,"aria-controls":props.controls},[renderText()]);};}});var _createNamespace35=createNamespace('swipe'),_createNamespace36=_slicedToArray(_createNamespace35,2),name$l=_createNamespace36[0],bem$k=_createNamespace36[1];var swipeProps={loop:truthProp,width:numericProp,height:numericProp,vertical:Boolean,autoplay:makeNumericProp(0),duration:makeNumericProp(500),touchable:truthProp,lazyRender:Boolean,initialSwipe:makeNumericProp(0),indicatorColor:String,showIndicators:truthProp,stopPropagation:truthProp};var SWIPE_KEY=Symbol(name$l);var _Swipe=defineComponent({name:name$l,props:swipeProps,emits:['change'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var root=ref();var state=reactive({rect:null,width:0,height:0,offset:0,active:0,swiping:false});var touch=useTouch();var _useChildren3=useChildren(SWIPE_KEY),children=_useChildren3.children,linkChildren=_useChildren3.linkChildren;var count=computed(function(){return children.length;});var size=computed(function(){return state[props.vertical?'height':'width'];});var delta=computed(function(){return props.vertical?touch.deltaY.value:touch.deltaX.value;});var minOffset=computed(function(){if(state.rect){var base=props.vertical?state.rect.height:state.rect.width;return base-size.value*count.value;}return 0;});var maxCount=computed(function(){return Math.ceil(Math.abs(minOffset.value)/size.value);});var trackSize=computed(function(){return count.value*size.value;});var activeIndicator=computed(function(){return(state.active+count.value)%count.value;});var isCorrectDirection=computed(function(){var expect=props.vertical?'vertical':'horizontal';return touch.direction.value===expect;});var trackStyle=computed(function(){var style={transitionDuration:(state.swiping?0:props.duration)+"ms",transform:"translate"+(props.vertical?'Y':'X')+"("+state.offset+"px)"};if(size.value){var mainAxis=props.vertical?'height':'width';var crossAxis=props.vertical?'width':'height';style[mainAxis]=trackSize.value+"px";style[crossAxis]=props[crossAxis]?props[crossAxis]+"px":'';}return style;});var getTargetActive=function getTargetActive(pace){var active=state.active;if(pace){if(props.loop){return clamp(active+pace,-1,count.value);}return clamp(active+pace,0,maxCount.value);}return active;};var getTargetOffset=function getTargetOffset(targetActive,offset){if(offset===void 0){offset=0;}var currentPosition=targetActive*size.value;if(!props.loop){currentPosition=Math.min(currentPosition,-minOffset.value);}var targetOffset=offset-currentPosition;if(!props.loop){targetOffset=clamp(targetOffset,minOffset.value,0);}return targetOffset;};var move=function move(_ref2){var _ref2$pace=_ref2.pace,pace=_ref2$pace===void 0?0:_ref2$pace,_ref2$offset=_ref2.offset,offset=_ref2$offset===void 0?0:_ref2$offset,emitChange=_ref2.emitChange;if(count.value<=1){return;}var active=state.active;var targetActive=getTargetActive(pace);var targetOffset=getTargetOffset(targetActive,offset);// auto move first and last swipe in loop mode
- if(props.loop){if(children[0]&&targetOffset!==minOffset.value){var outRightBound=targetOffset<minOffset.value;children[0].setOffset(outRightBound?trackSize.value:0);}if(children[count.value-1]&&targetOffset!==0){var outLeftBound=targetOffset>0;children[count.value-1].setOffset(outLeftBound?-trackSize.value:0);}}state.active=targetActive;state.offset=targetOffset;if(emitChange&&targetActive!==active){emit('change',activeIndicator.value);}};var correctPosition=function correctPosition(){state.swiping=true;if(state.active<=-1){move({pace:count.value});}else if(state.active>=count.value){move({pace:-count.value});}};// swipe to prev item
- var prev=function prev(){correctPosition();touch.reset();doubleRaf(function(){state.swiping=false;move({pace:-1,emitChange:true});});};// swipe to next item
- var next=function next(){correctPosition();touch.reset();doubleRaf(function(){state.swiping=false;move({pace:1,emitChange:true});});};var autoplayTimer;var stopAutoplay=function stopAutoplay(){return clearTimeout(autoplayTimer);};var autoplay=function autoplay(){stopAutoplay();if(props.autoplay>0&&count.value>1){autoplayTimer=setTimeout(function(){next();autoplay();},+props.autoplay);}};// initialize swipe position
- var initialize=function initialize(active){if(active===void 0){active=+props.initialSwipe;}if(!root.value){return;}if(!isHidden(root)){var _props$width,_props$height;var rect={width:root.value.offsetWidth,height:root.value.offsetHeight};state.rect=rect;state.width=+((_props$width=props.width)!=null?_props$width:rect.width);state.height=+((_props$height=props.height)!=null?_props$height:rect.height);}if(count.value){active=Math.min(count.value-1,active);}state.active=active;state.swiping=true;state.offset=getTargetOffset(active);children.forEach(function(swipe){swipe.setOffset(0);});autoplay();};var resize=function resize(){return initialize(state.active);};var touchStartTime;var onTouchStart=function onTouchStart(event){if(!props.touchable)return;touch.start(event);touchStartTime=Date.now();stopAutoplay();correctPosition();};var onTouchMove=function onTouchMove(event){if(props.touchable&&state.swiping){touch.move(event);// if user starting to touchmove, prevent the event bubbling to
- // avoid affecting the parent components
- var shouldPrevent=isCorrectDirection.value||touch.offsetY.value>touch.offsetX.value===props.vertical;if(shouldPrevent){preventDefault(event,props.stopPropagation);}if(isCorrectDirection.value){move({offset:delta.value});}}};var onTouchEnd=function onTouchEnd(){if(!props.touchable||!state.swiping){return;}var duration=Date.now()-touchStartTime;var speed=delta.value/duration;var shouldSwipe=Math.abs(speed)>0.25||Math.abs(delta.value)>size.value/2;if(shouldSwipe&&isCorrectDirection.value){var offset=props.vertical?touch.offsetY.value:touch.offsetX.value;var pace=0;if(props.loop){pace=offset>0?delta.value>0?-1:1:0;}else{pace=-Math[delta.value>0?'ceil':'floor'](delta.value/size.value);}move({pace:pace,emitChange:true});}else if(delta.value){move({pace:0});}state.swiping=false;autoplay();};var swipeTo=function swipeTo(index,options){if(options===void 0){options={};}correctPosition();touch.reset();doubleRaf(function(){var targetIndex;if(props.loop&&index===count.value){targetIndex=state.active===0?0:index;}else{targetIndex=index%count.value;}if(options.immediate){doubleRaf(function(){state.swiping=false;});}else{state.swiping=false;}move({pace:targetIndex-state.active,emitChange:true});});};var renderDot=function renderDot(_,index){var active=index===activeIndicator.value;var style=active?{backgroundColor:props.indicatorColor}:undefined;return createVNode("i",{"style":style,"class":bem$k('indicator',{active:active})},null);};var renderIndicator=function renderIndicator(){if(slots.indicator){return slots.indicator({active:activeIndicator.value});}if(props.showIndicators&&count.value>1){return createVNode("div",{"class":bem$k('indicators',{vertical:props.vertical})},[Array(count.value).fill('').map(renderDot)]);}};useExpose({prev:prev,next:next,state:state,resize:resize,swipeTo:swipeTo});linkChildren({size:size,props:props,count:count,activeIndicator:activeIndicator});watch(function(){return props.initialSwipe;},function(value){return initialize(+value);});watch(count,function(){return initialize(state.active);});watch(function(){return props.autoplay;},autoplay);watch([windowWidth,windowHeight],resize);watch(usePageVisibility(),function(visible){if(visible==='visible'){autoplay();}else{stopAutoplay();}});onMounted(initialize);onActivated(function(){return initialize(state.active);});onPopupReopen(function(){return initialize(state.active);});onDeactivated(stopAutoplay);onBeforeUnmount(stopAutoplay);return function(){return createVNode("div",{"ref":root,"class":bem$k()},[createVNode("div",{"style":trackStyle.value,"class":bem$k('track',{vertical:props.vertical}),"onTouchstart":onTouchStart,"onTouchmove":onTouchMove,"onTouchend":onTouchEnd,"onTouchcancel":onTouchEnd},[slots.default==null?void 0:slots.default()]),renderIndicator()]);};}});var Swipe=withInstall(_Swipe);var _createNamespace37=createNamespace('tabs'),_createNamespace38=_slicedToArray(_createNamespace37,2),name$k=_createNamespace38[0],bem$j=_createNamespace38[1];var TabsContent=defineComponent({name:name$k,props:{count:makeRequiredProp(Number),inited:Boolean,animated:Boolean,duration:makeRequiredProp(numericProp),swipeable:Boolean,lazyRender:Boolean,currentIndex:makeRequiredProp(Number)},emits:['change'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var swipeRef=ref();var onChange=function onChange(index){return emit('change',index);};var renderChildren=function renderChildren(){var Content=slots.default==null?void 0:slots.default();if(props.animated||props.swipeable){return createVNode(Swipe,{"ref":swipeRef,"loop":false,"class":bem$j('track'),"duration":+props.duration*1000,"touchable":props.swipeable,"lazyRender":props.lazyRender,"showIndicators":false,"onChange":onChange},{default:function _default(){return[Content];}});}return Content;};var swipeToCurrentTab=function swipeToCurrentTab(index){var swipe=swipeRef.value;if(swipe&&swipe.state.active!==index){swipe.swipeTo(index,{immediate:!props.inited});}};watch(function(){return props.currentIndex;},swipeToCurrentTab);onMounted(function(){swipeToCurrentTab(props.currentIndex);});return function(){return createVNode("div",{"class":bem$j('content',{animated:props.animated||props.swipeable})},[renderChildren()]);};}});var _createNamespace39=createNamespace('tabs'),_createNamespace40=_slicedToArray(_createNamespace39,2),name$j=_createNamespace40[0],bem$i=_createNamespace40[1];var tabsProps={type:makeStringProp('line'),color:String,border:Boolean,sticky:Boolean,active:makeNumericProp(0),duration:makeNumericProp(0.3),animated:Boolean,ellipsis:truthProp,swipeable:Boolean,scrollspy:Boolean,offsetTop:makeNumericProp(0),background:String,lazyRender:truthProp,lineWidth:numericProp,lineHeight:numericProp,beforeChange:Function,swipeThreshold:makeNumericProp(5),titleActiveColor:String,titleInactiveColor:String};var TABS_KEY=Symbol(name$j);var _Tabs=defineComponent({name:name$j,props:tabsProps,emits:['click','change','scroll','disabled','rendered','click-tab','update:active'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var tabHeight;var lockScroll;var stickyFixed;var root=ref();var navRef=ref();var wrapRef=ref();var id=useId();var scroller=useScrollParent(root);var _useRefs=useRefs(),_useRefs2=_slicedToArray(_useRefs,2),titleRefs=_useRefs2[0],setTitleRefs=_useRefs2[1];var _useChildren4=useChildren(TABS_KEY),children=_useChildren4.children,linkChildren=_useChildren4.linkChildren;var state=reactive({inited:false,position:'',lineStyle:{},currentIndex:-1});// whether the nav is scrollable
- var scrollable=computed(function(){return children.length>props.swipeThreshold||!props.ellipsis;});var navStyle=computed(function(){return{borderColor:props.color,background:props.background};});var getTabName=function getTabName(tab,index){var _tab$name;return(_tab$name=tab.name)!=null?_tab$name:index;};var currentName=computed(function(){var activeTab=children[state.currentIndex];if(activeTab){return getTabName(activeTab,state.currentIndex);}});var offsetTopPx=computed(function(){return unitToPx(props.offsetTop);});var scrollOffset=computed(function(){if(props.sticky){return offsetTopPx.value+tabHeight;}return 0;});// scroll active tab into view
- var scrollIntoView=function scrollIntoView(immediate){var nav=navRef.value;var titles=titleRefs.value;if(!scrollable.value||!nav||!titles||!titles[state.currentIndex]){return;}var title=titles[state.currentIndex].$el;var to=title.offsetLeft-(nav.offsetWidth-title.offsetWidth)/2;scrollLeftTo(nav,to,immediate?0:+props.duration);};// update nav bar style
- var setLine=function setLine(){var shouldAnimate=state.inited;nextTick(function(){var titles=titleRefs.value;if(!titles||!titles[state.currentIndex]||props.type!=='line'||isHidden(root.value)){return;}var title=titles[state.currentIndex].$el;var lineWidth=props.lineWidth,lineHeight=props.lineHeight;var left=title.offsetLeft+title.offsetWidth/2;var lineStyle={width:addUnit(lineWidth),backgroundColor:props.color,transform:"translateX("+left+"px) translateX(-50%)"};if(shouldAnimate){lineStyle.transitionDuration=props.duration+"s";}if(isDef(lineHeight)){var height=addUnit(lineHeight);lineStyle.height=height;lineStyle.borderRadius=height;}state.lineStyle=lineStyle;});};var findAvailableTab=function findAvailableTab(index){var diff=index<state.currentIndex?-1:1;while(index>=0&&index<children.length){if(!children[index].disabled){return index;}index+=diff;}};var setCurrentIndex=function setCurrentIndex(currentIndex){var newIndex=findAvailableTab(currentIndex);if(!isDef(newIndex)){return;}var newTab=children[newIndex];var newName=getTabName(newTab,newIndex);var shouldEmitChange=state.currentIndex!==null;state.currentIndex=newIndex;if(newName!==props.active){emit('update:active',newName);if(shouldEmitChange){emit('change',newName,newTab.title);}}};// correct the index of active tab
- var setCurrentIndexByName=function setCurrentIndexByName(name){var matched=children.find(function(tab,index){return getTabName(tab,index)===name;});var index=matched?children.indexOf(matched):0;setCurrentIndex(index);};var scrollToCurrentContent=function scrollToCurrentContent(immediate){if(immediate===void 0){immediate=false;}if(props.scrollspy){var target=children[state.currentIndex].$el;if(target&&scroller.value){var to=getElementTop(target,scroller.value)-scrollOffset.value;lockScroll=true;scrollTopTo(scroller.value,to,immediate?0:+props.duration,function(){lockScroll=false;});}}};// emit event when clicked
- var onClickTab=function onClickTab(item,index,event){var _children$index=children[index],title=_children$index.title,disabled=_children$index.disabled;var name=getTabName(children[index],index);if(disabled){// @deprecated
- // should be removed in next major version
- emit('disabled',name,title);}else{callInterceptor(props.beforeChange,{args:[name],done:function done(){setCurrentIndex(index);scrollToCurrentContent();}});// @deprecated
- // should be removed in next major version
- emit('click',name,title);route(item);}emit('click-tab',{name:name,title:title,event:event,disabled:disabled});};var onStickyScroll=function onStickyScroll(params){stickyFixed=params.isFixed;emit('scroll',params);};var scrollTo=function scrollTo(name){nextTick(function(){setCurrentIndexByName(name);scrollToCurrentContent(true);});};var getCurrentIndexOnScroll=function getCurrentIndexOnScroll(){for(var index=0;index<children.length;index++){var _useRect=useRect(children[index].$el),top=_useRect.top;if(top>scrollOffset.value){return index===0?0:index-1;}}return children.length-1;};var onScroll=function onScroll(){if(props.scrollspy&&!lockScroll){var index=getCurrentIndexOnScroll();setCurrentIndex(index);}};var renderNav=function renderNav(){return children.map(function(item,index){return createVNode(TabsTitle,mergeProps({"id":id+"-"+index,"ref":setTitleRefs(index),"type":props.type,"color":props.color,"style":item.titleStyle,"class":item.titleClass,"isActive":index===state.currentIndex,"controls":item.id,"scrollable":scrollable.value,"renderTitle":item.$slots.title,"activeColor":props.titleActiveColor,"inactiveColor":props.titleInactiveColor,"onClick":function onClick(event){return onClickTab(item,index,event);}},pick(item,['dot','badge','title','disabled','showZeroBadge'])),null);});};var renderHeader=function renderHeader(){var _slots$navLeft,_slots$navRight;var type=props.type,border=props.border;return createVNode("div",{"ref":wrapRef,"class":[bem$i('wrap',{scrollable:scrollable.value}),_defineProperty2({},BORDER_TOP_BOTTOM,type==='line'&&border)]},[createVNode("div",{"ref":navRef,"role":"tablist","class":bem$i('nav',[type,{complete:scrollable.value}]),"style":navStyle.value,"aria-orientation":"horizontal"},[(_slots$navLeft=slots['nav-left'])==null?void 0:_slots$navLeft.call(slots),renderNav(),type==='line'&&createVNode("div",{"class":bem$i('line'),"style":state.lineStyle},null),(_slots$navRight=slots['nav-right'])==null?void 0:_slots$navRight.call(slots)])]);};watch([function(){return props.color;},windowWidth],setLine);watch(function(){return props.active;},function(value){if(value!==currentName.value){setCurrentIndexByName(value);}});watch(function(){return children.length;},function(){if(state.inited){setCurrentIndexByName(props.active);setLine();nextTick(function(){scrollIntoView(true);});}});watch(function(){return state.currentIndex;},function(){scrollIntoView();setLine();// scroll to correct position
- if(stickyFixed&&!props.scrollspy){setRootScrollTop(Math.ceil(getElementTop(root.value)-offsetTopPx.value));}});var init=function init(){setCurrentIndexByName(props.active);nextTick(function(){state.inited=true;if(wrapRef.value){tabHeight=useRect(wrapRef.value).height;}scrollIntoView(true);});};var onRendered=function onRendered(name,title){return emit('rendered',name,title);};useExpose({resize:setLine,scrollTo:scrollTo});onActivated(setLine);onPopupReopen(setLine);onMountedOrActivated(init);useEventListener('scroll',onScroll,{target:scroller});linkChildren({id:id,props:props,setLine:setLine,onRendered:onRendered,currentName:currentName,scrollIntoView:scrollIntoView});return function(){var _slots$navBottom,_slots$navBottom2;return createVNode("div",{"ref":root,"class":bem$i([props.type])},[props.sticky?createVNode(Sticky,{"container":root.value,"offsetTop":offsetTopPx.value,"onScroll":onStickyScroll},{default:function _default(){return[renderHeader(),(_slots$navBottom=slots['nav-bottom'])==null?void 0:_slots$navBottom.call(slots)];}}):[renderHeader(),(_slots$navBottom2=slots['nav-bottom'])==null?void 0:_slots$navBottom2.call(slots)],createVNode(TabsContent,{"count":children.length,"inited":state.inited,"animated":props.animated,"duration":props.duration,"swipeable":props.swipeable,"lazyRender":props.lazyRender,"currentIndex":state.currentIndex,"onChange":setCurrentIndex},{default:function _default(){return[slots.default==null?void 0:slots.default()];}})]);};}});var TAB_STATUS_KEY=Symbol();var useTabStatus=function useTabStatus(){return inject(TAB_STATUS_KEY,null);};var _createNamespace41=createNamespace('swipe-item'),_createNamespace42=_slicedToArray(_createNamespace41,2),name$i=_createNamespace42[0],bem$h=_createNamespace42[1];var _SwipeItem=defineComponent({name:name$i,setup:function setup(props,_ref){var slots=_ref.slots;var rendered;var state=reactive({offset:0,inited:false,mounted:false});var _useParent2=useParent(SWIPE_KEY),parent=_useParent2.parent,index=_useParent2.index;if(!parent){return;}var style=computed(function(){var style={};var vertical=parent.props.vertical;if(parent.size.value){style[vertical?'height':'width']=parent.size.value+"px";}if(state.offset){style.transform="translate"+(vertical?'Y':'X')+"("+state.offset+"px)";}return style;});var shouldRender=computed(function(){var _parent$props=parent.props,loop=_parent$props.loop,lazyRender=_parent$props.lazyRender;if(!lazyRender||rendered){return true;}// wait for all item to mount, so we can get the exact count
- if(!state.mounted){return false;}var active=parent.activeIndicator.value;var maxActive=parent.count.value-1;var prevActive=active===0&&loop?maxActive:active-1;var nextActive=active===maxActive&&loop?0:active+1;rendered=index.value===active||index.value===prevActive||index.value===nextActive;return rendered;});var setOffset=function setOffset(offset){state.offset=offset;};onMounted(function(){nextTick(function(){state.mounted=true;});});useExpose({setOffset:setOffset});return function(){return createVNode("div",{"class":bem$h(),"style":style.value},[shouldRender.value?slots.default==null?void 0:slots.default():null]);};}});var SwipeItem=withInstall(_SwipeItem);var _createNamespace43=createNamespace('tab'),_createNamespace44=_slicedToArray(_createNamespace43,2),name$h=_createNamespace44[0],bem$g=_createNamespace44[1];var tabProps=extend$1({},routeProps,{dot:Boolean,name:numericProp,badge:numericProp,title:String,disabled:Boolean,titleClass:unknownProp,titleStyle:[String,Object],showZeroBadge:truthProp});var _Tab=defineComponent({name:name$h,props:tabProps,setup:function setup(props,_ref){var slots=_ref.slots;var id=useId();var inited=ref(false);var _useParent3=useParent(TABS_KEY),parent=_useParent3.parent,index=_useParent3.index;if(!parent){return;}var getName=function getName(){var _props$name;return(_props$name=props.name)!=null?_props$name:index.value;};var init=function init(){inited.value=true;if(parent.props.lazyRender){nextTick(function(){parent.onRendered(getName(),props.title);});}};var active=computed(function(){var isActive=getName()===parent.currentName.value;if(isActive&&!inited.value){init();}return isActive;});watch(function(){return props.title;},function(){parent.setLine();parent.scrollIntoView();});provide(TAB_STATUS_KEY,active);return function(){var label=parent.id+"-"+index.value;var _parent$props2=parent.props,animated=_parent$props2.animated,swipeable=_parent$props2.swipeable,scrollspy=_parent$props2.scrollspy,lazyRender=_parent$props2.lazyRender;if(!slots.default&&!animated){return;}var show=scrollspy||active.value;if(animated||swipeable){return createVNode(SwipeItem,{"id":id,"role":"tabpanel","class":bem$g('panel-wrapper',{inactive:!active.value}),"tabindex":active.value?0:-1,"aria-hidden":!active.value,"aria-labelledby":label},{default:function _default(){return[createVNode("div",{"class":bem$g('panel')},[slots.default==null?void 0:slots.default()])];}});}var shouldRender=inited.value||scrollspy||!lazyRender;var Content=shouldRender?slots.default==null?void 0:slots.default():null;useExpose({id:id});return withDirectives(createVNode("div",{"id":id,"role":"tabpanel","class":bem$g('panel'),"tabindex":show?0:-1,"aria-labelledby":label},[Content]),[[vShow,show]]);};}});var Tab=exports('X',withInstall(_Tab));var Tabs=exports('W',withInstall(_Tabs));var _createNamespace45=createNamespace('cell-group'),_createNamespace46=_slicedToArray(_createNamespace45,2),name$g=_createNamespace46[0],bem$f=_createNamespace46[1];var cellGroupProps={title:String,inset:Boolean,border:truthProp};var _CellGroup=defineComponent({name:name$g,inheritAttrs:false,props:cellGroupProps,setup:function setup(props,_ref){var slots=_ref.slots,attrs=_ref.attrs;var renderGroup=function renderGroup(){return createVNode("div",mergeProps({"class":[bem$f({inset:props.inset}),_defineProperty2({},BORDER_TOP_BOTTOM,props.border&&!props.inset)]},attrs),[slots.default==null?void 0:slots.default()]);};var renderTitle=function renderTitle(){return createVNode("div",{"class":bem$f('title',{inset:props.inset})},[slots.title?slots.title():props.title]);};return function(){if(props.title||slots.title){return createVNode(Fragment,null,[renderTitle(),renderGroup()]);}return renderGroup();};}});var CellGroup=exports('C',withInstall(_CellGroup));var _createNamespace47=createNamespace('checkbox-group'),_createNamespace48=_slicedToArray(_createNamespace47,2),name$f=_createNamespace48[0],bem$e=_createNamespace48[1];var checkboxGroupProps={max:numericProp,disabled:Boolean,iconSize:numericProp,direction:String,modelValue:makeArrayProp(),checkedColor:String};var CHECKBOX_GROUP_KEY=Symbol(name$f);var _CheckboxGroup=defineComponent({name:name$f,props:checkboxGroupProps,emits:['change','update:modelValue'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var _useChildren5=useChildren(CHECKBOX_GROUP_KEY),children=_useChildren5.children,linkChildren=_useChildren5.linkChildren;var updateValue=function updateValue(value){return emit('update:modelValue',value);};var toggleAll=function toggleAll(options){if(options===void 0){options={};}if(typeof options==='boolean'){options={checked:options};}var _options=options,checked=_options.checked,skipDisabled=_options.skipDisabled;var checkedChildren=children.filter(function(item){if(!item.props.bindGroup){return false;}if(item.props.disabled&&skipDisabled){return item.checked.value;}return checked!=null?checked:!item.checked.value;});var names=checkedChildren.map(function(item){return item.name;});updateValue(names);};watch(function(){return props.modelValue;},function(value){return emit('change',value);});useExpose({toggleAll:toggleAll});useCustomFieldValue(function(){return props.modelValue;});linkChildren({props:props,updateValue:updateValue});return function(){return createVNode("div",{"class":bem$e([props.direction])},[slots.default==null?void 0:slots.default()]);};}});var _createNamespace49=createNamespace('checkbox'),_createNamespace50=_slicedToArray(_createNamespace49,2),name$e=_createNamespace50[0],bem$d=_createNamespace50[1];var checkboxProps=extend$1({},checkerProps,{bindGroup:truthProp});var _Checkbox=defineComponent({name:name$e,props:checkboxProps,emits:['change','update:modelValue'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var _useParent4=useParent(CHECKBOX_GROUP_KEY),parent=_useParent4.parent;var setParentValue=function setParentValue(checked){var name=props.name;var _parent$props3=parent.props,max=_parent$props3.max,modelValue=_parent$props3.modelValue;var value=modelValue.slice();if(checked){var overlimit=max&&value.length>=max;if(!overlimit&&!value.includes(name)){value.push(name);if(props.bindGroup){parent.updateValue(value);}}}else{var index=value.indexOf(name);if(index!==-1){value.splice(index,1);if(props.bindGroup){parent.updateValue(value);}}}};var checked=computed(function(){if(parent&&props.bindGroup){return parent.props.modelValue.indexOf(props.name)!==-1;}return!!props.modelValue;});var toggle=function toggle(newValue){if(newValue===void 0){newValue=!checked.value;}if(parent&&props.bindGroup){setParentValue(newValue);}else{emit('update:modelValue',newValue);}};watch(function(){return props.modelValue;},function(value){return emit('change',value);});useExpose({toggle:toggle,props:props,checked:checked});useCustomFieldValue(function(){return props.modelValue;});return function(){return createVNode(Checker,mergeProps({"bem":bem$d,"role":"checkbox","parent":parent,"checked":checked.value,"onToggle":toggle},props),pick(slots,['default','icon']));};}});var Checkbox=exports('E',withInstall(_Checkbox));var CheckboxGroup=exports('J',withInstall(_CheckboxGroup));var _createNamespace51=createNamespace('row'),_createNamespace52=_slicedToArray(_createNamespace51,2),name$d=_createNamespace52[0],bem$c=_createNamespace52[1];var ROW_KEY=Symbol(name$d);var rowProps={tag:makeStringProp('div'),wrap:truthProp,align:String,gutter:makeNumericProp(0),justify:String};var _Row=defineComponent({name:name$d,props:rowProps,setup:function setup(props,_ref){var slots=_ref.slots;var _useChildren6=useChildren(ROW_KEY),children=_useChildren6.children,linkChildren=_useChildren6.linkChildren;var groups=computed(function(){var groups=[[]];var totalSpan=0;children.forEach(function(child,index){totalSpan+=Number(child.span);if(totalSpan>24){groups.push([index]);totalSpan-=24;}else{groups[groups.length-1].push(index);}});return groups;});var spaces=computed(function(){var gutter=Number(props.gutter);var spaces=[];if(!gutter){return spaces;}groups.value.forEach(function(group){var averagePadding=gutter*(group.length-1)/group.length;group.forEach(function(item,index){if(index===0){spaces.push({right:averagePadding});}else{var left=gutter-spaces[item-1].right;var right=averagePadding-left;spaces.push({left:left,right:right});}});});return spaces;});linkChildren({spaces:spaces});return function(){var _bem$c;var tag=props.tag,wrap=props.wrap,align=props.align,justify=props.justify;return createVNode(tag,{"class":bem$c((_bem$c={},_defineProperty2(_bem$c,"align-"+align,align),_defineProperty2(_bem$c,"justify-"+justify,justify),_defineProperty2(_bem$c,"nowrap",!wrap),_bem$c))},{default:function _default(){return[slots.default==null?void 0:slots.default()];}});};}});var _createNamespace53=createNamespace('col'),_createNamespace54=_slicedToArray(_createNamespace53,2),name$c=_createNamespace54[0],bem$b=_createNamespace54[1];var colProps={tag:makeStringProp('div'),span:makeNumericProp(0),offset:numericProp};var _Col=defineComponent({name:name$c,props:colProps,setup:function setup(props,_ref){var slots=_ref.slots;var _useParent5=useParent(ROW_KEY),parent=_useParent5.parent,index=_useParent5.index;var style=computed(function(){if(!parent){return;}var spaces=parent.spaces;if(spaces&&spaces.value&&spaces.value[index.value]){var _spaces$value$index$v=spaces.value[index.value],left=_spaces$value$index$v.left,right=_spaces$value$index$v.right;return{paddingLeft:left?left+"px":null,paddingRight:right?right+"px":null};}});return function(){var _bem$b;var tag=props.tag,span=props.span,offset=props.offset;return createVNode(tag,{"style":style.value,"class":bem$b((_bem$b={},_defineProperty2(_bem$b,span,span),_defineProperty2(_bem$b,"offset-"+offset,offset),_bem$b))},{default:function _default(){return[slots.default==null?void 0:slots.default()];}});};}});var Col=exports('l',withInstall(_Col));function parseFormat(format,currentTime){var days=currentTime.days;var hours=currentTime.hours,minutes=currentTime.minutes,seconds=currentTime.seconds,milliseconds=currentTime.milliseconds;if(format.includes('DD')){format=format.replace('DD',padZero(days));}else{hours+=days*24;}if(format.includes('HH')){format=format.replace('HH',padZero(hours));}else{minutes+=hours*60;}if(format.includes('mm')){format=format.replace('mm',padZero(minutes));}else{seconds+=minutes*60;}if(format.includes('ss')){format=format.replace('ss',padZero(seconds));}else{milliseconds+=seconds*1000;}if(format.includes('S')){var ms=padZero(milliseconds,3);if(format.includes('SSS')){format=format.replace('SSS',ms);}else if(format.includes('SS')){format=format.replace('SS',ms.slice(0,2));}else{format=format.replace('S',ms.charAt(0));}}return format;}var _createNamespace55=createNamespace('count-down'),_createNamespace56=_slicedToArray(_createNamespace55,2),name$b=_createNamespace56[0],bem$a=_createNamespace56[1];var countDownProps={time:makeNumericProp(0),format:makeStringProp('HH:mm:ss'),autoStart:truthProp,millisecond:Boolean};var _CountDown=defineComponent({name:name$b,props:countDownProps,emits:['change','finish'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var _useCountDown=useCountDown({time:+props.time,millisecond:props.millisecond,onChange:function onChange(current){return emit('change',current);},onFinish:function onFinish(){return emit('finish');}}),start=_useCountDown.start,pause=_useCountDown.pause,reset=_useCountDown.reset,current=_useCountDown.current;var timeText=computed(function(){return parseFormat(props.format,current.value);});var resetTime=function resetTime(){reset(+props.time);if(props.autoStart){start();}};watch(function(){return props.time;},resetTime,{immediate:true});useExpose({start:start,pause:pause,reset:resetTime});return function(){return createVNode("div",{"role":"timer","class":bem$a()},[slots.default?slots.default(current.value):timeText.value]);};}});var CountDown=exports('p',withInstall(_CountDown));var _createNamespace57=createNamespace('time-picker'),_createNamespace58=_slicedToArray(_createNamespace57,1),name$a=_createNamespace58[0];var TimePicker=defineComponent({name:name$a,props:extend$1({},sharedProps,{minHour:makeNumericProp(0),maxHour:makeNumericProp(23),minMinute:makeNumericProp(0),maxMinute:makeNumericProp(59),modelValue:String}),emits:['confirm','cancel','change','update:modelValue'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var formatValue=function formatValue(value){var minHour=props.minHour,maxHour=props.maxHour,maxMinute=props.maxMinute,minMinute=props.minMinute;if(!value){value=padZero(minHour)+":"+padZero(minMinute);}var _value$split=value.split(':'),_value$split2=_slicedToArray(_value$split,2),hour=_value$split2[0],minute=_value$split2[1];hour=padZero(clamp(+hour,+minHour,+maxHour));minute=padZero(clamp(+minute,+minMinute,+maxMinute));return hour+":"+minute;};var picker=ref();var currentDate=ref(formatValue(props.modelValue));var ranges=computed(function(){return[{type:'hour',range:[+props.minHour,+props.maxHour]},{type:'minute',range:[+props.minMinute,+props.maxMinute]}];});var originColumns=computed(function(){return ranges.value.map(function(_ref2){var type=_ref2.type,rangeArr=_ref2.range;var values=times(rangeArr[1]-rangeArr[0]+1,function(index){return padZero(rangeArr[0]+index);});if(props.filter){values=props.filter(type,values);}return{type:type,values:values};});});var columns=computed(function(){return originColumns.value.map(function(column){return{values:column.values.map(function(value){return props.formatter(column.type,value);})};});});var updateColumnValue=function updateColumnValue(){var pair=currentDate.value.split(':');var values=[props.formatter('hour',pair[0]),props.formatter('minute',pair[1])];nextTick(function(){var _picker$value;(_picker$value=picker.value)==null?void 0:_picker$value.setValues(values);});};var updateInnerValue=function updateInnerValue(){var _picker$value$getInde=picker.value.getIndexes(),_picker$value$getInde2=_slicedToArray(_picker$value$getInde,2),hourIndex=_picker$value$getInde2[0],minuteIndex=_picker$value$getInde2[1];var _originColumns$value=_slicedToArray(originColumns.value,2),hourColumn=_originColumns$value[0],minuteColumn=_originColumns$value[1];var hour=hourColumn.values[hourIndex]||hourColumn.values[0];var minute=minuteColumn.values[minuteIndex]||minuteColumn.values[0];currentDate.value=formatValue(hour+":"+minute);updateColumnValue();};var onConfirm=function onConfirm(){return emit('confirm',currentDate.value);};var onCancel=function onCancel(){return emit('cancel');};var onChange=function onChange(){updateInnerValue();nextTick(function(){nextTick(function(){return emit('change',currentDate.value);});});};onMounted(function(){updateColumnValue();nextTick(updateInnerValue);});watch(columns,updateColumnValue);watch(function(){return[props.filter,props.maxHour,props.minMinute,props.maxMinute];},updateInnerValue);watch(function(){return props.minHour;},function(){nextTick(updateInnerValue);});watch(currentDate,function(value){return emit('update:modelValue',value);});watch(function(){return props.modelValue;},function(value){value=formatValue(value);if(value!==currentDate.value){currentDate.value=value;updateColumnValue();}});useExpose({getPicker:function getPicker(){return picker.value&&proxyPickerMethods(picker.value,updateInnerValue);}});return function(){return createVNode(Picker,mergeProps({"ref":picker,"columns":columns.value,"onChange":onChange,"onCancel":onCancel,"onConfirm":onConfirm},pick(props,pickerInheritKeys)),slots);};}});var currentYear=new Date().getFullYear();var _createNamespace59=createNamespace('date-picker'),_createNamespace60=_slicedToArray(_createNamespace59,1),name$9=_createNamespace60[0];var DatePicker=defineComponent({name:name$9,props:extend$1({},sharedProps,{type:makeStringProp('datetime'),modelValue:Date,minDate:{type:Date,default:function _default(){return new Date(currentYear-10,0,1);},validator:isDate$2},maxDate:{type:Date,default:function _default(){return new Date(currentYear+10,11,31);},validator:isDate$2}}),emits:['confirm','cancel','change','update:modelValue'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var formatValue=function formatValue(value){if(isDate$2(value)){var timestamp=clamp(value.getTime(),props.minDate.getTime(),props.maxDate.getTime());return new Date(timestamp);}return undefined;};var picker=ref();var currentDate=ref(formatValue(props.modelValue));var getBoundary=function getBoundary(type,value){var _ref49;var boundary=props[type+"Date"];var year=boundary.getFullYear();var month=1;var date=1;var hour=0;var minute=0;if(type==='max'){month=12;date=getMonthEndDay(value.getFullYear(),value.getMonth()+1);hour=23;minute=59;}if(value.getFullYear()===year){month=boundary.getMonth()+1;if(value.getMonth()+1===month){date=boundary.getDate();if(value.getDate()===date){hour=boundary.getHours();if(value.getHours()===hour){minute=boundary.getMinutes();}}}}return _ref49={},_defineProperty2(_ref49,type+"Year",year),_defineProperty2(_ref49,type+"Month",month),_defineProperty2(_ref49,type+"Date",date),_defineProperty2(_ref49,type+"Hour",hour),_defineProperty2(_ref49,type+"Minute",minute),_ref49;};var ranges=computed(function(){var _getBoundary=getBoundary('max',currentDate.value||props.minDate),maxYear=_getBoundary.maxYear,maxDate=_getBoundary.maxDate,maxMonth=_getBoundary.maxMonth,maxHour=_getBoundary.maxHour,maxMinute=_getBoundary.maxMinute;var _getBoundary2=getBoundary('min',currentDate.value||props.minDate),minYear=_getBoundary2.minYear,minDate=_getBoundary2.minDate,minMonth=_getBoundary2.minMonth,minHour=_getBoundary2.minHour,minMinute=_getBoundary2.minMinute;var result=[{type:'year',range:[minYear,maxYear]},{type:'month',range:[minMonth,maxMonth]},{type:'day',range:[minDate,maxDate]},{type:'hour',range:[minHour,maxHour]},{type:'minute',range:[minMinute,maxMinute]}];switch(props.type){case'date':result=result.slice(0,3);break;case'year-month':result=result.slice(0,2);break;case'month-day':result=result.slice(1,3);break;case'datehour':result=result.slice(0,4);break;}if(props.columnsOrder){var columnsOrder=props.columnsOrder.concat(result.map(function(column){return column.type;}));result.sort(function(a,b){return columnsOrder.indexOf(a.type)-columnsOrder.indexOf(b.type);});}return result;});var originColumns=computed(function(){return ranges.value.map(function(_ref2){var type=_ref2.type,rangeArr=_ref2.range;var values=times(rangeArr[1]-rangeArr[0]+1,function(index){return padZero(rangeArr[0]+index);});if(props.filter){values=props.filter(type,values);}return{type:type,values:values};});});var columns=computed(function(){return originColumns.value.map(function(column){return{values:column.values.map(function(value){return props.formatter(column.type,value);})};});});var updateColumnValue=function updateColumnValue(){var value=currentDate.value||props.minDate;var formatter=props.formatter;var values=originColumns.value.map(function(column){switch(column.type){case'year':return formatter('year',""+value.getFullYear());case'month':return formatter('month',padZero(value.getMonth()+1));case'day':return formatter('day',padZero(value.getDate()));case'hour':return formatter('hour',padZero(value.getHours()));case'minute':return formatter('minute',padZero(value.getMinutes()));default:return'';}});nextTick(function(){var _picker$value;(_picker$value=picker.value)==null?void 0:_picker$value.setValues(values);});};var updateInnerValue=function updateInnerValue(){var type=props.type;var indexes=picker.value.getIndexes();var getValue=function getValue(type){var index=0;originColumns.value.forEach(function(column,columnIndex){if(type===column.type){index=columnIndex;}});var values=originColumns.value[index].values;return getTrueValue(values[indexes[index]]);};var year;var month;var day;if(type==='month-day'){year=(currentDate.value||props.minDate).getFullYear();month=getValue('month');day=getValue('day');}else{year=getValue('year');month=getValue('month');day=type==='year-month'?1:getValue('day');}var maxDay=getMonthEndDay(year,month);day=day>maxDay?maxDay:day;var hour=0;var minute=0;if(type==='datehour'){hour=getValue('hour');}if(type==='datetime'){hour=getValue('hour');minute=getValue('minute');}var value=new Date(year,month-1,day,hour,minute);currentDate.value=formatValue(value);};var onConfirm=function onConfirm(){emit('update:modelValue',currentDate.value);emit('confirm',currentDate.value);};var onCancel=function onCancel(){return emit('cancel');};var onChange=function onChange(){updateInnerValue();nextTick(function(){nextTick(function(){return emit('change',currentDate.value);});});};onMounted(function(){updateColumnValue();nextTick(updateInnerValue);});watch(columns,updateColumnValue);watch(currentDate,function(value,oldValue){return emit('update:modelValue',oldValue?value:null);});watch(function(){return[props.filter,props.maxDate];},updateInnerValue);watch(function(){return props.minDate;},function(){nextTick(updateInnerValue);});watch(function(){return props.modelValue;},function(value){var _currentDate$value;value=formatValue(value);if(value&&value.valueOf()!==((_currentDate$value=currentDate.value)==null?void 0:_currentDate$value.valueOf())){currentDate.value=value;}});useExpose({getPicker:function getPicker(){return picker.value&&proxyPickerMethods(picker.value,updateInnerValue);}});return function(){return createVNode(Picker,mergeProps({"ref":picker,"columns":columns.value,"onChange":onChange,"onCancel":onCancel,"onConfirm":onConfirm},pick(props,pickerInheritKeys)),slots);};}});var _createNamespace61=createNamespace('datetime-picker'),_createNamespace62=_slicedToArray(_createNamespace61,2),name$8=_createNamespace62[0],bem$9=_createNamespace62[1];var timePickerPropKeys=Object.keys(TimePicker.props);var datePickerPropKeys=Object.keys(DatePicker.props);var datetimePickerProps=extend$1({},TimePicker.props,DatePicker.props,{modelValue:[String,Date]});var _DatetimePicker=defineComponent({name:name$8,props:datetimePickerProps,setup:function setup(props,_ref){var attrs=_ref.attrs,slots=_ref.slots;var root=ref();useExpose({getPicker:function getPicker(){var _root$value;return(_root$value=root.value)==null?void 0:_root$value.getPicker();}});return function(){var isTimePicker=props.type==='time';var Component=isTimePicker?TimePicker:DatePicker;var inheritProps=pick(props,isTimePicker?timePickerPropKeys:datePickerPropKeys);return createVNode(Component,mergeProps({"ref":root,"class":bem$9()},inheritProps,attrs),slots);};}});var DatetimePicker=exports('H',withInstall(_DatetimePicker));var prefix='van-empty-network-';var renderStop=function renderStop(color,offset,opacity){return createVNode("stop",{"stop-color":color,"offset":offset+"%","stop-opacity":opacity},null);};var Network=createVNode("svg",{"viewBox":"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{"id":prefix+"1","x1":"64%","y1":"100%","x2":"64%"},[renderStop('#FFF',0,0.5),renderStop('#F2F3F5',100)]),createVNode("linearGradient",{"id":prefix+"2","x1":"50%","x2":"50%","y2":"84%"},[renderStop('#EBEDF0',0),renderStop('#DCDEE0',100,0)]),createVNode("linearGradient",{"id":prefix+"3","x1":"100%","x2":"100%","y2":"100%"},[renderStop('#EAEDF0',0),renderStop('#DCDEE0',100)]),createVNode("radialGradient",{"id":prefix+"4","cx":"50%","cy":"0%","fx":"50%","fy":"0%","r":"100%","gradientTransform":"matrix(0 1 -.54 0 .5 -.5)"},[renderStop('#EBEDF0',0),renderStop('#FFF',100,0)])]),createVNode("g",{"fill":"none"},[createVNode("g",{"opacity":".8"},[createVNode("path",{"d":"M36 131V53H16v20H2v58h34z","fill":"url(#"+prefix+"1)"},null),createVNode("path",{"d":"M123 15h22v14h9v77h-31V15z","fill":"url(#"+prefix+"1)"},null)]),createVNode("path",{"fill":"url(#"+prefix+"4)","d":"M0 139h160v21H0z"},null),createVNode("path",{"d":"M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z","fill":"url(#"+prefix+"2)"},null),createVNode("g",{"opacity":".6","stroke-linecap":"round","stroke-width":"7"},[createVNode("path",{"d":"M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13","stroke":"url(#"+prefix+"3)"},null),createVNode("path",{"d":"M53 36a34 34 0 0 0 0 48","stroke":"url(#"+prefix+"3)"},null),createVNode("path",{"d":"M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13","stroke":"url(#"+prefix+"3)"},null),createVNode("path",{"d":"M106 84a34 34 0 0 0 0-48","stroke":"url(#"+prefix+"3)"},null)]),createVNode("g",{"transform":"translate(31 105)"},[createVNode("rect",{"fill":"#EBEDF0","width":"98","height":"34","rx":"2"},null),createVNode("rect",{"fill":"#FFF","x":"9","y":"8","width":"80","height":"18","rx":"1.1"},null),createVNode("rect",{"fill":"#EBEDF0","x":"15","y":"12","width":"18","height":"6","rx":"1.1"},null)])])]);var _createNamespace63=createNamespace('empty'),_createNamespace64=_slicedToArray(_createNamespace63,2),name$7=_createNamespace64[0],bem$8=_createNamespace64[1];var PRESET_IMAGES=['error','search','default'];var emptyProps={image:makeStringProp('default'),imageSize:numericProp,description:String};var _Empty=defineComponent({name:name$7,props:emptyProps,setup:function setup(props,_ref){var slots=_ref.slots;var renderImage=function renderImage(){if(slots.image){return slots.image();}var image=props.image;if(image==='network'){return Network;}if(PRESET_IMAGES.includes(image)){image="https://img.yzcdn.cn/vant/empty-image-"+image+".png";}return createVNode("img",{"src":image},null);};var renderDescription=function renderDescription(){var description=slots.description?slots.description():props.description;if(description){return createVNode("p",{"class":bem$8('description')},[description]);}};var renderBottom=function renderBottom(){if(slots.default){return createVNode("div",{"class":bem$8('bottom')},[slots.default()]);}};return function(){return createVNode("div",{"class":bem$8()},[createVNode("div",{"class":bem$8('image'),"style":getSizeStyle(props.imageSize)},[renderImage()]),renderDescription(),renderBottom()]);};}});var Empty=exports('M',withInstall(_Empty));var _createNamespace65=createNamespace('grid'),_createNamespace66=_slicedToArray(_createNamespace65,2),name$6=_createNamespace66[0],bem$7=_createNamespace66[1];var gridProps={square:Boolean,center:truthProp,border:truthProp,gutter:numericProp,reverse:Boolean,iconSize:numericProp,direction:String,clickable:Boolean,columnNum:makeNumericProp(4)};var GRID_KEY=Symbol(name$6);var _Grid=defineComponent({name:name$6,props:gridProps,setup:function setup(props,_ref){var slots=_ref.slots;var _useChildren7=useChildren(GRID_KEY),linkChildren=_useChildren7.linkChildren;linkChildren({props:props});return function(){return createVNode("div",{"style":{paddingLeft:addUnit(props.gutter)},"class":[bem$7(),_defineProperty2({},BORDER_TOP,props.border&&!props.gutter)]},[slots.default==null?void 0:slots.default()]);};}});var Grid=exports('Z',withInstall(_Grid));var _createNamespace67=createNamespace('grid-item'),_createNamespace68=_slicedToArray(_createNamespace67,2),name$5=_createNamespace68[0],bem$6=_createNamespace68[1];var gridItemProps=extend$1({},routeProps,{dot:Boolean,text:String,icon:String,badge:numericProp,iconColor:String,iconPrefix:String});var _GridItem=defineComponent({name:name$5,props:gridItemProps,setup:function setup(props,_ref){var slots=_ref.slots;var _useParent6=useParent(GRID_KEY),parent=_useParent6.parent,index=_useParent6.index;var route=useRoute();if(!parent){return;}var rootStyle=computed(function(){var _parent$props4=parent.props,square=_parent$props4.square,gutter=_parent$props4.gutter,columnNum=_parent$props4.columnNum;var percent=100/+columnNum+"%";var style={flexBasis:percent};if(square){style.paddingTop=percent;}else if(gutter){var gutterValue=addUnit(gutter);style.paddingRight=gutterValue;if(index.value>=columnNum){style.marginTop=gutterValue;}}return style;});var contentStyle=computed(function(){var _parent$props5=parent.props,square=_parent$props5.square,gutter=_parent$props5.gutter;if(square&&gutter){var gutterValue=addUnit(gutter);return{right:gutterValue,bottom:gutterValue,height:'auto'};}});var renderIcon=function renderIcon(){if(slots.icon){return createVNode(Badge,{"dot":props.dot,"content":props.badge},{default:slots.icon});}if(props.icon){return createVNode(Icon,{"dot":props.dot,"name":props.icon,"size":parent.props.iconSize,"badge":props.badge,"class":bem$6('icon'),"classPrefix":props.iconPrefix,"color":props.iconColor},null);}};var renderText=function renderText(){if(slots.text){return slots.text();}if(props.text){return createVNode("span",{"class":bem$6('text')},[props.text]);}};var renderContent=function renderContent(){if(slots.default){return slots.default();}return[renderIcon(),renderText()];};return function(){var _parent$props6=parent.props,center=_parent$props6.center,border=_parent$props6.border,square=_parent$props6.square,gutter=_parent$props6.gutter,reverse=_parent$props6.reverse,direction=_parent$props6.direction,clickable=_parent$props6.clickable;var classes=[bem$6('content',[direction,{center:center,square:square,reverse:reverse,clickable:clickable,surround:border&&gutter}]),_defineProperty2({},BORDER,border)];return createVNode("div",{"class":[bem$6({square:square})],"style":rootStyle.value},[createVNode("div",{"role":clickable?'button':undefined,"class":classes,"style":contentStyle.value,"tabindex":clickable?0:undefined,"onClick":route},[renderContent()])]);};}});var GridItem=exports('_',withInstall(_GridItem));var getDistance=function getDistance(touches){return Math.sqrt(Math.pow(touches[0].clientX-touches[1].clientX,2)+Math.pow(touches[0].clientY-touches[1].clientY,2));};var bem$5=createNamespace('image-preview')[1];var ImagePreviewItem=defineComponent({props:{src:String,show:Boolean,active:Number,minZoom:makeRequiredProp(numericProp),maxZoom:makeRequiredProp(numericProp),rootWidth:makeRequiredProp(Number),rootHeight:makeRequiredProp(Number)},emits:['scale','close'],setup:function setup(props,_ref){var emit=_ref.emit;var state=reactive({scale:1,moveX:0,moveY:0,moving:false,zooming:false,imageRatio:0,displayWidth:0,displayHeight:0});var touch=useTouch();var vertical=computed(function(){var rootWidth=props.rootWidth,rootHeight=props.rootHeight;var rootRatio=rootHeight/rootWidth;return state.imageRatio>rootRatio;});var imageStyle=computed(function(){var scale=state.scale,moveX=state.moveX,moveY=state.moveY,moving=state.moving,zooming=state.zooming;var style={transitionDuration:zooming||moving?'0s':'.3s'};if(scale!==1){var offsetX=moveX/scale;var offsetY=moveY/scale;style.transform="scale("+scale+", "+scale+") translate("+offsetX+"px, "+offsetY+"px)";}return style;});var maxMoveX=computed(function(){if(state.imageRatio){var rootWidth=props.rootWidth,rootHeight=props.rootHeight;var displayWidth=vertical.value?rootHeight/state.imageRatio:rootWidth;return Math.max(0,(state.scale*displayWidth-rootWidth)/2);}return 0;});var maxMoveY=computed(function(){if(state.imageRatio){var rootWidth=props.rootWidth,rootHeight=props.rootHeight;var displayHeight=vertical.value?rootHeight:rootWidth*state.imageRatio;return Math.max(0,(state.scale*displayHeight-rootHeight)/2);}return 0;});var setScale=function setScale(scale){scale=clamp(scale,+props.minZoom,+props.maxZoom);if(scale!==state.scale){state.scale=scale;emit('scale',{scale:scale,index:props.active});}};var resetScale=function resetScale(){setScale(1);state.moveX=0;state.moveY=0;};var toggleScale=function toggleScale(){var scale=state.scale>1?1:2;setScale(scale);state.moveX=0;state.moveY=0;};var startMoveX;var startMoveY;var startScale;var startDistance;var doubleTapTimer;var touchStartTime;var onTouchStart=function onTouchStart(event){var touches=event.touches;var offsetX=touch.offsetX;touch.start(event);startMoveX=state.moveX;startMoveY=state.moveY;touchStartTime=Date.now();state.moving=touches.length===1&&state.scale!==1;state.zooming=touches.length===2&&!offsetX.value;if(state.zooming){startScale=state.scale;startDistance=getDistance(event.touches);}};var onTouchMove=function onTouchMove(event){var touches=event.touches;touch.move(event);if(state.moving||state.zooming){preventDefault(event,true);}if(state.moving){var deltaX=touch.deltaX,deltaY=touch.deltaY;var moveX=deltaX.value+startMoveX;var moveY=deltaY.value+startMoveY;state.moveX=clamp(moveX,-maxMoveX.value,maxMoveX.value);state.moveY=clamp(moveY,-maxMoveY.value,maxMoveY.value);}if(state.zooming&&touches.length===2){var distance=getDistance(touches);var scale=startScale*distance/startDistance;setScale(scale);}};var checkTap=function checkTap(){var offsetX=touch.offsetX,offsetY=touch.offsetY;var deltaTime=Date.now()-touchStartTime;var TAP_TIME=250;var TAP_OFFSET=10;if(offsetX.value<TAP_OFFSET&&offsetY.value<TAP_OFFSET&&deltaTime<TAP_TIME){if(doubleTapTimer){clearTimeout(doubleTapTimer);doubleTapTimer=null;toggleScale();}else{doubleTapTimer=setTimeout(function(){emit('close');doubleTapTimer=null;},TAP_TIME);}}};var onTouchEnd=function onTouchEnd(event){var stopPropagation=false;/* istanbul ignore else */if(state.moving||state.zooming){stopPropagation=true;if(state.moving&&startMoveX===state.moveX&&startMoveY===state.moveY){stopPropagation=false;}if(!event.touches.length){if(state.zooming){state.moveX=clamp(state.moveX,-maxMoveX.value,maxMoveX.value);state.moveY=clamp(state.moveY,-maxMoveY.value,maxMoveY.value);state.zooming=false;}state.moving=false;startMoveX=0;startMoveY=0;startScale=1;if(state.scale<1){resetScale();}}}// eliminate tap delay on safari
- preventDefault(event,stopPropagation);checkTap();touch.reset();};var onLoad=function onLoad(event){var _event$target=event.target,naturalWidth=_event$target.naturalWidth,naturalHeight=_event$target.naturalHeight;state.imageRatio=naturalHeight/naturalWidth;};watch(function(){return props.active;},resetScale);watch(function(){return props.show;},function(value){if(!value){resetScale();}});return function(){var imageSlots={loading:function loading(){return createVNode(Loading,{"type":"spinner"},null);}};return createVNode(SwipeItem,{"class":bem$5('swipe-item'),"onTouchstart":onTouchStart,"onTouchmove":onTouchMove,"onTouchend":onTouchEnd,"onTouchcancel":onTouchEnd},{default:function _default(){return[createVNode(Image$1,{"src":props.src,"fit":"contain","class":bem$5('image',{vertical:vertical.value}),"style":imageStyle.value,"onLoad":onLoad},imageSlots)];}});};}});var _createNamespace69=createNamespace('image-preview'),_createNamespace70=_slicedToArray(_createNamespace69,2),name$4=_createNamespace70[0],bem$4=_createNamespace70[1];var popupProps=['show','transition','overlayStyle','closeOnPopstate'];var imagePreviewProps={show:Boolean,loop:truthProp,images:makeArrayProp(),minZoom:makeNumericProp(1/3),maxZoom:makeNumericProp(3),overlay:truthProp,closeable:Boolean,showIndex:truthProp,className:unknownProp,closeIcon:makeStringProp('clear'),transition:String,beforeClose:Function,overlayStyle:Object,swipeDuration:makeNumericProp(300),startPosition:makeNumericProp(0),showIndicators:Boolean,closeOnPopstate:truthProp,closeIconPosition:makeStringProp('top-right')};var VanImagePreview=defineComponent({name:name$4,props:imagePreviewProps,emits:['scale','close','closed','change','update:show'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var swipeRef=ref();var state=reactive({active:0,rootWidth:0,rootHeight:0});var resize=function resize(){if(swipeRef.value){var rect=useRect(swipeRef.value.$el);state.rootWidth=rect.width;state.rootHeight=rect.height;swipeRef.value.resize();}};var emitScale=function emitScale(args){return emit('scale',args);};var updateShow=function updateShow(show){return emit('update:show',show);};var emitClose=function emitClose(){callInterceptor(props.beforeClose,{args:[state.active],done:function done(){return updateShow(false);}});};var setActive=function setActive(active){if(active!==state.active){state.active=active;emit('change',active);}};var renderIndex=function renderIndex(){if(props.showIndex){return createVNode("div",{"class":bem$4('index')},[slots.index?slots.index({index:state.active}):state.active+1+" / "+props.images.length]);}};var renderCover=function renderCover(){if(slots.cover){return createVNode("div",{"class":bem$4('cover')},[slots.cover()]);}};var renderImages=function renderImages(){return createVNode(Swipe,{"ref":swipeRef,"lazyRender":true,"loop":props.loop,"class":bem$4('swipe'),"duration":props.swipeDuration,"initialSwipe":props.startPosition,"showIndicators":props.showIndicators,"indicatorColor":"white","onChange":setActive},{default:function _default(){return[props.images.map(function(image){return createVNode(ImagePreviewItem,{"src":image,"show":props.show,"active":state.active,"maxZoom":props.maxZoom,"minZoom":props.minZoom,"rootWidth":state.rootWidth,"rootHeight":state.rootHeight,"onScale":emitScale,"onClose":emitClose},null);})];}});};var renderClose=function renderClose(){if(props.closeable){return createVNode(Icon,{"role":"button","name":props.closeIcon,"class":[bem$4('close-icon',props.closeIconPosition),HAPTICS_FEEDBACK],"onClick":emitClose},null);}};var onClosed=function onClosed(){return emit('closed');};var swipeTo=function swipeTo(index,options){var _swipeRef$value;return(_swipeRef$value=swipeRef.value)==null?void 0:_swipeRef$value.swipeTo(index,options);};useExpose({swipeTo:swipeTo});onMounted(resize);watch([windowWidth,windowHeight],resize);watch(function(){return props.startPosition;},function(value){return setActive(+value);});watch(function(){return props.show;},function(value){var images=props.images,startPosition=props.startPosition;if(value){setActive(+startPosition);nextTick(function(){resize();swipeTo(+startPosition,{immediate:true});});}else{emit('close',{index:state.active,url:images[state.active]});}});return function(){return createVNode(Popup,mergeProps({"class":[bem$4(),props.className],"overlayClass":bem$4('overlay'),"onClosed":onClosed,"onUpdate:show":updateShow},pick(props,popupProps)),{default:function _default(){return[renderClose(),renderImages(),renderIndex(),renderCover()];}});};}});var instance;var defaultConfig={loop:true,images:[],maxZoom:3,minZoom:1/3,onScale:undefined,onClose:undefined,onChange:undefined,teleport:'body',className:'',showIndex:true,closeable:false,closeIcon:'clear',transition:undefined,beforeClose:undefined,overlayStyle:undefined,startPosition:0,swipeDuration:300,showIndicators:false,closeOnPopstate:true,closeIconPosition:'top-right'};function initInstance(){var _mountComponent2=mountComponent({setup:function setup(){var _usePopupState2=usePopupState(),state=_usePopupState2.state,toggle=_usePopupState2.toggle;var onClosed=function onClosed(){state.images=[];};return function(){return createVNode(VanImagePreview,mergeProps(state,{"onClosed":onClosed,"onUpdate:show":toggle}),null);};}});instance=_mountComponent2.instance;}var ImagePreview=function ImagePreview(options,startPosition){if(startPosition===void 0){startPosition=0;}/* istanbul ignore if */if(!inBrowser$1){return;}if(!instance){initInstance();}options=Array.isArray(options)?{images:options,startPosition:startPosition}:options;instance.open(extend$1({},defaultConfig,options));return instance;};ImagePreview.Component=withInstall(VanImagePreview);ImagePreview.install=function(app){app.use(ImagePreview.Component);};var _createNamespace71=createNamespace('list'),_createNamespace72=_slicedToArray(_createNamespace71,3),name$3=_createNamespace72[0],bem$3=_createNamespace72[1],t$1=_createNamespace72[2];var listProps={error:Boolean,offset:makeNumericProp(300),loading:Boolean,finished:Boolean,errorText:String,direction:makeStringProp('down'),loadingText:String,finishedText:String,immediateCheck:truthProp};var _List=defineComponent({name:name$3,props:listProps,emits:['load','update:error','update:loading'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;// use sync innerLoading state to avoid repeated loading in some edge cases
- var loading=ref(false);var root=ref();var placeholder=ref();var tabStatus=useTabStatus();var scrollParent=useScrollParent(root);var check=function check(){nextTick(function(){if(loading.value||props.finished||props.error||// skip check when inside an inactive tab
- (tabStatus==null?void 0:tabStatus.value)===false){return;}var offset=props.offset,direction=props.direction;var scrollParentRect=useRect(scrollParent);if(!scrollParentRect.height||isHidden(root)){return;}var isReachEdge=false;var placeholderRect=useRect(placeholder);if(direction==='up'){isReachEdge=scrollParentRect.top-placeholderRect.top<=offset;}else{isReachEdge=placeholderRect.bottom-scrollParentRect.bottom<=offset;}if(isReachEdge){loading.value=true;emit('update:loading',true);emit('load');}});};var renderFinishedText=function renderFinishedText(){if(props.finished){var text=slots.finished?slots.finished():props.finishedText;if(text){return createVNode("div",{"class":bem$3('finished-text')},[text]);}}};var clickErrorText=function clickErrorText(){emit('update:error',false);check();};var renderErrorText=function renderErrorText(){if(props.error){var text=slots.error?slots.error():props.errorText;if(text){return createVNode("div",{"role":"button","class":bem$3('error-text'),"tabindex":0,"onClick":clickErrorText},[text]);}}};var renderLoading=function renderLoading(){if(loading.value&&!props.finished){return createVNode("div",{"class":bem$3('loading')},[slots.loading?slots.loading():createVNode(Loading,{"class":bem$3('loading-icon')},{default:function _default(){return[props.loadingText||t$1('loading')];}})]);}};watch(function(){return[props.loading,props.finished,props.error];},check);if(tabStatus){watch(tabStatus,function(tabActive){if(tabActive){check();}});}onUpdated(function(){loading.value=props.loading;});onMounted(function(){if(props.immediateCheck){check();}});useExpose({check:check});useEventListener('scroll',check,{target:scrollParent});return function(){var Content=slots.default==null?void 0:slots.default();var Placeholder=createVNode("div",{"ref":placeholder,"class":bem$3('placeholder')},null);return createVNode("div",{"ref":root,"role":"feed","class":bem$3(),"aria-busy":loading.value},[props.direction==='down'?Content:Placeholder,renderLoading(),renderFinishedText(),renderErrorText(),props.direction==='up'?Content:Placeholder]);};}});var List=exports('V',withInstall(_List));function usePlaceholder(contentRef,bem){var height=useHeight(contentRef);return function(renderContent){return createVNode("div",{"class":bem('placeholder'),"style":{height:height.value?height.value+"px":undefined}},[renderContent()]);};}var _createNamespace73=createNamespace('nav-bar'),_createNamespace74=_slicedToArray(_createNamespace73,2),name$2=_createNamespace74[0],bem$2=_createNamespace74[1];var navBarProps={title:String,fixed:Boolean,zIndex:numericProp,border:truthProp,leftText:String,rightText:String,leftArrow:Boolean,placeholder:Boolean,safeAreaInsetTop:Boolean};var _NavBar=defineComponent({name:name$2,props:navBarProps,emits:['click-left','click-right'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var navBarRef=ref();var renderPlaceholder=usePlaceholder(navBarRef,bem$2);var onClickLeft=function onClickLeft(event){return emit('click-left',event);};var onClickRight=function onClickRight(event){return emit('click-right',event);};var renderLeft=function renderLeft(){if(slots.left){return slots.left();}return[props.leftArrow&&createVNode(Icon,{"class":bem$2('arrow'),"name":"arrow-left"},null),props.leftText&&createVNode("span",{"class":bem$2('text')},[props.leftText])];};var renderRight=function renderRight(){if(slots.right){return slots.right();}return createVNode("span",{"class":bem$2('text')},[props.rightText]);};var renderNavBar=function renderNavBar(){var title=props.title,fixed=props.fixed,border=props.border,zIndex=props.zIndex;var style=getZIndexStyle(zIndex);var hasLeft=props.leftArrow||props.leftText||slots.left;var hasRight=props.rightText||slots.right;return createVNode("div",{"ref":navBarRef,"style":style,"class":[bem$2({fixed:fixed,'safe-area-inset-top':props.safeAreaInsetTop}),_defineProperty2({},BORDER_BOTTOM,border)]},[createVNode("div",{"class":bem$2('content')},[hasLeft&&createVNode("div",{"class":[bem$2('left'),HAPTICS_FEEDBACK],"onClick":onClickLeft},[renderLeft()]),createVNode("div",{"class":[bem$2('title'),'van-ellipsis']},[slots.title?slots.title():title]),hasRight&&createVNode("div",{"class":[bem$2('right'),HAPTICS_FEEDBACK],"onClick":onClickRight},[renderRight()])])]);};return function(){if(props.fixed&&props.placeholder){return renderPlaceholder(renderNavBar);}return renderNavBar();};}});var NavBar=exports('N',withInstall(_NavBar));var _createNamespace75=createNamespace('rate'),_createNamespace76=_slicedToArray(_createNamespace75,2),name$1=_createNamespace76[0],bem$1=_createNamespace76[1];function getRateStatus(value,index,allowHalf,readonly){if(value>=index){return{status:'full',value:1};}if(value+0.5>=index&&allowHalf&&!readonly){return{status:'half',value:0.5};}if(value+1>=index&&allowHalf&&readonly){var cardinal=Math.pow(10,10);return{status:'half',value:Math.round((value-index+1)*cardinal)/cardinal};}return{status:'void',value:0};}var rateProps={size:numericProp,icon:makeStringProp('star'),color:String,count:makeNumericProp(5),gutter:numericProp,readonly:Boolean,disabled:Boolean,voidIcon:makeStringProp('star-o'),allowHalf:Boolean,voidColor:String,touchable:truthProp,iconPrefix:String,modelValue:makeNumberProp(0),disabledColor:String};var _Rate=defineComponent({name:name$1,props:rateProps,emits:['change','update:modelValue'],setup:function setup(props,_ref){var emit=_ref.emit;var touch=useTouch();var _useRefs3=useRefs(),_useRefs4=_slicedToArray(_useRefs3,2),itemRefs=_useRefs4[0],setItemRefs=_useRefs4[1];var untouchable=function untouchable(){return props.readonly||props.disabled||!props.touchable;};var list=computed(function(){return Array(+props.count).fill('').map(function(_,i){return getRateStatus(props.modelValue,i+1,props.allowHalf,props.readonly);});});var ranges;var updateRanges=function updateRanges(){var rects=itemRefs.value.map(useRect);ranges=[];rects.forEach(function(rect,index){if(props.allowHalf){ranges.push({score:index+0.5,left:rect.left},{score:index+1,left:rect.left+rect.width/2});}else{ranges.push({score:index+1,left:rect.left});}});};var getScoreByPosition=function getScoreByPosition(x){for(var i=ranges.length-1;i>0;i--){if(x>ranges[i].left){return ranges[i].score;}}return props.allowHalf?0.5:1;};var select=function select(index){if(!props.disabled&&!props.readonly&&index!==props.modelValue){emit('update:modelValue',index);emit('change',index);}};var onTouchStart=function onTouchStart(event){if(untouchable()){return;}touch.start(event);updateRanges();};var onTouchMove=function onTouchMove(event){if(untouchable()){return;}touch.move(event);if(touch.isHorizontal()){var clientX=event.touches[0].clientX;preventDefault(event);select(getScoreByPosition(clientX));}};var renderStar=function renderStar(item,index){var icon=props.icon,size=props.size,color=props.color,count=props.count,gutter=props.gutter,voidIcon=props.voidIcon,disabled=props.disabled,voidColor=props.voidColor,allowHalf=props.allowHalf,iconPrefix=props.iconPrefix,disabledColor=props.disabledColor;var score=index+1;var isFull=item.status==='full';var isVoid=item.status==='void';var renderHalf=allowHalf&&item.value>0&&item.value<1;var style;if(gutter&&score!==+count){style={paddingRight:addUnit(gutter)};}var onClickItem=function onClickItem(event){updateRanges();select(allowHalf?getScoreByPosition(event.clientX):score);};return createVNode("div",{"key":index,"ref":setItemRefs(index),"role":"radio","style":style,"class":bem$1('item'),"tabindex":disabled?undefined:0,"aria-setsize":count,"aria-posinset":score,"aria-checked":!isVoid,"onClick":onClickItem},[createVNode(Icon,{"size":size,"name":isFull?icon:voidIcon,"class":bem$1('icon',{disabled:disabled,full:isFull}),"color":disabled?disabledColor:isFull?color:voidColor,"classPrefix":iconPrefix},null),renderHalf&&createVNode(Icon,{"size":size,"style":{width:item.value+'em'},"name":isVoid?voidIcon:icon,"class":bem$1('icon',['half',{disabled:disabled,full:!isVoid}]),"color":disabled?disabledColor:isVoid?voidColor:color,"classPrefix":iconPrefix},null)]);};useCustomFieldValue(function(){return props.modelValue;});return function(){return createVNode("div",{"role":"radiogroup","class":bem$1({readonly:props.readonly,disabled:props.disabled}),"tabindex":props.disabled?undefined:0,"aria-disabled":props.disabled,"aria-readonly":props.readonly,"onTouchstart":onTouchStart,"onTouchmove":onTouchMove},[list.value.map(renderStar)]);};}});var Rate=exports('Y',withInstall(_Rate));var Row=exports('k',withInstall(_Row));var _createNamespace77=createNamespace('uploader'),_createNamespace78=_slicedToArray(_createNamespace77,3),name=_createNamespace78[0],bem=_createNamespace78[1],t=_createNamespace78[2];var toArray=function toArray(item){return Array.isArray(item)?item:[item];};function readFileContent(file,resultType){return new Promise(function(resolve){if(resultType==='file'){resolve();return;}var reader=new FileReader();reader.onload=function(event){resolve(event.target.result);};if(resultType==='dataUrl'){reader.readAsDataURL(file);}else if(resultType==='text'){reader.readAsText(file);}});}function isOversize(items,maxSize){return toArray(items).some(function(item){if(item.file){if(isFunction(maxSize)){return maxSize(item.file);}return item.file.size>maxSize;}return false;});}function filterFiles(items,maxSize){var valid=[];var invalid=[];items.forEach(function(item){if(isOversize(item,maxSize)){invalid.push(item);}else{valid.push(item);}});return{valid:valid,invalid:invalid};}var IMAGE_REGEXP=/\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;var isImageUrl=function isImageUrl(url){return IMAGE_REGEXP.test(url);};function isImageFile(item){// some special urls cannot be recognized
- // user can add `isImage` flag to mark it as an image url
- if(item.isImage){return true;}if(item.file&&item.file.type){return item.file.type.indexOf('image')===0;}if(item.url){return isImageUrl(item.url);}if(typeof item.content==='string'){return item.content.indexOf('data:image')===0;}return false;}var UploaderPreviewItem=defineComponent({props:{name:numericProp,item:makeRequiredProp(Object),index:Number,imageFit:String,lazyLoad:Boolean,deletable:Boolean,previewSize:numericProp,beforeDelete:Function},emits:['delete','preview'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var renderMask=function renderMask(){var _props$item=props.item,status=_props$item.status,message=_props$item.message;if(status==='uploading'||status==='failed'){var MaskIcon=status==='failed'?createVNode(Icon,{"name":"close","class":bem('mask-icon')},null):createVNode(Loading,{"class":bem('loading')},null);var showMessage=isDef(message)&&message!=='';return createVNode("div",{"class":bem('mask')},[MaskIcon,showMessage&&createVNode("div",{"class":bem('mask-message')},[message])]);}};var onDelete=function onDelete(event){var name=props.name,item=props.item,index=props.index,beforeDelete=props.beforeDelete;event.stopPropagation();callInterceptor(beforeDelete,{args:[item,{name:name,index:index}],done:function done(){return emit('delete');}});};var onPreview=function onPreview(){return emit('preview');};var renderDeleteIcon=function renderDeleteIcon(){if(props.deletable&&props.item.status!=='uploading'){return createVNode("div",{"role":"button","class":bem('preview-delete'),"tabindex":0,"aria-label":t('delete'),"onClick":onDelete},[createVNode(Icon,{"name":"cross","class":bem('preview-delete-icon')},null)]);}};var renderCover=function renderCover(){if(slots['preview-cover']){var index=props.index,item=props.item;return createVNode("div",{"class":bem('preview-cover')},[slots['preview-cover'](extend$1({index:index},item))]);}};var renderPreview=function renderPreview(){var item=props.item;if(isImageFile(item)){return createVNode(Image$1,{"fit":props.imageFit,"src":item.content||item.url,"class":bem('preview-image'),"width":props.previewSize,"height":props.previewSize,"lazyLoad":props.lazyLoad,"onClick":onPreview},{default:renderCover});}return createVNode("div",{"class":bem('file'),"style":getSizeStyle(props.previewSize)},[createVNode(Icon,{"class":bem('file-icon'),"name":"description"},null),createVNode("div",{"class":[bem('file-name'),'van-ellipsis']},[item.file?item.file.name:item.url]),renderCover()]);};return function(){return createVNode("div",{"class":bem('preview')},[renderPreview(),renderMask(),renderDeleteIcon()]);};}});var uploaderProps={name:makeNumericProp(''),accept:makeStringProp('image/*'),capture:String,multiple:Boolean,disabled:Boolean,readonly:Boolean,lazyLoad:Boolean,maxCount:makeNumericProp(Infinity),imageFit:makeStringProp('cover'),resultType:makeStringProp('dataUrl'),uploadIcon:makeStringProp('photograph'),uploadText:String,deletable:truthProp,afterRead:Function,showUpload:truthProp,modelValue:makeArrayProp(),beforeRead:Function,beforeDelete:Function,previewSize:numericProp,previewImage:truthProp,previewOptions:Object,previewFullImage:truthProp,maxSize:{type:[Number,String,Function],default:Infinity}};var _Uploader=defineComponent({name:name,props:uploaderProps,emits:['delete','oversize','click-upload','close-preview','click-preview','update:modelValue'],setup:function setup(props,_ref){var emit=_ref.emit,slots=_ref.slots;var inputRef=ref();var urls=[];var getDetail=function getDetail(index){if(index===void 0){index=props.modelValue.length;}return{name:props.name,index:index};};var resetInput=function resetInput(){if(inputRef.value){inputRef.value.value='';}};var onAfterRead=function onAfterRead(items){resetInput();if(isOversize(items,props.maxSize)){if(Array.isArray(items)){var result=filterFiles(items,props.maxSize);items=result.valid;emit('oversize',result.invalid,getDetail());if(!items.length){return;}}else{emit('oversize',items,getDetail());return;}}items=reactive(items);emit('update:modelValue',[].concat(_toConsumableArray2(props.modelValue),_toConsumableArray2(toArray(items))));if(props.afterRead){props.afterRead(items,getDetail());}};var readFile=function readFile(files){var maxCount=props.maxCount,modelValue=props.modelValue,resultType=props.resultType;if(Array.isArray(files)){var remainCount=+maxCount-modelValue.length;if(files.length>remainCount){files=files.slice(0,remainCount);}Promise.all(files.map(function(file){return readFileContent(file,resultType);})).then(function(contents){var fileList=files.map(function(file,index){var result={file:file,status:'',message:''};if(contents[index]){result.content=contents[index];}return result;});onAfterRead(fileList);});}else{readFileContent(files,resultType).then(function(content){var result={file:files,status:'',message:''};if(content){result.content=content;}onAfterRead(result);});}};var onChange=function onChange(event){var files=event.target.files;if(props.disabled||!files||!files.length){return;}var file=files.length===1?files[0]:[].slice.call(files);if(props.beforeRead){var response=props.beforeRead(file,getDetail());if(!response){resetInput();return;}if(isPromise(response)){response.then(function(data){if(data){readFile(data);}else{readFile(file);}}).catch(resetInput);return;}}readFile(file);};var imagePreview;var onClosePreview=function onClosePreview(){return emit('close-preview');};var previewImage=function previewImage(item){if(props.previewFullImage){var imageFiles=props.modelValue.filter(isImageFile);var images=imageFiles.map(function(item){if(item.file&&!item.url){item.url=URL.createObjectURL(item.file);urls.push(item.url);}return item.url;}).filter(Boolean);imagePreview=ImagePreview(extend$1({images:images,startPosition:imageFiles.indexOf(item),onClose:onClosePreview},props.previewOptions));}};var closeImagePreview=function closeImagePreview(){if(imagePreview){imagePreview.close();}};var deleteFile=function deleteFile(item,index){var fileList=props.modelValue.slice(0);fileList.splice(index,1);emit('update:modelValue',fileList);emit('delete',item,getDetail(index));};var renderPreviewItem=function renderPreviewItem(item,index){var needPickData=['imageFit','deletable','previewSize','beforeDelete'];var previewData=extend$1(pick(props,needPickData),pick(item,needPickData,true));return createVNode(UploaderPreviewItem,mergeProps({"item":item,"index":index,"onClick":function onClick(){return emit('click-preview',item,getDetail(index));},"onDelete":function onDelete(){return deleteFile(item,index);},"onPreview":function onPreview(){return previewImage(item);}},pick(props,['name','lazyLoad']),previewData),{'preview-cover':slots['preview-cover']});};var renderPreviewList=function renderPreviewList(){if(props.previewImage){return props.modelValue.map(renderPreviewItem);}};var onClickUpload=function onClickUpload(event){return emit('click-upload',event);};var renderUpload=function renderUpload(){if(props.modelValue.length>=props.maxCount||!props.showUpload){return;}var Input=props.readonly?null:createVNode("input",{"ref":inputRef,"type":"file","class":bem('input'),"accept":props.accept,"capture":props.capture,"multiple":props.multiple,"disabled":props.disabled,"onChange":onChange},null);if(slots.default){return createVNode("div",{"class":bem('input-wrapper'),"onClick":onClickUpload},[slots.default(),Input]);}return createVNode("div",{"class":bem('upload',{readonly:props.readonly}),"style":getSizeStyle(props.previewSize),"onClick":onClickUpload},[createVNode(Icon,{"name":props.uploadIcon,"class":bem('upload-icon')},null),props.uploadText&&createVNode("span",{"class":bem('upload-text')},[props.uploadText]),Input]);};var chooseFile=function chooseFile(){if(inputRef.value&&!props.disabled){inputRef.value.click();}};onBeforeUnmount(function(){urls.forEach(function(url){return URL.revokeObjectURL(url);});});useExpose({chooseFile:chooseFile,closeImagePreview:closeImagePreview});useCustomFieldValue(function(){return props.modelValue;});return function(){return createVNode("div",{"class":bem()},[createVNode("div",{"class":bem('wrapper',{disabled:props.disabled})},[renderPreviewList(),renderUpload()])]);};}});var Uploader=exports('U',withInstall(_Uploader));var base='';var index$6='';var index$5='';var index$4='';var index$3='';var index$2='';var index$1='';var index='';/* eslint complexity: [2, 18], max-statements: [2, 33] */var shams=function hasSymbols(){if(typeof Symbol!=='function'||typeof Object.getOwnPropertySymbols!=='function'){return false;}if(_typeof2(Symbol.iterator)==='symbol'){return true;}var obj={};var sym=Symbol('test');var symObj=Object(sym);if(typeof sym==='string'){return false;}if(Object.prototype.toString.call(sym)!=='[object Symbol]'){return false;}if(Object.prototype.toString.call(symObj)!=='[object Symbol]'){return false;}// temp disabled per https://github.com/ljharb/object.assign/issues/17
- // if (sym instanceof Symbol) { return false; }
- // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
- // if (!(symObj instanceof Symbol)) { return false; }
- // if (typeof Symbol.prototype.toString !== 'function') { return false; }
- // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
- var symVal=42;obj[sym]=symVal;for(sym in obj){return false;}// eslint-disable-line no-restricted-syntax, no-unreachable-loop
- if(typeof Object.keys==='function'&&Object.keys(obj).length!==0){return false;}if(typeof Object.getOwnPropertyNames==='function'&&Object.getOwnPropertyNames(obj).length!==0){return false;}var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym){return false;}if(!Object.prototype.propertyIsEnumerable.call(obj,sym)){return false;}if(typeof Object.getOwnPropertyDescriptor==='function'){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==true){return false;}}return true;};var origSymbol=typeof Symbol!=='undefined'&&Symbol;var hasSymbolSham=shams;var hasSymbols$1=function hasNativeSymbols(){if(typeof origSymbol!=='function'){return false;}if(typeof Symbol!=='function'){return false;}if(_typeof2(origSymbol('foo'))!=='symbol'){return false;}if(_typeof2(Symbol('bar'))!=='symbol'){return false;}return hasSymbolSham();};/* eslint no-invalid-this: 1 */var ERROR_MESSAGE='Function.prototype.bind called on incompatible ';var slice=Array.prototype.slice;var toStr$1=Object.prototype.toString;var funcType='[object Function]';var implementation$1=function bind(that){var target=this;if(typeof target!=='function'||toStr$1.call(target)!==funcType){throw new TypeError(ERROR_MESSAGE+target);}var args=slice.call(arguments,1);var bound;var binder=function binder(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));if(Object(result)===result){return result;}return this;}else{return target.apply(that,args.concat(slice.call(arguments)));}};var boundLength=Math.max(0,target.length-args.length);var boundArgs=[];for(var i=0;i<boundLength;i++){boundArgs.push('$'+i);}bound=Function('binder','return function ('+boundArgs.join(',')+'){ return binder.apply(this,arguments); }')(binder);if(target.prototype){var Empty=function Empty(){};Empty.prototype=target.prototype;bound.prototype=new Empty();Empty.prototype=null;}return bound;};var implementation=implementation$1;var functionBind=Function.prototype.bind||implementation;var bind$1=functionBind;var src$1=bind$1.call(Function.call,Object.prototype.hasOwnProperty);var undefined$1;var $SyntaxError=SyntaxError;var $Function=Function;var $TypeError$1=TypeError;// eslint-disable-next-line consistent-return
- var getEvalledConstructor=function getEvalledConstructor(expressionSyntax){try{return $Function('"use strict"; return ('+expressionSyntax+').constructor;')();}catch(e){}};var $gOPD=Object.getOwnPropertyDescriptor;if($gOPD){try{$gOPD({},'');}catch(e){$gOPD=null;// this is IE 8, which has a broken gOPD
- }}var throwTypeError=function throwTypeError(){throw new $TypeError$1();};var ThrowTypeError=$gOPD?function(){try{// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
- arguments.callee;// IE 8 does not throw here
- return throwTypeError;}catch(calleeThrows){try{// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
- return $gOPD(arguments,'callee').get;}catch(gOPDthrows){return throwTypeError;}}}():throwTypeError;var hasSymbols=hasSymbols$1();var getProto=Object.getPrototypeOf||function(x){return x.__proto__;};// eslint-disable-line no-proto
- var needsEval={};var TypedArray=typeof Uint8Array==='undefined'?undefined$1:getProto(Uint8Array);var INTRINSICS={'%AggregateError%':typeof AggregateError==='undefined'?undefined$1:AggregateError,'%Array%':Array,'%ArrayBuffer%':typeof ArrayBuffer==='undefined'?undefined$1:ArrayBuffer,'%ArrayIteratorPrototype%':hasSymbols?getProto([][Symbol.iterator]()):undefined$1,'%AsyncFromSyncIteratorPrototype%':undefined$1,'%AsyncFunction%':needsEval,'%AsyncGenerator%':needsEval,'%AsyncGeneratorFunction%':needsEval,'%AsyncIteratorPrototype%':needsEval,'%Atomics%':typeof Atomics==='undefined'?undefined$1:Atomics,'%BigInt%':typeof BigInt==='undefined'?undefined$1:BigInt,'%Boolean%':Boolean,'%DataView%':typeof DataView==='undefined'?undefined$1:DataView,'%Date%':Date,'%decodeURI%':decodeURI,'%decodeURIComponent%':decodeURIComponent,'%encodeURI%':encodeURI,'%encodeURIComponent%':encodeURIComponent,'%Error%':Error,'%eval%':eval,// eslint-disable-line no-eval
- '%EvalError%':EvalError,'%Float32Array%':typeof Float32Array==='undefined'?undefined$1:Float32Array,'%Float64Array%':typeof Float64Array==='undefined'?undefined$1:Float64Array,'%FinalizationRegistry%':typeof FinalizationRegistry==='undefined'?undefined$1:FinalizationRegistry,'%Function%':$Function,'%GeneratorFunction%':needsEval,'%Int8Array%':typeof Int8Array==='undefined'?undefined$1:Int8Array,'%Int16Array%':typeof Int16Array==='undefined'?undefined$1:Int16Array,'%Int32Array%':typeof Int32Array==='undefined'?undefined$1:Int32Array,'%isFinite%':isFinite,'%isNaN%':isNaN,'%IteratorPrototype%':hasSymbols?getProto(getProto([][Symbol.iterator]())):undefined$1,'%JSON%':(typeof JSON==="undefined"?"undefined":_typeof2(JSON))==='object'?JSON:undefined$1,'%Map%':typeof Map==='undefined'?undefined$1:Map,'%MapIteratorPrototype%':typeof Map==='undefined'||!hasSymbols?undefined$1:getProto(new Map()[Symbol.iterator]()),'%Math%':Math,'%Number%':Number,'%Object%':Object,'%parseFloat%':parseFloat,'%parseInt%':parseInt,'%Promise%':typeof Promise==='undefined'?undefined$1:Promise,'%Proxy%':typeof Proxy==='undefined'?undefined$1:Proxy,'%RangeError%':RangeError,'%ReferenceError%':ReferenceError,'%Reflect%':typeof Reflect==='undefined'?undefined$1:Reflect,'%RegExp%':RegExp,'%Set%':typeof Set==='undefined'?undefined$1:Set,'%SetIteratorPrototype%':typeof Set==='undefined'||!hasSymbols?undefined$1:getProto(new Set()[Symbol.iterator]()),'%SharedArrayBuffer%':typeof SharedArrayBuffer==='undefined'?undefined$1:SharedArrayBuffer,'%String%':String,'%StringIteratorPrototype%':hasSymbols?getProto(''[Symbol.iterator]()):undefined$1,'%Symbol%':hasSymbols?Symbol:undefined$1,'%SyntaxError%':$SyntaxError,'%ThrowTypeError%':ThrowTypeError,'%TypedArray%':TypedArray,'%TypeError%':$TypeError$1,'%Uint8Array%':typeof Uint8Array==='undefined'?undefined$1:Uint8Array,'%Uint8ClampedArray%':typeof Uint8ClampedArray==='undefined'?undefined$1:Uint8ClampedArray,'%Uint16Array%':typeof Uint16Array==='undefined'?undefined$1:Uint16Array,'%Uint32Array%':typeof Uint32Array==='undefined'?undefined$1:Uint32Array,'%URIError%':URIError,'%WeakMap%':typeof WeakMap==='undefined'?undefined$1:WeakMap,'%WeakRef%':typeof WeakRef==='undefined'?undefined$1:WeakRef,'%WeakSet%':typeof WeakSet==='undefined'?undefined$1:WeakSet};var doEval=function doEval(name){var value;if(name==='%AsyncFunction%'){value=getEvalledConstructor('async function () {}');}else if(name==='%GeneratorFunction%'){value=getEvalledConstructor('function* () {}');}else if(name==='%AsyncGeneratorFunction%'){value=getEvalledConstructor('async function* () {}');}else if(name==='%AsyncGenerator%'){var fn=doEval('%AsyncGeneratorFunction%');if(fn){value=fn.prototype;}}else if(name==='%AsyncIteratorPrototype%'){var gen=doEval('%AsyncGenerator%');if(gen){value=getProto(gen.prototype);}}INTRINSICS[name]=value;return value;};var LEGACY_ALIASES={'%ArrayBufferPrototype%':['ArrayBuffer','prototype'],'%ArrayPrototype%':['Array','prototype'],'%ArrayProto_entries%':['Array','prototype','entries'],'%ArrayProto_forEach%':['Array','prototype','forEach'],'%ArrayProto_keys%':['Array','prototype','keys'],'%ArrayProto_values%':['Array','prototype','values'],'%AsyncFunctionPrototype%':['AsyncFunction','prototype'],'%AsyncGenerator%':['AsyncGeneratorFunction','prototype'],'%AsyncGeneratorPrototype%':['AsyncGeneratorFunction','prototype','prototype'],'%BooleanPrototype%':['Boolean','prototype'],'%DataViewPrototype%':['DataView','prototype'],'%DatePrototype%':['Date','prototype'],'%ErrorPrototype%':['Error','prototype'],'%EvalErrorPrototype%':['EvalError','prototype'],'%Float32ArrayPrototype%':['Float32Array','prototype'],'%Float64ArrayPrototype%':['Float64Array','prototype'],'%FunctionPrototype%':['Function','prototype'],'%Generator%':['GeneratorFunction','prototype'],'%GeneratorPrototype%':['GeneratorFunction','prototype','prototype'],'%Int8ArrayPrototype%':['Int8Array','prototype'],'%Int16ArrayPrototype%':['Int16Array','prototype'],'%Int32ArrayPrototype%':['Int32Array','prototype'],'%JSONParse%':['JSON','parse'],'%JSONStringify%':['JSON','stringify'],'%MapPrototype%':['Map','prototype'],'%NumberPrototype%':['Number','prototype'],'%ObjectPrototype%':['Object','prototype'],'%ObjProto_toString%':['Object','prototype','toString'],'%ObjProto_valueOf%':['Object','prototype','valueOf'],'%PromisePrototype%':['Promise','prototype'],'%PromiseProto_then%':['Promise','prototype','then'],'%Promise_all%':['Promise','all'],'%Promise_reject%':['Promise','reject'],'%Promise_resolve%':['Promise','resolve'],'%RangeErrorPrototype%':['RangeError','prototype'],'%ReferenceErrorPrototype%':['ReferenceError','prototype'],'%RegExpPrototype%':['RegExp','prototype'],'%SetPrototype%':['Set','prototype'],'%SharedArrayBufferPrototype%':['SharedArrayBuffer','prototype'],'%StringPrototype%':['String','prototype'],'%SymbolPrototype%':['Symbol','prototype'],'%SyntaxErrorPrototype%':['SyntaxError','prototype'],'%TypedArrayPrototype%':['TypedArray','prototype'],'%TypeErrorPrototype%':['TypeError','prototype'],'%Uint8ArrayPrototype%':['Uint8Array','prototype'],'%Uint8ClampedArrayPrototype%':['Uint8ClampedArray','prototype'],'%Uint16ArrayPrototype%':['Uint16Array','prototype'],'%Uint32ArrayPrototype%':['Uint32Array','prototype'],'%URIErrorPrototype%':['URIError','prototype'],'%WeakMapPrototype%':['WeakMap','prototype'],'%WeakSetPrototype%':['WeakSet','prototype']};var bind=functionBind;var hasOwn$1=src$1;var $concat=bind.call(Function.call,Array.prototype.concat);var $spliceApply=bind.call(Function.apply,Array.prototype.splice);var $replace=bind.call(Function.call,String.prototype.replace);var $strSlice=bind.call(Function.call,String.prototype.slice);/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */var rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;var reEscapeChar=/\\(\\)?/g;/** Used to match backslashes in property paths. */var stringToPath=function stringToPath(string){var first=$strSlice(string,0,1);var last=$strSlice(string,-1);if(first==='%'&&last!=='%'){throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');}else if(last==='%'&&first!=='%'){throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');}var result=[];$replace(string,rePropName,function(match,number,quote,subString){result[result.length]=quote?$replace(subString,reEscapeChar,'$1'):number||match;});return result;};/* end adaptation */var getBaseIntrinsic=function getBaseIntrinsic(name,allowMissing){var intrinsicName=name;var alias;if(hasOwn$1(LEGACY_ALIASES,intrinsicName)){alias=LEGACY_ALIASES[intrinsicName];intrinsicName='%'+alias[0]+'%';}if(hasOwn$1(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval){value=doEval(intrinsicName);}if(typeof value==='undefined'&&!allowMissing){throw new $TypeError$1('intrinsic '+name+' exists, but is not available. Please file an issue!');}return{alias:alias,name:intrinsicName,value:value};}throw new $SyntaxError('intrinsic '+name+' does not exist!');};var getIntrinsic=function GetIntrinsic(name,allowMissing){if(typeof name!=='string'||name.length===0){throw new $TypeError$1('intrinsic name must be a non-empty string');}if(arguments.length>1&&typeof allowMissing!=='boolean'){throw new $TypeError$1('"allowMissing" argument must be a boolean');}var parts=stringToPath(name);var intrinsicBaseName=parts.length>0?parts[0]:'';var intrinsic=getBaseIntrinsic('%'+intrinsicBaseName+'%',allowMissing);var intrinsicRealName=intrinsic.name;var value=intrinsic.value;var skipFurtherCaching=false;var alias=intrinsic.alias;if(alias){intrinsicBaseName=alias[0];$spliceApply(parts,$concat([0,1],alias));}for(var i=1,isOwn=true;i<parts.length;i+=1){var part=parts[i];var first=$strSlice(part,0,1);var last=$strSlice(part,-1);if((first==='"'||first==="'"||first==='`'||last==='"'||last==="'"||last==='`')&&first!==last){throw new $SyntaxError('property names with quotes must have matching quotes');}if(part==='constructor'||!isOwn){skipFurtherCaching=true;}intrinsicBaseName+='.'+part;intrinsicRealName='%'+intrinsicBaseName+'%';if(hasOwn$1(INTRINSICS,intrinsicRealName)){value=INTRINSICS[intrinsicRealName];}else if(value!=null){if(!(part in value)){if(!allowMissing){throw new $TypeError$1('base intrinsic for '+name+' exists, but the property is not available.');}return void undefined$1;}if($gOPD&&i+1>=parts.length){var desc=$gOPD(value,part);isOwn=!!desc;// By convention, when a data property is converted to an accessor
- // property to emulate a data property that does not suffer from
- // the override mistake, that accessor's getter is marked with
- // an `originalValue` property. Here, when we detect this, we
- // uphold the illusion by pretending to see that original data
- // property, i.e., returning the value rather than the getter
- // itself.
- if(isOwn&&'get'in desc&&!('originalValue'in desc.get)){value=desc.get;}else{value=value[part];}}else{isOwn=hasOwn$1(value,part);value=value[part];}if(isOwn&&!skipFurtherCaching){INTRINSICS[intrinsicRealName]=value;}}}return value;};var callBind$1={exports:{}};(function(module){var bind=functionBind;var GetIntrinsic=getIntrinsic;var $apply=GetIntrinsic('%Function.prototype.apply%');var $call=GetIntrinsic('%Function.prototype.call%');var $reflectApply=GetIntrinsic('%Reflect.apply%',true)||bind.call($call,$apply);var $gOPD=GetIntrinsic('%Object.getOwnPropertyDescriptor%',true);var $defineProperty=GetIntrinsic('%Object.defineProperty%',true);var $max=GetIntrinsic('%Math.max%');if($defineProperty){try{$defineProperty({},'a',{value:1});}catch(e){// IE 8 has a broken defineProperty
- $defineProperty=null;}}module.exports=function callBind(originalFunction){var func=$reflectApply(bind,$call,arguments);if($gOPD&&$defineProperty){var desc=$gOPD(func,'length');if(desc.configurable){// original length, plus the receiver, minus any additional arguments (after the receiver)
- $defineProperty(func,'length',{value:1+$max(0,originalFunction.length-(arguments.length-1))});}}return func;};var applyBind=function applyBind(){return $reflectApply(bind,$apply,arguments);};if($defineProperty){$defineProperty(module.exports,'apply',{value:applyBind});}else{module.exports.apply=applyBind;}})(callBind$1);var GetIntrinsic$1=getIntrinsic;var callBind=callBind$1.exports;var $indexOf=callBind(GetIntrinsic$1('String.prototype.indexOf'));var callBound$1=function callBoundIntrinsic(name,allowMissing){var intrinsic=GetIntrinsic$1(name,!!allowMissing);if(typeof intrinsic==='function'&&$indexOf(name,'.prototype.')>-1){return callBind(intrinsic);}return intrinsic;};var __viteBrowserExternal={};var __viteBrowserExternal$1=/*#__PURE__*/Object.freeze((_Object$freeze={__proto__:null},_defineProperty2(_Object$freeze,Symbol.toStringTag,'Module'),_defineProperty2(_Object$freeze,'default',__viteBrowserExternal),_Object$freeze));var require$$0=/*@__PURE__*/getAugmentedNamespace(__viteBrowserExternal$1);var hasMap=typeof Map==='function'&&Map.prototype;var mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,'size'):null;var mapSize=hasMap&&mapSizeDescriptor&&typeof mapSizeDescriptor.get==='function'?mapSizeDescriptor.get:null;var mapForEach=hasMap&&Map.prototype.forEach;var hasSet=typeof Set==='function'&&Set.prototype;var setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,'size'):null;var setSize=hasSet&&setSizeDescriptor&&typeof setSizeDescriptor.get==='function'?setSizeDescriptor.get:null;var setForEach=hasSet&&Set.prototype.forEach;var hasWeakMap=typeof WeakMap==='function'&&WeakMap.prototype;var weakMapHas=hasWeakMap?WeakMap.prototype.has:null;var hasWeakSet=typeof WeakSet==='function'&&WeakSet.prototype;var weakSetHas=hasWeakSet?WeakSet.prototype.has:null;var hasWeakRef=typeof WeakRef==='function'&&WeakRef.prototype;var weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null;var booleanValueOf=Boolean.prototype.valueOf;var objectToString$1=Object.prototype.toString;var functionToString=Function.prototype.toString;var match=String.prototype.match;var bigIntValueOf=typeof BigInt==='function'?BigInt.prototype.valueOf:null;var gOPS=Object.getOwnPropertySymbols;var symToString=typeof Symbol==='function'&&_typeof2(Symbol.iterator)==='symbol'?Symbol.prototype.toString:null;var hasShammedSymbols=typeof Symbol==='function'&&_typeof2(Symbol.iterator)==='object';var isEnumerable=Object.prototype.propertyIsEnumerable;var gPO=(typeof Reflect==='function'?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype// eslint-disable-line no-proto
- ?function(O){return O.__proto__;// eslint-disable-line no-proto
- }:null);var inspectCustom=require$$0.custom;var inspectSymbol=inspectCustom&&isSymbol(inspectCustom)?inspectCustom:null;var toStringTag=typeof Symbol==='function'&&typeof Symbol.toStringTag!=='undefined'?Symbol.toStringTag:null;var objectInspect=function inspect_(obj,options,depth,seen){var opts=options||{};if(has$3(opts,'quoteStyle')&&opts.quoteStyle!=='single'&&opts.quoteStyle!=='double'){throw new TypeError('option "quoteStyle" must be "single" or "double"');}if(has$3(opts,'maxStringLength')&&(typeof opts.maxStringLength==='number'?opts.maxStringLength<0&&opts.maxStringLength!==Infinity:opts.maxStringLength!==null)){throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');}var customInspect=has$3(opts,'customInspect')?opts.customInspect:true;if(typeof customInspect!=='boolean'&&customInspect!=='symbol'){throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`');}if(has$3(opts,'indent')&&opts.indent!==null&&opts.indent!=='\t'&&!(parseInt(opts.indent,10)===opts.indent&&opts.indent>0)){throw new TypeError('options "indent" must be "\\t", an integer > 0, or `null`');}if(typeof obj==='undefined'){return'undefined';}if(obj===null){return'null';}if(typeof obj==='boolean'){return obj?'true':'false';}if(typeof obj==='string'){return inspectString(obj,opts);}if(typeof obj==='number'){if(obj===0){return Infinity/obj>0?'0':'-0';}return String(obj);}if(typeof obj==='bigint'){return String(obj)+'n';}var maxDepth=typeof opts.depth==='undefined'?5:opts.depth;if(typeof depth==='undefined'){depth=0;}if(depth>=maxDepth&&maxDepth>0&&_typeof2(obj)==='object'){return isArray$4(obj)?'[Array]':'[Object]';}var indent=getIndent(opts,depth);if(typeof seen==='undefined'){seen=[];}else if(indexOf(seen,obj)>=0){return'[Circular]';}function inspect(value,from,noIndent){if(from){seen=seen.slice();seen.push(from);}if(noIndent){var newOpts={depth:opts.depth};if(has$3(opts,'quoteStyle')){newOpts.quoteStyle=opts.quoteStyle;}return inspect_(value,newOpts,depth+1,seen);}return inspect_(value,opts,depth+1,seen);}if(typeof obj==='function'){var name=nameOf(obj);var keys=arrObjKeys(obj,inspect);return'[Function'+(name?': '+name:' (anonymous)')+']'+(keys.length>0?' { '+keys.join(', ')+' }':'');}if(isSymbol(obj)){var symString=hasShammedSymbols?String(obj).replace(/^(Symbol\(.*\))_[^)]*$/,'$1'):symToString.call(obj);return _typeof2(obj)==='object'&&!hasShammedSymbols?markBoxed(symString):symString;}if(isElement(obj)){var s='<'+String(obj.nodeName).toLowerCase();var attrs=obj.attributes||[];for(var i=0;i<attrs.length;i++){s+=' '+attrs[i].name+'='+wrapQuotes(quote(attrs[i].value),'double',opts);}s+='>';if(obj.childNodes&&obj.childNodes.length){s+='...';}s+='</'+String(obj.nodeName).toLowerCase()+'>';return s;}if(isArray$4(obj)){if(obj.length===0){return'[]';}var xs=arrObjKeys(obj,inspect);if(indent&&!singleLineValues(xs)){return'['+indentedJoin(xs,indent)+']';}return'[ '+xs.join(', ')+' ]';}if(isError(obj)){var parts=arrObjKeys(obj,inspect);if(parts.length===0){return'['+String(obj)+']';}return'{ ['+String(obj)+'] '+parts.join(', ')+' }';}if(_typeof2(obj)==='object'&&customInspect){if(inspectSymbol&&typeof obj[inspectSymbol]==='function'){return obj[inspectSymbol]();}else if(customInspect!=='symbol'&&typeof obj.inspect==='function'){return obj.inspect();}}if(isMap(obj)){var mapParts=[];mapForEach.call(obj,function(value,key){mapParts.push(inspect(key,obj,true)+' => '+inspect(value,obj));});return collectionOf('Map',mapSize.call(obj),mapParts,indent);}if(isSet(obj)){var setParts=[];setForEach.call(obj,function(value){setParts.push(inspect(value,obj));});return collectionOf('Set',setSize.call(obj),setParts,indent);}if(isWeakMap(obj)){return weakCollectionOf('WeakMap');}if(isWeakSet(obj)){return weakCollectionOf('WeakSet');}if(isWeakRef(obj)){return weakCollectionOf('WeakRef');}if(isNumber(obj)){return markBoxed(inspect(Number(obj)));}if(isBigInt(obj)){return markBoxed(inspect(bigIntValueOf.call(obj)));}if(isBoolean(obj)){return markBoxed(booleanValueOf.call(obj));}if(isString(obj)){return markBoxed(inspect(String(obj)));}if(!isDate$1(obj)&&!isRegExp$1(obj)){var ys=arrObjKeys(obj,inspect);var isPlainObject=gPO?gPO(obj)===Object.prototype:obj instanceof Object||obj.constructor===Object;var protoTag=obj instanceof Object?'':'null prototype';var stringTag=!isPlainObject&&toStringTag&&Object(obj)===obj&&toStringTag in obj?toStr(obj).slice(8,-1):protoTag?'Object':'';var constructorTag=isPlainObject||typeof obj.constructor!=='function'?'':obj.constructor.name?obj.constructor.name+' ':'';var tag=constructorTag+(stringTag||protoTag?'['+[].concat(stringTag||[],protoTag||[]).join(': ')+'] ':'');if(ys.length===0){return tag+'{}';}if(indent){return tag+'{'+indentedJoin(ys,indent)+'}';}return tag+'{ '+ys.join(', ')+' }';}return String(obj);};function wrapQuotes(s,defaultStyle,opts){var quoteChar=(opts.quoteStyle||defaultStyle)==='double'?'"':"'";return quoteChar+s+quoteChar;}function quote(s){return String(s).replace(/"/g,'"');}function isArray$4(obj){return toStr(obj)==='[object Array]'&&(!toStringTag||!(_typeof2(obj)==='object'&&toStringTag in obj));}function isDate$1(obj){return toStr(obj)==='[object Date]'&&(!toStringTag||!(_typeof2(obj)==='object'&&toStringTag in obj));}function isRegExp$1(obj){return toStr(obj)==='[object RegExp]'&&(!toStringTag||!(_typeof2(obj)==='object'&&toStringTag in obj));}function isError(obj){return toStr(obj)==='[object Error]'&&(!toStringTag||!(_typeof2(obj)==='object'&&toStringTag in obj));}function isString(obj){return toStr(obj)==='[object String]'&&(!toStringTag||!(_typeof2(obj)==='object'&&toStringTag in obj));}function isNumber(obj){return toStr(obj)==='[object Number]'&&(!toStringTag||!(_typeof2(obj)==='object'&&toStringTag in obj));}function isBoolean(obj){return toStr(obj)==='[object Boolean]'&&(!toStringTag||!(_typeof2(obj)==='object'&&toStringTag in obj));}// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives
- function isSymbol(obj){if(hasShammedSymbols){return obj&&_typeof2(obj)==='object'&&obj instanceof Symbol;}if(_typeof2(obj)==='symbol'){return true;}if(!obj||_typeof2(obj)!=='object'||!symToString){return false;}try{symToString.call(obj);return true;}catch(e){}return false;}function isBigInt(obj){if(!obj||_typeof2(obj)!=='object'||!bigIntValueOf){return false;}try{bigIntValueOf.call(obj);return true;}catch(e){}return false;}var hasOwn=Object.prototype.hasOwnProperty||function(key){return key in this;};function has$3(obj,key){return hasOwn.call(obj,key);}function toStr(obj){return objectToString$1.call(obj);}function nameOf(f){if(f.name){return f.name;}var m=match.call(functionToString.call(f),/^function\s*([\w$]+)/);if(m){return m[1];}return null;}function indexOf(xs,x){if(xs.indexOf){return xs.indexOf(x);}for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x){return i;}}return-1;}function isMap(x){if(!mapSize||!x||_typeof2(x)!=='object'){return false;}try{mapSize.call(x);try{setSize.call(x);}catch(s){return true;}return x instanceof Map;// core-js workaround, pre-v2.5.0
- }catch(e){}return false;}function isWeakMap(x){if(!weakMapHas||!x||_typeof2(x)!=='object'){return false;}try{weakMapHas.call(x,weakMapHas);try{weakSetHas.call(x,weakSetHas);}catch(s){return true;}return x instanceof WeakMap;// core-js workaround, pre-v2.5.0
- }catch(e){}return false;}function isWeakRef(x){if(!weakRefDeref||!x||_typeof2(x)!=='object'){return false;}try{weakRefDeref.call(x);return true;}catch(e){}return false;}function isSet(x){if(!setSize||!x||_typeof2(x)!=='object'){return false;}try{setSize.call(x);try{mapSize.call(x);}catch(m){return true;}return x instanceof Set;// core-js workaround, pre-v2.5.0
- }catch(e){}return false;}function isWeakSet(x){if(!weakSetHas||!x||_typeof2(x)!=='object'){return false;}try{weakSetHas.call(x,weakSetHas);try{weakMapHas.call(x,weakMapHas);}catch(s){return true;}return x instanceof WeakSet;// core-js workaround, pre-v2.5.0
- }catch(e){}return false;}function isElement(x){if(!x||_typeof2(x)!=='object'){return false;}if(typeof HTMLElement!=='undefined'&&x instanceof HTMLElement){return true;}return typeof x.nodeName==='string'&&typeof x.getAttribute==='function';}function inspectString(str,opts){if(str.length>opts.maxStringLength){var remaining=str.length-opts.maxStringLength;var trailer='... '+remaining+' more character'+(remaining>1?'s':'');return inspectString(str.slice(0,opts.maxStringLength),opts)+trailer;}// eslint-disable-next-line no-control-regex
- var s=str.replace(/(['\\])/g,'\\$1').replace(/[\x00-\x1f]/g,lowbyte);return wrapQuotes(s,'single',opts);}function lowbyte(c){var n=c.charCodeAt(0);var x={8:'b',9:'t',10:'n',12:'f',13:'r'}[n];if(x){return'\\'+x;}return'\\x'+(n<0x10?'0':'')+n.toString(16).toUpperCase();}function markBoxed(str){return'Object('+str+')';}function weakCollectionOf(type){return type+' { ? }';}function collectionOf(type,size,entries,indent){var joinedEntries=indent?indentedJoin(entries,indent):entries.join(', ');return type+' ('+size+') {'+joinedEntries+'}';}function singleLineValues(xs){for(var i=0;i<xs.length;i++){if(indexOf(xs[i],'\n')>=0){return false;}}return true;}function getIndent(opts,depth){var baseIndent;if(opts.indent==='\t'){baseIndent='\t';}else if(typeof opts.indent==='number'&&opts.indent>0){baseIndent=Array(opts.indent+1).join(' ');}else{return null;}return{base:baseIndent,prev:Array(depth+1).join(baseIndent)};}function indentedJoin(xs,indent){if(xs.length===0){return'';}var lineJoiner='\n'+indent.prev+indent.base;return lineJoiner+xs.join(','+lineJoiner)+'\n'+indent.prev;}function arrObjKeys(obj,inspect){var isArr=isArray$4(obj);var xs=[];if(isArr){xs.length=obj.length;for(var i=0;i<obj.length;i++){xs[i]=has$3(obj,i)?inspect(obj[i],obj):'';}}var syms=typeof gOPS==='function'?gOPS(obj):[];var symMap;if(hasShammedSymbols){symMap={};for(var k=0;k<syms.length;k++){symMap['$'+syms[k]]=syms[k];}}for(var key in obj){// eslint-disable-line no-restricted-syntax
- if(!has$3(obj,key)){continue;}// eslint-disable-line no-restricted-syntax, no-continue
- if(isArr&&String(Number(key))===key&&key<obj.length){continue;}// eslint-disable-line no-restricted-syntax, no-continue
- if(hasShammedSymbols&&symMap['$'+key]instanceof Symbol){// this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section
- continue;// eslint-disable-line no-restricted-syntax, no-continue
- }else if(/[^\w$]/.test(key)){xs.push(inspect(key,obj)+': '+inspect(obj[key],obj));}else{xs.push(key+': '+inspect(obj[key],obj));}}if(typeof gOPS==='function'){for(var j=0;j<syms.length;j++){if(isEnumerable.call(obj,syms[j])){xs.push('['+inspect(syms[j])+']: '+inspect(obj[syms[j]],obj));}}}return xs;}var GetIntrinsic=getIntrinsic;var callBound=callBound$1;var inspect=objectInspect;var $TypeError=GetIntrinsic('%TypeError%');var $WeakMap=GetIntrinsic('%WeakMap%',true);var $Map=GetIntrinsic('%Map%',true);var $weakMapGet=callBound('WeakMap.prototype.get',true);var $weakMapSet=callBound('WeakMap.prototype.set',true);var $weakMapHas=callBound('WeakMap.prototype.has',true);var $mapGet=callBound('Map.prototype.get',true);var $mapSet=callBound('Map.prototype.set',true);var $mapHas=callBound('Map.prototype.has',true);/*
- * This function traverses the list returning the node corresponding to the
- * given key.
- *
- * That node is also moved to the head of the list, so that if it's accessed
- * again we don't need to traverse the whole list. By doing so, all the recently
- * used nodes can be accessed relatively quickly.
- */var listGetNode=function listGetNode(list,key){// eslint-disable-line consistent-return
- for(var prev=list,curr;(curr=prev.next)!==null;prev=curr){if(curr.key===key){prev.next=curr.next;curr.next=list.next;list.next=curr;// eslint-disable-line no-param-reassign
- return curr;}}};var listGet=function listGet(objects,key){var node=listGetNode(objects,key);return node&&node.value;};var listSet=function listSet(objects,key,value){var node=listGetNode(objects,key);if(node){node.value=value;}else{// Prepend the new node to the beginning of the list
- objects.next={// eslint-disable-line no-param-reassign
- key:key,next:objects.next,value:value};}};var listHas=function listHas(objects,key){return!!listGetNode(objects,key);};var sideChannel=function getSideChannel(){var $wm;var $m;var $o;var channel={assert:function assert(key){if(!channel.has(key)){throw new $TypeError('Side channel does not contain '+inspect(key));}},get:function get(key){// eslint-disable-line consistent-return
- if($WeakMap&&key&&(_typeof2(key)==='object'||typeof key==='function')){if($wm){return $weakMapGet($wm,key);}}else if($Map){if($m){return $mapGet($m,key);}}else{if($o){// eslint-disable-line no-lonely-if
- return listGet($o,key);}}},has:function has(key){if($WeakMap&&key&&(_typeof2(key)==='object'||typeof key==='function')){if($wm){return $weakMapHas($wm,key);}}else if($Map){if($m){return $mapHas($m,key);}}else{if($o){// eslint-disable-line no-lonely-if
- return listHas($o,key);}}return false;},set:function set(key,value){if($WeakMap&&key&&(_typeof2(key)==='object'||typeof key==='function')){if(!$wm){$wm=new $WeakMap();}$weakMapSet($wm,key,value);}else if($Map){if(!$m){$m=new $Map();}$mapSet($m,key,value);}else{if(!$o){/*
- * Initialize the linked list as an empty node, so that we don't have
- * to special-case handling of the first node: we can always refer to
- * it as (previous node).next, instead of something like (list).head
- */$o={key:{},next:null};}listSet($o,key,value);}}};return channel;};var replace=String.prototype.replace;var percentTwenties=/%20/g;var Format={RFC1738:'RFC1738',RFC3986:'RFC3986'};var formats$3={'default':Format.RFC3986,formatters:{RFC1738:function RFC1738(value){return replace.call(value,percentTwenties,'+');},RFC3986:function RFC3986(value){return String(value);}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986};var formats$2=formats$3;var has$2=Object.prototype.hasOwnProperty;var isArray$3=Array.isArray;var hexTable=function(){var array=[];for(var i=0;i<256;++i){array.push('%'+((i<16?'0':'')+i.toString(16)).toUpperCase());}return array;}();var compactQueue=function compactQueue(queue){while(queue.length>1){var item=queue.pop();var obj=item.obj[item.prop];if(isArray$3(obj)){var compacted=[];for(var j=0;j<obj.length;++j){if(typeof obj[j]!=='undefined'){compacted.push(obj[j]);}}item.obj[item.prop]=compacted;}}};var arrayToObject=function arrayToObject(source,options){var obj=options&&options.plainObjects?Object.create(null):{};for(var i=0;i<source.length;++i){if(typeof source[i]!=='undefined'){obj[i]=source[i];}}return obj;};var merge=function merge(target,source,options){/* eslint no-param-reassign: 0 */if(!source){return target;}if(_typeof2(source)!=='object'){if(isArray$3(target)){target.push(source);}else if(target&&_typeof2(target)==='object'){if(options&&(options.plainObjects||options.allowPrototypes)||!has$2.call(Object.prototype,source)){target[source]=true;}}else{return[target,source];}return target;}if(!target||_typeof2(target)!=='object'){return[target].concat(source);}var mergeTarget=target;if(isArray$3(target)&&!isArray$3(source)){mergeTarget=arrayToObject(target,options);}if(isArray$3(target)&&isArray$3(source)){source.forEach(function(item,i){if(has$2.call(target,i)){var targetItem=target[i];if(targetItem&&_typeof2(targetItem)==='object'&&item&&_typeof2(item)==='object'){target[i]=merge(targetItem,item,options);}else{target.push(item);}}else{target[i]=item;}});return target;}return Object.keys(source).reduce(function(acc,key){var value=source[key];if(has$2.call(acc,key)){acc[key]=merge(acc[key],value,options);}else{acc[key]=value;}return acc;},mergeTarget);};var assign=function assignSingleSource(target,source){return Object.keys(source).reduce(function(acc,key){acc[key]=source[key];return acc;},target);};var decode$1=function decode$1(str,decoder,charset){var strWithoutPlus=str.replace(/\+/g,' ');if(charset==='iso-8859-1'){// unescape never throws, no try...catch needed:
- return strWithoutPlus.replace(/%[0-9a-f]{2}/gi,unescape);}// utf-8
- try{return decodeURIComponent(strWithoutPlus);}catch(e){return strWithoutPlus;}};var encode=function encode(str,defaultEncoder,charset,kind,format){// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
- // It has been adapted here for stricter adherence to RFC 3986
- if(str.length===0){return str;}var string=str;if(_typeof2(str)==='symbol'){string=Symbol.prototype.toString.call(str);}else if(typeof str!=='string'){string=String(str);}if(charset==='iso-8859-1'){return escape(string).replace(/%u[0-9a-f]{4}/gi,function($0){return'%26%23'+parseInt($0.slice(2),16)+'%3B';});}var out='';for(var i=0;i<string.length;++i){var c=string.charCodeAt(i);if(c===0x2D// -
- ||c===0x2E// .
- ||c===0x5F// _
- ||c===0x7E// ~
- ||c>=0x30&&c<=0x39// 0-9
- ||c>=0x41&&c<=0x5A// a-z
- ||c>=0x61&&c<=0x7A// A-Z
- ||format===formats$2.RFC1738&&(c===0x28||c===0x29)// ( )
- ){out+=string.charAt(i);continue;}if(c<0x80){out=out+hexTable[c];continue;}if(c<0x800){out=out+(hexTable[0xC0|c>>6]+hexTable[0x80|c&0x3F]);continue;}if(c<0xD800||c>=0xE000){out=out+(hexTable[0xE0|c>>12]+hexTable[0x80|c>>6&0x3F]+hexTable[0x80|c&0x3F]);continue;}i+=1;c=0x10000+((c&0x3FF)<<10|string.charCodeAt(i)&0x3FF);/* eslint operator-linebreak: [2, "before"] */out+=hexTable[0xF0|c>>18]+hexTable[0x80|c>>12&0x3F]+hexTable[0x80|c>>6&0x3F]+hexTable[0x80|c&0x3F];}return out;};var compact=function compact(value){var queue=[{obj:{o:value},prop:'o'}];var refs=[];for(var i=0;i<queue.length;++i){var item=queue[i];var obj=item.obj[item.prop];var keys=Object.keys(obj);for(var j=0;j<keys.length;++j){var key=keys[j];var val=obj[key];if(_typeof2(val)==='object'&&val!==null&&refs.indexOf(val)===-1){queue.push({obj:obj,prop:key});refs.push(val);}}}compactQueue(queue);return value;};var isRegExp=function isRegExp(obj){return Object.prototype.toString.call(obj)==='[object RegExp]';};var isBuffer=function isBuffer(obj){if(!obj||_typeof2(obj)!=='object'){return false;}return!!(obj.constructor&&obj.constructor.isBuffer&&obj.constructor.isBuffer(obj));};var combine=function combine(a,b){return[].concat(a,b);};var maybeMap=function maybeMap(val,fn){if(isArray$3(val)){var mapped=[];for(var i=0;i<val.length;i+=1){mapped.push(fn(val[i]));}return mapped;}return fn(val);};var utils$2={arrayToObject:arrayToObject,assign:assign,combine:combine,compact:compact,decode:decode$1,encode:encode,isBuffer:isBuffer,isRegExp:isRegExp,maybeMap:maybeMap,merge:merge};var getSideChannel=sideChannel;var utils$1=utils$2;var formats$1=formats$3;var has$1=Object.prototype.hasOwnProperty;var arrayPrefixGenerators={brackets:function brackets(prefix){return prefix+'[]';},comma:'comma',indices:function indices(prefix,key){return prefix+'['+key+']';},repeat:function repeat(prefix){return prefix;}};var isArray$2=Array.isArray;var split=String.prototype.split;var push=Array.prototype.push;var pushToArray=function pushToArray(arr,valueOrArray){push.apply(arr,isArray$2(valueOrArray)?valueOrArray:[valueOrArray]);};var toISO=Date.prototype.toISOString;var defaultFormat=formats$1['default'];var defaults$1={addQueryPrefix:false,allowDots:false,charset:'utf-8',charsetSentinel:false,delimiter:'&',encode:true,encoder:utils$1.encode,encodeValuesOnly:false,format:defaultFormat,formatter:formats$1.formatters[defaultFormat],// deprecated
- indices:false,serializeDate:function serializeDate(date){return toISO.call(date);},skipNulls:false,strictNullHandling:false};var isNonNullishPrimitive=function isNonNullishPrimitive(v){return typeof v==='string'||typeof v==='number'||typeof v==='boolean'||_typeof2(v)==='symbol'||typeof v==='bigint';};var sentinel={};var stringify$1=function stringify(object,prefix,generateArrayPrefix,strictNullHandling,skipNulls,encoder,filter,sort,allowDots,serializeDate,format,formatter,encodeValuesOnly,charset,sideChannel){var obj=object;var tmpSc=sideChannel;var step=0;var findFlag=false;while((tmpSc=tmpSc.get(sentinel))!==void undefined&&!findFlag){// Where object last appeared in the ref tree
- var pos=tmpSc.get(object);step+=1;if(typeof pos!=='undefined'){if(pos===step){throw new RangeError('Cyclic object value');}else{findFlag=true;// Break while
- }}if(typeof tmpSc.get(sentinel)==='undefined'){step=0;}}if(typeof filter==='function'){obj=filter(prefix,obj);}else if(obj instanceof Date){obj=serializeDate(obj);}else if(generateArrayPrefix==='comma'&&isArray$2(obj)){obj=utils$1.maybeMap(obj,function(value){if(value instanceof Date){return serializeDate(value);}return value;});}if(obj===null){if(strictNullHandling){return encoder&&!encodeValuesOnly?encoder(prefix,defaults$1.encoder,charset,'key',format):prefix;}obj='';}if(isNonNullishPrimitive(obj)||utils$1.isBuffer(obj)){if(encoder){var keyValue=encodeValuesOnly?prefix:encoder(prefix,defaults$1.encoder,charset,'key',format);if(generateArrayPrefix==='comma'&&encodeValuesOnly){var valuesArray=split.call(String(obj),',');var valuesJoined='';for(var i=0;i<valuesArray.length;++i){valuesJoined+=(i===0?'':',')+formatter(encoder(valuesArray[i],defaults$1.encoder,charset,'value',format));}return[formatter(keyValue)+'='+valuesJoined];}return[formatter(keyValue)+'='+formatter(encoder(obj,defaults$1.encoder,charset,'value',format))];}return[formatter(prefix)+'='+formatter(String(obj))];}var values=[];if(typeof obj==='undefined'){return values;}var objKeys;if(generateArrayPrefix==='comma'&&isArray$2(obj)){// we need to join elements in
- objKeys=[{value:obj.length>0?obj.join(',')||null:void undefined}];}else if(isArray$2(filter)){objKeys=filter;}else{var keys=Object.keys(obj);objKeys=sort?keys.sort(sort):keys;}for(var j=0;j<objKeys.length;++j){var key=objKeys[j];var value=_typeof2(key)==='object'&&typeof key.value!=='undefined'?key.value:obj[key];if(skipNulls&&value===null){continue;}var keyPrefix=isArray$2(obj)?typeof generateArrayPrefix==='function'?generateArrayPrefix(prefix,key):prefix:prefix+(allowDots?'.'+key:'['+key+']');sideChannel.set(object,step);var valueSideChannel=getSideChannel();valueSideChannel.set(sentinel,sideChannel);pushToArray(values,stringify(value,keyPrefix,generateArrayPrefix,strictNullHandling,skipNulls,encoder,filter,sort,allowDots,serializeDate,format,formatter,encodeValuesOnly,charset,valueSideChannel));}return values;};var normalizeStringifyOptions=function normalizeStringifyOptions(opts){if(!opts){return defaults$1;}if(opts.encoder!==null&&typeof opts.encoder!=='undefined'&&typeof opts.encoder!=='function'){throw new TypeError('Encoder has to be a function.');}var charset=opts.charset||defaults$1.charset;if(typeof opts.charset!=='undefined'&&opts.charset!=='utf-8'&&opts.charset!=='iso-8859-1'){throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');}var format=formats$1['default'];if(typeof opts.format!=='undefined'){if(!has$1.call(formats$1.formatters,opts.format)){throw new TypeError('Unknown format option provided.');}format=opts.format;}var formatter=formats$1.formatters[format];var filter=defaults$1.filter;if(typeof opts.filter==='function'||isArray$2(opts.filter)){filter=opts.filter;}return{addQueryPrefix:typeof opts.addQueryPrefix==='boolean'?opts.addQueryPrefix:defaults$1.addQueryPrefix,allowDots:typeof opts.allowDots==='undefined'?defaults$1.allowDots:!!opts.allowDots,charset:charset,charsetSentinel:typeof opts.charsetSentinel==='boolean'?opts.charsetSentinel:defaults$1.charsetSentinel,delimiter:typeof opts.delimiter==='undefined'?defaults$1.delimiter:opts.delimiter,encode:typeof opts.encode==='boolean'?opts.encode:defaults$1.encode,encoder:typeof opts.encoder==='function'?opts.encoder:defaults$1.encoder,encodeValuesOnly:typeof opts.encodeValuesOnly==='boolean'?opts.encodeValuesOnly:defaults$1.encodeValuesOnly,filter:filter,format:format,formatter:formatter,serializeDate:typeof opts.serializeDate==='function'?opts.serializeDate:defaults$1.serializeDate,skipNulls:typeof opts.skipNulls==='boolean'?opts.skipNulls:defaults$1.skipNulls,sort:typeof opts.sort==='function'?opts.sort:null,strictNullHandling:typeof opts.strictNullHandling==='boolean'?opts.strictNullHandling:defaults$1.strictNullHandling};};var stringify_1=function stringify_1(object,opts){var obj=object;var options=normalizeStringifyOptions(opts);var objKeys;var filter;if(typeof options.filter==='function'){filter=options.filter;obj=filter('',obj);}else if(isArray$2(options.filter)){filter=options.filter;objKeys=filter;}var keys=[];if(_typeof2(obj)!=='object'||obj===null){return'';}var arrayFormat;if(opts&&opts.arrayFormat in arrayPrefixGenerators){arrayFormat=opts.arrayFormat;}else if(opts&&'indices'in opts){arrayFormat=opts.indices?'indices':'repeat';}else{arrayFormat='indices';}var generateArrayPrefix=arrayPrefixGenerators[arrayFormat];if(!objKeys){objKeys=Object.keys(obj);}if(options.sort){objKeys.sort(options.sort);}var sideChannel=getSideChannel();for(var i=0;i<objKeys.length;++i){var key=objKeys[i];if(options.skipNulls&&obj[key]===null){continue;}pushToArray(keys,stringify$1(obj[key],key,generateArrayPrefix,options.strictNullHandling,options.skipNulls,options.encode?options.encoder:null,options.filter,options.sort,options.allowDots,options.serializeDate,options.format,options.formatter,options.encodeValuesOnly,options.charset,sideChannel));}var joined=keys.join(options.delimiter);var prefix=options.addQueryPrefix===true?'?':'';if(options.charsetSentinel){if(options.charset==='iso-8859-1'){// encodeURIComponent('✓'), the "numeric entity" representation of a checkmark
- prefix+='utf8=%26%2310003%3B&';}else{// encodeURIComponent('✓')
- prefix+='utf8=%E2%9C%93&';}}return joined.length>0?prefix+joined:'';};var utils=utils$2;var has=Object.prototype.hasOwnProperty;var isArray$1=Array.isArray;var defaults={allowDots:false,allowPrototypes:false,allowSparse:false,arrayLimit:20,charset:'utf-8',charsetSentinel:false,comma:false,decoder:utils.decode,delimiter:'&',depth:5,ignoreQueryPrefix:false,interpretNumericEntities:false,parameterLimit:1000,parseArrays:true,plainObjects:false,strictNullHandling:false};var interpretNumericEntities=function interpretNumericEntities(str){return str.replace(/&#(\d+);/g,function($0,numberStr){return String.fromCharCode(parseInt(numberStr,10));});};var parseArrayValue=function parseArrayValue(val,options){if(val&&typeof val==='string'&&options.comma&&val.indexOf(',')>-1){return val.split(',');}return val;};// This is what browsers will submit when the ✓ character occurs in an
- // application/x-www-form-urlencoded body and the encoding of the page containing
- // the form is iso-8859-1, or when the submitted form has an accept-charset
- // attribute of iso-8859-1. Presumably also with other charsets that do not contain
- // the ✓ character, such as us-ascii.
- var isoSentinel='utf8=%26%2310003%3B';// encodeURIComponent('✓')
- // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
- var charsetSentinel='utf8=%E2%9C%93';// encodeURIComponent('✓')
- var parseValues=function parseQueryStringValues(str,options){var obj={};var cleanStr=options.ignoreQueryPrefix?str.replace(/^\?/,''):str;var limit=options.parameterLimit===Infinity?undefined:options.parameterLimit;var parts=cleanStr.split(options.delimiter,limit);var skipIndex=-1;// Keep track of where the utf8 sentinel was found
- var i;var charset=options.charset;if(options.charsetSentinel){for(i=0;i<parts.length;++i){if(parts[i].indexOf('utf8=')===0){if(parts[i]===charsetSentinel){charset='utf-8';}else if(parts[i]===isoSentinel){charset='iso-8859-1';}skipIndex=i;i=parts.length;// The eslint settings do not allow break;
- }}}for(i=0;i<parts.length;++i){if(i===skipIndex){continue;}var part=parts[i];var bracketEqualsPos=part.indexOf(']=');var pos=bracketEqualsPos===-1?part.indexOf('='):bracketEqualsPos+1;var key,val;if(pos===-1){key=options.decoder(part,defaults.decoder,charset,'key');val=options.strictNullHandling?null:'';}else{key=options.decoder(part.slice(0,pos),defaults.decoder,charset,'key');val=utils.maybeMap(parseArrayValue(part.slice(pos+1),options),function(encodedVal){return options.decoder(encodedVal,defaults.decoder,charset,'value');});}if(val&&options.interpretNumericEntities&&charset==='iso-8859-1'){val=interpretNumericEntities(val);}if(part.indexOf('[]=')>-1){val=isArray$1(val)?[val]:val;}if(has.call(obj,key)){obj[key]=utils.combine(obj[key],val);}else{obj[key]=val;}}return obj;};var parseObject=function parseObject(chain,val,options,valuesParsed){var leaf=valuesParsed?val:parseArrayValue(val,options);for(var i=chain.length-1;i>=0;--i){var obj;var root=chain[i];if(root==='[]'&&options.parseArrays){obj=[].concat(leaf);}else{obj=options.plainObjects?Object.create(null):{};var cleanRoot=root.charAt(0)==='['&&root.charAt(root.length-1)===']'?root.slice(1,-1):root;var index=parseInt(cleanRoot,10);if(!options.parseArrays&&cleanRoot===''){obj={0:leaf};}else if(!isNaN(index)&&root!==cleanRoot&&String(index)===cleanRoot&&index>=0&&options.parseArrays&&index<=options.arrayLimit){obj=[];obj[index]=leaf;}else if(cleanRoot!=='__proto__'){obj[cleanRoot]=leaf;}}leaf=obj;}return leaf;};var parseKeys=function parseQueryStringKeys(givenKey,val,options,valuesParsed){if(!givenKey){return;}// Transform dot notation to bracket notation
- var key=options.allowDots?givenKey.replace(/\.([^.[]+)/g,'[$1]'):givenKey;// The regex chunks
- var brackets=/(\[[^[\]]*])/;var child=/(\[[^[\]]*])/g;// Get the parent
- var segment=options.depth>0&&brackets.exec(key);var parent=segment?key.slice(0,segment.index):key;// Stash the parent if it exists
- var keys=[];if(parent){// If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
- if(!options.plainObjects&&has.call(Object.prototype,parent)){if(!options.allowPrototypes){return;}}keys.push(parent);}// Loop through children appending to the array until we hit depth
- var i=0;while(options.depth>0&&(segment=child.exec(key))!==null&&i<options.depth){i+=1;if(!options.plainObjects&&has.call(Object.prototype,segment[1].slice(1,-1))){if(!options.allowPrototypes){return;}}keys.push(segment[1]);}// If there's a remainder, just add whatever is left
- if(segment){keys.push('['+key.slice(segment.index)+']');}return parseObject(keys,val,options,valuesParsed);};var normalizeParseOptions=function normalizeParseOptions(opts){if(!opts){return defaults;}if(opts.decoder!==null&&opts.decoder!==undefined&&typeof opts.decoder!=='function'){throw new TypeError('Decoder has to be a function.');}if(typeof opts.charset!=='undefined'&&opts.charset!=='utf-8'&&opts.charset!=='iso-8859-1'){throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');}var charset=typeof opts.charset==='undefined'?defaults.charset:opts.charset;return{allowDots:typeof opts.allowDots==='undefined'?defaults.allowDots:!!opts.allowDots,allowPrototypes:typeof opts.allowPrototypes==='boolean'?opts.allowPrototypes:defaults.allowPrototypes,allowSparse:typeof opts.allowSparse==='boolean'?opts.allowSparse:defaults.allowSparse,arrayLimit:typeof opts.arrayLimit==='number'?opts.arrayLimit:defaults.arrayLimit,charset:charset,charsetSentinel:typeof opts.charsetSentinel==='boolean'?opts.charsetSentinel:defaults.charsetSentinel,comma:typeof opts.comma==='boolean'?opts.comma:defaults.comma,decoder:typeof opts.decoder==='function'?opts.decoder:defaults.decoder,delimiter:typeof opts.delimiter==='string'||utils.isRegExp(opts.delimiter)?opts.delimiter:defaults.delimiter,// eslint-disable-next-line no-implicit-coercion, no-extra-parens
- depth:typeof opts.depth==='number'||opts.depth===false?+opts.depth:defaults.depth,ignoreQueryPrefix:opts.ignoreQueryPrefix===true,interpretNumericEntities:typeof opts.interpretNumericEntities==='boolean'?opts.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:typeof opts.parameterLimit==='number'?opts.parameterLimit:defaults.parameterLimit,parseArrays:opts.parseArrays!==false,plainObjects:typeof opts.plainObjects==='boolean'?opts.plainObjects:defaults.plainObjects,strictNullHandling:typeof opts.strictNullHandling==='boolean'?opts.strictNullHandling:defaults.strictNullHandling};};var parse$1=function parse$1(str,opts){var options=normalizeParseOptions(opts);if(str===''||str===null||typeof str==='undefined'){return options.plainObjects?Object.create(null):{};}var tempObj=typeof str==='string'?parseValues(str,options):str;var obj=options.plainObjects?Object.create(null):{};// Iterate over the keys and setup the new object
- var keys=Object.keys(tempObj);for(var i=0;i<keys.length;++i){var key=keys[i];var newObj=parseKeys(key,tempObj[key],options,typeof str==='string');obj=utils.merge(obj,newObj,options);}if(options.allowSparse===true){return obj;}return utils.compact(obj);};var stringify=stringify_1;var parse=parse$1;var formats=formats$3;var lib={formats:formats,parse:parse,stringify:stringify};var global$1=typeof globalThis!=='undefined'&&globalThis||typeof self!=='undefined'&&self||typeof global$1!=='undefined'&&global$1;var support={searchParams:'URLSearchParams'in global$1,iterable:'Symbol'in global$1&&'iterator'in Symbol,blob:'FileReader'in global$1&&'Blob'in global$1&&function(){try{new Blob();return true;}catch(e){return false;}}(),formData:'FormData'in global$1,arrayBuffer:'ArrayBuffer'in global$1};function isDataView(obj){return obj&&DataView.prototype.isPrototypeOf(obj);}if(support.arrayBuffer){var viewClasses=['[object Int8Array]','[object Uint8Array]','[object Uint8ClampedArray]','[object Int16Array]','[object Uint16Array]','[object Int32Array]','[object Uint32Array]','[object Float32Array]','[object Float64Array]'];var isArrayBufferView=ArrayBuffer.isView||function(obj){return obj&&viewClasses.indexOf(Object.prototype.toString.call(obj))>-1;};}function normalizeName(name){if(typeof name!=='string'){name=String(name);}if(/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name)||name===''){throw new TypeError('Invalid character in header field name: "'+name+'"');}return name.toLowerCase();}function normalizeValue(value){if(typeof value!=='string'){value=String(value);}return value;}// Build a destructive iterator for the value list
- function iteratorFor(items){var iterator={next:function next(){var value=items.shift();return{done:value===undefined,value:value};}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator;};}return iterator;}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value);},this);}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1]);},this);}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name]);},this);}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+', '+value:value;};Headers.prototype['delete']=function(name){delete this.map[normalizeName(name)];};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null;};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name));};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value);};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this);}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name);});return iteratorFor(items);};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value);});return iteratorFor(items);};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value]);});return iteratorFor(items);};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries;}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError('Already read'));}body.bodyUsed=true;}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result);};reader.onerror=function(){reject(reader.error);};});}function readBlobAsArrayBuffer(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise;}function readBlobAsText(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsText(blob);return promise;}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i<view.length;i++){chars[i]=String.fromCharCode(view[i]);}return chars.join('');}function bufferClone(buf){if(buf.slice){return buf.slice(0);}else{var view=new Uint8Array(buf.byteLength);view.set(new Uint8Array(buf));return view.buffer;}}function Body(){this.bodyUsed=false;this._initBody=function(body){/*
- fetch-mock wraps the Response object in an ES6 Proxy to
- provide useful test harness features such as flush. However, on
- ES5 browsers without fetch or Proxy support pollyfills must be used;
- the proxy-pollyfill is unable to proxy an attribute unless it exists
- on the object before the Proxy is created. This change ensures
- Response.bodyUsed exists on the instance, while maintaining the
- semantic of setting Request.bodyUsed in the constructor before
- _initBody is called.
- */this.bodyUsed=this.bodyUsed;this._bodyInit=body;if(!body){this._bodyText='';}else if(typeof body==='string'){this._bodyText=body;}else if(support.blob&&Blob.prototype.isPrototypeOf(body)){this._bodyBlob=body;}else if(support.formData&&FormData.prototype.isPrototypeOf(body)){this._bodyFormData=body;}else if(support.searchParams&&URLSearchParams.prototype.isPrototypeOf(body)){this._bodyText=body.toString();}else if(support.arrayBuffer&&support.blob&&isDataView(body)){this._bodyArrayBuffer=bufferClone(body.buffer);// IE 10-11 can't handle a DataView body.
- this._bodyInit=new Blob([this._bodyArrayBuffer]);}else if(support.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(body)||isArrayBufferView(body))){this._bodyArrayBuffer=bufferClone(body);}else{this._bodyText=body=Object.prototype.toString.call(body);}if(!this.headers.get('content-type')){if(typeof body==='string'){this.headers.set('content-type','text/plain;charset=UTF-8');}else if(this._bodyBlob&&this._bodyBlob.type){this.headers.set('content-type',this._bodyBlob.type);}else if(support.searchParams&&URLSearchParams.prototype.isPrototypeOf(body)){this.headers.set('content-type','application/x-www-form-urlencoded;charset=UTF-8');}}};if(support.blob){this.blob=function(){var rejected=consumed(this);if(rejected){return rejected;}if(this._bodyBlob){return Promise.resolve(this._bodyBlob);}else if(this._bodyArrayBuffer){return Promise.resolve(new Blob([this._bodyArrayBuffer]));}else if(this._bodyFormData){throw new Error('could not read FormData body as blob');}else{return Promise.resolve(new Blob([this._bodyText]));}};this.arrayBuffer=function(){if(this._bodyArrayBuffer){var isConsumed=consumed(this);if(isConsumed){return isConsumed;}if(ArrayBuffer.isView(this._bodyArrayBuffer)){return Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength));}else{return Promise.resolve(this._bodyArrayBuffer);}}else{return this.blob().then(readBlobAsArrayBuffer);}};}this.text=function(){var rejected=consumed(this);if(rejected){return rejected;}if(this._bodyBlob){return readBlobAsText(this._bodyBlob);}else if(this._bodyArrayBuffer){return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));}else if(this._bodyFormData){throw new Error('could not read FormData body as text');}else{return Promise.resolve(this._bodyText);}};if(support.formData){this.formData=function(){return this.text().then(decode);};}this.json=function(){return this.text().then(JSON.parse);};return this;}// HTTP methods whose capitalization should be normalized
- var methods=['DELETE','GET','HEAD','OPTIONS','POST','PUT'];function normalizeMethod(method){var upcased=method.toUpperCase();return methods.indexOf(upcased)>-1?upcased:method;}function Request(input,options){if(!(this instanceof Request)){throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');}options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError('Already read');}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers);}this.method=input.method;this.mode=input.mode;this.signal=input.signal;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true;}}else{this.url=String(input);}this.credentials=options.credentials||this.credentials||'same-origin';if(options.headers||!this.headers){this.headers=new Headers(options.headers);}this.method=normalizeMethod(options.method||this.method||'GET');this.mode=options.mode||this.mode||null;this.signal=options.signal||this.signal;this.referrer=null;if((this.method==='GET'||this.method==='HEAD')&&body){throw new TypeError('Body not allowed for GET or HEAD requests');}this._initBody(body);if(this.method==='GET'||this.method==='HEAD'){if(options.cache==='no-store'||options.cache==='no-cache'){// Search for a '_' parameter in the query string
- var reParamSearch=/([?&])_=[^&]*/;if(reParamSearch.test(this.url)){// If it already exists then set the value with the current time
- this.url=this.url.replace(reParamSearch,'$1_='+new Date().getTime());}else{// Otherwise add a new '_' parameter to the end with the current time
- var reQueryString=/\?/;this.url+=(reQueryString.test(this.url)?'&':'?')+'_='+new Date().getTime();}}}}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit});};function decode(body){var form=new FormData();body.trim().split('&').forEach(function(bytes){if(bytes){var split=bytes.split('=');var name=split.shift().replace(/\+/g,' ');var value=split.join('=').replace(/\+/g,' ');form.append(decodeURIComponent(name),decodeURIComponent(value));}});return form;}function parseHeaders(rawHeaders){var headers=new Headers();// Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space
- // https://tools.ietf.org/html/rfc7230#section-3.2
- var preProcessedHeaders=rawHeaders.replace(/\r?\n[\t ]+/g,' ');// Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill
- // https://github.com/github/fetch/issues/748
- // https://github.com/zloirock/core-js/issues/751
- preProcessedHeaders.split('\r').map(function(header){return header.indexOf('\n')===0?header.substr(1,header.length):header;}).forEach(function(line){var parts=line.split(':');var key=parts.shift().trim();if(key){var value=parts.join(':').trim();headers.append(key,value);}});return headers;}Body.call(Request.prototype);function Response(bodyInit,options){if(!(this instanceof Response)){throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');}if(!options){options={};}this.type='default';this.status=options.status===undefined?200:options.status;this.ok=this.status>=200&&this.status<300;this.statusText=options.statusText===undefined?'':''+options.statusText;this.headers=new Headers(options.headers);this.url=options.url||'';this._initBody(bodyInit);}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url});};Response.error=function(){var response=new Response(null,{status:0,statusText:''});response.type='error';return response;};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError('Invalid status code');}return new Response(null,{status:status,headers:{location:url}});};var DOMException=global$1.DOMException;try{new DOMException();}catch(err){DOMException=function DOMException(message,name){this.message=message;this.name=name;var error=Error(message);this.stack=error.stack;};DOMException.prototype=Object.create(Error.prototype);DOMException.prototype.constructor=DOMException;}function fetch$1(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);if(request.signal&&request.signal.aborted){return reject(new DOMException('Aborted','AbortError'));}var xhr=new XMLHttpRequest();function abortXhr(){xhr.abort();}xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||'')};options.url='responseURL'in xhr?xhr.responseURL:options.headers.get('X-Request-URL');var body='response'in xhr?xhr.response:xhr.responseText;setTimeout(function(){resolve(new Response(body,options));},0);};xhr.onerror=function(){setTimeout(function(){reject(new TypeError('Network request failed'));},0);};xhr.ontimeout=function(){setTimeout(function(){reject(new TypeError('Network request failed'));},0);};xhr.onabort=function(){setTimeout(function(){reject(new DOMException('Aborted','AbortError'));},0);};function fixUrl(url){try{return url===''&&global$1.location.href?global$1.location.href:url;}catch(e){return url;}}xhr.open(request.method,fixUrl(request.url),true);if(request.credentials==='include'){xhr.withCredentials=true;}else if(request.credentials==='omit'){xhr.withCredentials=false;}if('responseType'in xhr){if(support.blob){xhr.responseType='blob';}else if(support.arrayBuffer&&request.headers.get('Content-Type')&&request.headers.get('Content-Type').indexOf('application/octet-stream')!==-1){xhr.responseType='arraybuffer';}}if(init&&_typeof2(init.headers)==='object'&&!(init.headers instanceof Headers)){Object.getOwnPropertyNames(init.headers).forEach(function(name){xhr.setRequestHeader(name,normalizeValue(init.headers[name]));});}else{request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value);});}if(request.signal){request.signal.addEventListener('abort',abortXhr);xhr.onreadystatechange=function(){// DONE (success or failure)
- if(xhr.readyState===4){request.signal.removeEventListener('abort',abortXhr);}};}xhr.send(typeof request._bodyInit==='undefined'?null:request._bodyInit);});}fetch$1.polyfill=true;if(!global$1.fetch){global$1.fetch=fetch$1;global$1.Headers=Headers;global$1.Request=Request;global$1.Response=Response;}// the whatwg-fetch polyfill installs the fetch() function
- // on the global object (window or self)
- //
- // Return that as the export for use in Webpack, Browserify etc.
- self.fetch.bind(self);function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});}keys.push.apply(keys,symbols);}return keys;}function _objectSpread2(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct;}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor();if(Class)_setPrototypeOf(instance,Class.prototype);return instance;};}return _construct.apply(null,arguments);}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1;}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map():undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function");}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper);}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor);}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class);};return _wrapNativeSuper(Class);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _possibleConstructorReturn(self,call){if(call&&(_typeof2(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread();}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr);}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}// 返回一个组合了所有插件的“插件”
- function compose(middlewares){if(!Array.isArray(middlewares))throw new TypeError('Middlewares must be an array!');var middlewaresLen=middlewares.length;for(var i=0;i<middlewaresLen;i++){if(typeof middlewares[i]!=='function'){throw new TypeError('Middleware must be componsed of function');}}return function wrapMiddlewares(params,next){var index=-1;function dispatch(i){if(i<=index){return Promise.reject(new Error('next() should not be called multiple times in one middleware!'));}index=i;var fn=middlewares[i]||next;if(!fn)return Promise.resolve();try{return Promise.resolve(fn(params,function(){return dispatch(i+1);}));}catch(err){return Promise.reject(err);}}return dispatch(0);};}var Onion=/*#__PURE__*/function(){function Onion(defaultMiddlewares){_classCallCheck(this,Onion);if(!Array.isArray(defaultMiddlewares))throw new TypeError('Default middlewares must be an array!');this.defaultMiddlewares=_toConsumableArray(defaultMiddlewares);this.middlewares=[];}_createClass(Onion,[{key:"use",value:// 内置内核中间件长度
- function use(newMiddleware){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{global:false,core:false,defaultInstance:false};var core=false;var global=false;var defaultInstance=false;if(typeof opts==='number'){if(process&&process.env&&"production"==='development'){console.warn('use() options should be object, number property would be deprecated in future,please update use() options to "{ core: true }".');}core=true;global=false;}else if(_typeof(opts)==='object'&&opts){global=opts.global||false;core=opts.core||false;defaultInstance=opts.defaultInstance||false;}// 全局中间件
- if(global){Onion.globalMiddlewares.splice(Onion.globalMiddlewares.length-Onion.defaultGlobalMiddlewaresLength,0,newMiddleware);return;}// 内核中间件
- if(core){Onion.coreMiddlewares.splice(Onion.coreMiddlewares.length-Onion.defaultCoreMiddlewaresLength,0,newMiddleware);return;}// 默认实例中间件,供开发者使用
- if(defaultInstance){this.defaultMiddlewares.push(newMiddleware);return;}// 实例中间件
- this.middlewares.push(newMiddleware);}},{key:"execute",value:function execute(){var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var fn=compose([].concat(_toConsumableArray(this.middlewares),_toConsumableArray(this.defaultMiddlewares),_toConsumableArray(Onion.globalMiddlewares),_toConsumableArray(Onion.coreMiddlewares)));return fn(params);}}]);return Onion;}();Onion.globalMiddlewares=[];Onion.defaultGlobalMiddlewaresLength=0;Onion.coreMiddlewares=[];Onion.defaultCoreMiddlewaresLength=0;var MapCache=/*#__PURE__*/function(){function MapCache(options){_classCallCheck(this,MapCache);this.cache=new Map();this.timer={};this.extendOptions(options);}_createClass(MapCache,[{key:"extendOptions",value:function extendOptions(options){this.maxCache=options.maxCache||0;}},{key:"get",value:function get(key){return this.cache.get(JSON.stringify(key));}},{key:"set",value:function set(key,value){var _this=this;var ttl=arguments.length>2&&arguments[2]!==undefined?arguments[2]:60000;// 如果超过最大缓存数, 删除头部的第一个缓存.
- if(this.maxCache>0&&this.cache.size>=this.maxCache){var deleteKey=_toConsumableArray(this.cache.keys())[0];this.cache.delete(deleteKey);if(this.timer[deleteKey]){clearTimeout(this.timer[deleteKey]);}}var cacheKey=JSON.stringify(key);this.cache.set(cacheKey,value);if(ttl>0){this.timer[cacheKey]=setTimeout(function(){_this.cache.delete(cacheKey);delete _this.timer[cacheKey];},ttl);}}},{key:"delete",value:function _delete(key){var cacheKey=JSON.stringify(key);delete this.timer[cacheKey];return this.cache.delete(cacheKey);}},{key:"clear",value:function clear(){this.timer={};return this.cache.clear();}}]);return MapCache;}();/**
- * 请求异常
- */var RequestError=/*#__PURE__*/function(_Error){_inherits(RequestError,_Error);var _super=_createSuper(RequestError);function RequestError(text,request){var _this2;var type=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'RequestError';_classCallCheck(this,RequestError);_this2=_super.call(this,text);_this2.name='RequestError';_this2.request=request;_this2.type=type;return _this2;}return RequestError;}(/*#__PURE__*/_wrapNativeSuper(Error));/**
- * 响应异常
- */var ResponseError=/*#__PURE__*/function(_Error2){_inherits(ResponseError,_Error2);var _super2=_createSuper(ResponseError);function ResponseError(response,text,data,request){var _this3;var type=arguments.length>4&&arguments[4]!==undefined?arguments[4]:'ResponseError';_classCallCheck(this,ResponseError);_this3=_super2.call(this,text||response.statusText);_this3.name='ResponseError';_this3.data=data;_this3.response=response;_this3.request=request;_this3.type=type;return _this3;}return ResponseError;}(/*#__PURE__*/_wrapNativeSuper(Error));/**
- * http://gitlab.alipay-inc.com/KBSJ/gxt/blob/release_gxt_S8928905_20180531/src/util/request.js#L63
- * 支持gbk
- */function readerGBK(file){return new Promise(function(resolve,reject){var reader=new FileReader();reader.onload=function(){resolve(reader.result);};reader.onerror=reject;reader.readAsText(file,'GBK');// setup GBK decoding
- });}/**
- * 安全的JSON.parse
- */function safeJsonParse(data){var throwErrIfParseFail=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var response=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var request=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;try{return JSON.parse(data);}catch(e){if(throwErrIfParseFail){throw new ResponseError(response,'JSON.parse fail',data,request,'ParseError');}}// eslint-disable-line no-empty
- return data;}function timeout2Throw(msec,timeoutMessage,request){return new Promise(function(_,reject){setTimeout(function(){reject(new RequestError(timeoutMessage||"timeout of ".concat(msec,"ms exceeded"),request,'Timeout'));},msec);});}// If request options contain 'cancelToken', reject request when token has been canceled
- function cancel2Throw(opt){return new Promise(function(_,reject){if(opt.cancelToken){opt.cancelToken.promise.then(function(cancel){reject(cancel);});}});}var toString=Object.prototype.toString;// Check env is browser or node
- function getEnv(){var env;// Only Node.JS has a process variable that is of [[Class]] process
- if(typeof process!=='undefined'&&toString.call(process)==='[object process]'){// For node use HTTP adapter
- env='NODE';}if(typeof XMLHttpRequest!=='undefined'){env='BROWSER';}return env;}function isArray(val){return _typeof(val)==='object'&&Object.prototype.toString.call(val)==='[object Array]';}function isURLSearchParams(val){return typeof URLSearchParams!=='undefined'&&val instanceof URLSearchParams;}function isDate(val){return _typeof(val)==='object'&&Object.prototype.toString.call(val)==='[object Date]';}function isObject(val){return val!==null&&_typeof(val)==='object';}function forEach2ObjArr(target,callback){if(!target)return;if(_typeof(target)!=='object'){target=[target];}if(isArray(target)){for(var i=0;i<target.length;i++){callback.call(null,target[i],i,target);}}else{for(var key in target){if(Object.prototype.hasOwnProperty.call(target,key)){callback.call(null,target[key],key,target);}}}}function getParamObject(val){if(isURLSearchParams(val)){return lib.parse(val.toString(),{strictNullHandling:true});}if(typeof val==='string'){return[val];}return val;}function reqStringify(val){return lib.stringify(val,{arrayFormat:'repeat',strictNullHandling:true});}function mergeRequestOptions(options,options2Merge){return _objectSpread2(_objectSpread2(_objectSpread2({},options),options2Merge),{},{headers:_objectSpread2(_objectSpread2({},options.headers),options2Merge.headers),params:_objectSpread2(_objectSpread2({},getParamObject(options.params)),getParamObject(options2Merge.params)),method:(options2Merge.method||options.method||'get').toLowerCase()});}// 前后缀拦截
- var addfix=function addfix(url){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var prefix=options.prefix,suffix=options.suffix;if(prefix){url="".concat(prefix).concat(url);}if(suffix){url="".concat(url).concat(suffix);}return{url:url,options:options};};var warnedCoreType=false;// 默认缓存判断,开放缓存判断给非 get 请求使用
- function __defaultValidateCache(url,options){var _options$method=options.method,method=_options$method===void 0?'get':_options$method;return method.toLowerCase()==='get';}function fetchMiddleware(ctx,next){if(!ctx)return next();var _ctx$req=ctx.req;_ctx$req=_ctx$req===void 0?{}:_ctx$req;var _ctx$req$options=_ctx$req.options,options=_ctx$req$options===void 0?{}:_ctx$req$options,_ctx$req$url=_ctx$req.url,url=_ctx$req$url===void 0?'':_ctx$req$url,cache=ctx.cache,responseInterceptors=ctx.responseInterceptors;var _options$timeout=options.timeout,timeout=_options$timeout===void 0?0:_options$timeout,timeoutMessage=options.timeoutMessage,_options$__umiRequest=options.__umiRequestCoreType__,__umiRequestCoreType__=_options$__umiRequest===void 0?'normal':_options$__umiRequest,_options$useCache=options.useCache,useCache=_options$useCache===void 0?false:_options$useCache,_options$method2=options.method,method=_options$method2===void 0?'get':_options$method2,params=options.params,ttl=options.ttl,_options$validateCach=options.validateCache,validateCache=_options$validateCach===void 0?__defaultValidateCache:_options$validateCach;if(__umiRequestCoreType__!=='normal'){if(process&&process.env&&"production"==='development'&&warnedCoreType===false){warnedCoreType=true;console.warn('__umiRequestCoreType__ is a internal property that use in umi-request, change its value would affect the behavior of request! It only use when you want to extend or use request core.');}return next();}var adapter=fetch;if(!adapter){throw new Error('Global fetch not exist!');}// 从缓存池检查是否有缓存数据
- var isBrowser=getEnv()==='BROWSER';var needCache=validateCache(url,options)&&useCache&&isBrowser;if(needCache){var responseCache=cache.get({url:url,params:params,method:method});if(responseCache){responseCache=responseCache.clone();responseCache.useCache=true;ctx.res=responseCache;return next();}}var response;// 超时处理、取消请求处理
- if(timeout>0){response=Promise.race([cancel2Throw(options),adapter(url,options),timeout2Throw(timeout,timeoutMessage,ctx.req)]);}else{response=Promise.race([cancel2Throw(options),adapter(url,options)]);}// 兼容老版本 response.interceptor
- responseInterceptors.forEach(function(handler){response=response.then(function(res){// Fix multiple clones not working, issue: https://github.com/github/fetch/issues/504
- var clonedRes=typeof res.clone==='function'?res.clone():res;return handler(clonedRes,options);});});return response.then(function(res){// 是否存入缓存池
- if(needCache){if(res.status===200){var copy=res.clone();copy.useCache=true;cache.set({url:url,params:params,method:method},copy,ttl);}}ctx.res=res;return next();});}function parseResponseMiddleware(ctx,next){var copy;return next().then(function(){if(!ctx)return;var _ctx$res=ctx.res,res=_ctx$res===void 0?{}:_ctx$res,_ctx$req=ctx.req,req=_ctx$req===void 0?{}:_ctx$req;var _ref=req||{},_ref$options=_ref.options;_ref$options=_ref$options===void 0?{}:_ref$options;var _ref$options$response=_ref$options.responseType,responseType=_ref$options$response===void 0?'json':_ref$options$response,_ref$options$charset=_ref$options.charset,charset=_ref$options$charset===void 0?'utf8':_ref$options$charset;_ref$options.getResponse;var _ref$options$throwErr=_ref$options.throwErrIfParseFail,throwErrIfParseFail=_ref$options$throwErr===void 0?false:_ref$options$throwErr,_ref$options$parseRes=_ref$options.parseResponse,parseResponse=_ref$options$parseRes===void 0?true:_ref$options$parseRes;if(!parseResponse){return;}if(!res||!res.clone){return;}// 只在浏览器环境对 response 做克隆, node 环境如果对 response 克隆会有问题:https://github.com/bitinn/node-fetch/issues/553
- copy=getEnv()==='BROWSER'?res.clone():res;copy.useCache=res.useCache||false;// 解析数据
- if(charset==='gbk'){try{return res.blob().then(readerGBK).then(function(d){return safeJsonParse(d,false,copy,req);});}catch(e){throw new ResponseError(copy,e.message,null,req,'ParseError');}}else if(responseType==='json'){return res.text().then(function(d){return safeJsonParse(d,throwErrIfParseFail,copy,req);});}try{// 其他如text, blob, arrayBuffer, formData
- return res[responseType]();}catch(e){throw new ResponseError(copy,'responseType not support',null,req,'ParseError');}}).then(function(body){if(!ctx)return;ctx.res;var _ctx$req2=ctx.req,req=_ctx$req2===void 0?{}:_ctx$req2;var _ref2=req||{},_ref2$options=_ref2.options;_ref2$options=_ref2$options===void 0?{}:_ref2$options;var _ref2$options$getResp=_ref2$options.getResponse,getResponse=_ref2$options$getResp===void 0?false:_ref2$options$getResp;if(!copy){return;}if(copy.status>=200&©.status<300){// 提供源response, 以便自定义处理
- if(getResponse){ctx.res={data:body,response:copy};return;}ctx.res=body;return;}throw new ResponseError(copy,'http error',body,req,'HttpError');}).catch(function(e){if(e instanceof RequestError||e instanceof ResponseError){throw e;}// 对未知错误进行处理
- var req=ctx.req,res=ctx.res;e.request=e.request||req;e.response=e.response||res;e.type=e.type||e.name;e.data=e.data||undefined;throw e;});}function simplePostMiddleware(ctx,next){if(!ctx)return next();var _ctx$req=ctx.req;_ctx$req=_ctx$req===void 0?{}:_ctx$req;var _ctx$req$options=_ctx$req.options,options=_ctx$req$options===void 0?{}:_ctx$req$options;var _options$method=options.method,method=_options$method===void 0?'get':_options$method;if(['post','put','patch','delete'].indexOf(method.toLowerCase())===-1){return next();}var _options$requestType=options.requestType,requestType=_options$requestType===void 0?'json':_options$requestType,data=options.data;// 数据使用类axios的新字段data, 避免引用后影响旧代码, 如将body stringify多次
- if(data){var dataType=Object.prototype.toString.call(data);if(dataType==='[object Object]'||dataType==='[object Array]'){if(requestType==='json'){options.headers=_objectSpread2({Accept:'application/json','Content-Type':'application/json;charset=UTF-8'},options.headers);options.body=JSON.stringify(data);}else if(requestType==='form'){options.headers=_objectSpread2({Accept:'application/json','Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'},options.headers);options.body=reqStringify(data);}}else{// 其他 requestType 自定义header
- options.headers=_objectSpread2({Accept:'application/json'},options.headers);options.body=data;}}ctx.req.options=options;return next();}function paramsSerialize(params,paramsSerializer){var serializedParams;var jsonStringifiedParams;// 支持参数自动拼装,其他 method 也可用,不冲突
- if(params){if(paramsSerializer){serializedParams=paramsSerializer(params);}else if(isURLSearchParams(params)){serializedParams=params.toString();}else{if(isArray(params)){jsonStringifiedParams=[];forEach2ObjArr(params,function(item){if(item===null||typeof item==='undefined'){jsonStringifiedParams.push(item);}else{jsonStringifiedParams.push(isObject(item)?JSON.stringify(item):item);}});// a: [1,2,3] => a=1&a=2&a=3
- serializedParams=reqStringify(jsonStringifiedParams);}else{jsonStringifiedParams={};forEach2ObjArr(params,function(value,key){var jsonStringifiedValue=value;if(value===null||typeof value==='undefined'){jsonStringifiedParams[key]=value;}else if(isDate(value)){jsonStringifiedValue=value.toISOString();}else if(isArray(value)){jsonStringifiedValue=value;}else if(isObject(value)){jsonStringifiedValue=JSON.stringify(value);}jsonStringifiedParams[key]=jsonStringifiedValue;});var tmp=reqStringify(jsonStringifiedParams);serializedParams=tmp;}}}return serializedParams;}// 对请求参数做处理,实现 query 简化、 post 简化
- function simpleGetMiddleware(ctx,next){if(!ctx)return next();var _ctx$req=ctx.req;_ctx$req=_ctx$req===void 0?{}:_ctx$req;var _ctx$req$options=_ctx$req.options,options=_ctx$req$options===void 0?{}:_ctx$req$options;var paramsSerializer=options.paramsSerializer,params=options.params;var _ctx$req2=ctx.req;_ctx$req2=_ctx$req2===void 0?{}:_ctx$req2;var _ctx$req2$url=_ctx$req2.url,url=_ctx$req2$url===void 0?'':_ctx$req2$url;// 将 method 改为大写
- options.method=options.method?options.method.toUpperCase():'GET';// 设置 credentials 默认值为 same-origin,确保当开发者没有设置时,各浏览器对请求是否发送 cookies 保持一致的行为
- // - omit: 从不发送cookies.
- // - same-origin: 只有当URL与响应脚本同源才发送 cookies、 HTTP Basic authentication 等验证信息.(浏览器默认值,在旧版本浏览器,例如safari 11依旧是omit,safari 12已更改)
- // - include: 不论是不是跨域的请求,总是发送请求资源域在本地的 cookies、 HTTP Basic authentication 等验证信息.
- options.credentials=options.credentials||'same-origin';// 支持类似axios 参数自动拼装, 其他method也可用, 不冲突.
- var serializedParams=paramsSerialize(params,paramsSerializer);ctx.req.originUrl=url;if(serializedParams){var urlSign=url.indexOf('?')!==-1?'&':'?';ctx.req.url="".concat(url).concat(urlSign).concat(serializedParams);}ctx.req.options=options;return next();}var globalMiddlewares=[simplePostMiddleware,simpleGetMiddleware,parseResponseMiddleware];var coreMiddlewares=[fetchMiddleware];Onion.globalMiddlewares=globalMiddlewares;Onion.defaultGlobalMiddlewaresLength=globalMiddlewares.length;Onion.coreMiddlewares=coreMiddlewares;Onion.defaultCoreMiddlewaresLength=coreMiddlewares.length;var Core=/*#__PURE__*/function(){function Core(initOptions){_classCallCheck(this,Core);this.onion=new Onion([]);this.fetchIndex=0;// 【即将废弃】请求中间件位置
- this.mapCache=new MapCache(initOptions);this.initOptions=initOptions;this.instanceRequestInterceptors=[];this.instanceResponseInterceptors=[];}// 旧版拦截器为共享
- _createClass(Core,[{key:"use",value:function use(newMiddleware){var opt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{global:false,core:false};this.onion.use(newMiddleware,opt);return this;}},{key:"extendOptions",value:function extendOptions(options){this.initOptions=mergeRequestOptions(this.initOptions,options);this.mapCache.extendOptions(options);}// 执行请求前拦截器
- },{key:"dealRequestInterceptors",value:function dealRequestInterceptors(ctx){var reducer=function reducer(p1,p2){return p1.then(function(){var ret=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};ctx.req.url=ret.url||ctx.req.url;ctx.req.options=ret.options||ctx.req.options;return p2(ctx.req.url,ctx.req.options);});};var allInterceptors=[].concat(_toConsumableArray(Core.requestInterceptors),_toConsumableArray(this.instanceRequestInterceptors));return allInterceptors.reduce(reducer,Promise.resolve()).then(function(){var ret=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};ctx.req.url=ret.url||ctx.req.url;ctx.req.options=ret.options||ctx.req.options;return Promise.resolve();});}},{key:"request",value:function request(url,options){var _this=this;var onion=this.onion;var obj={req:{url:url,options:_objectSpread2(_objectSpread2({},options),{},{url:url})},res:null,cache:this.mapCache,responseInterceptors:[].concat(_toConsumableArray(Core.responseInterceptors),_toConsumableArray(this.instanceResponseInterceptors))};if(typeof url!=='string'){throw new Error('url MUST be a string');}return new Promise(function(resolve,reject){_this.dealRequestInterceptors(obj).then(function(){return onion.execute(obj);}).then(function(){resolve(obj.res);}).catch(function(error){var errorHandler=obj.req.options.errorHandler;if(errorHandler){try{var data=errorHandler(error);resolve(data);}catch(e){reject(e);}}else{reject(error);}});});}}],[{key:"requestUse",value:// 请求拦截器 默认 { global: true } 兼容旧版本拦截器
- function requestUse(handler){var opt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{global:true};if(typeof handler!=='function')throw new TypeError('Interceptor must be function!');if(opt.global){Core.requestInterceptors.push(handler);}else{this.instanceRequestInterceptors.push(handler);}}// 响应拦截器 默认 { global: true } 兼容旧版本拦截器
- },{key:"responseUse",value:function responseUse(handler){var opt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{global:true};if(typeof handler!=='function')throw new TypeError('Interceptor must be function!');if(opt.global){Core.responseInterceptors.push(handler);}else{this.instanceResponseInterceptors.push(handler);}}}]);return Core;}();Core.requestInterceptors=[addfix];Core.responseInterceptors=[];/**
- * 当执行 “取消请求” 操作时会抛出 Cancel 对象作为一场
- * @class
- * @param {string=} message The message.
- */function Cancel(message){this.message=message;}Cancel.prototype.toString=function toString(){return this.message?"Cancel: ".concat(this.message):'Cancel';};Cancel.prototype.__CANCEL__=true;/**
- * 通过 CancelToken 来取消请求操作
- *
- * @class
- * @param {Function} executor The executor function.
- */function CancelToken(executor){if(typeof executor!=='function'){throw new TypeError('executor must be a function.');}var resolvePromise;this.promise=new Promise(function promiseExecutor(resolve){resolvePromise=resolve;});var token=this;executor(function cancel(message){if(token.reason){// 取消操作已被调用过
- return;}token.reason=new Cancel(message);resolvePromise(token.reason);});}/**
- * 如果请求已经取消,抛出 Cancel 异常
- */CancelToken.prototype.throwIfRequested=function throwIfRequested(){if(this.reason){throw this.reason;}};/**
- * 通过 source 来返回 CancelToken 实例和取消 CancelToken 的函数
- */CancelToken.source=function source(){var cancel;var token=new CancelToken(function executor(c){cancel=c;});return{token:token,cancel:cancel};};function isCancel(value){return!!(value&&value.__CANCEL__);}var request=function request(){var initOptions=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var coreInstance=new Core(initOptions);var umiInstance=function umiInstance(url){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var mergeOptions=mergeRequestOptions(coreInstance.initOptions,options);return coreInstance.request(url,mergeOptions);};// 中间件
- umiInstance.use=coreInstance.use.bind(coreInstance);umiInstance.fetchIndex=coreInstance.fetchIndex;// 拦截器
- umiInstance.interceptors={request:{use:Core.requestUse.bind(coreInstance)},response:{use:Core.responseUse.bind(coreInstance)}};// 请求语法糖: reguest.get request.post ……
- var METHODS=['get','post','delete','put','patch','head','options','rpc'];METHODS.forEach(function(method){umiInstance[method]=function(url,options){return umiInstance(url,_objectSpread2(_objectSpread2({},options),{},{method:method}));};});umiInstance.Cancel=Cancel;umiInstance.CancelToken=CancelToken;umiInstance.isCancel=isCancel;umiInstance.extendOptions=coreInstance.extendOptions.bind(coreInstance);// 暴露各个实例的中间件,供开发者自由组合
- umiInstance.middlewares={instance:coreInstance.onion.middlewares,defaultInstance:coreInstance.onion.defaultMiddlewares,global:Onion.globalMiddlewares,core:Onion.coreMiddlewares};return umiInstance;};/**
- * extend 方法参考了ky, 让用户可以定制配置.
- * initOpions 初始化参数
- * @param {number} maxCache 最大缓存数
- * @param {string} prefix url前缀
- * @param {function} errorHandler 统一错误处理方法
- * @param {object} headers 统一的headers
- */var extend=exports('j',function extend(initOptions){return request(initOptions);});/**
- * 暴露 fetch 中间件,保障依旧可以使用
- */request({parseResponse:false});request({});var lodash_isempty={exports:{}};/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */(function(module,exports){/** Used as references for various `Number` constants. */var MAX_SAFE_INTEGER=9007199254740991;/** `Object#toString` result references. */var argsTag='[object Arguments]',funcTag='[object Function]',genTag='[object GeneratorFunction]',mapTag='[object Map]',objectTag='[object Object]',promiseTag='[object Promise]',setTag='[object Set]',weakMapTag='[object WeakMap]';var dataViewTag='[object DataView]';/**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;/** Used to detect host constructors (Safari). */var reIsHostCtor=/^\[object .+?Constructor\]$/;/** Detect free variable `global` from Node.js. */var freeGlobal=_typeof2(commonjsGlobal)=='object'&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal;/** Detect free variable `self`. */var freeSelf=(typeof self==="undefined"?"undefined":_typeof2(self))=='object'&&self&&self.Object===Object&&self;/** Used as a reference to the global object. */var root=freeGlobal||freeSelf||Function('return this')();/** Detect free variable `exports`. */var freeExports=exports&&!exports.nodeType&&exports;/** Detect free variable `module`. */var freeModule=freeExports&&'object'=='object'&&module&&!module.nodeType&&module;/** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports;/**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */function getValue(object,key){return object==null?undefined:object[key];}/**
- * Checks if `value` is a host object in IE < 9.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
- */function isHostObject(value){// Many host objects are `Object` objects that can coerce to strings
- // despite having improperly defined `toString` methods.
- var result=false;if(value!=null&&typeof value.toString!='function'){try{result=!!(value+'');}catch(e){}}return result;}/**
- * Creates a unary function that invokes `func` with its argument transformed.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {Function} transform The argument transform.
- * @returns {Function} Returns the new function.
- */function overArg(func,transform){return function(arg){return func(transform(arg));};}/** Used for built-in method references. */var funcProto=Function.prototype,objectProto=Object.prototype;/** Used to detect overreaching core-js shims. */var coreJsData=root['__core-js_shared__'];/** Used to detect methods masquerading as native. */var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||'');return uid?'Symbol(src)_1.'+uid:'';}();/** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */var objectToString=objectProto.toString;/** Used to detect if a method is native. */var reIsNative=RegExp('^'+funcToString.call(hasOwnProperty).replace(reRegExpChar,'\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,'$1.*?')+'$');/** Built-in value references. */var Buffer=moduleExports?root.Buffer:undefined,propertyIsEnumerable=objectProto.propertyIsEnumerable;/* Built-in method references for those with the same name as other `lodash` methods. */var nativeIsBuffer=Buffer?Buffer.isBuffer:undefined,nativeKeys=overArg(Object.keys,Object);/* Built-in method references that are verified to be native. */var DataView=getNative(root,'DataView'),Map=getNative(root,'Map'),Promise=getNative(root,'Promise'),Set=getNative(root,'Set'),WeakMap=getNative(root,'WeakMap');/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */var nonEnumShadows=!propertyIsEnumerable.call({'valueOf':1},'valueOf');/** Used to detect maps, sets, and weakmaps. */var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);/**
- * The base implementation of `getTag`.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */function baseGetTag(value){return objectToString.call(value);}/**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false;}var pattern=isFunction(value)||isHostObject(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value));}/**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined;}/**
- * Gets the `toStringTag` of `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */var getTag=baseGetTag;// Fallback for data views, maps, sets, and weak maps in IE 11,
- // for data views in Edge < 14, and promises in Node.js.
- if(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map())!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set())!=setTag||WeakMap&&getTag(new WeakMap())!=weakMapTag){getTag=function getTag(value){var result=objectToString.call(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):undefined;if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag;}}return result;};}/**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}/**
- * Checks if `value` is likely a prototype object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
- */function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=='function'&&Ctor.prototype||objectProto;return value===proto;}/**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to process.
- * @returns {string} Returns the source code.
- */function toSource(func){if(func!=null){try{return funcToString.call(func);}catch(e){}try{return func+'';}catch(e){}}return'';}/**
- * Checks if `value` is likely an `arguments` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- * else `false`.
- * @example
- *
- * _.isArguments(function() { return arguments; }());
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */function isArguments(value){// Safari 8.1 makes `arguments.callee` enumerable in strict mode.
- return isArrayLikeObject(value)&&hasOwnProperty.call(value,'callee')&&(!propertyIsEnumerable.call(value,'callee')||objectToString.call(value)==argsTag);}/**
- * Checks if `value` is classified as an `Array` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
- * @example
- *
- * _.isArray([1, 2, 3]);
- * // => true
- *
- * _.isArray(document.body.children);
- * // => false
- *
- * _.isArray('abc');
- * // => false
- *
- * _.isArray(_.noop);
- * // => false
- */var isArray=Array.isArray;/**
- * Checks if `value` is array-like. A value is considered array-like if it's
- * not a function and has a `value.length` that's an integer greater than or
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
- * @example
- *
- * _.isArrayLike([1, 2, 3]);
- * // => true
- *
- * _.isArrayLike(document.body.children);
- * // => true
- *
- * _.isArrayLike('abc');
- * // => true
- *
- * _.isArrayLike(_.noop);
- * // => false
- */function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value);}/**
- * This method is like `_.isArrayLike` except that it also checks if `value`
- * is an object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array-like object,
- * else `false`.
- * @example
- *
- * _.isArrayLikeObject([1, 2, 3]);
- * // => true
- *
- * _.isArrayLikeObject(document.body.children);
- * // => true
- *
- * _.isArrayLikeObject('abc');
- * // => false
- *
- * _.isArrayLikeObject(_.noop);
- * // => false
- */function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value);}/**
- * Checks if `value` is a buffer.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
- * @example
- *
- * _.isBuffer(new Buffer(2));
- * // => true
- *
- * _.isBuffer(new Uint8Array(2));
- * // => false
- */var isBuffer=nativeIsBuffer||stubFalse;/**
- * Checks if `value` is an empty object, collection, map, or set.
- *
- * Objects are considered empty if they have no own enumerable string keyed
- * properties.
- *
- * Array-like values such as `arguments` objects, arrays, buffers, strings, or
- * jQuery-like collections are considered empty if they have a `length` of `0`.
- * Similarly, maps and sets are considered empty if they have a `size` of `0`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is empty, else `false`.
- * @example
- *
- * _.isEmpty(null);
- * // => true
- *
- * _.isEmpty(true);
- * // => true
- *
- * _.isEmpty(1);
- * // => true
- *
- * _.isEmpty([1, 2, 3]);
- * // => false
- *
- * _.isEmpty({ 'a': 1 });
- * // => false
- */function isEmpty(value){if(isArrayLike(value)&&(isArray(value)||typeof value=='string'||typeof value.splice=='function'||isBuffer(value)||isArguments(value))){return!value.length;}var tag=getTag(value);if(tag==mapTag||tag==setTag){return!value.size;}if(nonEnumShadows||isPrototype(value)){return!nativeKeys(value).length;}for(var key in value){if(hasOwnProperty.call(value,key)){return false;}}return true;}/**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */function isFunction(value){// The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8-9 which returns 'object' for typed array and other constructors.
- var tag=isObject(value)?objectToString.call(value):'';return tag==funcTag||tag==genTag;}/**
- * Checks if `value` is a valid array-like length.
- *
- * **Note:** This method is loosely based on
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
- * @example
- *
- * _.isLength(3);
- * // => true
- *
- * _.isLength(Number.MIN_VALUE);
- * // => false
- *
- * _.isLength(Infinity);
- * // => false
- *
- * _.isLength('3');
- * // => false
- */function isLength(value){return typeof value=='number'&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER;}/**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */function isObject(value){var type=_typeof2(value);return!!value&&(type=='object'||type=='function');}/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */function isObjectLike(value){return!!value&&_typeof2(value)=='object';}/**
- * This method returns `false`.
- *
- * @static
- * @memberOf _
- * @since 4.13.0
- * @category Util
- * @returns {boolean} Returns `false`.
- * @example
- *
- * _.times(2, _.stubFalse);
- * // => [false, false]
- */function stubFalse(){return false;}module.exports=isEmpty;})(lodash_isempty,lodash_isempty.exports);/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */ /** `Object#toString` result references. */var objectTag='[object Object]';/**
- * Checks if `value` is a host object in IE < 9.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
- */function isHostObject(value){// Many host objects are `Object` objects that can coerce to strings
- // despite having improperly defined `toString` methods.
- var result=false;if(value!=null&&typeof value.toString!='function'){try{result=!!(value+'');}catch(e){}}return result;}/**
- * Creates a unary function that invokes `func` with its argument transformed.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {Function} transform The argument transform.
- * @returns {Function} Returns the new function.
- */function overArg(func,transform){return function(arg){return func(transform(arg));};}/** Used for built-in method references. */var funcProto=Function.prototype,objectProto=Object.prototype;/** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/** Used to infer the `Object` constructor. */var objectCtorString=funcToString.call(Object);/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */var objectToString=objectProto.toString;/** Built-in value references. */var getPrototype=overArg(Object.getPrototypeOf,Object);/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */function isObjectLike(value){return!!value&&_typeof2(value)=='object';}/**
- * Checks if `value` is a plain object, that is, an object created by the
- * `Object` constructor or one with a `[[Prototype]]` of `null`.
- *
- * @static
- * @memberOf _
- * @since 0.8.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * }
- *
- * _.isPlainObject(new Foo);
- * // => false
- *
- * _.isPlainObject([1, 2, 3]);
- * // => false
- *
- * _.isPlainObject({ 'x': 0, 'y': 0 });
- * // => true
- *
- * _.isPlainObject(Object.create(null));
- * // => true
- */function isPlainObject$1(value){if(!isObjectLike(value)||objectToString.call(value)!=objectTag||isHostObject(value)){return false;}var proto=getPrototype(value);if(proto===null){return true;}var Ctor=hasOwnProperty.call(proto,'constructor')&&proto.constructor;return typeof Ctor=='function'&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString;}var lodash_isplainobject=isPlainObject$1;var lodash_transform={exports:{}};/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */(function(module,exports){/** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE=200;/** Used as the `TypeError` message for "Functions" methods. */var FUNC_ERROR_TEXT='Expected a function';/** Used to stand-in for `undefined` hash values. */var HASH_UNDEFINED='__lodash_hash_undefined__';/** Used to compose bitmasks for comparison styles. */var UNORDERED_COMPARE_FLAG=1,PARTIAL_COMPARE_FLAG=2;/** Used as references for various `Number` constants. */var INFINITY=1/0,MAX_SAFE_INTEGER=9007199254740991;/** `Object#toString` result references. */var argsTag='[object Arguments]',arrayTag='[object Array]',boolTag='[object Boolean]',dateTag='[object Date]',errorTag='[object Error]',funcTag='[object Function]',genTag='[object GeneratorFunction]',mapTag='[object Map]',numberTag='[object Number]',objectTag='[object Object]',promiseTag='[object Promise]',regexpTag='[object RegExp]',setTag='[object Set]',stringTag='[object String]',symbolTag='[object Symbol]',weakMapTag='[object WeakMap]';var arrayBufferTag='[object ArrayBuffer]',dataViewTag='[object DataView]',float32Tag='[object Float32Array]',float64Tag='[object Float64Array]',int8Tag='[object Int8Array]',int16Tag='[object Int16Array]',int32Tag='[object Int32Array]',uint8Tag='[object Uint8Array]',uint8ClampedTag='[object Uint8ClampedArray]',uint16Tag='[object Uint16Array]',uint32Tag='[object Uint32Array]';/** Used to match property names within property paths. */var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,reLeadingDot=/^\./,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;/**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;/** Used to match backslashes in property paths. */var reEscapeChar=/\\(\\)?/g;/** Used to detect host constructors (Safari). */var reIsHostCtor=/^\[object .+?Constructor\]$/;/** Used to detect unsigned integer values. */var reIsUint=/^(?:0|[1-9]\d*)$/;/** Used to identify `toStringTag` values of typed arrays. */var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;/** Detect free variable `global` from Node.js. */var freeGlobal=_typeof2(commonjsGlobal)=='object'&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal;/** Detect free variable `self`. */var freeSelf=(typeof self==="undefined"?"undefined":_typeof2(self))=='object'&&self&&self.Object===Object&&self;/** Used as a reference to the global object. */var root=freeGlobal||freeSelf||Function('return this')();/** Detect free variable `exports`. */var freeExports=exports&&!exports.nodeType&&exports;/** Detect free variable `module`. */var freeModule=freeExports&&'object'=='object'&&module&&!module.nodeType&&module;/** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports;/** Detect free variable `process` from Node.js. */var freeProcess=moduleExports&&freeGlobal.process;/** Used to access faster Node.js helpers. */var nodeUtil=function(){try{return freeProcess&&freeProcess.binding('util');}catch(e){}}();/* Node.js helper references. */var nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;/**
- * A specialized version of `_.forEach` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns `array`.
- */function arrayEach(array,iteratee){var index=-1,length=array?array.length:0;while(++index<length){if(iteratee(array[index],index,array)===false){break;}}return array;}/**
- * A specialized version of `_.some` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- */function arraySome(array,predicate){var index=-1,length=array?array.length:0;while(++index<length){if(predicate(array[index],index,array)){return true;}}return false;}/**
- * The base implementation of `_.property` without support for deep paths.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @returns {Function} Returns the new accessor function.
- */function baseProperty(key){return function(object){return object==null?undefined:object[key];};}/**
- * The base implementation of `_.times` without support for iteratee shorthands
- * or max array length checks.
- *
- * @private
- * @param {number} n The number of times to invoke `iteratee`.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the array of results.
- */function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++index<n){result[index]=iteratee(index);}return result;}/**
- * The base implementation of `_.unary` without support for storing metadata.
- *
- * @private
- * @param {Function} func The function to cap arguments for.
- * @returns {Function} Returns the new capped function.
- */function baseUnary(func){return function(value){return func(value);};}/**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */function getValue(object,key){return object==null?undefined:object[key];}/**
- * Checks if `value` is a host object in IE < 9.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
- */function isHostObject(value){// Many host objects are `Object` objects that can coerce to strings
- // despite having improperly defined `toString` methods.
- var result=false;if(value!=null&&typeof value.toString!='function'){try{result=!!(value+'');}catch(e){}}return result;}/**
- * Converts `map` to its key-value pairs.
- *
- * @private
- * @param {Object} map The map to convert.
- * @returns {Array} Returns the key-value pairs.
- */function mapToArray(map){var index=-1,result=Array(map.size);map.forEach(function(value,key){result[++index]=[key,value];});return result;}/**
- * Creates a unary function that invokes `func` with its argument transformed.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {Function} transform The argument transform.
- * @returns {Function} Returns the new function.
- */function overArg(func,transform){return function(arg){return func(transform(arg));};}/**
- * Converts `set` to an array of its values.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the values.
- */function setToArray(set){var index=-1,result=Array(set.size);set.forEach(function(value){result[++index]=value;});return result;}/** Used for built-in method references. */var arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype;/** Used to detect overreaching core-js shims. */var coreJsData=root['__core-js_shared__'];/** Used to detect methods masquerading as native. */var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||'');return uid?'Symbol(src)_1.'+uid:'';}();/** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */var objectToString=objectProto.toString;/** Used to detect if a method is native. */var reIsNative=RegExp('^'+funcToString.call(hasOwnProperty).replace(reRegExpChar,'\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,'$1.*?')+'$');/** Built-in value references. */var _Symbol=root.Symbol,Uint8Array=root.Uint8Array,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice;/* Built-in method references for those with the same name as other `lodash` methods. */var nativeKeys=overArg(Object.keys,Object);/* Built-in method references that are verified to be native. */var DataView=getNative(root,'DataView'),Map=getNative(root,'Map'),Promise=getNative(root,'Promise'),Set=getNative(root,'Set'),WeakMap=getNative(root,'WeakMap'),nativeCreate=getNative(Object,'create');/** Used to detect maps, sets, and weakmaps. */var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);/** Used to convert symbols to primitives and strings. */var symbolProto=_Symbol?_Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined,symbolToString=symbolProto?symbolProto.toString:undefined;/**
- * Creates a hash object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */function Hash(entries){var index=-1,length=entries?entries.length:0;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1]);}}/**
- * Removes all key-value entries from the hash.
- *
- * @private
- * @name clear
- * @memberOf Hash
- */function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};}/**
- * Removes `key` and its value from the hash.
- *
- * @private
- * @name delete
- * @memberOf Hash
- * @param {Object} hash The hash to modify.
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */function hashDelete(key){return this.has(key)&&delete this.__data__[key];}/**
- * Gets the hash value for `key`.
- *
- * @private
- * @name get
- * @memberOf Hash
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result;}return hasOwnProperty.call(data,key)?data[key]:undefined;}/**
- * Checks if a hash value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Hash
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key);}/**
- * Sets the hash `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Hash
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the hash instance.
- */function hashSet(key,value){var data=this.__data__;data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value;return this;}// Add methods to `Hash`.
- Hash.prototype.clear=hashClear;Hash.prototype['delete']=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;/**
- * Creates an list cache object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */function ListCache(entries){var index=-1,length=entries?entries.length:0;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1]);}}/**
- * Removes all key-value entries from the list cache.
- *
- * @private
- * @name clear
- * @memberOf ListCache
- */function listCacheClear(){this.__data__=[];}/**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){return false;}var lastIndex=data.length-1;if(index==lastIndex){data.pop();}else{splice.call(data,index,1);}return true;}/**
- * Gets the list cache value for `key`.
- *
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1];}/**
- * Checks if a list cache value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1;}/**
- * Sets the list cache `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
- */function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){data.push([key,value]);}else{data[index][1]=value;}return this;}// Add methods to `ListCache`.
- ListCache.prototype.clear=listCacheClear;ListCache.prototype['delete']=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;/**
- * Creates a map cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */function MapCache(entries){var index=-1,length=entries?entries.length:0;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1]);}}/**
- * Removes all key-value entries from the map.
- *
- * @private
- * @name clear
- * @memberOf MapCache
- */function mapCacheClear(){this.__data__={'hash':new Hash(),'map':new(Map||ListCache)(),'string':new Hash()};}/**
- * Removes `key` and its value from the map.
- *
- * @private
- * @name delete
- * @memberOf MapCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */function mapCacheDelete(key){return getMapData(this,key)['delete'](key);}/**
- * Gets the map value for `key`.
- *
- * @private
- * @name get
- * @memberOf MapCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */function mapCacheGet(key){return getMapData(this,key).get(key);}/**
- * Checks if a map value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf MapCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */function mapCacheHas(key){return getMapData(this,key).has(key);}/**
- * Sets the map `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf MapCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the map cache instance.
- */function mapCacheSet(key,value){getMapData(this,key).set(key,value);return this;}// Add methods to `MapCache`.
- MapCache.prototype.clear=mapCacheClear;MapCache.prototype['delete']=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;/**
- *
- * Creates an array cache object to store unique values.
- *
- * @private
- * @constructor
- * @param {Array} [values] The values to cache.
- */function SetCache(values){var index=-1,length=values?values.length:0;this.__data__=new MapCache();while(++index<length){this.add(values[index]);}}/**
- * Adds `value` to the array cache.
- *
- * @private
- * @name add
- * @memberOf SetCache
- * @alias push
- * @param {*} value The value to cache.
- * @returns {Object} Returns the cache instance.
- */function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);return this;}/**
- * Checks if `value` is in the array cache.
- *
- * @private
- * @name has
- * @memberOf SetCache
- * @param {*} value The value to search for.
- * @returns {number} Returns `true` if `value` is found, else `false`.
- */function setCacheHas(value){return this.__data__.has(value);}// Add methods to `SetCache`.
- SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;/**
- * Creates a stack cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */function Stack(entries){this.__data__=new ListCache(entries);}/**
- * Removes all key-value entries from the stack.
- *
- * @private
- * @name clear
- * @memberOf Stack
- */function stackClear(){this.__data__=new ListCache();}/**
- * Removes `key` and its value from the stack.
- *
- * @private
- * @name delete
- * @memberOf Stack
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */function stackDelete(key){return this.__data__['delete'](key);}/**
- * Gets the stack value for `key`.
- *
- * @private
- * @name get
- * @memberOf Stack
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */function stackGet(key){return this.__data__.get(key);}/**
- * Checks if a stack value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Stack
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */function stackHas(key){return this.__data__.has(key);}/**
- * Sets the stack `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Stack
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the stack cache instance.
- */function stackSet(key,value){var cache=this.__data__;if(cache instanceof ListCache){var pairs=cache.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1){pairs.push([key,value]);return this;}cache=this.__data__=new MapCache(pairs);}cache.set(key,value);return this;}// Add methods to `Stack`.
- Stack.prototype.clear=stackClear;Stack.prototype['delete']=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;/**
- * Creates an array of the enumerable property names of the array-like `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @param {boolean} inherited Specify returning inherited property names.
- * @returns {Array} Returns the array of property names.
- */function arrayLikeKeys(value,inherited){// Safari 8.1 makes `arguments.callee` enumerable in strict mode.
- // Safari 9 makes `arguments.length` enumerable in strict mode.
- var result=isArray(value)||isArguments(value)?baseTimes(value.length,String):[];var length=result.length,skipIndexes=!!length;for(var key in value){if((inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(key=='length'||isIndex(key,length)))){result.push(key);}}return result;}/**
- * Gets the index at which the `key` is found in `array` of key-value pairs.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} key The key to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */function assocIndexOf(array,key){var length=array.length;while(length--){if(eq(array[length][0],key)){return length;}}return-1;}/**
- * The base implementation of `_.create` without support for assigning
- * properties to the created object.
- *
- * @private
- * @param {Object} prototype The object to inherit from.
- * @returns {Object} Returns the new object.
- */function baseCreate(proto){return isObject(proto)?objectCreate(proto):{};}/**
- * The base implementation of `baseForOwn` which iterates over `object`
- * properties returned by `keysFunc` and invokes `iteratee` for each property.
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @returns {Object} Returns `object`.
- */var baseFor=createBaseFor();/**
- * The base implementation of `_.forOwn` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Object} Returns `object`.
- */function baseForOwn(object,iteratee){return object&&baseFor(object,iteratee,keys);}/**
- * The base implementation of `_.get` without support for default values.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @returns {*} Returns the resolved value.
- */function baseGet(object,path){path=isKey(path,object)?[path]:castPath(path);var index=0,length=path.length;while(object!=null&&index<length){object=object[toKey(path[index++])];}return index&&index==length?object:undefined;}/**
- * The base implementation of `getTag`.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */function baseGetTag(value){return objectToString.call(value);}/**
- * The base implementation of `_.hasIn` without support for deep paths.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {Array|string} key The key to check.
- * @returns {boolean} Returns `true` if `key` exists, else `false`.
- */function baseHasIn(object,key){return object!=null&&key in Object(object);}/**
- * The base implementation of `_.isEqual` which supports partial comparisons
- * and tracks traversed objects.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {boolean} [bitmask] The bitmask of comparison flags.
- * The bitmask may be composed of the following flags:
- * 1 - Unordered comparison
- * 2 - Partial comparison
- * @param {Object} [stack] Tracks traversed `value` and `other` objects.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- */function baseIsEqual(value,other,customizer,bitmask,stack){if(value===other){return true;}if(value==null||other==null||!isObject(value)&&!isObjectLike(other)){return value!==value&&other!==other;}return baseIsEqualDeep(value,other,baseIsEqual,customizer,bitmask,stack);}/**
- * A specialized version of `baseIsEqual` for arrays and objects which performs
- * deep comparisons and tracks traversed objects enabling objects with circular
- * references to be compared.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
- * @param {Object} [stack] Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */function baseIsEqualDeep(object,other,equalFunc,customizer,bitmask,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;if(!objIsArr){objTag=getTag(object);objTag=objTag==argsTag?objectTag:objTag;}if(!othIsArr){othTag=getTag(other);othTag=othTag==argsTag?objectTag:othTag;}var objIsObj=objTag==objectTag&&!isHostObject(object),othIsObj=othTag==objectTag&&!isHostObject(other),isSameTag=objTag==othTag;if(isSameTag&&!objIsObj){stack||(stack=new Stack());return objIsArr||isTypedArray(object)?equalArrays(object,other,equalFunc,customizer,bitmask,stack):equalByTag(object,other,objTag,equalFunc,customizer,bitmask,stack);}if(!(bitmask&PARTIAL_COMPARE_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,'__wrapped__'),othIsWrapped=othIsObj&&hasOwnProperty.call(other,'__wrapped__');if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack());return equalFunc(objUnwrapped,othUnwrapped,customizer,bitmask,stack);}}if(!isSameTag){return false;}stack||(stack=new Stack());return equalObjects(object,other,equalFunc,customizer,bitmask,stack);}/**
- * The base implementation of `_.isMatch` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @param {Array} matchData The property names, values, and compare flags to match.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- */function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length;}object=Object(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false;}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object)){return false;}}else{var stack=new Stack();if(customizer){var result=customizer(objValue,srcValue,key,object,source,stack);}if(!(result===undefined?baseIsEqual(srcValue,objValue,customizer,UNORDERED_COMPARE_FLAG|PARTIAL_COMPARE_FLAG,stack):result)){return false;}}}return true;}/**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false;}var pattern=isFunction(value)||isHostObject(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value));}/**
- * The base implementation of `_.isTypedArray` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- */function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objectToString.call(value)];}/**
- * The base implementation of `_.iteratee`.
- *
- * @private
- * @param {*} [value=_.identity] The value to convert to an iteratee.
- * @returns {Function} Returns the iteratee.
- */function baseIteratee(value){// Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
- // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
- if(typeof value=='function'){return value;}if(value==null){return identity;}if(_typeof2(value)=='object'){return isArray(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value);}return property(value);}/**
- * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */function baseKeys(object){if(!isPrototype(object)){return nativeKeys(object);}var result=[];for(var key in Object(object)){if(hasOwnProperty.call(object,key)&&key!='constructor'){result.push(key);}}return result;}/**
- * The base implementation of `_.matches` which doesn't clone `source`.
- *
- * @private
- * @param {Object} source The object of property values to match.
- * @returns {Function} Returns the new spec function.
- */function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable(matchData[0][0],matchData[0][1]);}return function(object){return object===source||baseIsMatch(object,source,matchData);};}/**
- * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
- *
- * @private
- * @param {string} path The path of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComparable(srcValue)){return matchesStrictComparable(toKey(path),srcValue);}return function(object){var objValue=get(object,path);return objValue===undefined&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,undefined,UNORDERED_COMPARE_FLAG|PARTIAL_COMPARE_FLAG);};}/**
- * A specialized version of `baseProperty` which supports deep paths.
- *
- * @private
- * @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new accessor function.
- */function basePropertyDeep(path){return function(object){return baseGet(object,path);};}/**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */function baseToString(value){// Exit early for strings to avoid a performance hit in some environments.
- if(typeof value=='string'){return value;}if(isSymbol(value)){return symbolToString?symbolToString.call(value):'';}var result=value+'';return result=='0'&&1/value==-INFINITY?'-0':result;}/**
- * Casts `value` to a path array if it's not one.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Array} Returns the cast property path array.
- */function castPath(value){return isArray(value)?value:stringToPath(value);}/**
- * Creates a base function for methods like `_.forIn` and `_.forOwn`.
- *
- * @private
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new base function.
- */function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;while(length--){var key=props[fromRight?length:++index];if(iteratee(iterable[key],key,iterable)===false){break;}}return object;};}/**
- * A specialized version of `baseIsEqualDeep` for arrays with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Array} array The array to compare.
- * @param {Array} other The other array to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
- * @param {Object} stack Tracks traversed `array` and `other` objects.
- * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
- */function equalArrays(array,other,equalFunc,customizer,bitmask,stack){var isPartial=bitmask&PARTIAL_COMPARE_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false;}// Assume cyclic values are equal.
- var stacked=stack.get(array);if(stacked&&stack.get(other)){return stacked==other;}var index=-1,result=true,seen=bitmask&UNORDERED_COMPARE_FLAG?new SetCache():undefined;stack.set(array,other);stack.set(other,array);// Ignore non-index properties.
- while(++index<arrLength){var arrValue=array[index],othValue=other[index];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);}if(compared!==undefined){if(compared){continue;}result=false;break;}// Recursively compare arrays (susceptible to call stack limits).
- if(seen){if(!arraySome(other,function(othValue,othIndex){if(!seen.has(othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,customizer,bitmask,stack))){return seen.add(othIndex);}})){result=false;break;}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,customizer,bitmask,stack))){result=false;break;}}stack['delete'](array);stack['delete'](other);return result;}/**
- * A specialized version of `baseIsEqualDeep` for comparing objects of
- * the same `toStringTag`.
- *
- * **Note:** This function only supports comparing values with tags of
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {string} tag The `toStringTag` of the objects to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */function equalByTag(object,other,tag,equalFunc,customizer,bitmask,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset){return false;}object=object.buffer;other=other.buffer;case arrayBufferTag:if(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other))){return false;}return true;case boolTag:case dateTag:case numberTag:// Coerce booleans to `1` or `0` and dates to milliseconds.
- // Invalid dates are coerced to `NaN`.
- return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:// Coerce regexes to strings and treat strings, primitives and objects,
- // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
- // for more details.
- return object==other+'';case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&PARTIAL_COMPARE_FLAG;convert||(convert=setToArray);if(object.size!=other.size&&!isPartial){return false;}// Assume cyclic values are equal.
- var stacked=stack.get(object);if(stacked){return stacked==other;}bitmask|=UNORDERED_COMPARE_FLAG;// Recursively compare objects (susceptible to call stack limits).
- stack.set(object,other);var result=equalArrays(convert(object),convert(other),equalFunc,customizer,bitmask,stack);stack['delete'](object);return result;case symbolTag:if(symbolValueOf){return symbolValueOf.call(object)==symbolValueOf.call(other);}}return false;}/**
- * A specialized version of `baseIsEqualDeep` for objects with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} customizer The function to customize comparisons.
- * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
- * for more details.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */function equalObjects(object,other,equalFunc,customizer,bitmask,stack){var isPartial=bitmask&PARTIAL_COMPARE_FLAG,objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false;}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key))){return false;}}// Assume cyclic values are equal.
- var stacked=stack.get(object);if(stacked&&stack.get(other)){return stacked==other;}var result=true;stack.set(object,other);stack.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);}// Recursively compare objects (susceptible to call stack limits).
- if(!(compared===undefined?objValue===othValue||equalFunc(objValue,othValue,customizer,bitmask,stack):compared)){result=false;break;}skipCtor||(skipCtor=key=='constructor');}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;// Non `Object` object instances with different constructors are not equal.
- if(objCtor!=othCtor&&'constructor'in object&&'constructor'in other&&!(typeof objCtor=='function'&&objCtor instanceof objCtor&&typeof othCtor=='function'&&othCtor instanceof othCtor)){result=false;}}stack['delete'](object);stack['delete'](other);return result;}/**
- * Gets the data for `map`.
- *
- * @private
- * @param {Object} map The map to query.
- * @param {string} key The reference key.
- * @returns {*} Returns the map data.
- */function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=='string'?'string':'hash']:data.map;}/**
- * Gets the property names, values, and compare flags of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the match data of `object`.
- */function getMatchData(object){var result=keys(object),length=result.length;while(length--){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable(value)];}return result;}/**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined;}/**
- * Gets the `toStringTag` of `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */var getTag=baseGetTag;// Fallback for data views, maps, sets, and weak maps in IE 11,
- // for data views in Edge < 14, and promises in Node.js.
- if(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map())!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set())!=setTag||WeakMap&&getTag(new WeakMap())!=weakMapTag){getTag=function getTag(value){var result=objectToString.call(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):undefined;if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag;}}return result;};}/**
- * Checks if `path` exists on `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @param {Function} hasFunc The function to check properties.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- */function hasPath(object,path,hasFunc){path=isKey(path,object)?[path]:castPath(path);var result,index=-1,length=path.length;while(++index<length){var key=toKey(path[index]);if(!(result=object!=null&&hasFunc(object,key))){break;}object=object[key];}if(result){return result;}var length=object?object.length:0;return!!length&&isLength(length)&&isIndex(key,length)&&(isArray(object)||isArguments(object));}/**
- * Checks if `value` is a valid array-like index.
- *
- * @private
- * @param {*} value The value to check.
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
- */function isIndex(value,length){length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(typeof value=='number'||reIsUint.test(value))&&value>-1&&value%1==0&&value<length;}/**
- * Checks if `value` is a property name and not a property path.
- *
- * @private
- * @param {*} value The value to check.
- * @param {Object} [object] The object to query keys on.
- * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
- */function isKey(value,object){if(isArray(value)){return false;}var type=_typeof2(value);if(type=='number'||type=='symbol'||type=='boolean'||value==null||isSymbol(value)){return true;}return reIsPlainProp.test(value)||!reIsDeepProp.test(value)||object!=null&&value in Object(object);}/**
- * Checks if `value` is suitable for use as unique object key.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
- */function isKeyable(value){var type=_typeof2(value);return type=='string'||type=='number'||type=='symbol'||type=='boolean'?value!=='__proto__':value===null;}/**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}/**
- * Checks if `value` is likely a prototype object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
- */function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=='function'&&Ctor.prototype||objectProto;return value===proto;}/**
- * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` if suitable for strict
- * equality comparisons, else `false`.
- */function isStrictComparable(value){return value===value&&!isObject(value);}/**
- * A specialized version of `matchesProperty` for source values suitable
- * for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */function matchesStrictComparable(key,srcValue){return function(object){if(object==null){return false;}return object[key]===srcValue&&(srcValue!==undefined||key in Object(object));};}/**
- * Converts `string` to a property path array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the property path array.
- */var stringToPath=memoize(function(string){string=toString(string);var result=[];if(reLeadingDot.test(string)){result.push('');}string.replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,'$1'):number||match);});return result;});/**
- * Converts `value` to a string key if it's not a string or symbol.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the key.
- */function toKey(value){if(typeof value=='string'||isSymbol(value)){return value;}var result=value+'';return result=='0'&&1/value==-INFINITY?'-0':result;}/**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to process.
- * @returns {string} Returns the source code.
- */function toSource(func){if(func!=null){try{return funcToString.call(func);}catch(e){}try{return func+'';}catch(e){}}return'';}/**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided, it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is used as the map cache key. The `func`
- * is invoked with the `this` binding of the memoized function.
- *
- * **Note:** The cache is exposed as the `cache` property on the memoized
- * function. Its creation may be customized by replacing the `_.memoize.Cache`
- * constructor with one whose instances implement the
- * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
- * method interface of `delete`, `get`, `has`, and `set`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] The function to resolve the cache key.
- * @returns {Function} Returns the new memoized function.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- * var other = { 'c': 3, 'd': 4 };
- *
- * var values = _.memoize(_.values);
- * values(object);
- * // => [1, 2]
- *
- * values(other);
- * // => [3, 4]
- *
- * object.a = 2;
- * values(object);
- * // => [1, 2]
- *
- * // Modify the result cache.
- * values.cache.set(object, ['a', 'b']);
- * values(object);
- * // => ['a', 'b']
- *
- * // Replace `_.memoize.Cache`.
- * _.memoize.Cache = WeakMap;
- */function memoize(func,resolver){if(typeof func!='function'||resolver&&typeof resolver!='function'){throw new TypeError(FUNC_ERROR_TEXT);}var memoized=function memoized(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key);}var result=func.apply(this,args);memoized.cache=cache.set(key,result);return result;};memoized.cache=new(memoize.Cache||MapCache)();return memoized;}// Assign cache to `_.memoize`.
- memoize.Cache=MapCache;/**
- * Performs a
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * comparison between two values to determine if they are equivalent.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.eq(object, object);
- * // => true
- *
- * _.eq(object, other);
- * // => false
- *
- * _.eq('a', 'a');
- * // => true
- *
- * _.eq('a', Object('a'));
- * // => false
- *
- * _.eq(NaN, NaN);
- * // => true
- */function eq(value,other){return value===other||value!==value&&other!==other;}/**
- * Checks if `value` is likely an `arguments` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- * else `false`.
- * @example
- *
- * _.isArguments(function() { return arguments; }());
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */function isArguments(value){// Safari 8.1 makes `arguments.callee` enumerable in strict mode.
- return isArrayLikeObject(value)&&hasOwnProperty.call(value,'callee')&&(!propertyIsEnumerable.call(value,'callee')||objectToString.call(value)==argsTag);}/**
- * Checks if `value` is classified as an `Array` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
- * @example
- *
- * _.isArray([1, 2, 3]);
- * // => true
- *
- * _.isArray(document.body.children);
- * // => false
- *
- * _.isArray('abc');
- * // => false
- *
- * _.isArray(_.noop);
- * // => false
- */var isArray=Array.isArray;/**
- * Checks if `value` is array-like. A value is considered array-like if it's
- * not a function and has a `value.length` that's an integer greater than or
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
- * @example
- *
- * _.isArrayLike([1, 2, 3]);
- * // => true
- *
- * _.isArrayLike(document.body.children);
- * // => true
- *
- * _.isArrayLike('abc');
- * // => true
- *
- * _.isArrayLike(_.noop);
- * // => false
- */function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value);}/**
- * This method is like `_.isArrayLike` except that it also checks if `value`
- * is an object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array-like object,
- * else `false`.
- * @example
- *
- * _.isArrayLikeObject([1, 2, 3]);
- * // => true
- *
- * _.isArrayLikeObject(document.body.children);
- * // => true
- *
- * _.isArrayLikeObject('abc');
- * // => false
- *
- * _.isArrayLikeObject(_.noop);
- * // => false
- */function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value);}/**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */function isFunction(value){// The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8-9 which returns 'object' for typed array and other constructors.
- var tag=isObject(value)?objectToString.call(value):'';return tag==funcTag||tag==genTag;}/**
- * Checks if `value` is a valid array-like length.
- *
- * **Note:** This method is loosely based on
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
- * @example
- *
- * _.isLength(3);
- * // => true
- *
- * _.isLength(Number.MIN_VALUE);
- * // => false
- *
- * _.isLength(Infinity);
- * // => false
- *
- * _.isLength('3');
- * // => false
- */function isLength(value){return typeof value=='number'&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER;}/**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */function isObject(value){var type=_typeof2(value);return!!value&&(type=='object'||type=='function');}/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */function isObjectLike(value){return!!value&&_typeof2(value)=='object';}/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */function isSymbol(value){return _typeof2(value)=='symbol'||isObjectLike(value)&&objectToString.call(value)==symbolTag;}/**
- * Checks if `value` is classified as a typed array.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- * @example
- *
- * _.isTypedArray(new Uint8Array);
- * // => true
- *
- * _.isTypedArray([]);
- * // => false
- */var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;/**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */function toString(value){return value==null?'':baseToString(value);}/**
- * Gets the value at `path` of `object`. If the resolved value is
- * `undefined`, the `defaultValue` is returned in its place.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.get(object, 'a[0].b.c');
- * // => 3
- *
- * _.get(object, ['a', '0', 'b', 'c']);
- * // => 3
- *
- * _.get(object, 'a.b.c', 'default');
- * // => 'default'
- */function get(object,path,defaultValue){var result=object==null?undefined:baseGet(object,path);return result===undefined?defaultValue:result;}/**
- * Checks if `path` is a direct or inherited property of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- * @example
- *
- * var object = _.create({ 'a': _.create({ 'b': 2 }) });
- *
- * _.hasIn(object, 'a');
- * // => true
- *
- * _.hasIn(object, 'a.b');
- * // => true
- *
- * _.hasIn(object, ['a', 'b']);
- * // => true
- *
- * _.hasIn(object, 'b');
- * // => false
- */function hasIn(object,path){return object!=null&&hasPath(object,path,baseHasIn);}/**
- * Creates an array of the own enumerable property names of `object`.
- *
- * **Note:** Non-object values are coerced to objects. See the
- * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
- * for more details.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.keys(new Foo);
- * // => ['a', 'b'] (iteration order is not guaranteed)
- *
- * _.keys('hi');
- * // => ['0', '1']
- */function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object);}/**
- * An alternative to `_.reduce`; this method transforms `object` to a new
- * `accumulator` object which is the result of running each of its own
- * enumerable string keyed properties thru `iteratee`, with each invocation
- * potentially mutating the `accumulator` object. If `accumulator` is not
- * provided, a new object with the same `[[Prototype]]` will be used. The
- * iteratee is invoked with four arguments: (accumulator, value, key, object).
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @since 1.3.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [accumulator] The custom accumulator value.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * _.transform([2, 3, 4], function(result, n) {
- * result.push(n *= n);
- * return n % 2 == 0;
- * }, []);
- * // => [4, 9]
- *
- * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
- * (result[value] || (result[value] = [])).push(key);
- * }, {});
- * // => { '1': ['a', 'c'], '2': ['b'] }
- */function transform(object,iteratee,accumulator){var isArr=isArray(object)||isTypedArray(object);iteratee=baseIteratee(iteratee);if(accumulator==null){if(isArr||isObject(object)){var Ctor=object.constructor;if(isArr){accumulator=isArray(object)?new Ctor():[];}else{accumulator=isFunction(Ctor)?baseCreate(getPrototype(object)):{};}}else{accumulator={};}}(isArr?arrayEach:baseForOwn)(object,function(value,index,object){return iteratee(accumulator,value,index,object);});return accumulator;}/**
- * This method returns the first argument it receives.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Util
- * @param {*} value Any value.
- * @returns {*} Returns `value`.
- * @example
- *
- * var object = { 'a': 1 };
- *
- * console.log(_.identity(object) === object);
- * // => true
- */function identity(value){return value;}/**
- * Creates a function that returns the value at `path` of a given object.
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Util
- * @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new accessor function.
- * @example
- *
- * var objects = [
- * { 'a': { 'b': 2 } },
- * { 'a': { 'b': 1 } }
- * ];
- *
- * _.map(objects, _.property('a.b'));
- * // => [2, 1]
- *
- * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
- * // => [1, 2]
- */function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path);}module.exports=transform;})(lodash_transform,lodash_transform.exports);/**
- * Module dependencies.
- */var isEmpty=lodash_isempty.exports;var isPlainObject=lodash_isplainobject;var transform=lodash_transform.exports;/**
- * Export `cleanDeep` function.
- */var src=exports('s',function cleanDeep(object){var _ref53=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref53$cleanKeys=_ref53.cleanKeys,cleanKeys=_ref53$cleanKeys===void 0?[]:_ref53$cleanKeys,_ref53$cleanValues=_ref53.cleanValues,cleanValues=_ref53$cleanValues===void 0?[]:_ref53$cleanValues,_ref53$emptyArrays=_ref53.emptyArrays,emptyArrays=_ref53$emptyArrays===void 0?true:_ref53$emptyArrays,_ref53$emptyObjects=_ref53.emptyObjects,emptyObjects=_ref53$emptyObjects===void 0?true:_ref53$emptyObjects,_ref53$emptyStrings=_ref53.emptyStrings,emptyStrings=_ref53$emptyStrings===void 0?true:_ref53$emptyStrings,_ref53$NaNValues=_ref53.NaNValues,NaNValues=_ref53$NaNValues===void 0?false:_ref53$NaNValues,_ref53$nullValues=_ref53.nullValues,nullValues=_ref53$nullValues===void 0?true:_ref53$nullValues,_ref53$undefinedValue=_ref53.undefinedValues,undefinedValues=_ref53$undefinedValue===void 0?true:_ref53$undefinedValue;return transform(object,function(result,value,key){// Exclude specific keys.
- if(cleanKeys.includes(key)){return;}// Recurse into arrays and objects.
- if(Array.isArray(value)||isPlainObject(value)){value=cleanDeep(value,{NaNValues:NaNValues,cleanKeys:cleanKeys,cleanValues:cleanValues,emptyArrays:emptyArrays,emptyObjects:emptyObjects,emptyStrings:emptyStrings,nullValues:nullValues,undefinedValues:undefinedValues});}// Exclude specific values.
- if(cleanValues.includes(value)){return;}// Exclude empty objects.
- if(emptyObjects&&isPlainObject(value)&&isEmpty(value)){return;}// Exclude empty arrays.
- if(emptyArrays&&Array.isArray(value)&&!value.length){return;}// Exclude empty strings.
- if(emptyStrings&&value===''){return;}// Exclude NaN values.
- if(NaNValues&&Number.isNaN(value)){return;}// Exclude null values.
- if(nullValues&&value===null){return;}// Exclude undefined values.
- if(undefinedValues&&value===undefined){return;}// Append when recursing arrays.
- if(Array.isArray(result)){return result.push(value);}result[key]=value;});});var numeral$1={exports:{}};/*! @preserve
- * numeral.js
- * version : 2.0.6
- * author : Adam Draper
- * license : MIT
- * http://adamwdraper.github.com/Numeral-js/
- */(function(module){(function(global,factory){if(module.exports){module.exports=factory();}else{global.numeral=factory();}})(commonjsGlobal,function(){/************************************
- Variables
- ************************************/var _numeral,_,VERSION='2.0.6',formats={},locales={},defaults={currentLocale:'en',zeroFormat:null,nullFormat:null,defaultFormat:'0,0',scalePercentBy100:true},options={currentLocale:defaults.currentLocale,zeroFormat:defaults.zeroFormat,nullFormat:defaults.nullFormat,defaultFormat:defaults.defaultFormat,scalePercentBy100:defaults.scalePercentBy100};/************************************
- Constructors
- ************************************/ // Numeral prototype object
- function Numeral(input,number){this._input=input;this._value=number;}_numeral=function numeral(input){var value,kind,unformatFunction,regexp;if(_numeral.isNumeral(input)){value=input.value();}else if(input===0||typeof input==='undefined'){value=0;}else if(input===null||_.isNaN(input)){value=null;}else if(typeof input==='string'){if(options.zeroFormat&&input===options.zeroFormat){value=0;}else if(options.nullFormat&&input===options.nullFormat||!input.replace(/[^0-9]+/g,'').length){value=null;}else{for(kind in formats){regexp=typeof formats[kind].regexps.unformat==='function'?formats[kind].regexps.unformat():formats[kind].regexps.unformat;if(regexp&&input.match(regexp)){unformatFunction=formats[kind].unformat;break;}}unformatFunction=unformatFunction||_numeral._.stringToNumber;value=unformatFunction(input);}}else{value=Number(input)||null;}return new Numeral(input,value);};// version number
- _numeral.version=VERSION;// compare numeral object
- _numeral.isNumeral=function(obj){return obj instanceof Numeral;};// helper functions
- _numeral._=_={// formats numbers separators, decimals places, signs, abbreviations
- numberToFormat:function numberToFormat(value,format,roundingFunction){var locale=locales[_numeral.options.currentLocale],negP=false,optDec=false,leadingCount=0,abbr='',trillion=1000000000000,billion=1000000000,million=1000000,thousand=1000,decimal='',neg=false,abbrForce,// force abbreviation
- abs,int,precision,signed,thousands,output;// make sure we never format a null value
- value=value||0;abs=Math.abs(value);// see if we should use parentheses for negative number or if we should prefix with a sign
- // if both are present we default to parentheses
- if(_numeral._.includes(format,'(')){negP=true;format=format.replace(/[\(|\)]/g,'');}else if(_numeral._.includes(format,'+')||_numeral._.includes(format,'-')){signed=_numeral._.includes(format,'+')?format.indexOf('+'):value<0?format.indexOf('-'):-1;format=format.replace(/[\+|\-]/g,'');}// see if abbreviation is wanted
- if(_numeral._.includes(format,'a')){abbrForce=format.match(/a(k|m|b|t)?/);abbrForce=abbrForce?abbrForce[1]:false;// check for space before abbreviation
- if(_numeral._.includes(format,' a')){abbr=' ';}format=format.replace(new RegExp(abbr+'a[kmbt]?'),'');if(abs>=trillion&&!abbrForce||abbrForce==='t'){// trillion
- abbr+=locale.abbreviations.trillion;value=value/trillion;}else if(abs<trillion&&abs>=billion&&!abbrForce||abbrForce==='b'){// billion
- abbr+=locale.abbreviations.billion;value=value/billion;}else if(abs<billion&&abs>=million&&!abbrForce||abbrForce==='m'){// million
- abbr+=locale.abbreviations.million;value=value/million;}else if(abs<million&&abs>=thousand&&!abbrForce||abbrForce==='k'){// thousand
- abbr+=locale.abbreviations.thousand;value=value/thousand;}}// check for optional decimals
- if(_numeral._.includes(format,'[.]')){optDec=true;format=format.replace('[.]','.');}// break number and format
- int=value.toString().split('.')[0];precision=format.split('.')[1];thousands=format.indexOf(',');leadingCount=(format.split('.')[0].split(',')[0].match(/0/g)||[]).length;if(precision){if(_numeral._.includes(precision,'[')){precision=precision.replace(']','');precision=precision.split('[');decimal=_numeral._.toFixed(value,precision[0].length+precision[1].length,roundingFunction,precision[1].length);}else{decimal=_numeral._.toFixed(value,precision.length,roundingFunction);}int=decimal.split('.')[0];if(_numeral._.includes(decimal,'.')){decimal=locale.delimiters.decimal+decimal.split('.')[1];}else{decimal='';}if(optDec&&Number(decimal.slice(1))===0){decimal='';}}else{int=_numeral._.toFixed(value,0,roundingFunction);}// check abbreviation again after rounding
- if(abbr&&!abbrForce&&Number(int)>=1000&&abbr!==locale.abbreviations.trillion){int=String(Number(int)/1000);switch(abbr){case locale.abbreviations.thousand:abbr=locale.abbreviations.million;break;case locale.abbreviations.million:abbr=locale.abbreviations.billion;break;case locale.abbreviations.billion:abbr=locale.abbreviations.trillion;break;}}// format number
- if(_numeral._.includes(int,'-')){int=int.slice(1);neg=true;}if(int.length<leadingCount){for(var i=leadingCount-int.length;i>0;i--){int='0'+int;}}if(thousands>-1){int=int.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,'$1'+locale.delimiters.thousands);}if(format.indexOf('.')===0){int='';}output=int+decimal+(abbr?abbr:'');if(negP){output=(negP&&neg?'(':'')+output+(negP&&neg?')':'');}else{if(signed>=0){output=signed===0?(neg?'-':'+')+output:output+(neg?'-':'+');}else if(neg){output='-'+output;}}return output;},// unformats numbers separators, decimals places, signs, abbreviations
- stringToNumber:function stringToNumber(string){var locale=locales[options.currentLocale],stringOriginal=string,abbreviations={thousand:3,million:6,billion:9,trillion:12},abbreviation,value,regexp;if(options.zeroFormat&&string===options.zeroFormat){value=0;}else if(options.nullFormat&&string===options.nullFormat||!string.replace(/[^0-9]+/g,'').length){value=null;}else{value=1;if(locale.delimiters.decimal!=='.'){string=string.replace(/\./g,'').replace(locale.delimiters.decimal,'.');}for(abbreviation in abbreviations){regexp=new RegExp('[^a-zA-Z]'+locale.abbreviations[abbreviation]+'(?:\\)|(\\'+locale.currency.symbol+')?(?:\\))?)?$');if(stringOriginal.match(regexp)){value*=Math.pow(10,abbreviations[abbreviation]);break;}}// check for negative number
- value*=(string.split('-').length+Math.min(string.split('(').length-1,string.split(')').length-1))%2?1:-1;// remove non numbers
- string=string.replace(/[^0-9\.]+/g,'');value*=Number(string);}return value;},isNaN:function(_isNaN){function isNaN(_x){return _isNaN.apply(this,arguments);}isNaN.toString=function(){return _isNaN.toString();};return isNaN;}(function(value){return typeof value==='number'&&isNaN(value);}),includes:function includes(string,search){return string.indexOf(search)!==-1;},insert:function insert(string,subString,start){return string.slice(0,start)+subString+string.slice(start);},reduce:function reduce(array,callback/*, initialValue*/){if(this===null){throw new TypeError('Array.prototype.reduce called on null or undefined');}if(typeof callback!=='function'){throw new TypeError(callback+' is not a function');}var t=Object(array),len=t.length>>>0,k=0,value;if(arguments.length===3){value=arguments[2];}else{while(k<len&&!(k in t)){k++;}if(k>=len){throw new TypeError('Reduce of empty array with no initial value');}value=t[k++];}for(;k<len;k++){if(k in t){value=callback(value,t[k],k,t);}}return value;},/**
- * Computes the multiplier necessary to make x >= 1,
- * effectively eliminating miscalculations caused by
- * finite precision.
- */multiplier:function multiplier(x){var parts=x.toString().split('.');return parts.length<2?1:Math.pow(10,parts[1].length);},/**
- * Given a variable number of arguments, returns the maximum
- * multiplier that must be used to normalize an operation involving
- * all of them.
- */correctionFactor:function correctionFactor(){var args=Array.prototype.slice.call(arguments);return args.reduce(function(accum,next){var mn=_.multiplier(next);return accum>mn?accum:mn;},1);},/**
- * Implementation of toFixed() that treats floats more like decimals
- *
- * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present
- * problems for accounting- and finance-related software.
- */toFixed:function toFixed(value,maxDecimals,roundingFunction,optionals){var splitValue=value.toString().split('.'),minDecimals=maxDecimals-(optionals||0),boundedPrecision,optionalsRegExp,power,output;// Use the smallest precision value possible to avoid errors from floating point representation
- if(splitValue.length===2){boundedPrecision=Math.min(Math.max(splitValue[1].length,minDecimals),maxDecimals);}else{boundedPrecision=minDecimals;}power=Math.pow(10,boundedPrecision);// Multiply up by precision, round accurately, then divide and use native toFixed():
- output=(roundingFunction(value+'e+'+boundedPrecision)/power).toFixed(boundedPrecision);if(optionals>maxDecimals-boundedPrecision){optionalsRegExp=new RegExp('\\.?0{1,'+(optionals-(maxDecimals-boundedPrecision))+'}$');output=output.replace(optionalsRegExp,'');}return output;}};// avaliable options
- _numeral.options=options;// avaliable formats
- _numeral.formats=formats;// avaliable formats
- _numeral.locales=locales;// This function sets the current locale. If
- // no arguments are passed in, it will simply return the current global
- // locale key.
- _numeral.locale=function(key){if(key){options.currentLocale=key.toLowerCase();}return options.currentLocale;};// This function provides access to the loaded locale data. If
- // no arguments are passed in, it will simply return the current
- // global locale object.
- _numeral.localeData=function(key){if(!key){return locales[options.currentLocale];}key=key.toLowerCase();if(!locales[key]){throw new Error('Unknown locale : '+key);}return locales[key];};_numeral.reset=function(){for(var property in defaults){options[property]=defaults[property];}};_numeral.zeroFormat=function(format){options.zeroFormat=typeof format==='string'?format:null;};_numeral.nullFormat=function(format){options.nullFormat=typeof format==='string'?format:null;};_numeral.defaultFormat=function(format){options.defaultFormat=typeof format==='string'?format:'0.0';};_numeral.register=function(type,name,format){name=name.toLowerCase();if(this[type+'s'][name]){throw new TypeError(name+' '+type+' already registered.');}this[type+'s'][name]=format;return format;};_numeral.validate=function(val,culture){var _decimalSep,_thousandSep,_currSymbol,_valArray,_abbrObj,_thousandRegEx,localeData,temp;//coerce val to string
- if(typeof val!=='string'){val+='';if(console.warn){console.warn('Numeral.js: Value is not string. It has been co-erced to: ',val);}}//trim whitespaces from either sides
- val=val.trim();//if val is just digits return true
- if(!!val.match(/^\d+$/)){return true;}//if val is empty return false
- if(val===''){return false;}//get the decimal and thousands separator from numeral.localeData
- try{//check if the culture is understood by numeral. if not, default it to current locale
- localeData=_numeral.localeData(culture);}catch(e){localeData=_numeral.localeData(_numeral.locale());}//setup the delimiters and currency symbol based on culture/locale
- _currSymbol=localeData.currency.symbol;_abbrObj=localeData.abbreviations;_decimalSep=localeData.delimiters.decimal;if(localeData.delimiters.thousands==='.'){_thousandSep='\\.';}else{_thousandSep=localeData.delimiters.thousands;}// validating currency symbol
- temp=val.match(/^[^\d]+/);if(temp!==null){val=val.substr(1);if(temp[0]!==_currSymbol){return false;}}//validating abbreviation symbol
- temp=val.match(/[^\d]+$/);if(temp!==null){val=val.slice(0,-1);if(temp[0]!==_abbrObj.thousand&&temp[0]!==_abbrObj.million&&temp[0]!==_abbrObj.billion&&temp[0]!==_abbrObj.trillion){return false;}}_thousandRegEx=new RegExp(_thousandSep+'{2}');if(!val.match(/[^\d.,]/g)){_valArray=val.split(_decimalSep);if(_valArray.length>2){return false;}else{if(_valArray.length<2){return!!_valArray[0].match(/^\d+.*\d$/)&&!_valArray[0].match(_thousandRegEx);}else{if(_valArray[0].length===1){return!!_valArray[0].match(/^\d+$/)&&!_valArray[0].match(_thousandRegEx)&&!!_valArray[1].match(/^\d+$/);}else{return!!_valArray[0].match(/^\d+.*\d$/)&&!_valArray[0].match(_thousandRegEx)&&!!_valArray[1].match(/^\d+$/);}}}}return false;};/************************************
- Numeral Prototype
- ************************************/_numeral.fn=Numeral.prototype={clone:function clone(){return _numeral(this);},format:function format(inputString,roundingFunction){var value=this._value,format=inputString||options.defaultFormat,kind,output,formatFunction;// make sure we have a roundingFunction
- roundingFunction=roundingFunction||Math.round;// format based on value
- if(value===0&&options.zeroFormat!==null){output=options.zeroFormat;}else if(value===null&&options.nullFormat!==null){output=options.nullFormat;}else{for(kind in formats){if(format.match(formats[kind].regexps.format)){formatFunction=formats[kind].format;break;}}formatFunction=formatFunction||_numeral._.numberToFormat;output=formatFunction(value,format,roundingFunction);}return output;},value:function value(){return this._value;},input:function input(){return this._input;},set:function set(value){this._value=Number(value);return this;},add:function add(value){var corrFactor=_.correctionFactor.call(null,this._value,value);function cback(accum,curr,currI,O){return accum+Math.round(corrFactor*curr);}this._value=_.reduce([this._value,value],cback,0)/corrFactor;return this;},subtract:function subtract(value){var corrFactor=_.correctionFactor.call(null,this._value,value);function cback(accum,curr,currI,O){return accum-Math.round(corrFactor*curr);}this._value=_.reduce([value],cback,Math.round(this._value*corrFactor))/corrFactor;return this;},multiply:function multiply(value){function cback(accum,curr,currI,O){var corrFactor=_.correctionFactor(accum,curr);return Math.round(accum*corrFactor)*Math.round(curr*corrFactor)/Math.round(corrFactor*corrFactor);}this._value=_.reduce([this._value,value],cback,1);return this;},divide:function divide(value){function cback(accum,curr,currI,O){var corrFactor=_.correctionFactor(accum,curr);return Math.round(accum*corrFactor)/Math.round(curr*corrFactor);}this._value=_.reduce([this._value,value],cback);return this;},difference:function difference(value){return Math.abs(_numeral(this._value).subtract(value).value());}};/************************************
- Default Locale && Format
- ************************************/_numeral.register('locale','en',{delimiters:{thousands:',',decimal:'.'},abbreviations:{thousand:'k',million:'m',billion:'b',trillion:'t'},ordinal:function ordinal(number){var b=number%10;return~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';},currency:{symbol:'$'}});(function(){_numeral.register('format','bps',{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function format(value,_format,roundingFunction){var space=_numeral._.includes(_format,' BPS')?' ':'',output;value=value*10000;// check for space before BPS
- _format=_format.replace(/\s?BPS/,'');output=_numeral._.numberToFormat(value,_format,roundingFunction);if(_numeral._.includes(output,')')){output=output.split('');output.splice(-1,0,space+'BPS');output=output.join('');}else{output=output+space+'BPS';}return output;},unformat:function unformat(string){return+(_numeral._.stringToNumber(string)*0.0001).toFixed(15);}});})();(function(){var decimal={base:1000,suffixes:['B','KB','MB','GB','TB','PB','EB','ZB','YB']},binary={base:1024,suffixes:['B','KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB']};var allSuffixes=decimal.suffixes.concat(binary.suffixes.filter(function(item){return decimal.suffixes.indexOf(item)<0;}));var unformatRegex=allSuffixes.join('|');// Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)
- unformatRegex='('+unformatRegex.replace('B','B(?!PS)')+')';_numeral.register('format','bytes',{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(unformatRegex)},format:function format(value,_format2,roundingFunction){var output,bytes=_numeral._.includes(_format2,'ib')?binary:decimal,suffix=_numeral._.includes(_format2,' b')||_numeral._.includes(_format2,' ib')?' ':'',power,min,max;// check for space before
- _format2=_format2.replace(/\s?i?b/,'');for(power=0;power<=bytes.suffixes.length;power++){min=Math.pow(bytes.base,power);max=Math.pow(bytes.base,power+1);if(value===null||value===0||value>=min&&value<max){suffix+=bytes.suffixes[power];if(min>0){value=value/min;}break;}}output=_numeral._.numberToFormat(value,_format2,roundingFunction);return output+suffix;},unformat:function unformat(string){var value=_numeral._.stringToNumber(string),power,bytesMultiplier;if(value){for(power=decimal.suffixes.length-1;power>=0;power--){if(_numeral._.includes(string,decimal.suffixes[power])){bytesMultiplier=Math.pow(decimal.base,power);break;}if(_numeral._.includes(string,binary.suffixes[power])){bytesMultiplier=Math.pow(binary.base,power);break;}}value*=bytesMultiplier||1;}return value;}});})();(function(){_numeral.register('format','currency',{regexps:{format:/(\$)/},format:function format(value,_format3,roundingFunction){var locale=_numeral.locales[_numeral.options.currentLocale],symbols={before:_format3.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:_format3.match(/([\+|\-|\)|\s|\$]*)$/)[0]},output,symbol,i;// strip format of spaces and $
- _format3=_format3.replace(/\s?\$\s?/,'');// format the number
- output=_numeral._.numberToFormat(value,_format3,roundingFunction);// update the before and after based on value
- if(value>=0){symbols.before=symbols.before.replace(/[\-\(]/,'');symbols.after=symbols.after.replace(/[\-\)]/,'');}else if(value<0&&!_numeral._.includes(symbols.before,'-')&&!_numeral._.includes(symbols.before,'(')){symbols.before='-'+symbols.before;}// loop through each before symbol
- for(i=0;i<symbols.before.length;i++){symbol=symbols.before[i];switch(symbol){case'$':output=_numeral._.insert(output,locale.currency.symbol,i);break;case' ':output=_numeral._.insert(output,' ',i+locale.currency.symbol.length-1);break;}}// loop through each after symbol
- for(i=symbols.after.length-1;i>=0;i--){symbol=symbols.after[i];switch(symbol){case'$':output=i===symbols.after.length-1?output+locale.currency.symbol:_numeral._.insert(output,locale.currency.symbol,-(symbols.after.length-(1+i)));break;case' ':output=i===symbols.after.length-1?output+' ':_numeral._.insert(output,' ',-(symbols.after.length-(1+i)+locale.currency.symbol.length-1));break;}}return output;}});})();(function(){_numeral.register('format','exponential',{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function format(value,_format4,roundingFunction){var output,exponential=typeof value==='number'&&!_numeral._.isNaN(value)?value.toExponential():'0e+0',parts=exponential.split('e');_format4=_format4.replace(/e[\+|\-]{1}0/,'');output=_numeral._.numberToFormat(Number(parts[0]),_format4,roundingFunction);return output+'e'+parts[1];},unformat:function unformat(string){var parts=_numeral._.includes(string,'e+')?string.split('e+'):string.split('e-'),value=Number(parts[0]),power=Number(parts[1]);power=_numeral._.includes(string,'e-')?power*=-1:power;function cback(accum,curr,currI,O){var corrFactor=_numeral._.correctionFactor(accum,curr),num=accum*corrFactor*(curr*corrFactor)/(corrFactor*corrFactor);return num;}return _numeral._.reduce([value,Math.pow(10,power)],cback,1);}});})();(function(){_numeral.register('format','ordinal',{regexps:{format:/(o)/},format:function format(value,_format5,roundingFunction){var locale=_numeral.locales[_numeral.options.currentLocale],output,ordinal=_numeral._.includes(_format5,' o')?' ':'';// check for space before
- _format5=_format5.replace(/\s?o/,'');ordinal+=locale.ordinal(value);output=_numeral._.numberToFormat(value,_format5,roundingFunction);return output+ordinal;}});})();(function(){_numeral.register('format','percentage',{regexps:{format:/(%)/,unformat:/(%)/},format:function format(value,_format6,roundingFunction){var space=_numeral._.includes(_format6,' %')?' ':'',output;if(_numeral.options.scalePercentBy100){value=value*100;}// check for space before %
- _format6=_format6.replace(/\s?\%/,'');output=_numeral._.numberToFormat(value,_format6,roundingFunction);if(_numeral._.includes(output,')')){output=output.split('');output.splice(-1,0,space+'%');output=output.join('');}else{output=output+space+'%';}return output;},unformat:function unformat(string){var number=_numeral._.stringToNumber(string);if(_numeral.options.scalePercentBy100){return number*0.01;}return number;}});})();(function(){_numeral.register('format','time',{regexps:{format:/(:)/,unformat:/(:)/},format:function format(value,_format7,roundingFunction){var hours=Math.floor(value/60/60),minutes=Math.floor((value-hours*60*60)/60),seconds=Math.round(value-hours*60*60-minutes*60);return hours+':'+(minutes<10?'0'+minutes:minutes)+':'+(seconds<10?'0'+seconds:seconds);},unformat:function unformat(string){var timeArray=string.split(':'),seconds=0;// turn hours and minutes into seconds and add them all up
- if(timeArray.length===3){// hours
- seconds=seconds+Number(timeArray[0])*60*60;// minutes
- seconds=seconds+Number(timeArray[1])*60;// seconds
- seconds=seconds+Number(timeArray[2]);}else if(timeArray.length===2){// minutes
- seconds=seconds+Number(timeArray[0])*60;// seconds
- seconds=seconds+Number(timeArray[1]);}return Number(seconds);}});})();return _numeral;});})(numeral$1);var numeral=exports('n',numeral$1.exports);}};});})();
|