1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874 |
- !(function (e, t) {
- 'object' == typeof exports && 'undefined' != typeof module
- ? t(exports, require('vue'))
- : 'function' == typeof define && define.amd
- ? define(['exports', 'vue'], t)
- : t(((e = 'undefined' != typeof globalThis ? globalThis : e || self).vant = {}), e.Vue)
- })(this, function (e, t) {
- 'use strict'
- const o = (e) => null != e,
- n = (e) => 'function' == typeof e,
- a = (e) => null !== e && 'object' == typeof e,
- r = (e) => a(e) && n(e.then) && n(e.catch),
- l = (e) => '[object Date]' === Object.prototype.toString.call(e) && !Number.isNaN(e.getTime())
- function i(e) {
- return (
- (e = e.replace(/[^-|\d]/g, '')),
- /^((\+86)|(86))?(1)\d{10}$/.test(e) || /^0[0-9-]{10,13}$/.test(e)
- )
- }
- const s = (e) => 'number' == typeof e || /^\d+(\.\d+)?$/.test(e)
- function c() {}
- const d = Object.assign,
- u = 'undefined' != typeof window
- function p(e, t) {
- const o = t.split('.')
- let n = e
- return (
- o.forEach((e) => {
- var t
- n = a(n) && null != (t = n[e]) ? t : ''
- }),
- n
- )
- }
- function m(e, t, o) {
- return t.reduce((t, n) => ((o && void 0 === e[n]) || (t[n] = e[n]), t), {})
- }
- const f = (e, t) => JSON.stringify(e) === JSON.stringify(t),
- v = (e) => (Array.isArray(e) ? e : [e]),
- h = null,
- g = [Number, String],
- b = { type: Boolean, default: !0 },
- y = (e) => ({ type: e, required: !0 }),
- w = () => ({ type: Array, default: () => [] }),
- x = (e) => ({ type: Number, default: e }),
- V = (e) => ({ type: g, default: e }),
- N = (e) => ({ type: String, default: e })
- var k = 'undefined' != typeof window
- function C(e) {
- return k ? requestAnimationFrame(e) : -1
- }
- function S(e) {
- k && cancelAnimationFrame(e)
- }
- function T(e) {
- C(() => C(e))
- }
- var B = (e, t) => ({ top: 0, left: 0, right: e, bottom: t, width: e, height: t }),
- P = (e) => {
- const o = t.unref(e)
- if (o === window) {
- const e = o.innerWidth,
- t = o.innerHeight
- return B(e, t)
- }
- return (null == o ? void 0 : o.getBoundingClientRect) ? o.getBoundingClientRect() : B(0, 0)
- }
- function D(e) {
- const o = t.inject(e, null)
- if (o) {
- const e = t.getCurrentInstance(),
- { link: n, unlink: a, internalChildren: r } = o
- n(e), t.onUnmounted(() => a(e))
- return { parent: o, index: t.computed(() => r.indexOf(e)) }
- }
- return { parent: null, index: t.ref(-1) }
- }
- var O = (e, t) => {
- const o = e.indexOf(t)
- return -1 === o
- ? e.findIndex(
- (e) => void 0 !== t.key && null !== t.key && e.type === t.type && e.key === t.key
- )
- : o
- }
- function I(e, o, n) {
- const a = (function (e) {
- const o = [],
- n = (e) => {
- Array.isArray(e) &&
- e.forEach((e) => {
- var a
- t.isVNode(e) &&
- (o.push(e),
- (null == (a = e.component) ? void 0 : a.subTree) &&
- (o.push(e.component.subTree), n(e.component.subTree.children)),
- e.children && n(e.children))
- })
- }
- return n(e), o
- })(e.subTree.children)
- n.sort((e, t) => O(a, e.vnode) - O(a, t.vnode))
- const r = n.map((e) => e.proxy)
- o.sort((e, t) => r.indexOf(e) - r.indexOf(t))
- }
- function A(e) {
- const o = t.reactive([]),
- n = t.reactive([]),
- a = t.getCurrentInstance()
- return {
- children: o,
- linkChildren: (r) => {
- t.provide(
- e,
- Object.assign(
- {
- link: (e) => {
- e.proxy && (n.push(e), o.push(e.proxy), I(a, o, n))
- },
- unlink: (e) => {
- const t = n.indexOf(e)
- o.splice(t, 1), n.splice(t, 1)
- },
- children: o,
- internalChildren: n
- },
- r
- )
- )
- }
- }
- }
- var z,
- E,
- L = 1e3,
- $ = 6e4,
- M = 36e5,
- R = 24 * M
- function F(e) {
- let o, n, a, r
- const l = t.ref(e.time),
- i = t.computed(() => {
- return {
- total: (e = l.value),
- days: Math.floor(e / R),
- hours: Math.floor((e % R) / M),
- minutes: Math.floor((e % M) / $),
- seconds: Math.floor((e % $) / L),
- milliseconds: Math.floor(e % L)
- }
- var e
- }),
- s = () => {
- ;(a = !1), S(o)
- },
- c = () => Math.max(n - Date.now(), 0),
- d = (t) => {
- var o, n
- ;(l.value = t),
- null == (o = e.onChange) || o.call(e, i.value),
- 0 === t && (s(), null == (n = e.onFinish) || n.call(e))
- },
- u = () => {
- o = C(() => {
- a && (d(c()), l.value > 0 && u())
- })
- },
- p = () => {
- o = C(() => {
- if (a) {
- const o = c()
- ;(e = o),
- (t = l.value),
- (Math.floor(e / 1e3) !== Math.floor(t / 1e3) || 0 === o) && d(o),
- l.value > 0 && p()
- }
- var e, t
- })
- },
- m = () => {
- k && (e.millisecond ? u() : p())
- }
- return (
- t.onBeforeUnmount(s),
- t.onActivated(() => {
- r && ((a = !0), (r = !1), m())
- }),
- t.onDeactivated(() => {
- a && (s(), (r = !0))
- }),
- {
- start: () => {
- a || ((n = Date.now() + l.value), (a = !0), m())
- },
- pause: s,
- reset: (t = e.time) => {
- s(), (l.value = t)
- },
- current: i
- }
- )
- }
- function H(e) {
- let o
- t.onMounted(() => {
- e(),
- t.nextTick(() => {
- o = !0
- })
- }),
- t.onActivated(() => {
- o && e()
- })
- }
- function j(e, o, n = {}) {
- if (!k) return
- const { target: a = window, passive: r = !1, capture: l = !1 } = n
- let i,
- s = !1
- const c = (n) => {
- if (s) return
- const a = t.unref(n)
- a && !i && (a.addEventListener(e, o, { capture: l, passive: r }), (i = !0))
- },
- d = (n) => {
- if (s) return
- const a = t.unref(n)
- a && i && (a.removeEventListener(e, o, l), (i = !1))
- }
- let u
- return (
- t.onUnmounted(() => d(a)),
- t.onDeactivated(() => d(a)),
- H(() => c(a)),
- t.isRef(a) &&
- (u = t.watch(a, (e, t) => {
- d(t), c(e)
- })),
- () => {
- null == u || u(), d(a), (s = !0)
- }
- )
- }
- function W(e, o, n = {}) {
- if (!k) return
- const { eventName: a = 'click' } = n
- j(
- a,
- (n) => {
- ;(Array.isArray(e) ? e : [e]).every((e) => {
- const o = t.unref(e)
- return o && !o.contains(n.target)
- }) && o(n)
- },
- { target: document }
- )
- }
- var U,
- Y = /scroll|auto|overlay/i,
- q = k ? window : void 0
- function X(e) {
- return 'HTML' !== e.tagName && 'BODY' !== e.tagName && 1 === e.nodeType
- }
- function G(e, t = q) {
- let o = e
- for (; o && o !== t && X(o); ) {
- const { overflowY: e } = window.getComputedStyle(o)
- if (Y.test(e)) return o
- o = o.parentNode
- }
- return t
- }
- function Z(e, o = q) {
- const n = t.ref()
- return (
- t.onMounted(() => {
- e.value && (n.value = G(e.value, o))
- }),
- n
- )
- }
- var K = Symbol('van-field')
- function _(e) {
- const o = t.inject(K, null)
- o &&
- !o.customValue.value &&
- ((o.customValue.value = e),
- t.watch(e, () => {
- o.resetValidation(), o.validateWithTrigger('onChange')
- }))
- }
- function J(e) {
- const t = 'scrollTop' in e ? e.scrollTop : e.pageYOffset
- return Math.max(t, 0)
- }
- function Q(e, t) {
- 'scrollTop' in e ? (e.scrollTop = t) : e.scrollTo(e.scrollX, t)
- }
- function ee() {
- return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
- }
- function te(e) {
- Q(window, e), Q(document.body, e)
- }
- function oe(e, t) {
- if (e === window) return 0
- const o = t ? J(t) : ee()
- return P(e).top + o
- }
- const ne = !!u && /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase())
- function ae() {
- ne && te(ee())
- }
- const re = (e) => e.stopPropagation()
- function le(e, t) {
- ;('boolean' != typeof e.cancelable || e.cancelable) && e.preventDefault(), t && re(e)
- }
- function ie(e) {
- const o = t.unref(e)
- if (!o) return !1
- const n = window.getComputedStyle(o),
- a = 'none' === n.display,
- r = null === o.offsetParent && 'fixed' !== n.position
- return a || r
- }
- const { width: se, height: ce } = (function () {
- if (!z && ((z = t.ref(0)), (E = t.ref(0)), k)) {
- const e = () => {
- ;(z.value = window.innerWidth), (E.value = window.innerHeight)
- }
- e(),
- window.addEventListener('resize', e, { passive: !0 }),
- window.addEventListener('orientationchange', e, { passive: !0 })
- }
- return { width: z, height: E }
- })()
- function de(e) {
- if (o(e)) return s(e) ? `${e}px` : String(e)
- }
- function ue(e) {
- if (o(e)) {
- if (Array.isArray(e)) return { width: de(e[0]), height: de(e[1]) }
- const t = de(e)
- return { width: t, height: t }
- }
- }
- function pe(e) {
- const t = {}
- return void 0 !== e && (t.zIndex = +e), t
- }
- let me
- function fe(e) {
- return (
- +(e = e.replace(/rem/g, '')) *
- (function () {
- if (!me) {
- const e = document.documentElement,
- t = e.style.fontSize || window.getComputedStyle(e).fontSize
- me = parseFloat(t)
- }
- return me
- })()
- )
- }
- function ve(e) {
- if ('number' == typeof e) return e
- if (u) {
- if (e.includes('rem')) return fe(e)
- if (e.includes('vw'))
- return (function (e) {
- return (+(e = e.replace(/vw/g, '')) * se.value) / 100
- })(e)
- if (e.includes('vh'))
- return (function (e) {
- return (+(e = e.replace(/vh/g, '')) * ce.value) / 100
- })(e)
- }
- return parseFloat(e)
- }
- const he = /-(\w)/g,
- ge = (e) => e.replace(he, (e, t) => t.toUpperCase())
- function be(e, t = 2) {
- let o = e + ''
- for (; o.length < t; ) o = '0' + o
- return o
- }
- const ye = (e, t, o) => Math.min(Math.max(e, t), o)
- function we(e, t, o) {
- const n = e.indexOf(t)
- return -1 === n
- ? e
- : '-' === t && 0 !== n
- ? e.slice(0, n)
- : e.slice(0, n + 1) + e.slice(n).replace(o, '')
- }
- function xe(e, t = !0, o = !0) {
- e = t ? we(e, '.', /\./g) : e.split('.')[0]
- const n = t ? /[^-0-9.]/g : /[^-0-9]/g
- return (e = o ? we(e, '-', /-/g) : e.replace(/-/, '')).replace(n, '')
- }
- function Ve(e, t) {
- const o = 10 ** 10
- return Math.round((e + t) * o) / o
- }
- const { hasOwnProperty: Ne } = Object.prototype
- function ke(e, t) {
- return (
- Object.keys(t).forEach((n) => {
- !(function (e, t, n) {
- const r = t[n]
- o(r) && (Ne.call(e, n) && a(r) ? (e[n] = ke(Object(e[n]), r)) : (e[n] = r))
- })(e, t, n)
- }),
- e
- )
- }
- const Ce = t.ref('zh-CN'),
- Se = t.reactive({
- 'zh-CN': {
- name: '姓名',
- tel: '电话',
- save: '保存',
- clear: '清空',
- cancel: '取消',
- confirm: '确认',
- delete: '删除',
- loading: '加载中...',
- noCoupon: '暂无优惠券',
- nameEmpty: '请填写姓名',
- addContact: '添加联系人',
- telInvalid: '请填写正确的电话',
- vanCalendar: {
- end: '结束',
- start: '开始',
- title: '日期选择',
- weekdays: ['日', '一', '二', '三', '四', '五', '六'],
- monthTitle: (e, t) => `${e}年${t}月`,
- rangePrompt: (e) => `最多选择 ${e} 天`
- },
- vanCascader: { select: '请选择' },
- vanPagination: { prev: '上一页', next: '下一页' },
- vanPullRefresh: { pulling: '下拉即可刷新...', loosing: '释放即可刷新...' },
- vanSubmitBar: { label: '合计:' },
- vanCoupon: {
- unlimited: '无门槛',
- discount: (e) => `${e}折`,
- condition: (e) => `满${e}元可用`
- },
- vanCouponCell: { title: '优惠券', count: (e) => `${e}张可用` },
- vanCouponList: {
- exchange: '兑换',
- close: '不使用',
- enable: '可用',
- disabled: '不可用',
- placeholder: '输入优惠码'
- },
- vanAddressEdit: {
- area: '地区',
- areaEmpty: '请选择地区',
- addressEmpty: '请填写详细地址',
- addressDetail: '详细地址',
- defaultAddress: '设为默认收货地址'
- },
- vanAddressList: { add: '新增地址' }
- }
- }),
- Te = {
- messages: () => Se[Ce.value],
- use(e, t) {
- ;(Ce.value = e), this.add({ [e]: t })
- },
- add(e = {}) {
- ke(Se, e)
- }
- }
- var Be = Te
- function Pe(e) {
- const t = ge(e) + '.'
- return (e, ...o) => {
- const a = Be.messages(),
- r = p(a, t + e) || p(a, e)
- return n(r) ? r(...o) : r
- }
- }
- function De(e, t) {
- return t
- ? 'string' == typeof t
- ? ` ${e}--${t}`
- : Array.isArray(t)
- ? t.reduce((t, o) => t + De(e, o), '')
- : Object.keys(t).reduce((o, n) => o + (t[n] ? De(e, n) : ''), '')
- : ''
- }
- function Oe(e) {
- return (t, o) => (
- t && 'string' != typeof t && ((o = t), (t = '')), `${(t = t ? `${e}__${t}` : e)}${De(t, o)}`
- )
- }
- function Ie(e) {
- const t = `van-${e}`
- return [t, Oe(t), Pe(t)]
- }
- const Ae = 'van-hairline',
- ze = `${Ae}--top`,
- Ee = `${Ae}--left`,
- Le = `${Ae}--bottom`,
- $e = `${Ae}--surround`,
- Me = `${Ae}--top-bottom`,
- Re = `${Ae}-unset--top-bottom`,
- Fe = 'van-haptics-feedback',
- He = Symbol('van-form')
- function je(e, { args: t = [], done: o, canceled: n }) {
- if (e) {
- const a = e.apply(null, t)
- r(a)
- ? a
- .then((e) => {
- e ? o() : n && n()
- })
- .catch(c)
- : a
- ? o()
- : n && n()
- } else o()
- }
- function We(e) {
- return (
- (e.install = (t) => {
- const { name: o } = e
- o && (t.component(o, e), t.component(ge(`-${o}`), e))
- }),
- e
- )
- }
- const Ue = Symbol()
- function Ye(e) {
- const o = t.inject(Ue, null)
- o &&
- t.watch(o, (t) => {
- t && e()
- })
- }
- const qe = (e, o) => {
- const n = t.ref(),
- a = () => {
- n.value = P(e).height
- }
- return (
- t.onMounted(() => {
- if ((t.nextTick(a), o)) for (let e = 1; e <= 3; e++) setTimeout(a, 100 * e)
- }),
- Ye(() => t.nextTick(a)),
- t.watch([se, ce], a),
- n
- )
- }
- function Xe(e, o) {
- const n = qe(e, !0)
- return (e) =>
- t.createVNode(
- 'div',
- { class: o('placeholder'), style: { height: n.value ? `${n.value}px` : void 0 } },
- [e()]
- )
- }
- const [Ge, Ze] = Ie('action-bar'),
- Ke = Symbol(Ge),
- _e = { placeholder: Boolean, safeAreaInsetBottom: b }
- const Je = We(
- t.defineComponent({
- name: Ge,
- props: _e,
- setup(e, { slots: o }) {
- const n = t.ref(),
- a = Xe(n, Ze),
- { linkChildren: r } = A(Ke)
- r()
- const l = () => {
- var a
- return t.createVNode(
- 'div',
- { ref: n, class: [Ze(), { 'van-safe-area-bottom': e.safeAreaInsetBottom }] },
- [null == (a = o.default) ? void 0 : a.call(o)]
- )
- }
- return () => (e.placeholder ? a(l) : l())
- }
- })
- )
- function Qe(e) {
- const o = t.getCurrentInstance()
- o && d(o.proxy, e)
- }
- const et = { to: [String, Object], url: String, replace: Boolean }
- function tt({ to: e, url: t, replace: o, $router: n }) {
- e && n ? n[o ? 'replace' : 'push'](e) : t && (o ? location.replace(t) : (location.href = t))
- }
- function ot() {
- const e = t.getCurrentInstance().proxy
- return () => tt(e)
- }
- const [nt, at] = Ie('badge'),
- rt = {
- dot: Boolean,
- max: g,
- tag: N('div'),
- color: String,
- offset: Array,
- content: g,
- showZero: b,
- position: N('top-right')
- }
- const lt = We(
- t.defineComponent({
- name: nt,
- props: rt,
- setup(e, { slots: n }) {
- const a = () => {
- if (n.content) return !0
- const { content: t, showZero: a } = e
- return o(t) && '' !== t && (a || (0 !== t && '0' !== t))
- },
- r = () => {
- const { dot: t, max: r, content: l } = e
- if (!t && a()) return n.content ? n.content() : o(r) && s(l) && +l > +r ? `${r}+` : l
- },
- l = (e) => (e.startsWith('-') ? e.replace('-', '') : `-${e}`),
- i = t.computed(() => {
- const t = { background: e.color }
- if (e.offset) {
- const [o, a] = e.offset,
- { position: r } = e,
- [i, s] = r.split('-')
- n.default
- ? ((t[i] =
- 'number' == typeof a ? de('top' === i ? a : -a) : 'top' === i ? de(a) : l(a)),
- (t[s] =
- 'number' == typeof o ? de('left' === s ? o : -o) : 'left' === s ? de(o) : l(o)))
- : ((t.marginTop = de(a)), (t.marginLeft = de(o)))
- }
- return t
- }),
- c = () => {
- if (a() || e.dot)
- return t.createVNode(
- 'div',
- { class: at([e.position, { dot: e.dot, fixed: !!n.default }]), style: i.value },
- [r()]
- )
- }
- return () => {
- if (n.default) {
- const { tag: o } = e
- return t.createVNode(o, { class: at('wrapper') }, { default: () => [n.default(), c()] })
- }
- return c()
- }
- }
- })
- )
- let it = 2e3
- const [st, ct] = Ie('config-provider'),
- dt = Symbol(st),
- ut = {
- tag: N('div'),
- theme: N('light'),
- zIndex: Number,
- themeVars: Object,
- themeVarsDark: Object,
- themeVarsLight: Object,
- iconPrefix: String
- }
- var pt = t.defineComponent({
- name: st,
- props: ut,
- setup(e, { slots: o }) {
- const n = t.computed(() =>
- (function (e) {
- const t = {}
- return (
- Object.keys(e).forEach((o) => {
- var n
- t[
- `--van-${
- ((n = o),
- n
- .replace(/([A-Z])/g, '-$1')
- .toLowerCase()
- .replace(/^-/, ''))
- }`
- ] = e[o]
- }),
- t
- )
- })(d({}, e.themeVars, 'dark' === e.theme ? e.themeVarsDark : e.themeVarsLight))
- )
- if (u) {
- const o = () => {
- document.documentElement.classList.add(`van-theme-${e.theme}`)
- },
- n = (t = e.theme) => {
- document.documentElement.classList.remove(`van-theme-${t}`)
- }
- t.watch(
- () => e.theme,
- (e, t) => {
- t && n(t), o()
- },
- { immediate: !0 }
- ),
- t.onActivated(o),
- t.onDeactivated(n),
- t.onBeforeUnmount(n)
- }
- return (
- t.provide(dt, e),
- t.watchEffect(() => {
- var t
- void 0 !== e.zIndex && ((t = e.zIndex), (it = t))
- }),
- () =>
- t.createVNode(
- e.tag,
- { class: ct(), style: n.value },
- {
- default: () => {
- var e
- return [null == (e = o.default) ? void 0 : e.call(o)]
- }
- }
- )
- )
- }
- })
- const [mt, ft] = Ie('icon'),
- vt = {
- dot: Boolean,
- tag: N('i'),
- name: String,
- size: g,
- badge: g,
- color: String,
- badgeProps: Object,
- classPrefix: String
- }
- const ht = We(
- t.defineComponent({
- name: mt,
- props: vt,
- setup(e, { slots: o }) {
- const n = t.inject(dt, null),
- a = t.computed(() => e.classPrefix || (null == n ? void 0 : n.iconPrefix) || ft())
- return () => {
- const { tag: n, dot: r, name: l, size: i, badge: s, color: c } = e,
- d = ((e) => (null == e ? void 0 : e.includes('/')))(l)
- return t.createVNode(
- lt,
- t.mergeProps(
- {
- dot: r,
- tag: n,
- class: [a.value, d ? '' : `${a.value}-${l}`],
- style: { color: c, fontSize: de(i) },
- content: s
- },
- e.badgeProps
- ),
- {
- default: () => {
- var e
- return [
- null == (e = o.default) ? void 0 : e.call(o),
- d && t.createVNode('img', { class: ft('image'), src: l }, null)
- ]
- }
- }
- )
- }
- }
- })
- ),
- [gt, bt] = Ie('loading'),
- yt = Array(12)
- .fill(null)
- .map((e, o) => t.createVNode('i', { class: bt('line', String(o + 1)) }, null)),
- wt = t.createVNode('svg', { class: bt('circular'), viewBox: '25 25 50 50' }, [
- t.createVNode('circle', { cx: '50', cy: '50', r: '20', fill: 'none' }, null)
- ]),
- xt = {
- size: g,
- type: N('circular'),
- color: String,
- vertical: Boolean,
- textSize: g,
- textColor: String
- }
- const Vt = We(
- t.defineComponent({
- name: gt,
- props: xt,
- setup(e, { slots: o }) {
- const n = t.computed(() => d({ color: e.color }, ue(e.size))),
- a = () => {
- const a = 'spinner' === e.type ? yt : wt
- return t.createVNode('span', { class: bt('spinner', e.type), style: n.value }, [
- o.icon ? o.icon() : a
- ])
- },
- r = () => {
- var n
- if (o.default)
- return t.createVNode(
- 'span',
- {
- class: bt('text'),
- style: {
- fontSize: de(e.textSize),
- color: null != (n = e.textColor) ? n : e.color
- }
- },
- [o.default()]
- )
- }
- return () => {
- const { type: o, vertical: n } = e
- return t.createVNode(
- 'div',
- { class: bt([o, { vertical: n }]), 'aria-live': 'polite', 'aria-busy': !0 },
- [a(), r()]
- )
- }
- }
- })
- ),
- [Nt, kt] = Ie('button'),
- Ct = d({}, et, {
- tag: N('button'),
- text: String,
- icon: String,
- type: N('default'),
- size: N('normal'),
- color: String,
- block: Boolean,
- plain: Boolean,
- round: Boolean,
- square: Boolean,
- loading: Boolean,
- hairline: Boolean,
- disabled: Boolean,
- iconPrefix: String,
- nativeType: N('button'),
- loadingSize: g,
- loadingText: String,
- loadingType: String,
- iconPosition: N('left')
- })
- const St = We(
- t.defineComponent({
- name: Nt,
- props: Ct,
- emits: ['click'],
- setup(e, { emit: o, slots: n }) {
- const a = ot(),
- r = () =>
- e.loading
- ? n.loading
- ? n.loading()
- : t.createVNode(
- Vt,
- { size: e.loadingSize, type: e.loadingType, class: kt('loading') },
- null
- )
- : n.icon
- ? t.createVNode('div', { class: kt('icon') }, [n.icon()])
- : e.icon
- ? t.createVNode(
- ht,
- { name: e.icon, class: kt('icon'), classPrefix: e.iconPrefix },
- null
- )
- : void 0,
- l = () => {
- let o
- if (((o = e.loading ? e.loadingText : n.default ? n.default() : e.text), o))
- return t.createVNode('span', { class: kt('text') }, [o])
- },
- i = () => {
- const { color: t, plain: o } = e
- if (t) {
- const e = { color: o ? t : 'white' }
- return (
- o || (e.background = t),
- t.includes('gradient') ? (e.border = 0) : (e.borderColor = t),
- e
- )
- }
- },
- s = (t) => {
- e.loading ? le(t) : e.disabled || (o('click', t), a())
- }
- return () => {
- const {
- tag: o,
- type: n,
- size: a,
- block: c,
- round: d,
- plain: u,
- square: p,
- loading: m,
- disabled: f,
- hairline: v,
- nativeType: h,
- iconPosition: g
- } = e,
- b = [
- kt([
- n,
- a,
- { plain: u, block: c, round: d, square: p, loading: m, disabled: f, hairline: v }
- ]),
- { [$e]: v }
- ]
- return t.createVNode(
- o,
- { type: h, class: b, style: i(), disabled: f, onClick: s },
- {
- default: () => [
- t.createVNode('div', { class: kt('content') }, [
- 'left' === g && r(),
- l(),
- 'right' === g && r()
- ])
- ]
- }
- )
- }
- }
- })
- ),
- [Tt, Bt] = Ie('action-bar-button'),
- Pt = d({}, et, {
- type: String,
- text: String,
- icon: String,
- color: String,
- loading: Boolean,
- disabled: Boolean
- })
- const Dt = We(
- t.defineComponent({
- name: Tt,
- props: Pt,
- setup(e, { slots: o }) {
- const n = ot(),
- { parent: a, index: r } = D(Ke),
- l = t.computed(() => {
- if (a) {
- const e = a.children[r.value - 1]
- return !(e && 'isButton' in e)
- }
- }),
- i = t.computed(() => {
- if (a) {
- const e = a.children[r.value + 1]
- return !(e && 'isButton' in e)
- }
- })
- return (
- Qe({ isButton: !0 }),
- () => {
- const { type: a, icon: r, text: s, color: c, loading: d, disabled: u } = e
- return t.createVNode(
- St,
- {
- class: Bt([a, { last: i.value, first: l.value }]),
- size: 'large',
- type: a,
- icon: r,
- color: c,
- loading: d,
- disabled: u,
- onClick: n
- },
- { default: () => [o.default ? o.default() : s] }
- )
- }
- )
- }
- })
- ),
- [Ot, It] = Ie('action-bar-icon'),
- At = d({}, et, {
- dot: Boolean,
- text: String,
- icon: String,
- color: String,
- badge: g,
- iconClass: h,
- badgeProps: Object,
- iconPrefix: String
- })
- const zt = We(
- t.defineComponent({
- name: Ot,
- props: At,
- setup(e, { slots: o }) {
- const n = ot()
- D(Ke)
- const a = () => {
- const {
- dot: n,
- badge: a,
- icon: r,
- color: l,
- iconClass: i,
- badgeProps: s,
- iconPrefix: c
- } = e
- return o.icon
- ? t.createVNode(lt, t.mergeProps({ dot: n, class: It('icon'), content: a }, s), {
- default: o.icon
- })
- : t.createVNode(
- ht,
- {
- tag: 'div',
- dot: n,
- name: r,
- badge: a,
- color: l,
- class: [It('icon'), i],
- badgeProps: s,
- classPrefix: c
- },
- null
- )
- }
- return () =>
- t.createVNode('div', { role: 'button', class: It(), tabindex: 0, onClick: n }, [
- a(),
- o.default ? o.default() : e.text
- ])
- }
- })
- ),
- Et = {
- show: Boolean,
- zIndex: g,
- overlay: b,
- duration: g,
- teleport: [String, Object],
- lockScroll: b,
- lazyRender: b,
- beforeClose: Function,
- overlayStyle: Object,
- overlayClass: h,
- transitionAppear: Boolean,
- closeOnClickOverlay: b
- },
- Lt = Object.keys(Et)
- function $t() {
- const e = t.ref(0),
- o = t.ref(0),
- n = t.ref(0),
- a = t.ref(0),
- r = t.ref(0),
- l = t.ref(0),
- i = t.ref(''),
- s = () => {
- ;(n.value = 0), (a.value = 0), (r.value = 0), (l.value = 0), (i.value = '')
- }
- return {
- move: (t) => {
- const s = t.touches[0]
- ;(n.value = (s.clientX < 0 ? 0 : s.clientX) - e.value),
- (a.value = s.clientY - o.value),
- (r.value = Math.abs(n.value)),
- (l.value = Math.abs(a.value))
- var c, d
- ;(!i.value || (r.value < 10 && l.value < 10)) &&
- (i.value = ((c = r.value), (d = l.value), c > d ? 'horizontal' : d > c ? 'vertical' : ''))
- },
- start: (t) => {
- s(), (e.value = t.touches[0].clientX), (o.value = t.touches[0].clientY)
- },
- reset: s,
- startX: e,
- startY: o,
- deltaX: n,
- deltaY: a,
- offsetX: r,
- offsetY: l,
- direction: i,
- isVertical: () => 'vertical' === i.value,
- isHorizontal: () => 'horizontal' === i.value
- }
- }
- let Mt = 0
- const Rt = 'van-overflow-hidden'
- function Ft(e) {
- const o = t.ref(!1)
- return (
- t.watch(
- e,
- (e) => {
- e && (o.value = e)
- },
- { immediate: !0 }
- ),
- (e) => () => o.value ? e() : null
- )
- }
- const [Ht, jt] = Ie('overlay'),
- Wt = {
- show: Boolean,
- zIndex: g,
- duration: g,
- className: h,
- lockScroll: b,
- lazyRender: b,
- customStyle: Object
- }
- const Ut = We(
- t.defineComponent({
- name: Ht,
- props: Wt,
- setup(e, { slots: n }) {
- const a = t.ref(),
- r = Ft(() => e.show || !e.lazyRender)(() => {
- var r
- const l = d(pe(e.zIndex), e.customStyle)
- return (
- o(e.duration) && (l.animationDuration = `${e.duration}s`),
- t.withDirectives(
- t.createVNode('div', { ref: a, style: l, class: [jt(), e.className] }, [
- null == (r = n.default) ? void 0 : r.call(n)
- ]),
- [[t.vShow, e.show]]
- )
- )
- })
- return (
- j(
- 'touchmove',
- (t) => {
- e.lockScroll && le(t, !0)
- },
- { target: a }
- ),
- () => t.createVNode(t.Transition, { name: 'van-fade', appear: !0 }, { default: r })
- )
- }
- })
- ),
- Yt = d({}, Et, {
- round: Boolean,
- position: N('center'),
- closeIcon: N('cross'),
- closeable: Boolean,
- transition: String,
- iconPrefix: String,
- closeOnPopstate: Boolean,
- closeIconPosition: N('top-right'),
- safeAreaInsetTop: Boolean,
- safeAreaInsetBottom: Boolean
- }),
- [qt, Xt] = Ie('popup')
- const Gt = We(
- t.defineComponent({
- name: qt,
- inheritAttrs: !1,
- props: Yt,
- emits: [
- 'open',
- 'close',
- 'opened',
- 'closed',
- 'keydown',
- 'update:show',
- 'clickOverlay',
- 'clickCloseIcon'
- ],
- setup(e, { emit: n, attrs: a, slots: r }) {
- let l, i
- const s = t.ref(),
- c = t.ref(),
- d = Ft(() => e.show || !e.lazyRender),
- u = t.computed(() => {
- const t = { zIndex: s.value }
- if (o(e.duration)) {
- t[
- 'center' === e.position ? 'animationDuration' : 'transitionDuration'
- ] = `${e.duration}s`
- }
- return t
- }),
- p = () => {
- l || ((l = !0), (s.value = void 0 !== e.zIndex ? +e.zIndex : ++it), n('open'))
- },
- m = () => {
- l &&
- je(e.beforeClose, {
- done() {
- ;(l = !1), n('close'), n('update:show', !1)
- }
- })
- },
- f = (t) => {
- n('clickOverlay', t), e.closeOnClickOverlay && m()
- },
- v = () => {
- if (e.overlay)
- return t.createVNode(
- Ut,
- {
- show: e.show,
- class: e.overlayClass,
- zIndex: s.value,
- duration: e.duration,
- customStyle: e.overlayStyle,
- role: e.closeOnClickOverlay ? 'button' : void 0,
- tabindex: e.closeOnClickOverlay ? 0 : void 0,
- onClick: f
- },
- { default: r['overlay-content'] }
- )
- },
- h = (e) => {
- n('clickCloseIcon', e), m()
- },
- g = () => {
- if (e.closeable)
- return t.createVNode(
- ht,
- {
- role: 'button',
- tabindex: 0,
- name: e.closeIcon,
- class: [Xt('close-icon', e.closeIconPosition), Fe],
- classPrefix: e.iconPrefix,
- onClick: h
- },
- null
- )
- },
- b = () => n('opened'),
- y = () => n('closed'),
- w = (e) => n('keydown', e),
- x = d(() => {
- var o
- const { round: n, position: l, safeAreaInsetTop: i, safeAreaInsetBottom: s } = e
- return t.withDirectives(
- t.createVNode(
- 'div',
- t.mergeProps(
- {
- ref: c,
- style: u.value,
- role: 'dialog',
- tabindex: 0,
- class: [
- Xt({ round: n, [l]: l }),
- { 'van-safe-area-top': i, 'van-safe-area-bottom': s }
- ],
- onKeydown: w
- },
- a
- ),
- [null == (o = r.default) ? void 0 : o.call(r), g()]
- ),
- [[t.vShow, e.show]]
- )
- }),
- V = () => {
- const { position: o, transition: n, transitionAppear: a } = e,
- r = 'center' === o ? 'van-fade' : `van-popup-slide-${o}`
- return t.createVNode(
- t.Transition,
- { name: n || r, appear: a, onAfterEnter: b, onAfterLeave: y },
- { default: x }
- )
- }
- return (
- t.watch(
- () => e.show,
- (e) => {
- e &&
- !l &&
- (p(),
- 0 === a.tabindex &&
- t.nextTick(() => {
- var e
- null == (e = c.value) || e.focus()
- })),
- !e && l && ((l = !1), n('close'))
- }
- ),
- Qe({ popupRef: c }),
- (function (e, o) {
- const n = $t(),
- a = (t) => {
- n.move(t)
- const o = n.deltaY.value > 0 ? '10' : '01',
- a = G(t.target, e.value),
- { scrollHeight: r, offsetHeight: l, scrollTop: i } = a
- let s = '11'
- 0 === i ? (s = l >= r ? '00' : '01') : i + l >= r && (s = '10'),
- '11' === s || !n.isVertical() || parseInt(s, 2) & parseInt(o, 2) || le(t, !0)
- },
- r = () => {
- document.addEventListener('touchstart', n.start),
- document.addEventListener('touchmove', a, { passive: !1 }),
- Mt || document.body.classList.add(Rt),
- Mt++
- },
- l = () => {
- Mt &&
- (document.removeEventListener('touchstart', n.start),
- document.removeEventListener('touchmove', a),
- Mt--,
- Mt || document.body.classList.remove(Rt))
- },
- i = () => o() && l()
- H(() => o() && r()),
- t.onDeactivated(i),
- t.onBeforeUnmount(i),
- t.watch(o, (e) => {
- e ? r() : l()
- })
- })(c, () => e.show && e.lockScroll),
- j('popstate', () => {
- e.closeOnPopstate && (m(), (i = !1))
- }),
- t.onMounted(() => {
- e.show && p()
- }),
- t.onActivated(() => {
- i && (n('update:show', !0), (i = !1))
- }),
- t.onDeactivated(() => {
- e.show && e.teleport && (m(), (i = !0))
- }),
- t.provide(Ue, () => e.show),
- () =>
- e.teleport
- ? t.createVNode(t.Teleport, { to: e.teleport }, { default: () => [v(), V()] })
- : t.createVNode(t.Fragment, null, [v(), V()])
- )
- }
- })
- ),
- [Zt, Kt] = Ie('action-sheet'),
- _t = d({}, Et, {
- title: String,
- round: b,
- actions: w(),
- closeIcon: N('cross'),
- closeable: b,
- cancelText: String,
- description: String,
- closeOnPopstate: b,
- closeOnClickAction: Boolean,
- safeAreaInsetBottom: b
- }),
- Jt = [...Lt, 'round', 'closeOnPopstate', 'safeAreaInsetBottom']
- const Qt = We(
- t.defineComponent({
- name: Zt,
- props: _t,
- emits: ['select', 'cancel', 'update:show'],
- setup(e, { slots: o, emit: n }) {
- const a = (e) => n('update:show', e),
- r = () => {
- a(!1), n('cancel')
- },
- l = () => {
- if (e.title)
- return t.createVNode('div', { class: Kt('header') }, [
- e.title,
- e.closeable &&
- t.createVNode(
- ht,
- { name: e.closeIcon, class: [Kt('close'), Fe], onClick: r },
- null
- )
- ])
- },
- i = () => {
- if (o.cancel || e.cancelText)
- return [
- t.createVNode('div', { class: Kt('gap') }, null),
- t.createVNode('button', { type: 'button', class: Kt('cancel'), onClick: r }, [
- o.cancel ? o.cancel() : e.cancelText
- ])
- ]
- },
- s = (e, n) =>
- e.loading
- ? t.createVNode(Vt, { class: Kt('loading-icon') }, null)
- : o.action
- ? o.action({ action: e, index: n })
- : [
- t.createVNode('span', { class: Kt('name') }, [e.name]),
- e.subname && t.createVNode('div', { class: Kt('subname') }, [e.subname])
- ],
- c = (o, r) => {
- const { color: l, loading: i, callback: c, disabled: d, className: u } = o
- return t.createVNode(
- 'button',
- {
- type: 'button',
- style: { color: l },
- class: [Kt('item', { loading: i, disabled: d }), u],
- onClick: () => {
- d ||
- i ||
- (c && c(o),
- e.closeOnClickAction && a(!1),
- t.nextTick(() => n('select', o, r)))
- }
- },
- [s(o, r)]
- )
- },
- d = () => {
- if (e.description || o.description) {
- const n = o.description ? o.description() : e.description
- return t.createVNode('div', { class: Kt('description') }, [n])
- }
- }
- return () =>
- t.createVNode(
- Gt,
- t.mergeProps({ class: Kt(), position: 'bottom', 'onUpdate:show': a }, m(e, Jt)),
- {
- default: () => {
- var n
- return [
- l(),
- d(),
- t.createVNode('div', { class: Kt('content') }, [
- e.actions.map(c),
- null == (n = o.default) ? void 0 : n.call(o)
- ]),
- i()
- ]
- }
- }
- )
- }
- })
- ),
- [eo, to, oo] = Ie('picker'),
- no = (e) => e.find((e) => !e.disabled) || e[0]
- function ao(e, t) {
- for (let o = (t = ye(t, 0, e.length)); o < e.length; o++) if (!e[o].disabled) return o
- for (let o = t - 1; o >= 0; o--) if (!e[o].disabled) return o
- return 0
- }
- const ro = (e, t, o) => void 0 !== t && !!e.find((e) => e[o.value] === t)
- function lo(e, t, o) {
- const n = e.findIndex((e) => e[o.value] === t)
- return e[ao(e, n)]
- }
- const [io, so] = Ie('picker-column'),
- co = Symbol(io)
- var uo = t.defineComponent({
- name: io,
- props: {
- value: g,
- fields: y(Object),
- options: w(),
- readonly: Boolean,
- allowHtml: Boolean,
- optionHeight: y(Number),
- swipeDuration: y(g),
- visibleOptionNum: y(g)
- },
- emits: ['change', 'clickOption', 'scrollInto'],
- setup(e, { emit: o, slots: n }) {
- let a, r, l, i, s
- const c = t.ref(),
- d = t.ref(),
- u = t.ref(0),
- p = t.ref(0),
- m = $t(),
- f = () => e.options.length,
- v = () => (e.optionHeight * (+e.visibleOptionNum - 1)) / 2,
- h = (t) => {
- const n = ao(e.options, t),
- r = -n * e.optionHeight,
- l = () => {
- const t = e.options[n][e.fields.value]
- t !== e.value && o('change', t)
- }
- a && r !== u.value ? (s = l) : l(), (u.value = r)
- },
- g = () => e.readonly || !e.options.length,
- b = (t) => ye(Math.round(-t / e.optionHeight), 0, f() - 1),
- y = t.computed(() => b(u.value)),
- w = () => {
- ;(a = !1), (p.value = 0), s && (s(), (s = null))
- },
- x = (e) => {
- if (!g()) {
- if ((m.start(e), a)) {
- const e = (function (e) {
- const { transform: t } = window.getComputedStyle(e),
- o = t.slice(7, t.length - 1).split(', ')[5]
- return Number(o)
- })(d.value)
- u.value = Math.min(0, e - v())
- }
- ;(p.value = 0), (r = u.value), (l = Date.now()), (i = r), (s = null)
- }
- },
- V = () => {
- if (g()) return
- const t = u.value - i,
- o = Date.now() - l
- if (o < 300 && Math.abs(t) > 15)
- return void ((t, o) => {
- const n = Math.abs(t / o)
- t = u.value + (n / 0.003) * (t < 0 ? -1 : 1)
- const a = b(t)
- ;(p.value = +e.swipeDuration), h(a)
- })(t, o)
- const n = b(u.value)
- ;(p.value = 200),
- h(n),
- setTimeout(() => {
- a = !1
- }, 0)
- },
- N = () => {
- const r = { height: `${e.optionHeight}px` }
- return e.options.map((l, i) => {
- const c = l[e.fields.text],
- { disabled: d } = l,
- u = l[e.fields.value],
- m = {
- role: 'button',
- style: r,
- tabindex: d ? -1 : 0,
- class: [so('item', { disabled: d, selected: u === e.value }), l.className],
- onClick: () =>
- ((t) => {
- a || g() || ((s = null), (p.value = 200), h(t), o('clickOption', e.options[t]))
- })(i)
- },
- f = { class: 'van-ellipsis', [e.allowHtml ? 'innerHTML' : 'textContent']: c }
- return t.createVNode('li', m, [
- n.option ? n.option(l, i) : t.createVNode('div', f, null)
- ])
- })
- }
- return (
- D(co),
- Qe({ stopMomentum: w }),
- t.watchEffect(() => {
- const t = e.options.findIndex((t) => t[e.fields.value] === e.value),
- o = -ao(e.options, t) * e.optionHeight
- u.value = o
- }),
- j(
- 'touchmove',
- (t) => {
- if (g()) return
- m.move(t), m.isVertical() && ((a = !0), le(t, !0))
- const n = ye(r + m.deltaY.value, -f() * e.optionHeight, e.optionHeight),
- s = b(n)
- s !== y.value && o('scrollInto', e.options[s]), (u.value = n)
- const c = Date.now()
- c - l > 300 && ((l = c), (i = n))
- },
- { target: c }
- ),
- () =>
- t.createVNode(
- 'div',
- { ref: c, class: so(), onTouchstartPassive: x, onTouchend: V, onTouchcancel: V },
- [
- t.createVNode(
- 'ul',
- {
- ref: d,
- style: {
- transform: `translate3d(0, ${u.value + v()}px, 0)`,
- transitionDuration: `${p.value}ms`,
- transitionProperty: p.value ? 'all' : 'none'
- },
- class: so('wrapper'),
- onTransitionend: w
- },
- [N()]
- )
- ]
- )
- )
- }
- })
- const [po] = Ie('picker-toolbar'),
- mo = { title: String, cancelButtonText: String, confirmButtonText: String },
- fo = ['cancel', 'confirm', 'title', 'toolbar'],
- vo = Object.keys(mo)
- var ho = t.defineComponent({
- name: po,
- props: mo,
- emits: ['confirm', 'cancel'],
- setup(e, { emit: o, slots: n }) {
- const a = () => o('cancel'),
- r = () => o('confirm'),
- l = () => {
- const o = e.cancelButtonText || oo('cancel')
- return t.createVNode(
- 'button',
- { type: 'button', class: [to('cancel'), Fe], onClick: a },
- [n.cancel ? n.cancel() : o]
- )
- },
- i = () => {
- const o = e.confirmButtonText || oo('confirm')
- return t.createVNode(
- 'button',
- { type: 'button', class: [to('confirm'), Fe], onClick: r },
- [n.confirm ? n.confirm() : o]
- )
- }
- return () =>
- t.createVNode('div', { class: to('toolbar') }, [
- n.toolbar
- ? n.toolbar()
- : [
- l(),
- n.title
- ? n.title()
- : e.title
- ? t.createVNode('div', { class: [to('title'), 'van-ellipsis'] }, [e.title])
- : void 0,
- i()
- ]
- ])
- }
- })
- const go = (e, o) => {
- const n = t.ref(e())
- return (
- t.watch(e, (e) => {
- e !== n.value && (n.value = e)
- }),
- t.watch(n, (t) => {
- t !== e() && o(t)
- }),
- n
- )
- }
- let bo = 0
- function yo() {
- const e = t.getCurrentInstance(),
- { name: o = 'unknown' } = (null == e ? void 0 : e.type) || {}
- return `${o}-${++bo}`
- }
- function wo() {
- const e = t.ref([]),
- o = []
- t.onBeforeUpdate(() => {
- e.value = []
- })
- return [
- e,
- (t) => (
- o[t] ||
- (o[t] = (o) => {
- e.value[t] = o
- }),
- o[t]
- )
- ]
- }
- function xo(e, o) {
- if (!u || !window.IntersectionObserver) return
- const n = new IntersectionObserver(
- (e) => {
- o(e[0].intersectionRatio > 0)
- },
- { root: document.body }
- ),
- a = () => {
- e.value && n.unobserve(e.value)
- }
- t.onDeactivated(a),
- t.onBeforeUnmount(a),
- H(() => {
- e.value && n.observe(e.value)
- })
- }
- const [Vo, No] = Ie('sticky'),
- ko = { zIndex: g, position: N('top'), container: Object, offsetTop: V(0), offsetBottom: V(0) }
- const Co = We(
- t.defineComponent({
- name: Vo,
- props: ko,
- emits: ['scroll', 'change'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = Z(a),
- l = t.reactive({ fixed: !1, width: 0, height: 0, transform: 0 }),
- i = t.ref(!1),
- s = t.computed(() => ve('top' === e.position ? e.offsetTop : e.offsetBottom)),
- c = t.computed(() => {
- if (i.value) return
- const { fixed: e, height: t, width: o } = l
- return e ? { width: `${o}px`, height: `${t}px` } : void 0
- }),
- u = t.computed(() => {
- if (!l.fixed || i.value) return
- const t = d(pe(e.zIndex), {
- width: `${l.width}px`,
- height: `${l.height}px`,
- [e.position]: `${s.value}px`
- })
- return l.transform && (t.transform = `translate3d(0, ${l.transform}px, 0)`), t
- }),
- p = () => {
- if (!a.value || ie(a)) return
- const { container: t, position: n } = e,
- r = P(a),
- i = J(window)
- if (((l.width = r.width), (l.height = r.height), 'top' === n))
- if (t) {
- const e = P(t),
- o = e.bottom - s.value - l.height
- ;(l.fixed = s.value > r.top && e.bottom > 0), (l.transform = o < 0 ? o : 0)
- } else l.fixed = s.value > r.top
- else {
- const { clientHeight: e } = document.documentElement
- if (t) {
- const o = P(t),
- n = e - o.top - s.value - l.height
- ;(l.fixed = e - s.value < r.bottom && e > o.top), (l.transform = n < 0 ? -n : 0)
- } else l.fixed = e - s.value < r.bottom
- }
- ;((e) => {
- o('scroll', { scrollTop: e, isFixed: l.fixed })
- })(i)
- }
- return (
- t.watch(
- () => l.fixed,
- (e) => o('change', e)
- ),
- j('scroll', p, { target: r, passive: !0 }),
- xo(a, p),
- t.watch([se, ce], () => {
- a.value &&
- !ie(a) &&
- l.fixed &&
- ((i.value = !0),
- t.nextTick(() => {
- const e = P(a)
- ;(l.width = e.width), (l.height = e.height), (i.value = !1)
- }))
- }),
- () => {
- var e
- return t.createVNode('div', { ref: a, style: c.value }, [
- t.createVNode(
- 'div',
- { class: No({ fixed: l.fixed && !i.value }), style: u.value },
- [null == (e = n.default) ? void 0 : e.call(n)]
- )
- ])
- }
- )
- }
- })
- ),
- [So, To] = Ie('swipe'),
- Bo = {
- loop: b,
- width: g,
- height: g,
- vertical: Boolean,
- autoplay: V(0),
- duration: V(500),
- touchable: b,
- lazyRender: Boolean,
- initialSwipe: V(0),
- indicatorColor: String,
- showIndicators: b,
- stopPropagation: b
- },
- Po = Symbol(So)
- const Do = We(
- t.defineComponent({
- name: So,
- props: Bo,
- emits: ['change', 'dragStart', 'dragEnd'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = t.ref(),
- l = t.reactive({ rect: null, width: 0, height: 0, offset: 0, active: 0, swiping: !1 })
- let i = !1
- const s = $t(),
- { children: c, linkChildren: d } = A(Po),
- u = t.computed(() => c.length),
- p = t.computed(() => l[e.vertical ? 'height' : 'width']),
- m = t.computed(() => (e.vertical ? s.deltaY.value : s.deltaX.value)),
- f = t.computed(() => {
- if (l.rect) {
- return (e.vertical ? l.rect.height : l.rect.width) - p.value * u.value
- }
- return 0
- }),
- v = t.computed(() => (p.value ? Math.ceil(Math.abs(f.value) / p.value) : u.value)),
- h = t.computed(() => u.value * p.value),
- g = t.computed(() => (l.active + u.value) % u.value),
- b = t.computed(() => {
- const t = e.vertical ? 'vertical' : 'horizontal'
- return s.direction.value === t
- }),
- y = t.computed(() => {
- const t = {
- transitionDuration: `${l.swiping ? 0 : e.duration}ms`,
- transform: `translate${e.vertical ? 'Y' : 'X'}(${l.offset}px)`
- }
- if (p.value) {
- const o = e.vertical ? 'height' : 'width',
- n = e.vertical ? 'width' : 'height'
- ;(t[o] = `${h.value}px`), (t[n] = e[n] ? `${e[n]}px` : '')
- }
- return t
- }),
- w = (t, o = 0) => {
- let n = t * p.value
- e.loop || (n = Math.min(n, -f.value))
- let a = o - n
- return e.loop || (a = ye(a, f.value, 0)), a
- },
- x = ({ pace: t = 0, offset: n = 0, emitChange: a }) => {
- if (u.value <= 1) return
- const { active: r } = l,
- i = ((t) => {
- const { active: o } = l
- return t ? (e.loop ? ye(o + t, -1, u.value) : ye(o + t, 0, v.value)) : o
- })(t),
- s = w(i, n)
- if (e.loop) {
- if (c[0] && s !== f.value) {
- const e = s < f.value
- c[0].setOffset(e ? h.value : 0)
- }
- if (c[u.value - 1] && 0 !== s) {
- const e = s > 0
- c[u.value - 1].setOffset(e ? -h.value : 0)
- }
- }
- ;(l.active = i), (l.offset = s), a && i !== r && o('change', g.value)
- },
- V = () => {
- ;(l.swiping = !0),
- l.active <= -1 ? x({ pace: u.value }) : l.active >= u.value && x({ pace: -u.value })
- },
- N = () => {
- V(),
- s.reset(),
- T(() => {
- ;(l.swiping = !1), x({ pace: 1, emitChange: !0 })
- })
- }
- let C
- const S = () => clearTimeout(C),
- B = () => {
- S(),
- +e.autoplay > 0 &&
- u.value > 1 &&
- (C = setTimeout(() => {
- N(), B()
- }, +e.autoplay))
- },
- P = (o = +e.initialSwipe) => {
- if (!a.value) return
- const n = () => {
- var t, n
- if (!ie(a)) {
- const o = { width: a.value.offsetWidth, height: a.value.offsetHeight }
- ;(l.rect = o),
- (l.width = +(null != (t = e.width) ? t : o.width)),
- (l.height = +(null != (n = e.height) ? n : o.height))
- }
- u.value && -1 === (o = Math.min(u.value - 1, o)) && (o = u.value - 1),
- (l.active = o),
- (l.swiping = !0),
- (l.offset = w(o)),
- c.forEach((e) => {
- e.setOffset(0)
- }),
- B()
- }
- ie(a) ? t.nextTick().then(n) : n()
- },
- D = () => P(l.active)
- let O
- const I = (t) => {
- !e.touchable ||
- t.touches.length > 1 ||
- (s.start(t), (i = !1), (O = Date.now()), S(), V())
- },
- z = () => {
- if (!e.touchable || !l.swiping) return
- const t = Date.now() - O,
- n = m.value / t
- if ((Math.abs(n) > 0.25 || Math.abs(m.value) > p.value / 2) && b.value) {
- const t = e.vertical ? s.offsetY.value : s.offsetX.value
- let o = 0
- ;(o = e.loop
- ? t > 0
- ? m.value > 0
- ? -1
- : 1
- : 0
- : -Math[m.value > 0 ? 'ceil' : 'floor'](m.value / p.value)),
- x({ pace: o, emitChange: !0 })
- } else m.value && x({ pace: 0 })
- ;(i = !1), (l.swiping = !1), o('dragEnd', { index: g.value }), B()
- },
- E = (o, n) => {
- const a = n === g.value,
- r = a ? { backgroundColor: e.indicatorColor } : void 0
- return t.createVNode('i', { style: r, class: To('indicator', { active: a }) }, null)
- }
- return (
- Qe({
- prev: () => {
- V(),
- s.reset(),
- T(() => {
- ;(l.swiping = !1), x({ pace: -1, emitChange: !0 })
- })
- },
- next: N,
- state: l,
- resize: D,
- swipeTo: (t, o = {}) => {
- V(),
- s.reset(),
- T(() => {
- let n
- ;(n = e.loop && t === u.value ? (0 === l.active ? 0 : t) : t % u.value),
- o.immediate
- ? T(() => {
- l.swiping = !1
- })
- : (l.swiping = !1),
- x({ pace: n - l.active, emitChange: !0 })
- })
- }
- }),
- d({ size: p, props: e, count: u, activeIndicator: g }),
- t.watch(
- () => e.initialSwipe,
- (e) => P(+e)
- ),
- t.watch(u, () => P(l.active)),
- t.watch(() => e.autoplay, B),
- t.watch([se, ce, () => e.width, () => e.height], D),
- t.watch(
- (function () {
- if (!U && ((U = t.ref('visible')), k)) {
- const e = () => {
- U.value = document.hidden ? 'hidden' : 'visible'
- }
- e(), window.addEventListener('visibilitychange', e)
- }
- return U
- })(),
- (e) => {
- 'visible' === e ? B() : S()
- }
- ),
- t.onMounted(P),
- t.onActivated(() => P(l.active)),
- Ye(() => P(l.active)),
- t.onDeactivated(S),
- t.onBeforeUnmount(S),
- j(
- 'touchmove',
- (t) => {
- if (e.touchable && l.swiping && (s.move(t), b.value)) {
- ;(!e.loop &&
- ((0 === l.active && m.value > 0) ||
- (l.active === u.value - 1 && m.value < 0))) ||
- (le(t, e.stopPropagation),
- x({ offset: m.value }),
- i || (o('dragStart', { index: g.value }), (i = !0)))
- }
- },
- { target: r }
- ),
- () => {
- var o
- return t.createVNode('div', { ref: a, class: To() }, [
- t.createVNode(
- 'div',
- {
- ref: r,
- style: y.value,
- class: To('track', { vertical: e.vertical }),
- onTouchstartPassive: I,
- onTouchend: z,
- onTouchcancel: z
- },
- [null == (o = n.default) ? void 0 : o.call(n)]
- ),
- n.indicator
- ? n.indicator({ active: g.value, total: u.value })
- : e.showIndicators && u.value > 1
- ? t.createVNode('div', { class: To('indicators', { vertical: e.vertical }) }, [
- Array(u.value).fill('').map(E)
- ])
- : void 0
- ])
- }
- )
- }
- })
- ),
- [Oo, Io] = Ie('tabs')
- var Ao = t.defineComponent({
- name: Oo,
- props: {
- count: y(Number),
- inited: Boolean,
- animated: Boolean,
- duration: y(g),
- swipeable: Boolean,
- lazyRender: Boolean,
- currentIndex: y(Number)
- },
- emits: ['change'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = (e) => o('change', e),
- l = () => {
- var o
- const l = null == (o = n.default) ? void 0 : o.call(n)
- return e.animated || e.swipeable
- ? t.createVNode(
- Do,
- {
- ref: a,
- loop: !1,
- class: Io('track'),
- duration: 1e3 * +e.duration,
- touchable: e.swipeable,
- lazyRender: e.lazyRender,
- showIndicators: !1,
- onChange: r
- },
- { default: () => [l] }
- )
- : l
- },
- i = (t) => {
- const o = a.value
- o && o.state.active !== t && o.swipeTo(t, { immediate: !e.inited })
- }
- return (
- t.watch(() => e.currentIndex, i),
- t.onMounted(() => {
- i(e.currentIndex)
- }),
- Qe({ swipeRef: a }),
- () =>
- t.createVNode('div', { class: Io('content', { animated: e.animated || e.swipeable }) }, [
- l()
- ])
- )
- }
- })
- const [zo, Eo] = Ie('tabs'),
- Lo = {
- type: N('line'),
- color: String,
- border: Boolean,
- sticky: Boolean,
- shrink: Boolean,
- active: V(0),
- duration: V(0.3),
- animated: Boolean,
- ellipsis: b,
- swipeable: Boolean,
- scrollspy: Boolean,
- offsetTop: V(0),
- background: String,
- lazyRender: b,
- lineWidth: g,
- lineHeight: g,
- beforeChange: Function,
- swipeThreshold: V(5),
- titleActiveColor: String,
- titleInactiveColor: String
- },
- $o = Symbol(zo)
- var Mo = t.defineComponent({
- name: zo,
- props: Lo,
- emits: ['change', 'scroll', 'rendered', 'clickTab', 'update:active'],
- setup(e, { emit: n, slots: a }) {
- let r, l, i, s, c
- const d = t.ref(),
- u = t.ref(),
- p = t.ref(),
- m = t.ref(),
- f = yo(),
- v = Z(d),
- [h, g] = wo(),
- { children: b, linkChildren: y } = A($o),
- w = t.reactive({ inited: !1, position: '', lineStyle: {}, currentIndex: -1 }),
- x = t.computed(() => b.length > +e.swipeThreshold || !e.ellipsis || e.shrink),
- V = t.computed(() => ({ borderColor: e.color, background: e.background })),
- N = (e, t) => {
- var o
- return null != (o = e.name) ? o : t
- },
- k = t.computed(() => {
- const e = b[w.currentIndex]
- if (e) return N(e, w.currentIndex)
- }),
- T = t.computed(() => ve(e.offsetTop)),
- B = t.computed(() => (e.sticky ? T.value + r : 0)),
- D = (t) => {
- const o = u.value,
- n = h.value
- if (!(x.value && o && n && n[w.currentIndex])) return
- const a = n[w.currentIndex].$el,
- r = a.offsetLeft - (o.offsetWidth - a.offsetWidth) / 2
- s && s(),
- (s = (function (e, t, o) {
- let n,
- a = 0
- const r = e.scrollLeft,
- l = 0 === o ? 1 : Math.round((1e3 * o) / 16)
- return (
- (function o() {
- ;(e.scrollLeft += (t - r) / l), ++a < l && (n = C(o))
- })(),
- function () {
- S(n)
- }
- )
- })(o, r, t ? 0 : +e.duration))
- },
- O = () => {
- const n = w.inited
- t.nextTick(() => {
- const t = h.value
- if (!t || !t[w.currentIndex] || 'line' !== e.type || ie(d.value)) return
- const a = t[w.currentIndex].$el,
- { lineWidth: r, lineHeight: l } = e,
- i = a.offsetLeft + a.offsetWidth / 2,
- s = {
- width: de(r),
- backgroundColor: e.color,
- transform: `translateX(${i}px) translateX(-50%)`
- }
- if ((n && (s.transitionDuration = `${e.duration}s`), o(l))) {
- const e = de(l)
- ;(s.height = e), (s.borderRadius = e)
- }
- w.lineStyle = s
- })
- },
- I = (t, a) => {
- const r = ((e) => {
- const t = e < w.currentIndex ? -1 : 1
- for (; e >= 0 && e < b.length; ) {
- if (!b[e].disabled) return e
- e += t
- }
- })(t)
- if (!o(r)) return
- const l = b[r],
- s = N(l, r),
- c = null !== w.currentIndex
- w.currentIndex !== r && ((w.currentIndex = r), a || D(), O()),
- s !== e.active && (n('update:active', s), c && n('change', s, l.title)),
- i && !e.scrollspy && te(Math.ceil(oe(d.value) - T.value))
- },
- z = (e, t) => {
- const o = b.find((t, o) => N(t, o) === e),
- n = o ? b.indexOf(o) : 0
- I(n, t)
- },
- E = (t = !1) => {
- if (e.scrollspy) {
- const o = b[w.currentIndex].$el
- if (o && v.value) {
- const n = oe(o, v.value) - B.value
- ;(l = !0),
- c && c(),
- (c = (function (e, t, o, n) {
- let a,
- r = J(e)
- const l = r < t,
- i = 0 === o ? 1 : Math.round((1e3 * o) / 16),
- s = (t - r) / i
- return (
- (function o() {
- ;(r += s),
- ((l && r > t) || (!l && r < t)) && (r = t),
- Q(e, r),
- (l && r < t) || (!l && r > t) ? (a = C(o)) : n && (a = C(n))
- })(),
- function () {
- S(a)
- }
- )
- })(v.value, n, t ? 0 : +e.duration, () => {
- l = !1
- }))
- }
- }
- },
- L = (t, o, a) => {
- const { title: r, disabled: l } = b[o],
- i = N(b[o], o)
- l ||
- (je(e.beforeChange, {
- args: [i],
- done: () => {
- I(o), E()
- }
- }),
- tt(t)),
- n('clickTab', { name: i, title: r, event: a, disabled: l })
- },
- $ = (e) => {
- ;(i = e.isFixed), n('scroll', e)
- },
- M = () => {
- if ('line' === e.type && b.length)
- return t.createVNode('div', { class: Eo('line'), style: w.lineStyle }, null)
- },
- R = () => {
- var o, n, r
- const { type: l, border: i, sticky: s } = e,
- c = [
- t.createVNode(
- 'div',
- { ref: s ? void 0 : p, class: [Eo('wrap'), { [Me]: 'line' === l && i }] },
- [
- t.createVNode(
- 'div',
- {
- ref: u,
- role: 'tablist',
- class: Eo('nav', [l, { shrink: e.shrink, complete: x.value }]),
- style: V.value,
- 'aria-orientation': 'horizontal'
- },
- [
- null == (o = a['nav-left']) ? void 0 : o.call(a),
- b.map((e) => e.renderTitle(L)),
- M(),
- null == (n = a['nav-right']) ? void 0 : n.call(a)
- ]
- )
- ]
- ),
- null == (r = a['nav-bottom']) ? void 0 : r.call(a)
- ]
- return s ? t.createVNode('div', { ref: p }, [c]) : c
- },
- F = () => {
- O(),
- t.nextTick(() => {
- var e, t
- D(!0), null == (t = null == (e = m.value) ? void 0 : e.swipeRef.value) || t.resize()
- })
- }
- t.watch(() => [e.color, e.duration, e.lineWidth, e.lineHeight], O),
- t.watch(se, F),
- t.watch(
- () => e.active,
- (e) => {
- e !== k.value && z(e)
- }
- ),
- t.watch(
- () => b.length,
- () => {
- w.inited &&
- (z(e.active),
- O(),
- t.nextTick(() => {
- D(!0)
- }))
- }
- )
- return (
- Qe({
- resize: F,
- scrollTo: (e) => {
- t.nextTick(() => {
- z(e), E(!0)
- })
- }
- }),
- t.onActivated(O),
- Ye(O),
- H(() => {
- z(e.active, !0),
- t.nextTick(() => {
- ;(w.inited = !0), p.value && (r = P(p.value).height), D(!0)
- })
- }),
- xo(d, O),
- j(
- 'scroll',
- () => {
- if (e.scrollspy && !l) {
- const e = (() => {
- for (let e = 0; e < b.length; e++) {
- const { top: t } = P(b[e].$el)
- if (t > B.value) return 0 === e ? 0 : e - 1
- }
- return b.length - 1
- })()
- I(e)
- }
- },
- { target: v, passive: !0 }
- ),
- y({
- id: f,
- props: e,
- setLine: O,
- scrollable: x,
- onRendered: (e, t) => n('rendered', e, t),
- currentName: k,
- setTitleRefs: g,
- scrollIntoView: D
- }),
- () =>
- t.createVNode('div', { ref: d, class: Eo([e.type]) }, [
- e.sticky
- ? t.createVNode(
- Co,
- { container: d.value, offsetTop: T.value, onScroll: $ },
- { default: () => [R()] }
- )
- : R(),
- t.createVNode(
- Ao,
- {
- ref: m,
- count: b.length,
- inited: w.inited,
- animated: e.animated,
- duration: e.duration,
- swipeable: e.swipeable,
- lazyRender: e.lazyRender,
- currentIndex: w.currentIndex,
- onChange: I
- },
- {
- default: () => {
- var e
- return [null == (e = a.default) ? void 0 : e.call(a)]
- }
- }
- )
- ])
- )
- }
- })
- const Ro = Symbol(),
- [Fo, Ho] = Ie('tab'),
- jo = t.defineComponent({
- name: Fo,
- props: {
- id: String,
- dot: Boolean,
- type: String,
- color: String,
- title: String,
- badge: g,
- shrink: Boolean,
- isActive: Boolean,
- disabled: Boolean,
- controls: String,
- scrollable: Boolean,
- activeColor: String,
- inactiveColor: String,
- showZeroBadge: b
- },
- setup(e, { slots: n }) {
- const a = t.computed(() => {
- const t = {},
- { type: o, color: n, disabled: a, isActive: r, activeColor: l, inactiveColor: i } = e
- n &&
- 'card' === o &&
- ((t.borderColor = n), a || (r ? (t.backgroundColor = n) : (t.color = n)))
- const s = r ? l : i
- return s && (t.color = s), t
- }),
- r = () => {
- const a = t.createVNode('span', { class: Ho('text', { ellipsis: !e.scrollable }) }, [
- n.title ? n.title() : e.title
- ])
- return e.dot || (o(e.badge) && '' !== e.badge)
- ? t.createVNode(
- lt,
- { dot: e.dot, content: e.badge, showZero: e.showZeroBadge },
- { default: () => [a] }
- )
- : a
- }
- return () =>
- t.createVNode(
- 'div',
- {
- id: e.id,
- role: 'tab',
- class: [
- Ho([
- e.type,
- {
- grow: e.scrollable && !e.shrink,
- shrink: e.shrink,
- active: e.isActive,
- disabled: e.disabled
- }
- ])
- ],
- style: a.value,
- tabindex: e.disabled ? void 0 : e.isActive ? 0 : -1,
- 'aria-selected': e.isActive,
- 'aria-disabled': e.disabled || void 0,
- 'aria-controls': e.controls
- },
- [r()]
- )
- }
- }),
- [Wo, Uo] = Ie('swipe-item')
- const Yo = We(
- t.defineComponent({
- name: Wo,
- setup(e, { slots: o }) {
- let n
- const a = t.reactive({ offset: 0, inited: !1, mounted: !1 }),
- { parent: r, index: l } = D(Po)
- if (!r) return
- const i = t.computed(() => {
- const e = {},
- { vertical: t } = r.props
- return (
- r.size.value && (e[t ? 'height' : 'width'] = `${r.size.value}px`),
- a.offset && (e.transform = `translate${t ? 'Y' : 'X'}(${a.offset}px)`),
- e
- )
- }),
- s = t.computed(() => {
- const { loop: e, lazyRender: t } = r.props
- if (!t || n) return !0
- if (!a.mounted) return !1
- const o = r.activeIndicator.value,
- i = r.count.value - 1,
- s = 0 === o && e ? i : o - 1,
- c = o === i && e ? 0 : o + 1
- return (n = l.value === o || l.value === s || l.value === c), n
- })
- return (
- t.onMounted(() => {
- t.nextTick(() => {
- a.mounted = !0
- })
- }),
- Qe({
- setOffset: (e) => {
- a.offset = e
- }
- }),
- () => {
- var e
- return t.createVNode('div', { class: Uo(), style: i.value }, [
- s.value ? (null == (e = o.default) ? void 0 : e.call(o)) : null
- ])
- }
- )
- }
- })
- ),
- [qo, Xo] = Ie('tab'),
- Go = d({}, et, {
- dot: Boolean,
- name: g,
- badge: g,
- title: String,
- disabled: Boolean,
- titleClass: h,
- titleStyle: [String, Object],
- showZeroBadge: b
- })
- const Zo = We(
- t.defineComponent({
- name: qo,
- props: Go,
- setup(e, { slots: o }) {
- const n = yo(),
- a = t.ref(!1),
- r = t.getCurrentInstance(),
- { parent: l, index: i } = D($o)
- if (!l) return
- const s = () => {
- var t
- return null != (t = e.name) ? t : i.value
- },
- c = t.computed(() => {
- const o = s() === l.currentName.value
- return (
- o &&
- !a.value &&
- ((a.value = !0),
- l.props.lazyRender &&
- t.nextTick(() => {
- l.onRendered(s(), e.title)
- })),
- o
- )
- }),
- d = t.ref(!c.value)
- return (
- t.watch(c, (e) => {
- e
- ? (d.value = !1)
- : T(() => {
- d.value = !0
- })
- }),
- t.watch(
- () => e.title,
- () => {
- l.setLine(), l.scrollIntoView()
- }
- ),
- t.provide(Ro, c),
- Qe({
- id: n,
- renderTitle: (a) =>
- t.createVNode(
- jo,
- t.mergeProps(
- {
- key: n,
- id: `${l.id}-${i.value}`,
- ref: l.setTitleRefs(i.value),
- style: e.titleStyle,
- class: e.titleClass,
- isActive: c.value,
- controls: n,
- scrollable: l.scrollable.value,
- activeColor: l.props.titleActiveColor,
- inactiveColor: l.props.titleInactiveColor,
- onClick: (e) => a(r.proxy, i.value, e)
- },
- m(l.props, ['type', 'color', 'shrink']),
- m(e, ['dot', 'badge', 'title', 'disabled', 'showZeroBadge'])
- ),
- { title: o.title }
- )
- }),
- () => {
- var e
- const r = `${l.id}-${i.value}`,
- { animated: s, swipeable: u, scrollspy: p, lazyRender: m } = l.props
- if (!o.default && !s) return
- const f = p || c.value
- if (s || u)
- return t.createVNode(
- Yo,
- {
- id: n,
- role: 'tabpanel',
- class: Xo('panel-wrapper', { inactive: d.value }),
- tabindex: c.value ? 0 : -1,
- 'aria-hidden': !c.value,
- 'aria-labelledby': r
- },
- {
- default: () => {
- var e
- return [
- t.createVNode('div', { class: Xo('panel') }, [
- null == (e = o.default) ? void 0 : e.call(o)
- ])
- ]
- }
- }
- )
- const v = a.value || p || !m ? (null == (e = o.default) ? void 0 : e.call(o)) : null
- return t.withDirectives(
- t.createVNode(
- 'div',
- {
- id: n,
- role: 'tabpanel',
- class: Xo('panel'),
- tabindex: f ? 0 : -1,
- 'aria-labelledby': r
- },
- [v]
- ),
- [[t.vShow, f]]
- )
- }
- )
- }
- })
- ),
- Ko = We(Mo),
- [_o, Jo] = Ie('picker-group'),
- Qo = Symbol(_o),
- en = d({ tabs: w(), activeTab: V(0), nextStepText: String }, mo)
- var tn = t.defineComponent({
- name: _o,
- props: en,
- emits: ['confirm', 'cancel', 'update:activeTab'],
- setup(e, { emit: o, slots: n }) {
- const a = go(
- () => e.activeTab,
- (e) => o('update:activeTab', e)
- ),
- { children: r, linkChildren: l } = A(Qo)
- l()
- const i = () => +a.value < e.tabs.length - 1 && e.nextStepText,
- s = () => {
- i()
- ? (a.value = +a.value + 1)
- : o(
- 'confirm',
- r.map((e) => e.confirm())
- )
- },
- c = () => o('cancel')
- return () => {
- var o
- const r = null == (o = n.default) ? void 0 : o.call(n),
- l = i() ? e.nextStepText : e.confirmButtonText
- return t.createVNode('div', { class: Jo() }, [
- t.createVNode(
- ho,
- {
- title: e.title,
- cancelButtonText: e.cancelButtonText,
- confirmButtonText: l,
- onConfirm: s,
- onCancel: c
- },
- m(n, fo)
- ),
- t.createVNode(
- Ko,
- {
- active: a.value,
- 'onUpdate:active': (e) => (a.value = e),
- class: Jo('tabs'),
- shrink: !0,
- animated: !0,
- lazyRender: !1
- },
- {
- default: () => [
- e.tabs.map((e, o) =>
- t.createVNode(
- Zo,
- { title: e, titleClass: Jo('tab-title') },
- { default: () => [null == r ? void 0 : r[o]] }
- )
- )
- ]
- }
- )
- ])
- }
- }
- })
- const on = d(
- {
- loading: Boolean,
- readonly: Boolean,
- allowHtml: Boolean,
- optionHeight: V(44),
- showToolbar: b,
- swipeDuration: V(1e3),
- visibleOptionNum: V(6)
- },
- mo
- ),
- nn = d({}, on, {
- columns: w(),
- modelValue: w(),
- toolbarPosition: N('top'),
- columnsFieldNames: Object
- })
- var an = t.defineComponent({
- name: eo,
- props: nn,
- emits: ['confirm', 'cancel', 'change', 'scrollInto', 'clickOption', 'update:modelValue'],
- setup(e, { emit: n, slots: a }) {
- const r = t.ref(),
- l = t.ref(e.modelValue.slice(0)),
- { parent: i } = D(Qo),
- { children: s, linkChildren: c } = A(co)
- c()
- const u = t.computed(() =>
- (function (e) {
- return d({ text: 'text', value: 'value', children: 'children' }, e)
- })(e.columnsFieldNames)
- ),
- p = t.computed(() => ve(e.optionHeight)),
- v = t.computed(() =>
- (function (e, t) {
- const o = e[0]
- if (o) {
- if (Array.isArray(o)) return 'multiple'
- if (t.children in o) return 'cascade'
- }
- return 'default'
- })(e.columns, u.value)
- ),
- h = t.computed(() => {
- const { columns: t } = e
- switch (v.value) {
- case 'multiple':
- return t
- case 'cascade':
- return (function (e, t, n) {
- const a = []
- let r = { [t.children]: e },
- l = 0
- for (; r && r[t.children]; ) {
- const e = r[t.children],
- i = n.value[l]
- ;(r = o(i) ? lo(e, i, t) : void 0),
- !r && e.length && (r = lo(e, no(e)[t.value], t)),
- l++,
- a.push(e)
- }
- return a
- })(t, u.value, l)
- default:
- return [t]
- }
- }),
- g = t.computed(() => h.value.some((e) => e.length)),
- b = t.computed(() => h.value.map((e, t) => lo(e, l.value[t], u.value))),
- y = t.computed(() =>
- h.value.map((e, t) => e.findIndex((e) => e[u.value.value] === l.value[t]))
- ),
- w = (e, t) => {
- if (l.value[e] !== t) {
- const o = l.value.slice(0)
- ;(o[e] = t), (l.value = o)
- }
- },
- x = () => ({
- selectedValues: l.value.slice(0),
- selectedOptions: b.value,
- selectedIndexes: y.value
- }),
- V = () => {
- s.forEach((e) => e.stopMomentum())
- const e = x()
- return (
- t.nextTick(() => {
- n('confirm', e)
- }),
- e
- )
- },
- N = () => n('cancel', x()),
- k = () =>
- h.value.map((o, r) =>
- t.createVNode(
- uo,
- {
- value: l.value[r],
- fields: u.value,
- options: o,
- readonly: e.readonly,
- allowHtml: e.allowHtml,
- optionHeight: p.value,
- swipeDuration: e.swipeDuration,
- visibleOptionNum: e.visibleOptionNum,
- onChange: (e) =>
- ((e, o) => {
- w(o, e),
- 'cascade' === v.value &&
- l.value.forEach((e, t) => {
- const o = h.value[t]
- ro(o, e, u.value) || w(t, o.length ? o[0][u.value.value] : void 0)
- }),
- t.nextTick(() => {
- n('change', d({ columnIndex: o }, x()))
- })
- })(e, r),
- onClickOption: (e) =>
- ((e, t) => {
- const o = { columnIndex: t, currentOption: e }
- n('clickOption', d(x(), o)), n('scrollInto', o)
- })(e, r),
- onScrollInto: (e) => {
- n('scrollInto', { currentOption: e, columnIndex: r })
- }
- },
- { option: a.option }
- )
- ),
- C = (e) => {
- if (g.value) {
- const o = { height: `${p.value}px` },
- n = { backgroundSize: `100% ${(e - p.value) / 2}px` }
- return [
- t.createVNode('div', { class: to('mask'), style: n }, null),
- t.createVNode('div', { class: [Re, to('frame')], style: o }, null)
- ]
- }
- },
- S = () => {
- const o = p.value * +e.visibleOptionNum,
- n = { height: `${o}px` }
- return t.createVNode('div', { ref: r, class: to('columns'), style: n }, [k(), C(o)])
- },
- T = () => {
- if (e.showToolbar && !i)
- return t.createVNode(
- ho,
- t.mergeProps(m(e, vo), { onConfirm: V, onCancel: N }),
- m(a, fo)
- )
- }
- let B
- t.watch(
- h,
- (e) => {
- e.forEach((e, t) => {
- e.length && !ro(e, l.value[t], u.value) && w(t, no(e)[u.value.value])
- })
- },
- { immediate: !0 }
- ),
- t.watch(
- () => e.modelValue,
- (e) => {
- f(e, l.value) || f(e, B) || ((l.value = e.slice(0)), (B = e.slice(0)))
- },
- { deep: !0 }
- ),
- t.watch(
- l,
- (t) => {
- f(t, e.modelValue) || ((B = t.slice(0)), n('update:modelValue', B))
- },
- { immediate: !0 }
- ),
- j('touchmove', le, { target: r })
- return (
- Qe({ confirm: V, getSelectedOptions: () => b.value }),
- () => {
- var o, n
- return t.createVNode('div', { class: to() }, [
- 'top' === e.toolbarPosition ? T() : null,
- e.loading ? t.createVNode(Vt, { class: to('loading') }, null) : null,
- null == (o = a['columns-top']) ? void 0 : o.call(a),
- S(),
- null == (n = a['columns-bottom']) ? void 0 : n.call(a),
- 'bottom' === e.toolbarPosition ? T() : null
- ])
- }
- )
- }
- })
- const rn = '000000',
- ln = ['title', 'cancel', 'confirm', 'toolbar', 'columns-top', 'columns-bottom'],
- sn = [
- 'title',
- 'loading',
- 'readonly',
- 'optionHeight',
- 'swipeDuration',
- 'visibleOptionNum',
- 'cancelButtonText',
- 'confirmButtonText'
- ],
- cn = (e = '', t = rn, o) => ({ text: e, value: t, children: o })
- function dn({ areaList: e, columnsNum: t, columnsPlaceholder: o }) {
- const { city_list: n = {}, county_list: a = {}, province_list: r = {} } = e,
- l = +t > 1,
- i = +t > 2,
- s = new Map()
- Object.keys(r).forEach((e) => {
- s.set(
- e.slice(0, 2),
- cn(
- r[e],
- e,
- (() => {
- if (l) return o.length ? [cn(o[0], rn, i ? [] : void 0)] : []
- })()
- )
- )
- })
- const c = new Map()
- if (l) {
- const e = () => {
- if (i) return o.length ? [cn(o[1])] : []
- }
- Object.keys(n).forEach((t) => {
- const o = cn(n[t], t, e())
- c.set(t.slice(0, 4), o)
- const a = s.get(t.slice(0, 2))
- a && a.children.push(o)
- })
- }
- i &&
- Object.keys(a).forEach((e) => {
- const t = c.get(e.slice(0, 4))
- t && t.children.push(cn(a[e], e))
- })
- const d = Array.from(s.values())
- if (o.length) {
- const e = i ? [cn(o[2])] : void 0,
- t = l ? [cn(o[1], rn, e)] : void 0
- d.unshift(cn(o[0], rn, t))
- }
- return d
- }
- const un = We(an),
- [pn, mn] = Ie('area'),
- fn = d({}, m(on, sn), {
- modelValue: String,
- columnsNum: V(3),
- columnsPlaceholder: w(),
- areaList: { type: Object, default: () => ({}) }
- })
- const vn = We(
- t.defineComponent({
- name: pn,
- props: fn,
- emits: ['change', 'confirm', 'cancel', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref([]),
- r = t.ref(),
- l = t.computed(() => dn(e)),
- i = (...e) => o('change', ...e),
- s = (...e) => o('cancel', ...e),
- c = (...e) => o('confirm', ...e)
- return (
- t.watch(
- a,
- (t) => {
- const n = t.length ? t[t.length - 1] : ''
- n && n !== e.modelValue && o('update:modelValue', n)
- },
- { deep: !0 }
- ),
- t.watch(
- () => e.modelValue,
- (t) => {
- if (t) {
- t !== (a.value.length ? a.value[a.value.length - 1] : '') &&
- (a.value = [`${t.slice(0, 2)}0000`, `${t.slice(0, 4)}00`, t].slice(
- 0,
- +e.columnsNum
- ))
- } else a.value = []
- },
- { immediate: !0 }
- ),
- Qe({
- confirm: () => {
- var e
- return null == (e = r.value) ? void 0 : e.confirm()
- },
- getSelectedOptions: () => {
- var e
- return (null == (e = r.value) ? void 0 : e.getSelectedOptions()) || []
- }
- }),
- () =>
- t.createVNode(
- un,
- t.mergeProps(
- {
- ref: r,
- modelValue: a.value,
- 'onUpdate:modelValue': (e) => (a.value = e),
- class: mn(),
- columns: l.value,
- onChange: i,
- onCancel: s,
- onConfirm: c
- },
- m(e, sn)
- ),
- m(n, ln)
- )
- )
- }
- })
- ),
- [hn, gn] = Ie('cell'),
- bn = {
- tag: N('div'),
- icon: String,
- size: String,
- title: g,
- value: g,
- label: g,
- center: Boolean,
- isLink: Boolean,
- border: b,
- required: Boolean,
- iconPrefix: String,
- valueClass: h,
- labelClass: h,
- titleClass: h,
- titleStyle: null,
- arrowDirection: String,
- clickable: { type: Boolean, default: null }
- },
- yn = d({}, bn, et)
- const wn = We(
- t.defineComponent({
- name: hn,
- props: yn,
- setup(e, { slots: n }) {
- const a = ot(),
- r = () => {
- if (n.label || o(e.label))
- return t.createVNode('div', { class: [gn('label'), e.labelClass] }, [
- n.label ? n.label() : e.label
- ])
- },
- l = () => {
- var a
- if (n.title || o(e.title)) {
- const o = null == (a = n.title) ? void 0 : a.call(n)
- if (Array.isArray(o) && 0 === o.length) return
- return t.createVNode(
- 'div',
- { class: [gn('title'), e.titleClass], style: e.titleStyle },
- [o || t.createVNode('span', null, [e.title]), r()]
- )
- }
- },
- i = () => {
- const a = n.value || n.default
- if (a || o(e.value))
- return t.createVNode('div', { class: [gn('value'), e.valueClass] }, [
- a ? a() : t.createVNode('span', null, [e.value])
- ])
- },
- s = () => {
- if (n['right-icon']) return n['right-icon']()
- if (e.isLink) {
- const o =
- e.arrowDirection && 'right' !== e.arrowDirection
- ? `arrow-${e.arrowDirection}`
- : 'arrow'
- return t.createVNode(ht, { name: o, class: gn('right-icon') }, null)
- }
- }
- return () => {
- var o
- const { tag: r, size: c, center: d, border: u, isLink: p, required: m } = e,
- f = null != (o = e.clickable) ? o : p,
- v = { center: d, required: m, clickable: f, borderless: !u }
- return (
- c && (v[c] = !!c),
- t.createVNode(
- r,
- { class: gn(v), role: f ? 'button' : void 0, tabindex: f ? 0 : void 0, onClick: a },
- {
- default: () => {
- var o
- return [
- n.icon
- ? n.icon()
- : e.icon
- ? t.createVNode(
- ht,
- { name: e.icon, class: gn('left-icon'), classPrefix: e.iconPrefix },
- null
- )
- : void 0,
- l(),
- i(),
- s(),
- null == (o = n.extra) ? void 0 : o.call(n)
- ]
- }
- }
- )
- )
- }
- }
- })
- ),
- [xn, Vn] = Ie('form'),
- Nn = {
- colon: Boolean,
- disabled: Boolean,
- readonly: Boolean,
- showError: Boolean,
- labelWidth: g,
- labelAlign: String,
- inputAlign: String,
- scrollToError: Boolean,
- validateFirst: Boolean,
- submitOnEnter: b,
- showErrorMessage: b,
- errorMessageAlign: String,
- validateTrigger: { type: [String, Array], default: 'onBlur' }
- }
- const kn = We(
- t.defineComponent({
- name: xn,
- props: Nn,
- emits: ['submit', 'failed'],
- setup(e, { emit: o, slots: n }) {
- const { children: a, linkChildren: r } = A(He),
- l = (e) => (e ? a.filter((t) => e.includes(t.name)) : a),
- i = (t) => {
- return 'string' == typeof t
- ? ((e) => {
- const t = a.find((t) => t.name === e)
- return t
- ? new Promise((e, o) => {
- t.validate().then((t) => {
- t ? o(t) : e()
- })
- })
- : Promise.reject()
- })(t)
- : e.validateFirst
- ? ((o = t),
- new Promise((e, t) => {
- const n = []
- l(o)
- .reduce(
- (e, t) =>
- e.then(() => {
- if (!n.length)
- return t.validate().then((e) => {
- e && n.push(e)
- })
- }),
- Promise.resolve()
- )
- .then(() => {
- n.length ? t(n) : e()
- })
- }))
- : ((e) =>
- new Promise((t, o) => {
- const n = l(e)
- Promise.all(n.map((e) => e.validate())).then((e) => {
- ;(e = e.filter(Boolean)).length ? o(e) : t()
- })
- }))(t)
- var o
- },
- s = (e, t) => {
- a.some((o) => o.name === e && (o.$el.scrollIntoView(t), !0))
- },
- c = () =>
- a.reduce((e, t) => (void 0 !== t.name && (e[t.name] = t.formValue.value), e), {}),
- d = () => {
- const t = c()
- i()
- .then(() => o('submit', t))
- .catch((n) => {
- o('failed', { values: t, errors: n }), e.scrollToError && n[0].name && s(n[0].name)
- })
- },
- u = (e) => {
- le(e), d()
- }
- return (
- r({ props: e }),
- Qe({
- submit: d,
- validate: i,
- getValues: c,
- scrollToField: s,
- resetValidation: (e) => {
- 'string' == typeof e && (e = [e])
- l(e).forEach((e) => {
- e.resetValidation()
- })
- },
- getValidationStatus: () =>
- a.reduce((e, t) => ((e[t.name] = t.getValidationStatus()), e), {})
- }),
- () => {
- var e
- return t.createVNode('form', { class: Vn(), onSubmit: u }, [
- null == (e = n.default) ? void 0 : e.call(n)
- ])
- }
- )
- }
- })
- )
- function Cn(e) {
- return Array.isArray(e) ? !e.length : 0 !== e && !e
- }
- function Sn(e, t) {
- const { message: o } = t
- return n(o) ? o(e, t) : o || ''
- }
- function Tn({ target: e }) {
- e.composing = !0
- }
- function Bn({ target: e }) {
- e.composing && ((e.composing = !1), e.dispatchEvent(new Event('input')))
- }
- function Pn(e) {
- return [...e].length
- }
- function Dn(e, t) {
- return [...e].slice(0, t).join('')
- }
- const [On, In] = Ie('field'),
- An = {
- id: String,
- name: String,
- leftIcon: String,
- rightIcon: String,
- autofocus: Boolean,
- clearable: Boolean,
- maxlength: g,
- formatter: Function,
- clearIcon: N('clear'),
- modelValue: V(''),
- inputAlign: String,
- placeholder: String,
- autocomplete: String,
- errorMessage: String,
- enterkeyhint: String,
- clearTrigger: N('focus'),
- formatTrigger: N('onChange'),
- error: { type: Boolean, default: null },
- disabled: { type: Boolean, default: null },
- readonly: { type: Boolean, default: null }
- },
- zn = d({}, bn, An, {
- rows: g,
- type: N('text'),
- rules: Array,
- autosize: [Boolean, Object],
- labelWidth: g,
- labelClass: h,
- labelAlign: String,
- showWordLimit: Boolean,
- errorMessageAlign: String,
- colon: { type: Boolean, default: null }
- })
- const En = We(
- t.defineComponent({
- name: On,
- props: zn,
- emits: [
- 'blur',
- 'focus',
- 'clear',
- 'keypress',
- 'clickInput',
- 'endValidate',
- 'startValidate',
- 'clickLeftIcon',
- 'clickRightIcon',
- 'update:modelValue'
- ],
- setup(e, { emit: n, slots: l }) {
- const i = yo(),
- s = t.reactive({ status: 'unvalidated', focused: !1, validateMessage: '' }),
- c = t.ref(),
- d = t.ref(),
- u = t.ref(),
- { parent: p } = D(He),
- m = () => {
- var t
- return String(null != (t = e.modelValue) ? t : '')
- },
- f = (t) => (o(e[t]) ? e[t] : p && o(p.props[t]) ? p.props[t] : void 0),
- h = t.computed(() => {
- const t = f('readonly')
- if (e.clearable && !t) {
- const t = '' !== m(),
- o = 'always' === e.clearTrigger || ('focus' === e.clearTrigger && s.focused)
- return t && o
- }
- return !1
- }),
- g = t.computed(() => (u.value && l.input ? u.value() : e.modelValue)),
- b = (e) =>
- e.reduce(
- (e, t) =>
- e.then(() => {
- if ('failed' === s.status) return
- let { value: e } = g
- if (
- (t.formatter && (e = t.formatter(e, t)),
- !(function (e, t) {
- if (Cn(e)) {
- if (t.required) return !1
- if (!1 === t.validateEmpty) return !0
- }
- return !(t.pattern && !t.pattern.test(String(e)))
- })(e, t))
- )
- return (s.status = 'failed'), void (s.validateMessage = Sn(e, t))
- if (t.validator) {
- if (Cn(e) && !1 === t.validateEmpty) return
- return (function (e, t) {
- return new Promise((o) => {
- const n = t.validator(e, t)
- r(n) ? n.then(o) : o(n)
- })
- })(e, t).then((o) => {
- o && 'string' == typeof o
- ? ((s.status = 'failed'), (s.validateMessage = o))
- : !1 === o && ((s.status = 'failed'), (s.validateMessage = Sn(e, t)))
- })
- }
- }),
- Promise.resolve()
- ),
- y = () => {
- ;(s.status = 'unvalidated'), (s.validateMessage = '')
- },
- w = () => n('endValidate', { status: s.status, message: s.validateMessage }),
- x = (t = e.rules) =>
- new Promise((o) => {
- y(),
- t
- ? (n('startValidate'),
- b(t).then(() => {
- 'failed' === s.status
- ? (o({ name: e.name, message: s.validateMessage }), w())
- : ((s.status = 'passed'), o(), w())
- }))
- : o()
- }),
- V = (t) => {
- if (p && e.rules) {
- const { validateTrigger: o } = p.props,
- n = v(o).includes(t),
- a = e.rules.filter((e) => (e.trigger ? v(e.trigger).includes(t) : n))
- a.length && x(a)
- }
- },
- N = (t, a = 'onChange') => {
- const r = t
- t = ((t) => {
- var n
- const { maxlength: a } = e
- if (o(a) && Pn(t) > +a) {
- const e = m()
- if (e && Pn(e) === +a) return e
- const o = null == (n = c.value) ? void 0 : n.selectionEnd
- if (s.focused && o) {
- const e = [...t],
- n = e.length - +a
- return e.splice(o - n, n), e.join('')
- }
- return Dn(t, +a)
- }
- return t
- })(t)
- const l = Pn(r) - Pn(t)
- if ('number' === e.type || 'digit' === e.type) {
- const o = 'number' === e.type
- t = xe(t, o, o)
- }
- let i = 0
- if (e.formatter && a === e.formatTrigger) {
- const { formatter: n, maxlength: a } = e
- if (((t = n(t)), o(a) && Pn(t) > +a && (t = Dn(t, +a)), c.value && s.focused)) {
- const { selectionEnd: e } = c.value,
- t = Dn(r, e)
- i = Pn(n(t)) - Pn(t)
- }
- }
- if (c.value && c.value.value !== t)
- if (s.focused) {
- let { selectionStart: e, selectionEnd: n } = c.value
- if (((c.value.value = t), o(e) && o(n))) {
- const o = Pn(t)
- l ? ((e -= l), (n -= l)) : i && ((e += i), (n += i)),
- c.value.setSelectionRange(Math.min(e, o), Math.min(n, o))
- }
- } else c.value.value = t
- t !== e.modelValue && n('update:modelValue', t)
- },
- k = (e) => {
- e.target.composing || N(e.target.value)
- },
- C = () => {
- var e
- return null == (e = c.value) ? void 0 : e.blur()
- },
- S = () => {
- var e
- return null == (e = c.value) ? void 0 : e.focus()
- },
- T = () => {
- const t = c.value
- 'textarea' === e.type &&
- e.autosize &&
- t &&
- (function (e, t) {
- const o = ee()
- e.style.height = 'auto'
- let n = e.scrollHeight
- if (a(t)) {
- const { maxHeight: e, minHeight: o } = t
- void 0 !== e && (n = Math.min(n, e)), void 0 !== o && (n = Math.max(n, o))
- }
- n && ((e.style.height = `${n}px`), te(o))
- })(t, e.autosize)
- },
- B = (e) => {
- ;(s.focused = !0), n('focus', e), t.nextTick(T), f('readonly') && C()
- },
- P = (e) => {
- ;(s.focused = !1),
- N(m(), 'onBlur'),
- n('blur', e),
- f('readonly') || (V('onBlur'), t.nextTick(T), ae())
- },
- O = (e) => n('clickInput', e),
- I = (e) => n('clickLeftIcon', e),
- A = (e) => n('clickRightIcon', e),
- z = t.computed(() =>
- 'boolean' == typeof e.error
- ? e.error
- : !(!p || !p.props.showError || 'failed' !== s.status) || void 0
- ),
- E = t.computed(() => {
- const e = f('labelWidth'),
- t = f('labelAlign')
- if (e && 'top' !== t) return { width: de(e) }
- }),
- L = (t) => {
- if (13 === t.keyCode) {
- ;(p && p.props.submitOnEnter) || 'textarea' === e.type || le(t),
- 'search' === e.type && C()
- }
- n('keypress', t)
- },
- $ = () => e.id || `${i}-input`,
- M = () => {
- const o = In('control', [
- f('inputAlign'),
- {
- error: z.value,
- custom: !!l.input,
- 'min-height': 'textarea' === e.type && !e.autosize
- }
- ])
- if (l.input) return t.createVNode('div', { class: o, onClick: O }, [l.input()])
- const n = {
- id: $(),
- ref: c,
- name: e.name,
- rows: void 0 !== e.rows ? +e.rows : void 0,
- class: o,
- disabled: f('disabled'),
- readonly: f('readonly'),
- autofocus: e.autofocus,
- placeholder: e.placeholder,
- autocomplete: e.autocomplete,
- enterkeyhint: e.enterkeyhint,
- 'aria-labelledby': e.label ? `${i}-label` : void 0,
- onBlur: P,
- onFocus: B,
- onInput: k,
- onClick: O,
- onChange: Bn,
- onKeypress: L,
- onCompositionend: Bn,
- onCompositionstart: Tn
- }
- return 'textarea' === e.type
- ? t.createVNode('textarea', n, null)
- : t.createVNode(
- 'input',
- t.mergeProps(
- 'number' === (a = e.type)
- ? { type: 'text', inputmode: 'decimal' }
- : 'digit' === a
- ? { type: 'tel', inputmode: 'numeric' }
- : { type: a },
- n
- ),
- null
- )
- var a
- },
- R = () => {
- const o = l['right-icon']
- if (e.rightIcon || o)
- return t.createVNode('div', { class: In('right-icon'), onClick: A }, [
- o ? o() : t.createVNode(ht, { name: e.rightIcon, classPrefix: e.iconPrefix }, null)
- ])
- },
- F = () => {
- if (e.showWordLimit && e.maxlength) {
- const o = Pn(m())
- return t.createVNode('div', { class: In('word-limit') }, [
- t.createVNode('span', { class: In('word-num') }, [o]),
- t.createTextVNode('/'),
- e.maxlength
- ])
- }
- },
- H = () => {
- if (p && !1 === p.props.showErrorMessage) return
- const o = e.errorMessage || s.validateMessage
- if (o) {
- const e = l['error-message'],
- n = f('errorMessageAlign')
- return t.createVNode('div', { class: In('error-message', n) }, [
- e ? e({ message: o }) : o
- ])
- }
- },
- W = () => [
- t.createVNode('div', { class: In('body') }, [
- M(),
- h.value && t.createVNode(ht, { ref: d, name: e.clearIcon, class: In('clear') }, null),
- R(),
- l.button && t.createVNode('div', { class: In('button') }, [l.button()])
- ]),
- F(),
- H()
- ]
- return (
- Qe({
- blur: C,
- focus: S,
- validate: x,
- formValue: g,
- resetValidation: y,
- getValidationStatus: () => s.status
- }),
- t.provide(K, { customValue: u, resetValidation: y, validateWithTrigger: V }),
- t.watch(
- () => e.modelValue,
- () => {
- N(m()), y(), V('onChange'), t.nextTick(T)
- }
- ),
- t.onMounted(() => {
- N(m(), e.formatTrigger), t.nextTick(T)
- }),
- j(
- 'touchstart',
- (e) => {
- le(e), n('update:modelValue', ''), n('clear', e)
- },
- {
- target: t.computed(() => {
- var e
- return null == (e = d.value) ? void 0 : e.$el
- })
- }
- ),
- () => {
- const o = f('disabled'),
- n = f('labelAlign'),
- a = (() => {
- const o = l['left-icon']
- if (e.leftIcon || o)
- return t.createVNode('div', { class: In('left-icon'), onClick: I }, [
- o
- ? o()
- : t.createVNode(ht, { name: e.leftIcon, classPrefix: e.iconPrefix }, null)
- ])
- })()
- return t.createVNode(
- wn,
- {
- size: e.size,
- class: In({ error: z.value, disabled: o, [`label-${n}`]: n }),
- center: e.center,
- border: e.border,
- isLink: e.isLink,
- clickable: e.clickable,
- titleStyle: E.value,
- valueClass: In('value'),
- titleClass: [In('label', [n, { required: e.required }]), e.labelClass],
- arrowDirection: e.arrowDirection
- },
- {
- icon: a && 'top' !== n ? () => a : null,
- title: () => {
- const o = (() => {
- const o = f('labelWidth'),
- n = f('labelAlign'),
- a = f('colon') ? ':' : ''
- return l.label
- ? [l.label(), a]
- : e.label
- ? t.createVNode(
- 'label',
- {
- id: `${i}-label`,
- for: $(),
- onClick: (e) => {
- le(e), S()
- },
- style: 'top' === n && o ? { width: de(o) } : void 0
- },
- [e.label + a]
- )
- : void 0
- })()
- return 'top' === n ? [a, o].filter(Boolean) : o || []
- },
- value: W,
- extra: l.extra
- }
- )
- }
- )
- }
- })
- )
- let Ln = 0
- const [$n, Mn] = Ie('toast'),
- Rn = [
- 'show',
- 'overlay',
- 'teleport',
- 'transition',
- 'overlayClass',
- 'overlayStyle',
- 'closeOnClickOverlay'
- ],
- Fn = {
- icon: String,
- show: Boolean,
- type: N('text'),
- overlay: Boolean,
- message: g,
- iconSize: g,
- duration: x(2e3),
- position: N('middle'),
- teleport: [String, Object],
- wordBreak: String,
- className: h,
- iconPrefix: String,
- transition: N('van-fade'),
- loadingType: String,
- forbidClick: Boolean,
- overlayClass: h,
- overlayStyle: Object,
- closeOnClick: Boolean,
- closeOnClickOverlay: Boolean
- }
- var Hn = t.defineComponent({
- name: $n,
- props: Fn,
- emits: ['update:show'],
- setup(e, { emit: n, slots: a }) {
- let r,
- l = !1
- const i = () => {
- const t = e.show && e.forbidClick
- l !== t &&
- ((l = t),
- l
- ? (Ln || document.body.classList.add('van-toast--unclickable'), Ln++)
- : Ln && (Ln--, Ln || document.body.classList.remove('van-toast--unclickable')))
- },
- s = (e) => n('update:show', e),
- c = () => {
- e.closeOnClick && s(!1)
- },
- d = () => clearTimeout(r),
- u = () => {
- const { icon: o, type: n, iconSize: a, iconPrefix: r, loadingType: l } = e
- return o || 'success' === n || 'fail' === n
- ? t.createVNode(ht, { name: o || n, size: a, class: Mn('icon'), classPrefix: r }, null)
- : 'loading' === n
- ? t.createVNode(Vt, { class: Mn('loading'), size: a, type: l }, null)
- : void 0
- },
- p = () => {
- const { type: n, message: r } = e
- return a.message
- ? t.createVNode('div', { class: Mn('text') }, [a.message()])
- : o(r) && '' !== r
- ? 'html' === n
- ? t.createVNode('div', { key: 0, class: Mn('text'), innerHTML: String(r) }, null)
- : t.createVNode('div', { class: Mn('text') }, [r])
- : void 0
- }
- return (
- t.watch(() => [e.show, e.forbidClick], i),
- t.watch(
- () => [e.show, e.type, e.message, e.duration],
- () => {
- d(),
- e.show &&
- e.duration > 0 &&
- (r = setTimeout(() => {
- s(!1)
- }, e.duration))
- }
- ),
- t.onMounted(i),
- t.onUnmounted(i),
- () =>
- t.createVNode(
- Gt,
- t.mergeProps(
- {
- class: [
- Mn([
- e.position,
- 'normal' === e.wordBreak ? 'break-normal' : e.wordBreak,
- { [e.type]: !e.icon }
- ]),
- e.className
- ],
- lockScroll: !1,
- onClick: c,
- onClosed: d,
- 'onUpdate:show': s
- },
- m(e, Rn)
- ),
- { default: () => [u(), p()] }
- )
- )
- }
- })
- function jn() {
- const e = t.reactive({ show: !1 }),
- o = (t) => {
- e.show = t
- },
- n = (t) => {
- d(e, t, { transitionAppear: !0 }), o(!0)
- },
- a = () => o(!1)
- return Qe({ open: n, close: a, toggle: o }), { open: n, close: a, state: e, toggle: o }
- }
- function Wn(e) {
- const o = t.createApp(e),
- n = document.createElement('div')
- return (
- document.body.appendChild(n),
- {
- instance: o.mount(n),
- unmount() {
- o.unmount(), document.body.removeChild(n)
- }
- }
- )
- }
- const Un = {
- icon: '',
- type: 'text',
- message: '',
- className: '',
- overlay: !1,
- onClose: void 0,
- onOpened: void 0,
- duration: 2e3,
- teleport: 'body',
- iconSize: void 0,
- iconPrefix: void 0,
- position: 'middle',
- transition: 'van-fade',
- forbidClick: !1,
- loadingType: void 0,
- overlayClass: '',
- overlayStyle: void 0,
- closeOnClick: !1,
- closeOnClickOverlay: !1
- }
- let Yn = [],
- qn = !1,
- Xn = d({}, Un)
- const Gn = new Map()
- function Zn(e) {
- return a(e) ? e : { message: e }
- }
- function Kn() {
- if (!Yn.length || qn) {
- const e = (function () {
- const { instance: e, unmount: o } = Wn({
- setup() {
- const n = t.ref(''),
- { open: a, state: r, close: l, toggle: i } = jn(),
- s = () => {
- qn && ((Yn = Yn.filter((t) => t !== e)), o())
- }
- return (
- t.watch(n, (e) => {
- r.message = e
- }),
- (t.getCurrentInstance().render = () => {
- const e = { onClosed: s, 'onUpdate:show': i }
- return t.createVNode(Hn, t.mergeProps(r, e), null)
- }),
- { open: a, close: l, message: n }
- )
- }
- })
- return e
- })()
- Yn.push(e)
- }
- return Yn[Yn.length - 1]
- }
- function _n(e = {}) {
- if (!u) return {}
- const t = Kn(),
- o = Zn(e)
- return t.open(d({}, Xn, Gn.get(o.type || Xn.type), o)), t
- }
- const Jn = (e) => (t) => _n(d({ type: e }, Zn(t))),
- Qn = Jn('loading'),
- ea = Jn('success'),
- ta = Jn('fail')
- const oa = We(Hn),
- [na, aa] = Ie('switch'),
- ra = {
- size: g,
- loading: Boolean,
- disabled: Boolean,
- modelValue: h,
- activeColor: String,
- inactiveColor: String,
- activeValue: { type: h, default: !0 },
- inactiveValue: { type: h, default: !1 }
- }
- const la = We(
- t.defineComponent({
- name: na,
- props: ra,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const a = () => e.modelValue === e.activeValue,
- r = () => {
- if (!e.disabled && !e.loading) {
- const t = a() ? e.inactiveValue : e.activeValue
- o('update:modelValue', t), o('change', t)
- }
- },
- l = () => {
- if (e.loading) {
- const o = a() ? e.activeColor : e.inactiveColor
- return t.createVNode(Vt, { class: aa('loading'), color: o }, null)
- }
- if (n.node) return n.node()
- }
- return (
- _(() => e.modelValue),
- () => {
- var o
- const { size: i, loading: s, disabled: c, activeColor: d, inactiveColor: u } = e,
- p = a(),
- m = { fontSize: de(i), backgroundColor: p ? d : u }
- return t.createVNode(
- 'div',
- {
- role: 'switch',
- class: aa({ on: p, loading: s, disabled: c }),
- style: m,
- tabindex: c ? void 0 : 0,
- 'aria-checked': p,
- onClick: r
- },
- [
- t.createVNode('div', { class: aa('node') }, [l()]),
- null == (o = n.background) ? void 0 : o.call(n)
- ]
- )
- }
- )
- }
- })
- ),
- [ia, sa] = Ie('address-edit-detail'),
- ca = Ie('address-edit')[2]
- var da = t.defineComponent({
- name: ia,
- props: {
- show: Boolean,
- rows: g,
- value: String,
- rules: Array,
- focused: Boolean,
- maxlength: g,
- searchResult: Array,
- showSearchResult: Boolean
- },
- emits: ['blur', 'focus', 'input', 'selectSearch'],
- setup(e, { emit: o }) {
- const n = t.ref(),
- a = () => e.focused && e.searchResult && e.showSearchResult,
- r = () => {
- if (!a()) return
- const { searchResult: n } = e
- return n.map((e) =>
- t.createVNode(
- wn,
- {
- clickable: !0,
- key: (e.name || '') + (e.address || ''),
- icon: 'location-o',
- title: e.name,
- label: e.address,
- class: sa('search-item'),
- border: !1,
- onClick: () =>
- ((e) => {
- o('selectSearch', e), o('input', `${e.address || ''} ${e.name || ''}`.trim())
- })(e)
- },
- null
- )
- )
- },
- l = (e) => o('blur', e),
- i = (e) => o('focus', e),
- s = (e) => o('input', e)
- return () => {
- if (e.show)
- return t.createVNode(t.Fragment, null, [
- t.createVNode(
- En,
- {
- autosize: !0,
- clearable: !0,
- ref: n,
- class: sa(),
- rows: e.rows,
- type: 'textarea',
- rules: e.rules,
- label: ca('addressDetail'),
- border: !a(),
- maxlength: e.maxlength,
- modelValue: e.value,
- placeholder: ca('addressDetail'),
- onBlur: l,
- onFocus: i,
- 'onUpdate:modelValue': s
- },
- null
- ),
- r()
- ])
- }
- }
- })
- const [ua, pa, ma] = Ie('address-edit'),
- fa = {
- name: '',
- tel: '',
- city: '',
- county: '',
- country: '',
- province: '',
- areaCode: '',
- isDefault: !1,
- addressDetail: ''
- },
- va = {
- areaList: Object,
- isSaving: Boolean,
- isDeleting: Boolean,
- validator: Function,
- showArea: b,
- showDetail: b,
- showDelete: Boolean,
- disableArea: Boolean,
- searchResult: Array,
- telMaxlength: g,
- showSetDefault: Boolean,
- saveButtonText: String,
- areaPlaceholder: String,
- deleteButtonText: String,
- showSearchResult: Boolean,
- detailRows: V(1),
- detailMaxlength: V(200),
- areaColumnsPlaceholder: w(),
- addressInfo: { type: Object, default: () => d({}, fa) },
- telValidator: { type: Function, default: i }
- }
- const ha = We(
- t.defineComponent({
- name: ua,
- props: va,
- emits: [
- 'save',
- 'focus',
- 'delete',
- 'clickArea',
- 'changeArea',
- 'changeDetail',
- 'selectSearch',
- 'changeDefault'
- ],
- setup(e, { emit: o, slots: n }) {
- const r = t.ref(),
- l = t.reactive({}),
- i = t.ref(!1),
- s = t.ref(!1),
- c = t.computed(() => a(e.areaList) && Object.keys(e.areaList).length),
- u = t.computed(() => {
- const { province: e, city: t, county: o, areaCode: n } = l
- if (n) {
- const n = [e, t, o]
- return e && e === t && n.splice(1, 1), n.filter(Boolean).join('/')
- }
- return ''
- }),
- p = t.computed(() => {
- var t
- return (null == (t = e.searchResult) ? void 0 : t.length) && s.value
- }),
- m = (e) => {
- ;(s.value = 'addressDetail' === e), o('focus', e)
- },
- f = t.computed(() => {
- const { validator: t, telValidator: o } = e,
- n = (e, o) => ({
- validator: (n) => {
- if (t) {
- const o = t(e, n)
- if (o) return o
- }
- return !!n || o
- }
- })
- return {
- name: [n('name', ma('nameEmpty'))],
- tel: [n('tel', ma('telInvalid')), { validator: o, message: ma('telInvalid') }],
- areaCode: [n('areaCode', ma('areaEmpty'))],
- addressDetail: [n('addressDetail', ma('addressEmpty'))]
- }
- }),
- v = () => o('save', l),
- h = (e) => {
- ;(l.addressDetail = e), o('changeDetail', e)
- },
- g = (e) => {
- ;(l.province = e[0].text), (l.city = e[1].text), (l.county = e[2].text)
- },
- b = ({ selectedValues: e, selectedOptions: t }) => {
- e.some((e) => e === rn)
- ? _n(ma('areaEmpty'))
- : ((i.value = !1), g(t), o('changeArea', t))
- },
- y = () => o('delete', l),
- w = () => {
- setTimeout(() => {
- s.value = !1
- })
- },
- x = () => {
- if (e.showSetDefault) {
- const e = {
- 'right-icon': () =>
- t.createVNode(
- la,
- {
- modelValue: l.isDefault,
- 'onUpdate:modelValue': (e) => (l.isDefault = e),
- onChange: (e) => o('changeDefault', e)
- },
- null
- )
- }
- return t.withDirectives(
- t.createVNode(
- wn,
- { center: !0, border: !1, title: ma('defaultAddress'), class: pa('default') },
- e
- ),
- [[t.vShow, !p.value]]
- )
- }
- }
- return (
- Qe({
- setAreaCode: (e) => {
- l.areaCode = e || ''
- },
- setAddressDetail: (e) => {
- l.addressDetail = e
- }
- }),
- t.watch(
- () => e.addressInfo,
- (e) => {
- d(l, fa, e),
- t.nextTick(() => {
- var e
- const t = null == (e = r.value) ? void 0 : e.getSelectedOptions()
- t && t.every((e) => e && e.value !== rn) && g(t)
- })
- },
- { deep: !0, immediate: !0 }
- ),
- () => {
- const { disableArea: a } = e
- return t.createVNode(
- kn,
- { class: pa(), onSubmit: v },
- {
- default: () => {
- var d
- return [
- t.createVNode('div', { class: pa('fields') }, [
- t.createVNode(
- En,
- {
- modelValue: l.name,
- 'onUpdate:modelValue': (e) => (l.name = e),
- clearable: !0,
- label: ma('name'),
- rules: f.value.name,
- placeholder: ma('name'),
- onFocus: () => m('name')
- },
- null
- ),
- t.createVNode(
- En,
- {
- modelValue: l.tel,
- 'onUpdate:modelValue': (e) => (l.tel = e),
- clearable: !0,
- type: 'tel',
- label: ma('tel'),
- rules: f.value.tel,
- maxlength: e.telMaxlength,
- placeholder: ma('tel'),
- onFocus: () => m('tel')
- },
- null
- ),
- t.withDirectives(
- t.createVNode(
- En,
- {
- readonly: !0,
- label: ma('area'),
- 'is-link': !a,
- modelValue: u.value,
- rules: f.value.areaCode,
- placeholder: e.areaPlaceholder || ma('area'),
- onFocus: () => m('areaCode'),
- onClick: () => {
- o('clickArea'), (i.value = !a)
- }
- },
- null
- ),
- [[t.vShow, e.showArea]]
- ),
- t.createVNode(
- da,
- {
- show: e.showDetail,
- rows: e.detailRows,
- rules: f.value.addressDetail,
- value: l.addressDetail,
- focused: s.value,
- maxlength: e.detailMaxlength,
- searchResult: e.searchResult,
- showSearchResult: e.showSearchResult,
- onBlur: w,
- onFocus: () => m('addressDetail'),
- onInput: h,
- onSelectSearch: (e) => o('selectSearch', e)
- },
- null
- ),
- null == (d = n.default) ? void 0 : d.call(n)
- ]),
- x(),
- t.withDirectives(
- t.createVNode('div', { class: pa('buttons') }, [
- t.createVNode(
- St,
- {
- block: !0,
- round: !0,
- type: 'primary',
- text: e.saveButtonText || ma('save'),
- class: pa('button'),
- loading: e.isSaving,
- nativeType: 'submit'
- },
- null
- ),
- e.showDelete &&
- t.createVNode(
- St,
- {
- block: !0,
- round: !0,
- class: pa('button'),
- loading: e.isDeleting,
- text: e.deleteButtonText || ma('delete'),
- onClick: y
- },
- null
- )
- ]),
- [[t.vShow, !p.value]]
- ),
- t.createVNode(
- Gt,
- {
- show: i.value,
- 'onUpdate:show': (e) => (i.value = e),
- round: !0,
- teleport: 'body',
- position: 'bottom',
- lazyRender: !1
- },
- {
- default: () => [
- t.createVNode(
- vn,
- {
- modelValue: l.areaCode,
- 'onUpdate:modelValue': (e) => (l.areaCode = e),
- ref: r,
- loading: !c.value,
- areaList: e.areaList,
- columnsPlaceholder: e.areaColumnsPlaceholder,
- onConfirm: b,
- onCancel: () => {
- i.value = !1
- }
- },
- null
- )
- ]
- }
- )
- ]
- }
- }
- )
- }
- )
- }
- })
- ),
- [ga, ba] = Ie('radio-group'),
- ya = { disabled: Boolean, iconSize: g, direction: String, modelValue: h, checkedColor: String },
- wa = Symbol(ga)
- const xa = We(
- t.defineComponent({
- name: ga,
- props: ya,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const { linkChildren: a } = A(wa)
- return (
- t.watch(
- () => e.modelValue,
- (e) => o('change', e)
- ),
- a({ props: e, updateValue: (e) => o('update:modelValue', e) }),
- _(() => e.modelValue),
- () => {
- var o
- return t.createVNode('div', { class: ba([e.direction]), role: 'radiogroup' }, [
- null == (o = n.default) ? void 0 : o.call(n)
- ])
- }
- )
- }
- })
- ),
- [Va, Na] = Ie('tag'),
- ka = {
- size: String,
- mark: Boolean,
- show: b,
- type: N('default'),
- color: String,
- plain: Boolean,
- round: Boolean,
- textColor: String,
- closeable: Boolean
- }
- const Ca = We(
- t.defineComponent({
- name: Va,
- props: ka,
- emits: ['close'],
- setup(e, { slots: o, emit: n }) {
- const a = (e) => {
- e.stopPropagation(), n('close', e)
- },
- r = () => {
- var n
- const { type: r, mark: l, plain: i, round: s, size: c, closeable: d } = e,
- u = { mark: l, plain: i, round: s }
- c && (u[c] = c)
- const p =
- d &&
- t.createVNode(ht, { name: 'cross', class: [Na('close'), Fe], onClick: a }, null)
- return t.createVNode(
- 'span',
- {
- style: e.plain
- ? { color: e.textColor || e.color, borderColor: e.color }
- : { color: e.textColor, background: e.color },
- class: Na([u, r])
- },
- [null == (n = o.default) ? void 0 : n.call(o), p]
- )
- }
- return () =>
- t.createVNode(
- t.Transition,
- { name: e.closeable ? 'van-fade' : void 0 },
- { default: () => [e.show ? r() : null] }
- )
- }
- })
- ),
- Sa = {
- name: h,
- shape: N('round'),
- disabled: Boolean,
- iconSize: g,
- modelValue: h,
- checkedColor: String,
- labelPosition: String,
- labelDisabled: Boolean
- }
- var Ta = t.defineComponent({
- props: d({}, Sa, {
- bem: y(Function),
- role: String,
- parent: Object,
- checked: Boolean,
- bindGroup: b
- }),
- emits: ['click', 'toggle'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = (t) => {
- if (e.parent && e.bindGroup) return e.parent.props[t]
- },
- l = t.computed(() => {
- if (e.parent && e.bindGroup) {
- const t = r('disabled') || e.disabled
- if ('checkbox' === e.role) {
- const o = r('modelValue').length,
- n = r('max')
- return t || (n && o >= +n && !e.checked)
- }
- return t
- }
- return e.disabled
- }),
- i = t.computed(() => r('direction')),
- s = t.computed(() => {
- const t = e.checkedColor || r('checkedColor')
- if (t && e.checked && !l.value) return { borderColor: t, backgroundColor: t }
- }),
- c = (t) => {
- const { target: n } = t,
- r = a.value,
- i = r === n || (null == r ? void 0 : r.contains(n))
- l.value || (!i && e.labelDisabled) || o('toggle'), o('click', t)
- },
- d = () => {
- const { bem: o, shape: i, checked: c } = e,
- d = e.iconSize || r('iconSize')
- return t.createVNode(
- 'div',
- {
- ref: a,
- class: o('icon', [i, { disabled: l.value, checked: c }]),
- style: { fontSize: de(d) }
- },
- [
- n.icon
- ? n.icon({ checked: c, disabled: l.value })
- : t.createVNode(ht, { name: 'success', style: s.value }, null)
- ]
- )
- },
- u = () => {
- if (n.default)
- return t.createVNode(
- 'span',
- { class: e.bem('label', [e.labelPosition, { disabled: l.value }]) },
- [n.default()]
- )
- }
- return () => {
- const o = 'left' === e.labelPosition ? [u(), d()] : [d(), u()]
- return t.createVNode(
- 'div',
- {
- role: e.role,
- class: e.bem([{ disabled: l.value, 'label-disabled': e.labelDisabled }, i.value]),
- tabindex: l.value ? void 0 : 0,
- 'aria-checked': e.checked,
- onClick: c
- },
- [o]
- )
- }
- }
- })
- const Ba = Sa,
- [Pa, Da] = Ie('radio')
- const Oa = We(
- t.defineComponent({
- name: Pa,
- props: Sa,
- emits: ['update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const { parent: a } = D(wa),
- r = () => {
- a ? a.updateValue(e.name) : o('update:modelValue', e.name)
- }
- return () =>
- t.createVNode(
- Ta,
- t.mergeProps(
- {
- bem: Da,
- role: 'radio',
- parent: a,
- checked: (a ? a.props.modelValue : e.modelValue) === e.name,
- onToggle: r
- },
- e
- ),
- m(n, ['default', 'icon'])
- )
- }
- })
- ),
- [Ia, Aa] = Ie('address-item')
- var za = t.defineComponent({
- name: Ia,
- props: { address: y(Object), disabled: Boolean, switchable: Boolean, defaultTagText: String },
- emits: ['edit', 'click', 'select'],
- setup(e, { slots: o, emit: n }) {
- const a = () => {
- e.switchable && n('select'), n('click')
- },
- r = () =>
- t.createVNode(
- ht,
- {
- name: 'edit',
- class: Aa('edit'),
- onClick: (e) => {
- e.stopPropagation(), n('edit'), n('click')
- }
- },
- null
- ),
- l = () => {
- const { address: n, disabled: a, switchable: r } = e,
- l = [
- t.createVNode('div', { class: Aa('name') }, [
- `${n.name} ${n.tel}`,
- o.tag
- ? o.tag(e.address)
- : e.address.isDefault && e.defaultTagText
- ? t.createVNode(
- Ca,
- { type: 'primary', round: !0, class: Aa('tag') },
- { default: () => [e.defaultTagText] }
- )
- : void 0
- ]),
- t.createVNode('div', { class: Aa('address') }, [n.address])
- ]
- return r && !a
- ? t.createVNode(Oa, { name: n.id, iconSize: 18 }, { default: () => [l] })
- : l
- }
- return () => {
- var n
- const { disabled: i } = e
- return t.createVNode('div', { class: Aa({ disabled: i }), onClick: a }, [
- t.createVNode(wn, { border: !1, titleClass: Aa('title') }, { title: l, 'right-icon': r }),
- null == (n = o.bottom) ? void 0 : n.call(o, d({}, e.address, { disabled: i }))
- ])
- }
- }
- })
- const [Ea, La, $a] = Ie('address-list'),
- Ma = {
- list: w(),
- modelValue: g,
- switchable: b,
- disabledText: String,
- disabledList: w(),
- addButtonText: String,
- defaultTagText: String
- }
- const Ra = We(
- t.defineComponent({
- name: Ea,
- props: Ma,
- emits: [
- 'add',
- 'edit',
- 'select',
- 'clickItem',
- 'editDisabled',
- 'selectDisabled',
- 'update:modelValue'
- ],
- setup(e, { slots: o, emit: n }) {
- const a = (a, r) => {
- if (a)
- return a.map((a, l) =>
- ((a, r, l) =>
- t.createVNode(
- za,
- {
- key: a.id,
- address: a,
- disabled: l,
- switchable: e.switchable,
- defaultTagText: e.defaultTagText,
- onEdit: () => n(l ? 'editDisabled' : 'edit', a, r),
- onClick: () => n('clickItem', a, r),
- onSelect: () => {
- n(l ? 'selectDisabled' : 'select', a, r), l || n('update:modelValue', a.id)
- }
- },
- { bottom: o['item-bottom'], tag: o.tag }
- ))(a, l, r)
- )
- }
- return () => {
- var r, l
- const i = a(e.list),
- s = a(e.disabledList, !0),
- c =
- e.disabledText &&
- t.createVNode('div', { class: La('disabled-text') }, [e.disabledText])
- return t.createVNode('div', { class: La() }, [
- null == (r = o.top) ? void 0 : r.call(o),
- t.createVNode(xa, { modelValue: e.modelValue }, { default: () => [i] }),
- c,
- s,
- null == (l = o.default) ? void 0 : l.call(o),
- t.createVNode('div', { class: [La('bottom'), 'van-safe-area-bottom'] }, [
- t.createVNode(
- St,
- {
- round: !0,
- block: !0,
- type: 'primary',
- text: e.addButtonText || $a('add'),
- class: La('add'),
- onClick: () => n('add')
- },
- null
- )
- ])
- ])
- }
- }
- })
- ),
- Fa =
- k &&
- 'IntersectionObserver' in window &&
- 'IntersectionObserverEntry' in window &&
- 'intersectionRatio' in window.IntersectionObserverEntry.prototype,
- Ha = 'event',
- ja = 'observer'
- function Wa(e, t) {
- if (!e.length) return
- const o = e.indexOf(t)
- return o > -1 ? e.splice(o, 1) : void 0
- }
- function Ua(e, t) {
- if ('IMG' !== e.tagName || !e.getAttribute('data-srcset')) return
- let o = e.getAttribute('data-srcset')
- const n = e.parentNode.offsetWidth * t
- let a, r, l
- o = o.trim().split(',')
- const i = o.map(
- (e) => (
- (e = e.trim()),
- (a = e.lastIndexOf(' ')),
- -1 === a
- ? ((r = e), (l = 999998))
- : ((r = e.substr(0, a)), (l = parseInt(e.substr(a + 1, e.length - a - 2), 10))),
- [l, r]
- )
- )
- i.sort((e, t) => {
- if (e[0] < t[0]) return 1
- if (e[0] > t[0]) return -1
- if (e[0] === t[0]) {
- if (-1 !== t[1].indexOf('.webp', t[1].length - 5)) return 1
- if (-1 !== e[1].indexOf('.webp', e[1].length - 5)) return -1
- }
- return 0
- })
- let s,
- c = ''
- for (let d = 0; d < i.length; d++) {
- ;(s = i[d]), (c = s[1])
- const e = i[d + 1]
- if (e && e[0] < n) {
- c = s[1]
- break
- }
- if (!e) {
- c = s[1]
- break
- }
- }
- return c
- }
- const Ya = (e = 1) => (k && window.devicePixelRatio) || e
- function qa() {
- if (!k) return !1
- let e = !0
- try {
- const t = document.createElement('canvas')
- t.getContext &&
- t.getContext('2d') &&
- (e = 0 === t.toDataURL('image/webp').indexOf('data:image/webp'))
- } catch (t) {
- e = !1
- }
- return e
- }
- function Xa(e, t) {
- let o = null,
- n = 0
- return function (...a) {
- if (o) return
- const r = () => {
- ;(n = Date.now()), (o = !1), e.apply(this, a)
- }
- Date.now() - n >= t ? r() : (o = setTimeout(r, t))
- }
- }
- function Ga(e, t, o) {
- e.addEventListener(t, o, { capture: !1, passive: !0 })
- }
- function Za(e, t, o) {
- e.removeEventListener(t, o, !1)
- }
- const Ka = (e, t, o) => {
- const n = new Image()
- if (!e || !e.src) return o(new Error('image src is required'))
- ;(n.src = e.src),
- e.cors && (n.crossOrigin = e.cors),
- (n.onload = () =>
- t({ naturalHeight: n.naturalHeight, naturalWidth: n.naturalWidth, src: n.src })),
- (n.onerror = (e) => o(e))
- }
- class _a {
- constructor({ max: e }) {
- ;(this.options = { max: e || 100 }), (this.caches = [])
- }
- has(e) {
- return this.caches.indexOf(e) > -1
- }
- add(e) {
- this.has(e) || (this.caches.push(e), this.caches.length > this.options.max && this.free())
- }
- free() {
- this.caches.shift()
- }
- }
- const [Ja, Qa] = Ie('back-top'),
- er = {
- right: g,
- bottom: g,
- zIndex: g,
- target: [String, Object],
- offset: V(200),
- immediate: Boolean,
- teleport: { type: [String, Object], default: 'body' }
- }
- const tr = We(
- t.defineComponent({
- name: Ja,
- inheritAttrs: !1,
- props: er,
- emits: ['click'],
- setup(e, { emit: o, slots: n, attrs: a }) {
- const r = t.ref(!1),
- l = t.ref(),
- i = t.ref(),
- s = t.computed(() => d(pe(e.zIndex), { right: de(e.right), bottom: de(e.bottom) })),
- c = (t) => {
- var n
- o('click', t),
- null == (n = i.value) ||
- n.scrollTo({ top: 0, behavior: e.immediate ? 'auto' : 'smooth' })
- },
- p = () => {
- r.value = !!i.value && J(i.value) >= +e.offset
- },
- m = () => {
- u &&
- t.nextTick(() => {
- ;(i.value = e.target
- ? (() => {
- const { target: t } = e
- if ('string' != typeof t) return t
- {
- const e = document.querySelector(t)
- if (e) return e
- }
- })()
- : G(l.value)),
- p()
- })
- }
- return (
- j('scroll', Xa(p, 100), { target: i }),
- t.onMounted(m),
- t.watch(() => e.target, m),
- () => {
- const o = t.createVNode(
- 'div',
- t.mergeProps(
- {
- ref: e.teleport ? void 0 : l,
- class: Qa({ active: r.value }),
- style: s.value,
- onClick: c
- },
- a
- ),
- [
- n.default
- ? n.default()
- : t.createVNode(ht, { name: 'back-top', class: Qa('icon') }, null)
- ]
- )
- return e.teleport
- ? [
- t.createVNode('div', { ref: l, class: Qa('placeholder') }, null),
- t.createVNode(t.Teleport, { to: e.teleport }, { default: () => [o] })
- ]
- : o
- }
- )
- }
- })
- )
- const or = {
- top: V(10),
- rows: V(4),
- duration: V(4e3),
- autoPlay: b,
- delay: x(300),
- modelValue: w()
- },
- [nr, ar] = Ie('barrage')
- const rr = We(
- t.defineComponent({
- name: nr,
- props: or,
- emits: ['update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = ar('item'),
- l = t.ref(0),
- i = [],
- s = t.ref(!0),
- c = t.ref(e.autoPlay),
- d = ({ id: t, text: n }, d) => {
- var u
- const p = ((t, o = e.delay) => {
- const n = document.createElement('span')
- return (
- (n.className = r),
- (n.innerText = String(t)),
- (n.style.animationDuration = `${e.duration}ms`),
- (n.style.animationDelay = `${o}ms`),
- (n.style.animationName = 'van-barrage'),
- (n.style.animationTimingFunction = 'linear'),
- n
- )
- })(n, s.value ? d * e.delay : void 0)
- e.autoPlay || !1 !== c.value || (p.style.animationPlayState = 'paused'),
- null == (u = a.value) || u.append(p),
- l.value++
- const m = ((l.value - 1) % +e.rows) * p.offsetHeight + +e.top
- ;(p.style.top = `${m}px`),
- (p.dataset.id = String(t)),
- i.push(p),
- p.addEventListener('animationend', () => {
- o(
- 'update:modelValue',
- [...e.modelValue].filter((e) => String(e.id) !== p.dataset.id)
- )
- })
- },
- u = (e, t) => {
- const o = new Map(t.map((e) => [e.id, e]))
- e.forEach((e, t) => {
- o.has(e.id) ? o.delete(e.id) : d(e, t)
- }),
- o.forEach((e) => {
- const t = i.findIndex((t) => t.dataset.id === String(e.id))
- t > -1 && (i[t].remove(), i.splice(t, 1))
- }),
- (s.value = !1)
- }
- t.watch(
- () => e.modelValue.slice(),
- (e, t) => u(null != e ? e : [], null != t ? t : []),
- { deep: !0 }
- )
- const p = t.ref({})
- t.onMounted(() => {
- return (
- (o = this),
- (n = null),
- (r = function* () {
- var o
- ;(p.value['--move-distance'] = `-${
- null == (o = a.value) ? void 0 : o.offsetWidth
- }px`),
- yield t.nextTick(),
- u(e.modelValue, [])
- }),
- new Promise((e, t) => {
- var a = (e) => {
- try {
- i(r.next(e))
- } catch (o) {
- t(o)
- }
- },
- l = (e) => {
- try {
- i(r.throw(e))
- } catch (o) {
- t(o)
- }
- },
- i = (t) => (t.done ? e(t.value) : Promise.resolve(t.value).then(a, l))
- i((r = r.apply(o, n)).next())
- })
- )
- var o, n, r
- })
- return (
- Qe({
- play: () => {
- ;(c.value = !0),
- i.forEach((e) => {
- e.style.animationPlayState = 'running'
- })
- },
- pause: () => {
- ;(c.value = !1),
- i.forEach((e) => {
- e.style.animationPlayState = 'paused'
- })
- }
- }),
- () => {
- var e
- return t.createVNode('div', { class: ar(), ref: a, style: p.value }, [
- null == (e = n.default) ? void 0 : e.call(n)
- ])
- }
- )
- }
- })
- ),
- [lr, ir, sr] = Ie('calendar')
- function cr(e, t) {
- const o = e.getFullYear(),
- n = t.getFullYear()
- if (o === n) {
- const o = e.getMonth(),
- n = t.getMonth()
- return o === n ? 0 : o > n ? 1 : -1
- }
- return o > n ? 1 : -1
- }
- function dr(e, t) {
- const o = cr(e, t)
- if (0 === o) {
- const o = e.getDate(),
- n = t.getDate()
- return o === n ? 0 : o > n ? 1 : -1
- }
- return o
- }
- const ur = (e) => new Date(e),
- pr = (e) => (Array.isArray(e) ? e.map(ur) : ur(e))
- function mr(e, t) {
- const o = ur(e)
- return o.setDate(o.getDate() + t), o
- }
- const fr = (e) => mr(e, -1),
- vr = (e) => mr(e, 1),
- hr = () => {
- const e = new Date()
- return e.setHours(0, 0, 0, 0), e
- }
- const gr = d({}, on, {
- modelValue: w(),
- filter: Function,
- formatter: { type: Function, default: (e, t) => t }
- }),
- br = Object.keys(on)
- const yr = (e, t) => 32 - new Date(e, t - 1, 32).getDate(),
- wr = (e, t, o, n, a) => {
- const r = (function (e, t) {
- if (e < 0) return []
- const o = Array(e)
- let n = -1
- for (; ++n < e; ) o[n] = t(n)
- return o
- })(t - e + 1, (t) => {
- const a = be(e + t)
- return n(o, { text: a, value: a })
- })
- return a ? a(o, r) : r
- },
- xr = (e, t) =>
- e.map((e, o) => {
- const n = t[o]
- if (n.length) {
- const t = +n[0].value,
- o = +n[n.length - 1].value
- return be(ye(+e, t, o))
- }
- return e
- }),
- [Vr] = Ie('calendar-day')
- var Nr = t.defineComponent({
- name: Vr,
- props: { item: y(Object), color: String, index: Number, offset: x(0), rowHeight: String },
- emits: ['click'],
- setup(e, { emit: o, slots: n }) {
- const a = t.computed(() => {
- var t
- const { item: o, index: n, color: a, offset: r, rowHeight: l } = e,
- i = { height: l }
- if ('placeholder' === o.type) return (i.width = '100%'), i
- if ((0 === n && (i.marginLeft = (100 * r) / 7 + '%'), a))
- switch (o.type) {
- case 'end':
- case 'start':
- case 'start-end':
- case 'multiple-middle':
- case 'multiple-selected':
- i.background = a
- break
- case 'middle':
- i.color = a
- }
- return (
- r + ((null == (t = o.date) ? void 0 : t.getDate()) || 1) > 28 && (i.marginBottom = 0), i
- )
- }),
- r = () => {
- 'disabled' !== e.item.type && o('click', e.item)
- },
- l = () => {
- const { topInfo: o } = e.item
- if (o || n['top-info'])
- return t.createVNode('div', { class: ir('top-info') }, [
- n['top-info'] ? n['top-info'](e.item) : o
- ])
- },
- i = () => {
- const { bottomInfo: o } = e.item
- if (o || n['bottom-info'])
- return t.createVNode('div', { class: ir('bottom-info') }, [
- n['bottom-info'] ? n['bottom-info'](e.item) : o
- ])
- },
- s = () => {
- const { item: o, color: n, rowHeight: a } = e,
- { type: r, text: s } = o,
- c = [l(), s, i()]
- return 'selected' === r
- ? t.createVNode(
- 'div',
- { class: ir('selected-day'), style: { width: a, height: a, background: n } },
- [c]
- )
- : c
- }
- return () => {
- const { type: o, className: n } = e.item
- return 'placeholder' === o
- ? t.createVNode('div', { class: ir('day'), style: a.value }, null)
- : t.createVNode(
- 'div',
- {
- role: 'gridcell',
- style: a.value,
- class: [ir('day', o), n],
- tabindex: 'disabled' === o ? void 0 : -1,
- onClick: r
- },
- [s()]
- )
- }
- }
- })
- const [kr] = Ie('calendar-month'),
- Cr = {
- date: y(Date),
- type: String,
- color: String,
- minDate: y(Date),
- maxDate: y(Date),
- showMark: Boolean,
- rowHeight: g,
- formatter: Function,
- lazyRender: Boolean,
- currentDate: [Date, Array],
- allowSameDay: Boolean,
- showSubtitle: Boolean,
- showMonthTitle: Boolean,
- firstDayOfWeek: Number
- }
- var Sr = t.defineComponent({
- name: kr,
- props: Cr,
- emits: ['click'],
- setup(e, { emit: o, slots: n }) {
- const [a, r] = (function (e = !1) {
- const o = t.ref(e)
- return [
- o,
- (e = !o.value) => {
- o.value = e
- }
- ]
- })(),
- l = t.ref(),
- i = t.ref(),
- s = qe(i),
- c = t.computed(() => {
- return (t = e.date), sr('monthTitle', t.getFullYear(), t.getMonth() + 1)
- var t
- }),
- d = t.computed(() => de(e.rowHeight)),
- u = t.computed(() => {
- const t = e.date.getDay()
- return e.firstDayOfWeek ? (t + 7 - e.firstDayOfWeek) % 7 : t
- }),
- p = t.computed(() => yr(e.date.getFullYear(), e.date.getMonth() + 1)),
- f = t.computed(() => a.value || !e.lazyRender),
- v = (t) => {
- const { type: o, minDate: n, maxDate: a, currentDate: r } = e
- if (dr(t, n) < 0 || dr(t, a) > 0) return 'disabled'
- if (null === r) return ''
- if (Array.isArray(r)) {
- if ('multiple' === o)
- return ((t) => {
- const o = (t) => e.currentDate.some((e) => 0 === dr(e, t))
- if (o(t)) {
- const e = fr(t),
- n = vr(t),
- a = o(e),
- r = o(n)
- return a && r ? 'multiple-middle' : a ? 'end' : r ? 'start' : 'multiple-selected'
- }
- return ''
- })(t)
- if ('range' === o)
- return ((t) => {
- const [o, n] = e.currentDate
- if (!o) return ''
- const a = dr(t, o)
- if (!n) return 0 === a ? 'start' : ''
- const r = dr(t, n)
- return e.allowSameDay && 0 === a && 0 === r
- ? 'start-end'
- : 0 === a
- ? 'start'
- : 0 === r
- ? 'end'
- : a > 0 && r < 0
- ? 'middle'
- : ''
- })(t)
- } else if ('single' === o) return 0 === dr(t, r) ? 'selected' : ''
- return ''
- },
- h = (t) => {
- if ('range' === e.type) {
- if ('start' === t || 'end' === t) return sr(t)
- if ('start-end' === t) return `${sr('start')}/${sr('end')}`
- }
- },
- g = () => {
- if (e.showMonthTitle)
- return t.createVNode('div', { class: ir('month-title') }, [
- n['month-title'] ? n['month-title']({ date: e.date, text: c.value }) : c.value
- ])
- },
- b = () => {
- if (e.showMark && f.value)
- return t.createVNode('div', { class: ir('month-mark') }, [e.date.getMonth() + 1])
- },
- y = t.computed(() => {
- const e = Math.ceil((p.value + u.value) / 7)
- return Array(e).fill({ type: 'placeholder' })
- }),
- w = t.computed(() => {
- const t = [],
- o = e.date.getFullYear(),
- n = e.date.getMonth()
- for (let a = 1; a <= p.value; a++) {
- const r = new Date(o, n, a),
- l = v(r)
- let i = { date: r, type: l, text: a, bottomInfo: h(l) }
- e.formatter && (i = e.formatter(i)), t.push(i)
- }
- return t
- }),
- x = t.computed(() => w.value.filter((e) => 'disabled' === e.type)),
- V = (a, r) =>
- t.createVNode(
- Nr,
- {
- item: a,
- index: r,
- color: e.color,
- offset: u.value,
- rowHeight: d.value,
- onClick: (e) => o('click', e)
- },
- m(n, ['top-info', 'bottom-info'])
- )
- return (
- Qe({
- getTitle: () => c.value,
- getHeight: () => s.value,
- setVisible: r,
- scrollToDate: (e, t) => {
- if (l.value) {
- const o = P(l.value),
- n = y.value.length,
- a = ((Math.ceil((t.getDate() + u.value) / 7) - 1) * o.height) / n
- Q(e, o.top + a + e.scrollTop - P(e).top)
- }
- },
- disabledDays: x
- }),
- () =>
- t.createVNode('div', { class: ir('month'), ref: i }, [
- g(),
- t.createVNode('div', { ref: l, role: 'grid', class: ir('days') }, [
- b(),
- (f.value ? w : y).value.map(V)
- ])
- ])
- )
- }
- })
- const [Tr] = Ie('calendar-header')
- var Br = t.defineComponent({
- name: Tr,
- props: {
- date: Date,
- title: String,
- subtitle: String,
- showTitle: Boolean,
- showSubtitle: Boolean,
- firstDayOfWeek: Number
- },
- emits: ['clickSubtitle'],
- setup(e, { slots: o, emit: n }) {
- const a = () => {
- if (e.showTitle) {
- const n = e.title || sr('title'),
- a = o.title ? o.title() : n
- return t.createVNode('div', { class: ir('header-title') }, [a])
- }
- },
- r = (e) => n('clickSubtitle', e),
- l = () => {
- if (e.showSubtitle) {
- const n = o.subtitle ? o.subtitle({ date: e.date, text: e.subtitle }) : e.subtitle
- return t.createVNode('div', { class: ir('header-subtitle'), onClick: r }, [n])
- }
- },
- i = () => {
- const { firstDayOfWeek: o } = e,
- n = sr('weekdays'),
- a = [...n.slice(o, 7), ...n.slice(0, o)]
- return t.createVNode('div', { class: ir('weekdays') }, [
- a.map((e) => t.createVNode('span', { class: ir('weekday') }, [e]))
- ])
- }
- return () => t.createVNode('div', { class: ir('header') }, [a(), l(), i()])
- }
- })
- const Pr = {
- show: Boolean,
- type: N('single'),
- title: String,
- color: String,
- round: b,
- readonly: Boolean,
- poppable: b,
- maxRange: V(null),
- position: N('bottom'),
- teleport: [String, Object],
- showMark: b,
- showTitle: b,
- formatter: Function,
- rowHeight: g,
- confirmText: String,
- rangePrompt: String,
- lazyRender: b,
- showConfirm: b,
- defaultDate: [Date, Array],
- allowSameDay: Boolean,
- showSubtitle: b,
- closeOnPopstate: b,
- showRangePrompt: b,
- confirmDisabledText: String,
- closeOnClickOverlay: b,
- safeAreaInsetTop: Boolean,
- safeAreaInsetBottom: b,
- minDate: { type: Date, validator: l, default: hr },
- maxDate: {
- type: Date,
- validator: l,
- default: () => {
- const e = hr()
- return new Date(e.getFullYear(), e.getMonth() + 6, e.getDate())
- }
- },
- firstDayOfWeek: { type: g, default: 0, validator: (e) => e >= 0 && e <= 6 }
- }
- const Dr = We(
- t.defineComponent({
- name: lr,
- props: Pr,
- emits: [
- 'select',
- 'confirm',
- 'unselect',
- 'monthShow',
- 'overRange',
- 'update:show',
- 'clickSubtitle'
- ],
- setup(e, { emit: o, slots: n }) {
- const a = (t, o = e.minDate, n = e.maxDate) =>
- -1 === dr(t, o) ? o : 1 === dr(t, n) ? n : t,
- r = (t = e.defaultDate) => {
- const { type: o, minDate: n, maxDate: r, allowSameDay: l } = e
- if (null === t) return t
- const i = hr()
- if ('range' === o) {
- Array.isArray(t) || (t = [])
- return [a(t[0] || i, n, l ? r : fr(r)), a(t[1] || i, l ? n : vr(n))]
- }
- return 'multiple' === o
- ? Array.isArray(t)
- ? t.map((e) => a(e))
- : [a(i)]
- : ((t && !Array.isArray(t)) || (t = i), a(t))
- }
- let i
- const s = t.ref(),
- c = t.ref({ text: '', date: void 0 }),
- d = t.ref(r()),
- [u, p] = wo(),
- f = t.computed(() => (e.firstDayOfWeek ? +e.firstDayOfWeek % 7 : 0)),
- v = t.computed(() => {
- const t = [],
- o = new Date(e.minDate)
- o.setDate(1)
- do {
- t.push(new Date(o)), o.setMonth(o.getMonth() + 1)
- } while (1 !== cr(o, e.maxDate))
- return t
- }),
- h = t.computed(() => {
- if (d.value) {
- if ('range' === e.type) return !d.value[0] || !d.value[1]
- if ('multiple' === e.type) return !d.value.length
- }
- return !d.value
- }),
- g = () => {
- const e = J(s.value),
- t = e + i,
- n = v.value.map((e, t) => u.value[t].getHeight())
- if (t > n.reduce((e, t) => e + t, 0) && e > 0) return
- let a,
- r = 0
- const l = [-1, -1]
- for (let i = 0; i < v.value.length; i++) {
- const s = u.value[i]
- r <= t &&
- r + n[i] >= e &&
- ((l[1] = i),
- a || ((a = s), (l[0] = i)),
- u.value[i].showed ||
- ((u.value[i].showed = !0),
- o('monthShow', { date: s.date, title: s.getTitle() }))),
- (r += n[i])
- }
- v.value.forEach((e, t) => {
- const o = t >= l[0] - 1 && t <= l[1] + 1
- u.value[t].setVisible(o)
- }),
- a && (c.value = { text: a.getTitle(), date: a.date })
- },
- b = (e) => {
- C(() => {
- v.value.some(
- (t, o) => 0 === cr(t, e) && (s.value && u.value[o].scrollToDate(s.value, e), !0)
- ),
- g()
- })
- },
- y = () => {
- if (!e.poppable || e.show)
- if (d.value) {
- const t = 'single' === e.type ? d.value : d.value[0]
- l(t) && b(t)
- } else C(g)
- },
- w = () => {
- ;(e.poppable && !e.show) ||
- (C(() => {
- i = Math.floor(P(s).height)
- }),
- y())
- },
- x = (e = r()) => {
- ;(d.value = e), y()
- },
- V = () => {
- var e
- return o('confirm', null != (e = d.value) ? e : pr(d.value))
- },
- N = (t, n) => {
- const a = (e) => {
- ;(d.value = e), o('select', pr(e))
- }
- if (n && 'range' === e.type) {
- const n = ((t) => {
- const { maxRange: n, rangePrompt: a, showRangePrompt: r } = e
- return !(
- n &&
- (function (e) {
- const t = e[0].getTime()
- return (e[1].getTime() - t) / 864e5 + 1
- })(t) > +n &&
- (r && _n(a || sr('rangePrompt', n)), o('overRange'), 1)
- )
- })(t)
- if (!n) return void a([t[0], mr(t[0], +e.maxRange - 1)])
- }
- a(t), n && !e.showConfirm && V()
- },
- k = t.computed(() =>
- u.value.reduce((e, t) => {
- var o, n
- return (
- e.push(
- ...(null != (n = null == (o = t.disabledDays) ? void 0 : o.value) ? n : [])
- ),
- e
- )
- }, [])
- ),
- S = (t) => {
- if (e.readonly || !t.date) return
- const { date: n } = t,
- { type: a } = e
- if ('range' === a) {
- if (!d.value) return void N([n])
- const [t, o] = d.value
- if (t && !o) {
- const o = dr(n, t)
- if (1 === o) {
- const e = ((e, t, o) => {
- var n
- return null ==
- (n = e.find((e) => -1 === dr(t, e.date) && -1 === dr(e.date, o)))
- ? void 0
- : n.date
- })(k.value, t, n)
- if (e) {
- const o = fr(e)
- ;-1 === dr(t, o) ? N([t, o]) : N([n])
- } else N([t, n], !0)
- } else -1 === o ? N([n]) : e.allowSameDay && N([n, n], !0)
- } else N([n])
- } else if ('multiple' === a) {
- if (!d.value) return void N([n])
- const t = d.value,
- a = t.findIndex((e) => 0 === dr(e, n))
- if (-1 !== a) {
- const [e] = t.splice(a, 1)
- o('unselect', ur(e))
- } else
- e.maxRange && t.length >= +e.maxRange
- ? _n(e.rangePrompt || sr('rangePrompt', e.maxRange))
- : N([...t, n])
- } else N(n, !0)
- },
- T = (e) => o('update:show', e),
- B = (o, a) => {
- const r = 0 !== a || !e.showSubtitle
- return t.createVNode(
- Sr,
- t.mergeProps(
- {
- ref: p(a),
- date: o,
- currentDate: d.value,
- showMonthTitle: r,
- firstDayOfWeek: f.value
- },
- m(e, [
- 'type',
- 'color',
- 'minDate',
- 'maxDate',
- 'showMark',
- 'formatter',
- 'rowHeight',
- 'lazyRender',
- 'showSubtitle',
- 'allowSameDay'
- ]),
- { onClick: S }
- ),
- m(n, ['top-info', 'bottom-info', 'month-title'])
- )
- },
- D = () => {
- if (n.footer) return n.footer()
- if (e.showConfirm) {
- const o = n['confirm-text'],
- a = h.value,
- r = a ? e.confirmDisabledText : e.confirmText
- return t.createVNode(
- St,
- {
- round: !0,
- block: !0,
- type: 'primary',
- color: e.color,
- class: ir('confirm'),
- disabled: a,
- nativeType: 'button',
- onClick: V
- },
- { default: () => [o ? o({ disabled: a }) : r || sr('confirm')] }
- )
- }
- },
- O = () =>
- t.createVNode('div', { class: ir() }, [
- t.createVNode(
- Br,
- {
- date: c.value.date,
- title: e.title,
- subtitle: c.value.text,
- showTitle: e.showTitle,
- showSubtitle: e.showSubtitle,
- firstDayOfWeek: f.value,
- onClickSubtitle: (e) => o('clickSubtitle', e)
- },
- m(n, ['title', 'subtitle'])
- ),
- t.createVNode('div', { ref: s, class: ir('body'), onScroll: g }, [v.value.map(B)]),
- t.createVNode(
- 'div',
- { class: [ir('footer'), { 'van-safe-area-bottom': e.safeAreaInsetBottom }] },
- [D()]
- )
- ])
- return (
- t.watch(() => e.show, w),
- t.watch(
- () => [e.type, e.minDate, e.maxDate],
- () => x(r(d.value))
- ),
- t.watch(
- () => e.defaultDate,
- (e = null) => {
- ;(d.value = e), y()
- }
- ),
- Qe({ reset: x, scrollToDate: b, getSelectedDate: () => d.value }),
- H(w),
- () =>
- e.poppable
- ? t.createVNode(
- Gt,
- {
- show: e.show,
- class: ir('popup'),
- round: e.round,
- position: e.position,
- closeable: e.showTitle || e.showSubtitle,
- teleport: e.teleport,
- closeOnPopstate: e.closeOnPopstate,
- safeAreaInsetTop: e.safeAreaInsetTop,
- closeOnClickOverlay: e.closeOnClickOverlay,
- 'onUpdate:show': T
- },
- { default: O }
- )
- : O()
- )
- }
- })
- ),
- [Or, Ir] = Ie('image'),
- Ar = {
- src: String,
- alt: String,
- fit: String,
- position: String,
- round: Boolean,
- block: Boolean,
- width: g,
- height: g,
- radius: g,
- lazyLoad: Boolean,
- iconSize: g,
- showError: b,
- errorIcon: N('photo-fail'),
- iconPrefix: String,
- showLoading: b,
- loadingIcon: N('photo')
- }
- const zr = We(
- t.defineComponent({
- name: Or,
- props: Ar,
- emits: ['load', 'error'],
- setup(e, { emit: n, slots: a }) {
- const r = t.ref(!1),
- l = t.ref(!0),
- i = t.ref(),
- { $Lazyload: s } = t.getCurrentInstance().proxy,
- c = t.computed(() => {
- const t = { width: de(e.width), height: de(e.height) }
- return o(e.radius) && ((t.overflow = 'hidden'), (t.borderRadius = de(e.radius))), t
- })
- t.watch(
- () => e.src,
- () => {
- ;(r.value = !1), (l.value = !0)
- }
- )
- const d = (e) => {
- l.value && ((l.value = !1), n('load', e))
- },
- p = () => {
- const e = new Event('load')
- Object.defineProperty(e, 'target', { value: i.value, enumerable: !0 }), d(e)
- },
- m = (e) => {
- ;(r.value = !0), (l.value = !1), n('error', e)
- },
- f = (o, n, a) =>
- a
- ? a()
- : t.createVNode(
- ht,
- { name: o, size: e.iconSize, class: n, classPrefix: e.iconPrefix },
- null
- ),
- v = () => {
- if (r.value || !e.src) return
- const o = {
- alt: e.alt,
- class: Ir('img'),
- style: { objectFit: e.fit, objectPosition: e.position }
- }
- return e.lazyLoad
- ? t.withDirectives(t.createVNode('img', t.mergeProps({ ref: i }, o), null), [
- [t.resolveDirective('lazy'), e.src]
- ])
- : t.createVNode(
- 'img',
- t.mergeProps({ ref: i, src: e.src, onLoad: d, onError: m }, o),
- null
- )
- },
- h = ({ el: e }) => {
- const o = () => {
- e === i.value && l.value && p()
- }
- i.value ? o() : t.nextTick(o)
- },
- g = ({ el: e }) => {
- e !== i.value || r.value || m()
- }
- return (
- s &&
- u &&
- (s.$on('loaded', h),
- s.$on('error', g),
- t.onBeforeUnmount(() => {
- s.$off('loaded', h), s.$off('error', g)
- })),
- t.onMounted(() => {
- t.nextTick(() => {
- var t
- ;(null == (t = i.value) ? void 0 : t.complete) && !e.lazyLoad && p()
- })
- }),
- () => {
- var o
- return t.createVNode(
- 'div',
- { class: Ir({ round: e.round, block: e.block }), style: c.value },
- [
- v(),
- l.value && e.showLoading
- ? t.createVNode('div', { class: Ir('loading') }, [
- f(e.loadingIcon, Ir('loading-icon'), a.loading)
- ])
- : r.value && e.showError
- ? t.createVNode('div', { class: Ir('error') }, [
- f(e.errorIcon, Ir('error-icon'), a.error)
- ])
- : void 0,
- null == (o = a.default) ? void 0 : o.call(a)
- ]
- )
- }
- )
- }
- })
- ),
- [Er, Lr] = Ie('card'),
- $r = {
- tag: String,
- num: g,
- desc: String,
- thumb: String,
- title: String,
- price: g,
- centered: Boolean,
- lazyLoad: Boolean,
- currency: N('¥'),
- thumbLink: String,
- originPrice: g
- }
- const Mr = We(
- t.defineComponent({
- name: Er,
- props: $r,
- emits: ['clickThumb'],
- setup(e, { slots: n, emit: a }) {
- const r = () => {
- if (n.tag || e.tag)
- return t.createVNode('div', { class: Lr('tag') }, [
- n.tag
- ? n.tag()
- : t.createVNode(Ca, { mark: !0, type: 'primary' }, { default: () => [e.tag] })
- ])
- },
- l = () => {
- if (n.thumb || e.thumb)
- return t.createVNode(
- 'a',
- { href: e.thumbLink, class: Lr('thumb'), onClick: (e) => a('clickThumb', e) },
- [
- n.thumb
- ? n.thumb()
- : t.createVNode(
- zr,
- {
- src: e.thumb,
- fit: 'cover',
- width: '100%',
- height: '100%',
- lazyLoad: e.lazyLoad
- },
- null
- ),
- r()
- ]
- )
- },
- i = () => {
- const o = e.price.toString().split('.')
- return t.createVNode('div', null, [
- t.createVNode('span', { class: Lr('price-currency') }, [e.currency]),
- t.createVNode('span', { class: Lr('price-integer') }, [o[0]]),
- t.createTextVNode('.'),
- t.createVNode('span', { class: Lr('price-decimal') }, [o[1]])
- ])
- }
- return () => {
- var a, r, s
- const c = n.num || o(e.num),
- d = n.price || o(e.price),
- u = n['origin-price'] || o(e.originPrice),
- p = c || d || u || n.bottom,
- m = d && t.createVNode('div', { class: Lr('price') }, [n.price ? n.price() : i()]),
- f =
- u &&
- t.createVNode('div', { class: Lr('origin-price') }, [
- n['origin-price'] ? n['origin-price']() : `${e.currency} ${e.originPrice}`
- ]),
- v = c && t.createVNode('div', { class: Lr('num') }, [n.num ? n.num() : `x${e.num}`]),
- h = n.footer && t.createVNode('div', { class: Lr('footer') }, [n.footer()]),
- g =
- p &&
- t.createVNode('div', { class: Lr('bottom') }, [
- null == (a = n['price-top']) ? void 0 : a.call(n),
- m,
- f,
- v,
- null == (r = n.bottom) ? void 0 : r.call(n)
- ])
- return t.createVNode('div', { class: Lr() }, [
- t.createVNode('div', { class: Lr('header') }, [
- l(),
- t.createVNode('div', { class: Lr('content', { centered: e.centered }) }, [
- t.createVNode('div', null, [
- n.title
- ? n.title()
- : e.title
- ? t.createVNode('div', { class: [Lr('title'), 'van-multi-ellipsis--l2'] }, [
- e.title
- ])
- : void 0,
- n.desc
- ? n.desc()
- : e.desc
- ? t.createVNode('div', { class: [Lr('desc'), 'van-ellipsis'] }, [e.desc])
- : void 0,
- null == (s = n.tags) ? void 0 : s.call(n)
- ]),
- g
- ])
- ]),
- h
- ])
- }
- }
- })
- ),
- [Rr, Fr, Hr] = Ie('cascader'),
- jr = {
- title: String,
- options: w(),
- closeable: b,
- swipeable: b,
- closeIcon: N('cross'),
- showHeader: b,
- modelValue: g,
- fieldNames: Object,
- placeholder: String,
- activeColor: String
- }
- const Wr = We(
- t.defineComponent({
- name: Rr,
- props: jr,
- emits: ['close', 'change', 'finish', 'clickTab', 'update:modelValue'],
- setup(e, { slots: o, emit: n }) {
- const a = t.ref([]),
- r = t.ref(0),
- [l, i] = wo(),
- {
- text: s,
- value: c,
- children: u
- } = d({ text: 'text', value: 'value', children: 'children' }, e.fieldNames),
- p = (e, t) => {
- for (const o of e) {
- if (o[c] === t) return [o]
- if (o[u]) {
- const e = p(o[u], t)
- if (e) return [o, ...e]
- }
- }
- },
- m = () => {
- const { options: o, modelValue: n } = e
- if (void 0 !== n) {
- const e = p(o, n)
- if (e) {
- let n = o
- return (
- (a.value = e.map((e) => {
- const t = { options: n, selected: e },
- o = n.find((t) => t[c] === e[c])
- return o && (n = o[u]), t
- })),
- n && a.value.push({ options: n, selected: null }),
- void t.nextTick(() => {
- r.value = a.value.length - 1
- })
- )
- }
- }
- a.value = [{ options: o, selected: null }]
- },
- f = () => n('close'),
- v = ({ name: e, title: t }) => n('clickTab', e, t),
- h = (l, d, p) => {
- const { disabled: m } = l,
- f = !(!d || l[c] !== d[c]),
- v = l.color || (f ? e.activeColor : void 0),
- h = o.option
- ? o.option({ option: l, selected: f })
- : t.createVNode('span', null, [l[s]])
- return t.createVNode(
- 'li',
- {
- ref: f ? i(p) : void 0,
- role: 'menuitemradio',
- class: [Fr('option', { selected: f, disabled: m }), l.className],
- style: { color: v },
- tabindex: m ? void 0 : f ? 0 : -1,
- 'aria-checked': f,
- 'aria-disabled': m || void 0,
- onClick: () =>
- ((e, o) => {
- if (e.disabled) return
- if (
- ((a.value[o].selected = e),
- a.value.length > o + 1 && (a.value = a.value.slice(0, o + 1)),
- e[u])
- ) {
- const n = { options: e[u], selected: null }
- a.value[o + 1] ? (a.value[o + 1] = n) : a.value.push(n),
- t.nextTick(() => {
- r.value++
- })
- }
- const l = a.value.map((e) => e.selected).filter(Boolean)
- n('update:modelValue', e[c])
- const i = { value: e[c], tabIndex: o, selectedOptions: l }
- n('change', i), e[u] || n('finish', i)
- })(l, p)
- },
- [
- h,
- f
- ? t.createVNode(ht, { name: 'success', class: Fr('selected-icon') }, null)
- : null
- ]
- )
- },
- g = (e, o, n) =>
- t.createVNode('ul', { role: 'menu', class: Fr('options') }, [
- e.map((e) => h(e, o, n))
- ]),
- b = (n, a) => {
- const { options: r, selected: l } = n,
- i = e.placeholder || Hr('select'),
- c = l ? l[s] : i
- return t.createVNode(
- Zo,
- { title: c, titleClass: Fr('tab', { unselected: !l }) },
- {
- default: () => {
- var e, t
- return [
- null == (e = o['options-top']) ? void 0 : e.call(o, { tabIndex: a }),
- g(r, l, a),
- null == (t = o['options-bottom']) ? void 0 : t.call(o, { tabIndex: a })
- ]
- }
- }
- )
- }
- return (
- m(),
- t.watch(r, (e) => {
- const t = l.value[e]
- t &&
- ((e) => {
- const t = e.parentElement
- t && (t.scrollTop = e.offsetTop - (t.offsetHeight - e.offsetHeight) / 2)
- })(t)
- }),
- t.watch(() => e.options, m, { deep: !0 }),
- t.watch(
- () => e.modelValue,
- (e) => {
- if (void 0 !== e) {
- if (
- a.value
- .map((e) => {
- var t
- return null == (t = e.selected) ? void 0 : t[c]
- })
- .includes(e)
- )
- return
- }
- m()
- }
- ),
- () =>
- t.createVNode('div', { class: Fr() }, [
- e.showHeader
- ? t.createVNode('div', { class: Fr('header') }, [
- t.createVNode('h2', { class: Fr('title') }, [o.title ? o.title() : e.title]),
- e.closeable
- ? t.createVNode(
- ht,
- { name: e.closeIcon, class: [Fr('close-icon'), Fe], onClick: f },
- null
- )
- : null
- ])
- : null,
- t.createVNode(
- Ko,
- {
- active: r.value,
- 'onUpdate:active': (e) => (r.value = e),
- shrink: !0,
- animated: !0,
- class: Fr('tabs'),
- color: e.activeColor,
- swipeable: e.swipeable,
- onClickTab: v
- },
- { default: () => [a.value.map(b)] }
- )
- ])
- )
- }
- })
- ),
- [Ur, Yr] = Ie('cell-group'),
- qr = { title: String, inset: Boolean, border: b }
- const Xr = We(
- t.defineComponent({
- name: Ur,
- inheritAttrs: !1,
- props: qr,
- setup(e, { slots: o, attrs: n }) {
- const a = () => {
- var a
- return t.createVNode(
- 'div',
- t.mergeProps({ class: [Yr({ inset: e.inset }), { [Me]: e.border && !e.inset }] }, n),
- [null == (a = o.default) ? void 0 : a.call(o)]
- )
- }
- return () =>
- e.title || o.title
- ? t.createVNode(t.Fragment, null, [
- t.createVNode('div', { class: Yr('title', { inset: e.inset }) }, [
- o.title ? o.title() : e.title
- ]),
- a()
- ])
- : a()
- }
- })
- ),
- [Gr, Zr] = Ie('checkbox-group'),
- Kr = {
- max: g,
- disabled: Boolean,
- iconSize: g,
- direction: String,
- modelValue: w(),
- checkedColor: String
- },
- _r = Symbol(Gr)
- var Jr = t.defineComponent({
- name: Gr,
- props: Kr,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const { children: a, linkChildren: r } = A(_r),
- l = (e) => o('update:modelValue', e)
- return (
- t.watch(
- () => e.modelValue,
- (e) => o('change', e)
- ),
- Qe({
- toggleAll: (e = {}) => {
- 'boolean' == typeof e && (e = { checked: e })
- const { checked: t, skipDisabled: o } = e,
- n = a
- .filter(
- (e) =>
- !!e.props.bindGroup &&
- (e.props.disabled && o ? e.checked.value : null != t ? t : !e.checked.value)
- )
- .map((e) => e.name)
- l(n)
- }
- }),
- _(() => e.modelValue),
- r({ props: e, updateValue: l }),
- () => {
- var o
- return t.createVNode('div', { class: Zr([e.direction]) }, [
- null == (o = n.default) ? void 0 : o.call(n)
- ])
- }
- )
- }
- })
- const [Qr, el] = Ie('checkbox'),
- tl = d({}, Sa, { bindGroup: b })
- const ol = We(
- t.defineComponent({
- name: Qr,
- props: tl,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const { parent: a } = D(_r),
- r = t.computed(() =>
- a && e.bindGroup ? -1 !== a.props.modelValue.indexOf(e.name) : !!e.modelValue
- ),
- l = (t = !r.value) => {
- a && e.bindGroup
- ? ((t) => {
- const { name: o } = e,
- { max: n, modelValue: r } = a.props,
- l = r.slice()
- if (t)
- (n && l.length >= +n) ||
- l.includes(o) ||
- (l.push(o), e.bindGroup && a.updateValue(l))
- else {
- const t = l.indexOf(o)
- ;-1 !== t && (l.splice(t, 1), e.bindGroup && a.updateValue(l))
- }
- })(t)
- : o('update:modelValue', t)
- }
- return (
- t.watch(
- () => e.modelValue,
- (e) => o('change', e)
- ),
- Qe({ toggle: l, props: e, checked: r }),
- _(() => e.modelValue),
- () =>
- t.createVNode(
- Ta,
- t.mergeProps(
- { bem: el, role: 'checkbox', parent: a, checked: r.value, onToggle: l },
- e
- ),
- m(n, ['default', 'icon'])
- )
- )
- }
- })
- ),
- nl = We(Jr),
- [al, rl] = Ie('circle')
- let ll = 0
- const il = (e) => Math.min(Math.max(+e, 0), 100)
- const sl = {
- text: String,
- size: g,
- fill: N('none'),
- rate: V(100),
- speed: V(0),
- color: [String, Object],
- clockwise: b,
- layerColor: String,
- currentRate: x(0),
- strokeWidth: V(40),
- strokeLinecap: String,
- startPosition: N('top')
- }
- const cl = We(
- t.defineComponent({
- name: al,
- props: sl,
- emits: ['update:currentRate'],
- setup(e, { emit: o, slots: n }) {
- const r = 'van-circle-' + ll++,
- l = t.computed(() => +e.strokeWidth + 1e3),
- i = t.computed(() =>
- (function (e, t) {
- const o = e ? 1 : 0
- return `M ${t / 2} ${
- t / 2
- } m 0, -500 a 500, 500 0 1, ${o} 0, 1000 a 500, 500 0 1, ${o} 0, -1000`
- })(e.clockwise, l.value)
- ),
- s = t.computed(() => {
- const t = { top: 0, right: 90, bottom: 180, left: 270 }[e.startPosition]
- if (t) return { transform: `rotate(${t}deg)` }
- })
- t.watch(
- () => e.rate,
- (t) => {
- let n
- const a = Date.now(),
- r = e.currentRate,
- l = il(t),
- i = Math.abs((1e3 * (r - l)) / +e.speed),
- s = () => {
- const e = Date.now(),
- t = Math.min((e - a) / i, 1) * (l - r) + r
- o('update:currentRate', il(parseFloat(t.toFixed(1)))),
- (l > r ? t < l : t > l) && (n = C(s))
- }
- e.speed ? (n && S(n), (n = C(s))) : o('update:currentRate', l)
- },
- { immediate: !0 }
- )
- const c = () => {
- const { strokeWidth: o, currentRate: n, strokeLinecap: l } = e,
- s = (3140 * n) / 100,
- c = a(e.color) ? `url(#${r})` : e.color,
- d = {
- stroke: c,
- strokeWidth: +o + 1 + 'px',
- strokeLinecap: l,
- strokeDasharray: `${s}px 3140px`
- }
- return t.createVNode(
- 'path',
- { d: i.value, style: d, class: rl('hover'), stroke: c },
- null
- )
- },
- d = () => {
- const o = { fill: e.fill, stroke: e.layerColor, strokeWidth: `${e.strokeWidth}px` }
- return t.createVNode('path', { class: rl('layer'), style: o, d: i.value }, null)
- },
- u = () => {
- const { color: o } = e
- if (!a(o)) return
- const n = Object.keys(o)
- .sort((e, t) => parseFloat(e) - parseFloat(t))
- .map((e, n) =>
- t.createVNode('stop', { key: n, offset: e, 'stop-color': o[e] }, null)
- )
- return t.createVNode('defs', null, [
- t.createVNode(
- 'linearGradient',
- { id: r, x1: '100%', y1: '0%', x2: '0%', y2: '0%' },
- [n]
- )
- ])
- }
- return () =>
- t.createVNode('div', { class: rl(), style: ue(e.size) }, [
- t.createVNode('svg', { viewBox: `0 0 ${l.value} ${l.value}`, style: s.value }, [
- u(),
- d(),
- c()
- ]),
- n.default
- ? n.default()
- : e.text
- ? t.createVNode('div', { class: rl('text') }, [e.text])
- : void 0
- ])
- }
- })
- ),
- [dl, ul] = Ie('row'),
- pl = Symbol(dl),
- ml = { tag: N('div'), wrap: b, align: String, gutter: V(0), justify: String }
- var fl = t.defineComponent({
- name: dl,
- props: ml,
- setup(e, { slots: o }) {
- const { children: n, linkChildren: a } = A(pl),
- r = t.computed(() => {
- const e = [[]]
- let t = 0
- return (
- n.forEach((o, n) => {
- ;(t += Number(o.span)), t > 24 ? (e.push([n]), (t -= 24)) : e[e.length - 1].push(n)
- }),
- e
- )
- })
- return (
- a({
- spaces: t.computed(() => {
- const t = Number(e.gutter),
- o = []
- return t
- ? (r.value.forEach((e) => {
- const n = (t * (e.length - 1)) / e.length
- e.forEach((e, a) => {
- if (0 === a) o.push({ right: n })
- else {
- const a = t - o[e - 1].right,
- r = n - a
- o.push({ left: a, right: r })
- }
- })
- }),
- o)
- : o
- })
- }),
- () => {
- const { tag: n, wrap: a, align: r, justify: l } = e
- return t.createVNode(
- n,
- { class: ul({ [`align-${r}`]: r, [`justify-${l}`]: l, nowrap: !a }) },
- {
- default: () => {
- var e
- return [null == (e = o.default) ? void 0 : e.call(o)]
- }
- }
- )
- }
- )
- }
- })
- const [vl, hl] = Ie('col'),
- gl = { tag: N('div'), span: V(0), offset: g }
- const bl = We(
- t.defineComponent({
- name: vl,
- props: gl,
- setup(e, { slots: o }) {
- const { parent: n, index: a } = D(pl),
- r = t.computed(() => {
- if (!n) return
- const { spaces: e } = n
- if (e && e.value && e.value[a.value]) {
- const { left: t, right: o } = e.value[a.value]
- return { paddingLeft: t ? `${t}px` : null, paddingRight: o ? `${o}px` : null }
- }
- })
- return () => {
- const { tag: n, span: a, offset: l } = e
- return t.createVNode(
- n,
- { style: r.value, class: hl({ [a]: a, [`offset-${l}`]: l }) },
- {
- default: () => {
- var e
- return [null == (e = o.default) ? void 0 : e.call(o)]
- }
- }
- )
- }
- }
- })
- ),
- [yl, wl] = Ie('collapse'),
- xl = Symbol(yl),
- Vl = {
- border: b,
- accordion: Boolean,
- modelValue: { type: [String, Number, Array], default: '' }
- }
- const Nl = We(
- t.defineComponent({
- name: yl,
- props: Vl,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const { linkChildren: a, children: r } = A(xl),
- l = (e) => {
- o('change', e), o('update:modelValue', e)
- }
- return (
- Qe({
- toggleAll: (t = {}) => {
- if (e.accordion) return
- 'boolean' == typeof t && (t = { expanded: t })
- const { expanded: o, skipDisabled: n } = t,
- a = r
- .filter((e) =>
- e.disabled && n ? e.expanded.value : null != o ? o : !e.expanded.value
- )
- .map((e) => e.itemName.value)
- l(a)
- }
- }),
- a({
- toggle: (t, o) => {
- const { accordion: n, modelValue: a } = e
- l(n ? (t === a ? '' : t) : o ? a.concat(t) : a.filter((e) => e !== t))
- },
- isExpanded: (t) => {
- const { accordion: o, modelValue: n } = e
- return o ? n === t : n.includes(t)
- }
- }),
- () => {
- var o
- return t.createVNode('div', { class: [wl(), { [Me]: e.border }] }, [
- null == (o = n.default) ? void 0 : o.call(n)
- ])
- }
- )
- }
- })
- ),
- [kl, Cl] = Ie('collapse-item'),
- Sl = ['icon', 'title', 'value', 'label', 'right-icon'],
- Tl = d({}, bn, { name: g, isLink: b, disabled: Boolean, readonly: Boolean, lazyRender: b })
- const Bl = We(
- t.defineComponent({
- name: kl,
- props: Tl,
- setup(e, { slots: o }) {
- const n = t.ref(),
- a = t.ref(),
- { parent: r, index: l } = D(xl)
- if (!r) return
- const i = t.computed(() => {
- var t
- return null != (t = e.name) ? t : l.value
- }),
- s = t.computed(() => r.isExpanded(i.value)),
- c = t.ref(s.value),
- d = Ft(() => c.value || !e.lazyRender),
- u = () => {
- s.value ? n.value && (n.value.style.height = '') : (c.value = !1)
- }
- t.watch(s, (e, o) => {
- if (null === o) return
- e && (c.value = !0)
- ;(e ? t.nextTick : C)(() => {
- if (!a.value || !n.value) return
- const { offsetHeight: t } = a.value
- if (t) {
- const o = `${t}px`
- ;(n.value.style.height = e ? '0' : o),
- T(() => {
- n.value && (n.value.style.height = e ? o : '0')
- })
- } else u()
- })
- })
- const p = (e = !s.value) => {
- r.toggle(i.value, e)
- },
- f = () => {
- e.disabled || e.readonly || p()
- },
- v = () => {
- const { border: n, disabled: a, readonly: r } = e,
- l = m(e, Object.keys(bn))
- return (
- r && (l.isLink = !1),
- (a || r) && (l.clickable = !1),
- t.createVNode(
- wn,
- t.mergeProps(
- {
- role: 'button',
- class: Cl('title', { disabled: a, expanded: s.value, borderless: !n }),
- 'aria-expanded': String(s.value),
- onClick: f
- },
- l
- ),
- m(o, Sl)
- )
- )
- },
- h = d(() => {
- var e
- return t.withDirectives(
- t.createVNode('div', { ref: n, class: Cl('wrapper'), onTransitionend: u }, [
- t.createVNode('div', { ref: a, class: Cl('content') }, [
- null == (e = o.default) ? void 0 : e.call(o)
- ])
- ]),
- [[t.vShow, c.value]]
- )
- })
- return (
- Qe({ toggle: p, expanded: s, itemName: i }),
- () => t.createVNode('div', { class: [Cl({ border: l.value && e.border })] }, [v(), h()])
- )
- }
- })
- ),
- Pl = We(pt),
- [Dl, Ol, Il] = Ie('contact-card'),
- Al = { tel: String, name: String, type: N('add'), addText: String, editable: b }
- const zl = We(
- t.defineComponent({
- name: Dl,
- props: Al,
- emits: ['click'],
- setup(e, { emit: o }) {
- const n = (t) => {
- e.editable && o('click', t)
- },
- a = () =>
- 'add' === e.type
- ? e.addText || Il('addContact')
- : [
- t.createVNode('div', null, [`${Il('name')}:${e.name}`]),
- t.createVNode('div', null, [`${Il('tel')}:${e.tel}`])
- ]
- return () =>
- t.createVNode(
- wn,
- {
- center: !0,
- icon: 'edit' === e.type ? 'contact' : 'add-square',
- class: Ol([e.type]),
- border: !1,
- isLink: e.editable,
- titleClass: Ol('title'),
- onClick: n
- },
- { title: a }
- )
- }
- })
- ),
- [El, Ll, $l] = Ie('contact-edit'),
- Ml = { tel: '', name: '' },
- Rl = {
- isEdit: Boolean,
- isSaving: Boolean,
- isDeleting: Boolean,
- showSetDefault: Boolean,
- setDefaultLabel: String,
- contactInfo: { type: Object, default: () => d({}, Ml) },
- telValidator: { type: Function, default: i }
- }
- const Fl = We(
- t.defineComponent({
- name: El,
- props: Rl,
- emits: ['save', 'delete', 'changeDefault'],
- setup(e, { emit: o }) {
- const n = t.reactive(d({}, Ml, e.contactInfo)),
- a = () => {
- e.isSaving || o('save', n)
- },
- r = () => o('delete', n),
- l = () =>
- t.createVNode(
- la,
- {
- modelValue: n.isDefault,
- 'onUpdate:modelValue': (e) => (n.isDefault = e),
- onChange: (e) => o('changeDefault', e)
- },
- null
- ),
- i = () => {
- if (e.showSetDefault)
- return t.createVNode(
- wn,
- { title: e.setDefaultLabel, class: Ll('switch-cell'), border: !1 },
- { 'right-icon': l }
- )
- }
- return (
- t.watch(
- () => e.contactInfo,
- (e) => d(n, Ml, e)
- ),
- () =>
- t.createVNode(
- kn,
- { class: Ll(), onSubmit: a },
- {
- default: () => [
- t.createVNode('div', { class: Ll('fields') }, [
- t.createVNode(
- En,
- {
- modelValue: n.name,
- 'onUpdate:modelValue': (e) => (n.name = e),
- clearable: !0,
- label: $l('name'),
- rules: [{ required: !0, message: $l('nameEmpty') }],
- maxlength: '30',
- placeholder: $l('name')
- },
- null
- ),
- t.createVNode(
- En,
- {
- modelValue: n.tel,
- 'onUpdate:modelValue': (e) => (n.tel = e),
- clearable: !0,
- type: 'tel',
- label: $l('tel'),
- rules: [{ validator: e.telValidator, message: $l('telInvalid') }],
- placeholder: $l('tel')
- },
- null
- )
- ]),
- i(),
- t.createVNode('div', { class: Ll('buttons') }, [
- t.createVNode(
- St,
- {
- block: !0,
- round: !0,
- type: 'primary',
- text: $l('save'),
- class: Ll('button'),
- loading: e.isSaving,
- nativeType: 'submit'
- },
- null
- ),
- e.isEdit &&
- t.createVNode(
- St,
- {
- block: !0,
- round: !0,
- text: $l('delete'),
- class: Ll('button'),
- loading: e.isDeleting,
- onClick: r
- },
- null
- )
- ])
- ]
- }
- )
- )
- }
- })
- ),
- [Hl, jl, Wl] = Ie('contact-list'),
- Ul = { list: Array, addText: String, modelValue: h, defaultTagText: String }
- const Yl = We(
- t.defineComponent({
- name: Hl,
- props: Ul,
- emits: ['add', 'edit', 'select', 'update:modelValue'],
- setup(e, { emit: o }) {
- const n = (n, a) =>
- t.createVNode(
- wn,
- {
- key: n.id,
- isLink: !0,
- center: !0,
- class: jl('item'),
- titleClass: jl('item-title'),
- onClick: () => {
- o('update:modelValue', n.id), o('select', n, a)
- }
- },
- {
- icon: () =>
- t.createVNode(
- ht,
- {
- name: 'edit',
- class: jl('edit'),
- onClick: (e) => {
- e.stopPropagation(), o('edit', n, a)
- }
- },
- null
- ),
- title: () => {
- const o = [`${n.name},${n.tel}`]
- return (
- n.isDefault &&
- e.defaultTagText &&
- o.push(
- t.createVNode(
- Ca,
- { type: 'primary', round: !0, class: jl('item-tag') },
- { default: () => [e.defaultTagText] }
- )
- ),
- o
- )
- },
- 'right-icon': () =>
- t.createVNode(Oa, { class: jl('radio'), name: n.id, iconSize: 18 }, null)
- }
- )
- return () =>
- t.createVNode('div', { class: jl() }, [
- t.createVNode(
- xa,
- { modelValue: e.modelValue, class: jl('group') },
- { default: () => [e.list && e.list.map(n)] }
- ),
- t.createVNode('div', { class: [jl('bottom'), 'van-safe-area-bottom'] }, [
- t.createVNode(
- St,
- {
- round: !0,
- block: !0,
- type: 'primary',
- class: jl('add'),
- text: e.addText || Wl('addContact'),
- onClick: () => o('add')
- },
- null
- )
- ])
- ])
- }
- })
- )
- const [ql, Xl] = Ie('count-down'),
- Gl = { time: V(0), format: N('HH:mm:ss'), autoStart: b, millisecond: Boolean }
- const Zl = We(
- t.defineComponent({
- name: ql,
- props: Gl,
- emits: ['change', 'finish'],
- setup(e, { emit: o, slots: n }) {
- const {
- start: a,
- pause: r,
- reset: l,
- current: i
- } = F({
- time: +e.time,
- millisecond: e.millisecond,
- onChange: (e) => o('change', e),
- onFinish: () => o('finish')
- }),
- s = t.computed(() =>
- (function (e, t) {
- const { days: o } = t
- let { hours: n, minutes: a, seconds: r, milliseconds: l } = t
- if (
- (e.includes('DD') ? (e = e.replace('DD', be(o))) : (n += 24 * o),
- e.includes('HH') ? (e = e.replace('HH', be(n))) : (a += 60 * n),
- e.includes('mm') ? (e = e.replace('mm', be(a))) : (r += 60 * a),
- e.includes('ss') ? (e = e.replace('ss', be(r))) : (l += 1e3 * r),
- e.includes('S'))
- ) {
- const t = be(l, 3)
- e = e.includes('SSS')
- ? e.replace('SSS', t)
- : e.includes('SS')
- ? e.replace('SS', t.slice(0, 2))
- : e.replace('S', t.charAt(0))
- }
- return e
- })(e.format, i.value)
- ),
- c = () => {
- l(+e.time), e.autoStart && a()
- }
- return (
- t.watch(() => e.time, c, { immediate: !0 }),
- Qe({ start: a, pause: r, reset: c }),
- () =>
- t.createVNode('div', { role: 'timer', class: Xl() }, [
- n.default ? n.default(i.value) : s.value
- ])
- )
- }
- })
- )
- function Kl(e) {
- const t = new Date(1e3 * e)
- return `${t.getFullYear()}.${be(t.getMonth() + 1)}.${be(t.getDate())}`
- }
- const _l = (e) => (e / 100).toFixed(e % 100 == 0 ? 0 : e % 10 == 0 ? 1 : 2),
- [Jl, Ql, ei] = Ie('coupon')
- const ti = We(
- t.defineComponent({
- name: Jl,
- props: { chosen: Boolean, coupon: y(Object), disabled: Boolean, currency: N('¥') },
- setup(e) {
- const o = t.computed(() => {
- const { startAt: t, endAt: o } = e.coupon
- return `${Kl(t)} - ${Kl(o)}`
- }),
- n = t.computed(() => {
- const { coupon: o, currency: n } = e
- if (o.valueDesc) return [o.valueDesc, t.createVNode('span', null, [o.unitDesc || ''])]
- if (o.denominations) {
- const e = _l(o.denominations)
- return [t.createVNode('span', null, [n]), ` ${e}`]
- }
- return o.discount
- ? ei('discount', ((a = o.discount) / 10).toFixed(a % 10 == 0 ? 0 : 1))
- : ''
- var a
- }),
- a = t.computed(() => {
- const t = _l(e.coupon.originCondition || 0)
- return '0' === t ? ei('unlimited') : ei('condition', t)
- })
- return () => {
- const { chosen: r, coupon: l, disabled: i } = e,
- s = (i && l.reason) || l.description
- return t.createVNode('div', { class: Ql({ disabled: i }) }, [
- t.createVNode('div', { class: Ql('content') }, [
- t.createVNode('div', { class: Ql('head') }, [
- t.createVNode('h2', { class: Ql('amount') }, [n.value]),
- t.createVNode('p', { class: Ql('condition') }, [l.condition || a.value])
- ]),
- t.createVNode('div', { class: Ql('body') }, [
- t.createVNode('p', { class: Ql('name') }, [l.name]),
- t.createVNode('p', { class: Ql('valid') }, [o.value]),
- !i && t.createVNode(ol, { class: Ql('corner'), modelValue: r }, null)
- ])
- ]),
- s && t.createVNode('p', { class: Ql('description') }, [s])
- ])
- }
- }
- })
- ),
- [oi, ni, ai] = Ie('coupon-cell'),
- ri = {
- title: String,
- border: b,
- editable: b,
- coupons: w(),
- currency: N('¥'),
- chosenCoupon: V(-1)
- }
- function li({ coupons: e, chosenCoupon: t, currency: n }) {
- const a = e[+t]
- if (a) {
- let e = 0
- return (
- o(a.value) ? ({ value: e } = a) : o(a.denominations) && (e = a.denominations),
- `-${n} ${(e / 100).toFixed(2)}`
- )
- }
- return 0 === e.length ? ai('noCoupon') : ai('count', e.length)
- }
- const ii = We(
- t.defineComponent({
- name: oi,
- props: ri,
- setup: (e) => () => {
- const o = e.coupons[+e.chosenCoupon]
- return t.createVNode(
- wn,
- {
- class: ni(),
- value: li(e),
- title: e.title || ai('title'),
- border: e.border,
- isLink: e.editable,
- valueClass: ni('value', { selected: o })
- },
- null
- )
- }
- })
- ),
- [si, ci] = Ie('empty'),
- di = { image: N('default'), imageSize: [Number, String, Array], description: String }
- const ui = We(
- t.defineComponent({
- name: si,
- props: di,
- setup(e, { slots: o }) {
- const n = () => {
- const n = o.description ? o.description() : e.description
- if (n) return t.createVNode('p', { class: ci('description') }, [n])
- },
- a = () => {
- if (o.default) return t.createVNode('div', { class: ci('bottom') }, [o.default()])
- },
- r = yo(),
- l = (e) => `${r}-${e}`,
- i = (e) => `url(#${l(e)})`,
- s = (e, o, n) =>
- t.createVNode('stop', { 'stop-color': e, offset: `${o}%`, 'stop-opacity': n }, null),
- c = (e, t) => [s(e, 0), s(t, 100)],
- d = (e) => [
- t.createVNode('defs', null, [
- t.createVNode(
- 'radialGradient',
- {
- id: l(e),
- cx: '50%',
- cy: '54%',
- fx: '50%',
- fy: '54%',
- r: '297%',
- gradientTransform: 'matrix(-.16 0 0 -.33 .58 .72)'
- },
- [s('#EBEDF0', 0), s('#F2F3F5', 100, 0.3)]
- )
- ]),
- t.createVNode(
- 'ellipse',
- { fill: i(e), opacity: '.8', cx: '80', cy: '140', rx: '46', ry: '8' },
- null
- )
- ],
- u = () => [
- t.createVNode('defs', null, [
- t.createVNode('linearGradient', { id: l('a'), x1: '64%', y1: '100%', x2: '64%' }, [
- s('#FFF', 0, 0.5),
- s('#F2F3F5', 100)
- ])
- ]),
- t.createVNode('g', { opacity: '.8' }, [
- t.createVNode('path', { d: 'M36 131V53H16v20H2v58h34z', fill: i('a') }, null),
- t.createVNode('path', { d: 'M123 15h22v14h9v77h-31V15z', fill: i('a') }, null)
- ])
- ],
- p = () => [
- t.createVNode('defs', null, [
- t.createVNode(
- 'linearGradient',
- { id: l('b'), x1: '64%', y1: '97%', x2: '64%', y2: '0%' },
- [s('#F2F3F5', 0, 0.3), s('#F2F3F5', 100)]
- )
- ]),
- t.createVNode('g', { opacity: '.8' }, [
- t.createVNode(
- 'path',
- {
- d: 'M87 6c3 0 7 3 8 6a8 8 0 1 1-1 16H80a7 7 0 0 1-8-6c0-4 3-7 6-7 0-5 4-9 9-9Z',
- fill: i('b')
- },
- null
- ),
- t.createVNode(
- 'path',
- {
- d: 'M19 23c2 0 3 1 4 3 2 0 4 2 4 4a4 4 0 0 1-4 3v1h-7v-1l-1 1c-2 0-3-2-3-4 0-1 1-3 3-3 0-2 2-4 4-4Z',
- fill: i('b')
- },
- null
- )
- ])
- ],
- m = () =>
- t.createVNode('svg', { viewBox: '0 0 160 160' }, [
- t.createVNode('defs', null, [
- t.createVNode('linearGradient', { id: l(1), x1: '64%', y1: '100%', x2: '64%' }, [
- s('#FFF', 0, 0.5),
- s('#F2F3F5', 100)
- ]),
- t.createVNode('linearGradient', { id: l(2), x1: '50%', x2: '50%', y2: '84%' }, [
- s('#EBEDF0', 0),
- s('#DCDEE0', 100, 0)
- ]),
- t.createVNode(
- 'linearGradient',
- { id: l(3), x1: '100%', x2: '100%', y2: '100%' },
- [c('#EAEDF0', '#DCDEE0')]
- ),
- t.createVNode(
- 'radialGradient',
- {
- id: l(4),
- cx: '50%',
- cy: '0%',
- fx: '50%',
- fy: '0%',
- r: '100%',
- gradientTransform: 'matrix(0 1 -.54 0 .5 -.5)'
- },
- [s('#EBEDF0', 0), s('#FFF', 100, 0)]
- )
- ]),
- t.createVNode('g', { fill: 'none' }, [
- u(),
- t.createVNode('path', { fill: i(4), d: 'M0 139h160v21H0z' }, null),
- t.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: i(2)
- },
- null
- ),
- t.createVNode(
- 'g',
- { opacity: '.6', 'stroke-linecap': 'round', 'stroke-width': '7' },
- [
- t.createVNode(
- 'path',
- { d: 'M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13', stroke: i(3) },
- null
- ),
- t.createVNode('path', { d: 'M53 36a34 34 0 0 0 0 48', stroke: i(3) }, null),
- t.createVNode(
- 'path',
- { d: 'M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13', stroke: i(3) },
- null
- ),
- t.createVNode('path', { d: 'M106 84a34 34 0 0 0 0-48', stroke: i(3) }, null)
- ]
- ),
- t.createVNode('g', { transform: 'translate(31 105)' }, [
- t.createVNode(
- 'rect',
- { fill: '#EBEDF0', width: '98', height: '34', rx: '2' },
- null
- ),
- t.createVNode(
- 'rect',
- { fill: '#FFF', x: '9', y: '8', width: '80', height: '18', rx: '1.1' },
- null
- ),
- t.createVNode(
- 'rect',
- { fill: '#EBEDF0', x: '15', y: '12', width: '18', height: '6', rx: '1.1' },
- null
- )
- ])
- ])
- ]),
- f = () =>
- t.createVNode('svg', { viewBox: '0 0 160 160' }, [
- t.createVNode('defs', null, [
- t.createVNode('linearGradient', { x1: '50%', x2: '50%', y2: '100%', id: l(5) }, [
- c('#F2F3F5', '#DCDEE0')
- ]),
- t.createVNode(
- 'linearGradient',
- { x1: '95%', y1: '48%', x2: '5.5%', y2: '51%', id: l(6) },
- [c('#EAEDF1', '#DCDEE0')]
- ),
- t.createVNode('linearGradient', { y1: '45%', x2: '100%', y2: '54%', id: l(7) }, [
- c('#EAEDF1', '#DCDEE0')
- ])
- ]),
- u(),
- p(),
- t.createVNode('g', { transform: 'translate(36 50)', fill: 'none' }, [
- t.createVNode('g', { transform: 'translate(8)' }, [
- t.createVNode(
- 'rect',
- {
- fill: '#EBEDF0',
- opacity: '.6',
- x: '38',
- y: '13',
- width: '36',
- height: '53',
- rx: '2'
- },
- null
- ),
- t.createVNode('rect', { fill: i(5), width: '64', height: '66', rx: '2' }, null),
- t.createVNode(
- 'rect',
- { fill: '#FFF', x: '6', y: '6', width: '52', height: '55', rx: '1' },
- null
- ),
- t.createVNode('g', { transform: 'translate(15 17)', fill: i(6) }, [
- t.createVNode('rect', { width: '34', height: '6', rx: '1' }, null),
- t.createVNode('path', { d: 'M0 14h34v6H0z' }, null),
- t.createVNode('rect', { y: '28', width: '34', height: '6', rx: '1' }, null)
- ])
- ]),
- t.createVNode(
- 'rect',
- { fill: i(7), y: '61', width: '88', height: '28', rx: '1' },
- null
- ),
- t.createVNode(
- 'rect',
- { fill: '#F7F8FA', x: '29', y: '72', width: '30', height: '6', rx: '1' },
- null
- )
- ])
- ]),
- v = () =>
- t.createVNode('svg', { viewBox: '0 0 160 160' }, [
- t.createVNode('defs', null, [
- t.createVNode('linearGradient', { x1: '50%', x2: '50%', y2: '100%', id: l(8) }, [
- c('#EAEDF1', '#DCDEE0')
- ])
- ]),
- u(),
- p(),
- d('c'),
- t.createVNode(
- 'path',
- {
- d: 'm59 60 21 21 21-21h3l9 9v3L92 93l21 21v3l-9 9h-3l-21-21-21 21h-3l-9-9v-3l21-21-21-21v-3l9-9h3Z',
- fill: i(8)
- },
- null
- )
- ]),
- h = () =>
- t.createVNode('svg', { viewBox: '0 0 160 160' }, [
- t.createVNode('defs', null, [
- t.createVNode('linearGradient', { x1: '50%', y1: '100%', x2: '50%', id: l(9) }, [
- c('#EEE', '#D8D8D8')
- ]),
- t.createVNode('linearGradient', { x1: '100%', y1: '50%', y2: '50%', id: l(10) }, [
- c('#F2F3F5', '#DCDEE0')
- ]),
- t.createVNode('linearGradient', { x1: '50%', x2: '50%', y2: '100%', id: l(11) }, [
- c('#F2F3F5', '#DCDEE0')
- ]),
- t.createVNode('linearGradient', { x1: '50%', x2: '50%', y2: '100%', id: l(12) }, [
- c('#FFF', '#F7F8FA')
- ])
- ]),
- u(),
- p(),
- d('d'),
- t.createVNode('g', { transform: 'rotate(-45 113 -4)', fill: 'none' }, [
- t.createVNode(
- 'rect',
- { fill: i(9), x: '24', y: '52.8', width: '5.8', height: '19', rx: '1' },
- null
- ),
- t.createVNode(
- 'rect',
- { fill: i(10), x: '22.1', y: '67.3', width: '9.9', height: '28', rx: '1' },
- null
- ),
- t.createVNode(
- 'circle',
- { stroke: i(11), 'stroke-width': '8', cx: '27', cy: '27', r: '27' },
- null
- ),
- t.createVNode('circle', { fill: i(12), cx: '27', cy: '27', r: '16' }, null),
- t.createVNode(
- 'path',
- {
- d: 'M37 7c-8 0-15 5-16 12',
- stroke: i(11),
- 'stroke-width': '3',
- opacity: '.5',
- 'stroke-linecap': 'round',
- transform: 'rotate(45 29 13)'
- },
- null
- )
- ])
- ]),
- g = () => {
- var n
- if (o.image) return o.image()
- const a = { error: v, search: h, network: m, default: f }
- return (
- (null == (n = a[e.image]) ? void 0 : n.call(a)) ||
- t.createVNode('img', { src: e.image }, null)
- )
- }
- return () =>
- t.createVNode('div', { class: ci() }, [
- t.createVNode('div', { class: ci('image'), style: ue(e.imageSize) }, [g()]),
- n(),
- a()
- ])
- }
- })
- ),
- [pi, mi, fi] = Ie('coupon-list'),
- vi = {
- code: N(''),
- coupons: w(),
- currency: N('¥'),
- showCount: b,
- emptyImage: String,
- chosenCoupon: x(-1),
- enabledTitle: String,
- disabledTitle: String,
- disabledCoupons: w(),
- showExchangeBar: b,
- showCloseButton: b,
- closeButtonText: String,
- inputPlaceholder: String,
- exchangeMinLength: x(1),
- exchangeButtonText: String,
- displayedCouponIndex: x(-1),
- exchangeButtonLoading: Boolean,
- exchangeButtonDisabled: Boolean
- }
- const hi = We(
- t.defineComponent({
- name: pi,
- props: vi,
- emits: ['change', 'exchange', 'update:code'],
- setup(e, { emit: o, slots: n }) {
- const [a, r] = wo(),
- l = t.ref(),
- i = t.ref(),
- s = t.ref(0),
- c = t.ref(0),
- d = t.ref(e.code),
- u = t.computed(
- () =>
- !e.exchangeButtonLoading &&
- (e.exchangeButtonDisabled || !d.value || d.value.length < e.exchangeMinLength)
- ),
- p = () => {
- const e = P(l).height,
- t = P(i).height + 44
- c.value = (e > t ? e : ce.value) - t
- },
- m = () => {
- o('exchange', d.value), e.code || (d.value = '')
- },
- f = (e) => {
- t.nextTick(() => {
- var t
- return null == (t = a.value[e]) ? void 0 : t.scrollIntoView()
- })
- },
- v = () =>
- t.createVNode(
- ui,
- { image: e.emptyImage },
- {
- default: () => [t.createVNode('p', { class: mi('empty-tip') }, [fi('noCoupon')])]
- }
- ),
- h = () => {
- if (e.showExchangeBar)
- return t.createVNode('div', { ref: i, class: mi('exchange-bar') }, [
- t.createVNode(
- En,
- {
- modelValue: d.value,
- 'onUpdate:modelValue': (e) => (d.value = e),
- clearable: !0,
- border: !1,
- class: mi('field'),
- placeholder: e.inputPlaceholder || fi('placeholder'),
- maxlength: '20'
- },
- null
- ),
- t.createVNode(
- St,
- {
- plain: !0,
- type: 'primary',
- class: mi('exchange'),
- text: e.exchangeButtonText || fi('exchange'),
- loading: e.exchangeButtonLoading,
- disabled: u.value,
- onClick: m
- },
- null
- )
- ])
- },
- g = () => {
- const { coupons: a } = e,
- l = e.showCount ? ` (${a.length})` : '',
- i = (e.enabledTitle || fi('enable')) + l
- return t.createVNode(
- Zo,
- { title: i },
- {
- default: () => {
- var l
- return [
- t.createVNode(
- 'div',
- {
- class: mi('list', { 'with-bottom': e.showCloseButton }),
- style: { height: `${c.value}px` }
- },
- [
- a.map((n, a) =>
- t.createVNode(
- ti,
- {
- key: n.id,
- ref: r(a),
- coupon: n,
- chosen: a === e.chosenCoupon,
- currency: e.currency,
- onClick: () => o('change', a)
- },
- null
- )
- ),
- !a.length && v(),
- null == (l = n['list-footer']) ? void 0 : l.call(n)
- ]
- )
- ]
- }
- }
- )
- },
- b = () => {
- const { disabledCoupons: o } = e,
- a = e.showCount ? ` (${o.length})` : '',
- r = (e.disabledTitle || fi('disabled')) + a
- return t.createVNode(
- Zo,
- { title: r },
- {
- default: () => {
- var a
- return [
- t.createVNode(
- 'div',
- {
- class: mi('list', { 'with-bottom': e.showCloseButton }),
- style: { height: `${c.value}px` }
- },
- [
- o.map((o) =>
- t.createVNode(
- ti,
- { disabled: !0, key: o.id, coupon: o, currency: e.currency },
- null
- )
- ),
- !o.length && v(),
- null == (a = n['disabled-list-footer']) ? void 0 : a.call(n)
- ]
- )
- ]
- }
- }
- )
- }
- return (
- t.watch(
- () => e.code,
- (e) => {
- d.value = e
- }
- ),
- t.watch(ce, p),
- t.watch(d, (e) => o('update:code', e)),
- t.watch(() => e.displayedCouponIndex, f),
- t.onMounted(() => {
- p(), f(e.displayedCouponIndex)
- }),
- () =>
- t.createVNode('div', { ref: l, class: mi() }, [
- h(),
- t.createVNode(
- Ko,
- { active: s.value, 'onUpdate:active': (e) => (s.value = e), class: mi('tab') },
- { default: () => [g(), b()] }
- ),
- t.createVNode('div', { class: mi('bottom') }, [
- t.withDirectives(
- t.createVNode(
- St,
- {
- round: !0,
- block: !0,
- type: 'primary',
- class: mi('close'),
- text: e.closeButtonText || fi('close'),
- onClick: () => o('change', -1)
- },
- null
- ),
- [[t.vShow, e.showCloseButton]]
- )
- ])
- ])
- )
- }
- })
- ),
- gi = new Date().getFullYear(),
- [bi] = Ie('date-picker'),
- yi = d({}, gr, {
- columnsType: { type: Array, default: () => ['year', 'month', 'day'] },
- minDate: { type: Date, default: () => new Date(gi - 10, 0, 1), validator: l },
- maxDate: { type: Date, default: () => new Date(gi + 10, 11, 31), validator: l }
- })
- const wi = We(
- t.defineComponent({
- name: bi,
- props: yi,
- emits: ['confirm', 'cancel', 'change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(e.modelValue),
- r = t.ref(!1),
- l = (t) => t === e.minDate.getFullYear(),
- i = (t) => t === e.maxDate.getFullYear(),
- s = (t) => {
- const { minDate: o, columnsType: n } = e,
- l = n.indexOf(t),
- i = r.value ? e.modelValue[l] : a.value[l]
- if (i) return +i
- switch (t) {
- case 'year':
- return o.getFullYear()
- case 'month':
- return o.getMonth() + 1
- case 'day':
- return o.getDate()
- }
- },
- c = () => {
- const t = s('year'),
- o = s('month'),
- n = l(t) && ((t) => t === e.minDate.getMonth() + 1)(o) ? e.minDate.getDate() : 1,
- a =
- i(t) && ((t) => t === e.maxDate.getMonth() + 1)(o)
- ? e.maxDate.getDate()
- : yr(t, o)
- return wr(n, a, 'day', e.formatter, e.filter)
- },
- d = t.computed(() =>
- e.columnsType.map((t) => {
- switch (t) {
- case 'year':
- return (() => {
- const t = e.minDate.getFullYear(),
- o = e.maxDate.getFullYear()
- return wr(t, o, 'year', e.formatter, e.filter)
- })()
- case 'month':
- return (() => {
- const t = s('year'),
- o = l(t) ? e.minDate.getMonth() + 1 : 1,
- n = i(t) ? e.maxDate.getMonth() + 1 : 12
- return wr(o, n, 'month', e.formatter, e.filter)
- })()
- case 'day':
- return c()
- default:
- return []
- }
- })
- )
- t.watch(a, (t) => {
- f(t, e.modelValue) || o('update:modelValue', t)
- }),
- t.watch(
- () => e.modelValue,
- (e, t) => {
- ;(r.value = f(t, a.value)),
- (e = xr(e, d.value)),
- f(e, a.value) || (a.value = e),
- (r.value = !1)
- },
- { immediate: !0 }
- )
- const u = (...e) => o('change', ...e),
- p = (...e) => o('cancel', ...e),
- v = (...e) => o('confirm', ...e)
- return () =>
- t.createVNode(
- un,
- t.mergeProps(
- {
- modelValue: a.value,
- 'onUpdate:modelValue': (e) => (a.value = e),
- columns: d.value,
- onChange: u,
- onCancel: p,
- onConfirm: v
- },
- m(e, br)
- ),
- n
- )
- }
- })
- ),
- [xi, Vi, Ni] = Ie('dialog'),
- ki = d({}, Et, {
- title: String,
- theme: String,
- width: g,
- message: [String, Function],
- callback: Function,
- allowHtml: Boolean,
- className: h,
- transition: N('van-dialog-bounce'),
- messageAlign: String,
- closeOnPopstate: b,
- showCancelButton: Boolean,
- cancelButtonText: String,
- cancelButtonColor: String,
- cancelButtonDisabled: Boolean,
- confirmButtonText: String,
- confirmButtonColor: String,
- confirmButtonDisabled: Boolean,
- showConfirmButton: b,
- closeOnClickOverlay: Boolean
- }),
- Ci = [...Lt, 'transition', 'closeOnPopstate']
- var Si = t.defineComponent({
- name: xi,
- props: ki,
- emits: ['confirm', 'cancel', 'keydown', 'update:show'],
- setup(e, { emit: o, slots: a }) {
- const r = t.ref(),
- l = t.reactive({ confirm: !1, cancel: !1 }),
- i = (e) => o('update:show', e),
- s = (t) => {
- var o
- i(!1), null == (o = e.callback) || o.call(e, t)
- },
- d = (t) => () => {
- e.show &&
- (o(t),
- e.beforeClose
- ? ((l[t] = !0),
- je(e.beforeClose, {
- args: [t],
- done() {
- s(t), (l[t] = !1)
- },
- canceled() {
- l[t] = !1
- }
- }))
- : s(t))
- },
- u = d('cancel'),
- p = d('confirm'),
- f = t.withKeys(
- (t) => {
- var n, a
- if (
- t.target !==
- (null == (a = null == (n = r.value) ? void 0 : n.popupRef) ? void 0 : a.value)
- )
- return
- ;({ Enter: e.showConfirmButton ? p : c, Escape: e.showCancelButton ? u : c }[t.key](),
- o('keydown', t))
- },
- ['enter', 'esc']
- ),
- v = () => {
- const o = a.title ? a.title() : e.title
- if (o)
- return t.createVNode(
- 'div',
- { class: Vi('header', { isolated: !e.message && !a.default }) },
- [o]
- )
- },
- h = (o) => {
- const { message: a, allowHtml: r, messageAlign: l } = e,
- i = Vi('message', { 'has-title': o, [l]: l }),
- s = n(a) ? a() : a
- return r && 'string' == typeof s
- ? t.createVNode('div', { class: i, innerHTML: s }, null)
- : t.createVNode('div', { class: i }, [s])
- },
- g = () => {
- if (a.default) return t.createVNode('div', { class: Vi('content') }, [a.default()])
- const { title: o, message: n, allowHtml: r } = e
- if (n) {
- const e = !(!o && !a.title)
- return t.createVNode(
- 'div',
- { key: r ? 1 : 0, class: Vi('content', { isolated: !e }) },
- [h(e)]
- )
- }
- },
- b = () =>
- a.footer
- ? a.footer()
- : 'round-button' === e.theme
- ? t.createVNode(
- Je,
- { class: Vi('footer') },
- {
- default: () => [
- e.showCancelButton &&
- t.createVNode(
- Dt,
- {
- type: 'warning',
- text: e.cancelButtonText || Ni('cancel'),
- class: Vi('cancel'),
- color: e.cancelButtonColor,
- loading: l.cancel,
- disabled: e.cancelButtonDisabled,
- onClick: u
- },
- null
- ),
- e.showConfirmButton &&
- t.createVNode(
- Dt,
- {
- type: 'danger',
- text: e.confirmButtonText || Ni('confirm'),
- class: Vi('confirm'),
- color: e.confirmButtonColor,
- loading: l.confirm,
- disabled: e.confirmButtonDisabled,
- onClick: p
- },
- null
- )
- ]
- }
- )
- : t.createVNode('div', { class: [ze, Vi('footer')] }, [
- e.showCancelButton &&
- t.createVNode(
- St,
- {
- size: 'large',
- text: e.cancelButtonText || Ni('cancel'),
- class: Vi('cancel'),
- style: { color: e.cancelButtonColor },
- loading: l.cancel,
- disabled: e.cancelButtonDisabled,
- onClick: u
- },
- null
- ),
- e.showConfirmButton &&
- t.createVNode(
- St,
- {
- size: 'large',
- text: e.confirmButtonText || Ni('confirm'),
- class: [Vi('confirm'), { [Ee]: e.showCancelButton }],
- style: { color: e.confirmButtonColor },
- loading: l.confirm,
- disabled: e.confirmButtonDisabled,
- onClick: p
- },
- null
- )
- ])
- return () => {
- const { width: o, title: n, theme: a, message: l, className: s } = e
- return t.createVNode(
- Gt,
- t.mergeProps(
- {
- ref: r,
- role: 'dialog',
- class: [Vi([a]), s],
- style: { width: de(o) },
- tabindex: 0,
- 'aria-labelledby': n || l,
- onKeydown: f,
- 'onUpdate:show': i
- },
- m(e, Ci)
- ),
- { default: () => [v(), g(), b()] }
- )
- }
- }
- })
- let Ti
- const Bi = {
- title: '',
- width: '',
- theme: null,
- message: '',
- overlay: !0,
- callback: null,
- teleport: 'body',
- className: '',
- allowHtml: !1,
- lockScroll: !0,
- transition: void 0,
- beforeClose: null,
- overlayClass: '',
- overlayStyle: void 0,
- messageAlign: '',
- cancelButtonText: '',
- cancelButtonColor: null,
- cancelButtonDisabled: !1,
- confirmButtonText: '',
- confirmButtonColor: null,
- confirmButtonDisabled: !1,
- showConfirmButton: !0,
- showCancelButton: !1,
- closeOnPopstate: !0,
- closeOnClickOverlay: !1
- }
- let Pi = d({}, Bi)
- function Di(e) {
- return u
- ? new Promise((o, n) => {
- Ti ||
- (function () {
- const e = {
- setup() {
- const { state: e, toggle: o } = jn()
- return () => t.createVNode(Si, t.mergeProps(e, { 'onUpdate:show': o }), null)
- }
- }
- ;({ instance: Ti } = Wn(e))
- })(),
- Ti.open(
- d({}, Pi, e, {
- callback: (e) => {
- ;('confirm' === e ? o : n)(e)
- }
- })
- )
- })
- : Promise.resolve()
- }
- const Oi = We(Si),
- [Ii, Ai] = Ie('divider'),
- zi = { dashed: Boolean, hairline: b, vertical: Boolean, contentPosition: N('center') }
- const Ei = We(
- t.defineComponent({
- name: Ii,
- props: zi,
- setup:
- (e, { slots: o }) =>
- () => {
- var n
- return t.createVNode(
- 'div',
- {
- role: 'separator',
- class: Ai({
- dashed: e.dashed,
- hairline: e.hairline,
- vertical: e.vertical,
- [`content-${e.contentPosition}`]: !!o.default && !e.vertical
- })
- },
- [!e.vertical && (null == (n = o.default) ? void 0 : n.call(o))]
- )
- }
- })
- ),
- [Li, $i] = Ie('dropdown-menu'),
- Mi = {
- overlay: b,
- zIndex: g,
- duration: V(0.2),
- direction: N('down'),
- activeColor: String,
- closeOnClickOutside: b,
- closeOnClickOverlay: b
- },
- Ri = Symbol(Li)
- var Fi = t.defineComponent({
- name: Li,
- props: Mi,
- setup(e, { slots: n }) {
- const a = yo(),
- r = t.ref(),
- l = t.ref(),
- i = t.ref(0),
- { children: s, linkChildren: c } = A(Ri),
- d = Z(r),
- u = t.computed(() => s.some((e) => e.state.showWrapper)),
- p = t.computed(() => {
- if (u.value && o(e.zIndex)) return { zIndex: +e.zIndex + 1 }
- }),
- m = () => {
- if (l.value) {
- const t = P(l)
- 'down' === e.direction ? (i.value = t.bottom) : (i.value = ce.value - t.top)
- }
- },
- f = (o, n) => {
- const { showPopup: r } = o.state,
- { disabled: l, titleClass: i } = o
- return t.createVNode(
- 'div',
- {
- id: `${a}-${n}`,
- role: 'button',
- tabindex: l ? void 0 : 0,
- class: [$i('item', { disabled: l }), { [Fe]: !l }],
- onClick: () => {
- var e
- l ||
- ((e = n),
- s.forEach((t, o) => {
- o === e ? t.toggle() : t.state.showPopup && t.toggle(!1, { immediate: !0 })
- }))
- }
- },
- [
- t.createVNode(
- 'span',
- {
- class: [$i('title', { down: r === ('down' === e.direction), active: r }), i],
- style: { color: r ? e.activeColor : '' }
- },
- [t.createVNode('div', { class: 'van-ellipsis' }, [o.renderTitle()])]
- )
- ]
- )
- }
- return (
- c({ id: a, props: e, offset: i, updateOffset: m }),
- W(r, () => {
- e.closeOnClickOutside &&
- s.forEach((e) => {
- e.toggle(!1)
- })
- }),
- j(
- 'scroll',
- () => {
- u.value && m()
- },
- { target: d, passive: !0 }
- ),
- () => {
- var e
- return t.createVNode('div', { ref: r, class: $i() }, [
- t.createVNode(
- 'div',
- { ref: l, style: p.value, class: $i('bar', { opened: u.value }) },
- [s.map(f)]
- ),
- null == (e = n.default) ? void 0 : e.call(n)
- ])
- }
- )
- }
- })
- const [Hi, ji] = Ie('dropdown-item'),
- Wi = {
- title: String,
- options: w(),
- disabled: Boolean,
- teleport: [String, Object],
- lazyRender: b,
- modelValue: h,
- titleClass: h
- }
- const Ui = We(
- t.defineComponent({
- name: Hi,
- inheritAttrs: !1,
- props: Wi,
- emits: ['open', 'opened', 'close', 'closed', 'change', 'update:modelValue'],
- setup(e, { emit: o, slots: n, attrs: a }) {
- const r = t.reactive({ showPopup: !1, transition: !0, showWrapper: !1 }),
- { parent: l, index: i } = D(Ri)
- if (!l) return
- const s = (e) => () => o(e),
- c = s('open'),
- d = s('close'),
- u = s('opened'),
- p = () => {
- ;(r.showWrapper = !1), o('closed')
- },
- m = (t) => {
- e.teleport && t.stopPropagation()
- },
- f = (n) => {
- const { activeColor: a } = l.props,
- i = n.value === e.modelValue
- return t.createVNode(
- wn,
- {
- role: 'menuitem',
- key: n.value,
- icon: n.icon,
- title: n.text,
- class: ji('option', { active: i }),
- style: { color: i ? a : '' },
- tabindex: i ? 0 : -1,
- clickable: !0,
- onClick: () => {
- ;(r.showPopup = !1),
- n.value !== e.modelValue &&
- (o('update:modelValue', n.value), o('change', n.value))
- }
- },
- {
- value: () => {
- if (i)
- return t.createVNode(
- ht,
- { class: ji('icon'), color: a, name: 'success' },
- null
- )
- }
- }
- )
- },
- v = () => {
- const { offset: o } = l,
- {
- zIndex: s,
- overlay: v,
- duration: h,
- direction: g,
- closeOnClickOverlay: b
- } = l.props,
- y = pe(s)
- return (
- 'down' === g ? (y.top = `${o.value}px`) : (y.bottom = `${o.value}px`),
- t.withDirectives(
- t.createVNode('div', t.mergeProps({ style: y, class: ji([g]), onClick: m }, a), [
- t.createVNode(
- Gt,
- {
- show: r.showPopup,
- 'onUpdate:show': (e) => (r.showPopup = e),
- role: 'menu',
- class: ji('content'),
- overlay: v,
- position: 'down' === g ? 'top' : 'bottom',
- duration: r.transition ? h : 0,
- lazyRender: e.lazyRender,
- overlayStyle: { position: 'absolute' },
- 'aria-labelledby': `${l.id}-${i.value}`,
- closeOnClickOverlay: b,
- onOpen: c,
- onClose: d,
- onOpened: u,
- onClosed: p
- },
- {
- default: () => {
- var t
- return [e.options.map(f), null == (t = n.default) ? void 0 : t.call(n)]
- }
- }
- )
- ]),
- [[t.vShow, r.showWrapper]]
- )
- )
- }
- return (
- Qe({
- state: r,
- toggle: (e = !r.showPopup, t = {}) => {
- e !== r.showPopup &&
- ((r.showPopup = e),
- (r.transition = !t.immediate),
- e && (l.updateOffset(), (r.showWrapper = !0)))
- },
- renderTitle: () => {
- if (n.title) return n.title()
- if (e.title) return e.title
- const t = e.options.find((t) => t.value === e.modelValue)
- return t ? t.text : ''
- }
- }),
- () =>
- e.teleport
- ? t.createVNode(t.Teleport, { to: e.teleport }, { default: () => [v()] })
- : v()
- )
- }
- })
- ),
- Yi = We(Fi),
- [qi, Xi] = Ie('grid'),
- Gi = {
- square: Boolean,
- center: b,
- border: b,
- gutter: g,
- reverse: Boolean,
- iconSize: g,
- direction: String,
- clickable: Boolean,
- columnNum: V(4)
- },
- Zi = Symbol(qi)
- const Ki = We(
- t.defineComponent({
- name: qi,
- props: Gi,
- setup(e, { slots: o }) {
- const { linkChildren: n } = A(Zi)
- return (
- n({ props: e }),
- () => {
- var n
- return t.createVNode(
- 'div',
- {
- style: { paddingLeft: de(e.gutter) },
- class: [Xi(), { [ze]: e.border && !e.gutter }]
- },
- [null == (n = o.default) ? void 0 : n.call(o)]
- )
- }
- )
- }
- })
- ),
- [_i, Ji] = Ie('grid-item'),
- Qi = d({}, et, {
- dot: Boolean,
- text: String,
- icon: String,
- badge: g,
- iconColor: String,
- iconPrefix: String,
- badgeProps: Object
- })
- const es = We(
- t.defineComponent({
- name: _i,
- props: Qi,
- setup(e, { slots: o }) {
- const { parent: n, index: a } = D(Zi),
- r = ot()
- if (!n) return
- const l = t.computed(() => {
- const { square: e, gutter: t, columnNum: o } = n.props,
- r = 100 / +o + '%',
- l = { flexBasis: r }
- if (e) l.paddingTop = r
- else if (t) {
- const e = de(t)
- ;(l.paddingRight = e), a.value >= +o && (l.marginTop = e)
- }
- return l
- }),
- i = t.computed(() => {
- const { square: e, gutter: t } = n.props
- if (e && t) {
- const e = de(t)
- return { right: e, bottom: e, height: 'auto' }
- }
- })
- return () => {
- const {
- center: a,
- border: s,
- square: c,
- gutter: d,
- reverse: u,
- direction: p,
- clickable: m
- } = n.props,
- f = [
- Ji('content', [
- p,
- { center: a, square: c, reverse: u, clickable: m, surround: s && d }
- ]),
- { [Ae]: s }
- ]
- return t.createVNode('div', { class: [Ji({ square: c })], style: l.value }, [
- t.createVNode(
- 'div',
- {
- role: m ? 'button' : void 0,
- class: f,
- style: i.value,
- tabindex: m ? 0 : void 0,
- onClick: r
- },
- [
- o.default
- ? o.default()
- : [
- o.icon
- ? t.createVNode(
- lt,
- t.mergeProps({ dot: e.dot, content: e.badge }, e.badgeProps),
- { default: o.icon }
- )
- : e.icon
- ? t.createVNode(
- ht,
- {
- dot: e.dot,
- name: e.icon,
- size: n.props.iconSize,
- badge: e.badge,
- class: Ji('icon'),
- color: e.iconColor,
- badgeProps: e.badgeProps,
- classPrefix: e.iconPrefix
- },
- null
- )
- : void 0,
- o.text
- ? o.text()
- : e.text
- ? t.createVNode('span', { class: Ji('text') }, [e.text])
- : void 0
- ]
- ]
- )
- ])
- }
- }
- })
- ),
- ts = (e) => Math.sqrt((e[0].clientX - e[1].clientX) ** 2 + (e[0].clientY - e[1].clientY) ** 2),
- os = Ie('image-preview')[1]
- var ns = t.defineComponent({
- props: {
- src: String,
- show: Boolean,
- active: Number,
- minZoom: y(g),
- maxZoom: y(g),
- rootWidth: y(Number),
- rootHeight: y(Number),
- disableZoom: Boolean
- },
- emits: ['scale', 'close', 'longPress'],
- setup(e, { emit: o, slots: n }) {
- const a = t.reactive({
- scale: 1,
- moveX: 0,
- moveY: 0,
- moving: !1,
- zooming: !1,
- imageRatio: 0
- }),
- r = $t(),
- l = t.ref(),
- i = t.ref(),
- s = t.ref(!1),
- c = t.ref(!1)
- let d = 0
- const u = t.computed(() => {
- const { scale: e, moveX: t, moveY: o, moving: n, zooming: r } = a,
- l = { transitionDuration: r || n ? '0s' : '.3s' }
- return (1 !== e || c.value) && (l.transform = `matrix(${e}, 0, 0, ${e}, ${t}, ${o})`), l
- }),
- p = t.computed(() => {
- if (a.imageRatio) {
- const { rootWidth: t, rootHeight: o } = e,
- n = s.value ? o / a.imageRatio : t
- return Math.max(0, (a.scale * n - t) / 2)
- }
- return 0
- }),
- m = t.computed(() => {
- if (a.imageRatio) {
- const { rootWidth: t, rootHeight: o } = e,
- n = s.value ? o : t * a.imageRatio
- return Math.max(0, (a.scale * n - o) / 2)
- }
- return 0
- }),
- f = (t, n) => {
- var r
- if ((t = ye(t, +e.minZoom, +e.maxZoom + 1)) !== a.scale) {
- const i = t / a.scale
- if (((a.scale = t), n)) {
- const e = P(null == (r = l.value) ? void 0 : r.$el),
- t = { x: 0.5 * e.width, y: 0.5 * e.height },
- o = a.moveX - (n.x - e.left - t.x) * (i - 1),
- s = a.moveY - (n.y - e.top - t.y) * (i - 1)
- ;(a.moveX = ye(o, -p.value, p.value)), (a.moveY = ye(s, -m.value, m.value))
- } else (a.moveX = 0), (a.moveY = c.value ? d : 0)
- o('scale', { scale: t, index: e.active })
- }
- },
- v = () => {
- f(1)
- }
- let h,
- g,
- b,
- y,
- w,
- x,
- V,
- N,
- k = !1
- const C = (t) => {
- const { touches: o } = t
- if (((h = o.length), 2 === h && e.disableZoom)) return
- const { offsetX: n } = r
- r.start(t),
- (g = a.moveX),
- (b = a.moveY),
- (N = Date.now()),
- (k = !1),
- (a.moving = 1 === h && (1 !== a.scale || c.value)),
- (a.zooming = 2 === h && !n.value),
- a.zooming && ((y = a.scale), (w = ts(o)))
- },
- S = () => {
- if (h > 1) return
- const { offsetX: e, offsetY: t } = r,
- n = Date.now() - N
- e.value < 5 &&
- t.value < 5 &&
- (n < 250
- ? V
- ? (clearTimeout(V),
- (V = null),
- (() => {
- const e = a.scale > 1 ? 1 : 2
- f(e, 2 === e || c.value ? { x: r.startX.value, y: r.startY.value } : void 0)
- })())
- : (V = setTimeout(() => {
- o('close'), (V = null)
- }, 250))
- : n > 500 && o('longPress'))
- },
- T = (t) => {
- let o = !1
- if (
- (a.moving || a.zooming) &&
- ((o = !0), a.moving && g === a.moveX && b === a.moveY && (o = !1), !t.touches.length)
- ) {
- a.zooming &&
- ((a.moveX = ye(a.moveX, -p.value, p.value)),
- (a.moveY = ye(a.moveY, -m.value, m.value)),
- (a.zooming = !1)),
- (a.moving = !1),
- (g = 0),
- (b = 0),
- (y = 1),
- a.scale < 1 && v()
- const t = +e.maxZoom
- a.scale > t && f(t, x)
- }
- le(t, o), S(), r.reset()
- },
- B = () => {
- const { rootWidth: t, rootHeight: o } = e,
- n = o / t,
- { imageRatio: r } = a
- ;(s.value = a.imageRatio > n && r < 2.6),
- (c.value = a.imageRatio > n && r >= 2.6),
- c.value && ((d = (r * t - o) / 2), (a.moveY = d)),
- v()
- },
- D = (e) => {
- const { naturalWidth: t, naturalHeight: o } = e.target
- ;(a.imageRatio = o / t), B()
- }
- return (
- t.watch(() => e.active, v),
- t.watch(
- () => e.show,
- (e) => {
- e || v()
- }
- ),
- t.watch(() => [e.rootWidth, e.rootHeight], B),
- j(
- 'touchmove',
- (e) => {
- const { touches: t } = e
- if ((r.move(e), a.moving)) {
- const { deltaX: t, deltaY: o } = r,
- n = t.value + g,
- l = o.value + b
- if ((n > p.value || n < -p.value) && !k && r.isHorizontal())
- return void (a.moving = !1)
- ;(k = !0),
- le(e, !0),
- (a.moveX = ye(n, -p.value, p.value)),
- (a.moveY = ye(l, -m.value, m.value))
- }
- if (a.zooming && (le(e, !0), 2 === t.length)) {
- const e = ts(t),
- o = (y * e) / w
- ;(x = ((e) => ({
- x: (e[0].clientX + e[1].clientX) / 2,
- y: (e[0].clientY + e[1].clientY) / 2
- }))(t)),
- f(o, x)
- }
- },
- {
- target: t.computed(() => {
- var e
- return null == (e = i.value) ? void 0 : e.$el
- })
- }
- ),
- () => {
- const o = { loading: () => t.createVNode(Vt, { type: 'spinner' }, null) }
- return t.createVNode(
- Yo,
- {
- ref: i,
- class: os('swipe-item'),
- onTouchstartPassive: C,
- onTouchend: T,
- onTouchcancel: T
- },
- {
- default: () => [
- n.image
- ? t.createVNode('div', { class: os('image-wrap') }, [n.image({ src: e.src })])
- : t.createVNode(
- zr,
- {
- ref: l,
- src: e.src,
- fit: 'contain',
- class: os('image', { vertical: s.value }),
- style: u.value,
- onLoad: D
- },
- o
- )
- ]
- }
- )
- }
- )
- }
- })
- const [as, rs] = Ie('image-preview'),
- ls = ['show', 'teleport', 'transition', 'overlayStyle', 'closeOnPopstate'],
- is = {
- show: Boolean,
- loop: b,
- images: w(),
- minZoom: V(1 / 3),
- maxZoom: V(3),
- overlay: b,
- closeable: Boolean,
- showIndex: b,
- className: h,
- closeIcon: N('clear'),
- transition: String,
- beforeClose: Function,
- overlayClass: h,
- overlayStyle: Object,
- swipeDuration: V(300),
- startPosition: V(0),
- showIndicators: Boolean,
- closeOnPopstate: b,
- closeIconPosition: N('top-right'),
- teleport: [String, Object]
- }
- var ss = t.defineComponent({
- name: as,
- props: is,
- emits: ['scale', 'close', 'closed', 'change', 'longPress', 'update:show'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = t.reactive({ active: 0, rootWidth: 0, rootHeight: 0, disableZoom: !1 }),
- l = () => {
- if (a.value) {
- const e = P(a.value.$el)
- ;(r.rootWidth = e.width), (r.rootHeight = e.height), a.value.resize()
- }
- },
- i = (e) => o('scale', e),
- s = (e) => o('update:show', e),
- c = () => {
- je(e.beforeClose, { args: [r.active], done: () => s(!1) })
- },
- d = (e) => {
- e !== r.active && ((r.active = e), o('change', e))
- },
- u = () => {
- if (e.showIndex)
- return t.createVNode('div', { class: rs('index') }, [
- n.index ? n.index({ index: r.active }) : `${r.active + 1} / ${e.images.length}`
- ])
- },
- p = () => {
- if (n.cover) return t.createVNode('div', { class: rs('cover') }, [n.cover()])
- },
- f = () => {
- r.disableZoom = !0
- },
- v = () => {
- r.disableZoom = !1
- },
- h = () => {
- if (e.closeable)
- return t.createVNode(
- ht,
- {
- role: 'button',
- name: e.closeIcon,
- class: [rs('close-icon', e.closeIconPosition), Fe],
- onClick: c
- },
- null
- )
- },
- g = () => o('closed'),
- b = (e, t) => {
- var o
- return null == (o = a.value) ? void 0 : o.swipeTo(e, t)
- }
- return (
- Qe({ swipeTo: b }),
- t.onMounted(l),
- t.watch([se, ce], l),
- t.watch(
- () => e.startPosition,
- (e) => d(+e)
- ),
- t.watch(
- () => e.show,
- (n) => {
- const { images: a, startPosition: i } = e
- n
- ? (d(+i),
- t.nextTick(() => {
- l(), b(+i, { immediate: !0 })
- }))
- : o('close', { index: r.active, url: a[r.active] })
- }
- ),
- () =>
- t.createVNode(
- Gt,
- t.mergeProps(
- {
- class: [rs(), e.className],
- overlayClass: [rs('overlay'), e.overlayClass],
- onClosed: g,
- 'onUpdate:show': s
- },
- m(e, ls)
- ),
- {
- default: () => [
- h(),
- t.createVNode(
- Do,
- {
- ref: a,
- lazyRender: !0,
- loop: e.loop,
- class: rs('swipe'),
- duration: e.swipeDuration,
- initialSwipe: e.startPosition,
- showIndicators: e.showIndicators,
- indicatorColor: 'white',
- onChange: d,
- onDragEnd: v,
- onDragStart: f
- },
- {
- default: () => [
- e.images.map((a, l) =>
- t.createVNode(
- ns,
- {
- src: a,
- show: e.show,
- active: r.active,
- maxZoom: e.maxZoom,
- minZoom: e.minZoom,
- rootWidth: r.rootWidth,
- rootHeight: r.rootHeight,
- disableZoom: r.disableZoom,
- onScale: i,
- onClose: c,
- onLongPress: () => o('longPress', { index: l })
- },
- { image: n.image }
- )
- )
- ]
- }
- ),
- u(),
- p()
- ]
- }
- )
- )
- }
- })
- let cs
- const ds = {
- loop: !0,
- images: [],
- maxZoom: 3,
- minZoom: 1 / 3,
- onScale: void 0,
- onClose: void 0,
- onChange: void 0,
- teleport: 'body',
- className: '',
- showIndex: !0,
- closeable: !1,
- closeIcon: 'clear',
- transition: void 0,
- beforeClose: void 0,
- overlayStyle: void 0,
- overlayClass: void 0,
- startPosition: 0,
- swipeDuration: 300,
- showIndicators: !1,
- closeOnPopstate: !0,
- closeIconPosition: 'top-right'
- }
- const us = (e, o = 0) => {
- if (u)
- return (
- cs ||
- ({ instance: cs } = Wn({
- setup() {
- const { state: e, toggle: o } = jn(),
- n = () => {
- e.images = []
- }
- return () =>
- t.createVNode(ss, t.mergeProps(e, { onClosed: n, 'onUpdate:show': o }), null)
- }
- })),
- (e = Array.isArray(e) ? { images: e, startPosition: o } : e),
- cs.open(d({}, ds, e)),
- cs
- )
- },
- ps = We(ss)
- const [ms, fs] = Ie('index-bar'),
- vs = {
- sticky: b,
- zIndex: g,
- teleport: [String, Object],
- highlightColor: String,
- stickyOffsetTop: x(0),
- indexList: {
- type: Array,
- default: function () {
- const e = 'A'.charCodeAt(0)
- return Array(26)
- .fill('')
- .map((t, o) => String.fromCharCode(e + o))
- }
- }
- },
- hs = Symbol(ms)
- var gs = t.defineComponent({
- name: ms,
- props: vs,
- emits: ['select', 'change'],
- setup(e, { emit: n, slots: a }) {
- const r = t.ref(),
- l = t.ref(),
- i = t.ref(''),
- s = $t(),
- c = Z(r),
- { children: d, linkChildren: u } = A(hs)
- let p
- u({ props: e })
- const m = t.computed(() => {
- if (o(e.zIndex)) return { zIndex: +e.zIndex + 1 }
- }),
- f = t.computed(() => {
- if (e.highlightColor) return { color: e.highlightColor }
- }),
- v = (t, o) => {
- for (let n = d.length - 1; n >= 0; n--) {
- const a = n > 0 ? o[n - 1].height : 0
- if (t + (e.sticky ? a + e.stickyOffsetTop : 0) >= o[n].top) return n
- }
- return -1
- },
- h = (e) => d.find((t) => String(t.index) === e),
- g = () => {
- if (ie(r)) return
- const { sticky: t, indexList: o } = e,
- n = J(c.value),
- a = P(c),
- l = d.map((e) => e.getRect(c.value, a))
- let s = -1
- if (p) {
- const e = h(p)
- if (e) {
- const t = e.getRect(c.value, a)
- s = v(t.top, l)
- }
- } else s = v(n, l)
- ;(i.value = o[s]),
- t &&
- d.forEach((t, o) => {
- const { state: r, $el: i } = t
- if (o === s || o === s - 1) {
- const e = i.getBoundingClientRect()
- ;(r.left = e.left), (r.width = e.width)
- } else (r.left = null), (r.width = null)
- if (o === s)
- (r.active = !0), (r.top = Math.max(e.stickyOffsetTop, l[o].top - n) + a.top)
- else if (o === s - 1 && '' === p) {
- const e = l[s].top - n
- ;(r.active = e > 0), (r.top = e + a.top - l[o].height)
- } else r.active = !1
- }),
- (p = '')
- },
- b = () => {
- t.nextTick(g)
- }
- j('scroll', g, { target: c, passive: !0 }),
- t.onMounted(b),
- t.watch(() => e.indexList, b),
- t.watch(i, (e) => {
- e && n('change', e)
- })
- const y = (t) => {
- p = String(t)
- const o = h(p)
- if (o) {
- const t = J(c.value),
- a = P(c),
- { offsetHeight: r } = document.documentElement
- if ((o.$el.scrollIntoView(), t === r - a.height)) return void g()
- e.sticky && e.stickyOffsetTop && te(ee() - e.stickyOffsetTop), n('select', o.index)
- }
- },
- w = (e) => {
- const { index: t } = e.dataset
- t && y(t)
- },
- x = (e) => {
- w(e.target)
- }
- let V
- const N = () =>
- t.createVNode(
- 'div',
- {
- ref: l,
- class: fs('sidebar'),
- style: m.value,
- onClick: x,
- onTouchstartPassive: s.start
- },
- [
- e.indexList.map((e) => {
- const o = e === i.value
- return t.createVNode(
- 'span',
- { class: fs('index', { active: o }), style: o ? f.value : void 0, 'data-index': e },
- [e]
- )
- })
- ]
- )
- return (
- Qe({ scrollTo: y }),
- j(
- 'touchmove',
- (e) => {
- if ((s.move(e), s.isVertical())) {
- le(e)
- const { clientX: t, clientY: o } = e.touches[0],
- n = document.elementFromPoint(t, o)
- if (n) {
- const { index: e } = n.dataset
- e && V !== e && ((V = e), w(n))
- }
- }
- },
- { target: l }
- ),
- () => {
- var o
- return t.createVNode('div', { ref: r, class: fs() }, [
- e.teleport
- ? t.createVNode(t.Teleport, { to: e.teleport }, { default: () => [N()] })
- : N(),
- null == (o = a.default) ? void 0 : o.call(a)
- ])
- }
- )
- }
- })
- const [bs, ys] = Ie('index-anchor'),
- ws = { index: g }
- const xs = We(
- t.defineComponent({
- name: bs,
- props: ws,
- setup(e, { slots: o }) {
- const n = t.reactive({
- top: 0,
- left: null,
- rect: { top: 0, height: 0 },
- width: null,
- active: !1
- }),
- a = t.ref(),
- { parent: r } = D(hs)
- if (!r) return
- const l = () => n.active && r.props.sticky,
- i = t.computed(() => {
- const { zIndex: e, highlightColor: t } = r.props
- if (l())
- return d(pe(e), {
- left: n.left ? `${n.left}px` : void 0,
- width: n.width ? `${n.width}px` : void 0,
- transform: n.top ? `translate3d(0, ${n.top}px, 0)` : void 0,
- color: t
- })
- })
- return (
- Qe({
- state: n,
- getRect: (e, t) => {
- const o = P(a)
- return (
- (n.rect.height = o.height),
- e === window || e === document.body
- ? (n.rect.top = o.top + ee())
- : (n.rect.top = o.top + J(e) - t.top),
- n.rect
- )
- }
- }),
- () => {
- const r = l()
- return t.createVNode(
- 'div',
- { ref: a, style: { height: r ? `${n.rect.height}px` : void 0 } },
- [
- t.createVNode(
- 'div',
- { style: i.value, class: [ys({ sticky: r }), { [Le]: r }] },
- [o.default ? o.default() : e.index]
- )
- ]
- )
- }
- )
- }
- })
- ),
- Vs = We(gs),
- [Ns, ks, Cs] = Ie('list'),
- Ss = {
- error: Boolean,
- offset: V(300),
- loading: Boolean,
- disabled: Boolean,
- finished: Boolean,
- errorText: String,
- direction: N('down'),
- loadingText: String,
- finishedText: String,
- immediateCheck: b
- }
- const Ts = We(
- t.defineComponent({
- name: Ns,
- props: Ss,
- emits: ['load', 'update:error', 'update:loading'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(e.loading),
- r = t.ref(),
- l = t.ref(),
- i = t.inject(Ro, null),
- s = Z(r),
- c = () => {
- t.nextTick(() => {
- if (
- a.value ||
- e.finished ||
- e.disabled ||
- e.error ||
- !1 === (null == i ? void 0 : i.value)
- )
- return
- const { direction: t } = e,
- n = +e.offset,
- c = P(s)
- if (!c.height || ie(r)) return
- let d = !1
- const u = P(l)
- ;(d = 'up' === t ? c.top - u.top <= n : u.bottom - c.bottom <= n),
- d && ((a.value = !0), o('update:loading', !0), o('load'))
- })
- },
- d = () => {
- if (e.finished) {
- const o = n.finished ? n.finished() : e.finishedText
- if (o) return t.createVNode('div', { class: ks('finished-text') }, [o])
- }
- },
- u = () => {
- o('update:error', !1), c()
- },
- p = () => {
- if (e.error) {
- const o = n.error ? n.error() : e.errorText
- if (o)
- return t.createVNode(
- 'div',
- { role: 'button', class: ks('error-text'), tabindex: 0, onClick: u },
- [o]
- )
- }
- },
- m = () => {
- if (a.value && !e.finished && !e.disabled)
- return t.createVNode('div', { class: ks('loading') }, [
- n.loading
- ? n.loading()
- : t.createVNode(
- Vt,
- { class: ks('loading-icon') },
- { default: () => [e.loadingText || Cs('loading')] }
- )
- ])
- }
- return (
- t.watch(() => [e.loading, e.finished, e.error], c),
- i &&
- t.watch(i, (e) => {
- e && c()
- }),
- t.onUpdated(() => {
- a.value = e.loading
- }),
- t.onMounted(() => {
- e.immediateCheck && c()
- }),
- Qe({ check: c }),
- j('scroll', c, { target: s, passive: !0 }),
- () => {
- var o
- const i = null == (o = n.default) ? void 0 : o.call(n),
- s = t.createVNode('div', { ref: l, class: ks('placeholder') }, null)
- return t.createVNode(
- 'div',
- { ref: r, role: 'feed', class: ks(), 'aria-busy': a.value },
- ['down' === e.direction ? i : s, m(), d(), p(), 'up' === e.direction ? i : s]
- )
- }
- )
- }
- })
- ),
- [Bs, Ps] = Ie('nav-bar'),
- Ds = {
- title: String,
- fixed: Boolean,
- zIndex: g,
- border: b,
- leftText: String,
- rightText: String,
- leftArrow: Boolean,
- placeholder: Boolean,
- safeAreaInsetTop: Boolean,
- clickable: b
- }
- const Os = We(
- t.defineComponent({
- name: Bs,
- props: Ds,
- emits: ['clickLeft', 'clickRight'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = Xe(a, Ps),
- l = (e) => o('clickLeft', e),
- i = (e) => o('clickRight', e),
- s = () => {
- const { title: o, fixed: r, border: s, zIndex: c } = e,
- d = pe(c),
- u = e.leftArrow || e.leftText || n.left,
- p = e.rightText || n.right
- return t.createVNode(
- 'div',
- {
- ref: a,
- style: d,
- class: [Ps({ fixed: r }), { [Le]: s, 'van-safe-area-top': e.safeAreaInsetTop }]
- },
- [
- t.createVNode('div', { class: Ps('content') }, [
- u &&
- t.createVNode(
- 'div',
- { class: [Ps('left'), e.clickable ? Fe : ''], onClick: l },
- [
- n.left
- ? n.left()
- : [
- e.leftArrow &&
- t.createVNode(
- ht,
- { class: Ps('arrow'), name: 'arrow-left' },
- null
- ),
- e.leftText &&
- t.createVNode('span', { class: Ps('text') }, [e.leftText])
- ]
- ]
- ),
- t.createVNode('div', { class: [Ps('title'), 'van-ellipsis'] }, [
- n.title ? n.title() : o
- ]),
- p &&
- t.createVNode(
- 'div',
- { class: [Ps('right'), e.clickable ? Fe : ''], onClick: i },
- [
- n.right
- ? n.right()
- : t.createVNode('span', { class: Ps('text') }, [e.rightText])
- ]
- )
- ])
- ]
- )
- }
- return () => (e.fixed && e.placeholder ? r(s) : s())
- }
- })
- ),
- [Is, As] = Ie('notice-bar'),
- zs = {
- text: String,
- mode: String,
- color: String,
- delay: V(1),
- speed: V(60),
- leftIcon: String,
- wrapable: Boolean,
- background: String,
- scrollable: { type: Boolean, default: null }
- }
- const Es = We(
- t.defineComponent({
- name: Is,
- props: zs,
- emits: ['close', 'replay'],
- setup(e, { emit: n, slots: a }) {
- let r,
- l = 0,
- i = 0
- const s = t.ref(),
- c = t.ref(),
- d = t.reactive({ show: !0, offset: 0, duration: 0 }),
- u = (t) => {
- 'closeable' === e.mode && ((d.show = !1), n('close', t))
- },
- p = () => {
- if (a['right-icon']) return a['right-icon']()
- const o = 'closeable' === e.mode ? 'cross' : 'link' === e.mode ? 'arrow' : void 0
- return o
- ? t.createVNode(ht, { name: o, class: As('right-icon'), onClick: u }, null)
- : void 0
- },
- m = () => {
- ;(d.offset = l),
- (d.duration = 0),
- C(() => {
- T(() => {
- ;(d.offset = -i), (d.duration = (i + l) / +e.speed), n('replay')
- })
- })
- },
- f = () => {
- const o = !1 === e.scrollable && !e.wrapable,
- n = {
- transform: d.offset ? `translateX(${d.offset}px)` : '',
- transitionDuration: `${d.duration}s`
- }
- return t.createVNode('div', { ref: s, role: 'marquee', class: As('wrap') }, [
- t.createVNode(
- 'div',
- {
- ref: c,
- style: n,
- class: [As('content'), { 'van-ellipsis': o }],
- onTransitionend: m
- },
- [a.default ? a.default() : e.text]
- )
- ])
- },
- v = () => {
- const { delay: t, speed: n, scrollable: a } = e,
- u = o(t) ? 1e3 * +t : 0
- ;(l = 0),
- (i = 0),
- (d.offset = 0),
- (d.duration = 0),
- clearTimeout(r),
- (r = setTimeout(() => {
- if (!s.value || !c.value || !1 === a) return
- const e = P(s).width,
- t = P(c).width
- ;(a || t > e) &&
- T(() => {
- ;(l = e), (i = t), (d.offset = -i), (d.duration = i / +n)
- })
- }, u))
- }
- return (
- Ye(v),
- H(v),
- j('pageshow', v),
- Qe({ reset: v }),
- t.watch(() => [e.text, e.scrollable], v),
- () => {
- const { color: o, wrapable: n, background: r } = e
- return t.withDirectives(
- t.createVNode(
- 'div',
- { role: 'alert', class: As({ wrapable: n }), style: { color: o, background: r } },
- [
- a['left-icon']
- ? a['left-icon']()
- : e.leftIcon
- ? t.createVNode(ht, { class: As('left-icon'), name: e.leftIcon }, null)
- : void 0,
- f(),
- p()
- ]
- ),
- [[t.vShow, d.show]]
- )
- }
- )
- }
- })
- ),
- [Ls, $s] = Ie('notify'),
- Ms = d({}, Et, {
- type: N('danger'),
- color: String,
- message: g,
- position: N('top'),
- className: h,
- background: String,
- lockScroll: Boolean
- })
- var Rs = t.defineComponent({
- name: Ls,
- props: Ms,
- emits: ['update:show'],
- setup(e, { emit: o, slots: n }) {
- const a = (e) => o('update:show', e)
- return () =>
- t.createVNode(
- Gt,
- {
- show: e.show,
- class: [$s([e.type]), e.className],
- style: { color: e.color, background: e.background },
- overlay: !1,
- zIndex: e.zIndex,
- position: e.position,
- duration: 0.2,
- lockScroll: e.lockScroll,
- 'onUpdate:show': a
- },
- { default: () => [n.default ? n.default() : e.message] }
- )
- }
- })
- let Fs, Hs
- let js = {
- type: 'danger',
- color: void 0,
- message: '',
- onClose: void 0,
- onClick: void 0,
- onOpened: void 0,
- duration: 3e3,
- position: void 0,
- className: '',
- lockScroll: !1,
- background: void 0
- }
- const Ws = () => {
- Hs && Hs.toggle(!1)
- }
- const Us = We(Rs),
- [Ys, qs] = Ie('key'),
- Xs = t.createVNode('svg', { class: qs('collapse-icon'), viewBox: '0 0 30 24' }, [
- t.createVNode(
- 'path',
- {
- d: 'M26 13h-2v2h2v-2zm-8-3h2V8h-2v2zm2-4h2V4h-2v2zm2 4h4V4h-2v4h-2v2zm-7 14 3-3h-6l3 3zM6 13H4v2h2v-2zm16 0H8v2h14v-2zm-12-3h2V8h-2v2zM28 0l1 1 1 1v15l-1 2H1l-1-2V2l1-1 1-1zm0 2H2v15h26V2zM6 4v2H4V4zm10 2h2V4h-2v2zM8 9v1H4V8zm8 0v1h-2V8zm-6-5v2H8V4zm4 0v2h-2V4z',
- fill: 'currentColor'
- },
- null
- )
- ]),
- Gs = t.createVNode('svg', { class: qs('delete-icon'), viewBox: '0 0 32 22' }, [
- t.createVNode(
- 'path',
- {
- d: 'M28 0a4 4 0 0 1 4 4v14a4 4 0 0 1-4 4H10.4a2 2 0 0 1-1.4-.6L1 13.1c-.6-.5-.9-1.3-.9-2 0-1 .3-1.7.9-2.2L9 .6a2 2 0 0 1 1.4-.6zm0 2H10.4l-8.2 8.3a1 1 0 0 0-.3.7c0 .3.1.5.3.7l8.2 8.4H28a2 2 0 0 0 2-2V4c0-1.1-.9-2-2-2zm-5 4a1 1 0 0 1 .7.3 1 1 0 0 1 0 1.4L20.4 11l3.3 3.3c.2.2.3.5.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3L19 12.4l-3.4 3.3a1 1 0 0 1-.6.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.2.1-.5.3-.7l3.3-3.3-3.3-3.3A1 1 0 0 1 14 7c0-.3.1-.5.3-.7A1 1 0 0 1 15 6a1 1 0 0 1 .6.3L19 9.6l3.3-3.3A1 1 0 0 1 23 6z',
- fill: 'currentColor'
- },
- null
- )
- ])
- var Zs = t.defineComponent({
- name: Ys,
- props: {
- type: String,
- text: g,
- color: String,
- wider: Boolean,
- large: Boolean,
- loading: Boolean
- },
- emits: ['press'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(!1),
- r = $t(),
- l = (e) => {
- r.start(e), (a.value = !0)
- },
- i = (e) => {
- r.move(e), r.direction.value && (a.value = !1)
- },
- s = (t) => {
- a.value && (n.default || le(t), (a.value = !1), o('press', e.text, e.type))
- },
- c = () => {
- if (e.loading) return t.createVNode(Vt, { class: qs('loading-icon') }, null)
- const o = n.default ? n.default() : e.text
- switch (e.type) {
- case 'delete':
- return o || Gs
- case 'extra':
- return o || Xs
- default:
- return o
- }
- }
- return () =>
- t.createVNode(
- 'div',
- {
- class: qs('wrapper', { wider: e.wider }),
- onTouchstartPassive: l,
- onTouchmovePassive: i,
- onTouchend: s,
- onTouchcancel: s
- },
- [
- t.createVNode(
- 'div',
- {
- role: 'button',
- tabindex: 0,
- class: qs([
- e.color,
- { large: e.large, active: a.value, delete: 'delete' === e.type }
- ])
- },
- [c()]
- )
- ]
- )
- }
- })
- const [Ks, _s] = Ie('number-keyboard'),
- Js = {
- show: Boolean,
- title: String,
- theme: N('default'),
- zIndex: g,
- teleport: [String, Object],
- maxlength: V(1 / 0),
- modelValue: N(''),
- transition: b,
- blurOnClose: b,
- showDeleteKey: b,
- randomKeyOrder: Boolean,
- closeButtonText: String,
- deleteButtonText: String,
- closeButtonLoading: Boolean,
- hideOnClickOutside: b,
- safeAreaInsetBottom: b,
- extraKey: { type: [String, Array], default: '' }
- }
- const Qs = We(
- t.defineComponent({
- name: Ks,
- inheritAttrs: !1,
- props: Js,
- emits: ['show', 'hide', 'blur', 'input', 'close', 'delete', 'update:modelValue'],
- setup(e, { emit: o, slots: n, attrs: a }) {
- const r = t.ref(),
- l = () => {
- const t = Array(9)
- .fill('')
- .map((e, t) => ({ text: t + 1 }))
- return (
- e.randomKeyOrder &&
- (function (e) {
- for (let t = e.length - 1; t > 0; t--) {
- const o = Math.floor(Math.random() * (t + 1)),
- n = e[t]
- ;(e[t] = e[o]), (e[o] = n)
- }
- })(t),
- t
- )
- },
- i = t.computed(() =>
- 'custom' === e.theme
- ? (() => {
- const t = l(),
- { extraKey: o } = e,
- n = Array.isArray(o) ? o : [o]
- return (
- 1 === n.length
- ? t.push({ text: 0, wider: !0 }, { text: n[0], type: 'extra' })
- : 2 === n.length &&
- t.push(
- { text: n[0], type: 'extra' },
- { text: 0 },
- { text: n[1], type: 'extra' }
- ),
- t
- )
- })()
- : [
- ...l(),
- { text: e.extraKey, type: 'extra' },
- { text: 0 },
- {
- text: e.showDeleteKey ? e.deleteButtonText : '',
- type: e.showDeleteKey ? 'delete' : ''
- }
- ]
- ),
- s = () => {
- e.show && o('blur')
- },
- c = () => {
- o('close'), e.blurOnClose && s()
- },
- d = () => o(e.show ? 'show' : 'hide'),
- u = (t, n) => {
- if ('' === t) return void ('extra' === n && s())
- const a = e.modelValue
- 'delete' === n
- ? (o('delete'), o('update:modelValue', a.slice(0, a.length - 1)))
- : 'close' === n
- ? c()
- : a.length < +e.maxlength && (o('input', t), o('update:modelValue', a + t))
- },
- p = () => {
- if ('custom' === e.theme)
- return t.createVNode('div', { class: _s('sidebar') }, [
- e.showDeleteKey &&
- t.createVNode(
- Zs,
- { large: !0, text: e.deleteButtonText, type: 'delete', onPress: u },
- { delete: n.delete }
- ),
- t.createVNode(
- Zs,
- {
- large: !0,
- text: e.closeButtonText,
- type: 'close',
- color: 'blue',
- loading: e.closeButtonLoading,
- onPress: u
- },
- null
- )
- ])
- }
- return (
- t.watch(
- () => e.show,
- (t) => {
- e.transition || o(t ? 'show' : 'hide')
- }
- ),
- e.hideOnClickOutside && W(r, s, { eventName: 'touchstart' }),
- () => {
- const o = (() => {
- const { title: o, theme: a, closeButtonText: r } = e,
- l = n['title-left'],
- i = r && 'default' === a
- if (o || i || l)
- return t.createVNode('div', { class: _s('header') }, [
- l && t.createVNode('span', { class: _s('title-left') }, [l()]),
- o && t.createVNode('h2', { class: _s('title') }, [o]),
- i &&
- t.createVNode(
- 'button',
- { type: 'button', class: [_s('close'), Fe], onClick: c },
- [r]
- )
- ])
- })(),
- l = t.createVNode(
- t.Transition,
- { name: e.transition ? 'van-slide-up' : '' },
- {
- default: () => [
- t.withDirectives(
- t.createVNode(
- 'div',
- t.mergeProps(
- {
- ref: r,
- style: pe(e.zIndex),
- class: _s({ unfit: !e.safeAreaInsetBottom, 'with-title': !!o }),
- onAnimationend: d,
- onTouchstartPassive: re
- },
- a
- ),
- [
- o,
- t.createVNode('div', { class: _s('body') }, [
- t.createVNode('div', { class: _s('keys') }, [
- i.value.map((e) => {
- const o = {}
- return (
- 'delete' === e.type && (o.default = n.delete),
- 'extra' === e.type && (o.default = n['extra-key']),
- t.createVNode(
- Zs,
- {
- key: e.text,
- text: e.text,
- type: e.type,
- wider: e.wider,
- color: e.color,
- onPress: u
- },
- o
- )
- )
- })
- ]),
- p()
- ])
- ]
- ),
- [[t.vShow, e.show]]
- )
- ]
- }
- )
- return e.teleport
- ? t.createVNode(t.Teleport, { to: e.teleport }, { default: () => [l] })
- : l
- }
- )
- }
- })
- ),
- [ec, tc, oc] = Ie('pagination'),
- nc = (e, t, o) => ({ number: e, text: t, active: o }),
- ac = {
- mode: N('multi'),
- prevText: String,
- nextText: String,
- pageCount: V(0),
- modelValue: x(0),
- totalItems: V(0),
- showPageSize: V(5),
- itemsPerPage: V(10),
- forceEllipses: Boolean,
- showPrevButton: b,
- showNextButton: b
- }
- const rc = We(
- t.defineComponent({
- name: ec,
- props: ac,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const a = t.computed(() => {
- const { pageCount: t, totalItems: o, itemsPerPage: n } = e,
- a = +t || Math.ceil(+o / +n)
- return Math.max(1, a)
- }),
- r = t.computed(() => {
- const t = [],
- o = a.value,
- n = +e.showPageSize,
- { modelValue: r, forceEllipses: l } = e
- let i = 1,
- s = o
- const c = n < o
- c &&
- ((i = Math.max(r - Math.floor(n / 2), 1)),
- (s = i + n - 1),
- s > o && ((s = o), (i = s - n + 1)))
- for (let e = i; e <= s; e++) {
- const o = nc(e, e, e === r)
- t.push(o)
- }
- if (c && n > 0 && l) {
- if (i > 1) {
- const e = nc(i - 1, '...')
- t.unshift(e)
- }
- if (s < o) {
- const e = nc(s + 1, '...')
- t.push(e)
- }
- }
- return t
- }),
- l = (t, n) => {
- ;(t = ye(t, 1, a.value)),
- e.modelValue !== t && (o('update:modelValue', t), n && o('change', t))
- }
- t.watchEffect(() => l(e.modelValue))
- const i = () => {
- const { mode: o, modelValue: a, showPrevButton: r } = e
- if (!r) return
- const i = n['prev-text'],
- s = 1 === a
- return t.createVNode(
- 'li',
- { class: [tc('item', { disabled: s, border: 'simple' === o, prev: !0 }), $e] },
- [
- t.createVNode(
- 'button',
- { type: 'button', disabled: s, onClick: () => l(a - 1, !0) },
- [i ? i() : e.prevText || oc('prev')]
- )
- ]
- )
- },
- s = () => {
- const { mode: o, modelValue: r, showNextButton: i } = e
- if (!i) return
- const s = n['next-text'],
- c = r === a.value
- return t.createVNode(
- 'li',
- { class: [tc('item', { disabled: c, border: 'simple' === o, next: !0 }), $e] },
- [
- t.createVNode(
- 'button',
- { type: 'button', disabled: c, onClick: () => l(r + 1, !0) },
- [s ? s() : e.nextText || oc('next')]
- )
- ]
- )
- }
- return () =>
- t.createVNode('nav', { role: 'navigation', class: tc() }, [
- t.createVNode('ul', { class: tc('items') }, [
- i(),
- 'simple' === e.mode
- ? t.createVNode('li', { class: tc('page-desc') }, [
- n.pageDesc ? n.pageDesc() : `${e.modelValue}/${a.value}`
- ])
- : r.value.map((e) =>
- t.createVNode(
- 'li',
- { class: [tc('item', { active: e.active, page: !0 }), $e] },
- [
- t.createVNode(
- 'button',
- {
- type: 'button',
- 'aria-current': e.active || void 0,
- onClick: () => l(e.number, !0)
- },
- [n.page ? n.page(e) : e.text]
- )
- ]
- )
- ),
- s()
- ])
- ])
- }
- })
- ),
- [lc, ic] = Ie('password-input'),
- sc = {
- info: String,
- mask: b,
- value: N(''),
- gutter: g,
- length: V(6),
- focused: Boolean,
- errorInfo: String
- }
- const cc = We(
- t.defineComponent({
- name: lc,
- props: sc,
- emits: ['focus'],
- setup(e, { emit: o }) {
- const n = (e) => {
- e.stopPropagation(), o('focus', e)
- },
- a = () => {
- const o = [],
- { mask: n, value: a, gutter: r, focused: l } = e,
- i = +e.length
- for (let e = 0; e < i; e++) {
- const i = a[e],
- s = 0 !== e && !r,
- c = l && e === a.length
- let d
- 0 !== e && r && (d = { marginLeft: de(r) }),
- o.push(
- t.createVNode(
- 'li',
- { class: [{ [Ee]: s }, ic('item', { focus: c })], style: d },
- [
- n
- ? t.createVNode(
- 'i',
- { style: { visibility: i ? 'visible' : 'hidden' } },
- null
- )
- : i,
- c && t.createVNode('div', { class: ic('cursor') }, null)
- ]
- )
- )
- }
- return o
- }
- return () => {
- const o = e.errorInfo || e.info
- return t.createVNode('div', { class: ic() }, [
- t.createVNode(
- 'ul',
- { class: [ic('security'), { [$e]: !e.gutter }], onTouchstartPassive: n },
- [a()]
- ),
- o && t.createVNode('div', { class: ic(e.errorInfo ? 'error-info' : 'info') }, [o])
- ])
- }
- }
- })
- ),
- dc = We(tn)
- function uc(e) {
- if (null == e) return window
- if ('[object Window]' !== e.toString()) {
- var t = e.ownerDocument
- return (t && t.defaultView) || window
- }
- return e
- }
- function pc(e) {
- return e instanceof uc(e).Element || e instanceof Element
- }
- function mc(e) {
- return e instanceof uc(e).HTMLElement || e instanceof HTMLElement
- }
- function fc(e) {
- return (
- 'undefined' != typeof ShadowRoot && (e instanceof uc(e).ShadowRoot || e instanceof ShadowRoot)
- )
- }
- var vc = Math.round
- function hc() {
- var e = navigator.userAgentData
- return null != e && e.brands
- ? e.brands
- .map(function (e) {
- return e.brand + '/' + e.version
- })
- .join(' ')
- : navigator.userAgent
- }
- function gc(e, t, o) {
- void 0 === t && (t = !1), void 0 === o && (o = !1)
- var n = e.getBoundingClientRect(),
- a = 1,
- r = 1
- t &&
- mc(e) &&
- ((a = (e.offsetWidth > 0 && vc(n.width) / e.offsetWidth) || 1),
- (r = (e.offsetHeight > 0 && vc(n.height) / e.offsetHeight) || 1))
- var l = (pc(e) ? uc(e) : window).visualViewport,
- i = !!/^((?!chrome|android).)*safari/i.test(hc()) && o,
- s = (n.left + (i && l ? l.offsetLeft : 0)) / a,
- c = (n.top + (i && l ? l.offsetTop : 0)) / r,
- d = n.width / a,
- u = n.height / r
- return { width: d, height: u, top: c, right: s + d, bottom: c + u, left: s, x: s, y: c }
- }
- function bc(e) {
- var t = uc(e)
- return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset }
- }
- function yc(e) {
- return e ? (e.nodeName || '').toLowerCase() : null
- }
- function wc(e) {
- return ((pc(e) ? e.ownerDocument : e.document) || window.document).documentElement
- }
- function xc(e) {
- return uc(e).getComputedStyle(e)
- }
- function Vc(e) {
- var t = xc(e),
- o = t.overflow,
- n = t.overflowX,
- a = t.overflowY
- return /auto|scroll|overlay|hidden/.test(o + a + n)
- }
- function Nc(e, t, o) {
- void 0 === o && (o = !1)
- var n,
- a,
- r = mc(t),
- l =
- mc(t) &&
- (function (e) {
- var t = e.getBoundingClientRect(),
- o = vc(t.width) / e.offsetWidth || 1,
- n = vc(t.height) / e.offsetHeight || 1
- return 1 !== o || 1 !== n
- })(t),
- i = wc(t),
- s = gc(e, l, o),
- c = { scrollLeft: 0, scrollTop: 0 },
- d = { x: 0, y: 0 }
- return (
- (r || (!r && !o)) &&
- (('body' !== yc(t) || Vc(i)) &&
- (c =
- (n = t) !== uc(n) && mc(n)
- ? { scrollLeft: (a = n).scrollLeft, scrollTop: a.scrollTop }
- : bc(n)),
- mc(t)
- ? (((d = gc(t, !0)).x += t.clientLeft), (d.y += t.clientTop))
- : i &&
- (d.x = (function (e) {
- return gc(wc(e)).left + bc(e).scrollLeft
- })(i))),
- {
- x: s.left + c.scrollLeft - d.x,
- y: s.top + c.scrollTop - d.y,
- width: s.width,
- height: s.height
- }
- )
- }
- function kc(e) {
- return 'html' === yc(e) ? e : e.assignedSlot || e.parentNode || (fc(e) ? e.host : null) || wc(e)
- }
- function Cc(e) {
- return ['html', 'body', '#document'].indexOf(yc(e)) >= 0
- ? e.ownerDocument.body
- : mc(e) && Vc(e)
- ? e
- : Cc(kc(e))
- }
- function Sc(e, t) {
- var o
- void 0 === t && (t = [])
- var n = Cc(e),
- a = n === (null == (o = e.ownerDocument) ? void 0 : o.body),
- r = uc(n),
- l = a ? [r].concat(r.visualViewport || [], Vc(n) ? n : []) : n,
- i = t.concat(l)
- return a ? i : i.concat(Sc(kc(l)))
- }
- function Tc(e) {
- return ['table', 'td', 'th'].indexOf(yc(e)) >= 0
- }
- function Bc(e) {
- return mc(e) && 'fixed' !== xc(e).position ? e.offsetParent : null
- }
- function Pc(e) {
- for (var t = uc(e), o = Bc(e); o && Tc(o) && 'static' === xc(o).position; ) o = Bc(o)
- return o && ('html' === yc(o) || ('body' === yc(o) && 'static' === xc(o).position))
- ? t
- : o ||
- (function (e) {
- var t = /firefox/i.test(hc())
- if (/Trident/i.test(hc()) && mc(e) && 'fixed' === xc(e).position) return null
- var o = kc(e)
- for (fc(o) && (o = o.host); mc(o) && ['html', 'body'].indexOf(yc(o)) < 0; ) {
- var n = xc(o)
- if (
- 'none' !== n.transform ||
- 'none' !== n.perspective ||
- 'paint' === n.contain ||
- -1 !== ['transform', 'perspective'].indexOf(n.willChange) ||
- (t && 'filter' === n.willChange) ||
- (t && n.filter && 'none' !== n.filter)
- )
- return o
- o = o.parentNode
- }
- return null
- })(e) ||
- t
- }
- var Dc = 'top',
- Oc = 'bottom',
- Ic = 'right',
- Ac = 'left',
- zc = 'auto',
- Ec = 'start',
- Lc = 'end',
- $c = [].concat([Dc, Oc, Ic, Ac], [zc]).reduce(function (e, t) {
- return e.concat([t, t + '-' + Ec, t + '-' + Lc])
- }, []),
- Mc = [
- 'beforeRead',
- 'read',
- 'afterRead',
- 'beforeMain',
- 'main',
- 'afterMain',
- 'beforeWrite',
- 'write',
- 'afterWrite'
- ]
- function Rc(e) {
- var t = new Map(),
- o = new Set(),
- n = []
- function a(e) {
- o.add(e.name),
- [].concat(e.requires || [], e.requiresIfExists || []).forEach(function (e) {
- if (!o.has(e)) {
- var n = t.get(e)
- n && a(n)
- }
- }),
- n.push(e)
- }
- return (
- e.forEach(function (e) {
- t.set(e.name, e)
- }),
- e.forEach(function (e) {
- o.has(e.name) || a(e)
- }),
- n
- )
- }
- function Fc(e) {
- for (var t = arguments.length, o = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
- o[n - 1] = arguments[n]
- return [].concat(o).reduce(function (e, t) {
- return e.replace(/%s/, t)
- }, e)
- }
- var Hc = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s',
- jc = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options']
- function Wc(e) {
- return e.split('-')[0]
- }
- function Uc(e) {
- return e.split('-')[1]
- }
- var Yc =
- 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.',
- qc = { placement: 'bottom', modifiers: [], strategy: 'absolute' }
- function Xc() {
- for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++) t[o] = arguments[o]
- return !t.some(function (e) {
- return !(e && 'function' == typeof e.getBoundingClientRect)
- })
- }
- function Gc(e) {
- void 0 === e && (e = {})
- var t = e,
- o = t.defaultModifiers,
- n = void 0 === o ? [] : o,
- a = t.defaultOptions,
- r = void 0 === a ? qc : a
- return function (e, t, o) {
- void 0 === o && (o = r)
- var a,
- l,
- i = {
- placement: 'bottom',
- orderedModifiers: [],
- options: Object.assign({}, qc, r),
- modifiersData: {},
- elements: { reference: e, popper: t },
- attributes: {},
- styles: {}
- },
- s = [],
- c = !1,
- d = {
- state: i,
- setOptions: function (o) {
- var a = 'function' == typeof o ? o(i.options) : o
- u(),
- (i.options = Object.assign({}, r, i.options, a)),
- (i.scrollParents = {
- reference: pc(e) ? Sc(e) : e.contextElement ? Sc(e.contextElement) : [],
- popper: Sc(t)
- })
- var l = (function (e) {
- var t = Rc(e)
- return Mc.reduce(function (e, o) {
- return e.concat(
- t.filter(function (e) {
- return e.phase === o
- })
- )
- }, [])
- })(
- (function (e) {
- var t = e.reduce(function (e, t) {
- var o = e[t.name]
- return (
- (e[t.name] = o
- ? Object.assign({}, o, t, {
- options: Object.assign({}, o.options, t.options),
- data: Object.assign({}, o.data, t.data)
- })
- : t),
- e
- )
- }, {})
- return Object.keys(t).map(function (e) {
- return t[e]
- })
- })([].concat(n, i.options.modifiers))
- )
- ;((i.orderedModifiers = l.filter(function (e) {
- return e.enabled
- })),
- (function (e) {
- e.forEach(function (t) {
- ;[]
- .concat(Object.keys(t), jc)
- .filter(function (e, t, o) {
- return o.indexOf(e) === t
- })
- .forEach(function (o) {
- switch (o) {
- case 'name':
- 'string' != typeof t.name &&
- console.error(
- Fc(Hc, String(t.name), '"name"', '"string"', '"' + String(t.name) + '"')
- )
- break
- case 'enabled':
- 'boolean' != typeof t.enabled &&
- console.error(
- Fc(Hc, t.name, '"enabled"', '"boolean"', '"' + String(t.enabled) + '"')
- )
- break
- case 'phase':
- Mc.indexOf(t.phase) < 0 &&
- console.error(
- Fc(
- Hc,
- t.name,
- '"phase"',
- 'either ' + Mc.join(', '),
- '"' + String(t.phase) + '"'
- )
- )
- break
- case 'fn':
- 'function' != typeof t.fn &&
- console.error(
- Fc(Hc, t.name, '"fn"', '"function"', '"' + String(t.fn) + '"')
- )
- break
- case 'effect':
- null != t.effect &&
- 'function' != typeof t.effect &&
- console.error(
- Fc(Hc, t.name, '"effect"', '"function"', '"' + String(t.fn) + '"')
- )
- break
- case 'requires':
- null == t.requires ||
- Array.isArray(t.requires) ||
- console.error(
- Fc(Hc, t.name, '"requires"', '"array"', '"' + String(t.requires) + '"')
- )
- break
- case 'requiresIfExists':
- Array.isArray(t.requiresIfExists) ||
- console.error(
- Fc(
- Hc,
- t.name,
- '"requiresIfExists"',
- '"array"',
- '"' + String(t.requiresIfExists) + '"'
- )
- )
- break
- case 'options':
- case 'data':
- break
- default:
- console.error(
- 'PopperJS: an invalid property has been provided to the "' +
- t.name +
- '" modifier, valid properties are ' +
- jc
- .map(function (e) {
- return '"' + e + '"'
- })
- .join(', ') +
- '; but "' +
- o +
- '" was provided.'
- )
- }
- t.requires &&
- t.requires.forEach(function (o) {
- null ==
- e.find(function (e) {
- return e.name === o
- }) &&
- console.error(
- Fc(
- 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available',
- String(t.name),
- o,
- o
- )
- )
- })
- })
- })
- })(
- ((c = [].concat(l, i.options.modifiers)),
- (p = function (e) {
- return e.name
- }),
- (m = new Set()),
- c.filter(function (e) {
- var t = p(e)
- if (!m.has(t)) return m.add(t), !0
- }))
- ),
- Wc(i.options.placement) === zc) &&
- (i.orderedModifiers.find(function (e) {
- return 'flip' === e.name
- }) ||
- console.error(
- [
- 'Popper: "auto" placements require the "flip" modifier be',
- 'present and enabled to work.'
- ].join(' ')
- ))
- var c,
- p,
- m,
- f = xc(t)
- return (
- [f.marginTop, f.marginRight, f.marginBottom, f.marginLeft].some(function (e) {
- return parseFloat(e)
- }) &&
- console.warn(
- [
- 'Popper: CSS "margin" styles cannot be used to apply padding',
- 'between the popper and its reference element or boundary.',
- 'To replicate margin, use the `offset` modifier, as well as',
- 'the `padding` option in the `preventOverflow` and `flip`',
- 'modifiers.'
- ].join(' ')
- ),
- i.orderedModifiers.forEach(function (e) {
- var t = e.name,
- o = e.options,
- n = void 0 === o ? {} : o,
- a = e.effect
- if ('function' == typeof a) {
- var r = a({ state: i, name: t, instance: d, options: n }),
- l = function () {}
- s.push(r || l)
- }
- }),
- d.update()
- )
- },
- forceUpdate: function () {
- if (!c) {
- var e = i.elements,
- t = e.reference,
- o = e.popper
- if (Xc(t, o)) {
- var n, a, r, l
- ;(i.rects = {
- reference: Nc(t, Pc(o), 'fixed' === i.options.strategy),
- popper:
- ((n = o),
- (a = gc(n)),
- (r = n.offsetWidth),
- (l = n.offsetHeight),
- Math.abs(a.width - r) <= 1 && (r = a.width),
- Math.abs(a.height - l) <= 1 && (l = a.height),
- { x: n.offsetLeft, y: n.offsetTop, width: r, height: l })
- }),
- (i.reset = !1),
- (i.placement = i.options.placement),
- i.orderedModifiers.forEach(function (e) {
- return (i.modifiersData[e.name] = Object.assign({}, e.data))
- })
- for (var s = 0, u = 0; u < i.orderedModifiers.length; u++) {
- if ((s += 1) > 100) {
- console.error(
- 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'
- )
- break
- }
- if (!0 !== i.reset) {
- var p = i.orderedModifiers[u],
- m = p.fn,
- f = p.options,
- v = void 0 === f ? {} : f,
- h = p.name
- 'function' == typeof m &&
- (i = m({ state: i, options: v, name: h, instance: d }) || i)
- } else (i.reset = !1), (u = -1)
- }
- } else console.error(Yc)
- }
- },
- update:
- ((a = function () {
- return new Promise(function (e) {
- d.forceUpdate(), e(i)
- })
- }),
- function () {
- return (
- l ||
- (l = new Promise(function (e) {
- Promise.resolve().then(function () {
- ;(l = void 0), e(a())
- })
- })),
- l
- )
- }),
- destroy: function () {
- u(), (c = !0)
- }
- }
- if (!Xc(e, t)) return console.error(Yc), d
- function u() {
- s.forEach(function (e) {
- return e()
- }),
- (s = [])
- }
- return (
- d.setOptions(o).then(function (e) {
- !c && o.onFirstUpdate && o.onFirstUpdate(e)
- }),
- d
- )
- }
- }
- var Zc = { passive: !0 }
- var Kc = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }
- function _c(e) {
- var t,
- o = e.popper,
- n = e.popperRect,
- a = e.placement,
- r = e.variation,
- l = e.offsets,
- i = e.position,
- s = e.gpuAcceleration,
- c = e.adaptive,
- d = e.roundOffsets,
- u = e.isFixed,
- p = l.x,
- m = void 0 === p ? 0 : p,
- f = l.y,
- v = void 0 === f ? 0 : f,
- h = 'function' == typeof d ? d({ x: m, y: v }) : { x: m, y: v }
- ;(m = h.x), (v = h.y)
- var g = l.hasOwnProperty('x'),
- b = l.hasOwnProperty('y'),
- y = Ac,
- w = Dc,
- x = window
- if (c) {
- var V = Pc(o),
- N = 'clientHeight',
- k = 'clientWidth'
- if (
- (V === uc(o) &&
- 'static' !== xc((V = wc(o))).position &&
- 'absolute' === i &&
- ((N = 'scrollHeight'), (k = 'scrollWidth')),
- a === Dc || ((a === Ac || a === Ic) && r === Lc))
- )
- (w = Oc),
- (v -= (u && V === x && x.visualViewport ? x.visualViewport.height : V[N]) - n.height),
- (v *= s ? 1 : -1)
- if (a === Ac || ((a === Dc || a === Oc) && r === Lc))
- (y = Ic),
- (m -= (u && V === x && x.visualViewport ? x.visualViewport.width : V[k]) - n.width),
- (m *= s ? 1 : -1)
- }
- var C,
- S = Object.assign({ position: i }, c && Kc),
- T =
- !0 === d
- ? (function (e) {
- var t = e.x,
- o = e.y,
- n = window.devicePixelRatio || 1
- return { x: vc(t * n) / n || 0, y: vc(o * n) / n || 0 }
- })({ x: m, y: v })
- : { x: m, y: v }
- return (
- (m = T.x),
- (v = T.y),
- s
- ? Object.assign(
- {},
- S,
- (((C = {})[w] = b ? '0' : ''),
- (C[y] = g ? '0' : ''),
- (C.transform =
- (x.devicePixelRatio || 1) <= 1
- ? 'translate(' + m + 'px, ' + v + 'px)'
- : 'translate3d(' + m + 'px, ' + v + 'px, 0)'),
- C)
- )
- : Object.assign(
- {},
- S,
- (((t = {})[w] = b ? v + 'px' : ''), (t[y] = g ? m + 'px' : ''), (t.transform = ''), t)
- )
- )
- }
- var Jc = Gc({
- defaultModifiers: [
- {
- name: 'eventListeners',
- enabled: !0,
- phase: 'write',
- fn: function () {},
- effect: function (e) {
- var t = e.state,
- o = e.instance,
- n = e.options,
- a = n.scroll,
- r = void 0 === a || a,
- l = n.resize,
- i = void 0 === l || l,
- s = uc(t.elements.popper),
- c = [].concat(t.scrollParents.reference, t.scrollParents.popper)
- return (
- r &&
- c.forEach(function (e) {
- e.addEventListener('scroll', o.update, Zc)
- }),
- i && s.addEventListener('resize', o.update, Zc),
- function () {
- r &&
- c.forEach(function (e) {
- e.removeEventListener('scroll', o.update, Zc)
- }),
- i && s.removeEventListener('resize', o.update, Zc)
- }
- )
- },
- data: {}
- },
- {
- name: 'popperOffsets',
- enabled: !0,
- phase: 'read',
- fn: function (e) {
- var t = e.state,
- o = e.name
- t.modifiersData[o] = (function (e) {
- var t,
- o = e.reference,
- n = e.element,
- a = e.placement,
- r = a ? Wc(a) : null,
- l = a ? Uc(a) : null,
- i = o.x + o.width / 2 - n.width / 2,
- s = o.y + o.height / 2 - n.height / 2
- switch (r) {
- case Dc:
- t = { x: i, y: o.y - n.height }
- break
- case Oc:
- t = { x: i, y: o.y + o.height }
- break
- case Ic:
- t = { x: o.x + o.width, y: s }
- break
- case Ac:
- t = { x: o.x - n.width, y: s }
- break
- default:
- t = { x: o.x, y: o.y }
- }
- var c = r
- ? (function (e) {
- return ['top', 'bottom'].indexOf(e) >= 0 ? 'x' : 'y'
- })(r)
- : null
- if (null != c) {
- var d = 'y' === c ? 'height' : 'width'
- switch (l) {
- case Ec:
- t[c] = t[c] - (o[d] / 2 - n[d] / 2)
- break
- case Lc:
- t[c] = t[c] + (o[d] / 2 - n[d] / 2)
- }
- }
- return t
- })({
- reference: t.rects.reference,
- element: t.rects.popper,
- strategy: 'absolute',
- placement: t.placement
- })
- },
- data: {}
- },
- {
- name: 'computeStyles',
- enabled: !0,
- phase: 'beforeWrite',
- fn: function (e) {
- var t = e.state,
- o = e.options,
- n = o.gpuAcceleration,
- a = void 0 === n || n,
- r = o.adaptive,
- l = void 0 === r || r,
- i = o.roundOffsets,
- s = void 0 === i || i,
- c = xc(t.elements.popper).transitionProperty || ''
- l &&
- ['transform', 'top', 'right', 'bottom', 'left'].some(function (e) {
- return c.indexOf(e) >= 0
- }) &&
- console.warn(
- [
- 'Popper: Detected CSS transitions on at least one of the following',
- 'CSS properties: "transform", "top", "right", "bottom", "left".',
- '\n\n',
- 'Disable the "computeStyles" modifier\'s `adaptive` option to allow',
- 'for smooth transitions, or remove these properties from the CSS',
- 'transition declaration on the popper element if only transitioning',
- 'opacity or background-color for example.',
- '\n\n',
- 'We recommend using the popper element as a wrapper around an inner',
- 'element that can have any CSS property transitioned for animations.'
- ].join(' ')
- )
- var d = {
- placement: Wc(t.placement),
- variation: Uc(t.placement),
- popper: t.elements.popper,
- popperRect: t.rects.popper,
- gpuAcceleration: a,
- isFixed: 'fixed' === t.options.strategy
- }
- null != t.modifiersData.popperOffsets &&
- (t.styles.popper = Object.assign(
- {},
- t.styles.popper,
- _c(
- Object.assign({}, d, {
- offsets: t.modifiersData.popperOffsets,
- position: t.options.strategy,
- adaptive: l,
- roundOffsets: s
- })
- )
- )),
- null != t.modifiersData.arrow &&
- (t.styles.arrow = Object.assign(
- {},
- t.styles.arrow,
- _c(
- Object.assign({}, d, {
- offsets: t.modifiersData.arrow,
- position: 'absolute',
- adaptive: !1,
- roundOffsets: s
- })
- )
- )),
- (t.attributes.popper = Object.assign({}, t.attributes.popper, {
- 'data-popper-placement': t.placement
- }))
- },
- data: {}
- },
- {
- name: 'applyStyles',
- enabled: !0,
- phase: 'write',
- fn: function (e) {
- var t = e.state
- Object.keys(t.elements).forEach(function (e) {
- var o = t.styles[e] || {},
- n = t.attributes[e] || {},
- a = t.elements[e]
- mc(a) &&
- yc(a) &&
- (Object.assign(a.style, o),
- Object.keys(n).forEach(function (e) {
- var t = n[e]
- !1 === t ? a.removeAttribute(e) : a.setAttribute(e, !0 === t ? '' : t)
- }))
- })
- },
- effect: function (e) {
- var t = e.state,
- o = {
- popper: { position: t.options.strategy, left: '0', top: '0', margin: '0' },
- arrow: { position: 'absolute' },
- reference: {}
- }
- return (
- Object.assign(t.elements.popper.style, o.popper),
- (t.styles = o),
- t.elements.arrow && Object.assign(t.elements.arrow.style, o.arrow),
- function () {
- Object.keys(t.elements).forEach(function (e) {
- var n = t.elements[e],
- a = t.attributes[e] || {},
- r = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : o[e]).reduce(function (
- e,
- t
- ) {
- return (e[t] = ''), e
- },
- {})
- mc(n) &&
- yc(n) &&
- (Object.assign(n.style, r),
- Object.keys(a).forEach(function (e) {
- n.removeAttribute(e)
- }))
- })
- }
- )
- },
- requires: ['computeStyles']
- }
- ]
- })
- var Qc = {
- name: 'offset',
- enabled: !0,
- phase: 'main',
- requires: ['popperOffsets'],
- fn: function (e) {
- var t = e.state,
- o = e.options,
- n = e.name,
- a = o.offset,
- r = void 0 === a ? [0, 0] : a,
- l = $c.reduce(function (e, o) {
- return (
- (e[o] = (function (e, t, o) {
- var n = Wc(e),
- a = [Ac, Dc].indexOf(n) >= 0 ? -1 : 1,
- r = 'function' == typeof o ? o(Object.assign({}, t, { placement: e })) : o,
- l = r[0],
- i = r[1]
- return (
- (l = l || 0),
- (i = (i || 0) * a),
- [Ac, Ic].indexOf(n) >= 0 ? { x: i, y: l } : { x: l, y: i }
- )
- })(o, t.rects, r)),
- e
- )
- }, {}),
- i = l[t.placement],
- s = i.x,
- c = i.y
- null != t.modifiersData.popperOffsets &&
- ((t.modifiersData.popperOffsets.x += s), (t.modifiersData.popperOffsets.y += c)),
- (t.modifiersData[n] = l)
- }
- }
- const [ed, td] = Ie('popover'),
- od = ['overlay', 'duration', 'teleport', 'overlayStyle', 'overlayClass', 'closeOnClickOverlay'],
- nd = {
- show: Boolean,
- theme: N('light'),
- overlay: Boolean,
- actions: w(),
- trigger: N('click'),
- duration: g,
- showArrow: b,
- placement: N('bottom'),
- iconPrefix: String,
- overlayClass: h,
- overlayStyle: Object,
- closeOnClickAction: b,
- closeOnClickOverlay: b,
- closeOnClickOutside: b,
- offset: { type: Array, default: () => [0, 8] },
- teleport: { type: [String, Object], default: 'body' }
- }
- const ad = We(
- t.defineComponent({
- name: ed,
- props: nd,
- emits: ['select', 'touchstart', 'update:show'],
- setup(e, { emit: o, slots: n, attrs: a }) {
- let r
- const l = t.ref(),
- i = t.ref(),
- s = t.ref(),
- c = go(
- () => e.show,
- (e) => o('update:show', e)
- ),
- p = () => ({
- placement: e.placement,
- modifiers: [
- { name: 'computeStyles', options: { adaptive: !1, gpuAcceleration: !1 } },
- d({}, Qc, { options: { offset: e.offset } })
- ]
- }),
- f = () => {
- t.nextTick(() => {
- c.value &&
- (r
- ? r.setOptions(p())
- : ((r = i.value && s.value ? Jc(i.value, s.value.popupRef.value, p()) : null),
- u &&
- (window.addEventListener('animationend', f),
- window.addEventListener('transitionend', f))))
- })
- },
- v = (e) => {
- c.value = e
- },
- h = () => {
- 'click' === e.trigger && (c.value = !c.value)
- },
- g = (o, a) =>
- n.action
- ? n.action({ action: o, index: a })
- : [
- o.icon &&
- t.createVNode(
- ht,
- { name: o.icon, classPrefix: e.iconPrefix, class: td('action-icon') },
- null
- ),
- t.createVNode('div', { class: [td('action-text'), Le] }, [o.text])
- ],
- b = (n, a) => {
- const { icon: r, color: l, disabled: i, className: s } = n
- return t.createVNode(
- 'div',
- {
- role: 'menuitem',
- class: [td('action', { disabled: i, 'with-icon': r }), s],
- style: { color: l },
- tabindex: i ? void 0 : 0,
- 'aria-disabled': i || void 0,
- onClick: () =>
- ((t, n) => {
- t.disabled || (o('select', t, n), e.closeOnClickAction && (c.value = !1))
- })(n, a)
- },
- [g(n, a)]
- )
- }
- return (
- t.onMounted(() => {
- f(),
- t.watchEffect(() => {
- var e
- l.value = null == (e = s.value) ? void 0 : e.popupRef.value
- })
- }),
- t.onBeforeUnmount(() => {
- r &&
- (u &&
- (window.removeEventListener('animationend', f),
- window.removeEventListener('transitionend', f)),
- r.destroy(),
- (r = null))
- }),
- t.watch(() => [c.value, e.offset, e.placement], f),
- W(
- [i, l],
- () => {
- c.value &&
- e.closeOnClickOutside &&
- (!e.overlay || e.closeOnClickOverlay) &&
- (c.value = !1)
- },
- { eventName: 'touchstart' }
- ),
- () => {
- var o
- return t.createVNode(t.Fragment, null, [
- t.createVNode('span', { ref: i, class: td('wrapper'), onClick: h }, [
- null == (o = n.reference) ? void 0 : o.call(n)
- ]),
- t.createVNode(
- Gt,
- t.mergeProps(
- {
- ref: s,
- show: c.value,
- class: td([e.theme]),
- position: '',
- transition: 'van-popover-zoom',
- lockScroll: !1,
- 'onUpdate:show': v
- },
- a,
- m(e, od)
- ),
- {
- default: () => [
- e.showArrow && t.createVNode('div', { class: td('arrow') }, null),
- t.createVNode('div', { role: 'menu', class: td('content') }, [
- n.default ? n.default() : e.actions.map(b)
- ])
- ]
- }
- )
- ])
- }
- )
- }
- })
- ),
- [rd, ld] = Ie('progress'),
- id = {
- color: String,
- inactive: Boolean,
- pivotText: String,
- textColor: String,
- showPivot: b,
- pivotColor: String,
- trackColor: String,
- strokeWidth: g,
- percentage: { type: g, default: 0, validator: (e) => +e >= 0 && +e <= 100 }
- }
- const sd = We(
- t.defineComponent({
- name: rd,
- props: id,
- setup(e) {
- const o = t.computed(() => (e.inactive ? void 0 : e.color)),
- n = () => {
- const { textColor: n, pivotText: a, pivotColor: r, percentage: l } = e,
- i = null != a ? a : `${l}%`
- if (e.showPivot && i) {
- const a = {
- color: n,
- left: +l + '%',
- transform: `translate(-${+l}%,-50%)`,
- background: r || o.value
- }
- return t.createVNode(
- 'span',
- { style: a, class: ld('pivot', { inactive: e.inactive }) },
- [i]
- )
- }
- }
- return () => {
- const { trackColor: a, percentage: r, strokeWidth: l } = e,
- i = { background: a, height: de(l) },
- s = { width: `${r}%`, background: o.value }
- return t.createVNode('div', { class: ld(), style: i }, [
- t.createVNode(
- 'span',
- { class: ld('portion', { inactive: e.inactive }), style: s },
- null
- ),
- n()
- ])
- }
- }
- })
- ),
- [cd, dd, ud] = Ie('pull-refresh'),
- pd = ['pulling', 'loosing', 'success'],
- md = {
- disabled: Boolean,
- modelValue: Boolean,
- headHeight: V(50),
- successText: String,
- pullingText: String,
- loosingText: String,
- loadingText: String,
- pullDistance: g,
- successDuration: V(500),
- animationDuration: V(300)
- }
- const fd = We(
- t.defineComponent({
- name: cd,
- props: md,
- emits: ['change', 'refresh', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- let a
- const r = t.ref(),
- l = t.ref(),
- i = Z(r),
- s = t.reactive({ status: 'normal', distance: 0, duration: 0 }),
- c = $t(),
- d = () => {
- if (50 !== e.headHeight) return { height: `${e.headHeight}px` }
- },
- u = () => 'loading' !== s.status && 'success' !== s.status && !e.disabled,
- p = (t, n) => {
- const a = +(e.pullDistance || e.headHeight)
- ;(s.distance = t),
- (s.status = n ? 'loading' : 0 === t ? 'normal' : t < a ? 'pulling' : 'loosing'),
- o('change', { status: s.status, distance: t })
- },
- m = () => {
- const { status: t } = s
- return 'normal' === t ? '' : e[`${t}Text`] || ud(t)
- },
- f = () => {
- const { status: e, distance: o } = s
- if (n[e]) return n[e]({ distance: o })
- const a = []
- return (
- pd.includes(e) && a.push(t.createVNode('div', { class: dd('text') }, [m()])),
- 'loading' === e &&
- a.push(t.createVNode(Vt, { class: dd('loading') }, { default: m })),
- a
- )
- },
- v = (e) => {
- ;(a = 0 === J(i.value)), a && ((s.duration = 0), c.start(e))
- },
- h = (e) => {
- u() && v(e)
- },
- g = () => {
- a &&
- c.deltaY.value &&
- u() &&
- ((s.duration = +e.animationDuration),
- 'loosing' === s.status
- ? (p(+e.headHeight, !0),
- o('update:modelValue', !0),
- t.nextTick(() => o('refresh')))
- : p(0))
- }
- return (
- t.watch(
- () => e.modelValue,
- (t) => {
- ;(s.duration = +e.animationDuration),
- t
- ? p(+e.headHeight, !0)
- : n.success || e.successText
- ? ((s.status = 'success'),
- setTimeout(() => {
- p(0)
- }, +e.successDuration))
- : p(0, !1)
- }
- ),
- j(
- 'touchmove',
- (t) => {
- if (u()) {
- a || v(t)
- const { deltaY: o } = c
- c.move(t),
- a &&
- o.value >= 0 &&
- c.isVertical() &&
- (le(t),
- p(
- ((t) => {
- const o = +(e.pullDistance || e.headHeight)
- return (
- t > o && (t = t < 2 * o ? o + (t - o) / 2 : 1.5 * o + (t - 2 * o) / 4),
- Math.round(t)
- )
- })(o.value)
- ))
- }
- },
- { target: l }
- ),
- () => {
- var e
- const o = {
- transitionDuration: `${s.duration}ms`,
- transform: s.distance ? `translate3d(0,${s.distance}px, 0)` : ''
- }
- return t.createVNode('div', { ref: r, class: dd() }, [
- t.createVNode(
- 'div',
- {
- ref: l,
- class: dd('track'),
- style: o,
- onTouchstartPassive: h,
- onTouchend: g,
- onTouchcancel: g
- },
- [
- t.createVNode('div', { class: dd('head'), style: d() }, [f()]),
- null == (e = n.default) ? void 0 : e.call(n)
- ]
- )
- ])
- }
- )
- }
- })
- ),
- [vd, hd] = Ie('rate')
- const gd = {
- size: g,
- icon: N('star'),
- color: String,
- count: V(5),
- gutter: g,
- readonly: Boolean,
- disabled: Boolean,
- voidIcon: N('star-o'),
- allowHalf: Boolean,
- voidColor: String,
- touchable: b,
- iconPrefix: String,
- modelValue: x(0),
- disabledColor: String
- }
- const bd = We(
- t.defineComponent({
- name: vd,
- props: gd,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o }) {
- const n = $t(),
- [a, r] = wo(),
- l = t.ref(),
- i = () => e.readonly || e.disabled || !e.touchable,
- s = t.computed(() =>
- Array(+e.count)
- .fill('')
- .map((t, o) =>
- (function (e, t, o, n) {
- if (e >= t) return { status: 'full', value: 1 }
- if (e + 0.5 >= t && o && !n) return { status: 'half', value: 0.5 }
- if (e + 1 >= t && o && n) {
- const o = 10 ** 10
- return { status: 'half', value: Math.round((e - t + 1) * o) / o }
- }
- return { status: 'void', value: 0 }
- })(e.modelValue, o + 1, e.allowHalf, e.readonly)
- )
- )
- let c,
- d,
- u = Number.MAX_SAFE_INTEGER,
- p = Number.MIN_SAFE_INTEGER
- const m = () => {
- d = P(l)
- const t = a.value.map(P)
- ;(c = []),
- t.forEach((t, o) => {
- ;(u = Math.min(t.top, u)),
- (p = Math.max(t.top, p)),
- e.allowHalf
- ? c.push(
- { score: o + 0.5, left: t.left, top: t.top, height: t.height },
- { score: o + 1, left: t.left + t.width / 2, top: t.top, height: t.height }
- )
- : c.push({ score: o + 1, left: t.left, top: t.top, height: t.height })
- })
- },
- f = (t, o) => {
- for (let e = c.length - 1; e > 0; e--)
- if (o >= d.top && o <= d.bottom) {
- if (t > c[e].left && o >= c[e].top && o <= c[e].top + c[e].height)
- return c[e].score
- } else {
- const n = o < d.top ? u : p
- if (t > c[e].left && c[e].top === n) return c[e].score
- }
- return e.allowHalf ? 0.5 : 1
- },
- v = (t) => {
- e.disabled ||
- e.readonly ||
- t === e.modelValue ||
- (o('update:modelValue', t), o('change', t))
- },
- h = (e) => {
- i() || (n.start(e), m())
- },
- g = (o, n) => {
- const {
- icon: a,
- size: l,
- color: i,
- count: s,
- gutter: c,
- voidIcon: d,
- disabled: u,
- voidColor: p,
- allowHalf: h,
- iconPrefix: g,
- disabledColor: b
- } = e,
- y = n + 1,
- w = 'full' === o.status,
- x = 'void' === o.status,
- V = h && o.value > 0 && o.value < 1
- let N
- c && y !== +s && (N = { paddingRight: de(c) })
- return t.createVNode(
- 'div',
- {
- key: n,
- ref: r(n),
- role: 'radio',
- style: N,
- class: hd('item'),
- tabindex: u ? void 0 : 0,
- 'aria-setsize': s,
- 'aria-posinset': y,
- 'aria-checked': !x,
- onClick: (e) => {
- m(), v(h ? f(e.clientX, e.clientY) : y)
- }
- },
- [
- t.createVNode(
- ht,
- {
- size: l,
- name: w ? a : d,
- class: hd('icon', { disabled: u, full: w }),
- color: u ? b : w ? i : p,
- classPrefix: g
- },
- null
- ),
- V &&
- t.createVNode(
- ht,
- {
- size: l,
- style: { width: o.value + 'em' },
- name: x ? d : a,
- class: hd('icon', ['half', { disabled: u, full: !x }]),
- color: u ? b : x ? p : i,
- classPrefix: g
- },
- null
- )
- ]
- )
- }
- return (
- _(() => e.modelValue),
- j(
- 'touchmove',
- (e) => {
- if (!i() && (n.move(e), n.isHorizontal())) {
- const { clientX: t, clientY: o } = e.touches[0]
- le(e), v(f(t, o))
- }
- },
- { target: l }
- ),
- () =>
- t.createVNode(
- 'div',
- {
- ref: l,
- role: 'radiogroup',
- class: hd({ readonly: e.readonly, disabled: e.disabled }),
- tabindex: e.disabled ? void 0 : 0,
- 'aria-disabled': e.disabled,
- 'aria-readonly': e.readonly,
- onTouchstartPassive: h
- },
- [s.value.map(g)]
- )
- )
- }
- })
- ),
- yd = We(fl),
- [wd, xd, Vd] = Ie('search'),
- Nd = d({}, An, {
- label: String,
- shape: N('square'),
- leftIcon: N('search'),
- clearable: b,
- actionText: String,
- background: String,
- showAction: Boolean
- })
- const kd = We(
- t.defineComponent({
- name: wd,
- props: Nd,
- emits: [
- 'blur',
- 'focus',
- 'clear',
- 'search',
- 'cancel',
- 'clickInput',
- 'clickLeftIcon',
- 'clickRightIcon',
- 'update:modelValue'
- ],
- setup(e, { emit: o, slots: n, attrs: a }) {
- const r = yo(),
- l = t.ref(),
- i = () => {
- n.action || (o('update:modelValue', ''), o('cancel'))
- },
- s = (t) => {
- 13 === t.keyCode && (le(t), o('search', e.modelValue))
- },
- c = () => e.id || `${r}-input`,
- u = () => {
- if (n.label || e.label)
- return t.createVNode('label', { class: xd('label'), for: c() }, [
- n.label ? n.label() : e.label
- ])
- },
- p = () => {
- if (e.showAction) {
- const o = e.actionText || Vd('cancel')
- return t.createVNode(
- 'div',
- { class: xd('action'), role: 'button', tabindex: 0, onClick: i },
- [n.action ? n.action() : o]
- )
- }
- },
- f = (e) => o('blur', e),
- v = (e) => o('focus', e),
- h = (e) => o('clear', e),
- g = (e) => o('clickInput', e),
- b = (e) => o('clickLeftIcon', e),
- y = (e) => o('clickRightIcon', e),
- w = Object.keys(An),
- x = () => {
- const r = d({}, a, m(e, w), { id: c() })
- return t.createVNode(
- En,
- t.mergeProps(
- {
- ref: l,
- type: 'search',
- class: xd('field'),
- border: !1,
- onBlur: f,
- onFocus: v,
- onClear: h,
- onKeypress: s,
- onClickInput: g,
- onClickLeftIcon: b,
- onClickRightIcon: y,
- 'onUpdate:modelValue': (e) => o('update:modelValue', e)
- },
- r
- ),
- m(n, ['left-icon', 'right-icon'])
- )
- }
- return (
- Qe({
- focus: () => {
- var e
- return null == (e = l.value) ? void 0 : e.focus()
- },
- blur: () => {
- var e
- return null == (e = l.value) ? void 0 : e.blur()
- }
- }),
- () => {
- var o
- return t.createVNode(
- 'div',
- { class: xd({ 'show-action': e.showAction }), style: { background: e.background } },
- [
- null == (o = n.left) ? void 0 : o.call(n),
- t.createVNode('div', { class: xd('content', e.shape) }, [u(), x()]),
- p()
- ]
- )
- }
- )
- }
- })
- ),
- Cd = [...Lt, 'round', 'closeOnPopstate', 'safeAreaInsetBottom'],
- Sd = {
- qq: 'qq',
- link: 'link-o',
- weibo: 'weibo',
- qrcode: 'qr',
- poster: 'photo-o',
- wechat: 'wechat',
- 'weapp-qrcode': 'miniprogram-o',
- 'wechat-moments': 'wechat-moments'
- },
- [Td, Bd, Pd] = Ie('share-sheet'),
- Dd = d({}, Et, {
- title: String,
- round: b,
- options: w(),
- cancelText: String,
- description: String,
- closeOnPopstate: b,
- safeAreaInsetBottom: b
- })
- const Od = We(
- t.defineComponent({
- name: Td,
- props: Dd,
- emits: ['cancel', 'select', 'update:show'],
- setup(e, { emit: o, slots: n }) {
- const a = (e) => o('update:show', e),
- r = () => {
- a(!1), o('cancel')
- },
- l = () => {
- const o = n.title ? n.title() : e.title,
- a = n.description ? n.description() : e.description
- if (o || a)
- return t.createVNode('div', { class: Bd('header') }, [
- o && t.createVNode('h2', { class: Bd('title') }, [o]),
- a && t.createVNode('span', { class: Bd('description') }, [a])
- ])
- },
- i = (e) => {
- return (null == (o = e) ? void 0 : o.includes('/'))
- ? t.createVNode('img', { src: e, class: Bd('image-icon') }, null)
- : t.createVNode('div', { class: Bd('icon', [e]) }, [
- t.createVNode(ht, { name: Sd[e] || e }, null)
- ])
- var o
- },
- s = (e, n) => {
- const { name: a, icon: r, className: l, description: s } = e
- return t.createVNode(
- 'div',
- {
- role: 'button',
- tabindex: 0,
- class: [Bd('option'), l, Fe],
- onClick: () => ((e, t) => o('select', e, t))(e, n)
- },
- [
- i(r),
- a && t.createVNode('span', { class: Bd('name') }, [a]),
- s && t.createVNode('span', { class: Bd('option-description') }, [s])
- ]
- )
- },
- c = (e, o) => t.createVNode('div', { class: Bd('options', { border: o }) }, [e.map(s)]),
- d = () => {
- const { options: t } = e
- return Array.isArray(t[0]) ? t.map((e, t) => c(e, 0 !== t)) : c(t)
- },
- u = () => {
- var o
- const a = null != (o = e.cancelText) ? o : Pd('cancel')
- if (n.cancel || a)
- return t.createVNode(
- 'button',
- { type: 'button', class: Bd('cancel'), onClick: r },
- [n.cancel ? n.cancel() : a]
- )
- }
- return () =>
- t.createVNode(
- Gt,
- t.mergeProps({ class: Bd(), position: 'bottom', 'onUpdate:show': a }, m(e, Cd)),
- { default: () => [l(), d(), u()] }
- )
- }
- })
- ),
- [Id, Ad] = Ie('sidebar'),
- zd = Symbol(Id),
- Ed = { modelValue: V(0) }
- const Ld = We(
- t.defineComponent({
- name: Id,
- props: Ed,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const { linkChildren: a } = A(zd),
- r = () => +e.modelValue
- return (
- a({
- getActive: r,
- setActive: (e) => {
- e !== r() && (o('update:modelValue', e), o('change', e))
- }
- }),
- () => {
- var e
- return t.createVNode('div', { role: 'tablist', class: Ad() }, [
- null == (e = n.default) ? void 0 : e.call(n)
- ])
- }
- )
- }
- })
- ),
- [$d, Md] = Ie('sidebar-item'),
- Rd = d({}, et, { dot: Boolean, title: String, badge: g, disabled: Boolean, badgeProps: Object })
- const Fd = We(
- t.defineComponent({
- name: $d,
- props: Rd,
- emits: ['click'],
- setup(e, { emit: o, slots: n }) {
- const a = ot(),
- { parent: r, index: l } = D(zd)
- if (!r) return
- const i = () => {
- e.disabled || (o('click', l.value), r.setActive(l.value), a())
- }
- return () => {
- const { dot: o, badge: a, title: s, disabled: c } = e,
- d = l.value === r.getActive()
- return t.createVNode(
- 'div',
- {
- role: 'tab',
- class: Md({ select: d, disabled: c }),
- tabindex: c ? void 0 : 0,
- 'aria-selected': d,
- onClick: i
- },
- [
- t.createVNode(
- lt,
- t.mergeProps({ dot: o, class: Md('text'), content: a }, e.badgeProps),
- { default: () => [n.title ? n.title() : s] }
- )
- ]
- )
- }
- }
- })
- ),
- [Hd, jd, Wd] = Ie('signature'),
- Ud = {
- tips: String,
- type: N('png'),
- penColor: N('#000'),
- lineWidth: x(3),
- clearButtonText: String,
- backgroundColor: N(''),
- confirmButtonText: String
- }
- const Yd = We(
- t.defineComponent({
- name: Hd,
- props: Ud,
- emits: ['submit', 'clear', 'start', 'end', 'signing'],
- setup(e, { emit: o }) {
- const n = t.ref(),
- a = t.ref(),
- r = t.reactive({
- width: 0,
- height: 0,
- ctx: null,
- ratio: u ? window.devicePixelRatio : 1
- })
- let l
- const i =
- !u ||
- (() => {
- var e
- const t = document.createElement('canvas')
- return !!(null == (e = t.getContext) ? void 0 : e.call(t, '2d'))
- })(),
- s = () => {
- if (!r.ctx) return !1
- r.ctx.beginPath(),
- (r.ctx.lineWidth = e.lineWidth * r.ratio),
- (r.ctx.strokeStyle = e.penColor),
- (l = P(n)),
- o('start')
- },
- c = (e) => {
- var t, n
- if (!r.ctx) return !1
- le(e)
- const a = e.touches[0],
- i = (a.clientX - ((null == l ? void 0 : l.left) || 0)) * r.ratio,
- s = (a.clientY - ((null == l ? void 0 : l.top) || 0)) * r.ratio
- ;(r.ctx.lineCap = 'round'),
- (r.ctx.lineJoin = 'round'),
- null == (t = r.ctx) || t.lineTo(i, s),
- null == (n = r.ctx) || n.stroke(),
- o('signing', e)
- },
- d = (e) => {
- le(e), o('end')
- },
- p = () => {
- r.ctx &&
- e.backgroundColor &&
- ((r.ctx.fillStyle = e.backgroundColor), r.ctx.fillRect(0, 0, r.width, r.height))
- },
- m = () => {
- var t, a
- const r = n.value
- if (!r) return
- const l = ((e) => {
- const t = document.createElement('canvas')
- return (t.width = e.width), (t.height = e.height), e.toDataURL() === t.toDataURL()
- })(r),
- i = l
- ? ''
- : (null ==
- (a = (t = {
- jpg: () => r.toDataURL('image/jpeg', 0.8),
- jpeg: () => r.toDataURL('image/jpeg', 0.8)
- })[e.type])
- ? void 0
- : a.call(t)) || r.toDataURL(`image/${e.type}`)
- o('submit', { image: i, canvas: r })
- },
- f = () => {
- r.ctx && (r.ctx.clearRect(0, 0, r.width, r.height), r.ctx.closePath(), p()),
- o('clear')
- }
- return (
- t.onMounted(() => {
- var e, o, l
- i &&
- ((r.ctx = null == (e = n.value) ? void 0 : e.getContext('2d')),
- (r.width = ((null == (o = a.value) ? void 0 : o.offsetWidth) || 0) * r.ratio),
- (r.height = ((null == (l = a.value) ? void 0 : l.offsetHeight) || 0) * r.ratio),
- t.nextTick(() => {
- p()
- }))
- }),
- () =>
- t.createVNode('div', { class: jd() }, [
- t.createVNode('div', { class: jd('content'), ref: a }, [
- i
- ? t.createVNode(
- 'canvas',
- {
- ref: n,
- width: r.width,
- height: r.height,
- onTouchstartPassive: s,
- onTouchmove: c,
- onTouchend: d
- },
- null
- )
- : t.createVNode('p', null, [e.tips])
- ]),
- t.createVNode('div', { class: jd('footer') }, [
- t.createVNode(
- St,
- { size: 'small', onClick: f },
- { default: () => [e.clearButtonText || Wd('clear')] }
- ),
- t.createVNode(
- St,
- { type: 'primary', size: 'small', onClick: m },
- { default: () => [e.confirmButtonText || Wd('confirm')] }
- )
- ])
- ])
- )
- }
- })
- ),
- [qd, Xd] = Ie('skeleton-title'),
- Gd = { round: Boolean, titleWidth: g }
- const Zd = We(
- t.defineComponent({
- name: qd,
- props: Gd,
- setup: (e) => () =>
- t.createVNode(
- 'h3',
- { class: Xd([{ round: e.round }]), style: { width: de(e.titleWidth) } },
- null
- )
- })
- )
- var Kd = Zd
- const [_d, Jd] = Ie('skeleton-avatar'),
- Qd = { avatarSize: g, avatarShape: N('round') }
- const eu = We(
- t.defineComponent({
- name: _d,
- props: Qd,
- setup: (e) => () =>
- t.createVNode('div', { class: Jd([e.avatarShape]), style: ue(e.avatarSize) }, null)
- })
- )
- var tu = eu
- const ou = '100%',
- nu = { round: Boolean, rowWidth: { type: g, default: ou } },
- [au, ru] = Ie('skeleton-paragraph')
- const lu = We(
- t.defineComponent({
- name: au,
- props: nu,
- setup: (e) => () =>
- t.createVNode(
- 'div',
- { class: ru([{ round: e.round }]), style: { width: e.rowWidth } },
- null
- )
- })
- )
- var iu = lu
- const [su, cu] = Ie('skeleton'),
- du = {
- row: V(0),
- round: Boolean,
- title: Boolean,
- titleWidth: g,
- avatar: Boolean,
- avatarSize: g,
- avatarShape: N('round'),
- loading: b,
- animate: b,
- rowWidth: { type: [Number, String, Array], default: ou }
- }
- const uu = We(
- t.defineComponent({
- name: su,
- inheritAttrs: !1,
- props: du,
- setup(e, { slots: o, attrs: n }) {
- const a = () => {
- if (e.avatar)
- return t.createVNode(
- tu,
- { avatarShape: e.avatarShape, avatarSize: e.avatarSize },
- null
- )
- },
- r = () => {
- if (e.title)
- return t.createVNode(Kd, { round: e.round, titleWidth: e.titleWidth }, null)
- },
- l = (t) => {
- const { rowWidth: o } = e
- return o === ou && t === +e.row - 1 ? '60%' : Array.isArray(o) ? o[t] : o
- }
- return () => {
- var i
- return e.loading
- ? t.createVNode(
- 'div',
- t.mergeProps({ class: cu({ animate: e.animate, round: e.round }) }, n),
- [
- o.template
- ? o.template()
- : t.createVNode(t.Fragment, null, [
- a(),
- t.createVNode('div', { class: cu('content') }, [
- r(),
- Array(+e.row)
- .fill('')
- .map((o, n) =>
- t.createVNode(
- iu,
- { key: n, round: e.round, rowWidth: de(l(n)) },
- null
- )
- )
- ])
- ])
- ]
- )
- : null == (i = o.default)
- ? void 0
- : i.call(o)
- }
- }
- })
- ),
- [pu, mu] = Ie('skeleton-image'),
- fu = { imageSize: g, imageShape: N('square') }
- const vu = We(
- t.defineComponent({
- name: pu,
- props: fu,
- setup: (e) => () =>
- t.createVNode('div', { class: mu([e.imageShape]), style: ue(e.imageSize) }, [
- t.createVNode(ht, { name: 'photo', class: mu('icon') }, null)
- ])
- })
- ),
- [hu, gu] = Ie('slider'),
- bu = {
- min: V(0),
- max: V(100),
- step: V(1),
- range: Boolean,
- reverse: Boolean,
- disabled: Boolean,
- readonly: Boolean,
- vertical: Boolean,
- barHeight: g,
- buttonSize: g,
- activeColor: String,
- inactiveColor: String,
- modelValue: { type: [Number, Array], default: 0 }
- }
- const yu = We(
- t.defineComponent({
- name: hu,
- props: bu,
- emits: ['change', 'dragEnd', 'dragStart', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- let a, r, l
- const i = t.ref(),
- s = [t.ref(), t.ref()],
- c = t.ref(),
- d = $t(),
- u = t.computed(() => Number(e.max) - Number(e.min)),
- p = t.computed(() => {
- const t = e.vertical ? 'width' : 'height'
- return { background: e.inactiveColor, [t]: de(e.barHeight) }
- }),
- m = (t) => e.range && Array.isArray(t),
- v = () => {
- const { modelValue: t, min: o } = e
- return m(t)
- ? (100 * (t[1] - t[0])) / u.value + '%'
- : (100 * (t - Number(o))) / u.value + '%'
- },
- h = t.computed(() => {
- const t = { [e.vertical ? 'height' : 'width']: v(), background: e.activeColor }
- c.value && (t.transition = 'none')
- return (
- (t[e.vertical ? (e.reverse ? 'bottom' : 'top') : e.reverse ? 'right' : 'left'] =
- (() => {
- const { modelValue: t, min: o } = e
- return m(t) ? (100 * (t[0] - Number(o))) / u.value + '%' : '0%'
- })()),
- t
- )
- }),
- g = (t) => {
- const o = +e.min,
- n = +e.max,
- a = +e.step
- t = ye(t, o, n)
- return Ve(o, Math.round((t - o) / a) * a)
- },
- b = (t, n) => {
- ;(t = m(t)
- ? ((t) => {
- var o, n
- const a = null != (o = t[0]) ? o : Number(e.min),
- r = null != (n = t[1]) ? n : Number(e.max)
- return a > r ? [r, a] : [a, r]
- })(t).map(g)
- : g(t)),
- f(t, e.modelValue) || o('update:modelValue', t),
- n && !f(t, l) && o('change', t)
- },
- y = (t) => {
- if ((t.stopPropagation(), e.disabled || e.readonly)) return
- const { min: o, reverse: n, vertical: a, modelValue: r } = e,
- l = P(i),
- s = a ? l.height : l.width,
- c =
- Number(o) +
- ((a
- ? n
- ? l.bottom - t.clientY
- : t.clientY - l.top
- : n
- ? l.right - t.clientX
- : t.clientX - l.left) /
- s) *
- u.value
- if (m(r)) {
- const [e, t] = r
- b(c <= (e + t) / 2 ? [c, t] : [e, c], !0)
- } else b(c, !0)
- },
- w = (t) => {
- if (e.disabled || e.readonly) return
- 'start' === c.value && o('dragStart', t), le(t, !0), d.move(t), (c.value = 'dragging')
- const n = P(i)
- let s =
- ((e.vertical ? d.deltaY.value : d.deltaX.value) /
- (e.vertical ? n.height : n.width)) *
- u.value
- if ((e.reverse && (s = -s), m(l))) {
- const t = e.reverse ? 1 - a : a
- r[t] = l[t] + s
- } else r = l + s
- b(r)
- },
- x = (t) => {
- e.disabled ||
- e.readonly ||
- ('dragging' === c.value && (b(r, !0), o('dragEnd', t)), (c.value = ''))
- },
- V = (t) => {
- if ('number' == typeof t) {
- return gu('button-wrapper', ['left', 'right'][t])
- }
- return gu('button-wrapper', e.reverse ? 'left' : 'right')
- },
- N = (o, a) => {
- if ('number' == typeof a) {
- const e = n[0 === a ? 'left-button' : 'right-button']
- if (e) return e({ value: o })
- }
- return n.button
- ? n.button({ value: o })
- : t.createVNode('div', { class: gu('button'), style: ue(e.buttonSize) }, null)
- },
- k = (o) => {
- const n = 'number' == typeof o ? e.modelValue[o] : e.modelValue
- return t.createVNode(
- 'div',
- {
- ref: s[null != o ? o : 0],
- role: 'slider',
- class: V(o),
- tabindex: e.disabled ? void 0 : 0,
- 'aria-valuemin': e.min,
- 'aria-valuenow': n,
- 'aria-valuemax': e.max,
- 'aria-disabled': e.disabled || void 0,
- 'aria-readonly': e.readonly || void 0,
- 'aria-orientation': e.vertical ? 'vertical' : 'horizontal',
- onTouchstartPassive: (t) => {
- 'number' == typeof o && (a = o),
- ((t) => {
- e.disabled ||
- e.readonly ||
- (d.start(t),
- (r = e.modelValue),
- (l = m(r) ? r.map(g) : g(r)),
- (c.value = 'start'))
- })(t)
- },
- onTouchend: x,
- onTouchcancel: x,
- onClick: re
- },
- [N(n, o)]
- )
- }
- return (
- b(e.modelValue),
- _(() => e.modelValue),
- s.forEach((e) => {
- j('touchmove', w, { target: e })
- }),
- () =>
- t.createVNode(
- 'div',
- {
- ref: i,
- style: p.value,
- class: gu({ vertical: e.vertical, disabled: e.disabled }),
- onClick: y
- },
- [
- t.createVNode('div', { class: gu('bar'), style: h.value }, [
- e.range ? [k(0), k(1)] : k()
- ])
- ]
- )
- )
- }
- })
- ),
- [wu, xu] = Ie('space'),
- Vu = {
- align: String,
- direction: { type: String, default: 'horizontal' },
- size: { type: [Number, String, Array], default: 8 },
- wrap: Boolean,
- fill: Boolean
- }
- function Nu(e = []) {
- const o = []
- return (
- e.forEach((e) => {
- Array.isArray(e)
- ? o.push(...e)
- : e.type === t.Fragment
- ? o.push(...Nu(e.children))
- : o.push(e)
- }),
- o.filter((e) => {
- var o
- return !(
- e &&
- (e.type === t.Comment ||
- (e.type === t.Fragment && 0 === (null == (o = e.children) ? void 0 : o.length)) ||
- (e.type === t.Text && '' === e.children.trim()))
- )
- })
- )
- }
- const ku = We(
- t.defineComponent({
- name: wu,
- props: Vu,
- setup(e, { slots: o }) {
- const n = t.computed(() => {
- var t
- return null != (t = e.align) ? t : 'horizontal' === e.direction ? 'center' : ''
- }),
- a = (e) => ('number' == typeof e ? e + 'px' : e),
- r = (t) => {
- const o = {},
- n = `${a(Array.isArray(e.size) ? e.size[0] : e.size)}`,
- r = `${a(Array.isArray(e.size) ? e.size[1] : e.size)}`
- return t
- ? e.wrap
- ? { marginBottom: r }
- : {}
- : ('horizontal' === e.direction && (o.marginRight = n),
- ('vertical' === e.direction || e.wrap) && (o.marginBottom = r),
- o)
- }
- return () => {
- var a
- const l = Nu(null == (a = o.default) ? void 0 : a.call(o))
- return t.createVNode(
- 'div',
- {
- class: [
- xu({
- [e.direction]: e.direction,
- [`align-${n.value}`]: n.value,
- wrap: e.wrap,
- fill: e.fill
- })
- ]
- },
- [
- l.map((e, o) =>
- t.createVNode(
- 'div',
- { key: `item-${o}`, class: `${wu}-item`, style: r(o === l.length - 1) },
- [e]
- )
- )
- ]
- )
- }
- }
- })
- ),
- [Cu, Su] = Ie('steps'),
- Tu = {
- active: V(0),
- direction: N('horizontal'),
- activeIcon: N('checked'),
- iconPrefix: String,
- finishIcon: String,
- activeColor: String,
- inactiveIcon: String,
- inactiveColor: String
- },
- Bu = Symbol(Cu)
- var Pu = t.defineComponent({
- name: Cu,
- props: Tu,
- emits: ['clickStep'],
- setup(e, { emit: o, slots: n }) {
- const { linkChildren: a } = A(Bu)
- return (
- a({ props: e, onClickStep: (e) => o('clickStep', e) }),
- () => {
- var o
- return t.createVNode('div', { class: Su([e.direction]) }, [
- t.createVNode('div', { class: Su('items') }, [
- null == (o = n.default) ? void 0 : o.call(n)
- ])
- ])
- }
- )
- }
- })
- const [Du, Ou] = Ie('step')
- const Iu = We(
- t.defineComponent({
- name: Du,
- setup(e, { slots: o }) {
- const { parent: n, index: a } = D(Bu)
- if (!n) return
- const r = n.props,
- l = () => {
- const e = +r.active
- return a.value < e ? 'finish' : a.value === e ? 'process' : 'waiting'
- },
- i = () => 'process' === l(),
- s = t.computed(() => ({
- background: 'finish' === l() ? r.activeColor : r.inactiveColor
- })),
- c = t.computed(() =>
- i()
- ? { color: r.activeColor }
- : 'waiting' === l()
- ? { color: r.inactiveColor }
- : void 0
- ),
- d = () => n.onClickStep(a.value),
- u = () => {
- const {
- iconPrefix: e,
- finishIcon: n,
- activeIcon: a,
- activeColor: c,
- inactiveIcon: d
- } = r
- return i()
- ? o['active-icon']
- ? o['active-icon']()
- : t.createVNode(
- ht,
- { class: Ou('icon', 'active'), name: a, color: c, classPrefix: e },
- null
- )
- : 'finish' === l() && (n || o['finish-icon'])
- ? o['finish-icon']
- ? o['finish-icon']()
- : t.createVNode(
- ht,
- { class: Ou('icon', 'finish'), name: n, color: c, classPrefix: e },
- null
- )
- : o['inactive-icon']
- ? o['inactive-icon']()
- : d
- ? t.createVNode(ht, { class: Ou('icon'), name: d, classPrefix: e }, null)
- : t.createVNode('i', { class: Ou('circle'), style: s.value }, null)
- }
- return () => {
- var e
- const n = l()
- return t.createVNode('div', { class: [Ae, Ou([r.direction, { [n]: n }])] }, [
- t.createVNode(
- 'div',
- { class: Ou('title', { active: i() }), style: c.value, onClick: d },
- [null == (e = o.default) ? void 0 : e.call(o)]
- ),
- t.createVNode('div', { class: Ou('circle-container'), onClick: d }, [u()]),
- t.createVNode('div', { class: Ou('line'), style: s.value }, null)
- ])
- }
- }
- })
- ),
- [Au, zu] = Ie('stepper'),
- Eu = (e, t) => String(e) === String(t),
- Lu = {
- min: V(1),
- max: V(1 / 0),
- name: V(''),
- step: V(1),
- theme: String,
- integer: Boolean,
- disabled: Boolean,
- showPlus: b,
- showMinus: b,
- showInput: b,
- longPress: b,
- autoFixed: b,
- allowEmpty: Boolean,
- modelValue: g,
- inputWidth: g,
- buttonSize: g,
- placeholder: String,
- disablePlus: Boolean,
- disableMinus: Boolean,
- disableInput: Boolean,
- beforeChange: Function,
- defaultValue: V(1),
- decimalLength: g
- }
- const $u = We(
- t.defineComponent({
- name: Au,
- props: Lu,
- emits: ['plus', 'blur', 'minus', 'focus', 'change', 'overlimit', 'update:modelValue'],
- setup(e, { emit: n }) {
- const a = (t, n = !0) => {
- const { min: a, max: r, allowEmpty: l, decimalLength: i } = e
- return (
- (l && '' === t) ||
- ((t = '' === (t = xe(String(t), !e.integer)) ? 0 : +t),
- (t = Number.isNaN(t) ? +a : t),
- (t = n ? Math.max(Math.min(+r, t), +a) : t),
- o(i) && (t = t.toFixed(+i))),
- t
- )
- }
- let r
- const l = t.ref(),
- i = t.ref(
- (() => {
- var t
- const o = null != (t = e.modelValue) ? t : e.defaultValue,
- r = a(o)
- return Eu(r, e.modelValue) || n('update:modelValue', r), r
- })()
- ),
- s = t.computed(() => e.disabled || e.disableMinus || +i.value <= +e.min),
- c = t.computed(() => e.disabled || e.disablePlus || +i.value >= +e.max),
- d = t.computed(() => ({ width: de(e.inputWidth), height: de(e.buttonSize) })),
- u = t.computed(() => ue(e.buttonSize)),
- p = (t) => {
- e.beforeChange
- ? je(e.beforeChange, {
- args: [t],
- done() {
- i.value = t
- }
- })
- : (i.value = t)
- },
- m = () => {
- if (('plus' === r && c.value) || ('minus' === r && s.value))
- return void n('overlimit', r)
- const t = 'minus' === r ? -e.step : +e.step,
- o = a(Ve(+i.value, t))
- p(o), n(r)
- },
- f = (t) => {
- const n = t.target,
- { value: a } = n,
- { decimalLength: r } = e
- let l = xe(String(a), !e.integer)
- if (o(r) && l.includes('.')) {
- const e = l.split('.')
- l = `${e[0]}.${e[1].slice(0, +r)}`
- }
- e.beforeChange ? (n.value = String(i.value)) : Eu(a, l) || (n.value = l)
- const s = l === String(+l)
- p(s ? +l : l)
- },
- v = (t) => {
- var o
- e.disableInput ? null == (o = l.value) || o.blur() : n('focus', t)
- },
- h = (o) => {
- const r = o.target,
- l = a(r.value, e.autoFixed)
- ;(r.value = String(l)),
- (i.value = l),
- t.nextTick(() => {
- n('blur', o), ae()
- })
- }
- let g, b
- const y = () => {
- b = setTimeout(() => {
- m(), y()
- }, 200)
- },
- w = (t) => {
- e.longPress && (clearTimeout(b), g && le(t))
- },
- x = (t) => {
- e.disableInput && le(t)
- },
- V = (t) => ({
- onClick: (e) => {
- le(e), (r = t), m()
- },
- onTouchstartPassive: () => {
- ;(r = t),
- e.longPress &&
- ((g = !1),
- clearTimeout(b),
- (b = setTimeout(() => {
- ;(g = !0), m(), y()
- }, 500)))
- },
- onTouchend: w,
- onTouchcancel: w
- })
- return (
- t.watch(
- () => [e.max, e.min, e.integer, e.decimalLength],
- () => {
- const e = a(i.value)
- Eu(e, i.value) || (i.value = e)
- }
- ),
- t.watch(
- () => e.modelValue,
- (e) => {
- Eu(e, i.value) || (i.value = a(e))
- }
- ),
- t.watch(i, (t) => {
- n('update:modelValue', t), n('change', t, { name: e.name })
- }),
- _(() => e.modelValue),
- () =>
- t.createVNode('div', { role: 'group', class: zu([e.theme]) }, [
- t.withDirectives(
- t.createVNode(
- 'button',
- t.mergeProps(
- {
- type: 'button',
- style: u.value,
- class: [zu('minus', { disabled: s.value }), { [Fe]: !s.value }],
- 'aria-disabled': s.value || void 0
- },
- V('minus')
- ),
- null
- ),
- [[t.vShow, e.showMinus]]
- ),
- t.withDirectives(
- t.createVNode(
- 'input',
- {
- ref: l,
- type: e.integer ? 'tel' : 'text',
- role: 'spinbutton',
- class: zu('input'),
- value: i.value,
- style: d.value,
- disabled: e.disabled,
- readonly: e.disableInput,
- inputmode: e.integer ? 'numeric' : 'decimal',
- placeholder: e.placeholder,
- 'aria-valuemax': e.max,
- 'aria-valuemin': e.min,
- 'aria-valuenow': i.value,
- onBlur: h,
- onInput: f,
- onFocus: v,
- onMousedown: x
- },
- null
- ),
- [[t.vShow, e.showInput]]
- ),
- t.withDirectives(
- t.createVNode(
- 'button',
- t.mergeProps(
- {
- type: 'button',
- style: u.value,
- class: [zu('plus', { disabled: c.value }), { [Fe]: !c.value }],
- 'aria-disabled': c.value || void 0
- },
- V('plus')
- ),
- null
- ),
- [[t.vShow, e.showPlus]]
- )
- ])
- )
- }
- })
- ),
- Mu = We(Pu),
- [Ru, Fu, Hu] = Ie('submit-bar'),
- ju = {
- tip: String,
- label: String,
- price: Number,
- tipIcon: String,
- loading: Boolean,
- currency: N('¥'),
- disabled: Boolean,
- textAlign: String,
- buttonText: String,
- buttonType: N('danger'),
- buttonColor: String,
- suffixLabel: String,
- placeholder: Boolean,
- decimalLength: V(2),
- safeAreaInsetBottom: b
- }
- const Wu = We(
- t.defineComponent({
- name: Ru,
- props: ju,
- emits: ['submit'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- r = Xe(a, Fu),
- l = () => {
- const {
- price: o,
- label: n,
- currency: a,
- textAlign: r,
- suffixLabel: l,
- decimalLength: i
- } = e
- if ('number' == typeof o) {
- const e = (o / 100).toFixed(+i).split('.'),
- s = i ? `.${e[1]}` : ''
- return t.createVNode('div', { class: Fu('text'), style: { textAlign: r } }, [
- t.createVNode('span', null, [n || Hu('label')]),
- t.createVNode('span', { class: Fu('price') }, [
- a,
- t.createVNode('span', { class: Fu('price-integer') }, [e[0]]),
- s
- ]),
- l && t.createVNode('span', { class: Fu('suffix-label') }, [l])
- ])
- }
- },
- i = () => {
- var o
- const { tip: a, tipIcon: r } = e
- if (n.tip || a)
- return t.createVNode('div', { class: Fu('tip') }, [
- r && t.createVNode(ht, { class: Fu('tip-icon'), name: r }, null),
- a && t.createVNode('span', { class: Fu('tip-text') }, [a]),
- null == (o = n.tip) ? void 0 : o.call(n)
- ])
- },
- s = () => o('submit'),
- c = () => {
- var o, r
- return t.createVNode(
- 'div',
- { ref: a, class: [Fu(), { 'van-safe-area-bottom': e.safeAreaInsetBottom }] },
- [
- null == (o = n.top) ? void 0 : o.call(n),
- i(),
- t.createVNode('div', { class: Fu('bar') }, [
- null == (r = n.default) ? void 0 : r.call(n),
- l(),
- n.button
- ? n.button()
- : t.createVNode(
- St,
- {
- round: !0,
- type: e.buttonType,
- text: e.buttonText,
- class: Fu('button', e.buttonType),
- color: e.buttonColor,
- loading: e.loading,
- disabled: e.disabled,
- onClick: s
- },
- null
- )
- ])
- ]
- )
- }
- return () => (e.placeholder ? r(c) : c())
- }
- })
- ),
- [Uu, Yu] = Ie('swipe-cell'),
- qu = {
- name: V(''),
- disabled: Boolean,
- leftWidth: g,
- rightWidth: g,
- beforeClose: Function,
- stopPropagation: Boolean
- }
- const Xu = We(
- t.defineComponent({
- name: Uu,
- props: qu,
- emits: ['open', 'close', 'click'],
- setup(e, { emit: n, slots: a }) {
- let r, l, i
- const s = t.ref(),
- c = t.ref(),
- d = t.ref(),
- u = t.reactive({ offset: 0, dragging: !1 }),
- p = $t(),
- m = (e) => (e.value ? P(e).width : 0),
- f = t.computed(() => (o(e.leftWidth) ? +e.leftWidth : m(c))),
- v = t.computed(() => (o(e.rightWidth) ? +e.rightWidth : m(d))),
- h = (t) => {
- ;(u.offset = 'left' === t ? f.value : -v.value),
- r || ((r = !0), n('open', { name: e.name, position: t }))
- },
- g = (t) => {
- ;(u.offset = 0), r && ((r = !1), n('close', { name: e.name, position: t }))
- },
- b = (t) => {
- e.disabled || ((i = u.offset), p.start(t))
- },
- y = () => {
- u.dragging &&
- ((u.dragging = !1),
- ((e) => {
- const t = Math.abs(u.offset),
- o = r ? 0.85 : 0.15,
- n = 'left' === e ? f.value : v.value
- n && t > n * o ? h(e) : g(e)
- })(u.offset > 0 ? 'left' : 'right'),
- setTimeout(() => {
- l = !1
- }, 0))
- },
- w = (t = 'outside') => {
- n('click', t),
- r &&
- !l &&
- je(e.beforeClose, { args: [{ name: e.name, position: t }], done: () => g(t) })
- },
- x = (e, t) => (o) => {
- t && o.stopPropagation(), w(e)
- },
- V = (e, o) => {
- const n = a[e]
- if (n) return t.createVNode('div', { ref: o, class: Yu(e), onClick: x(e, !0) }, [n()])
- }
- return (
- Qe({ open: h, close: g }),
- W(s, () => w('outside'), { eventName: 'touchstart' }),
- j(
- 'touchmove',
- (t) => {
- if (e.disabled) return
- const { deltaX: o } = p
- if ((p.move(t), p.isHorizontal())) {
- ;(l = !0), (u.dragging = !0)
- ;(!r || o.value * i < 0) && le(t, e.stopPropagation),
- (u.offset = ye(o.value + i, -v.value, f.value))
- }
- },
- { target: s }
- ),
- () => {
- var e
- const o = {
- transform: `translate3d(${u.offset}px, 0, 0)`,
- transitionDuration: u.dragging ? '0s' : '.6s'
- }
- return t.createVNode(
- 'div',
- {
- ref: s,
- class: Yu(),
- onClick: x('cell', l),
- onTouchstartPassive: b,
- onTouchend: y,
- onTouchcancel: y
- },
- [
- t.createVNode('div', { class: Yu('wrapper'), style: o }, [
- V('left', c),
- null == (e = a.default) ? void 0 : e.call(a),
- V('right', d)
- ])
- ]
- )
- }
- )
- }
- })
- ),
- [Gu, Zu] = Ie('tabbar'),
- Ku = {
- route: Boolean,
- fixed: b,
- border: b,
- zIndex: g,
- placeholder: Boolean,
- activeColor: String,
- beforeChange: Function,
- inactiveColor: String,
- modelValue: V(0),
- safeAreaInsetBottom: { type: Boolean, default: null }
- },
- _u = Symbol(Gu)
- const Ju = We(
- t.defineComponent({
- name: Gu,
- props: Ku,
- emits: ['change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- { linkChildren: r } = A(_u),
- l = Xe(a, Zu),
- i = () => {
- var t
- return null != (t = e.safeAreaInsetBottom) ? t : e.fixed
- },
- s = () => {
- var o
- const { fixed: r, zIndex: l, border: s } = e
- return t.createVNode(
- 'div',
- {
- ref: a,
- role: 'tablist',
- style: pe(l),
- class: [Zu({ fixed: r }), { [Me]: s, 'van-safe-area-bottom': i() }]
- },
- [null == (o = n.default) ? void 0 : o.call(n)]
- )
- }
- return (
- r({
- props: e,
- setActive: (t, n) => {
- je(e.beforeChange, {
- args: [t],
- done() {
- o('update:modelValue', t), o('change', t), n()
- }
- })
- }
- }),
- () => (e.fixed && e.placeholder ? l(s) : s())
- )
- }
- })
- ),
- [Qu, ep] = Ie('tabbar-item'),
- tp = d({}, et, {
- dot: Boolean,
- icon: String,
- name: g,
- badge: g,
- badgeProps: Object,
- iconPrefix: String
- })
- const op = We(
- t.defineComponent({
- name: Qu,
- props: tp,
- emits: ['click'],
- setup(e, { emit: o, slots: n }) {
- const r = ot(),
- l = t.getCurrentInstance().proxy,
- { parent: i, index: s } = D(_u)
- if (!i) return
- const c = t.computed(() => {
- var t
- const { route: o, modelValue: n } = i.props
- if (o && '$route' in l) {
- const { $route: t } = l,
- { to: o } = e,
- n = a(o) ? o : { path: o }
- return !!t.matched.find((e) => {
- const t = 'path' in n && n.path === e.path,
- o = 'name' in n && n.name === e.name
- return t || o
- })
- }
- return (null != (t = e.name) ? t : s.value) === n
- }),
- d = (t) => {
- var n
- c.value || i.setActive(null != (n = e.name) ? n : s.value, r), o('click', t)
- },
- u = () =>
- n.icon
- ? n.icon({ active: c.value })
- : e.icon
- ? t.createVNode(ht, { name: e.icon, classPrefix: e.iconPrefix }, null)
- : void 0
- return () => {
- var o
- const { dot: a, badge: r } = e,
- { activeColor: l, inactiveColor: s } = i.props,
- p = c.value ? l : s
- return t.createVNode(
- 'div',
- {
- role: 'tab',
- class: ep({ active: c.value }),
- style: { color: p },
- tabindex: 0,
- 'aria-selected': c.value,
- onClick: d
- },
- [
- t.createVNode(
- lt,
- t.mergeProps({ dot: a, class: ep('icon'), content: r }, e.badgeProps),
- { default: u }
- ),
- t.createVNode('div', { class: ep('text') }, [
- null == (o = n.default) ? void 0 : o.call(n, { active: c.value })
- ])
- ]
- )
- }
- }
- })
- ),
- [np, ap] = Ie('text-ellipsis'),
- rp = { rows: V(1), dots: N('...'), content: N(''), expandText: N(''), collapseText: N('') }
- const lp = We(
- t.defineComponent({
- name: np,
- props: rp,
- emits: ['clickAction'],
- setup(e, { emit: o }) {
- const n = t.ref(''),
- a = t.ref(!1),
- r = t.ref(!1),
- l = t.ref(),
- i = (e) => {
- if (!e) return 0
- const t = e.match(/^\d*(\.\d*)?/)
- return t ? Number(t[0]) : 0
- },
- s = () => {
- const t = (() => {
- if (!l.value) return
- const t = window.getComputedStyle(l.value),
- o = document.createElement('div')
- return (
- Array.prototype.slice.apply(t).forEach((e) => {
- o.style.setProperty(e, t.getPropertyValue(e))
- }),
- (o.style.position = 'fixed'),
- (o.style.zIndex = '-9999'),
- (o.style.top = '-9999px'),
- (o.style.height = 'auto'),
- (o.style.minHeight = 'auto'),
- (o.style.maxHeight = 'auto'),
- (o.innerText = e.content),
- document.body.appendChild(o),
- o
- )
- })()
- if (!t) return
- const { paddingBottom: o, paddingTop: a, lineHeight: s } = t.style,
- c = (Number(e.rows) + 0.5) * i(s) + i(a) + i(o)
- c < t.offsetHeight
- ? ((r.value = !0),
- (n.value = ((t, o) => {
- const { dots: n, content: a, expandText: r } = e
- let l = 0,
- i = a.length,
- s = -1
- for (; l <= i; ) {
- const e = Math.floor((l + i) / 2)
- ;(t.innerText = a.slice(0, e) + n + r),
- t.offsetHeight <= o ? ((l = e + 1), (s = e)) : (i = e - 1)
- }
- return a.slice(0, s) + n
- })(t, c)))
- : ((r.value = !1), (n.value = e.content)),
- document.body.removeChild(t)
- },
- c = (e) => {
- ;(a.value = !a.value), o('clickAction', e)
- }
- return (
- t.onMounted(s),
- t.watch(() => [e.content, e.rows], s),
- j('resize', s),
- () =>
- t.createVNode('div', { ref: l, class: ap() }, [
- a.value ? e.content : n.value,
- r.value
- ? t.createVNode('span', { class: ap('action'), onClick: c }, [
- a.value ? e.collapseText : e.expandText
- ])
- : null
- ])
- )
- }
- })
- ),
- [ip] = Ie('time-picker'),
- sp = d({}, gr, {
- minHour: V(0),
- maxHour: V(23),
- minMinute: V(0),
- maxMinute: V(59),
- minSecond: V(0),
- maxSecond: V(59),
- columnsType: { type: Array, default: () => ['hour', 'minute'] }
- })
- const cp = We(
- t.defineComponent({
- name: ip,
- props: sp,
- emits: ['confirm', 'cancel', 'change', 'update:modelValue'],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(e.modelValue),
- r = t.computed(() =>
- e.columnsType.map((t) => {
- const { filter: o, formatter: n } = e
- switch (t) {
- case 'hour':
- return wr(+e.minHour, +e.maxHour, t, n, o)
- case 'minute':
- return wr(+e.minMinute, +e.maxMinute, t, n, o)
- case 'second':
- return wr(+e.minSecond, +e.maxSecond, t, n, o)
- default:
- return []
- }
- })
- )
- t.watch(a, (t) => {
- f(t, e.modelValue) || o('update:modelValue', t)
- }),
- t.watch(
- () => e.modelValue,
- (e) => {
- ;(e = xr(e, r.value)), f(e, a.value) || (a.value = e)
- },
- { immediate: !0 }
- )
- const l = (...e) => o('change', ...e),
- i = (...e) => o('cancel', ...e),
- s = (...e) => o('confirm', ...e)
- return () =>
- t.createVNode(
- un,
- t.mergeProps(
- {
- modelValue: a.value,
- 'onUpdate:modelValue': (e) => (a.value = e),
- columns: r.value,
- onChange: l,
- onCancel: i,
- onConfirm: s
- },
- m(e, br)
- ),
- n
- )
- }
- })
- ),
- [dp, up] = Ie('tree-select'),
- pp = {
- max: V(1 / 0),
- items: w(),
- height: V(300),
- selectedIcon: N('success'),
- mainActiveIndex: V(0),
- activeId: { type: [Number, String, Array], default: 0 }
- }
- const mp = We(
- t.defineComponent({
- name: dp,
- props: pp,
- emits: ['clickNav', 'clickItem', 'update:activeId', 'update:mainActiveIndex'],
- setup(e, { emit: o, slots: n }) {
- const a = (t) => (Array.isArray(e.activeId) ? e.activeId.includes(t) : e.activeId === t),
- r = (n) =>
- t.createVNode(
- 'div',
- {
- key: n.id,
- class: ['van-ellipsis', up('item', { active: a(n.id), disabled: n.disabled })],
- onClick: () => {
- if (n.disabled) return
- let t
- if (Array.isArray(e.activeId)) {
- t = e.activeId.slice()
- const o = t.indexOf(n.id)
- ;-1 !== o ? t.splice(o, 1) : t.length < +e.max && t.push(n.id)
- } else t = n.id
- o('update:activeId', t), o('clickItem', n)
- }
- },
- [
- n.text,
- a(n.id) &&
- t.createVNode(ht, { name: e.selectedIcon, class: up('selected') }, null)
- ]
- ),
- l = (e) => {
- o('update:mainActiveIndex', e)
- },
- i = (e) => o('clickNav', e),
- s = () => {
- const o = e.items.map((e) =>
- t.createVNode(
- Fd,
- {
- dot: e.dot,
- badge: e.badge,
- class: [up('nav-item'), e.className],
- disabled: e.disabled,
- onClick: i
- },
- { title: () => (n['nav-text'] ? n['nav-text'](e) : e.text) }
- )
- )
- return t.createVNode(
- Ld,
- { class: up('nav'), modelValue: e.mainActiveIndex, onChange: l },
- { default: () => [o] }
- )
- },
- c = () => {
- if (n.content) return n.content()
- const t = e.items[+e.mainActiveIndex] || {}
- return t.children ? t.children.map(r) : void 0
- }
- return () =>
- t.createVNode('div', { class: up(), style: { height: de(e.height) } }, [
- s(),
- t.createVNode('div', { class: up('content') }, [c()])
- ])
- }
- })
- ),
- [fp, vp, hp] = Ie('uploader')
- function gp(e, t) {
- return new Promise((o) => {
- if ('file' === t) return void o()
- const n = new FileReader()
- ;(n.onload = (e) => {
- o(e.target.result)
- }),
- 'dataUrl' === t ? n.readAsDataURL(e) : 'text' === t && n.readAsText(e)
- })
- }
- function bp(e, t) {
- return v(e).some((e) => !!e.file && (n(t) ? t(e.file) : e.file.size > +t))
- }
- const yp = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg|avif)/i
- function wp(e) {
- return (
- !!e.isImage ||
- (e.file && e.file.type
- ? 0 === e.file.type.indexOf('image')
- : e.url
- ? ((t = e.url), yp.test(t))
- : 'string' == typeof e.content && 0 === e.content.indexOf('data:image'))
- )
- var t
- }
- var xp = t.defineComponent({
- props: {
- name: g,
- item: y(Object),
- index: Number,
- imageFit: String,
- lazyLoad: Boolean,
- deletable: Boolean,
- reupload: Boolean,
- previewSize: [Number, String, Array],
- beforeDelete: Function
- },
- emits: ['delete', 'preview', 'reupload'],
- setup(e, { emit: n, slots: a }) {
- const r = () => {
- const { status: n, message: a } = e.item
- if ('uploading' === n || 'failed' === n) {
- const e =
- 'failed' === n
- ? t.createVNode(ht, { name: 'close', class: vp('mask-icon') }, null)
- : t.createVNode(Vt, { class: vp('loading') }, null),
- r = o(a) && '' !== a
- return t.createVNode('div', { class: vp('mask') }, [
- e,
- r && t.createVNode('div', { class: vp('mask-message') }, [a])
- ])
- }
- },
- l = (t) => {
- const { name: o, item: a, index: r, beforeDelete: l } = e
- t.stopPropagation(), je(l, { args: [a, { name: o, index: r }], done: () => n('delete') })
- },
- i = () => n('preview'),
- s = () => n('reupload'),
- c = () => {
- if (e.deletable && 'uploading' !== e.item.status) {
- const e = a['preview-delete']
- return t.createVNode(
- 'div',
- {
- role: 'button',
- class: vp('preview-delete', { shadow: !e }),
- tabindex: 0,
- 'aria-label': hp('delete'),
- onClick: l
- },
- [
- e
- ? e()
- : t.createVNode(ht, { name: 'cross', class: vp('preview-delete-icon') }, null)
- ]
- )
- }
- },
- u = () => {
- if (a['preview-cover']) {
- const { index: o, item: n } = e
- return t.createVNode('div', { class: vp('preview-cover') }, [
- a['preview-cover'](d({ index: o }, n))
- ])
- }
- },
- p = () => {
- const { item: o, lazyLoad: n, imageFit: a, previewSize: r, reupload: l } = e
- return wp(o)
- ? t.createVNode(
- zr,
- {
- fit: a,
- src: o.content || o.url,
- class: vp('preview-image'),
- width: Array.isArray(r) ? r[0] : r,
- height: Array.isArray(r) ? r[1] : r,
- lazyLoad: n,
- onClick: l ? s : i
- },
- { default: u }
- )
- : t.createVNode('div', { class: vp('file'), style: ue(e.previewSize) }, [
- t.createVNode(ht, { class: vp('file-icon'), name: 'description' }, null),
- t.createVNode('div', { class: [vp('file-name'), 'van-ellipsis'] }, [
- o.file ? o.file.name : o.url
- ]),
- u()
- ])
- }
- return () => t.createVNode('div', { class: vp('preview') }, [p(), r(), c()])
- }
- })
- const Vp = {
- name: V(''),
- accept: N('image/*'),
- capture: String,
- multiple: Boolean,
- disabled: Boolean,
- readonly: Boolean,
- lazyLoad: Boolean,
- maxCount: V(1 / 0),
- imageFit: N('cover'),
- resultType: N('dataUrl'),
- uploadIcon: N('photograph'),
- uploadText: String,
- deletable: b,
- reupload: Boolean,
- afterRead: Function,
- showUpload: b,
- modelValue: w(),
- beforeRead: Function,
- beforeDelete: Function,
- previewSize: [Number, String, Array],
- previewImage: b,
- previewOptions: Object,
- previewFullImage: b,
- maxSize: { type: [Number, String, Function], default: 1 / 0 }
- }
- const Np = We(
- t.defineComponent({
- name: fp,
- props: Vp,
- emits: [
- 'delete',
- 'oversize',
- 'clickUpload',
- 'closePreview',
- 'clickPreview',
- 'clickReupload',
- 'update:modelValue'
- ],
- setup(e, { emit: o, slots: n }) {
- const a = t.ref(),
- l = [],
- i = t.ref(-1),
- s = (t = e.modelValue.length) => ({ name: e.name, index: t }),
- c = () => {
- a.value && (a.value.value = '')
- },
- u = (n) => {
- if ((c(), bp(n, e.maxSize))) {
- if (!Array.isArray(n)) return void o('oversize', n, s())
- {
- const t = (function (e, t) {
- const o = [],
- n = []
- return (
- e.forEach((e) => {
- bp(e, t) ? n.push(e) : o.push(e)
- }),
- { valid: o, invalid: n }
- )
- })(n, e.maxSize)
- if (((n = t.valid), o('oversize', t.invalid, s()), !n.length)) return
- }
- }
- if (((n = t.reactive(n)), i.value > -1)) {
- const t = [...e.modelValue]
- t.splice(i.value, 1, n), o('update:modelValue', t), (i.value = -1)
- } else o('update:modelValue', [...e.modelValue, ...v(n)])
- e.afterRead && e.afterRead(n, s())
- },
- p = (t) => {
- const { maxCount: o, modelValue: n, resultType: a } = e
- if (Array.isArray(t)) {
- const e = +o - n.length
- t.length > e && (t = t.slice(0, e)),
- Promise.all(t.map((e) => gp(e, a))).then((e) => {
- const o = t.map((t, o) => {
- const n = { file: t, status: '', message: '' }
- return e[o] && (n.content = e[o]), n
- })
- u(o)
- })
- } else
- gp(t, a).then((e) => {
- const o = { file: t, status: '', message: '' }
- e && (o.content = e), u(o)
- })
- },
- f = (t) => {
- const { files: o } = t.target
- if (e.disabled || !o || !o.length) return
- const n = 1 === o.length ? o[0] : [].slice.call(o)
- if (e.beforeRead) {
- const t = e.beforeRead(n, s())
- if (!t) return void c()
- if (r(t))
- return void t
- .then((e) => {
- p(e || n)
- })
- .catch(c)
- }
- p(n)
- }
- let h
- const g = () => o('closePreview'),
- b = (a, r) => {
- const c = ['imageFit', 'deletable', 'reupload', 'previewSize', 'beforeDelete'],
- u = d(m(e, c), m(a, c, !0))
- return t.createVNode(
- xp,
- t.mergeProps(
- {
- item: a,
- index: r,
- onClick: () => o(e.reupload ? 'clickReupload' : 'clickPreview', a, s(r)),
- onDelete: () =>
- ((t, n) => {
- const a = e.modelValue.slice(0)
- a.splice(n, 1), o('update:modelValue', a), o('delete', t, s(n))
- })(a, r),
- onPreview: () =>
- ((t) => {
- if (e.previewFullImage) {
- const o = e.modelValue.filter(wp),
- n = o
- .map(
- (e) => (
- e.file &&
- !e.url &&
- 'failed' !== e.status &&
- ((e.url = URL.createObjectURL(e.file)), l.push(e.url)),
- e.url
- )
- )
- .filter(Boolean)
- h = us(
- d(
- { images: n, startPosition: o.indexOf(t), onClose: g },
- e.previewOptions
- )
- )
- }
- })(a),
- onReupload: () =>
- ((e) => {
- V(), (i.value = e)
- })(r)
- },
- m(e, ['name', 'lazyLoad']),
- u
- ),
- m(n, ['preview-cover', 'preview-delete'])
- )
- },
- y = () => {
- if (e.previewImage) return e.modelValue.map(b)
- },
- w = (e) => o('clickUpload', e),
- x = () => {
- if (e.modelValue.length >= +e.maxCount && !e.reupload) return
- const o = e.modelValue.length >= +e.maxCount && e.reupload,
- r = e.readonly
- ? null
- : t.createVNode(
- 'input',
- {
- ref: a,
- type: 'file',
- class: vp('input'),
- accept: e.accept,
- capture: e.capture,
- multiple: e.multiple && -1 === i.value,
- disabled: e.disabled,
- onChange: f
- },
- null
- )
- return n.default
- ? t.withDirectives(
- t.createVNode('div', { class: vp('input-wrapper'), onClick: w }, [
- n.default(),
- r
- ]),
- [[t.vShow, !o]]
- )
- : t.withDirectives(
- t.createVNode(
- 'div',
- {
- class: vp('upload', { readonly: e.readonly }),
- style: ue(e.previewSize),
- onClick: w
- },
- [
- t.createVNode(ht, { name: e.uploadIcon, class: vp('upload-icon') }, null),
- e.uploadText &&
- t.createVNode('span', { class: vp('upload-text') }, [e.uploadText]),
- r
- ]
- ),
- [[t.vShow, e.showUpload && !o]]
- )
- },
- V = () => {
- a.value && !e.disabled && a.value.click()
- }
- return (
- t.onBeforeUnmount(() => {
- l.forEach((e) => URL.revokeObjectURL(e))
- }),
- Qe({
- chooseFile: V,
- closeImagePreview: () => {
- h && h.close()
- }
- }),
- _(() => e.modelValue),
- () =>
- t.createVNode('div', { class: vp() }, [
- t.createVNode('div', { class: vp('wrapper', { disabled: e.disabled }) }, [y(), x()])
- ])
- )
- }
- })
- ),
- [kp, Cp] = Ie('watermark'),
- Sp = {
- gapX: x(0),
- gapY: x(0),
- image: String,
- width: x(100),
- height: x(100),
- rotate: V(-22),
- zIndex: g,
- content: String,
- opacity: g,
- fullPage: b,
- textColor: N('#dcdee0')
- }
- const Tp = We(
- t.defineComponent({
- name: kp,
- props: Sp,
- setup(e, { slots: o }) {
- const n = t.ref(),
- a = t.ref(''),
- r = t.ref(''),
- l = () => {
- const n = { transformOrigin: 'center', transform: `rotate(${e.rotate}deg)` },
- a = e.width + e.gapX,
- l = e.height + e.gapY
- return t.createVNode(
- 'svg',
- {
- viewBox: `0 0 ${a} ${l}`,
- width: a,
- height: l,
- xmlns: 'http://www.w3.org/2000/svg',
- 'xmlns:xlink': 'http://www.w3.org/1999/xlink',
- style: { padding: `0 ${e.gapX}px ${e.gapY}px 0`, opacity: e.opacity }
- },
- [
- e.image && !o.content
- ? t.createVNode(
- 'image',
- {
- href: r.value,
- 'xlink:href': r.value,
- x: '0',
- y: '0',
- width: e.width,
- height: e.height,
- style: n
- },
- null
- )
- : t.createVNode(
- 'foreignObject',
- { x: '0', y: '0', width: e.width, height: e.height },
- [
- t.createVNode('div', { xmlns: 'http://www.w3.org/1999/xhtml', style: n }, [
- o.content
- ? o.content()
- : t.createVNode('span', { style: { color: e.textColor } }, [e.content])
- ])
- ]
- )
- ]
- )
- }
- return (
- t.watchEffect(() => {
- e.image &&
- ((e) => {
- const t = document.createElement('canvas'),
- o = new Image()
- ;(o.crossOrigin = 'anonymous'),
- (o.referrerPolicy = 'no-referrer'),
- (o.onload = () => {
- ;(t.width = o.naturalWidth), (t.height = o.naturalHeight)
- const e = t.getContext('2d')
- null == e || e.drawImage(o, 0, 0), (r.value = t.toDataURL())
- }),
- (o.src = e)
- })(e.image)
- }),
- t.watch(
- () => [r.value, e.content, e.textColor, e.height, e.width, e.rotate, e.gapX, e.gapY],
- () => {
- t.nextTick(() => {
- n.value &&
- (a.value && URL.revokeObjectURL(a.value),
- (a.value = ((e) => {
- const t = new Blob([e], { type: 'image/svg+xml' })
- return URL.createObjectURL(t)
- })(n.value.innerHTML)))
- })
- },
- { immediate: !0 }
- ),
- t.onUnmounted(() => {
- a.value && URL.revokeObjectURL(a.value)
- }),
- () => {
- const o = d({ backgroundImage: `url(${a.value})` }, pe(e.zIndex))
- return t.createVNode('div', { class: Cp({ full: e.fullPage }), style: o }, [
- t.createVNode('div', { class: Cp('wrapper'), ref: n }, [l()])
- ])
- }
- )
- }
- })
- )
- class Bp {
- constructor({
- el: e,
- src: t,
- error: o,
- loading: n,
- bindType: a,
- $parent: r,
- options: l,
- cors: i,
- elRenderer: s,
- imageCache: c
- }) {
- ;(this.el = e),
- (this.src = t),
- (this.error = o),
- (this.loading = n),
- (this.bindType = a),
- (this.attempt = 0),
- (this.cors = i),
- (this.naturalHeight = 0),
- (this.naturalWidth = 0),
- (this.options = l),
- (this.$parent = r),
- (this.elRenderer = s),
- (this.imageCache = c),
- (this.performanceData = { loadStart: 0, loadEnd: 0 }),
- this.filter(),
- this.initState(),
- this.render('loading', !1)
- }
- initState() {
- 'dataset' in this.el
- ? (this.el.dataset.src = this.src)
- : this.el.setAttribute('data-src', this.src),
- (this.state = { loading: !1, error: !1, loaded: !1, rendered: !1 })
- }
- record(e) {
- this.performanceData[e] = Date.now()
- }
- update({ src: e, loading: t, error: o }) {
- const n = this.src
- ;(this.src = e),
- (this.loading = t),
- (this.error = o),
- this.filter(),
- n !== this.src && ((this.attempt = 0), this.initState())
- }
- checkInView() {
- const e = P(this.el)
- return (
- e.top < window.innerHeight * this.options.preLoad &&
- e.bottom > this.options.preLoadTop &&
- e.left < window.innerWidth * this.options.preLoad &&
- e.right > 0
- )
- }
- filter() {
- Object.keys(this.options.filter).forEach((e) => {
- this.options.filter[e](this, this.options)
- })
- }
- renderLoading(e) {
- ;(this.state.loading = !0),
- Ka(
- { src: this.loading, cors: this.cors },
- () => {
- this.render('loading', !1), (this.state.loading = !1), e()
- },
- () => {
- e(), (this.state.loading = !1)
- }
- )
- }
- load(e = c) {
- if (this.attempt > this.options.attempt - 1 && this.state.error) e()
- else if (!this.state.rendered || !this.state.loaded)
- return this.imageCache.has(this.src)
- ? ((this.state.loaded = !0), this.render('loaded', !0), (this.state.rendered = !0), e())
- : void this.renderLoading(() => {
- var t, o
- this.attempt++,
- null == (o = (t = this.options.adapter).beforeLoad) ||
- o.call(t, this, this.options),
- this.record('loadStart'),
- Ka(
- { src: this.src, cors: this.cors },
- (t) => {
- ;(this.naturalHeight = t.naturalHeight),
- (this.naturalWidth = t.naturalWidth),
- (this.state.loaded = !0),
- (this.state.error = !1),
- this.record('loadEnd'),
- this.render('loaded', !1),
- (this.state.rendered = !0),
- this.imageCache.add(this.src),
- e()
- },
- (e) => {
- !this.options.silent && console.error(e),
- (this.state.error = !0),
- (this.state.loaded = !1),
- this.render('error', !1)
- }
- )
- })
- }
- render(e, t) {
- this.elRenderer(this, e, t)
- }
- performance() {
- let e = 'loading',
- t = 0
- return (
- this.state.loaded &&
- ((e = 'loaded'),
- (t = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1e3)),
- this.state.error && (e = 'error'),
- { src: this.src, state: e, time: t }
- )
- }
- $destroy() {
- ;(this.el = null),
- (this.src = null),
- (this.error = null),
- (this.loading = null),
- (this.bindType = null),
- (this.attempt = 0)
- }
- }
- const Pp = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
- Dp = ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'],
- Op = { rootMargin: '0px', threshold: 0 }
- var Ip = (e) => ({
- props: { tag: { type: String, default: 'div' } },
- emits: ['show'],
- render() {
- return t.h(this.tag, this.show && this.$slots.default ? this.$slots.default() : null)
- },
- data: () => ({ el: null, state: { loaded: !1 }, show: !1 }),
- mounted() {
- ;(this.el = this.$el), e.addLazyBox(this), e.lazyLoadHandler()
- },
- beforeUnmount() {
- e.removeComponent(this)
- },
- methods: {
- checkInView() {
- const t = P(this.$el)
- return (
- k &&
- t.top < window.innerHeight * e.options.preLoad &&
- t.bottom > 0 &&
- t.left < window.innerWidth * e.options.preLoad &&
- t.right > 0
- )
- },
- load() {
- ;(this.show = !0), (this.state.loaded = !0), this.$emit('show', this)
- },
- destroy() {
- return this.$destroy
- }
- }
- })
- const Ap = { selector: 'img' }
- class zp {
- constructor({ el: e, binding: t, vnode: o, lazy: n }) {
- ;(this.el = null),
- (this.vnode = o),
- (this.binding = t),
- (this.options = {}),
- (this.lazy = n),
- (this.queue = []),
- this.update({ el: e, binding: t })
- }
- update({ el: e, binding: t }) {
- ;(this.el = e), (this.options = Object.assign({}, Ap, t.value))
- this.getImgs().forEach((e) => {
- this.lazy.add(
- e,
- Object.assign({}, this.binding, {
- value: {
- src: 'dataset' in e ? e.dataset.src : e.getAttribute('data-src'),
- error:
- ('dataset' in e ? e.dataset.error : e.getAttribute('data-error')) ||
- this.options.error,
- loading:
- ('dataset' in e ? e.dataset.loading : e.getAttribute('data-loading')) ||
- this.options.loading
- }
- }),
- this.vnode
- )
- })
- }
- getImgs() {
- return Array.from(this.el.querySelectorAll(this.options.selector))
- }
- clear() {
- this.getImgs().forEach((e) => this.lazy.remove(e)),
- (this.vnode = null),
- (this.binding = null),
- (this.lazy = null)
- }
- }
- class Ep {
- constructor({ lazy: e }) {
- ;(this.lazy = e), (this.queue = [])
- }
- bind(e, t, o) {
- const n = new zp({ el: e, binding: t, vnode: o, lazy: this.lazy })
- this.queue.push(n)
- }
- update(e, t, o) {
- const n = this.queue.find((t) => t.el === e)
- n && n.update({ el: e, binding: t, vnode: o })
- }
- unbind(e) {
- const t = this.queue.find((t) => t.el === e)
- t && (t.clear(), Wa(this.queue, t))
- }
- }
- var Lp = (e) => ({
- props: { src: [String, Object], tag: { type: String, default: 'img' } },
- render() {
- var e, o
- return t.h(
- this.tag,
- { src: this.renderSrc },
- null == (o = (e = this.$slots).default) ? void 0 : o.call(e)
- )
- },
- data: () => ({
- el: null,
- options: { src: '', error: '', loading: '', attempt: e.options.attempt },
- state: { loaded: !1, error: !1, attempt: 0 },
- renderSrc: ''
- }),
- watch: {
- src() {
- this.init(), e.addLazyBox(this), e.lazyLoadHandler()
- }
- },
- created() {
- this.init()
- },
- mounted() {
- ;(this.el = this.$el), e.addLazyBox(this), e.lazyLoadHandler()
- },
- beforeUnmount() {
- e.removeComponent(this)
- },
- methods: {
- init() {
- const { src: t, loading: o, error: n } = e.valueFormatter(this.src)
- ;(this.state.loaded = !1),
- (this.options.src = t),
- (this.options.error = n),
- (this.options.loading = o),
- (this.renderSrc = this.options.loading)
- },
- checkInView() {
- const t = P(this.$el)
- return (
- t.top < window.innerHeight * e.options.preLoad &&
- t.bottom > 0 &&
- t.left < window.innerWidth * e.options.preLoad &&
- t.right > 0
- )
- },
- load(e = c) {
- if (this.state.attempt > this.options.attempt - 1 && this.state.error) return void e()
- const { src: t } = this.options
- Ka(
- { src: t },
- ({ src: e }) => {
- ;(this.renderSrc = e), (this.state.loaded = !0)
- },
- () => {
- this.state.attempt++, (this.renderSrc = this.options.error), (this.state.error = !0)
- }
- )
- }
- }
- })
- const $p = {
- install(e, o = {}) {
- const n = class {
- constructor({
- preLoad: e,
- error: t,
- throttleWait: o,
- preLoadTop: n,
- dispatchEvent: a,
- loading: r,
- attempt: l,
- silent: i = !0,
- scale: s,
- listenEvents: c,
- filter: d,
- adapter: u,
- observer: p,
- observerOptions: m
- }) {
- ;(this.mode = Ha),
- (this.listeners = []),
- (this.targetIndex = 0),
- (this.targets = []),
- (this.options = {
- silent: i,
- dispatchEvent: !!a,
- throttleWait: o || 200,
- preLoad: e || 1.3,
- preLoadTop: n || 0,
- error: t || Pp,
- loading: r || Pp,
- attempt: l || 3,
- scale: s || Ya(s),
- ListenEvents: c || Dp,
- supportWebp: qa(),
- filter: d || {},
- adapter: u || {},
- observer: !!p,
- observerOptions: m || Op
- }),
- this.initEvent(),
- (this.imageCache = new _a({ max: 200 })),
- (this.lazyLoadHandler = Xa(
- this.lazyLoadHandler.bind(this),
- this.options.throttleWait
- )),
- this.setMode(this.options.observer ? ja : Ha)
- }
- config(e = {}) {
- Object.assign(this.options, e)
- }
- performance() {
- return this.listeners.map((e) => e.performance())
- }
- addLazyBox(e) {
- this.listeners.push(e),
- k &&
- (this.addListenerTarget(window),
- this.observer && this.observer.observe(e.el),
- e.$el && e.$el.parentNode && this.addListenerTarget(e.$el.parentNode))
- }
- add(e, o, n) {
- if (this.listeners.some((t) => t.el === e))
- return this.update(e, o), t.nextTick(this.lazyLoadHandler)
- const a = this.valueFormatter(o.value)
- let { src: r } = a
- t.nextTick(() => {
- ;(r = Ua(e, this.options.scale) || r), this.observer && this.observer.observe(e)
- const l = Object.keys(o.modifiers)[0]
- let i
- l && ((i = n.context.$refs[l]), (i = i ? i.$el || i : document.getElementById(l))),
- i || (i = G(e))
- const s = new Bp({
- bindType: o.arg,
- $parent: i,
- el: e,
- src: r,
- loading: a.loading,
- error: a.error,
- cors: a.cors,
- elRenderer: this.elRenderer.bind(this),
- options: this.options,
- imageCache: this.imageCache
- })
- this.listeners.push(s),
- k && (this.addListenerTarget(window), this.addListenerTarget(i)),
- this.lazyLoadHandler(),
- t.nextTick(() => this.lazyLoadHandler())
- })
- }
- update(e, o, n) {
- const a = this.valueFormatter(o.value)
- let { src: r } = a
- r = Ua(e, this.options.scale) || r
- const l = this.listeners.find((t) => t.el === e)
- l ? l.update({ src: r, error: a.error, loading: a.loading }) : this.add(e, o, n),
- this.observer && (this.observer.unobserve(e), this.observer.observe(e)),
- this.lazyLoadHandler(),
- t.nextTick(() => this.lazyLoadHandler())
- }
- remove(e) {
- if (!e) return
- this.observer && this.observer.unobserve(e)
- const t = this.listeners.find((t) => t.el === e)
- t &&
- (this.removeListenerTarget(t.$parent),
- this.removeListenerTarget(window),
- Wa(this.listeners, t),
- t.$destroy())
- }
- removeComponent(e) {
- e &&
- (Wa(this.listeners, e),
- this.observer && this.observer.unobserve(e.el),
- e.$parent && e.$el.parentNode && this.removeListenerTarget(e.$el.parentNode),
- this.removeListenerTarget(window))
- }
- setMode(e) {
- Fa || e !== ja || (e = Ha),
- (this.mode = e),
- e === Ha
- ? (this.observer &&
- (this.listeners.forEach((e) => {
- this.observer.unobserve(e.el)
- }),
- (this.observer = null)),
- this.targets.forEach((e) => {
- this.initListen(e.el, !0)
- }))
- : (this.targets.forEach((e) => {
- this.initListen(e.el, !1)
- }),
- this.initIntersectionObserver())
- }
- addListenerTarget(e) {
- if (!e) return
- let t = this.targets.find((t) => t.el === e)
- return (
- t
- ? t.childrenCount++
- : ((t = { el: e, id: ++this.targetIndex, childrenCount: 1, listened: !0 }),
- this.mode === Ha && this.initListen(t.el, !0),
- this.targets.push(t)),
- this.targetIndex
- )
- }
- removeListenerTarget(e) {
- this.targets.forEach((t, o) => {
- t.el === e &&
- (t.childrenCount--,
- t.childrenCount ||
- (this.initListen(t.el, !1), this.targets.splice(o, 1), (t = null)))
- })
- }
- initListen(e, t) {
- this.options.ListenEvents.forEach((o) => (t ? Ga : Za)(e, o, this.lazyLoadHandler))
- }
- initEvent() {
- ;(this.Event = { listeners: { loading: [], loaded: [], error: [] } }),
- (this.$on = (e, t) => {
- this.Event.listeners[e] || (this.Event.listeners[e] = []),
- this.Event.listeners[e].push(t)
- }),
- (this.$once = (e, t) => {
- const o = (...n) => {
- this.$off(e, o), t.apply(this, n)
- }
- this.$on(e, o)
- }),
- (this.$off = (e, t) => {
- if (t) Wa(this.Event.listeners[e], t)
- else {
- if (!this.Event.listeners[e]) return
- this.Event.listeners[e].length = 0
- }
- }),
- (this.$emit = (e, t, o) => {
- this.Event.listeners[e] && this.Event.listeners[e].forEach((e) => e(t, o))
- })
- }
- lazyLoadHandler() {
- const e = []
- this.listeners.forEach((t) => {
- ;(t.el && t.el.parentNode) || e.push(t), t.checkInView() && t.load()
- }),
- e.forEach((e) => {
- Wa(this.listeners, e), e.$destroy()
- })
- }
- initIntersectionObserver() {
- Fa &&
- ((this.observer = new IntersectionObserver(
- this.observerHandler.bind(this),
- this.options.observerOptions
- )),
- this.listeners.length &&
- this.listeners.forEach((e) => {
- this.observer.observe(e.el)
- }))
- }
- observerHandler(e) {
- e.forEach((e) => {
- e.isIntersecting &&
- this.listeners.forEach((t) => {
- if (t.el === e.target) {
- if (t.state.loaded) return this.observer.unobserve(t.el)
- t.load()
- }
- })
- })
- }
- elRenderer(e, t, o) {
- if (!e.el) return
- const { el: n, bindType: a } = e
- let r
- switch (t) {
- case 'loading':
- r = e.loading
- break
- case 'error':
- r = e.error
- break
- default:
- ;({ src: r } = e)
- }
- if (
- (a
- ? (n.style[a] = 'url("' + r + '")')
- : n.getAttribute('src') !== r && n.setAttribute('src', r),
- n.setAttribute('lazy', t),
- this.$emit(t, e, o),
- this.options.adapter[t] && this.options.adapter[t](e, this.options),
- this.options.dispatchEvent)
- ) {
- const o = new CustomEvent(t, { detail: e })
- n.dispatchEvent(o)
- }
- }
- valueFormatter(e) {
- let t = e,
- { loading: o, error: n } = this.options
- return (
- a(e) &&
- (({ src: t } = e),
- (o = e.loading || this.options.loading),
- (n = e.error || this.options.error)),
- { src: t, loading: o, error: n }
- )
- }
- },
- r = new n(o),
- l = new Ep({ lazy: r })
- ;(e.config.globalProperties.$Lazyload = r),
- o.lazyComponent && e.component('LazyComponent', Ip(r)),
- o.lazyImage && e.component('LazyImage', Lp(r)),
- e.directive('lazy', {
- beforeMount: r.add.bind(r),
- updated: r.update.bind(r),
- unmounted: r.remove.bind(r)
- }),
- e.directive('lazy-container', {
- beforeMount: l.bind.bind(l),
- updated: l.update.bind(l),
- unmounted: l.unbind.bind(l)
- })
- }
- },
- Mp = '4.4.0'
- function Rp(e) {
- ;[
- Je,
- Dt,
- zt,
- Qt,
- ha,
- Ra,
- vn,
- tr,
- lt,
- rr,
- St,
- Dr,
- Mr,
- Wr,
- wn,
- Xr,
- ol,
- nl,
- cl,
- bl,
- Nl,
- Bl,
- Pl,
- zl,
- Fl,
- Yl,
- Zl,
- ti,
- ii,
- hi,
- wi,
- Oi,
- Ei,
- Ui,
- Yi,
- ui,
- En,
- kn,
- Ki,
- es,
- ht,
- zr,
- ps,
- xs,
- Vs,
- Ts,
- Vt,
- Te,
- Os,
- Es,
- Us,
- Qs,
- Ut,
- rc,
- cc,
- un,
- dc,
- ad,
- Gt,
- sd,
- fd,
- Oa,
- xa,
- bd,
- yd,
- kd,
- Od,
- Ld,
- Fd,
- Yd,
- uu,
- eu,
- vu,
- lu,
- Zd,
- yu,
- ku,
- Iu,
- $u,
- Mu,
- Co,
- Wu,
- Do,
- Xu,
- Yo,
- la,
- Zo,
- Ju,
- op,
- Ko,
- Ca,
- lp,
- cp,
- oa,
- mp,
- Np,
- Tp
- ].forEach((t) => {
- t.install ? e.use(t) : t.name && e.component(t.name, t)
- })
- }
- var Fp = { install: Rp, version: Mp }
- ;(e.ActionBar = Je),
- (e.ActionBarButton = Dt),
- (e.ActionBarIcon = zt),
- (e.ActionSheet = Qt),
- (e.AddressEdit = ha),
- (e.AddressList = Ra),
- (e.Area = vn),
- (e.BackTop = tr),
- (e.Badge = lt),
- (e.Barrage = rr),
- (e.Button = St),
- (e.Calendar = Dr),
- (e.Card = Mr),
- (e.Cascader = Wr),
- (e.Cell = wn),
- (e.CellGroup = Xr),
- (e.Checkbox = ol),
- (e.CheckboxGroup = nl),
- (e.Circle = cl),
- (e.Col = bl),
- (e.Collapse = Nl),
- (e.CollapseItem = Bl),
- (e.ConfigProvider = Pl),
- (e.ContactCard = zl),
- (e.ContactEdit = Fl),
- (e.ContactList = Yl),
- (e.CountDown = Zl),
- (e.Coupon = ti),
- (e.CouponCell = ii),
- (e.CouponList = hi),
- (e.DEFAULT_ROW_WIDTH = ou),
- (e.DatePicker = wi),
- (e.Dialog = Oi),
- (e.Divider = Ei),
- (e.DropdownItem = Ui),
- (e.DropdownMenu = Yi),
- (e.Empty = ui),
- (e.Field = En),
- (e.Form = kn),
- (e.Grid = Ki),
- (e.GridItem = es),
- (e.Icon = ht),
- (e.Image = zr),
- (e.ImagePreview = ps),
- (e.IndexAnchor = xs),
- (e.IndexBar = Vs),
- (e.Lazyload = $p),
- (e.List = Ts),
- (e.Loading = Vt),
- (e.Locale = Te),
- (e.NavBar = Os),
- (e.NoticeBar = Es),
- (e.Notify = Us),
- (e.NumberKeyboard = Qs),
- (e.Overlay = Ut),
- (e.Pagination = rc),
- (e.PasswordInput = cc),
- (e.Picker = un),
- (e.PickerGroup = dc),
- (e.Popover = ad),
- (e.Popup = Gt),
- (e.Progress = sd),
- (e.PullRefresh = fd),
- (e.Radio = Oa),
- (e.RadioGroup = xa),
- (e.Rate = bd),
- (e.Row = yd),
- (e.Search = kd),
- (e.ShareSheet = Od),
- (e.Sidebar = Ld),
- (e.SidebarItem = Fd),
- (e.Signature = Yd),
- (e.Skeleton = uu),
- (e.SkeletonAvatar = eu),
- (e.SkeletonImage = vu),
- (e.SkeletonParagraph = lu),
- (e.SkeletonTitle = Zd),
- (e.Slider = yu),
- (e.Space = ku),
- (e.Step = Iu),
- (e.Stepper = $u),
- (e.Steps = Mu),
- (e.Sticky = Co),
- (e.SubmitBar = Wu),
- (e.Swipe = Do),
- (e.SwipeCell = Xu),
- (e.SwipeItem = Yo),
- (e.Switch = la),
- (e.Tab = Zo),
- (e.Tabbar = Ju),
- (e.TabbarItem = op),
- (e.Tabs = Ko),
- (e.Tag = Ca),
- (e.TextEllipsis = lp),
- (e.TimePicker = cp),
- (e.Toast = oa),
- (e.TreeSelect = mp),
- (e.Uploader = Np),
- (e.Watermark = Tp),
- (e.actionBarButtonProps = Pt),
- (e.actionBarIconProps = At),
- (e.actionBarProps = _e),
- (e.actionSheetProps = _t),
- (e.addressEditProps = va),
- (e.addressListProps = Ma),
- (e.allowMultipleToast = (e = !0) => {
- qn = e
- }),
- (e.areaProps = fn),
- (e.backTopProps = er),
- (e.badgeProps = rt),
- (e.barrageProps = or),
- (e.buttonProps = Ct),
- (e.calendarProps = Pr),
- (e.cardProps = $r),
- (e.cascaderProps = jr),
- (e.cellGroupProps = qr),
- (e.cellProps = yn),
- (e.checkboxGroupProps = Kr),
- (e.checkboxProps = tl),
- (e.circleProps = sl),
- (e.closeDialog = () => {
- Ti && Ti.toggle(!1)
- }),
- (e.closeNotify = Ws),
- (e.closeToast = (e) => {
- var t
- Yn.length &&
- (e
- ? (Yn.forEach((e) => {
- e.close()
- }),
- (Yn = []))
- : qn
- ? null == (t = Yn.shift()) || t.close()
- : Yn[0].close())
- }),
- (e.colProps = gl),
- (e.collapseItemProps = Tl),
- (e.collapseProps = Vl),
- (e.configProviderProps = ut),
- (e.contactCardProps = Al),
- (e.contactEditProps = Rl),
- (e.contactListProps = Ul),
- (e.countDownProps = Gl),
- (e.couponCellProps = ri),
- (e.couponListProps = vi),
- (e.datePickerProps = yi),
- (e.default = Fp),
- (e.dialogProps = ki),
- (e.dividerProps = zi),
- (e.dropdownItemProps = Wi),
- (e.dropdownMenuProps = Mi),
- (e.emptyProps = di),
- (e.fieldProps = zn),
- (e.formProps = Nn),
- (e.gridItemProps = Qi),
- (e.gridProps = Gi),
- (e.iconProps = vt),
- (e.imagePreviewProps = is),
- (e.imageProps = Ar),
- (e.indexAnchorProps = ws),
- (e.indexBarProps = vs),
- (e.install = Rp),
- (e.listProps = Ss),
- (e.loadingProps = xt),
- (e.navBarProps = Ds),
- (e.noticeBarProps = zs),
- (e.notifyProps = Ms),
- (e.numberKeyboardProps = Js),
- (e.overlayProps = Wt),
- (e.paginationProps = ac),
- (e.passwordInputProps = sc),
- (e.pickerGroupProps = en),
- (e.pickerProps = nn),
- (e.popoverProps = nd),
- (e.popupProps = Yt),
- (e.progressProps = id),
- (e.pullRefreshProps = md),
- (e.radioGroupProps = ya),
- (e.radioProps = Ba),
- (e.rateProps = gd),
- (e.resetDialogDefaultOptions = () => {
- Pi = d({}, Bi)
- }),
- (e.resetNotifyDefaultOptions = () => {
- js = {
- type: 'danger',
- color: void 0,
- message: '',
- onClose: void 0,
- onClick: void 0,
- onOpened: void 0,
- duration: 3e3,
- position: void 0,
- className: '',
- lockScroll: !1,
- background: void 0
- }
- }),
- (e.resetToastDefaultOptions = (e) => {
- 'string' == typeof e ? Gn.delete(e) : ((Xn = d({}, Un)), Gn.clear())
- }),
- (e.rowProps = ml),
- (e.searchProps = Nd),
- (e.setDialogDefaultOptions = (e) => {
- d(Pi, e)
- }),
- (e.setNotifyDefaultOptions = (e) => d(js, e)),
- (e.setToastDefaultOptions = function (e, t) {
- 'string' == typeof e ? Gn.set(e, t) : d(Xn, e)
- }),
- (e.shareSheetProps = Dd),
- (e.showConfirmDialog = (e) => Di(d({ showCancelButton: !0 }, e))),
- (e.showDialog = Di),
- (e.showFailToast = ta),
- (e.showImagePreview = us),
- (e.showLoadingToast = Qn),
- (e.showNotify = function (e) {
- var o
- if (u)
- return (
- Hs ||
- ({ instance: Hs } = Wn({
- setup() {
- const { state: e, toggle: o } = jn()
- return () => t.createVNode(Rs, t.mergeProps(e, { 'onUpdate:show': o }), null)
- }
- })),
- (e = d({}, js, a((o = e)) ? o : { message: o })),
- Hs.open(e),
- clearTimeout(Fs),
- e.duration > 0 && (Fs = setTimeout(Ws, e.duration)),
- Hs
- )
- }),
- (e.showSuccessToast = ea),
- (e.showToast = _n),
- (e.sidebarItemProps = Rd),
- (e.sidebarProps = Ed),
- (e.skeletonAvatarProps = Qd),
- (e.skeletonImageProps = fu),
- (e.skeletonParagraphProps = nu),
- (e.skeletonProps = du),
- (e.skeletonTitleProps = Gd),
- (e.sliderProps = bu),
- (e.spaceProps = Vu),
- (e.stepperProps = Lu),
- (e.stepsProps = Tu),
- (e.stickyProps = ko),
- (e.submitBarProps = ju),
- (e.swipeCellProps = qu),
- (e.swipeProps = Bo),
- (e.switchProps = ra),
- (e.tabProps = Go),
- (e.tabbarItemProps = tp),
- (e.tabbarProps = Ku),
- (e.tabsProps = Lo),
- (e.tagProps = ka),
- (e.textEllipsisProps = rp),
- (e.timePickerProps = sp),
- (e.toastProps = Fn),
- (e.treeSelectProps = pp),
- (e.uploaderProps = Vp),
- (e.useCurrentLang = () => Ce),
- (e.version = Mp),
- (e.watermarkProps = Sp),
- Object.defineProperties(e, {
- __esModule: { value: !0 },
- [Symbol.toStringTag]: { value: 'Module' }
- })
- })
|