fullcalendar.min.js 346 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383
  1. /*!
  2. FullCalendar v5.10.0
  3. Docs & License: https://fullcalendar.io/
  4. (c) 2021 Adam Shaw
  5. */
  6. var FullCalendar = function(e) {
  7. "use strict";
  8. var t = function(e, n) {
  9. return (t = Object.setPrototypeOf || {
  10. __proto__: []
  11. }
  12. instanceof Array && function(e, t) {
  13. e.__proto__ = t
  14. } || function(e, t) {
  15. for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n])
  16. })(e, n)
  17. };
  18. function n(e, n) {
  19. if ("function" != typeof n && null !== n) throw new TypeError("Class extends value " + String(n) + " is not a constructor or null");
  20. function r() {
  21. this.constructor = e
  22. }
  23. t(e, n), e.prototype = null === n ? Object.create(n) : (r.prototype = n.prototype, new r)
  24. }
  25. var r = function() {
  26. return (r = Object.assign || function(e) {
  27. for (var t, n = 1, r = arguments.length; n < r; n++)
  28. for (var o in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
  29. return e
  30. }).apply(this, arguments)
  31. };
  32. function o(e, t, n) {
  33. if (n || 2 === arguments.length)
  34. for (var r, o = 0, i = t.length; o < i; o++) !r && o in t || (r || (r = Array.prototype.slice.call(t, 0, o)), r[o] = t[o]);
  35. return e.concat(r || t)
  36. }
  37. var i, a, s, l, u, c = {},
  38. d = [],
  39. p = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord| itera/i;
  40. function f(e, t) {
  41. for (var n in t) e[n] = t[n];
  42. return e
  43. }
  44. function h(e) {
  45. var t = e.parentNode;
  46. t && t.removeChild(e)
  47. }
  48. function v(e, t, n) {
  49. var r, o, i, a = arguments,
  50. s = {};
  51. for (i in t) "key" == i ? r = t[i] : "ref" == i ? o = t[i] : s[i] = t[i];
  52. if (arguments.length > 3)
  53. for (n = [n], i = 3; i < arguments.length; i++) n.push(a[i]);
  54. if (null != n && (s.children = n), "function" == typeof e && null != e.defaultProps)
  55. for (i in e.defaultProps) void 0 === s[i] && (s[i] = e.defaultProps[i]);
  56. return g(e, s, r, o, null)
  57. }
  58. function g(e, t, n, r, o) {
  59. var a = {
  60. type: e,
  61. props: t,
  62. key: n,
  63. ref: r,
  64. __k: null,
  65. __: null,
  66. __b: 0,
  67. __e: null,
  68. __d: void 0,
  69. __c: null,
  70. __h: null,
  71. constructor: void 0,
  72. __v: null == o ? ++i.__v : o
  73. };
  74. return null != i.vnode && i.vnode(a), a
  75. }
  76. function m(e) {
  77. return e.children
  78. }
  79. function y(e, t) {
  80. this.props = e, this.context = t
  81. }
  82. function E(e, t) {
  83. if (null == t) return e.__ ? E(e.__, e.__.__k.indexOf(e) + 1) : null;
  84. for (var n; t < e.__k.length; t++)
  85. if (null != (n = e.__k[t]) && null != n.__e) return n.__e;
  86. return "function" == typeof e.type ? E(e) : null
  87. }
  88. function S(e) {
  89. var t, n;
  90. if (null != (e = e.__) && null != e.__c) {
  91. for (e.__e = e.__c.base = null, t = 0; t < e.__k.length; t++)
  92. if (null != (n = e.__k[t]) && null != n.__e) {
  93. e.__e = e.__c.base = n.__e;
  94. break
  95. }
  96. return S(e)
  97. }
  98. }
  99. function b(e) {
  100. (!e.__d && (e.__d = !0) && a.push(e) && !D.__r++ || l !== i.debounceRendering) && ((l = i.debounceRendering) || s)(D)
  101. }
  102. function D() {
  103. for (var e; D.__r = a.length;) e = a.sort((function(e, t) {
  104. return e.__v.__b - t.__v.__b
  105. })), a = [], e.some((function(e) {
  106. var t, n, r, o, i, a;
  107. e.__d && (i = (o = (t = e).__v).__e, (a = t.__P) && (n = [], (r = f({}, o)).__v = o.__v + 1, I(a, o, r, t.__n, void 0 !== a.ownerSVGElement, null != o.__h ? [i] : null, n, null == i ? E(o) : i, o.__h), P(n, o), o.__e != i && S(o)))
  108. }))
  109. }
  110. function C(e, t, n, r, o, i, a, s, l, u) {
  111. var p, f, h, v, y, S, b, D = r && r.__k || d,
  112. C = D.length;
  113. for (n.__k = [], p = 0; p < t.length; p++)
  114. if (null != (v = n.__k[p] = null == (v = t[p]) || "boolean" == typeof v ? null : "string" == typeof v || "number" == typeof v || "bigint" == typeof v ? g(null, v, null, null, v) : Array.isArray(v) ? g(m, {
  115. children: v
  116. }, null, null, null) : v.__b > 0 ? g(v.type, v.props, v.key, null, v.__v) : v)) {
  117. if (v.__ = n, v.__b = n.__b + 1, null === (h = D[p]) || h && v.key == h.key && v.type === h.type) D[p] = void 0;
  118. else
  119. for (f = 0; f < C; f++) {
  120. if ((h = D[f]) && v.key == h.key && v.type === h.type) {
  121. D[f] = void 0;
  122. break
  123. }
  124. h = null
  125. }
  126. I(e, v, h = h || c, o, i, a, s, l, u), y = v.__e, (f = v.ref) && h.ref != f && (b || (b = []), h.ref && b.push(h.ref, null, v), b.push(f, v.__c || y, v)), null != y ? (null == S && (S = y), "function" == typeof v.type && null != v.__k && v.__k === h.__k ? v.__d = l = w(v, l, e) : l = _(e, v, h, D, y, l), u || "option" !== n.type ? "function" == typeof n.type && (n.__d = l) : e.value = "") : l && h.__e == l && l.parentNode != e && (l = E(h))
  127. }
  128. for (n.__e = S, p = C; p--;) null != D[p] && ("function" == typeof n.type && null != D[p].__e && D[p].__e == n.__d && (n.__d = E(r, p + 1)), O(D[p], D[p]));
  129. if (b)
  130. for (p = 0; p < b.length; p++) H(b[p], b[++p], b[++p])
  131. }
  132. function w(e, t, n) {
  133. var r, o;
  134. for (r = 0; r < e.__k.length; r++)(o = e.__k[r]) && (o.__ = e, t = "function" == typeof o.type ? w(o, t, n) : _(n, o, o, e.__k, o.__e, t));
  135. return t
  136. }
  137. function R(e, t) {
  138. return t = t || [], null == e || "boolean" == typeof e || (Array.isArray(e) ? e.some((function(e) {
  139. R(e, t)
  140. })) : t.push(e)), t
  141. }
  142. function _(e, t, n, r, o, i) {
  143. var a, s, l;
  144. if (void 0 !== t.__d) a = t.__d, t.__d = void 0;
  145. else if (null == n || o != i || null == o.parentNode) e: if (null == i || i.parentNode !== e) e.appendChild(o), a = null;
  146. else {
  147. for (s = i, l = 0;
  148. (s = s.nextSibling) && l < r.length; l += 2)
  149. if (s == o) break e;
  150. e.insertBefore(o, i), a = i
  151. }
  152. return void 0 !== a ? a : o.nextSibling
  153. }
  154. function T(e, t, n) {
  155. "-" === t[0] ? e.setProperty(t, n) : e[t] = null == n ? "" : "number" != typeof n || p.test(t) ? n : n + "px"
  156. }
  157. function k(e, t, n, r, o) {
  158. var i;
  159. e: if ("style" === t)
  160. if ("string" == typeof n) e.style.cssText = n;
  161. else {
  162. if ("string" == typeof r && (e.style.cssText = r = ""), r)
  163. for (t in r) n && t in n || T(e.style, t, "");
  164. if (n)
  165. for (t in n) r && n[t] === r[t] || T(e.style, t, n[t])
  166. }
  167. else if ("o" === t[0] && "n" === t[1]) i = t !== (t = t.replace(/Capture$/, "")), t = t.toLowerCase() in e ? t.toLowerCase().slice(2) : t.slice(2), e.l || (e.l = {}), e.l[t + i] = n, n ? r || e.addEventListener(t, i ? M : x, i) : e.removeEventListener(t, i ? M : x, i);
  168. else if ("dangerouslySetInnerHTML" !== t) {
  169. if (o) t = t.replace(/xlink[H:h]/, "h").replace(/sName$/, "s");
  170. else if ("href" !== t && "list" !== t && "form" !== t && "tabIndex" !== t && "download" !== t && t in e) try {
  171. e[t] = null == n ? "" : n;
  172. break e
  173. } catch (e) {}
  174. "function" == typeof n || (null != n && (!1 !== n || "a" === t[0] && "r" === t[1]) ? e.setAttribute(t, n) : e.removeAttribute(t))
  175. }
  176. }
  177. function x(e) {
  178. this.l[e.type + !1](i.event ? i.event(e) : e)
  179. }
  180. function M(e) {
  181. this.l[e.type + !0](i.event ? i.event(e) : e)
  182. }
  183. function I(e, t, n, r, o, a, s, l, u) {
  184. var c, d, p, h, v, g, E, S, b, D, w, R = t.type;
  185. if (void 0 !== t.constructor) return null;
  186. null != n.__h && (u = n.__h, l = t.__e = n.__e, t.__h = null, a = [l]), (c = i.__b) && c(t);
  187. try {
  188. e: if ("function" == typeof R) {
  189. if (S = t.props, b = (c = R.contextType) && r[c.__c], D = c ? b ? b.props.value : c.__ : r, n.__c ? E = (d = t.__c = n.__c).__ = d.__E : ("prototype" in R && R.prototype.render ? t.__c = d = new R(S, D) : (t.__c = d = new y(S, D), d.constructor = R, d.render = A), b && b.sub(d), d.props = S, d.state || (d.state = {}), d.context = D, d.__n = r, p = d.__d = !0, d.__h = []), null == d.__s && (d.__s = d.state), null != R.getDerivedStateFromProps && (d.__s == d.state && (d.__s = f({}, d.__s)), f(d.__s, R.getDerivedStateFromProps(S, d.__s))), h = d.props, v = d.state, p) null == R.getDerivedStateFromProps && null != d.componentWillMount && d.componentWillMount(), null != d.componentDidMount && d.__h.push(d.componentDidMount);
  190. else {
  191. if (null == R.getDerivedStateFromProps && S !== h && null != d.componentWillReceiveProps && d.componentWillReceiveProps(S, D), !d.__e && null != d.shouldComponentUpdate && !1 === d.shouldComponentUpdate(S, d.__s, D) || t.__v === n.__v) {
  192. d.props = S, d.state = d.__s, t.__v !== n.__v && (d.__d = !1), d.__v = t, t.__e = n.__e, t.__k = n.__k, t.__k.forEach((function(e) {
  193. e && (e.__ = t)
  194. })), d.__h.length && s.push(d);
  195. break e
  196. }
  197. null != d.componentWillUpdate && d.componentWillUpdate(S, d.__s, D), null != d.componentDidUpdate && d.__h.push((function() {
  198. d.componentDidUpdate(h, v, g)
  199. }))
  200. }
  201. d.context = D, d.props = S, d.state = d.__s, (c = i.__r) && c(t), d.__d = !1, d.__v = t, d.__P = e, c = d.render(d.props, d.state, d.context), d.state = d.__s, null != d.getChildContext && (r = f(f({}, r), d.getChildContext())), p || null == d.getSnapshotBeforeUpdate || (g = d.getSnapshotBeforeUpdate(h, v)), w = null != c && c.type === m && null == c.key ? c.props.children : c, C(e, Array.isArray(w) ? w : [w], t, n, r, o, a, s, l, u), d.base = t.__e, t.__h = null, d.__h.length && s.push(d), E && (d.__E = d.__ = null), d.__e = !1
  202. } else null == a && t.__v === n.__v ? (t.__k = n.__k, t.__e = n.__e) : t.__e = N(n.__e, t, n, r, o, a, s, u);
  203. (c = i.diffed) && c(t)
  204. }
  205. catch (e) {
  206. t.__v = null, (u || null != a) && (t.__e = l, t.__h = !!u, a[a.indexOf(l)] = null), i.__e(e, t, n)
  207. }
  208. }
  209. function P(e, t) {
  210. i.__c && i.__c(t, e), e.some((function(t) {
  211. try {
  212. e = t.__h, t.__h = [], e.some((function(e) {
  213. e.call(t)
  214. }))
  215. } catch (e) {
  216. i.__e(e, t.__v)
  217. }
  218. }))
  219. }
  220. function N(e, t, n, r, o, i, a, s) {
  221. var l, u, p, f, v = n.props,
  222. g = t.props,
  223. m = t.type,
  224. y = 0;
  225. if ("svg" === m && (o = !0), null != i)
  226. for (; y < i.length; y++)
  227. if ((l = i[y]) && (l === e || (m ? l.localName == m : 3 == l.nodeType))) {
  228. e = l, i[y] = null;
  229. break
  230. }
  231. if (null == e) {
  232. if (null === m) return document.createTextNode(g);
  233. e = o ? document.createElementNS("http://www.w3.org/2000/svg", m) : document.createElement(m, g.is && g), i = null, s = !1
  234. }
  235. if (null === m) v === g || s && e.data === g || (e.data = g);
  236. else {
  237. if (i = i && d.slice.call(e.childNodes), u = (v = n.props || c).dangerouslySetInnerHTML, p = g.dangerouslySetInnerHTML, !s) {
  238. if (null != i)
  239. for (v = {}, f = 0; f < e.attributes.length; f++) v[e.attributes[f].name] = e.attributes[f].value;
  240. (p || u) && (p && (u && p.__html == u.__html || p.__html === e.innerHTML) || (e.innerHTML = p && p.__html || ""))
  241. }
  242. if (function(e, t, n, r, o) {
  243. var i;
  244. for (i in n) "children" === i || "key" === i || i in t || k(e, i, null, n[i], r);
  245. for (i in t) o && "function" != typeof t[i] || "children" === i || "key" === i || "value" === i || "checked" === i || n[i] === t[i] || k(e, i, t[i], n[i], r)
  246. }(e, g, v, o, s), p) t.__k = [];
  247. else if (y = t.props.children, C(e, Array.isArray(y) ? y : [y], t, n, r, o && "foreignObject" !== m, i, a, e.firstChild, s), null != i)
  248. for (y = i.length; y--;) null != i[y] && h(i[y]);
  249. s || ("value" in g && void 0 !== (y = g.value) && (y !== e.value || "progress" === m && !y) && k(e, "value", y, v.value, !1), "checked" in g && void 0 !== (y = g.checked) && y !== e.checked && k(e, "checked", y, v.checked, !1))
  250. }
  251. return e
  252. }
  253. function H(e, t, n) {
  254. try {
  255. "function" == typeof e ? e(t) : e.current = t
  256. } catch (e) {
  257. i.__e(e, n)
  258. }
  259. }
  260. function O(e, t, n) {
  261. var r, o, a;
  262. if (i.unmount && i.unmount(e), (r = e.ref) && (r.current && r.current !== e.__e || H(r, null, t)), n || "function" == typeof e.type || (n = null != (o = e.__e)), e.__e = e.__d = void 0, null != (r = e.__c)) {
  263. if (r.componentWillUnmount) try {
  264. r.componentWillUnmount()
  265. } catch (e) {
  266. i.__e(e, t)
  267. }
  268. r.base = r.__P = null
  269. }
  270. if (r = e.__k)
  271. for (a = 0; a < r.length; a++) r[a] && O(r[a], t, n);
  272. null != o && h(o)
  273. }
  274. function A(e, t, n) {
  275. return this.constructor(e, n)
  276. }
  277. function L(e, t, n) {
  278. var r, o, a;
  279. i.__ && i.__(e, t), o = (r = "function" == typeof n) ? null : n && n.__k || t.__k, a = [], I(t, e = (!r && n || t).__k = v(m, null, [e]), o || c, c, void 0 !== t.ownerSVGElement, !r && n ? [n] : o ? null : t.firstChild ? d.slice.call(t.childNodes) : null, a, !r && n ? n : o ? o.__e : t.firstChild, r), P(a, e)
  280. }
  281. i = {
  282. __e: function(e, t) {
  283. for (var n, r, o; t = t.__;)
  284. if ((n = t.__c) && !n.__) try {
  285. if ((r = n.constructor) && null != r.getDerivedStateFromError && (n.setState(r.getDerivedStateFromError(e)), o = n.__d), null != n.componentDidCatch && (n.componentDidCatch(e), o = n.__d), o) return n.__E = n
  286. } catch (t) {
  287. e = t
  288. }
  289. throw e
  290. },
  291. __v: 0
  292. }, y.prototype.setState = function(e, t) {
  293. var n;
  294. n = null != this.__s && this.__s !== this.state ? this.__s : this.__s = f({}, this.state), "function" == typeof e && (e = e(f({}, n), this.props)), e && f(n, e), null != e && this.__v && (t && this.__h.push(t), b(this))
  295. }, y.prototype.forceUpdate = function(e) {
  296. this.__v && (this.__e = !0, e && this.__h.push(e), b(this))
  297. }, y.prototype.render = m, a = [], s = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, D.__r = 0, u = 0;
  298. var U, W = [],
  299. V = i.__b,
  300. F = i.__r,
  301. B = i.diffed,
  302. z = i.__c,
  303. j = i.unmount;
  304. function G() {
  305. W.forEach((function(e) {
  306. if (e.__P) try {
  307. e.__H.__h.forEach(Y), e.__H.__h.forEach(Z), e.__H.__h = []
  308. } catch (t) {
  309. e.__H.__h = [], i.__e(t, e.__v)
  310. }
  311. })), W = []
  312. }
  313. i.__b = function(e) {
  314. V && V(e)
  315. }, i.__r = function(e) {
  316. F && F(e);
  317. var t = e.__c.__H;
  318. t && (t.__h.forEach(Y), t.__h.forEach(Z), t.__h = [])
  319. }, i.diffed = function(e) {
  320. B && B(e);
  321. var t = e.__c;
  322. t && t.__H && t.__H.__h.length && (1 !== W.push(t) && U === i.requestAnimationFrame || ((U = i.requestAnimationFrame) || function(e) {
  323. var t, n = function() {
  324. clearTimeout(r), q && cancelAnimationFrame(t), setTimeout(e)
  325. },
  326. r = setTimeout(n, 100);
  327. q && (t = requestAnimationFrame(n))
  328. })(G))
  329. }, i.__c = function(e, t) {
  330. t.some((function(e) {
  331. try {
  332. e.__h.forEach(Y), e.__h = e.__h.filter((function(e) {
  333. return !e.__ || Z(e)
  334. }))
  335. } catch (n) {
  336. t.some((function(e) {
  337. e.__h && (e.__h = [])
  338. })), t = [], i.__e(n, e.__v)
  339. }
  340. })), z && z(e, t)
  341. }, i.unmount = function(e) {
  342. j && j(e);
  343. var t = e.__c;
  344. if (t && t.__H) try {
  345. t.__H.__.forEach(Y)
  346. } catch (e) {
  347. i.__e(e, t.__v)
  348. }
  349. };
  350. var q = "function" == typeof requestAnimationFrame;
  351. function Y(e) {
  352. "function" == typeof e.__c && e.__c()
  353. }
  354. function Z(e) {
  355. e.__c = e.__()
  356. }
  357. function X(e, t) {
  358. for (var n in e)
  359. if ("__source" !== n && !(n in t)) return !0;
  360. for (var r in t)
  361. if ("__source" !== r && e[r] !== t[r]) return !0;
  362. return !1
  363. }
  364. function K(e) {
  365. this.props = e
  366. }(K.prototype = new y).isPureReactComponent = !0, K.prototype.shouldComponentUpdate = function(e, t) {
  367. return X(this.props, e) || X(this.state, t)
  368. };
  369. var $ = i.__b;
  370. i.__b = function(e) {
  371. e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), $ && $(e)
  372. };
  373. var J = i.__e;
  374. i.__e = function(e, t, n) {
  375. if (e.then)
  376. for (var r, o = t; o = o.__;)
  377. if ((r = o.__c) && r.__c) return null == t.__e && (t.__e = n.__e, t.__k = n.__k), r.__c(e, t);
  378. J(e, t, n)
  379. };
  380. var Q = i.unmount;
  381. function ee() {
  382. this.__u = 0, this.t = null, this.__b = null
  383. }
  384. function te(e) {
  385. var t = e.__.__c;
  386. return t && t.__e && t.__e(e)
  387. }
  388. function ne() {
  389. this.u = null, this.o = null
  390. }
  391. i.unmount = function(e) {
  392. var t = e.__c;
  393. t && t.__R && t.__R(), t && !0 === e.__h && (e.type = null), Q && Q(e)
  394. }, (ee.prototype = new y).__c = function(e, t) {
  395. var n = t.__c,
  396. r = this;
  397. null == r.t && (r.t = []), r.t.push(n);
  398. var o = te(r.__v),
  399. i = !1,
  400. a = function() {
  401. i || (i = !0, n.__R = null, o ? o(s) : s())
  402. };
  403. n.__R = a;
  404. var s = function() {
  405. if (!--r.__u) {
  406. if (r.state.__e) {
  407. var e = r.state.__e;
  408. r.__v.__k[0] = function e(t, n, r) {
  409. return t && (t.__v = null, t.__k = t.__k && t.__k.map((function(t) {
  410. return e(t, n, r)
  411. })), t.__c && t.__c.__P === n && (t.__e && r.insertBefore(t.__e, t.__d), t.__c.__e = !0, t.__c.__P = r)), t
  412. }(e, e.__c.__P, e.__c.__O)
  413. }
  414. var t;
  415. for (r.setState({
  416. __e: r.__b = null
  417. }); t = r.t.pop();) t.forceUpdate()
  418. }
  419. },
  420. l = !0 === t.__h;
  421. r.__u++ || l || r.setState({
  422. __e: r.__b = r.__v.__k[0]
  423. }), e.then(a, a)
  424. }, ee.prototype.componentWillUnmount = function() {
  425. this.t = []
  426. }, ee.prototype.render = function(e, t) {
  427. if (this.__b) {
  428. if (this.__v.__k) {
  429. var n = document.createElement("div"),
  430. r = this.__v.__k[0].__c;
  431. this.__v.__k[0] = function e(t, n, r) {
  432. return t && (t.__c && t.__c.__H && (t.__c.__H.__.forEach((function(e) {
  433. "function" == typeof e.__c && e.__c()
  434. })), t.__c.__H = null), null != (t = function(e, t) {
  435. for (var n in t) e[n] = t[n];
  436. return e
  437. }({}, t)).__c && (t.__c.__P === r && (t.__c.__P = n), t.__c = null), t.__k = t.__k && t.__k.map((function(t) {
  438. return e(t, n, r)
  439. }))), t
  440. }(this.__b, n, r.__O = r.__P)
  441. }
  442. this.__b = null
  443. }
  444. var o = t.__e && v(m, null, e.fallback);
  445. return o && (o.__h = null), [v(m, null, t.__e ? null : e.children), o]
  446. };
  447. var re = function(e, t, n) {
  448. if (++n[1] === n[0] && e.o.delete(t), e.props.revealOrder && ("t" !== e.props.revealOrder[0] || !e.o.size))
  449. for (n = e.u; n;) {
  450. for (; n.length > 3;) n.pop()();
  451. if (n[1] < n[0]) break;
  452. e.u = n = n[2]
  453. }
  454. };
  455. function oe(e) {
  456. return this.getChildContext = function() {
  457. return e.context
  458. }, e.children
  459. }
  460. function ie(e) {
  461. var t = this,
  462. n = e.i;
  463. t.componentWillUnmount = function() {
  464. L(null, t.l), t.l = null, t.i = null
  465. }, t.i && t.i !== n && t.componentWillUnmount(), e.__v ? (t.l || (t.i = n, t.l = {
  466. nodeType: 1,
  467. parentNode: n,
  468. childNodes: [],
  469. appendChild: function(e) {
  470. this.childNodes.push(e), t.i.appendChild(e)
  471. },
  472. insertBefore: function(e, n) {
  473. this.childNodes.push(e), t.i.appendChild(e)
  474. },
  475. removeChild: function(e) {
  476. this.childNodes.splice(this.childNodes.indexOf(e) >>> 1, 1), t.i.removeChild(e)
  477. }
  478. }), L(v(oe, {
  479. context: t.context
  480. }, e.__v), t.l)) : t.l && t.componentWillUnmount()
  481. }(ne.prototype = new y).__e = function(e) {
  482. var t = this,
  483. n = te(t.__v),
  484. r = t.o.get(e);
  485. return r[0]++,
  486. function(o) {
  487. var i = function() {
  488. t.props.revealOrder ? (r.push(o), re(t, e, r)) : o()
  489. };
  490. n ? n(i) : i()
  491. }
  492. }, ne.prototype.render = function(e) {
  493. this.u = null, this.o = new Map;
  494. var t = R(e.children);
  495. e.revealOrder && "b" === e.revealOrder[0] && t.reverse();
  496. for (var n = t.length; n--;) this.o.set(t[n], this.u = [1, 0, this.u]);
  497. return e.children
  498. }, ne.prototype.componentDidUpdate = ne.prototype.componentDidMount = function() {
  499. var e = this;
  500. this.o.forEach((function(t, n) {
  501. re(e, n, t)
  502. }))
  503. };
  504. var ae = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103,
  505. se = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,
  506. le = function(e) {
  507. return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/i : /fil|che|ra/i).test(e)
  508. };
  509. y.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach((function(e) {
  510. Object.defineProperty(y.prototype, e, {
  511. configurable: !0,
  512. get: function() {
  513. return this["UNSAFE_" + e]
  514. },
  515. set: function(t) {
  516. Object.defineProperty(this, e, {
  517. configurable: !0,
  518. writable: !0,
  519. value: t
  520. })
  521. }
  522. })
  523. }));
  524. var ue = i.event;
  525. function ce() {}
  526. function de() {
  527. return this.cancelBubble
  528. }
  529. function pe() {
  530. return this.defaultPrevented
  531. }
  532. i.event = function(e) {
  533. return ue && (e = ue(e)), e.persist = ce, e.isPropagationStopped = de, e.isDefaultPrevented = pe, e.nativeEvent = e
  534. };
  535. var fe = {
  536. configurable: !0,
  537. get: function() {
  538. return this.class
  539. }
  540. },
  541. he = i.vnode;
  542. i.vnode = function(e) {
  543. var t = e.type,
  544. n = e.props,
  545. r = n;
  546. if ("string" == typeof t) {
  547. for (var o in r = {}, n) {
  548. var i = n[o];
  549. "value" === o && "defaultValue" in n && null == i || ("defaultValue" === o && "value" in n && null == n.value ? o = "value" : "download" === o && !0 === i ? i = "" : /ondoubleclick/i.test(o) ? o = "ondblclick" : /^onchange(textarea|input)/i.test(o + t) && !le(n.type) ? o = "oninput" : /^on(Ani|Tra|Tou|BeforeInp)/.test(o) ? o = o.toLowerCase() : se.test(o) ? o = o.replace(/[A-Z0-9]/, "-$&").toLowerCase() : null === i && (i = void 0), r[o] = i)
  550. }
  551. "select" == t && r.multiple && Array.isArray(r.value) && (r.value = R(n.children).forEach((function(e) {
  552. e.props.selected = -1 != r.value.indexOf(e.props.value)
  553. }))), "select" == t && null != r.defaultValue && (r.value = R(n.children).forEach((function(e) {
  554. e.props.selected = r.multiple ? -1 != r.defaultValue.indexOf(e.props.value) : r.defaultValue == e.props.value
  555. }))), e.props = r
  556. }
  557. t && n.class != n.className && (fe.enumerable = "className" in n, null != n.className && (r.class = n.className), Object.defineProperty(r, "className", fe)), e.$$typeof = ae, he && he(e)
  558. };
  559. var ve = i.__r;
  560. i.__r = function(e) {
  561. ve && ve(e)
  562. }, "object" == typeof performance && "function" == typeof performance.now && performance.now.bind(performance);
  563. var ge = "undefined" != typeof globalThis ? globalThis : window;
  564. ge.FullCalendarVDom ? console.warn("FullCalendar VDOM already loaded") : ge.FullCalendarVDom = {
  565. Component: y,
  566. createElement: v,
  567. render: L,
  568. createRef: function() {
  569. return {
  570. current: null
  571. }
  572. },
  573. Fragment: m,
  574. createContext: function(e) {
  575. var t = function(e, t) {
  576. var n = {
  577. __c: t = "__cC" + u++,
  578. __: e,
  579. Consumer: function(e, t) {
  580. return e.children(t)
  581. },
  582. Provider: function(e) {
  583. var n, r;
  584. return this.getChildContext || (n = [], (r = {})[t] = this, this.getChildContext = function() {
  585. return r
  586. }, this.shouldComponentUpdate = function(e) {
  587. this.props.value !== e.value && n.some(b)
  588. }, this.sub = function(e) {
  589. n.push(e);
  590. var t = e.componentWillUnmount;
  591. e.componentWillUnmount = function() {
  592. n.splice(n.indexOf(e), 1), t && t.call(e)
  593. }
  594. }), e.children
  595. }
  596. };
  597. return n.Provider.__ = n.Consumer.contextType = n
  598. }(e),
  599. n = t.Provider;
  600. return t.Provider = function() {
  601. var e = this,
  602. t = !this.getChildContext,
  603. r = n.apply(this, arguments);
  604. if (t) {
  605. var o = [];
  606. this.shouldComponentUpdate = function(t) {
  607. e.props.value !== t.value && o.forEach((function(e) {
  608. e.context = t.value, e.forceUpdate()
  609. }))
  610. }, this.sub = function(e) {
  611. o.push(e);
  612. var t = e.componentWillUnmount;
  613. e.componentWillUnmount = function() {
  614. o.splice(o.indexOf(e), 1), t && t.call(e)
  615. }
  616. }
  617. }
  618. return r
  619. }, t
  620. },
  621. createPortal: function(e, t) {
  622. return v(ie, {
  623. __v: e,
  624. i: t
  625. })
  626. },
  627. flushToDom: function() {
  628. var e = i.debounceRendering,
  629. t = [];
  630. function n(e) {
  631. t.push(e)
  632. }
  633. i.debounceRendering = n, L(v(me, {}), document.createElement("div"));
  634. for (; t.length;) t.shift()();
  635. i.debounceRendering = e
  636. },
  637. unmountComponentAtNode: function(e) {
  638. L(null, e)
  639. }
  640. };
  641. var me = function(e) {
  642. function t() {
  643. return null !== e && e.apply(this, arguments) || this
  644. }
  645. return n(t, e), t.prototype.render = function() {
  646. return v("div", {})
  647. }, t.prototype.componentDidMount = function() {
  648. this.setState({})
  649. }, t
  650. }(y);
  651. var ye = function() {
  652. function e(e, t) {
  653. this.context = e, this.internalEventSource = t
  654. }
  655. return e.prototype.remove = function() {
  656. this.context.dispatch({
  657. type: "REMOVE_EVENT_SOURCE",
  658. sourceId: this.internalEventSource.sourceId
  659. })
  660. }, e.prototype.refetch = function() {
  661. this.context.dispatch({
  662. type: "FETCH_EVENT_SOURCES",
  663. sourceIds: [this.internalEventSource.sourceId],
  664. isRefetch: !0
  665. })
  666. }, Object.defineProperty(e.prototype, "id", {
  667. get: function() {
  668. return this.internalEventSource.publicId
  669. },
  670. enumerable: !1,
  671. configurable: !0
  672. }), Object.defineProperty(e.prototype, "url", {
  673. get: function() {
  674. return this.internalEventSource.meta.url
  675. },
  676. enumerable: !1,
  677. configurable: !0
  678. }), Object.defineProperty(e.prototype, "format", {
  679. get: function() {
  680. return this.internalEventSource.meta.format
  681. },
  682. enumerable: !1,
  683. configurable: !0
  684. }), e
  685. }();
  686. function Ee(e) {
  687. e.parentNode && e.parentNode.removeChild(e)
  688. }
  689. function Se(e, t) {
  690. if (e.closest) return e.closest(t);
  691. if (!document.documentElement.contains(e)) return null;
  692. do {
  693. if (be(e, t)) return e;
  694. e = e.parentElement || e.parentNode
  695. } while (null !== e && 1 === e.nodeType);
  696. return null
  697. }
  698. function be(e, t) {
  699. return (e.matches || e.matchesSelector || e.msMatchesSelector).call(e, t)
  700. }
  701. function De(e, t) {
  702. for (var n = e instanceof HTMLElement ? [e] : e, r = [], o = 0; o < n.length; o += 1)
  703. for (var i = n[o].querySelectorAll(t), a = 0; a < i.length; a += 1) r.push(i[a]);
  704. return r
  705. }
  706. var Ce = /(top|left|right|bottom|width|height)$/i;
  707. function we(e, t) {
  708. for (var n in t) Re(e, n, t[n])
  709. }
  710. function Re(e, t, n) {
  711. null == n ? e.style[t] = "" : "number" == typeof n && Ce.test(t) ? e.style[t] = n + "px" : e.style[t] = n
  712. }
  713. function _e(e) {
  714. var t, n;
  715. return null !== (n = null === (t = e.composedPath) || void 0 === t ? void 0 : t.call(e)[0]) && void 0 !== n ? n : e.target
  716. }
  717. function Te(e) {
  718. return e.getRootNode ? e.getRootNode() : document
  719. }
  720. var ke = 0;
  721. function xe() {
  722. return "fc-dom-" + (ke += 1)
  723. }
  724. function Me(e) {
  725. e.preventDefault()
  726. }
  727. function Ie(e, t, n, r) {
  728. var o = function(e, t) {
  729. return function(n) {
  730. var r = Se(n.target, e);
  731. r && t.call(r, n, r)
  732. }
  733. }(n, r);
  734. return e.addEventListener(t, o),
  735. function() {
  736. e.removeEventListener(t, o)
  737. }
  738. }
  739. var Pe = ["webkitTransitionEnd", "otransitionend", "oTransitionEnd", "msTransitionEnd", "transitionend"];
  740. function Ne(e, t) {
  741. var n = function(r) {
  742. t(r), Pe.forEach((function(t) {
  743. e.removeEventListener(t, n)
  744. }))
  745. };
  746. Pe.forEach((function(t) {
  747. e.addEventListener(t, n)
  748. }))
  749. }
  750. function He(e) {
  751. return r({
  752. onClick: e
  753. }, Oe(e))
  754. }
  755. function Oe(e) {
  756. return {
  757. tabIndex: 0,
  758. onKeyDown: function(t) {
  759. "Enter" !== t.key && " " !== t.key || (e(t), t.preventDefault())
  760. }
  761. }
  762. }
  763. var Ae = 0;
  764. function Le() {
  765. return String(Ae += 1)
  766. }
  767. function Ue() {
  768. document.body.classList.add("fc-not-allowed")
  769. }
  770. function We() {
  771. document.body.classList.remove("fc-not-allowed")
  772. }
  773. function Ve(e) {
  774. e.classList.add("fc-unselectable"), e.addEventListener("selectstart", Me)
  775. }
  776. function Fe(e) {
  777. e.classList.remove("fc-unselectable"), e.removeEventListener("selectstart", Me)
  778. }
  779. function Be(e) {
  780. e.addEventListener("contextmenu", Me)
  781. }
  782. function ze(e) {
  783. e.removeEventListener("contextmenu", Me)
  784. }
  785. function je(e) {
  786. var t, n, r = [],
  787. o = [];
  788. for ("string" == typeof e ? o = e.split(/\s*,\s*/) : "function" == typeof e ? o = [e] : Array.isArray(e) && (o = e), t = 0; t < o.length; t += 1) "string" == typeof(n = o[t]) ? r.push("-" === n.charAt(0) ? {
  789. field: n.substring(1),
  790. order: -1
  791. } : {
  792. field: n,
  793. order: 1
  794. }) : "function" == typeof n && r.push({
  795. func: n
  796. });
  797. return r
  798. }
  799. function Ge(e, t, n) {
  800. var r, o;
  801. for (r = 0; r < n.length; r += 1)
  802. if (o = qe(e, t, n[r])) return o;
  803. return 0
  804. }
  805. function qe(e, t, n) {
  806. return n.func ? n.func(e, t) : Ye(e[n.field], t[n.field]) * (n.order || 1)
  807. }
  808. function Ye(e, t) {
  809. return e || t ? null == t ? -1 : null == e ? 1 : "string" == typeof e || "string" == typeof t ? String(e).localeCompare(String(t)) : e - t : 0
  810. }
  811. function Ze(e, t) {
  812. var n = String(e);
  813. return "000".substr(0, t - n.length) + n
  814. }
  815. function Xe(e, t, n) {
  816. return "function" == typeof e ? e.apply(void 0, t) : "string" == typeof e ? t.reduce((function(e, t, n) {
  817. return e.replace("$" + n, t || "")
  818. }), e) : n
  819. }
  820. function Ke(e, t) {
  821. return e - t
  822. }
  823. function $e(e) {
  824. return e % 1 == 0
  825. }
  826. function Je(e) {
  827. var t = e.querySelector(".fc-scrollgrid-shrink-frame"),
  828. n = e.querySelector(".fc-scrollgrid-shrink-cushion");
  829. if (!t) throw new Error("needs fc-scrollgrid-shrink-frame className");
  830. if (!n) throw new Error("needs fc-scrollgrid-shrink-cushion className");
  831. return e.getBoundingClientRect().width - t.getBoundingClientRect().width + n.getBoundingClientRect().width
  832. }
  833. var Qe = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
  834. function et(e, t) {
  835. var n = ft(e);
  836. return n[2] += 7 * t, ht(n)
  837. }
  838. function tt(e, t) {
  839. var n = ft(e);
  840. return n[2] += t, ht(n)
  841. }
  842. function nt(e, t) {
  843. var n = ft(e);
  844. return n[6] += t, ht(n)
  845. }
  846. function rt(e, t) {
  847. return ot(e, t) / 7
  848. }
  849. function ot(e, t) {
  850. return (t.valueOf() - e.valueOf()) / 864e5
  851. }
  852. function it(e, t) {
  853. var n = lt(e),
  854. r = lt(t);
  855. return {
  856. years: 0,
  857. months: 0,
  858. days: Math.round(ot(n, r)),
  859. milliseconds: t.valueOf() - r.valueOf() - (e.valueOf() - n.valueOf())
  860. }
  861. }
  862. function at(e, t) {
  863. var n = st(e, t);
  864. return null !== n && n % 7 == 0 ? n / 7 : null
  865. }
  866. function st(e, t) {
  867. return gt(e) === gt(t) ? Math.round(ot(e, t)) : null
  868. }
  869. function lt(e) {
  870. return ht([e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()])
  871. }
  872. function ut(e, t, n, r) {
  873. var o = ht([t, 0, 1 + ct(t, n, r)]),
  874. i = lt(e),
  875. a = Math.round(ot(o, i));
  876. return Math.floor(a / 7) + 1
  877. }
  878. function ct(e, t, n) {
  879. var r = 7 + t - n;
  880. return -((7 + ht([e, 0, r]).getUTCDay() - t) % 7) + r - 1
  881. }
  882. function dt(e) {
  883. return [e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()]
  884. }
  885. function pt(e) {
  886. return new Date(e[0], e[1] || 0, null == e[2] ? 1 : e[2], e[3] || 0, e[4] || 0, e[5] || 0)
  887. }
  888. function ft(e) {
  889. return [e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate(), e.getUTCHours(), e.getUTCMinutes(), e.getUTCSeconds(), e.getUTCMilliseconds()]
  890. }
  891. function ht(e) {
  892. return 1 === e.length && (e = e.concat([0])), new Date(Date.UTC.apply(Date, e))
  893. }
  894. function vt(e) {
  895. return !isNaN(e.valueOf())
  896. }
  897. function gt(e) {
  898. return 1e3 * e.getUTCHours() * 60 * 60 + 1e3 * e.getUTCMinutes() * 60 + 1e3 * e.getUTCSeconds() + e.getUTCMilliseconds()
  899. }
  900. function mt(e, t, n, r) {
  901. return {
  902. instanceId: Le(),
  903. defId: e,
  904. range: t,
  905. forcedStartTzo: null == n ? null : n,
  906. forcedEndTzo: null == r ? null : r
  907. }
  908. }
  909. var yt = Object.prototype.hasOwnProperty;
  910. function Et(e, t) {
  911. var n = {};
  912. if (t)
  913. for (var r in t) {
  914. for (var o = [], i = e.length - 1; i >= 0; i -= 1) {
  915. var a = e[i][r];
  916. if ("object" == typeof a && a) o.unshift(a);
  917. else if (void 0 !== a) {
  918. n[r] = a;
  919. break
  920. }
  921. }
  922. o.length && (n[r] = Et(o))
  923. }
  924. for (i = e.length - 1; i >= 0; i -= 1) {
  925. var s = e[i];
  926. for (var l in s) l in n || (n[l] = s[l])
  927. }
  928. return n
  929. }
  930. function St(e, t) {
  931. var n = {};
  932. for (var r in e) t(e[r], r) && (n[r] = e[r]);
  933. return n
  934. }
  935. function bt(e, t) {
  936. var n = {};
  937. for (var r in e) n[r] = t(e[r], r);
  938. return n
  939. }
  940. function Dt(e) {
  941. for (var t = {}, n = 0, r = e; n < r.length; n++) {
  942. t[r[n]] = !0
  943. }
  944. return t
  945. }
  946. function Ct(e) {
  947. var t = [];
  948. for (var n in e) t.push(e[n]);
  949. return t
  950. }
  951. function wt(e, t) {
  952. if (e === t) return !0;
  953. for (var n in e)
  954. if (yt.call(e, n) && !(n in t)) return !1;
  955. for (var n in t)
  956. if (yt.call(t, n) && e[n] !== t[n]) return !1;
  957. return !0
  958. }
  959. function Rt(e, t) {
  960. var n = [];
  961. for (var r in e) yt.call(e, r) && (r in t || n.push(r));
  962. for (var r in t) yt.call(t, r) && e[r] !== t[r] && n.push(r);
  963. return n
  964. }
  965. function _t(e, t, n) {
  966. if (void 0 === n && (n = {}), e === t) return !0;
  967. for (var r in t)
  968. if (!(r in e) || !Tt(e[r], t[r], n[r])) return !1;
  969. for (var r in e)
  970. if (!(r in t)) return !1;
  971. return !0
  972. }
  973. function Tt(e, t, n) {
  974. return e === t || !0 === n || !!n && n(e, t)
  975. }
  976. function kt(e, t, n, r) {
  977. void 0 === t && (t = 0), void 0 === r && (r = 1);
  978. var o = [];
  979. null == n && (n = Object.keys(e).length);
  980. for (var i = t; i < n; i += r) {
  981. var a = e[i];
  982. void 0 !== a && o.push(a)
  983. }
  984. return o
  985. }
  986. function xt(e, t, n) {
  987. var r = n.dateEnv,
  988. o = n.pluginHooks,
  989. i = n.options,
  990. a = e.defs,
  991. s = e.instances;
  992. for (var l in s = St(s, (function(e) {
  993. return !a[e.defId].recurringDef
  994. })), a) {
  995. var u = a[l];
  996. if (u.recurringDef) {
  997. var c = u.recurringDef.duration;
  998. c || (c = u.allDay ? i.defaultAllDayEventDuration : i.defaultTimedEventDuration);
  999. for (var d = 0, p = Mt(u, c, t, r, o.recurringTypes); d < p.length; d++) {
  1000. var f = p[d],
  1001. h = mt(l, {
  1002. start: f,
  1003. end: r.add(f, c)
  1004. });
  1005. s[h.instanceId] = h
  1006. }
  1007. }
  1008. }
  1009. return {
  1010. defs: a,
  1011. instances: s
  1012. }
  1013. }
  1014. function Mt(e, t, n, r, o) {
  1015. var i = o[e.recurringDef.typeId].expand(e.recurringDef.typeData, {
  1016. start: r.subtract(n.start, t),
  1017. end: n.end
  1018. }, r);
  1019. return e.allDay && (i = i.map(lt)), i
  1020. }
  1021. var It = ["years", "months", "days", "milliseconds"],
  1022. Pt = /^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;
  1023. function Nt(e, t) {
  1024. var n;
  1025. return "string" == typeof e ? function(e) {
  1026. var t = Pt.exec(e);
  1027. if (t) {
  1028. var n = t[1] ? -1 : 1;
  1029. return {
  1030. years: 0,
  1031. months: 0,
  1032. days: n * (t[2] ? parseInt(t[2], 10) : 0),
  1033. milliseconds: n * (60 * (t[3] ? parseInt(t[3], 10) : 0) * 60 * 1e3 + 60 * (t[4] ? parseInt(t[4], 10) : 0) * 1e3 + 1e3 * (t[5] ? parseInt(t[5], 10) : 0) + (t[6] ? parseInt(t[6], 10) : 0))
  1034. }
  1035. }
  1036. return null
  1037. }(e) : "object" == typeof e && e ? Ht(e) : "number" == typeof e ? Ht(((n = {})[t || "milliseconds"] = e, n)) : null
  1038. }
  1039. function Ht(e) {
  1040. var t = {
  1041. years: e.years || e.year || 0,
  1042. months: e.months || e.month || 0,
  1043. days: e.days || e.day || 0,
  1044. milliseconds: 60 * (e.hours || e.hour || 0) * 60 * 1e3 + 60 * (e.minutes || e.minute || 0) * 1e3 + 1e3 * (e.seconds || e.second || 0) + (e.milliseconds || e.millisecond || e.ms || 0)
  1045. },
  1046. n = e.weeks || e.week;
  1047. return n && (t.days += 7 * n, t.specifiedWeeks = !0), t
  1048. }
  1049. function Ot(e, t) {
  1050. return {
  1051. years: e.years + t.years,
  1052. months: e.months + t.months,
  1053. days: e.days + t.days,
  1054. milliseconds: e.milliseconds + t.milliseconds
  1055. }
  1056. }
  1057. function At(e, t) {
  1058. return {
  1059. years: e.years * t,
  1060. months: e.months * t,
  1061. days: e.days * t,
  1062. milliseconds: e.milliseconds * t
  1063. }
  1064. }
  1065. function Lt(e) {
  1066. return Ut(e) / 864e5
  1067. }
  1068. function Ut(e) {
  1069. return 31536e6 * e.years + 2592e6 * e.months + 864e5 * e.days + e.milliseconds
  1070. }
  1071. function Wt(e, t) {
  1072. for (var n = null, r = 0; r < It.length; r += 1) {
  1073. var o = It[r];
  1074. if (t[o]) {
  1075. var i = e[o] / t[o];
  1076. if (!$e(i) || null !== n && n !== i) return null;
  1077. n = i
  1078. } else if (e[o]) return null
  1079. }
  1080. return n
  1081. }
  1082. function Vt(e) {
  1083. var t = e.milliseconds;
  1084. if (t) {
  1085. if (t % 1e3 != 0) return {
  1086. unit: "millisecond",
  1087. value: t
  1088. };
  1089. if (t % 6e4 != 0) return {
  1090. unit: "second",
  1091. value: t / 1e3
  1092. };
  1093. if (t % 36e5 != 0) return {
  1094. unit: "minute",
  1095. value: t / 6e4
  1096. };
  1097. if (t) return {
  1098. unit: "hour",
  1099. value: t / 36e5
  1100. }
  1101. }
  1102. return e.days ? e.specifiedWeeks && e.days % 7 == 0 ? {
  1103. unit: "week",
  1104. value: e.days / 7
  1105. } : {
  1106. unit: "day",
  1107. value: e.days
  1108. } : e.months ? {
  1109. unit: "month",
  1110. value: e.months
  1111. } : e.years ? {
  1112. unit: "year",
  1113. value: e.years
  1114. } : {
  1115. unit: "millisecond",
  1116. value: 0
  1117. }
  1118. }
  1119. function Ft(e, t, n) {
  1120. void 0 === n && (n = !1);
  1121. var r = e.toISOString();
  1122. return r = r.replace(".000", ""), n && (r = r.replace("T00:00:00Z", "")), r.length > 10 && (null == t ? r = r.replace("Z", "") : 0 !== t && (r = r.replace("Z", jt(t, !0)))), r
  1123. }
  1124. function Bt(e) {
  1125. return e.toISOString().replace(/T.*$/, "")
  1126. }
  1127. function zt(e) {
  1128. return Ze(e.getUTCHours(), 2) + ":" + Ze(e.getUTCMinutes(), 2) + ":" + Ze(e.getUTCSeconds(), 2)
  1129. }
  1130. function jt(e, t) {
  1131. void 0 === t && (t = !1);
  1132. var n = e < 0 ? "-" : "+",
  1133. r = Math.abs(e),
  1134. o = Math.floor(r / 60),
  1135. i = Math.round(r % 60);
  1136. return t ? n + Ze(o, 2) + ":" + Ze(i, 2) : "GMT" + n + o + (i ? ":" + Ze(i, 2) : "")
  1137. }
  1138. function Gt(e, t, n) {
  1139. if (e === t) return !0;
  1140. var r, o = e.length;
  1141. if (o !== t.length) return !1;
  1142. for (r = 0; r < o; r += 1)
  1143. if (!(n ? n(e[r], t[r]) : e[r] === t[r])) return !1;
  1144. return !0
  1145. }
  1146. function qt(e, t, n) {
  1147. var r, o;
  1148. return function() {
  1149. for (var i = [], a = 0; a < arguments.length; a++) i[a] = arguments[a];
  1150. if (r) {
  1151. if (!Gt(r, i)) {
  1152. n && n(o);
  1153. var s = e.apply(this, i);
  1154. t && t(s, o) || (o = s)
  1155. }
  1156. } else o = e.apply(this, i);
  1157. return r = i, o
  1158. }
  1159. }
  1160. function Yt(e, t, n) {
  1161. var r, o, i = this;
  1162. return function(a) {
  1163. if (r) {
  1164. if (!wt(r, a)) {
  1165. n && n(o);
  1166. var s = e.call(i, a);
  1167. t && t(s, o) || (o = s)
  1168. }
  1169. } else o = e.call(i, a);
  1170. return r = a, o
  1171. }
  1172. }
  1173. var Zt = {
  1174. week: 3,
  1175. separator: 0,
  1176. omitZeroMinute: 0,
  1177. meridiem: 0,
  1178. omitCommas: 0
  1179. },
  1180. Xt = {
  1181. timeZoneName: 7,
  1182. era: 6,
  1183. year: 5,
  1184. month: 4,
  1185. day: 2,
  1186. weekday: 2,
  1187. hour: 1,
  1188. minute: 1,
  1189. second: 1
  1190. },
  1191. Kt = /\s*([ap])\.?m\.?/i,
  1192. $t = /,/g,
  1193. Jt = /\s+/g,
  1194. Qt = /\u200e/g,
  1195. en = /UTC|GMT/,
  1196. tn = function() {
  1197. function e(e) {
  1198. var t = {},
  1199. n = {},
  1200. r = 0;
  1201. for (var o in e) o in Zt ? (n[o] = e[o], r = Math.max(Zt[o], r)) : (t[o] = e[o], o in Xt && (r = Math.max(Xt[o], r)));
  1202. this.standardDateProps = t, this.extendedSettings = n, this.severity = r, this.buildFormattingFunc = qt(nn)
  1203. }
  1204. return e.prototype.format = function(e, t) {
  1205. return this.buildFormattingFunc(this.standardDateProps, this.extendedSettings, t)(e)
  1206. }, e.prototype.formatRange = function(e, t, n, r) {
  1207. var o = this.standardDateProps,
  1208. i = this.extendedSettings,
  1209. a = function(e, t, n) {
  1210. if (n.getMarkerYear(e) !== n.getMarkerYear(t)) return 5;
  1211. if (n.getMarkerMonth(e) !== n.getMarkerMonth(t)) return 4;
  1212. if (n.getMarkerDay(e) !== n.getMarkerDay(t)) return 2;
  1213. if (gt(e) !== gt(t)) return 1;
  1214. return 0
  1215. }(e.marker, t.marker, n.calendarSystem);
  1216. if (!a) return this.format(e, n);
  1217. var s = a;
  1218. !(s > 1) || "numeric" !== o.year && "2-digit" !== o.year || "numeric" !== o.month && "2-digit" !== o.month || "numeric" !== o.day && "2-digit" !== o.day || (s = 1);
  1219. var l = this.format(e, n),
  1220. u = this.format(t, n);
  1221. if (l === u) return l;
  1222. var c = nn(function(e, t) {
  1223. var n = {};
  1224. for (var r in e)(!(r in Xt) || Xt[r] <= t) && (n[r] = e[r]);
  1225. return n
  1226. }(o, s), i, n),
  1227. d = c(e),
  1228. p = c(t),
  1229. f = function(e, t, n, r) {
  1230. var o = 0;
  1231. for (; o < e.length;) {
  1232. var i = e.indexOf(t, o);
  1233. if (-1 === i) break;
  1234. var a = e.substr(0, i);
  1235. o = i + t.length;
  1236. for (var s = e.substr(o), l = 0; l < n.length;) {
  1237. var u = n.indexOf(r, l);
  1238. if (-1 === u) break;
  1239. var c = n.substr(0, u);
  1240. l = u + r.length;
  1241. var d = n.substr(l);
  1242. if (a === c && s === d) return {
  1243. before: a,
  1244. after: s
  1245. }
  1246. }
  1247. }
  1248. return null
  1249. }(l, d, u, p),
  1250. h = i.separator || r || n.defaultSeparator || "";
  1251. return f ? f.before + d + h + p + f.after : l + h + u
  1252. }, e.prototype.getLargestUnit = function() {
  1253. switch (this.severity) {
  1254. case 7:
  1255. case 6:
  1256. case 5:
  1257. return "year";
  1258. case 4:
  1259. return "month";
  1260. case 3:
  1261. return "week";
  1262. case 2:
  1263. return "day";
  1264. default:
  1265. return "time"
  1266. }
  1267. }, e
  1268. }();
  1269. function nn(e, t, n) {
  1270. var o = Object.keys(e).length;
  1271. return 1 === o && "short" === e.timeZoneName ? function(e) {
  1272. return jt(e.timeZoneOffset)
  1273. } : 0 === o && t.week ? function(e) {
  1274. return function(e, t, n, r, o) {
  1275. var i = [];
  1276. "long" === o ? i.push(n) : "short" !== o && "narrow" !== o || i.push(t);
  1277. "long" !== o && "short" !== o || i.push(" ");
  1278. i.push(r.simpleNumberFormat.format(e)), "rtl" === r.options.direction && i.reverse();
  1279. return i.join("")
  1280. }(n.computeWeekNumber(e.marker), n.weekText, n.weekTextLong, n.locale, t.week)
  1281. } : function(e, t, n) {
  1282. e = r({}, e), t = r({}, t),
  1283. function(e, t) {
  1284. e.timeZoneName && (e.hour || (e.hour = "2-digit"), e.minute || (e.minute = "2-digit"));
  1285. "long" === e.timeZoneName && (e.timeZoneName = "short");
  1286. t.omitZeroMinute && (e.second || e.millisecond) && delete t.omitZeroMinute
  1287. }(e, t), e.timeZone = "UTC";
  1288. var o, i = new Intl.DateTimeFormat(n.locale.codes, e);
  1289. if (t.omitZeroMinute) {
  1290. var a = r({}, e);
  1291. delete a.minute, o = new Intl.DateTimeFormat(n.locale.codes, a)
  1292. }
  1293. return function(r) {
  1294. var a = r.marker;
  1295. return function(e, t, n, r, o) {
  1296. e = e.replace(Qt, ""), "short" === n.timeZoneName && (e = function(e, t) {
  1297. var n = !1;
  1298. e = e.replace(en, (function() {
  1299. return n = !0, t
  1300. })), n || (e += " " + t);
  1301. return e
  1302. }(e, "UTC" === o.timeZone || null == t.timeZoneOffset ? "UTC" : jt(t.timeZoneOffset)));
  1303. r.omitCommas && (e = e.replace($t, "").trim());
  1304. r.omitZeroMinute && (e = e.replace(":00", ""));
  1305. !1 === r.meridiem ? e = e.replace(Kt, "").trim() : "narrow" === r.meridiem ? e = e.replace(Kt, (function(e, t) {
  1306. return t.toLocaleLowerCase()
  1307. })) : "short" === r.meridiem ? e = e.replace(Kt, (function(e, t) {
  1308. return t.toLocaleLowerCase() + "m"
  1309. })) : "lowercase" === r.meridiem && (e = e.replace(Kt, (function(e) {
  1310. return e.toLocaleLowerCase()
  1311. })));
  1312. return e = (e = e.replace(Jt, " ")).trim()
  1313. }((o && !a.getUTCMinutes() ? o : i).format(a), r, e, t, n)
  1314. }
  1315. }(e, t, n)
  1316. }
  1317. function rn(e, t) {
  1318. var n = t.markerToArray(e.marker);
  1319. return {
  1320. marker: e.marker,
  1321. timeZoneOffset: e.timeZoneOffset,
  1322. array: n,
  1323. year: n[0],
  1324. month: n[1],
  1325. day: n[2],
  1326. hour: n[3],
  1327. minute: n[4],
  1328. second: n[5],
  1329. millisecond: n[6]
  1330. }
  1331. }
  1332. function on(e, t, n, r) {
  1333. var o = rn(e, n.calendarSystem);
  1334. return {
  1335. date: o,
  1336. start: o,
  1337. end: t ? rn(t, n.calendarSystem) : null,
  1338. timeZone: n.timeZone,
  1339. localeCodes: n.locale.codes,
  1340. defaultSeparator: r || n.defaultSeparator
  1341. }
  1342. }
  1343. var an = function() {
  1344. function e(e) {
  1345. this.cmdStr = e
  1346. }
  1347. return e.prototype.format = function(e, t, n) {
  1348. return t.cmdFormatter(this.cmdStr, on(e, null, t, n))
  1349. }, e.prototype.formatRange = function(e, t, n, r) {
  1350. return n.cmdFormatter(this.cmdStr, on(e, t, n, r))
  1351. }, e
  1352. }(),
  1353. sn = function() {
  1354. function e(e) {
  1355. this.func = e
  1356. }
  1357. return e.prototype.format = function(e, t, n) {
  1358. return this.func(on(e, null, t, n))
  1359. }, e.prototype.formatRange = function(e, t, n, r) {
  1360. return this.func(on(e, t, n, r))
  1361. }, e
  1362. }();
  1363. function ln(e) {
  1364. return "object" == typeof e && e ? new tn(e) : "string" == typeof e ? new an(e) : "function" == typeof e ? new sn(e) : null
  1365. }
  1366. var un = {
  1367. navLinkDayClick: yn,
  1368. navLinkWeekClick: yn,
  1369. duration: Nt,
  1370. bootstrapFontAwesome: yn,
  1371. buttonIcons: yn,
  1372. customButtons: yn,
  1373. defaultAllDayEventDuration: Nt,
  1374. defaultTimedEventDuration: Nt,
  1375. nextDayThreshold: Nt,
  1376. scrollTime: Nt,
  1377. scrollTimeReset: Boolean,
  1378. slotMinTime: Nt,
  1379. slotMaxTime: Nt,
  1380. dayPopoverFormat: ln,
  1381. slotDuration: Nt,
  1382. snapDuration: Nt,
  1383. headerToolbar: yn,
  1384. footerToolbar: yn,
  1385. defaultRangeSeparator: String,
  1386. titleRangeSeparator: String,
  1387. forceEventDuration: Boolean,
  1388. dayHeaders: Boolean,
  1389. dayHeaderFormat: ln,
  1390. dayHeaderClassNames: yn,
  1391. dayHeaderContent: yn,
  1392. dayHeaderDidMount: yn,
  1393. dayHeaderWillUnmount: yn,
  1394. dayCellClassNames: yn,
  1395. dayCellContent: yn,
  1396. dayCellDidMount: yn,
  1397. dayCellWillUnmount: yn,
  1398. initialView: String,
  1399. aspectRatio: Number,
  1400. weekends: Boolean,
  1401. weekNumberCalculation: yn,
  1402. weekNumbers: Boolean,
  1403. weekNumberClassNames: yn,
  1404. weekNumberContent: yn,
  1405. weekNumberDidMount: yn,
  1406. weekNumberWillUnmount: yn,
  1407. editable: Boolean,
  1408. viewClassNames: yn,
  1409. viewDidMount: yn,
  1410. viewWillUnmount: yn,
  1411. nowIndicator: Boolean,
  1412. nowIndicatorClassNames: yn,
  1413. nowIndicatorContent: yn,
  1414. nowIndicatorDidMount: yn,
  1415. nowIndicatorWillUnmount: yn,
  1416. showNonCurrentDates: Boolean,
  1417. lazyFetching: Boolean,
  1418. startParam: String,
  1419. endParam: String,
  1420. timeZoneParam: String,
  1421. timeZone: String,
  1422. locales: yn,
  1423. locale: yn,
  1424. themeSystem: String,
  1425. dragRevertDuration: Number,
  1426. dragScroll: Boolean,
  1427. allDayMaintainDuration: Boolean,
  1428. unselectAuto: Boolean,
  1429. dropAccept: yn,
  1430. eventOrder: je,
  1431. eventOrderStrict: Boolean,
  1432. handleWindowResize: Boolean,
  1433. windowResizeDelay: Number,
  1434. longPressDelay: Number,
  1435. eventDragMinDistance: Number,
  1436. expandRows: Boolean,
  1437. height: yn,
  1438. contentHeight: yn,
  1439. direction: String,
  1440. weekNumberFormat: ln,
  1441. eventResizableFromStart: Boolean,
  1442. displayEventTime: Boolean,
  1443. displayEventEnd: Boolean,
  1444. weekText: String,
  1445. weekTextLong: String,
  1446. progressiveEventRendering: Boolean,
  1447. businessHours: yn,
  1448. initialDate: yn,
  1449. now: yn,
  1450. eventDataTransform: yn,
  1451. stickyHeaderDates: yn,
  1452. stickyFooterScrollbar: yn,
  1453. viewHeight: yn,
  1454. defaultAllDay: Boolean,
  1455. eventSourceFailure: yn,
  1456. eventSourceSuccess: yn,
  1457. eventDisplay: String,
  1458. eventStartEditable: Boolean,
  1459. eventDurationEditable: Boolean,
  1460. eventOverlap: yn,
  1461. eventConstraint: yn,
  1462. eventAllow: yn,
  1463. eventBackgroundColor: String,
  1464. eventBorderColor: String,
  1465. eventTextColor: String,
  1466. eventColor: String,
  1467. eventClassNames: yn,
  1468. eventContent: yn,
  1469. eventDidMount: yn,
  1470. eventWillUnmount: yn,
  1471. selectConstraint: yn,
  1472. selectOverlap: yn,
  1473. selectAllow: yn,
  1474. droppable: Boolean,
  1475. unselectCancel: String,
  1476. slotLabelFormat: yn,
  1477. slotLaneClassNames: yn,
  1478. slotLaneContent: yn,
  1479. slotLaneDidMount: yn,
  1480. slotLaneWillUnmount: yn,
  1481. slotLabelClassNames: yn,
  1482. slotLabelContent: yn,
  1483. slotLabelDidMount: yn,
  1484. slotLabelWillUnmount: yn,
  1485. dayMaxEvents: yn,
  1486. dayMaxEventRows: yn,
  1487. dayMinWidth: Number,
  1488. slotLabelInterval: Nt,
  1489. allDayText: String,
  1490. allDayClassNames: yn,
  1491. allDayContent: yn,
  1492. allDayDidMount: yn,
  1493. allDayWillUnmount: yn,
  1494. slotMinWidth: Number,
  1495. navLinks: Boolean,
  1496. eventTimeFormat: ln,
  1497. rerenderDelay: Number,
  1498. moreLinkText: yn,
  1499. moreLinkHint: yn,
  1500. selectMinDistance: Number,
  1501. selectable: Boolean,
  1502. selectLongPressDelay: Number,
  1503. eventLongPressDelay: Number,
  1504. selectMirror: Boolean,
  1505. eventMaxStack: Number,
  1506. eventMinHeight: Number,
  1507. eventMinWidth: Number,
  1508. eventShortHeight: Number,
  1509. slotEventOverlap: Boolean,
  1510. plugins: yn,
  1511. firstDay: Number,
  1512. dayCount: Number,
  1513. dateAlignment: String,
  1514. dateIncrement: Nt,
  1515. hiddenDays: yn,
  1516. monthMode: Boolean,
  1517. fixedWeekCount: Boolean,
  1518. validRange: yn,
  1519. visibleRange: yn,
  1520. titleFormat: yn,
  1521. eventInteractive: Boolean,
  1522. noEventsText: String,
  1523. viewHint: yn,
  1524. navLinkHint: yn,
  1525. closeHint: String,
  1526. timeHint: String,
  1527. eventHint: String,
  1528. moreLinkClick: yn,
  1529. moreLinkClassNames: yn,
  1530. moreLinkContent: yn,
  1531. moreLinkDidMount: yn,
  1532. moreLinkWillUnmount: yn
  1533. },
  1534. cn = {
  1535. eventDisplay: "auto",
  1536. defaultRangeSeparator: " - ",
  1537. titleRangeSeparator: " – ",
  1538. defaultTimedEventDuration: "01:00:00",
  1539. defaultAllDayEventDuration: {
  1540. day: 1
  1541. },
  1542. forceEventDuration: !1,
  1543. nextDayThreshold: "00:00:00",
  1544. dayHeaders: !0,
  1545. initialView: "",
  1546. aspectRatio: 1.35,
  1547. headerToolbar: {
  1548. start: "title",
  1549. center: "",
  1550. end: "today prev,next"
  1551. },
  1552. weekends: !0,
  1553. weekNumbers: !1,
  1554. weekNumberCalculation: "local",
  1555. editable: !1,
  1556. nowIndicator: !1,
  1557. scrollTime: "06:00:00",
  1558. scrollTimeReset: !0,
  1559. slotMinTime: "00:00:00",
  1560. slotMaxTime: "24:00:00",
  1561. showNonCurrentDates: !0,
  1562. lazyFetching: !0,
  1563. startParam: "start",
  1564. endParam: "end",
  1565. timeZoneParam: "timeZone",
  1566. timeZone: "local",
  1567. locales: [],
  1568. locale: "",
  1569. themeSystem: "standard",
  1570. dragRevertDuration: 500,
  1571. dragScroll: !0,
  1572. allDayMaintainDuration: !1,
  1573. unselectAuto: !0,
  1574. dropAccept: "*",
  1575. eventOrder: "start,-duration,allDay,title",
  1576. dayPopoverFormat: {
  1577. month: "long",
  1578. day: "numeric",
  1579. year: "numeric"
  1580. },
  1581. handleWindowResize: !0,
  1582. windowResizeDelay: 100,
  1583. longPressDelay: 1e3,
  1584. eventDragMinDistance: 5,
  1585. expandRows: !1,
  1586. navLinks: !1,
  1587. selectable: !1,
  1588. eventMinHeight: 15,
  1589. eventMinWidth: 30,
  1590. eventShortHeight: 30
  1591. },
  1592. dn = {
  1593. datesSet: yn,
  1594. eventsSet: yn,
  1595. eventAdd: yn,
  1596. eventChange: yn,
  1597. eventRemove: yn,
  1598. windowResize: yn,
  1599. eventClick: yn,
  1600. eventMouseEnter: yn,
  1601. eventMouseLeave: yn,
  1602. select: yn,
  1603. unselect: yn,
  1604. loading: yn,
  1605. _unmount: yn,
  1606. _beforeprint: yn,
  1607. _afterprint: yn,
  1608. _noEventDrop: yn,
  1609. _noEventResize: yn,
  1610. _resize: yn,
  1611. _scrollRequest: yn
  1612. },
  1613. pn = {
  1614. buttonText: yn,
  1615. buttonHints: yn,
  1616. views: yn,
  1617. plugins: yn,
  1618. initialEvents: yn,
  1619. events: yn,
  1620. eventSources: yn
  1621. },
  1622. fn = {
  1623. headerToolbar: hn,
  1624. footerToolbar: hn,
  1625. buttonText: hn,
  1626. buttonHints: hn,
  1627. buttonIcons: hn
  1628. };
  1629. function hn(e, t) {
  1630. return "object" == typeof e && "object" == typeof t && e && t ? wt(e, t) : e === t
  1631. }
  1632. var vn = {
  1633. type: String,
  1634. component: yn,
  1635. buttonText: String,
  1636. buttonTextKey: String,
  1637. dateProfileGeneratorClass: yn,
  1638. usesMinMaxTime: Boolean,
  1639. classNames: yn,
  1640. content: yn,
  1641. didMount: yn,
  1642. willUnmount: yn
  1643. };
  1644. function gn(e) {
  1645. return Et(e, fn)
  1646. }
  1647. function mn(e, t) {
  1648. var n = {},
  1649. r = {};
  1650. for (var o in t) o in e && (n[o] = t[o](e[o]));
  1651. for (var o in e) o in t || (r[o] = e[o]);
  1652. return {
  1653. refined: n,
  1654. extra: r
  1655. }
  1656. }
  1657. function yn(e) {
  1658. return e
  1659. }
  1660. function En(e, t, n, r) {
  1661. for (var o = {
  1662. defs: {},
  1663. instances: {}
  1664. }, i = An(n), a = 0, s = e; a < s.length; a++) {
  1665. var l = Hn(s[a], t, n, r, i);
  1666. l && Sn(l, o)
  1667. }
  1668. return o
  1669. }
  1670. function Sn(e, t) {
  1671. return void 0 === t && (t = {
  1672. defs: {},
  1673. instances: {}
  1674. }), t.defs[e.def.defId] = e.def, e.instance && (t.instances[e.instance.instanceId] = e.instance), t
  1675. }
  1676. function bn(e, t) {
  1677. var n = e.instances[t];
  1678. if (n) {
  1679. var r = e.defs[n.defId],
  1680. o = wn(e, (function(e) {
  1681. return t = r, n = e, Boolean(t.groupId && t.groupId === n.groupId);
  1682. var t, n
  1683. }));
  1684. return o.defs[r.defId] = r, o.instances[n.instanceId] = n, o
  1685. }
  1686. return {
  1687. defs: {},
  1688. instances: {}
  1689. }
  1690. }
  1691. function Dn() {
  1692. return {
  1693. defs: {},
  1694. instances: {}
  1695. }
  1696. }
  1697. function Cn(e, t) {
  1698. return {
  1699. defs: r(r({}, e.defs), t.defs),
  1700. instances: r(r({}, e.instances), t.instances)
  1701. }
  1702. }
  1703. function wn(e, t) {
  1704. var n = St(e.defs, t),
  1705. r = St(e.instances, (function(e) {
  1706. return n[e.defId]
  1707. }));
  1708. return {
  1709. defs: n,
  1710. instances: r
  1711. }
  1712. }
  1713. function Rn(e) {
  1714. return Array.isArray(e) ? e : "string" == typeof e ? e.split(/\s+/) : []
  1715. }
  1716. var _n = {
  1717. display: String,
  1718. editable: Boolean,
  1719. startEditable: Boolean,
  1720. durationEditable: Boolean,
  1721. constraint: yn,
  1722. overlap: yn,
  1723. allow: yn,
  1724. className: Rn,
  1725. classNames: Rn,
  1726. color: String,
  1727. backgroundColor: String,
  1728. borderColor: String,
  1729. textColor: String
  1730. },
  1731. Tn = {
  1732. display: null,
  1733. startEditable: null,
  1734. durationEditable: null,
  1735. constraints: [],
  1736. overlap: null,
  1737. allows: [],
  1738. backgroundColor: "",
  1739. borderColor: "",
  1740. textColor: "",
  1741. classNames: []
  1742. };
  1743. function kn(e, t) {
  1744. var n = function(e, t) {
  1745. return Array.isArray(e) ? En(e, null, t, !0) : "object" == typeof e && e ? En([e], null, t, !0) : null != e ? String(e) : null
  1746. }(e.constraint, t);
  1747. return {
  1748. display: e.display || null,
  1749. startEditable: null != e.startEditable ? e.startEditable : e.editable,
  1750. durationEditable: null != e.durationEditable ? e.durationEditable : e.editable,
  1751. constraints: null != n ? [n] : [],
  1752. overlap: null != e.overlap ? e.overlap : null,
  1753. allows: null != e.allow ? [e.allow] : [],
  1754. backgroundColor: e.backgroundColor || e.color || "",
  1755. borderColor: e.borderColor || e.color || "",
  1756. textColor: e.textColor || "",
  1757. classNames: (e.className || []).concat(e.classNames || [])
  1758. }
  1759. }
  1760. function xn(e) {
  1761. return e.reduce(Mn, Tn)
  1762. }
  1763. function Mn(e, t) {
  1764. return {
  1765. display: null != t.display ? t.display : e.display,
  1766. startEditable: null != t.startEditable ? t.startEditable : e.startEditable,
  1767. durationEditable: null != t.durationEditable ? t.durationEditable : e.durationEditable,
  1768. constraints: e.constraints.concat(t.constraints),
  1769. overlap: "boolean" == typeof t.overlap ? t.overlap : e.overlap,
  1770. allows: e.allows.concat(t.allows),
  1771. backgroundColor: t.backgroundColor || e.backgroundColor,
  1772. borderColor: t.borderColor || e.borderColor,
  1773. textColor: t.textColor || e.textColor,
  1774. classNames: e.classNames.concat(t.classNames)
  1775. }
  1776. }
  1777. var In = {
  1778. id: String,
  1779. groupId: String,
  1780. title: String,
  1781. url: String,
  1782. interactive: Boolean
  1783. },
  1784. Pn = {
  1785. start: yn,
  1786. end: yn,
  1787. date: yn,
  1788. allDay: Boolean
  1789. },
  1790. Nn = r(r(r({}, In), Pn), {
  1791. extendedProps: yn
  1792. });
  1793. function Hn(e, t, n, r, o) {
  1794. void 0 === o && (o = An(n));
  1795. var i = On(e, n, o),
  1796. a = i.refined,
  1797. s = i.extra,
  1798. l = function(e, t) {
  1799. var n = null;
  1800. e && (n = e.defaultAllDay);
  1801. null == n && (n = t.options.defaultAllDay);
  1802. return n
  1803. }(t, n),
  1804. u = function(e, t, n, r) {
  1805. for (var o = 0; o < r.length; o += 1) {
  1806. var i = r[o].parse(e, n);
  1807. if (i) {
  1808. var a = e.allDay;
  1809. return null == a && null == (a = t) && null == (a = i.allDayGuess) && (a = !1), {
  1810. allDay: a,
  1811. duration: i.duration,
  1812. typeData: i.typeData,
  1813. typeId: o
  1814. }
  1815. }
  1816. }
  1817. return null
  1818. }(a, l, n.dateEnv, n.pluginHooks.recurringTypes);
  1819. if (u) return (c = Ln(a, s, t ? t.sourceId : "", u.allDay, Boolean(u.duration), n)).recurringDef = {
  1820. typeId: u.typeId,
  1821. typeData: u.typeData,
  1822. duration: u.duration
  1823. }, {
  1824. def: c,
  1825. instance: null
  1826. };
  1827. var c, d = function(e, t, n, r) {
  1828. var o, i, a = e.allDay,
  1829. s = null,
  1830. l = !1,
  1831. u = null,
  1832. c = null != e.start ? e.start : e.date;
  1833. if (o = n.dateEnv.createMarkerMeta(c)) s = o.marker;
  1834. else if (!r) return null;
  1835. null != e.end && (i = n.dateEnv.createMarkerMeta(e.end));
  1836. null == a && (a = null != t ? t : (!o || o.isTimeUnspecified) && (!i || i.isTimeUnspecified));
  1837. a && s && (s = lt(s));
  1838. i && (u = i.marker, a && (u = lt(u)), s && u <= s && (u = null));
  1839. u ? l = !0 : r || (l = n.options.forceEventDuration || !1, u = n.dateEnv.add(s, a ? n.options.defaultAllDayEventDuration : n.options.defaultTimedEventDuration));
  1840. return {
  1841. allDay: a,
  1842. hasEnd: l,
  1843. range: {
  1844. start: s,
  1845. end: u
  1846. },
  1847. forcedStartTzo: o ? o.forcedTzo : null,
  1848. forcedEndTzo: i ? i.forcedTzo : null
  1849. }
  1850. }(a, l, n, r);
  1851. return d ? {
  1852. def: c = Ln(a, s, t ? t.sourceId : "", d.allDay, d.hasEnd, n),
  1853. instance: mt(c.defId, d.range, d.forcedStartTzo, d.forcedEndTzo)
  1854. } : null
  1855. }
  1856. function On(e, t, n) {
  1857. return void 0 === n && (n = An(t)), mn(e, n)
  1858. }
  1859. function An(e) {
  1860. return r(r(r({}, _n), Nn), e.pluginHooks.eventRefiners)
  1861. }
  1862. function Ln(e, t, n, o, i, a) {
  1863. for (var s = {
  1864. title: e.title || "",
  1865. groupId: e.groupId || "",
  1866. publicId: e.id || "",
  1867. url: e.url || "",
  1868. recurringDef: null,
  1869. defId: Le(),
  1870. sourceId: n,
  1871. allDay: o,
  1872. hasEnd: i,
  1873. interactive: e.interactive,
  1874. ui: kn(e, a),
  1875. extendedProps: r(r({}, e.extendedProps || {}), t)
  1876. }, l = 0, u = a.pluginHooks.eventDefMemberAdders; l < u.length; l++) {
  1877. var c = u[l];
  1878. r(s, c(e))
  1879. }
  1880. return Object.freeze(s.ui.classNames), Object.freeze(s.extendedProps), s
  1881. }
  1882. function Un(e) {
  1883. var t = Math.floor(ot(e.start, e.end)) || 1,
  1884. n = lt(e.start);
  1885. return {
  1886. start: n,
  1887. end: tt(n, t)
  1888. }
  1889. }
  1890. function Wn(e, t) {
  1891. void 0 === t && (t = Nt(0));
  1892. var n = null,
  1893. r = null;
  1894. if (e.end) {
  1895. r = lt(e.end);
  1896. var o = e.end.valueOf() - r.valueOf();
  1897. o && o >= Ut(t) && (r = tt(r, 1))
  1898. }
  1899. return e.start && (n = lt(e.start), r && r <= n && (r = tt(n, 1))), {
  1900. start: n,
  1901. end: r
  1902. }
  1903. }
  1904. function Vn(e) {
  1905. var t = Wn(e);
  1906. return ot(t.start, t.end) > 1
  1907. }
  1908. function Fn(e, t, n, r) {
  1909. return "year" === r ? Nt(n.diffWholeYears(e, t), "year") : "month" === r ? Nt(n.diffWholeMonths(e, t), "month") : it(e, t)
  1910. }
  1911. function Bn(e, t) {
  1912. var n, r, o = [],
  1913. i = t.start;
  1914. for (e.sort(zn), n = 0; n < e.length; n += 1)(r = e[n]).start > i && o.push({
  1915. start: i,
  1916. end: r.start
  1917. }), r.end > i && (i = r.end);
  1918. return i < t.end && o.push({
  1919. start: i,
  1920. end: t.end
  1921. }), o
  1922. }
  1923. function zn(e, t) {
  1924. return e.start.valueOf() - t.start.valueOf()
  1925. }
  1926. function jn(e, t) {
  1927. var n = e.start,
  1928. r = e.end,
  1929. o = null;
  1930. return null !== t.start && (n = null === n ? t.start : new Date(Math.max(n.valueOf(), t.start.valueOf()))), null != t.end && (r = null === r ? t.end : new Date(Math.min(r.valueOf(), t.end.valueOf()))), (null === n || null === r || n < r) && (o = {
  1931. start: n,
  1932. end: r
  1933. }), o
  1934. }
  1935. function Gn(e, t) {
  1936. return (null === e.start ? null : e.start.valueOf()) === (null === t.start ? null : t.start.valueOf()) && (null === e.end ? null : e.end.valueOf()) === (null === t.end ? null : t.end.valueOf())
  1937. }
  1938. function qn(e, t) {
  1939. return (null === e.end || null === t.start || e.end > t.start) && (null === e.start || null === t.end || e.start < t.end)
  1940. }
  1941. function Yn(e, t) {
  1942. return (null === e.start || null !== t.start && t.start >= e.start) && (null === e.end || null !== t.end && t.end <= e.end)
  1943. }
  1944. function Zn(e, t) {
  1945. return (null === e.start || t >= e.start) && (null === e.end || t < e.end)
  1946. }
  1947. function Xn(e, t, n, r) {
  1948. var o = {},
  1949. i = {},
  1950. a = {},
  1951. s = [],
  1952. l = [],
  1953. u = Qn(e.defs, t);
  1954. for (var c in e.defs) {
  1955. "inverse-background" === (f = u[(S = e.defs[c]).defId]).display && (S.groupId ? (o[S.groupId] = [], a[S.groupId] || (a[S.groupId] = S)) : i[c] = [])
  1956. }
  1957. for (var d in e.instances) {
  1958. var p = e.instances[d],
  1959. f = u[(S = e.defs[p.defId]).defId],
  1960. h = p.range,
  1961. v = !S.allDay && r ? Wn(h, r) : h,
  1962. g = jn(v, n);
  1963. g && ("inverse-background" === f.display ? S.groupId ? o[S.groupId].push(g) : i[p.defId].push(g) : "none" !== f.display && ("background" === f.display ? s : l).push({
  1964. def: S,
  1965. ui: f,
  1966. instance: p,
  1967. range: g,
  1968. isStart: v.start && v.start.valueOf() === g.start.valueOf(),
  1969. isEnd: v.end && v.end.valueOf() === g.end.valueOf()
  1970. }))
  1971. }
  1972. for (var m in o)
  1973. for (var y = 0, E = Bn(o[m], n); y < E.length; y++) {
  1974. var S, b = E[y];
  1975. f = u[(S = a[m]).defId];
  1976. s.push({
  1977. def: S,
  1978. ui: f,
  1979. instance: null,
  1980. range: b,
  1981. isStart: !1,
  1982. isEnd: !1
  1983. })
  1984. }
  1985. for (var c in i)
  1986. for (var D = 0, C = Bn(i[c], n); D < C.length; D++) {
  1987. b = C[D];
  1988. s.push({
  1989. def: e.defs[c],
  1990. ui: u[c],
  1991. instance: null,
  1992. range: b,
  1993. isStart: !1,
  1994. isEnd: !1
  1995. })
  1996. }
  1997. return {
  1998. bg: s,
  1999. fg: l
  2000. }
  2001. }
  2002. function Kn(e) {
  2003. return "background" === e.ui.display || "inverse-background" === e.ui.display
  2004. }
  2005. function $n(e, t) {
  2006. e.fcSeg = t
  2007. }
  2008. function Jn(e) {
  2009. return e.fcSeg || e.parentNode.fcSeg || null
  2010. }
  2011. function Qn(e, t) {
  2012. return bt(e, (function(e) {
  2013. return er(e, t)
  2014. }))
  2015. }
  2016. function er(e, t) {
  2017. var n = [];
  2018. return t[""] && n.push(t[""]), t[e.defId] && n.push(t[e.defId]), n.push(e.ui), xn(n)
  2019. }
  2020. function tr(e, t) {
  2021. var n = e.map(nr);
  2022. return n.sort((function(e, n) {
  2023. return Ge(e, n, t)
  2024. })), n.map((function(e) {
  2025. return e._seg
  2026. }))
  2027. }
  2028. function nr(e) {
  2029. var t = e.eventRange,
  2030. n = t.def,
  2031. o = t.instance ? t.instance.range : t.range,
  2032. i = o.start ? o.start.valueOf() : 0,
  2033. a = o.end ? o.end.valueOf() : 0;
  2034. return r(r(r({}, n.extendedProps), n), {
  2035. id: n.publicId,
  2036. start: i,
  2037. end: a,
  2038. duration: a - i,
  2039. allDay: Number(n.allDay),
  2040. _seg: e
  2041. })
  2042. }
  2043. function rr(e, t) {
  2044. for (var n = t.pluginHooks.isDraggableTransformers, r = e.eventRange, o = r.def, i = r.ui, a = i.startEditable, s = 0, l = n; s < l.length; s++) {
  2045. a = (0, l[s])(a, o, i, t)
  2046. }
  2047. return a
  2048. }
  2049. function or(e, t) {
  2050. return e.isStart && e.eventRange.ui.durationEditable && t.options.eventResizableFromStart
  2051. }
  2052. function ir(e, t) {
  2053. return e.isEnd && e.eventRange.ui.durationEditable
  2054. }
  2055. function ar(e, t, n, r, o, i, a) {
  2056. var s = n.dateEnv,
  2057. l = n.options,
  2058. u = l.displayEventTime,
  2059. c = l.displayEventEnd,
  2060. d = e.eventRange.def,
  2061. p = e.eventRange.instance;
  2062. null == u && (u = !1 !== r), null == c && (c = !1 !== o);
  2063. var f = p.range.start,
  2064. h = p.range.end,
  2065. v = i || e.start || e.eventRange.range.start,
  2066. g = a || e.end || e.eventRange.range.end,
  2067. m = lt(f).valueOf() === lt(v).valueOf(),
  2068. y = lt(nt(h, -1)).valueOf() === lt(nt(g, -1)).valueOf();
  2069. return u && !d.allDay && (m || y) ? (v = m ? f : v, g = y ? h : g, c && d.hasEnd ? s.formatRange(v, g, t, {
  2070. forcedStartTzo: i ? null : p.forcedStartTzo,
  2071. forcedEndTzo: a ? null : p.forcedEndTzo
  2072. }) : s.format(v, t, {
  2073. forcedTzo: i ? null : p.forcedStartTzo
  2074. })) : ""
  2075. }
  2076. function sr(e, t, n) {
  2077. var r = e.eventRange.range;
  2078. return {
  2079. isPast: r.end < (n || t.start),
  2080. isFuture: r.start >= (n || t.end),
  2081. isToday: t && Zn(t, r.start)
  2082. }
  2083. }
  2084. function lr(e) {
  2085. var t = ["fc-event"];
  2086. return e.isMirror && t.push("fc-event-mirror"), e.isDraggable && t.push("fc-event-draggable"), (e.isStartResizable || e.isEndResizable) && t.push("fc-event-resizable"), e.isDragging && t.push("fc-event-dragging"), e.isResizing && t.push("fc-event-resizing"), e.isSelected && t.push("fc-event-selected"), e.isStart && t.push("fc-event-start"), e.isEnd && t.push("fc-event-end"), e.isPast && t.push("fc-event-past"), e.isToday && t.push("fc-event-today"), e.isFuture && t.push("fc-event-future"), t
  2087. }
  2088. function ur(e) {
  2089. return e.instance ? e.instance.instanceId : e.def.defId + ":" + e.range.start.toISOString()
  2090. }
  2091. function cr(e, t) {
  2092. var n = e.eventRange,
  2093. r = n.def,
  2094. o = n.instance,
  2095. i = r.url;
  2096. if (i) return {
  2097. href: i
  2098. };
  2099. var a = t.emitter,
  2100. s = t.options.eventInteractive;
  2101. return null == s && null == (s = r.interactive) && (s = Boolean(a.hasHandlers("eventClick"))), s ? Oe((function(e) {
  2102. a.trigger("eventClick", {
  2103. el: e.target,
  2104. event: new xr(t, r, o),
  2105. jsEvent: e,
  2106. view: t.viewApi
  2107. })
  2108. })) : {}
  2109. }
  2110. var dr = {
  2111. start: yn,
  2112. end: yn,
  2113. allDay: Boolean
  2114. };
  2115. function pr(e, t, n) {
  2116. var o = function(e, t) {
  2117. var n = mn(e, dr),
  2118. o = n.refined,
  2119. i = n.extra,
  2120. a = o.start ? t.createMarkerMeta(o.start) : null,
  2121. s = o.end ? t.createMarkerMeta(o.end) : null,
  2122. l = o.allDay;
  2123. null == l && (l = a && a.isTimeUnspecified && (!s || s.isTimeUnspecified));
  2124. return r({
  2125. range: {
  2126. start: a ? a.marker : null,
  2127. end: s ? s.marker : null
  2128. },
  2129. allDay: l
  2130. }, i)
  2131. }(e, t),
  2132. i = o.range;
  2133. if (!i.start) return null;
  2134. if (!i.end) {
  2135. if (null == n) return null;
  2136. i.end = t.add(i.start, n)
  2137. }
  2138. return o
  2139. }
  2140. function fr(e, t) {
  2141. return Gn(e.range, t.range) && e.allDay === t.allDay && function(e, t) {
  2142. for (var n in t)
  2143. if ("range" !== n && "allDay" !== n && e[n] !== t[n]) return !1;
  2144. for (var n in e)
  2145. if (!(n in t)) return !1;
  2146. return !0
  2147. }(e, t)
  2148. }
  2149. function hr(e, t, n) {
  2150. return r(r({}, vr(e, t, n)), {
  2151. timeZone: t.timeZone
  2152. })
  2153. }
  2154. function vr(e, t, n) {
  2155. return {
  2156. start: t.toDate(e.start),
  2157. end: t.toDate(e.end),
  2158. startStr: t.formatIso(e.start, {
  2159. omitTime: n
  2160. }),
  2161. endStr: t.formatIso(e.end, {
  2162. omitTime: n
  2163. })
  2164. }
  2165. }
  2166. function gr(e, t, n) {
  2167. var r = On({
  2168. editable: !1
  2169. }, n),
  2170. o = Ln(r.refined, r.extra, "", e.allDay, !0, n);
  2171. return {
  2172. def: o,
  2173. ui: er(o, t),
  2174. instance: mt(o.defId, e.range),
  2175. range: e.range,
  2176. isStart: !0,
  2177. isEnd: !0
  2178. }
  2179. }
  2180. function mr(e, t, n) {
  2181. n.emitter.trigger("select", r(r({}, yr(e, n)), {
  2182. jsEvent: t ? t.origEvent : null,
  2183. view: n.viewApi || n.calendarApi.view
  2184. }))
  2185. }
  2186. function yr(e, t) {
  2187. for (var n, o, i = {}, a = 0, s = t.pluginHooks.dateSpanTransforms; a < s.length; a++) {
  2188. var l = s[a];
  2189. r(i, l(e, t))
  2190. }
  2191. return r(i, (n = e, o = t.dateEnv, r(r({}, vr(n.range, o, n.allDay)), {
  2192. allDay: n.allDay
  2193. }))), i
  2194. }
  2195. function Er(e, t, n) {
  2196. var r = n.dateEnv,
  2197. o = n.options,
  2198. i = t;
  2199. return e ? (i = lt(i), i = r.add(i, o.defaultAllDayEventDuration)) : i = r.add(i, o.defaultTimedEventDuration), i
  2200. }
  2201. function Sr(e, t, n, r) {
  2202. var o = Qn(e.defs, t),
  2203. i = {
  2204. defs: {},
  2205. instances: {}
  2206. };
  2207. for (var a in e.defs) {
  2208. var s = e.defs[a];
  2209. i.defs[a] = br(s, o[a], n, r)
  2210. }
  2211. for (var l in e.instances) {
  2212. var u = e.instances[l];
  2213. s = i.defs[u.defId];
  2214. i.instances[l] = Dr(u, s, o[u.defId], n, r)
  2215. }
  2216. return i
  2217. }
  2218. function br(e, t, n, o) {
  2219. var i = n.standardProps || {};
  2220. null == i.hasEnd && t.durationEditable && (n.startDelta || n.endDelta) && (i.hasEnd = !0);
  2221. var a = r(r(r({}, e), i), {
  2222. ui: r(r({}, e.ui), i.ui)
  2223. });
  2224. n.extendedProps && (a.extendedProps = r(r({}, a.extendedProps), n.extendedProps));
  2225. for (var s = 0, l = o.pluginHooks.eventDefMutationAppliers; s < l.length; s++) {
  2226. (0, l[s])(a, n, o)
  2227. }
  2228. return !a.hasEnd && o.options.forceEventDuration && (a.hasEnd = !0), a
  2229. }
  2230. function Dr(e, t, n, o, i) {
  2231. var a = i.dateEnv,
  2232. s = o.standardProps && !0 === o.standardProps.allDay,
  2233. l = o.standardProps && !1 === o.standardProps.hasEnd,
  2234. u = r({}, e);
  2235. return s && (u.range = Un(u.range)), o.datesDelta && n.startEditable && (u.range = {
  2236. start: a.add(u.range.start, o.datesDelta),
  2237. end: a.add(u.range.end, o.datesDelta)
  2238. }), o.startDelta && n.durationEditable && (u.range = {
  2239. start: a.add(u.range.start, o.startDelta),
  2240. end: u.range.end
  2241. }), o.endDelta && n.durationEditable && (u.range = {
  2242. start: u.range.start,
  2243. end: a.add(u.range.end, o.endDelta)
  2244. }), l && (u.range = {
  2245. start: u.range.start,
  2246. end: Er(t.allDay, u.range.start, i)
  2247. }), t.allDay && (u.range = {
  2248. start: lt(u.range.start),
  2249. end: lt(u.range.end)
  2250. }), u.range.end < u.range.start && (u.range.end = Er(t.allDay, u.range.start, i)), u
  2251. }
  2252. var Cr = function() {
  2253. function e(e, t, n) {
  2254. this.type = e, this.getCurrentData = t, this.dateEnv = n
  2255. }
  2256. return Object.defineProperty(e.prototype, "calendar", {
  2257. get: function() {
  2258. return this.getCurrentData().calendarApi
  2259. },
  2260. enumerable: !1,
  2261. configurable: !0
  2262. }), Object.defineProperty(e.prototype, "title", {
  2263. get: function() {
  2264. return this.getCurrentData().viewTitle
  2265. },
  2266. enumerable: !1,
  2267. configurable: !0
  2268. }), Object.defineProperty(e.prototype, "activeStart", {
  2269. get: function() {
  2270. return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)
  2271. },
  2272. enumerable: !1,
  2273. configurable: !0
  2274. }), Object.defineProperty(e.prototype, "activeEnd", {
  2275. get: function() {
  2276. return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)
  2277. },
  2278. enumerable: !1,
  2279. configurable: !0
  2280. }), Object.defineProperty(e.prototype, "currentStart", {
  2281. get: function() {
  2282. return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)
  2283. },
  2284. enumerable: !1,
  2285. configurable: !0
  2286. }), Object.defineProperty(e.prototype, "currentEnd", {
  2287. get: function() {
  2288. return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)
  2289. },
  2290. enumerable: !1,
  2291. configurable: !0
  2292. }), e.prototype.getOption = function(e) {
  2293. return this.getCurrentData().options[e]
  2294. }, e
  2295. }(),
  2296. wr = {
  2297. id: String,
  2298. defaultAllDay: Boolean,
  2299. url: String,
  2300. format: String,
  2301. events: yn,
  2302. eventDataTransform: yn,
  2303. success: yn,
  2304. failure: yn
  2305. };
  2306. function Rr(e, t, n) {
  2307. var r;
  2308. if (void 0 === n && (n = _r(t)), "string" == typeof e ? r = {
  2309. url: e
  2310. } : "function" == typeof e || Array.isArray(e) ? r = {
  2311. events: e
  2312. } : "object" == typeof e && e && (r = e), r) {
  2313. var o = mn(r, n),
  2314. i = o.refined,
  2315. a = o.extra,
  2316. s = function(e, t) {
  2317. for (var n = t.pluginHooks.eventSourceDefs, r = n.length - 1; r >= 0; r -= 1) {
  2318. var o = n[r].parseMeta(e);
  2319. if (o) return {
  2320. sourceDefId: r,
  2321. meta: o
  2322. }
  2323. }
  2324. return null
  2325. }(i, t);
  2326. if (s) return {
  2327. _raw: e,
  2328. isFetching: !1,
  2329. latestFetchId: "",
  2330. fetchRange: null,
  2331. defaultAllDay: i.defaultAllDay,
  2332. eventDataTransform: i.eventDataTransform,
  2333. success: i.success,
  2334. failure: i.failure,
  2335. publicId: i.id || "",
  2336. sourceId: Le(),
  2337. sourceDefId: s.sourceDefId,
  2338. meta: s.meta,
  2339. ui: kn(i, t),
  2340. extendedProps: a
  2341. }
  2342. }
  2343. return null
  2344. }
  2345. function _r(e) {
  2346. return r(r(r({}, _n), wr), e.pluginHooks.eventSourceRefiners)
  2347. }
  2348. function Tr(e, t) {
  2349. return "function" == typeof e && (e = e()), null == e ? t.createNowMarker() : t.createMarker(e)
  2350. }
  2351. var kr = function() {
  2352. function e() {}
  2353. return e.prototype.getCurrentData = function() {
  2354. return this.currentDataManager.getCurrentData()
  2355. }, e.prototype.dispatch = function(e) {
  2356. return this.currentDataManager.dispatch(e)
  2357. }, Object.defineProperty(e.prototype, "view", {
  2358. get: function() {
  2359. return this.getCurrentData().viewApi
  2360. },
  2361. enumerable: !1,
  2362. configurable: !0
  2363. }), e.prototype.batchRendering = function(e) {
  2364. e()
  2365. }, e.prototype.updateSize = function() {
  2366. this.trigger("_resize", !0)
  2367. }, e.prototype.setOption = function(e, t) {
  2368. this.dispatch({
  2369. type: "SET_OPTION",
  2370. optionName: e,
  2371. rawOptionValue: t
  2372. })
  2373. }, e.prototype.getOption = function(e) {
  2374. return this.currentDataManager.currentCalendarOptionsInput[e]
  2375. }, e.prototype.getAvailableLocaleCodes = function() {
  2376. return Object.keys(this.getCurrentData().availableRawLocales)
  2377. }, e.prototype.on = function(e, t) {
  2378. var n = this.currentDataManager;
  2379. n.currentCalendarOptionsRefiners[e] ? n.emitter.on(e, t) : console.warn("Unknown listener name '" + e + "'")
  2380. }, e.prototype.off = function(e, t) {
  2381. this.currentDataManager.emitter.off(e, t)
  2382. }, e.prototype.trigger = function(e) {
  2383. for (var t, n = [], r = 1; r < arguments.length; r++) n[r - 1] = arguments[r];
  2384. (t = this.currentDataManager.emitter).trigger.apply(t, o([e], n))
  2385. }, e.prototype.changeView = function(e, t) {
  2386. var n = this;
  2387. this.batchRendering((function() {
  2388. if (n.unselect(), t)
  2389. if (t.start && t.end) n.dispatch({
  2390. type: "CHANGE_VIEW_TYPE",
  2391. viewType: e
  2392. }), n.dispatch({
  2393. type: "SET_OPTION",
  2394. optionName: "visibleRange",
  2395. rawOptionValue: t
  2396. });
  2397. else {
  2398. var r = n.getCurrentData().dateEnv;
  2399. n.dispatch({
  2400. type: "CHANGE_VIEW_TYPE",
  2401. viewType: e,
  2402. dateMarker: r.createMarker(t)
  2403. })
  2404. }
  2405. else n.dispatch({
  2406. type: "CHANGE_VIEW_TYPE",
  2407. viewType: e
  2408. })
  2409. }))
  2410. }, e.prototype.zoomTo = function(e, t) {
  2411. var n;
  2412. t = t || "day", n = this.getCurrentData().viewSpecs[t] || this.getUnitViewSpec(t), this.unselect(), n ? this.dispatch({
  2413. type: "CHANGE_VIEW_TYPE",
  2414. viewType: n.type,
  2415. dateMarker: e
  2416. }) : this.dispatch({
  2417. type: "CHANGE_DATE",
  2418. dateMarker: e
  2419. })
  2420. }, e.prototype.getUnitViewSpec = function(e) {
  2421. var t, n, r = this.getCurrentData(),
  2422. o = r.viewSpecs,
  2423. i = r.toolbarConfig,
  2424. a = [].concat(i.header ? i.header.viewsWithButtons : [], i.footer ? i.footer.viewsWithButtons : []);
  2425. for (var s in o) a.push(s);
  2426. for (t = 0; t < a.length; t += 1)
  2427. if ((n = o[a[t]]) && n.singleUnit === e) return n;
  2428. return null
  2429. }, e.prototype.prev = function() {
  2430. this.unselect(), this.dispatch({
  2431. type: "PREV"
  2432. })
  2433. }, e.prototype.next = function() {
  2434. this.unselect(), this.dispatch({
  2435. type: "NEXT"
  2436. })
  2437. }, e.prototype.prevYear = function() {
  2438. var e = this.getCurrentData();
  2439. this.unselect(), this.dispatch({
  2440. type: "CHANGE_DATE",
  2441. dateMarker: e.dateEnv.addYears(e.currentDate, -1)
  2442. })
  2443. }, e.prototype.nextYear = function() {
  2444. var e = this.getCurrentData();
  2445. this.unselect(), this.dispatch({
  2446. type: "CHANGE_DATE",
  2447. dateMarker: e.dateEnv.addYears(e.currentDate, 1)
  2448. })
  2449. }, e.prototype.today = function() {
  2450. var e = this.getCurrentData();
  2451. this.unselect(), this.dispatch({
  2452. type: "CHANGE_DATE",
  2453. dateMarker: Tr(e.calendarOptions.now, e.dateEnv)
  2454. })
  2455. }, e.prototype.gotoDate = function(e) {
  2456. var t = this.getCurrentData();
  2457. this.unselect(), this.dispatch({
  2458. type: "CHANGE_DATE",
  2459. dateMarker: t.dateEnv.createMarker(e)
  2460. })
  2461. }, e.prototype.incrementDate = function(e) {
  2462. var t = this.getCurrentData(),
  2463. n = Nt(e);
  2464. n && (this.unselect(), this.dispatch({
  2465. type: "CHANGE_DATE",
  2466. dateMarker: t.dateEnv.add(t.currentDate, n)
  2467. }))
  2468. }, e.prototype.getDate = function() {
  2469. var e = this.getCurrentData();
  2470. return e.dateEnv.toDate(e.currentDate)
  2471. }, e.prototype.formatDate = function(e, t) {
  2472. var n = this.getCurrentData().dateEnv;
  2473. return n.format(n.createMarker(e), ln(t))
  2474. }, e.prototype.formatRange = function(e, t, n) {
  2475. var r = this.getCurrentData().dateEnv;
  2476. return r.formatRange(r.createMarker(e), r.createMarker(t), ln(n), n)
  2477. }, e.prototype.formatIso = function(e, t) {
  2478. var n = this.getCurrentData().dateEnv;
  2479. return n.formatIso(n.createMarker(e), {
  2480. omitTime: t
  2481. })
  2482. }, e.prototype.select = function(e, t) {
  2483. var n;
  2484. n = null == t ? null != e.start ? e : {
  2485. start: e,
  2486. end: null
  2487. } : {
  2488. start: e,
  2489. end: t
  2490. };
  2491. var r = this.getCurrentData(),
  2492. o = pr(n, r.dateEnv, Nt({
  2493. days: 1
  2494. }));
  2495. o && (this.dispatch({
  2496. type: "SELECT_DATES",
  2497. selection: o
  2498. }), mr(o, null, r))
  2499. }, e.prototype.unselect = function(e) {
  2500. var t = this.getCurrentData();
  2501. t.dateSelection && (this.dispatch({
  2502. type: "UNSELECT_DATES"
  2503. }), function(e, t) {
  2504. t.emitter.trigger("unselect", {
  2505. jsEvent: e ? e.origEvent : null,
  2506. view: t.viewApi || t.calendarApi.view
  2507. })
  2508. }(e, t))
  2509. }, e.prototype.addEvent = function(e, t) {
  2510. if (e instanceof xr) {
  2511. var n = e._def,
  2512. r = e._instance;
  2513. return this.getCurrentData().eventStore.defs[n.defId] || (this.dispatch({
  2514. type: "ADD_EVENTS",
  2515. eventStore: Sn({
  2516. def: n,
  2517. instance: r
  2518. })
  2519. }), this.triggerEventAdd(e)), e
  2520. }
  2521. var o, i = this.getCurrentData();
  2522. if (t instanceof ye) o = t.internalEventSource;
  2523. else if ("boolean" == typeof t) t && (o = Ct(i.eventSources)[0]);
  2524. else if (null != t) {
  2525. var a = this.getEventSourceById(t);
  2526. if (!a) return console.warn('Could not find an event source with ID "' + t + '"'), null;
  2527. o = a.internalEventSource
  2528. }
  2529. var s = Hn(e, o, i, !1);
  2530. if (s) {
  2531. var l = new xr(i, s.def, s.def.recurringDef ? null : s.instance);
  2532. return this.dispatch({
  2533. type: "ADD_EVENTS",
  2534. eventStore: Sn(s)
  2535. }), this.triggerEventAdd(l), l
  2536. }
  2537. return null
  2538. }, e.prototype.triggerEventAdd = function(e) {
  2539. var t = this;
  2540. this.getCurrentData().emitter.trigger("eventAdd", {
  2541. event: e,
  2542. relatedEvents: [],
  2543. revert: function() {
  2544. t.dispatch({
  2545. type: "REMOVE_EVENTS",
  2546. eventStore: Mr(e)
  2547. })
  2548. }
  2549. })
  2550. }, e.prototype.getEventById = function(e) {
  2551. var t = this.getCurrentData(),
  2552. n = t.eventStore,
  2553. r = n.defs,
  2554. o = n.instances;
  2555. for (var i in e = String(e), r) {
  2556. var a = r[i];
  2557. if (a.publicId === e) {
  2558. if (a.recurringDef) return new xr(t, a, null);
  2559. for (var s in o) {
  2560. var l = o[s];
  2561. if (l.defId === a.defId) return new xr(t, a, l)
  2562. }
  2563. }
  2564. }
  2565. return null
  2566. }, e.prototype.getEvents = function() {
  2567. var e = this.getCurrentData();
  2568. return Ir(e.eventStore, e)
  2569. }, e.prototype.removeAllEvents = function() {
  2570. this.dispatch({
  2571. type: "REMOVE_ALL_EVENTS"
  2572. })
  2573. }, e.prototype.getEventSources = function() {
  2574. var e = this.getCurrentData(),
  2575. t = e.eventSources,
  2576. n = [];
  2577. for (var r in t) n.push(new ye(e, t[r]));
  2578. return n
  2579. }, e.prototype.getEventSourceById = function(e) {
  2580. var t = this.getCurrentData(),
  2581. n = t.eventSources;
  2582. for (var r in e = String(e), n)
  2583. if (n[r].publicId === e) return new ye(t, n[r]);
  2584. return null
  2585. }, e.prototype.addEventSource = function(e) {
  2586. var t = this.getCurrentData();
  2587. if (e instanceof ye) return t.eventSources[e.internalEventSource.sourceId] || this.dispatch({
  2588. type: "ADD_EVENT_SOURCES",
  2589. sources: [e.internalEventSource]
  2590. }), e;
  2591. var n = Rr(e, t);
  2592. return n ? (this.dispatch({
  2593. type: "ADD_EVENT_SOURCES",
  2594. sources: [n]
  2595. }), new ye(t, n)) : null
  2596. }, e.prototype.removeAllEventSources = function() {
  2597. this.dispatch({
  2598. type: "REMOVE_ALL_EVENT_SOURCES"
  2599. })
  2600. }, e.prototype.refetchEvents = function() {
  2601. this.dispatch({
  2602. type: "FETCH_EVENT_SOURCES",
  2603. isRefetch: !0
  2604. })
  2605. }, e.prototype.scrollToTime = function(e) {
  2606. var t = Nt(e);
  2607. t && this.trigger("_scrollRequest", {
  2608. time: t
  2609. })
  2610. }, e
  2611. }(),
  2612. xr = function() {
  2613. function e(e, t, n) {
  2614. this._context = e, this._def = t, this._instance = n || null
  2615. }
  2616. return e.prototype.setProp = function(e, t) {
  2617. var n, r;
  2618. if (e in Pn) console.warn("Could not set date-related prop 'name'. Use one of the date-related methods instead.");
  2619. else if ("id" === e) t = In[e](t), this.mutate({
  2620. standardProps: {
  2621. publicId: t
  2622. }
  2623. });
  2624. else if (e in In) t = In[e](t), this.mutate({
  2625. standardProps: (n = {}, n[e] = t, n)
  2626. });
  2627. else if (e in _n) {
  2628. var o = _n[e](t);
  2629. "color" === e ? o = {
  2630. backgroundColor: t,
  2631. borderColor: t
  2632. } : "editable" === e ? o = {
  2633. startEditable: t,
  2634. durationEditable: t
  2635. } : ((r = {})[e] = t, o = r), this.mutate({
  2636. standardProps: {
  2637. ui: o
  2638. }
  2639. })
  2640. } else console.warn("Could not set prop '" + e + "'. Use setExtendedProp instead.")
  2641. }, e.prototype.setExtendedProp = function(e, t) {
  2642. var n;
  2643. this.mutate({
  2644. extendedProps: (n = {}, n[e] = t, n)
  2645. })
  2646. }, e.prototype.setStart = function(e, t) {
  2647. void 0 === t && (t = {});
  2648. var n = this._context.dateEnv,
  2649. r = n.createMarker(e);
  2650. if (r && this._instance) {
  2651. var o = Fn(this._instance.range.start, r, n, t.granularity);
  2652. t.maintainDuration ? this.mutate({
  2653. datesDelta: o
  2654. }) : this.mutate({
  2655. startDelta: o
  2656. })
  2657. }
  2658. }, e.prototype.setEnd = function(e, t) {
  2659. void 0 === t && (t = {});
  2660. var n, r = this._context.dateEnv;
  2661. if ((null == e || (n = r.createMarker(e))) && this._instance)
  2662. if (n) {
  2663. var o = Fn(this._instance.range.end, n, r, t.granularity);
  2664. this.mutate({
  2665. endDelta: o
  2666. })
  2667. } else this.mutate({
  2668. standardProps: {
  2669. hasEnd: !1
  2670. }
  2671. })
  2672. }, e.prototype.setDates = function(e, t, n) {
  2673. void 0 === n && (n = {});
  2674. var r, o, i, a = this._context.dateEnv,
  2675. s = {
  2676. allDay: n.allDay
  2677. },
  2678. l = a.createMarker(e);
  2679. if (l && ((null == t || (r = a.createMarker(t))) && this._instance)) {
  2680. var u = this._instance.range;
  2681. !0 === n.allDay && (u = Un(u));
  2682. var c = Fn(u.start, l, a, n.granularity);
  2683. if (r) {
  2684. var d = Fn(u.end, r, a, n.granularity);
  2685. i = d, (o = c).years === i.years && o.months === i.months && o.days === i.days && o.milliseconds === i.milliseconds ? this.mutate({
  2686. datesDelta: c,
  2687. standardProps: s
  2688. }) : this.mutate({
  2689. startDelta: c,
  2690. endDelta: d,
  2691. standardProps: s
  2692. })
  2693. } else s.hasEnd = !1, this.mutate({
  2694. datesDelta: c,
  2695. standardProps: s
  2696. })
  2697. }
  2698. }, e.prototype.moveStart = function(e) {
  2699. var t = Nt(e);
  2700. t && this.mutate({
  2701. startDelta: t
  2702. })
  2703. }, e.prototype.moveEnd = function(e) {
  2704. var t = Nt(e);
  2705. t && this.mutate({
  2706. endDelta: t
  2707. })
  2708. }, e.prototype.moveDates = function(e) {
  2709. var t = Nt(e);
  2710. t && this.mutate({
  2711. datesDelta: t
  2712. })
  2713. }, e.prototype.setAllDay = function(e, t) {
  2714. void 0 === t && (t = {});
  2715. var n = {
  2716. allDay: e
  2717. },
  2718. r = t.maintainDuration;
  2719. null == r && (r = this._context.options.allDayMaintainDuration), this._def.allDay !== e && (n.hasEnd = r), this.mutate({
  2720. standardProps: n
  2721. })
  2722. }, e.prototype.formatRange = function(e) {
  2723. var t = this._context.dateEnv,
  2724. n = this._instance,
  2725. r = ln(e);
  2726. return this._def.hasEnd ? t.formatRange(n.range.start, n.range.end, r, {
  2727. forcedStartTzo: n.forcedStartTzo,
  2728. forcedEndTzo: n.forcedEndTzo
  2729. }) : t.format(n.range.start, r, {
  2730. forcedTzo: n.forcedStartTzo
  2731. })
  2732. }, e.prototype.mutate = function(t) {
  2733. var n = this._instance;
  2734. if (n) {
  2735. var r = this._def,
  2736. o = this._context,
  2737. i = o.getCurrentData().eventStore,
  2738. a = bn(i, n.instanceId);
  2739. a = Sr(a, {
  2740. "": {
  2741. display: "",
  2742. startEditable: !0,
  2743. durationEditable: !0,
  2744. constraints: [],
  2745. overlap: null,
  2746. allows: [],
  2747. backgroundColor: "",
  2748. borderColor: "",
  2749. textColor: "",
  2750. classNames: []
  2751. }
  2752. }, t, o);
  2753. var s = new e(o, r, n);
  2754. this._def = a.defs[r.defId], this._instance = a.instances[n.instanceId], o.dispatch({
  2755. type: "MERGE_EVENTS",
  2756. eventStore: a
  2757. }), o.emitter.trigger("eventChange", {
  2758. oldEvent: s,
  2759. event: this,
  2760. relatedEvents: Ir(a, o, n),
  2761. revert: function() {
  2762. o.dispatch({
  2763. type: "RESET_EVENTS",
  2764. eventStore: i
  2765. })
  2766. }
  2767. })
  2768. }
  2769. }, e.prototype.remove = function() {
  2770. var e = this._context,
  2771. t = Mr(this);
  2772. e.dispatch({
  2773. type: "REMOVE_EVENTS",
  2774. eventStore: t
  2775. }), e.emitter.trigger("eventRemove", {
  2776. event: this,
  2777. relatedEvents: [],
  2778. revert: function() {
  2779. e.dispatch({
  2780. type: "MERGE_EVENTS",
  2781. eventStore: t
  2782. })
  2783. }
  2784. })
  2785. }, Object.defineProperty(e.prototype, "source", {
  2786. get: function() {
  2787. var e = this._def.sourceId;
  2788. return e ? new ye(this._context, this._context.getCurrentData().eventSources[e]) : null
  2789. },
  2790. enumerable: !1,
  2791. configurable: !0
  2792. }), Object.defineProperty(e.prototype, "start", {
  2793. get: function() {
  2794. return this._instance ? this._context.dateEnv.toDate(this._instance.range.start) : null
  2795. },
  2796. enumerable: !1,
  2797. configurable: !0
  2798. }), Object.defineProperty(e.prototype, "end", {
  2799. get: function() {
  2800. return this._instance && this._def.hasEnd ? this._context.dateEnv.toDate(this._instance.range.end) : null
  2801. },
  2802. enumerable: !1,
  2803. configurable: !0
  2804. }), Object.defineProperty(e.prototype, "startStr", {
  2805. get: function() {
  2806. var e = this._instance;
  2807. return e ? this._context.dateEnv.formatIso(e.range.start, {
  2808. omitTime: this._def.allDay,
  2809. forcedTzo: e.forcedStartTzo
  2810. }) : ""
  2811. },
  2812. enumerable: !1,
  2813. configurable: !0
  2814. }), Object.defineProperty(e.prototype, "endStr", {
  2815. get: function() {
  2816. var e = this._instance;
  2817. return e && this._def.hasEnd ? this._context.dateEnv.formatIso(e.range.end, {
  2818. omitTime: this._def.allDay,
  2819. forcedTzo: e.forcedEndTzo
  2820. }) : ""
  2821. },
  2822. enumerable: !1,
  2823. configurable: !0
  2824. }), Object.defineProperty(e.prototype, "id", {
  2825. get: function() {
  2826. return this._def.publicId
  2827. },
  2828. enumerable: !1,
  2829. configurable: !0
  2830. }), Object.defineProperty(e.prototype, "groupId", {
  2831. get: function() {
  2832. return this._def.groupId
  2833. },
  2834. enumerable: !1,
  2835. configurable: !0
  2836. }), Object.defineProperty(e.prototype, "allDay", {
  2837. get: function() {
  2838. return this._def.allDay
  2839. },
  2840. enumerable: !1,
  2841. configurable: !0
  2842. }), Object.defineProperty(e.prototype, "title", {
  2843. get: function() {
  2844. return this._def.title
  2845. },
  2846. enumerable: !1,
  2847. configurable: !0
  2848. }), Object.defineProperty(e.prototype, "url", {
  2849. get: function() {
  2850. return this._def.url
  2851. },
  2852. enumerable: !1,
  2853. configurable: !0
  2854. }), Object.defineProperty(e.prototype, "display", {
  2855. get: function() {
  2856. return this._def.ui.display || "auto"
  2857. },
  2858. enumerable: !1,
  2859. configurable: !0
  2860. }), Object.defineProperty(e.prototype, "startEditable", {
  2861. get: function() {
  2862. return this._def.ui.startEditable
  2863. },
  2864. enumerable: !1,
  2865. configurable: !0
  2866. }), Object.defineProperty(e.prototype, "durationEditable", {
  2867. get: function() {
  2868. return this._def.ui.durationEditable
  2869. },
  2870. enumerable: !1,
  2871. configurable: !0
  2872. }), Object.defineProperty(e.prototype, "constraint", {
  2873. get: function() {
  2874. return this._def.ui.constraints[0] || null
  2875. },
  2876. enumerable: !1,
  2877. configurable: !0
  2878. }), Object.defineProperty(e.prototype, "overlap", {
  2879. get: function() {
  2880. return this._def.ui.overlap
  2881. },
  2882. enumerable: !1,
  2883. configurable: !0
  2884. }), Object.defineProperty(e.prototype, "allow", {
  2885. get: function() {
  2886. return this._def.ui.allows[0] || null
  2887. },
  2888. enumerable: !1,
  2889. configurable: !0
  2890. }), Object.defineProperty(e.prototype, "backgroundColor", {
  2891. get: function() {
  2892. return this._def.ui.backgroundColor
  2893. },
  2894. enumerable: !1,
  2895. configurable: !0
  2896. }), Object.defineProperty(e.prototype, "borderColor", {
  2897. get: function() {
  2898. return this._def.ui.borderColor
  2899. },
  2900. enumerable: !1,
  2901. configurable: !0
  2902. }), Object.defineProperty(e.prototype, "textColor", {
  2903. get: function() {
  2904. return this._def.ui.textColor
  2905. },
  2906. enumerable: !1,
  2907. configurable: !0
  2908. }), Object.defineProperty(e.prototype, "classNames", {
  2909. get: function() {
  2910. return this._def.ui.classNames
  2911. },
  2912. enumerable: !1,
  2913. configurable: !0
  2914. }), Object.defineProperty(e.prototype, "extendedProps", {
  2915. get: function() {
  2916. return this._def.extendedProps
  2917. },
  2918. enumerable: !1,
  2919. configurable: !0
  2920. }), e.prototype.toPlainObject = function(e) {
  2921. void 0 === e && (e = {});
  2922. var t = this._def,
  2923. n = t.ui,
  2924. o = this.startStr,
  2925. i = this.endStr,
  2926. a = {};
  2927. return t.title && (a.title = t.title), o && (a.start = o), i && (a.end = i), t.publicId && (a.id = t.publicId), t.groupId && (a.groupId = t.groupId), t.url && (a.url = t.url), n.display && "auto" !== n.display && (a.display = n.display), e.collapseColor && n.backgroundColor && n.backgroundColor === n.borderColor ? a.color = n.backgroundColor : (n.backgroundColor && (a.backgroundColor = n.backgroundColor), n.borderColor && (a.borderColor = n.borderColor)), n.textColor && (a.textColor = n.textColor), n.classNames.length && (a.classNames = n.classNames), Object.keys(t.extendedProps).length && (e.collapseExtendedProps ? r(a, t.extendedProps) : a.extendedProps = t.extendedProps), a
  2928. }, e.prototype.toJSON = function() {
  2929. return this.toPlainObject()
  2930. }, e
  2931. }();
  2932. function Mr(e) {
  2933. var t, n, r = e._def,
  2934. o = e._instance;
  2935. return {
  2936. defs: (t = {}, t[r.defId] = r, t),
  2937. instances: o ? (n = {}, n[o.instanceId] = o, n) : {}
  2938. }
  2939. }
  2940. function Ir(e, t, n) {
  2941. var r = e.defs,
  2942. o = e.instances,
  2943. i = [],
  2944. a = n ? n.instanceId : "";
  2945. for (var s in o) {
  2946. var l = o[s],
  2947. u = r[l.defId];
  2948. l.instanceId !== a && i.push(new xr(t, u, l))
  2949. }
  2950. return i
  2951. }
  2952. var Pr = {};
  2953. var Nr, Hr = function() {
  2954. function e() {}
  2955. return e.prototype.getMarkerYear = function(e) {
  2956. return e.getUTCFullYear()
  2957. }, e.prototype.getMarkerMonth = function(e) {
  2958. return e.getUTCMonth()
  2959. }, e.prototype.getMarkerDay = function(e) {
  2960. return e.getUTCDate()
  2961. }, e.prototype.arrayToMarker = function(e) {
  2962. return ht(e)
  2963. }, e.prototype.markerToArray = function(e) {
  2964. return ft(e)
  2965. }, e
  2966. }();
  2967. Nr = Hr, Pr["gregory"] = Nr;
  2968. var Or = /^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;
  2969. function Ar(e) {
  2970. var t = Or.exec(e);
  2971. if (t) {
  2972. var n = new Date(Date.UTC(Number(t[1]), t[3] ? Number(t[3]) - 1 : 0, Number(t[5] || 1), Number(t[7] || 0), Number(t[8] || 0), Number(t[10] || 0), t[12] ? 1e3 * Number("0." + t[12]) : 0));
  2973. if (vt(n)) {
  2974. var r = null;
  2975. return t[13] && (r = ("-" === t[15] ? -1 : 1) * (60 * Number(t[16] || 0) + Number(t[18] || 0))), {
  2976. marker: n,
  2977. isTimeUnspecified: !t[6],
  2978. timeZoneOffset: r
  2979. }
  2980. }
  2981. }
  2982. return null
  2983. }
  2984. var Lr = function() {
  2985. function e(e) {
  2986. var t = this.timeZone = e.timeZone,
  2987. n = "local" !== t && "UTC" !== t;
  2988. e.namedTimeZoneImpl && n && (this.namedTimeZoneImpl = new e.namedTimeZoneImpl(t)), this.canComputeOffset = Boolean(!n || this.namedTimeZoneImpl), this.calendarSystem = function(e) {
  2989. return new Pr[e]
  2990. }(e.calendarSystem), this.locale = e.locale, this.weekDow = e.locale.week.dow, this.weekDoy = e.locale.week.doy, "ISO" === e.weekNumberCalculation && (this.weekDow = 1, this.weekDoy = 4), "number" == typeof e.firstDay && (this.weekDow = e.firstDay), "function" == typeof e.weekNumberCalculation && (this.weekNumberFunc = e.weekNumberCalculation), this.weekText = null != e.weekText ? e.weekText : e.locale.options.weekText, this.weekTextLong = (null != e.weekTextLong ? e.weekTextLong : e.locale.options.weekTextLong) || this.weekText, this.cmdFormatter = e.cmdFormatter, this.defaultSeparator = e.defaultSeparator
  2991. }
  2992. return e.prototype.createMarker = function(e) {
  2993. var t = this.createMarkerMeta(e);
  2994. return null === t ? null : t.marker
  2995. }, e.prototype.createNowMarker = function() {
  2996. return this.canComputeOffset ? this.timestampToMarker((new Date).valueOf()) : ht(dt(new Date))
  2997. }, e.prototype.createMarkerMeta = function(e) {
  2998. if ("string" == typeof e) return this.parse(e);
  2999. var t = null;
  3000. return "number" == typeof e ? t = this.timestampToMarker(e) : e instanceof Date ? (e = e.valueOf(), isNaN(e) || (t = this.timestampToMarker(e))) : Array.isArray(e) && (t = ht(e)), null !== t && vt(t) ? {
  3001. marker: t,
  3002. isTimeUnspecified: !1,
  3003. forcedTzo: null
  3004. } : null
  3005. }, e.prototype.parse = function(e) {
  3006. var t = Ar(e);
  3007. if (null === t) return null;
  3008. var n = t.marker,
  3009. r = null;
  3010. return null !== t.timeZoneOffset && (this.canComputeOffset ? n = this.timestampToMarker(n.valueOf() - 60 * t.timeZoneOffset * 1e3) : r = t.timeZoneOffset), {
  3011. marker: n,
  3012. isTimeUnspecified: t.isTimeUnspecified,
  3013. forcedTzo: r
  3014. }
  3015. }, e.prototype.getYear = function(e) {
  3016. return this.calendarSystem.getMarkerYear(e)
  3017. }, e.prototype.getMonth = function(e) {
  3018. return this.calendarSystem.getMarkerMonth(e)
  3019. }, e.prototype.add = function(e, t) {
  3020. var n = this.calendarSystem.markerToArray(e);
  3021. return n[0] += t.years, n[1] += t.months, n[2] += t.days, n[6] += t.milliseconds, this.calendarSystem.arrayToMarker(n)
  3022. }, e.prototype.subtract = function(e, t) {
  3023. var n = this.calendarSystem.markerToArray(e);
  3024. return n[0] -= t.years, n[1] -= t.months, n[2] -= t.days, n[6] -= t.milliseconds, this.calendarSystem.arrayToMarker(n)
  3025. }, e.prototype.addYears = function(e, t) {
  3026. var n = this.calendarSystem.markerToArray(e);
  3027. return n[0] += t, this.calendarSystem.arrayToMarker(n)
  3028. }, e.prototype.addMonths = function(e, t) {
  3029. var n = this.calendarSystem.markerToArray(e);
  3030. return n[1] += t, this.calendarSystem.arrayToMarker(n)
  3031. }, e.prototype.diffWholeYears = function(e, t) {
  3032. var n = this.calendarSystem;
  3033. return gt(e) === gt(t) && n.getMarkerDay(e) === n.getMarkerDay(t) && n.getMarkerMonth(e) === n.getMarkerMonth(t) ? n.getMarkerYear(t) - n.getMarkerYear(e) : null
  3034. }, e.prototype.diffWholeMonths = function(e, t) {
  3035. var n = this.calendarSystem;
  3036. return gt(e) === gt(t) && n.getMarkerDay(e) === n.getMarkerDay(t) ? n.getMarkerMonth(t) - n.getMarkerMonth(e) + 12 * (n.getMarkerYear(t) - n.getMarkerYear(e)) : null
  3037. }, e.prototype.greatestWholeUnit = function(e, t) {
  3038. var n = this.diffWholeYears(e, t);
  3039. return null !== n ? {
  3040. unit: "year",
  3041. value: n
  3042. } : null !== (n = this.diffWholeMonths(e, t)) ? {
  3043. unit: "month",
  3044. value: n
  3045. } : null !== (n = at(e, t)) ? {
  3046. unit: "week",
  3047. value: n
  3048. } : null !== (n = st(e, t)) ? {
  3049. unit: "day",
  3050. value: n
  3051. } : $e(n = function(e, t) {
  3052. return (t.valueOf() - e.valueOf()) / 36e5
  3053. }(e, t)) ? {
  3054. unit: "hour",
  3055. value: n
  3056. } : $e(n = function(e, t) {
  3057. return (t.valueOf() - e.valueOf()) / 6e4
  3058. }(e, t)) ? {
  3059. unit: "minute",
  3060. value: n
  3061. } : $e(n = function(e, t) {
  3062. return (t.valueOf() - e.valueOf()) / 1e3
  3063. }(e, t)) ? {
  3064. unit: "second",
  3065. value: n
  3066. } : {
  3067. unit: "millisecond",
  3068. value: t.valueOf() - e.valueOf()
  3069. }
  3070. }, e.prototype.countDurationsBetween = function(e, t, n) {
  3071. var r;
  3072. return n.years && null !== (r = this.diffWholeYears(e, t)) ? r / (Lt(n) / 365) : n.months && null !== (r = this.diffWholeMonths(e, t)) ? r / function(e) {
  3073. return Lt(e) / 30
  3074. }(n) : n.days && null !== (r = st(e, t)) ? r / Lt(n) : (t.valueOf() - e.valueOf()) / Ut(n)
  3075. }, e.prototype.startOf = function(e, t) {
  3076. return "year" === t ? this.startOfYear(e) : "month" === t ? this.startOfMonth(e) : "week" === t ? this.startOfWeek(e) : "day" === t ? lt(e) : "hour" === t ? function(e) {
  3077. return ht([e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate(), e.getUTCHours()])
  3078. }(e) : "minute" === t ? function(e) {
  3079. return ht([e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate(), e.getUTCHours(), e.getUTCMinutes()])
  3080. }(e) : "second" === t ? function(e) {
  3081. return ht([e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate(), e.getUTCHours(), e.getUTCMinutes(), e.getUTCSeconds()])
  3082. }(e) : null
  3083. }, e.prototype.startOfYear = function(e) {
  3084. return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])
  3085. }, e.prototype.startOfMonth = function(e) {
  3086. return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e), this.calendarSystem.getMarkerMonth(e)])
  3087. }, e.prototype.startOfWeek = function(e) {
  3088. return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e), this.calendarSystem.getMarkerMonth(e), e.getUTCDate() - (e.getUTCDay() - this.weekDow + 7) % 7])
  3089. }, e.prototype.computeWeekNumber = function(e) {
  3090. return this.weekNumberFunc ? this.weekNumberFunc(this.toDate(e)) : function(e, t, n) {
  3091. var r = e.getUTCFullYear(),
  3092. o = ut(e, r, t, n);
  3093. if (o < 1) return ut(e, r - 1, t, n);
  3094. var i = ut(e, r + 1, t, n);
  3095. return i >= 1 ? Math.min(o, i) : o
  3096. }(e, this.weekDow, this.weekDoy)
  3097. }, e.prototype.format = function(e, t, n) {
  3098. return void 0 === n && (n = {}), t.format({
  3099. marker: e,
  3100. timeZoneOffset: null != n.forcedTzo ? n.forcedTzo : this.offsetForMarker(e)
  3101. }, this)
  3102. }, e.prototype.formatRange = function(e, t, n, r) {
  3103. return void 0 === r && (r = {}), r.isEndExclusive && (t = nt(t, -1)), n.formatRange({
  3104. marker: e,
  3105. timeZoneOffset: null != r.forcedStartTzo ? r.forcedStartTzo : this.offsetForMarker(e)
  3106. }, {
  3107. marker: t,
  3108. timeZoneOffset: null != r.forcedEndTzo ? r.forcedEndTzo : this.offsetForMarker(t)
  3109. }, this, r.defaultSeparator)
  3110. }, e.prototype.formatIso = function(e, t) {
  3111. void 0 === t && (t = {});
  3112. var n = null;
  3113. return t.omitTimeZoneOffset || (n = null != t.forcedTzo ? t.forcedTzo : this.offsetForMarker(e)), Ft(e, n, t.omitTime)
  3114. }, e.prototype.timestampToMarker = function(e) {
  3115. return "local" === this.timeZone ? ht(dt(new Date(e))) : "UTC" !== this.timeZone && this.namedTimeZoneImpl ? ht(this.namedTimeZoneImpl.timestampToArray(e)) : new Date(e)
  3116. }, e.prototype.offsetForMarker = function(e) {
  3117. return "local" === this.timeZone ? -pt(ft(e)).getTimezoneOffset() : "UTC" === this.timeZone ? 0 : this.namedTimeZoneImpl ? this.namedTimeZoneImpl.offsetForArray(ft(e)) : null
  3118. }, e.prototype.toDate = function(e, t) {
  3119. return "local" === this.timeZone ? pt(ft(e)) : "UTC" === this.timeZone ? new Date(e.valueOf()) : this.namedTimeZoneImpl ? new Date(e.valueOf() - 1e3 * this.namedTimeZoneImpl.offsetForArray(ft(e)) * 60) : new Date(e.valueOf() - (t || 0))
  3120. }, e
  3121. }(),
  3122. Ur = [],
  3123. Wr = {
  3124. code: "en",
  3125. week: {
  3126. dow: 0,
  3127. doy: 4
  3128. },
  3129. direction: "ltr",
  3130. buttonText: {
  3131. prev: "prev",
  3132. next: "next",
  3133. prevYear: "prev year",
  3134. nextYear: "next year",
  3135. year: "year",
  3136. today: "today",
  3137. month: "month",
  3138. week: "week",
  3139. day: "day",
  3140. list: "list"
  3141. },
  3142. weekText: "W",
  3143. weekTextLong: "Week",
  3144. closeHint: "Close",
  3145. timeHint: "Time",
  3146. eventHint: "Event",
  3147. allDayText: "all-day",
  3148. moreLinkText: "more",
  3149. noEventsText: "No events to display"
  3150. },
  3151. Vr = r(r({}, Wr), {
  3152. buttonHints: {
  3153. prev: "Previous $0",
  3154. next: "Next $0",
  3155. today: function(e, t) {
  3156. return "day" === t ? "Today" : "This " + e
  3157. }
  3158. },
  3159. viewHint: "$0 view",
  3160. navLinkHint: "Go to $0",
  3161. moreLinkHint: function(e) {
  3162. return "Show " + e + " more event" + (1 === e ? "" : "s")
  3163. }
  3164. });
  3165. function Fr(e) {
  3166. for (var t = e.length > 0 ? e[0].code : "en", n = Ur.concat(e), r = {
  3167. en: Vr
  3168. }, o = 0, i = n; o < i.length; o++) {
  3169. var a = i[o];
  3170. r[a.code] = a
  3171. }
  3172. return {
  3173. map: r,
  3174. defaultCode: t
  3175. }
  3176. }
  3177. function Br(e, t) {
  3178. return "object" != typeof e || Array.isArray(e) ? function(e, t) {
  3179. var n = [].concat(e || []),
  3180. r = function(e, t) {
  3181. for (var n = 0; n < e.length; n += 1)
  3182. for (var r = e[n].toLocaleLowerCase().split("-"), o = r.length; o > 0; o -= 1) {
  3183. var i = r.slice(0, o).join("-");
  3184. if (t[i]) return t[i]
  3185. }
  3186. return null
  3187. }(n, t) || Vr;
  3188. return zr(e, n, r)
  3189. }(e, t) : zr(e.code, [e.code], e)
  3190. }
  3191. function zr(e, t, n) {
  3192. var r = Et([Wr, n], ["buttonText"]);
  3193. delete r.code;
  3194. var o = r.week;
  3195. return delete r.week, {
  3196. codeArg: e,
  3197. codes: t,
  3198. week: o,
  3199. simpleNumberFormat: new Intl.NumberFormat(e),
  3200. options: r
  3201. }
  3202. }
  3203. function jr(e) {
  3204. var t = Br(e.locale || "en", Fr([]).map);
  3205. return new Lr(r(r({
  3206. timeZone: cn.timeZone,
  3207. calendarSystem: "gregory"
  3208. }, e), {
  3209. locale: t
  3210. }))
  3211. }
  3212. var Gr, qr = {
  3213. startTime: "09:00",
  3214. endTime: "17:00",
  3215. daysOfWeek: [1, 2, 3, 4, 5],
  3216. display: "inverse-background",
  3217. classNames: "fc-non-business",
  3218. groupId: "_businessHours"
  3219. };
  3220. function Yr(e, t) {
  3221. return En(function(e) {
  3222. var t;
  3223. t = !0 === e ? [{}] : Array.isArray(e) ? e.filter((function(e) {
  3224. return e.daysOfWeek
  3225. })) : "object" == typeof e && e ? [e] : [];
  3226. return t = t.map((function(e) {
  3227. return r(r({}, qr), e)
  3228. }))
  3229. }(e), null, t)
  3230. }
  3231. function Zr(e, t) {
  3232. return e.left >= t.left && e.left < t.right && e.top >= t.top && e.top < t.bottom
  3233. }
  3234. function Xr(e, t) {
  3235. var n = {
  3236. left: Math.max(e.left, t.left),
  3237. right: Math.min(e.right, t.right),
  3238. top: Math.max(e.top, t.top),
  3239. bottom: Math.min(e.bottom, t.bottom)
  3240. };
  3241. return n.left < n.right && n.top < n.bottom && n
  3242. }
  3243. function Kr(e, t) {
  3244. return {
  3245. left: Math.min(Math.max(e.left, t.left), t.right),
  3246. top: Math.min(Math.max(e.top, t.top), t.bottom)
  3247. }
  3248. }
  3249. function $r(e) {
  3250. return {
  3251. left: (e.left + e.right) / 2,
  3252. top: (e.top + e.bottom) / 2
  3253. }
  3254. }
  3255. function Jr(e, t) {
  3256. return {
  3257. left: e.left - t.left,
  3258. top: e.top - t.top
  3259. }
  3260. }
  3261. function Qr() {
  3262. return null == Gr && (Gr = function() {
  3263. if ("undefined" == typeof document) return !0;
  3264. var e = document.createElement("div");
  3265. e.style.position = "absolute", e.style.top = "0px", e.style.left = "0px", e.innerHTML = "<table><tr><td><div></div></td></tr></table>", e.querySelector("table").style.height = "100px", e.querySelector("div").style.height = "100%", document.body.appendChild(e);
  3266. var t = e.querySelector("div").offsetHeight > 0;
  3267. return document.body.removeChild(e), t
  3268. }()), Gr
  3269. }
  3270. var eo = {
  3271. defs: {},
  3272. instances: {}
  3273. },
  3274. to = function() {
  3275. function e() {
  3276. this.getKeysForEventDefs = qt(this._getKeysForEventDefs), this.splitDateSelection = qt(this._splitDateSpan), this.splitEventStore = qt(this._splitEventStore), this.splitIndividualUi = qt(this._splitIndividualUi), this.splitEventDrag = qt(this._splitInteraction), this.splitEventResize = qt(this._splitInteraction), this.eventUiBuilders = {}
  3277. }
  3278. return e.prototype.splitProps = function(e) {
  3279. var t = this,
  3280. n = this.getKeyInfo(e),
  3281. r = this.getKeysForEventDefs(e.eventStore),
  3282. o = this.splitDateSelection(e.dateSelection),
  3283. i = this.splitIndividualUi(e.eventUiBases, r),
  3284. a = this.splitEventStore(e.eventStore, r),
  3285. s = this.splitEventDrag(e.eventDrag),
  3286. l = this.splitEventResize(e.eventResize),
  3287. u = {};
  3288. for (var c in this.eventUiBuilders = bt(n, (function(e, n) {
  3289. return t.eventUiBuilders[n] || qt(no)
  3290. })), n) {
  3291. var d = n[c],
  3292. p = a[c] || eo,
  3293. f = this.eventUiBuilders[c];
  3294. u[c] = {
  3295. businessHours: d.businessHours || e.businessHours,
  3296. dateSelection: o[c] || null,
  3297. eventStore: p,
  3298. eventUiBases: f(e.eventUiBases[""], d.ui, i[c]),
  3299. eventSelection: p.instances[e.eventSelection] ? e.eventSelection : "",
  3300. eventDrag: s[c] || null,
  3301. eventResize: l[c] || null
  3302. }
  3303. }
  3304. return u
  3305. }, e.prototype._splitDateSpan = function(e) {
  3306. var t = {};
  3307. if (e)
  3308. for (var n = 0, r = this.getKeysForDateSpan(e); n < r.length; n++) {
  3309. t[r[n]] = e
  3310. }
  3311. return t
  3312. }, e.prototype._getKeysForEventDefs = function(e) {
  3313. var t = this;
  3314. return bt(e.defs, (function(e) {
  3315. return t.getKeysForEventDef(e)
  3316. }))
  3317. }, e.prototype._splitEventStore = function(e, t) {
  3318. var n = e.defs,
  3319. r = e.instances,
  3320. o = {};
  3321. for (var i in n)
  3322. for (var a = 0, s = t[i]; a < s.length; a++) {
  3323. o[p = s[a]] || (o[p] = {
  3324. defs: {},
  3325. instances: {}
  3326. }), o[p].defs[i] = n[i]
  3327. }
  3328. for (var l in r)
  3329. for (var u = r[l], c = 0, d = t[u.defId]; c < d.length; c++) {
  3330. var p;
  3331. o[p = d[c]] && (o[p].instances[l] = u)
  3332. }
  3333. return o
  3334. }, e.prototype._splitIndividualUi = function(e, t) {
  3335. var n = {};
  3336. for (var r in e)
  3337. if (r)
  3338. for (var o = 0, i = t[r]; o < i.length; o++) {
  3339. var a = i[o];
  3340. n[a] || (n[a] = {}), n[a][r] = e[r]
  3341. }
  3342. return n
  3343. }, e.prototype._splitInteraction = function(e) {
  3344. var t = {};
  3345. if (e) {
  3346. var n = this._splitEventStore(e.affectedEvents, this._getKeysForEventDefs(e.affectedEvents)),
  3347. r = this._getKeysForEventDefs(e.mutatedEvents),
  3348. o = this._splitEventStore(e.mutatedEvents, r),
  3349. i = function(r) {
  3350. t[r] || (t[r] = {
  3351. affectedEvents: n[r] || eo,
  3352. mutatedEvents: o[r] || eo,
  3353. isEvent: e.isEvent
  3354. })
  3355. };
  3356. for (var a in n) i(a);
  3357. for (var a in o) i(a)
  3358. }
  3359. return t
  3360. }, e
  3361. }();
  3362. function no(e, t, n) {
  3363. var o = [];
  3364. e && o.push(e), t && o.push(t);
  3365. var i = {
  3366. "": xn(o)
  3367. };
  3368. return n && r(i, n), i
  3369. }
  3370. function ro(e, t, n, r) {
  3371. return {
  3372. dow: e.getUTCDay(),
  3373. isDisabled: Boolean(r && !Zn(r.activeRange, e)),
  3374. isOther: Boolean(r && !Zn(r.currentRange, e)),
  3375. isToday: Boolean(t && Zn(t, e)),
  3376. isPast: Boolean(n ? e < n : !!t && e < t.start),
  3377. isFuture: Boolean(n ? e > n : !!t && e >= t.end)
  3378. }
  3379. }
  3380. function oo(e, t) {
  3381. var n = ["fc-day", "fc-day-" + Qe[e.dow]];
  3382. return e.isDisabled ? n.push("fc-day-disabled") : (e.isToday && (n.push("fc-day-today"), n.push(t.getClass("today"))), e.isPast && n.push("fc-day-past"), e.isFuture && n.push("fc-day-future"), e.isOther && n.push("fc-day-other")), n
  3383. }
  3384. var io = ln({
  3385. year: "numeric",
  3386. month: "long",
  3387. day: "numeric"
  3388. }),
  3389. ao = ln({
  3390. week: "long"
  3391. });
  3392. function so(e, t, n, o) {
  3393. void 0 === n && (n = "day"), void 0 === o && (o = !0);
  3394. var i = e.dateEnv,
  3395. a = e.options,
  3396. s = e.calendarApi,
  3397. l = i.format(t, "week" === n ? ao : io);
  3398. if (a.navLinks) {
  3399. var u = i.toDate(t),
  3400. c = function(e) {
  3401. var r = "day" === n ? a.navLinkDayClick : "week" === n ? a.navLinkWeekClick : null;
  3402. "function" == typeof r ? r.call(s, i.toDate(t), e) : ("string" == typeof r && (n = r), s.zoomTo(t, n))
  3403. };
  3404. return r({
  3405. title: Xe(a.navLinkHint, [l, u], l),
  3406. "data-navlink": ""
  3407. }, o ? He(c) : {
  3408. onClick: c
  3409. })
  3410. }
  3411. return {
  3412. "aria-label": l
  3413. }
  3414. }
  3415. var lo, uo = null;
  3416. function co() {
  3417. return null === uo && (uo = function() {
  3418. var e = document.createElement("div");
  3419. we(e, {
  3420. position: "absolute",
  3421. top: -1e3,
  3422. left: 0,
  3423. border: 0,
  3424. padding: 0,
  3425. overflow: "scroll",
  3426. direction: "rtl"
  3427. }), e.innerHTML = "<div></div>", document.body.appendChild(e);
  3428. var t = e.firstChild.getBoundingClientRect().left > e.getBoundingClientRect().left;
  3429. return Ee(e), t
  3430. }()), uo
  3431. }
  3432. function po() {
  3433. return lo || (lo = function() {
  3434. var e = document.createElement("div");
  3435. e.style.overflow = "scroll", e.style.position = "absolute", e.style.top = "-9999px", e.style.left = "-9999px", document.body.appendChild(e);
  3436. var t = fo(e);
  3437. return document.body.removeChild(e), t
  3438. }()), lo
  3439. }
  3440. function fo(e) {
  3441. return {
  3442. x: e.offsetHeight - e.clientHeight,
  3443. y: e.offsetWidth - e.clientWidth
  3444. }
  3445. }
  3446. function ho(e, t) {
  3447. void 0 === t && (t = !1);
  3448. var n = window.getComputedStyle(e),
  3449. r = parseInt(n.borderLeftWidth, 10) || 0,
  3450. o = parseInt(n.borderRightWidth, 10) || 0,
  3451. i = parseInt(n.borderTopWidth, 10) || 0,
  3452. a = parseInt(n.borderBottomWidth, 10) || 0,
  3453. s = fo(e),
  3454. l = s.y - r - o,
  3455. u = {
  3456. borderLeft: r,
  3457. borderRight: o,
  3458. borderTop: i,
  3459. borderBottom: a,
  3460. scrollbarBottom: s.x - i - a,
  3461. scrollbarLeft: 0,
  3462. scrollbarRight: 0
  3463. };
  3464. return co() && "rtl" === n.direction ? u.scrollbarLeft = l : u.scrollbarRight = l, t && (u.paddingLeft = parseInt(n.paddingLeft, 10) || 0, u.paddingRight = parseInt(n.paddingRight, 10) || 0, u.paddingTop = parseInt(n.paddingTop, 10) || 0, u.paddingBottom = parseInt(n.paddingBottom, 10) || 0), u
  3465. }
  3466. function vo(e, t, n) {
  3467. void 0 === t && (t = !1);
  3468. var r = n ? e.getBoundingClientRect() : go(e),
  3469. o = ho(e, t),
  3470. i = {
  3471. left: r.left + o.borderLeft + o.scrollbarLeft,
  3472. right: r.right - o.borderRight - o.scrollbarRight,
  3473. top: r.top + o.borderTop,
  3474. bottom: r.bottom - o.borderBottom - o.scrollbarBottom
  3475. };
  3476. return t && (i.left += o.paddingLeft, i.right -= o.paddingRight, i.top += o.paddingTop, i.bottom -= o.paddingBottom), i
  3477. }
  3478. function go(e) {
  3479. var t = e.getBoundingClientRect();
  3480. return {
  3481. left: t.left + window.pageXOffset,
  3482. top: t.top + window.pageYOffset,
  3483. right: t.right + window.pageXOffset,
  3484. bottom: t.bottom + window.pageYOffset
  3485. }
  3486. }
  3487. function mo(e) {
  3488. for (var t = []; e instanceof HTMLElement;) {
  3489. var n = window.getComputedStyle(e);
  3490. if ("fixed" === n.position) break;
  3491. /(auto|scroll)/.test(n.overflow + n.overflowY + n.overflowX) && t.push(e), e = e.parentNode
  3492. }
  3493. return t
  3494. }
  3495. function yo(e, t, n) {
  3496. var r = !1,
  3497. o = function() {
  3498. r || (r = !0, t.apply(this, arguments))
  3499. },
  3500. i = function() {
  3501. r || (r = !0, n && n.apply(this, arguments))
  3502. },
  3503. a = e(o, i);
  3504. a && "function" == typeof a.then && a.then(o, i)
  3505. }
  3506. var Eo = function() {
  3507. function e() {
  3508. this.handlers = {}, this.thisContext = null
  3509. }
  3510. return e.prototype.setThisContext = function(e) {
  3511. this.thisContext = e
  3512. }, e.prototype.setOptions = function(e) {
  3513. this.options = e
  3514. }, e.prototype.on = function(e, t) {
  3515. ! function(e, t, n) {
  3516. (e[t] || (e[t] = [])).push(n)
  3517. }(this.handlers, e, t)
  3518. }, e.prototype.off = function(e, t) {
  3519. ! function(e, t, n) {
  3520. n ? e[t] && (e[t] = e[t].filter((function(e) {
  3521. return e !== n
  3522. }))) : delete e[t]
  3523. }(this.handlers, e, t)
  3524. }, e.prototype.trigger = function(e) {
  3525. for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
  3526. for (var r = this.handlers[e] || [], o = this.options && this.options[e], i = [].concat(o || [], r), a = 0, s = i; a < s.length; a++) {
  3527. var l = s[a];
  3528. l.apply(this.thisContext, t)
  3529. }
  3530. }, e.prototype.hasHandlers = function(e) {
  3531. return Boolean(this.handlers[e] && this.handlers[e].length || this.options && this.options[e])
  3532. }, e
  3533. }();
  3534. var So = function() {
  3535. function e(e, t, n, r) {
  3536. this.els = t;
  3537. var o = this.originClientRect = e.getBoundingClientRect();
  3538. n && this.buildElHorizontals(o.left), r && this.buildElVerticals(o.top)
  3539. }
  3540. return e.prototype.buildElHorizontals = function(e) {
  3541. for (var t = [], n = [], r = 0, o = this.els; r < o.length; r++) {
  3542. var i = o[r].getBoundingClientRect();
  3543. t.push(i.left - e), n.push(i.right - e)
  3544. }
  3545. this.lefts = t, this.rights = n
  3546. }, e.prototype.buildElVerticals = function(e) {
  3547. for (var t = [], n = [], r = 0, o = this.els; r < o.length; r++) {
  3548. var i = o[r].getBoundingClientRect();
  3549. t.push(i.top - e), n.push(i.bottom - e)
  3550. }
  3551. this.tops = t, this.bottoms = n
  3552. }, e.prototype.leftToIndex = function(e) {
  3553. var t, n = this.lefts,
  3554. r = this.rights,
  3555. o = n.length;
  3556. for (t = 0; t < o; t += 1)
  3557. if (e >= n[t] && e < r[t]) return t
  3558. }, e.prototype.topToIndex = function(e) {
  3559. var t, n = this.tops,
  3560. r = this.bottoms,
  3561. o = n.length;
  3562. for (t = 0; t < o; t += 1)
  3563. if (e >= n[t] && e < r[t]) return t
  3564. }, e.prototype.getWidth = function(e) {
  3565. return this.rights[e] - this.lefts[e]
  3566. }, e.prototype.getHeight = function(e) {
  3567. return this.bottoms[e] - this.tops[e]
  3568. }, e
  3569. }(),
  3570. bo = function() {
  3571. function e() {}
  3572. return e.prototype.getMaxScrollTop = function() {
  3573. return this.getScrollHeight() - this.getClientHeight()
  3574. }, e.prototype.getMaxScrollLeft = function() {
  3575. return this.getScrollWidth() - this.getClientWidth()
  3576. }, e.prototype.canScrollVertically = function() {
  3577. return this.getMaxScrollTop() > 0
  3578. }, e.prototype.canScrollHorizontally = function() {
  3579. return this.getMaxScrollLeft() > 0
  3580. }, e.prototype.canScrollUp = function() {
  3581. return this.getScrollTop() > 0
  3582. }, e.prototype.canScrollDown = function() {
  3583. return this.getScrollTop() < this.getMaxScrollTop()
  3584. }, e.prototype.canScrollLeft = function() {
  3585. return this.getScrollLeft() > 0
  3586. }, e.prototype.canScrollRight = function() {
  3587. return this.getScrollLeft() < this.getMaxScrollLeft()
  3588. }, e
  3589. }(),
  3590. Do = function(e) {
  3591. function t(t) {
  3592. var n = e.call(this) || this;
  3593. return n.el = t, n
  3594. }
  3595. return n(t, e), t.prototype.getScrollTop = function() {
  3596. return this.el.scrollTop
  3597. }, t.prototype.getScrollLeft = function() {
  3598. return this.el.scrollLeft
  3599. }, t.prototype.setScrollTop = function(e) {
  3600. this.el.scrollTop = e
  3601. }, t.prototype.setScrollLeft = function(e) {
  3602. this.el.scrollLeft = e
  3603. }, t.prototype.getScrollWidth = function() {
  3604. return this.el.scrollWidth
  3605. }, t.prototype.getScrollHeight = function() {
  3606. return this.el.scrollHeight
  3607. }, t.prototype.getClientHeight = function() {
  3608. return this.el.clientHeight
  3609. }, t.prototype.getClientWidth = function() {
  3610. return this.el.clientWidth
  3611. }, t
  3612. }(bo),
  3613. Co = function(e) {
  3614. function t() {
  3615. return null !== e && e.apply(this, arguments) || this
  3616. }
  3617. return n(t, e), t.prototype.getScrollTop = function() {
  3618. return window.pageYOffset
  3619. }, t.prototype.getScrollLeft = function() {
  3620. return window.pageXOffset
  3621. }, t.prototype.setScrollTop = function(e) {
  3622. window.scroll(window.pageXOffset, e)
  3623. }, t.prototype.setScrollLeft = function(e) {
  3624. window.scroll(e, window.pageYOffset)
  3625. }, t.prototype.getScrollWidth = function() {
  3626. return document.documentElement.scrollWidth
  3627. }, t.prototype.getScrollHeight = function() {
  3628. return document.documentElement.scrollHeight
  3629. }, t.prototype.getClientHeight = function() {
  3630. return document.documentElement.clientHeight
  3631. }, t.prototype.getClientWidth = function() {
  3632. return document.documentElement.clientWidth
  3633. }, t
  3634. }(bo),
  3635. wo = function() {
  3636. function e(e) {
  3637. this.iconOverrideOption && this.setIconOverride(e[this.iconOverrideOption])
  3638. }
  3639. return e.prototype.setIconOverride = function(e) {
  3640. var t, n;
  3641. if ("object" == typeof e && e) {
  3642. for (n in t = r({}, this.iconClasses), e) t[n] = this.applyIconOverridePrefix(e[n]);
  3643. this.iconClasses = t
  3644. } else !1 === e && (this.iconClasses = {})
  3645. }, e.prototype.applyIconOverridePrefix = function(e) {
  3646. var t = this.iconOverridePrefix;
  3647. return t && 0 !== e.indexOf(t) && (e = t + e), e
  3648. }, e.prototype.getClass = function(e) {
  3649. return this.classes[e] || ""
  3650. }, e.prototype.getIconClass = function(e, t) {
  3651. var n;
  3652. return (n = t && this.rtlIconClasses && this.rtlIconClasses[e] || this.iconClasses[e]) ? this.baseIconClass + " " + n : ""
  3653. }, e.prototype.getCustomButtonIconClass = function(e) {
  3654. var t;
  3655. return this.iconOverrideCustomButtonOption && (t = e[this.iconOverrideCustomButtonOption]) ? this.baseIconClass + " " + this.applyIconOverridePrefix(t) : ""
  3656. }, e
  3657. }();
  3658. if (wo.prototype.classes = {}, wo.prototype.iconClasses = {}, wo.prototype.baseIconClass = "", wo.prototype.iconOverridePrefix = "", "undefined" == typeof FullCalendarVDom) throw new Error("Please import the top-level fullcalendar lib before attempting to import a plugin.");
  3659. var Ro = FullCalendarVDom.Component,
  3660. _o = FullCalendarVDom.createElement,
  3661. To = FullCalendarVDom.render,
  3662. ko = FullCalendarVDom.createRef,
  3663. xo = FullCalendarVDom.Fragment,
  3664. Mo = FullCalendarVDom.createContext,
  3665. Io = FullCalendarVDom.createPortal,
  3666. Po = FullCalendarVDom.flushToDom,
  3667. No = FullCalendarVDom.unmountComponentAtNode,
  3668. Ho = function() {
  3669. function e(e, t, n, o) {
  3670. var i = this;
  3671. this.execFunc = e, this.emitter = t, this.scrollTime = n, this.scrollTimeReset = o, this.handleScrollRequest = function(e) {
  3672. i.queuedRequest = r({}, i.queuedRequest || {}, e), i.drain()
  3673. }, t.on("_scrollRequest", this.handleScrollRequest), this.fireInitialScroll()
  3674. }
  3675. return e.prototype.detach = function() {
  3676. this.emitter.off("_scrollRequest", this.handleScrollRequest)
  3677. }, e.prototype.update = function(e) {
  3678. e && this.scrollTimeReset ? this.fireInitialScroll() : this.drain()
  3679. }, e.prototype.fireInitialScroll = function() {
  3680. this.handleScrollRequest({
  3681. time: this.scrollTime
  3682. })
  3683. }, e.prototype.drain = function() {
  3684. this.queuedRequest && this.execFunc(this.queuedRequest) && (this.queuedRequest = null)
  3685. }, e
  3686. }(),
  3687. Oo = Mo({});
  3688. function Ao(e, t, n, r, o, i, a, s, l, u, c, d, p) {
  3689. return {
  3690. dateEnv: o,
  3691. options: n,
  3692. pluginHooks: a,
  3693. emitter: u,
  3694. dispatch: s,
  3695. getCurrentData: l,
  3696. calendarApi: c,
  3697. viewSpec: e,
  3698. viewApi: t,
  3699. dateProfileGenerator: r,
  3700. theme: i,
  3701. isRtl: "rtl" === n.direction,
  3702. addResizeHandler: function(e) {
  3703. u.on("_resize", e)
  3704. },
  3705. removeResizeHandler: function(e) {
  3706. u.off("_resize", e)
  3707. },
  3708. createScrollResponder: function(e) {
  3709. return new Ho(e, u, Nt(n.scrollTime), n.scrollTimeReset)
  3710. },
  3711. registerInteractiveComponent: d,
  3712. unregisterInteractiveComponent: p
  3713. }
  3714. }
  3715. var Lo = function(e) {
  3716. function t() {
  3717. return null !== e && e.apply(this, arguments) || this
  3718. }
  3719. return n(t, e), t.prototype.shouldComponentUpdate = function(e, t) {
  3720. return this.debug && console.log(Rt(e, this.props), Rt(t, this.state)), !_t(this.props, e, this.propEquality) || !_t(this.state, t, this.stateEquality)
  3721. }, t.addPropsEquality = Wo, t.addStateEquality = Vo, t.contextType = Oo, t
  3722. }(Ro);
  3723. Lo.prototype.propEquality = {}, Lo.prototype.stateEquality = {};
  3724. var Uo = function(e) {
  3725. function t() {
  3726. return null !== e && e.apply(this, arguments) || this
  3727. }
  3728. return n(t, e), t.contextType = Oo, t
  3729. }(Lo);
  3730. function Wo(e) {
  3731. var t = Object.create(this.prototype.propEquality);
  3732. r(t, e), this.prototype.propEquality = t
  3733. }
  3734. function Vo(e) {
  3735. var t = Object.create(this.prototype.stateEquality);
  3736. r(t, e), this.prototype.stateEquality = t
  3737. }
  3738. function Fo(e, t) {
  3739. "function" == typeof e ? e(t) : e && (e.current = t)
  3740. }
  3741. var Bo = function(e) {
  3742. function t() {
  3743. var t = null !== e && e.apply(this, arguments) || this;
  3744. return t.uid = Le(), t
  3745. }
  3746. return n(t, e), t.prototype.prepareHits = function() {}, t.prototype.queryHit = function(e, t, n, r) {
  3747. return null
  3748. }, t.prototype.isValidSegDownEl = function(e) {
  3749. return !this.props.eventDrag && !this.props.eventResize && !Se(e, ".fc-event-mirror")
  3750. }, t.prototype.isValidDateDownEl = function(e) {
  3751. return !(Se(e, ".fc-event:not(.fc-bg-event)") || Se(e, ".fc-more-link") || Se(e, "a[data-navlink]") || Se(e, ".fc-popover"))
  3752. }, t
  3753. }(Uo);
  3754. function zo(e) {
  3755. return {
  3756. id: Le(),
  3757. deps: e.deps || [],
  3758. reducers: e.reducers || [],
  3759. isLoadingFuncs: e.isLoadingFuncs || [],
  3760. contextInit: [].concat(e.contextInit || []),
  3761. eventRefiners: e.eventRefiners || {},
  3762. eventDefMemberAdders: e.eventDefMemberAdders || [],
  3763. eventSourceRefiners: e.eventSourceRefiners || {},
  3764. isDraggableTransformers: e.isDraggableTransformers || [],
  3765. eventDragMutationMassagers: e.eventDragMutationMassagers || [],
  3766. eventDefMutationAppliers: e.eventDefMutationAppliers || [],
  3767. dateSelectionTransformers: e.dateSelectionTransformers || [],
  3768. datePointTransforms: e.datePointTransforms || [],
  3769. dateSpanTransforms: e.dateSpanTransforms || [],
  3770. views: e.views || {},
  3771. viewPropsTransformers: e.viewPropsTransformers || [],
  3772. isPropsValid: e.isPropsValid || null,
  3773. externalDefTransforms: e.externalDefTransforms || [],
  3774. viewContainerAppends: e.viewContainerAppends || [],
  3775. eventDropTransformers: e.eventDropTransformers || [],
  3776. componentInteractions: e.componentInteractions || [],
  3777. calendarInteractions: e.calendarInteractions || [],
  3778. themeClasses: e.themeClasses || {},
  3779. eventSourceDefs: e.eventSourceDefs || [],
  3780. cmdFormatter: e.cmdFormatter,
  3781. recurringTypes: e.recurringTypes || [],
  3782. namedTimeZonedImpl: e.namedTimeZonedImpl,
  3783. initialView: e.initialView || "",
  3784. elementDraggingImpl: e.elementDraggingImpl,
  3785. optionChangeHandlers: e.optionChangeHandlers || {},
  3786. scrollGridImpl: e.scrollGridImpl || null,
  3787. contentTypeHandlers: e.contentTypeHandlers || {},
  3788. listenerRefiners: e.listenerRefiners || {},
  3789. optionRefiners: e.optionRefiners || {},
  3790. propSetHandlers: e.propSetHandlers || {}
  3791. }
  3792. }
  3793. function jo() {
  3794. var e, t = [],
  3795. n = [];
  3796. return function(o, i) {
  3797. return e && Gt(o, t) && Gt(i, n) || (e = function(e, t) {
  3798. var n = {},
  3799. o = {
  3800. reducers: [],
  3801. isLoadingFuncs: [],
  3802. contextInit: [],
  3803. eventRefiners: {},
  3804. eventDefMemberAdders: [],
  3805. eventSourceRefiners: {},
  3806. isDraggableTransformers: [],
  3807. eventDragMutationMassagers: [],
  3808. eventDefMutationAppliers: [],
  3809. dateSelectionTransformers: [],
  3810. datePointTransforms: [],
  3811. dateSpanTransforms: [],
  3812. views: {},
  3813. viewPropsTransformers: [],
  3814. isPropsValid: null,
  3815. externalDefTransforms: [],
  3816. viewContainerAppends: [],
  3817. eventDropTransformers: [],
  3818. componentInteractions: [],
  3819. calendarInteractions: [],
  3820. themeClasses: {},
  3821. eventSourceDefs: [],
  3822. cmdFormatter: null,
  3823. recurringTypes: [],
  3824. namedTimeZonedImpl: null,
  3825. initialView: "",
  3826. elementDraggingImpl: null,
  3827. optionChangeHandlers: {},
  3828. scrollGridImpl: null,
  3829. contentTypeHandlers: {},
  3830. listenerRefiners: {},
  3831. optionRefiners: {},
  3832. propSetHandlers: {}
  3833. };
  3834. function i(e) {
  3835. for (var t = 0, a = e; t < a.length; t++) {
  3836. var s = a[t];
  3837. n[s.id] || (n[s.id] = !0, i(s.deps), u = s, o = {
  3838. reducers: (l = o).reducers.concat(u.reducers),
  3839. isLoadingFuncs: l.isLoadingFuncs.concat(u.isLoadingFuncs),
  3840. contextInit: l.contextInit.concat(u.contextInit),
  3841. eventRefiners: r(r({}, l.eventRefiners), u.eventRefiners),
  3842. eventDefMemberAdders: l.eventDefMemberAdders.concat(u.eventDefMemberAdders),
  3843. eventSourceRefiners: r(r({}, l.eventSourceRefiners), u.eventSourceRefiners),
  3844. isDraggableTransformers: l.isDraggableTransformers.concat(u.isDraggableTransformers),
  3845. eventDragMutationMassagers: l.eventDragMutationMassagers.concat(u.eventDragMutationMassagers),
  3846. eventDefMutationAppliers: l.eventDefMutationAppliers.concat(u.eventDefMutationAppliers),
  3847. dateSelectionTransformers: l.dateSelectionTransformers.concat(u.dateSelectionTransformers),
  3848. datePointTransforms: l.datePointTransforms.concat(u.datePointTransforms),
  3849. dateSpanTransforms: l.dateSpanTransforms.concat(u.dateSpanTransforms),
  3850. views: r(r({}, l.views), u.views),
  3851. viewPropsTransformers: l.viewPropsTransformers.concat(u.viewPropsTransformers),
  3852. isPropsValid: u.isPropsValid || l.isPropsValid,
  3853. externalDefTransforms: l.externalDefTransforms.concat(u.externalDefTransforms),
  3854. viewContainerAppends: l.viewContainerAppends.concat(u.viewContainerAppends),
  3855. eventDropTransformers: l.eventDropTransformers.concat(u.eventDropTransformers),
  3856. calendarInteractions: l.calendarInteractions.concat(u.calendarInteractions),
  3857. componentInteractions: l.componentInteractions.concat(u.componentInteractions),
  3858. themeClasses: r(r({}, l.themeClasses), u.themeClasses),
  3859. eventSourceDefs: l.eventSourceDefs.concat(u.eventSourceDefs),
  3860. cmdFormatter: u.cmdFormatter || l.cmdFormatter,
  3861. recurringTypes: l.recurringTypes.concat(u.recurringTypes),
  3862. namedTimeZonedImpl: u.namedTimeZonedImpl || l.namedTimeZonedImpl,
  3863. initialView: l.initialView || u.initialView,
  3864. elementDraggingImpl: l.elementDraggingImpl || u.elementDraggingImpl,
  3865. optionChangeHandlers: r(r({}, l.optionChangeHandlers), u.optionChangeHandlers),
  3866. scrollGridImpl: u.scrollGridImpl || l.scrollGridImpl,
  3867. contentTypeHandlers: r(r({}, l.contentTypeHandlers), u.contentTypeHandlers),
  3868. listenerRefiners: r(r({}, l.listenerRefiners), u.listenerRefiners),
  3869. optionRefiners: r(r({}, l.optionRefiners), u.optionRefiners),
  3870. propSetHandlers: r(r({}, l.propSetHandlers), u.propSetHandlers)
  3871. })
  3872. }
  3873. var l, u
  3874. }
  3875. return e && i(e), i(t), o
  3876. }(o, i)), t = o, n = i, e
  3877. }
  3878. }
  3879. var Go = function(e) {
  3880. function t() {
  3881. return null !== e && e.apply(this, arguments) || this
  3882. }
  3883. return n(t, e), t
  3884. }(wo);
  3885. function qo(e, t, n, o) {
  3886. if (t[e]) return t[e];
  3887. var i = function(e, t, n, o) {
  3888. var i = n[e],
  3889. a = o[e],
  3890. s = function(e) {
  3891. return i && null !== i[e] ? i[e] : a && null !== a[e] ? a[e] : null
  3892. },
  3893. l = s("component"),
  3894. u = s("superType"),
  3895. c = null;
  3896. if (u) {
  3897. if (u === e) throw new Error("Can't have a custom view type that references itself");
  3898. c = qo(u, t, n, o)
  3899. }!l && c && (l = c.component);
  3900. if (!l) return null;
  3901. return {
  3902. type: e,
  3903. component: l,
  3904. defaults: r(r({}, c ? c.defaults : {}), i ? i.rawOptions : {}),
  3905. overrides: r(r({}, c ? c.overrides : {}), a ? a.rawOptions : {})
  3906. }
  3907. }(e, t, n, o);
  3908. return i && (t[e] = i), i
  3909. }
  3910. Go.prototype.classes = {
  3911. root: "fc-theme-standard",
  3912. tableCellShaded: "fc-cell-shaded",
  3913. buttonGroup: "fc-button-group",
  3914. button: "fc-button fc-button-primary",
  3915. buttonActive: "fc-button-active"
  3916. }, Go.prototype.baseIconClass = "fc-icon", Go.prototype.iconClasses = {
  3917. close: "fc-icon-x",
  3918. prev: "fc-icon-chevron-left",
  3919. next: "fc-icon-chevron-right",
  3920. prevYear: "fc-icon-chevrons-left",
  3921. nextYear: "fc-icon-chevrons-right"
  3922. }, Go.prototype.rtlIconClasses = {
  3923. prev: "fc-icon-chevron-right",
  3924. next: "fc-icon-chevron-left",
  3925. prevYear: "fc-icon-chevrons-right",
  3926. nextYear: "fc-icon-chevrons-left"
  3927. }, Go.prototype.iconOverrideOption = "buttonIcons", Go.prototype.iconOverrideCustomButtonOption = "icon", Go.prototype.iconOverridePrefix = "fc-icon-";
  3928. var Yo = function(e) {
  3929. function t() {
  3930. var t = null !== e && e.apply(this, arguments) || this;
  3931. return t.rootElRef = ko(), t.handleRootEl = function(e) {
  3932. Fo(t.rootElRef, e), t.props.elRef && Fo(t.props.elRef, e)
  3933. }, t
  3934. }
  3935. return n(t, e), t.prototype.render = function() {
  3936. var e = this,
  3937. t = this.props,
  3938. n = t.hookProps;
  3939. return _o($o, {
  3940. hookProps: n,
  3941. didMount: t.didMount,
  3942. willUnmount: t.willUnmount,
  3943. elRef: this.handleRootEl
  3944. }, (function(r) {
  3945. return _o(Xo, {
  3946. hookProps: n,
  3947. content: t.content,
  3948. defaultContent: t.defaultContent,
  3949. backupElRef: e.rootElRef
  3950. }, (function(e, o) {
  3951. return t.children(r, Qo(t.classNames, n), e, o)
  3952. }))
  3953. }))
  3954. }, t
  3955. }(Uo),
  3956. Zo = Mo(0);
  3957. function Xo(e) {
  3958. return _o(Zo.Consumer, null, (function(t) {
  3959. return _o(Ko, r({
  3960. renderId: t
  3961. }, e))
  3962. }))
  3963. }
  3964. var Ko = function(e) {
  3965. function t() {
  3966. var t = null !== e && e.apply(this, arguments) || this;
  3967. return t.innerElRef = ko(), t
  3968. }
  3969. return n(t, e), t.prototype.render = function() {
  3970. return this.props.children(this.innerElRef, this.renderInnerContent())
  3971. }, t.prototype.componentDidMount = function() {
  3972. this.updateCustomContent()
  3973. }, t.prototype.componentDidUpdate = function() {
  3974. this.updateCustomContent()
  3975. }, t.prototype.componentWillUnmount = function() {
  3976. this.customContentInfo && this.customContentInfo.destroy && this.customContentInfo.destroy()
  3977. }, t.prototype.renderInnerContent = function() {
  3978. var e = this.customContentInfo,
  3979. t = this.getInnerContent(),
  3980. n = this.getContentMeta(t);
  3981. return e && e.contentKey === n.contentKey ? e && (e.contentVal = t[n.contentKey]) : (e && (e.destroy && e.destroy(), e = this.customContentInfo = null), n.contentKey && (e = this.customContentInfo = r({
  3982. contentKey: n.contentKey,
  3983. contentVal: t[n.contentKey]
  3984. }, n.buildLifecycleFuncs()))), e ? [] : t
  3985. }, t.prototype.getInnerContent = function() {
  3986. var e = this.props,
  3987. t = ei(e.content, e.hookProps);
  3988. return void 0 === t && (t = ei(e.defaultContent, e.hookProps)), null == t ? null : t
  3989. }, t.prototype.getContentMeta = function(e) {
  3990. var t = this.context.pluginHooks.contentTypeHandlers,
  3991. n = "",
  3992. r = null;
  3993. if (e)
  3994. for (var o in t)
  3995. if (void 0 !== e[o]) {
  3996. n = o, r = t[o];
  3997. break
  3998. }
  3999. return {
  4000. contentKey: n,
  4001. buildLifecycleFuncs: r
  4002. }
  4003. }, t.prototype.updateCustomContent = function() {
  4004. this.customContentInfo && this.customContentInfo.render(this.innerElRef.current || this.props.backupElRef.current, this.customContentInfo.contentVal)
  4005. }, t
  4006. }(Uo),
  4007. $o = function(e) {
  4008. function t() {
  4009. var t = null !== e && e.apply(this, arguments) || this;
  4010. return t.handleRootEl = function(e) {
  4011. t.rootEl = e, t.props.elRef && Fo(t.props.elRef, e)
  4012. }, t
  4013. }
  4014. return n(t, e), t.prototype.render = function() {
  4015. return this.props.children(this.handleRootEl)
  4016. }, t.prototype.componentDidMount = function() {
  4017. var e = this.props.didMount;
  4018. e && e(r(r({}, this.props.hookProps), {
  4019. el: this.rootEl
  4020. }))
  4021. }, t.prototype.componentWillUnmount = function() {
  4022. var e = this.props.willUnmount;
  4023. e && e(r(r({}, this.props.hookProps), {
  4024. el: this.rootEl
  4025. }))
  4026. }, t
  4027. }(Uo);
  4028. function Jo() {
  4029. var e, t, n = [];
  4030. return function(r, o) {
  4031. return t && wt(t, o) && r === e || (e = r, t = o, n = Qo(r, o)), n
  4032. }
  4033. }
  4034. function Qo(e, t) {
  4035. return "function" == typeof e && (e = e(t)), Rn(e)
  4036. }
  4037. function ei(e, t) {
  4038. return "function" == typeof e ? e(t, _o) : e
  4039. }
  4040. var ti = function(e) {
  4041. function t() {
  4042. var t = null !== e && e.apply(this, arguments) || this;
  4043. return t.normalizeClassNames = Jo(), t
  4044. }
  4045. return n(t, e), t.prototype.render = function() {
  4046. var e = this.props,
  4047. t = this.context,
  4048. n = t.options,
  4049. r = {
  4050. view: t.viewApi
  4051. },
  4052. o = this.normalizeClassNames(n.viewClassNames, r);
  4053. return _o($o, {
  4054. hookProps: r,
  4055. didMount: n.viewDidMount,
  4056. willUnmount: n.viewWillUnmount,
  4057. elRef: e.elRef
  4058. }, (function(t) {
  4059. return e.children(t, ["fc-" + e.viewSpec.type + "-view", "fc-view"].concat(o))
  4060. }))
  4061. }, t
  4062. }(Uo);
  4063. function ni(e) {
  4064. return bt(e, ri)
  4065. }
  4066. function ri(e) {
  4067. var t, n = "function" == typeof e ? {
  4068. component: e
  4069. } : e,
  4070. o = n.component;
  4071. return n.content && (t = n, o = function(e) {
  4072. return _o(Oo.Consumer, null, (function(n) {
  4073. return _o(ti, {
  4074. viewSpec: n.viewSpec
  4075. }, (function(o, i) {
  4076. var a = r(r({}, e), {
  4077. nextDayThreshold: n.options.nextDayThreshold
  4078. });
  4079. return _o(Yo, {
  4080. hookProps: a,
  4081. classNames: t.classNames,
  4082. content: t.content,
  4083. didMount: t.didMount,
  4084. willUnmount: t.willUnmount,
  4085. elRef: o
  4086. }, (function(e, t, n, r) {
  4087. return _o("div", {
  4088. className: i.concat(t).join(" "),
  4089. ref: e
  4090. }, r)
  4091. }))
  4092. }))
  4093. }))
  4094. }), {
  4095. superType: n.type,
  4096. component: o,
  4097. rawOptions: n
  4098. }
  4099. }
  4100. function oi(e, t, n, o) {
  4101. var i = ni(e),
  4102. a = ni(t.views);
  4103. return bt(function(e, t) {
  4104. var n, r = {};
  4105. for (n in e) qo(n, r, e, t);
  4106. for (n in t) qo(n, r, e, t);
  4107. return r
  4108. }(i, a), (function(e) {
  4109. return function(e, t, n, o, i) {
  4110. var a = e.overrides.duration || e.defaults.duration || o.duration || n.duration,
  4111. s = null,
  4112. l = "",
  4113. u = "",
  4114. c = {};
  4115. if (a && (s = function(e) {
  4116. var t = JSON.stringify(e),
  4117. n = ii[t];
  4118. void 0 === n && (n = Nt(e), ii[t] = n);
  4119. return n
  4120. }(a))) {
  4121. var d = Vt(s);
  4122. l = d.unit, 1 === d.value && (u = l, c = t[l] ? t[l].rawOptions : {})
  4123. }
  4124. var p = function(t) {
  4125. var n = t.buttonText || {},
  4126. r = e.defaults.buttonTextKey;
  4127. return null != r && null != n[r] ? n[r] : null != n[e.type] ? n[e.type] : null != n[u] ? n[u] : null
  4128. },
  4129. f = function(t) {
  4130. var n = t.buttonHints || {},
  4131. r = e.defaults.buttonTextKey;
  4132. return null != r && null != n[r] ? n[r] : null != n[e.type] ? n[e.type] : null != n[u] ? n[u] : null
  4133. };
  4134. return {
  4135. type: e.type,
  4136. component: e.component,
  4137. duration: s,
  4138. durationUnit: l,
  4139. singleUnit: u,
  4140. optionDefaults: e.defaults,
  4141. optionOverrides: r(r({}, c), e.overrides),
  4142. buttonTextOverride: p(o) || p(n) || e.overrides.buttonText,
  4143. buttonTextDefault: p(i) || e.defaults.buttonText || p(cn) || e.type,
  4144. buttonTitleOverride: f(o) || f(n) || e.overrides.buttonHint,
  4145. buttonTitleDefault: f(i) || e.defaults.buttonHint || f(cn)
  4146. }
  4147. }(e, a, t, n, o)
  4148. }))
  4149. }
  4150. var ii = {};
  4151. var ai = function() {
  4152. function e(e) {
  4153. this.props = e, this.nowDate = Tr(e.nowInput, e.dateEnv), this.initHiddenDays()
  4154. }
  4155. return e.prototype.buildPrev = function(e, t, n) {
  4156. var r = this.props.dateEnv,
  4157. o = r.subtract(r.startOf(t, e.currentRangeUnit), e.dateIncrement);
  4158. return this.build(o, -1, n)
  4159. }, e.prototype.buildNext = function(e, t, n) {
  4160. var r = this.props.dateEnv,
  4161. o = r.add(r.startOf(t, e.currentRangeUnit), e.dateIncrement);
  4162. return this.build(o, 1, n)
  4163. }, e.prototype.build = function(e, t, n) {
  4164. void 0 === n && (n = !0);
  4165. var r, o, i, a, s, l, u, c, d = this.props;
  4166. return r = this.buildValidRange(), r = this.trimHiddenDays(r), n && (u = e, e = null != (c = r).start && u < c.start ? c.start : null != c.end && u >= c.end ? new Date(c.end.valueOf() - 1) : u), o = this.buildCurrentRangeInfo(e, t), i = /^(year|month|week|day)$/.test(o.unit), a = this.buildRenderRange(this.trimHiddenDays(o.range), o.unit, i), s = a = this.trimHiddenDays(a), d.showNonCurrentDates || (s = jn(s, o.range)), s = jn(s = this.adjustActiveRange(s), r), l = qn(o.range, r), {
  4167. validRange: r,
  4168. currentRange: o.range,
  4169. currentRangeUnit: o.unit,
  4170. isRangeAllDay: i,
  4171. activeRange: s,
  4172. renderRange: a,
  4173. slotMinTime: d.slotMinTime,
  4174. slotMaxTime: d.slotMaxTime,
  4175. isValid: l,
  4176. dateIncrement: this.buildDateIncrement(o.duration)
  4177. }
  4178. }, e.prototype.buildValidRange = function() {
  4179. var e = this.props.validRangeInput,
  4180. t = "function" == typeof e ? e.call(this.props.calendarApi, this.nowDate) : e;
  4181. return this.refineRange(t) || {
  4182. start: null,
  4183. end: null
  4184. }
  4185. }, e.prototype.buildCurrentRangeInfo = function(e, t) {
  4186. var n, r = this.props,
  4187. o = null,
  4188. i = null,
  4189. a = null;
  4190. return r.duration ? (o = r.duration, i = r.durationUnit, a = this.buildRangeFromDuration(e, t, o, i)) : (n = this.props.dayCount) ? (i = "day", a = this.buildRangeFromDayCount(e, t, n)) : (a = this.buildCustomVisibleRange(e)) ? i = r.dateEnv.greatestWholeUnit(a.start, a.end).unit : (i = Vt(o = this.getFallbackDuration()).unit, a = this.buildRangeFromDuration(e, t, o, i)), {
  4191. duration: o,
  4192. unit: i,
  4193. range: a
  4194. }
  4195. }, e.prototype.getFallbackDuration = function() {
  4196. return Nt({
  4197. day: 1
  4198. })
  4199. }, e.prototype.adjustActiveRange = function(e) {
  4200. var t = this.props,
  4201. n = t.dateEnv,
  4202. r = t.usesMinMaxTime,
  4203. o = t.slotMinTime,
  4204. i = t.slotMaxTime,
  4205. a = e.start,
  4206. s = e.end;
  4207. return r && (Lt(o) < 0 && (a = lt(a), a = n.add(a, o)), Lt(i) > 1 && (s = tt(s = lt(s), -1), s = n.add(s, i))), {
  4208. start: a,
  4209. end: s
  4210. }
  4211. }, e.prototype.buildRangeFromDuration = function(e, t, n, r) {
  4212. var o, i, a, s = this.props,
  4213. l = s.dateEnv,
  4214. u = s.dateAlignment;
  4215. if (!u) {
  4216. var c = this.props.dateIncrement;
  4217. u = c && Ut(c) < Ut(n) ? Vt(c).unit : r
  4218. }
  4219. function d() {
  4220. o = l.startOf(e, u), i = l.add(o, n), a = {
  4221. start: o,
  4222. end: i
  4223. }
  4224. }
  4225. return Lt(n) <= 1 && this.isHiddenDay(o) && (o = lt(o = this.skipHiddenDays(o, t))), d(), this.trimHiddenDays(a) || (e = this.skipHiddenDays(e, t), d()), a
  4226. }, e.prototype.buildRangeFromDayCount = function(e, t, n) {
  4227. var r, o = this.props,
  4228. i = o.dateEnv,
  4229. a = o.dateAlignment,
  4230. s = 0,
  4231. l = e;
  4232. a && (l = i.startOf(l, a)), l = lt(l), r = l = this.skipHiddenDays(l, t);
  4233. do {
  4234. r = tt(r, 1), this.isHiddenDay(r) || (s += 1)
  4235. } while (s < n);
  4236. return {
  4237. start: l,
  4238. end: r
  4239. }
  4240. }, e.prototype.buildCustomVisibleRange = function(e) {
  4241. var t = this.props,
  4242. n = t.visibleRangeInput,
  4243. r = "function" == typeof n ? n.call(t.calendarApi, t.dateEnv.toDate(e)) : n,
  4244. o = this.refineRange(r);
  4245. return !o || null != o.start && null != o.end ? o : null
  4246. }, e.prototype.buildRenderRange = function(e, t, n) {
  4247. return e
  4248. }, e.prototype.buildDateIncrement = function(e) {
  4249. var t, n = this.props.dateIncrement;
  4250. return n || ((t = this.props.dateAlignment) ? Nt(1, t) : e || Nt({
  4251. days: 1
  4252. }))
  4253. }, e.prototype.refineRange = function(e) {
  4254. if (e) {
  4255. var t = (n = e, r = this.props.dateEnv, o = null, i = null, n.start && (o = r.createMarker(n.start)), n.end && (i = r.createMarker(n.end)), o || i ? o && i && i < o ? null : {
  4256. start: o,
  4257. end: i
  4258. } : null);
  4259. return t && (t = Wn(t)), t
  4260. }
  4261. var n, r, o, i;
  4262. return null
  4263. }, e.prototype.initHiddenDays = function() {
  4264. var e, t = this.props.hiddenDays || [],
  4265. n = [],
  4266. r = 0;
  4267. for (!1 === this.props.weekends && t.push(0, 6), e = 0; e < 7; e += 1)(n[e] = -1 !== t.indexOf(e)) || (r += 1);
  4268. if (!r) throw new Error("invalid hiddenDays");
  4269. this.isHiddenDayHash = n
  4270. }, e.prototype.trimHiddenDays = function(e) {
  4271. var t = e.start,
  4272. n = e.end;
  4273. return t && (t = this.skipHiddenDays(t)), n && (n = this.skipHiddenDays(n, -1, !0)), null == t || null == n || t < n ? {
  4274. start: t,
  4275. end: n
  4276. } : null
  4277. }, e.prototype.isHiddenDay = function(e) {
  4278. return e instanceof Date && (e = e.getUTCDay()), this.isHiddenDayHash[e]
  4279. }, e.prototype.skipHiddenDays = function(e, t, n) {
  4280. for (void 0 === t && (t = 1), void 0 === n && (n = !1); this.isHiddenDayHash[(e.getUTCDay() + (n ? t : 0) + 7) % 7];) e = tt(e, t);
  4281. return e
  4282. }, e
  4283. }();
  4284. function si(e, t, n) {
  4285. var r = t ? t.activeRange : null;
  4286. return ci({}, function(e, t) {
  4287. var n = _r(t),
  4288. r = [].concat(e.eventSources || []),
  4289. o = [];
  4290. e.initialEvents && r.unshift(e.initialEvents);
  4291. e.events && r.unshift(e.events);
  4292. for (var i = 0, a = r; i < a.length; i++) {
  4293. var s = Rr(a[i], t, n);
  4294. s && o.push(s)
  4295. }
  4296. return o
  4297. }(e, n), r, n)
  4298. }
  4299. function li(e, t, n, o) {
  4300. var i, a, s = n ? n.activeRange : null;
  4301. switch (t.type) {
  4302. case "ADD_EVENT_SOURCES":
  4303. return ci(e, t.sources, s, o);
  4304. case "REMOVE_EVENT_SOURCE":
  4305. return i = e, a = t.sourceId, St(i, (function(e) {
  4306. return e.sourceId !== a
  4307. }));
  4308. case "PREV":
  4309. case "NEXT":
  4310. case "CHANGE_DATE":
  4311. case "CHANGE_VIEW_TYPE":
  4312. return n ? di(e, s, o) : e;
  4313. case "FETCH_EVENT_SOURCES":
  4314. return pi(e, t.sourceIds ? Dt(t.sourceIds) : hi(e, o), s, t.isRefetch || !1, o);
  4315. case "RECEIVE_EVENTS":
  4316. case "RECEIVE_EVENT_ERROR":
  4317. return function(e, t, n, o) {
  4318. var i, a = e[t];
  4319. if (a && n === a.latestFetchId) return r(r({}, e), ((i = {})[t] = r(r({}, a), {
  4320. isFetching: !1,
  4321. fetchRange: o
  4322. }), i));
  4323. return e
  4324. }(e, t.sourceId, t.fetchId, t.fetchRange);
  4325. case "REMOVE_ALL_EVENT_SOURCES":
  4326. return {};
  4327. default:
  4328. return e
  4329. }
  4330. }
  4331. function ui(e) {
  4332. for (var t in e)
  4333. if (e[t].isFetching) return !0;
  4334. return !1
  4335. }
  4336. function ci(e, t, n, o) {
  4337. for (var i = {}, a = 0, s = t; a < s.length; a++) {
  4338. var l = s[a];
  4339. i[l.sourceId] = l
  4340. }
  4341. return n && (i = di(i, n, o)), r(r({}, e), i)
  4342. }
  4343. function di(e, t, n) {
  4344. return pi(e, St(e, (function(e) {
  4345. return function(e, t, n) {
  4346. if (!vi(e, n)) return !e.latestFetchId;
  4347. return !n.options.lazyFetching || !e.fetchRange || e.isFetching || t.start < e.fetchRange.start || t.end > e.fetchRange.end
  4348. }(e, t, n)
  4349. })), t, !1, n)
  4350. }
  4351. function pi(e, t, n, r, o) {
  4352. var i = {};
  4353. for (var a in e) {
  4354. var s = e[a];
  4355. t[a] ? i[a] = fi(s, n, r, o) : i[a] = s
  4356. }
  4357. return i
  4358. }
  4359. function fi(e, t, n, o) {
  4360. var i = o.options,
  4361. a = o.calendarApi,
  4362. s = o.pluginHooks.eventSourceDefs[e.sourceDefId],
  4363. l = Le();
  4364. return s.fetch({
  4365. eventSource: e,
  4366. range: t,
  4367. isRefetch: n,
  4368. context: o
  4369. }, (function(n) {
  4370. var r = n.rawEvents;
  4371. i.eventSourceSuccess && (r = i.eventSourceSuccess.call(a, r, n.xhr) || r), e.success && (r = e.success.call(a, r, n.xhr) || r), o.dispatch({
  4372. type: "RECEIVE_EVENTS",
  4373. sourceId: e.sourceId,
  4374. fetchId: l,
  4375. fetchRange: t,
  4376. rawEvents: r
  4377. })
  4378. }), (function(n) {
  4379. console.warn(n.message, n), i.eventSourceFailure && i.eventSourceFailure.call(a, n), e.failure && e.failure(n), o.dispatch({
  4380. type: "RECEIVE_EVENT_ERROR",
  4381. sourceId: e.sourceId,
  4382. fetchId: l,
  4383. fetchRange: t,
  4384. error: n
  4385. })
  4386. })), r(r({}, e), {
  4387. isFetching: !0,
  4388. latestFetchId: l
  4389. })
  4390. }
  4391. function hi(e, t) {
  4392. return St(e, (function(e) {
  4393. return vi(e, t)
  4394. }))
  4395. }
  4396. function vi(e, t) {
  4397. return !t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange
  4398. }
  4399. function gi(e, t, n, r, o) {
  4400. switch (t.type) {
  4401. case "RECEIVE_EVENTS":
  4402. return function(e, t, n, r, o, i) {
  4403. if (t && n === t.latestFetchId) {
  4404. var a = En(function(e, t, n) {
  4405. var r = n.options.eventDataTransform,
  4406. o = t ? t.eventDataTransform : null;
  4407. o && (e = mi(e, o));
  4408. r && (e = mi(e, r));
  4409. return e
  4410. }(o, t, i), t, i);
  4411. return r && (a = xt(a, r, i)), Cn(yi(e, t.sourceId), a)
  4412. }
  4413. return e
  4414. }(e, n[t.sourceId], t.fetchId, t.fetchRange, t.rawEvents, o);
  4415. case "ADD_EVENTS":
  4416. return function(e, t, n, r) {
  4417. n && (t = xt(t, n, r));
  4418. return Cn(e, t)
  4419. }(e, t.eventStore, r ? r.activeRange : null, o);
  4420. case "RESET_EVENTS":
  4421. return t.eventStore;
  4422. case "MERGE_EVENTS":
  4423. return Cn(e, t.eventStore);
  4424. case "PREV":
  4425. case "NEXT":
  4426. case "CHANGE_DATE":
  4427. case "CHANGE_VIEW_TYPE":
  4428. return r ? xt(e, r.activeRange, o) : e;
  4429. case "REMOVE_EVENTS":
  4430. return function(e, t) {
  4431. var n = e.defs,
  4432. r = e.instances,
  4433. o = {},
  4434. i = {};
  4435. for (var a in n) t.defs[a] || (o[a] = n[a]);
  4436. for (var s in r) !t.instances[s] && o[r[s].defId] && (i[s] = r[s]);
  4437. return {
  4438. defs: o,
  4439. instances: i
  4440. }
  4441. }(e, t.eventStore);
  4442. case "REMOVE_EVENT_SOURCE":
  4443. return yi(e, t.sourceId);
  4444. case "REMOVE_ALL_EVENT_SOURCES":
  4445. return wn(e, (function(e) {
  4446. return !e.sourceId
  4447. }));
  4448. case "REMOVE_ALL_EVENTS":
  4449. return {
  4450. defs: {},
  4451. instances: {}
  4452. };
  4453. default:
  4454. return e
  4455. }
  4456. }
  4457. function mi(e, t) {
  4458. var n;
  4459. if (t) {
  4460. n = [];
  4461. for (var r = 0, o = e; r < o.length; r++) {
  4462. var i = o[r],
  4463. a = t(i);
  4464. a ? n.push(a) : null == a && n.push(i)
  4465. }
  4466. } else n = e;
  4467. return n
  4468. }
  4469. function yi(e, t) {
  4470. return wn(e, (function(e) {
  4471. return e.sourceId !== t
  4472. }))
  4473. }
  4474. function Ei(e, t) {
  4475. switch (t.type) {
  4476. case "UNSELECT_DATES":
  4477. return null;
  4478. case "SELECT_DATES":
  4479. return t.selection;
  4480. default:
  4481. return e
  4482. }
  4483. }
  4484. function Si(e, t) {
  4485. switch (t.type) {
  4486. case "UNSELECT_EVENT":
  4487. return "";
  4488. case "SELECT_EVENT":
  4489. return t.eventInstanceId;
  4490. default:
  4491. return e
  4492. }
  4493. }
  4494. function bi(e, t) {
  4495. var n;
  4496. switch (t.type) {
  4497. case "UNSET_EVENT_DRAG":
  4498. return null;
  4499. case "SET_EVENT_DRAG":
  4500. return {
  4501. affectedEvents: (n = t.state).affectedEvents,
  4502. mutatedEvents: n.mutatedEvents,
  4503. isEvent: n.isEvent
  4504. };
  4505. default:
  4506. return e
  4507. }
  4508. }
  4509. function Di(e, t) {
  4510. var n;
  4511. switch (t.type) {
  4512. case "UNSET_EVENT_RESIZE":
  4513. return null;
  4514. case "SET_EVENT_RESIZE":
  4515. return {
  4516. affectedEvents: (n = t.state).affectedEvents,
  4517. mutatedEvents: n.mutatedEvents,
  4518. isEvent: n.isEvent
  4519. };
  4520. default:
  4521. return e
  4522. }
  4523. }
  4524. function Ci(e, t, n, r, o) {
  4525. return {
  4526. header: e.headerToolbar ? wi(e.headerToolbar, e, t, n, r, o) : null,
  4527. footer: e.footerToolbar ? wi(e.footerToolbar, e, t, n, r, o) : null
  4528. }
  4529. }
  4530. function wi(e, t, n, r, o, i) {
  4531. var a = {},
  4532. s = [],
  4533. l = !1;
  4534. for (var u in e) {
  4535. var c = Ri(e[u], t, n, r, o, i);
  4536. a[u] = c.widgets, s.push.apply(s, c.viewsWithButtons), l = l || c.hasTitle
  4537. }
  4538. return {
  4539. sectionWidgets: a,
  4540. viewsWithButtons: s,
  4541. hasTitle: l
  4542. }
  4543. }
  4544. function Ri(e, t, n, r, o, i) {
  4545. var a = "rtl" === t.direction,
  4546. s = t.customButtons || {},
  4547. l = n.buttonText || {},
  4548. u = t.buttonText || {},
  4549. c = n.buttonHints || {},
  4550. d = t.buttonHints || {},
  4551. p = e ? e.split(" ") : [],
  4552. f = [],
  4553. h = !1;
  4554. return {
  4555. widgets: p.map((function(e) {
  4556. return e.split(",").map((function(e) {
  4557. if ("title" === e) return h = !0, {
  4558. buttonName: e
  4559. };
  4560. var n, p, v, g, m, y;
  4561. if (n = s[e]) v = function(e) {
  4562. n.click && n.click.call(e.target, e, e.target)
  4563. }, (g = r.getCustomButtonIconClass(n)) || (g = r.getIconClass(e, a)) || (m = n.text), y = n.hint || n.text;
  4564. else if (p = o[e]) {
  4565. f.push(e), v = function() {
  4566. i.changeView(e)
  4567. }, (m = p.buttonTextOverride) || (g = r.getIconClass(e, a)) || (m = p.buttonTextDefault);
  4568. var E = p.buttonTextOverride || p.buttonTextDefault;
  4569. y = Xe(p.buttonTitleOverride || p.buttonTitleDefault || t.viewHint, [E, e], E)
  4570. } else if (i[e])
  4571. if (v = function() {
  4572. i[e]()
  4573. }, (m = l[e]) || (g = r.getIconClass(e, a)) || (m = u[e]), "prevYear" === e || "nextYear" === e) {
  4574. var S = "prevYear" === e ? "prev" : "next";
  4575. y = Xe(c[S] || d[S], [u.year || "year", "year"], u[e])
  4576. } else y = function(t) {
  4577. return Xe(c[e] || d[e], [u[t] || t, t], u[e])
  4578. };
  4579. return {
  4580. buttonName: e,
  4581. buttonClick: v,
  4582. buttonIcon: g,
  4583. buttonText: m,
  4584. buttonHint: y
  4585. }
  4586. }))
  4587. })),
  4588. viewsWithButtons: f,
  4589. hasTitle: h
  4590. }
  4591. }
  4592. function _i(e, t, n, r, o) {
  4593. var i = null;
  4594. "GET" === (e = e.toUpperCase()) ? t = function(e, t) {
  4595. return e + (-1 === e.indexOf("?") ? "?" : "&") + Ti(t)
  4596. }(t, n): i = Ti(n);
  4597. var a = new XMLHttpRequest;
  4598. a.open(e, t, !0), "GET" !== e && a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), a.onload = function() {
  4599. if (a.status >= 200 && a.status < 400) {
  4600. var e = !1,
  4601. t = void 0;
  4602. try {
  4603. t = JSON.parse(a.responseText), e = !0
  4604. } catch (e) {}
  4605. e ? r(t, a) : o("Failure parsing JSON", a)
  4606. } else o("Request failed", a)
  4607. }, a.onerror = function() {
  4608. o("Request failed", a)
  4609. }, a.send(i)
  4610. }
  4611. function Ti(e) {
  4612. var t = [];
  4613. for (var n in e) t.push(encodeURIComponent(n) + "=" + encodeURIComponent(e[n]));
  4614. return t.join("&")
  4615. }
  4616. function ki(e, t) {
  4617. for (var n = Ct(t.getCurrentData().eventSources), r = [], o = 0, i = e; o < i.length; o++) {
  4618. for (var a = i[o], s = !1, l = 0; l < n.length; l += 1)
  4619. if (n[l]._raw === a) {
  4620. n.splice(l, 1), s = !0;
  4621. break
  4622. }
  4623. s || r.push(a)
  4624. }
  4625. for (var u = 0, c = n; u < c.length; u++) {
  4626. var d = c[u];
  4627. t.dispatch({
  4628. type: "REMOVE_EVENT_SOURCE",
  4629. sourceId: d.sourceId
  4630. })
  4631. }
  4632. for (var p = 0, f = r; p < f.length; p++) {
  4633. var h = f[p];
  4634. t.calendarApi.addEventSource(h)
  4635. }
  4636. }
  4637. var xi = [zo({
  4638. eventSourceDefs: [{
  4639. ignoreRange: !0,
  4640. parseMeta: function(e) {
  4641. return Array.isArray(e.events) ? e.events : null
  4642. },
  4643. fetch: function(e, t) {
  4644. t({
  4645. rawEvents: e.eventSource.meta
  4646. })
  4647. }
  4648. }]
  4649. }), zo({
  4650. eventSourceDefs: [{
  4651. parseMeta: function(e) {
  4652. return "function" == typeof e.events ? e.events : null
  4653. },
  4654. fetch: function(e, t, n) {
  4655. var r = e.context.dateEnv;
  4656. yo(e.eventSource.meta.bind(null, hr(e.range, r)), (function(e) {
  4657. t({
  4658. rawEvents: e
  4659. })
  4660. }), n)
  4661. }
  4662. }]
  4663. }), zo({
  4664. eventSourceRefiners: {
  4665. method: String,
  4666. extraParams: yn,
  4667. startParam: String,
  4668. endParam: String,
  4669. timeZoneParam: String
  4670. },
  4671. eventSourceDefs: [{
  4672. parseMeta: function(e) {
  4673. return !e.url || "json" !== e.format && e.format ? null : {
  4674. url: e.url,
  4675. format: "json",
  4676. method: (e.method || "GET").toUpperCase(),
  4677. extraParams: e.extraParams,
  4678. startParam: e.startParam,
  4679. endParam: e.endParam,
  4680. timeZoneParam: e.timeZoneParam
  4681. }
  4682. },
  4683. fetch: function(e, t, n) {
  4684. var o = e.eventSource.meta,
  4685. i = function(e, t, n) {
  4686. var o, i, a, s, l = n.dateEnv,
  4687. u = n.options,
  4688. c = {};
  4689. null == (o = e.startParam) && (o = u.startParam);
  4690. null == (i = e.endParam) && (i = u.endParam);
  4691. null == (a = e.timeZoneParam) && (a = u.timeZoneParam);
  4692. s = "function" == typeof e.extraParams ? e.extraParams() : e.extraParams || {};
  4693. r(c, s), c[o] = l.formatIso(t.start), c[i] = l.formatIso(t.end), "local" !== l.timeZone && (c[a] = l.timeZone);
  4694. return c
  4695. }(o, e.range, e.context);
  4696. _i(o.method, o.url, i, (function(e, n) {
  4697. t({
  4698. rawEvents: e,
  4699. xhr: n
  4700. })
  4701. }), (function(e, t) {
  4702. n({
  4703. message: e,
  4704. xhr: t
  4705. })
  4706. }))
  4707. }
  4708. }]
  4709. }), zo({
  4710. recurringTypes: [{
  4711. parse: function(e, t) {
  4712. if (e.daysOfWeek || e.startTime || e.endTime || e.startRecur || e.endRecur) {
  4713. var n = {
  4714. daysOfWeek: e.daysOfWeek || null,
  4715. startTime: e.startTime || null,
  4716. endTime: e.endTime || null,
  4717. startRecur: e.startRecur ? t.createMarker(e.startRecur) : null,
  4718. endRecur: e.endRecur ? t.createMarker(e.endRecur) : null
  4719. },
  4720. r = void 0;
  4721. return e.duration && (r = e.duration), !r && e.startTime && e.endTime && (o = e.endTime, i = e.startTime, r = {
  4722. years: o.years - i.years,
  4723. months: o.months - i.months,
  4724. days: o.days - i.days,
  4725. milliseconds: o.milliseconds - i.milliseconds
  4726. }), {
  4727. allDayGuess: Boolean(!e.startTime && !e.endTime),
  4728. duration: r,
  4729. typeData: n
  4730. }
  4731. }
  4732. var o, i;
  4733. return null
  4734. },
  4735. expand: function(e, t, n) {
  4736. var r = jn(t, {
  4737. start: e.startRecur,
  4738. end: e.endRecur
  4739. });
  4740. return r ? function(e, t, n, r) {
  4741. var o = e ? Dt(e) : null,
  4742. i = lt(n.start),
  4743. a = n.end,
  4744. s = [];
  4745. for (; i < a;) {
  4746. var l = void 0;
  4747. o && !o[i.getUTCDay()] || (l = t ? r.add(i, t) : i, s.push(l)), i = tt(i, 1)
  4748. }
  4749. return s
  4750. }(e.daysOfWeek, e.startTime, r, n) : []
  4751. }
  4752. }],
  4753. eventRefiners: {
  4754. daysOfWeek: yn,
  4755. startTime: Nt,
  4756. endTime: Nt,
  4757. duration: Nt,
  4758. startRecur: yn,
  4759. endRecur: yn
  4760. }
  4761. }), zo({
  4762. optionChangeHandlers: {
  4763. events: function(e, t) {
  4764. ki([e], t)
  4765. },
  4766. eventSources: ki
  4767. }
  4768. }), zo({
  4769. isLoadingFuncs: [function(e) {
  4770. return ui(e.eventSources)
  4771. }],
  4772. contentTypeHandlers: {
  4773. html: function() {
  4774. var e = null,
  4775. t = "";
  4776. return {
  4777. render: function(n, r) {
  4778. n === e && r === t || (n.innerHTML = r), e = n, t = r
  4779. },
  4780. destroy: function() {
  4781. e.innerHTML = "", e = null, t = ""
  4782. }
  4783. }
  4784. },
  4785. domNodes: function() {
  4786. var e = null,
  4787. t = [];
  4788. function n() {
  4789. t.forEach(Ee), t = [], e = null
  4790. }
  4791. return {
  4792. render: function(r, o) {
  4793. var i = Array.prototype.slice.call(o);
  4794. if (r !== e || !Gt(t, i)) {
  4795. for (var a = 0, s = i; a < s.length; a++) {
  4796. var l = s[a];
  4797. r.appendChild(l)
  4798. }
  4799. n()
  4800. }
  4801. e = r, t = i
  4802. },
  4803. destroy: n
  4804. }
  4805. }
  4806. },
  4807. propSetHandlers: {
  4808. dateProfile: function(e, t) {
  4809. t.emitter.trigger("datesSet", r(r({}, hr(e.activeRange, t.dateEnv)), {
  4810. view: t.viewApi
  4811. }))
  4812. },
  4813. eventStore: function(e, t) {
  4814. var n = t.emitter;
  4815. n.hasHandlers("eventsSet") && n.trigger("eventsSet", Ir(e, t))
  4816. }
  4817. }
  4818. })];
  4819. var Mi = function() {
  4820. function e(e) {
  4821. this.drainedOption = e, this.isRunning = !1, this.isDirty = !1, this.pauseDepths = {}, this.timeoutId = 0
  4822. }
  4823. return e.prototype.request = function(e) {
  4824. this.isDirty = !0, this.isPaused() || (this.clearTimeout(), null == e ? this.tryDrain() : this.timeoutId = setTimeout(this.tryDrain.bind(this), e))
  4825. }, e.prototype.pause = function(e) {
  4826. void 0 === e && (e = "");
  4827. var t = this.pauseDepths;
  4828. t[e] = (t[e] || 0) + 1, this.clearTimeout()
  4829. }, e.prototype.resume = function(e, t) {
  4830. void 0 === e && (e = "");
  4831. var n = this.pauseDepths;
  4832. if (e in n) {
  4833. if (t) delete n[e];
  4834. else n[e] -= 1, n[e] <= 0 && delete n[e];
  4835. this.tryDrain()
  4836. }
  4837. }, e.prototype.isPaused = function() {
  4838. return Object.keys(this.pauseDepths).length
  4839. }, e.prototype.tryDrain = function() {
  4840. if (!this.isRunning && !this.isPaused()) {
  4841. for (this.isRunning = !0; this.isDirty;) this.isDirty = !1, this.drained();
  4842. this.isRunning = !1
  4843. }
  4844. }, e.prototype.clear = function() {
  4845. this.clearTimeout(), this.isDirty = !1, this.pauseDepths = {}
  4846. }, e.prototype.clearTimeout = function() {
  4847. this.timeoutId && (clearTimeout(this.timeoutId), this.timeoutId = 0)
  4848. }, e.prototype.drained = function() {
  4849. this.drainedOption && this.drainedOption()
  4850. }, e
  4851. }(),
  4852. Ii = function() {
  4853. function e(e, t) {
  4854. this.runTaskOption = e, this.drainedOption = t, this.queue = [], this.delayedRunner = new Mi(this.drain.bind(this))
  4855. }
  4856. return e.prototype.request = function(e, t) {
  4857. this.queue.push(e), this.delayedRunner.request(t)
  4858. }, e.prototype.pause = function(e) {
  4859. this.delayedRunner.pause(e)
  4860. }, e.prototype.resume = function(e, t) {
  4861. this.delayedRunner.resume(e, t)
  4862. }, e.prototype.drain = function() {
  4863. for (var e = this.queue; e.length;) {
  4864. for (var t = [], n = void 0; n = e.shift();) this.runTask(n), t.push(n);
  4865. this.drained(t)
  4866. }
  4867. }, e.prototype.runTask = function(e) {
  4868. this.runTaskOption && this.runTaskOption(e)
  4869. }, e.prototype.drained = function(e) {
  4870. this.drainedOption && this.drainedOption(e)
  4871. }, e
  4872. }();
  4873. function Pi(e, t, n) {
  4874. var r;
  4875. return r = /^(year|month)$/.test(e.currentRangeUnit) ? e.currentRange : e.activeRange, n.formatRange(r.start, r.end, ln(t.titleFormat || function(e) {
  4876. var t = e.currentRangeUnit;
  4877. if ("year" === t) return {
  4878. year: "numeric"
  4879. };
  4880. if ("month" === t) return {
  4881. year: "numeric",
  4882. month: "long"
  4883. };
  4884. var n = st(e.currentRange.start, e.currentRange.end);
  4885. if (null !== n && n > 1) return {
  4886. year: "numeric",
  4887. month: "short",
  4888. day: "numeric"
  4889. };
  4890. return {
  4891. year: "numeric",
  4892. month: "long",
  4893. day: "numeric"
  4894. }
  4895. }(e)), {
  4896. isEndExclusive: e.isRangeAllDay,
  4897. defaultSeparator: t.titleRangeSeparator
  4898. })
  4899. }
  4900. var Ni = function() {
  4901. function e(e) {
  4902. var t = this;
  4903. this.computeOptionsData = qt(this._computeOptionsData), this.computeCurrentViewData = qt(this._computeCurrentViewData), this.organizeRawLocales = qt(Fr), this.buildLocale = qt(Br), this.buildPluginHooks = jo(), this.buildDateEnv = qt(Hi), this.buildTheme = qt(Oi), this.parseToolbars = qt(Ci), this.buildViewSpecs = qt(oi), this.buildDateProfileGenerator = Yt(Ai), this.buildViewApi = qt(Li), this.buildViewUiProps = Yt(Vi), this.buildEventUiBySource = qt(Ui, wt), this.buildEventUiBases = qt(Wi), this.parseContextBusinessHours = Yt(Bi), this.buildTitle = qt(Pi), this.emitter = new Eo, this.actionRunner = new Ii(this._handleAction.bind(this), this.updateData.bind(this)), this.currentCalendarOptionsInput = {}, this.currentCalendarOptionsRefined = {}, this.currentViewOptionsInput = {}, this.currentViewOptionsRefined = {}, this.currentCalendarOptionsRefiners = {}, this.getCurrentData = function() {
  4904. return t.data
  4905. }, this.dispatch = function(e) {
  4906. t.actionRunner.request(e)
  4907. }, this.props = e, this.actionRunner.pause();
  4908. var n = {},
  4909. o = this.computeOptionsData(e.optionOverrides, n, e.calendarApi),
  4910. i = o.calendarOptions.initialView || o.pluginHooks.initialView,
  4911. a = this.computeCurrentViewData(i, o, e.optionOverrides, n);
  4912. e.calendarApi.currentDataManager = this, this.emitter.setThisContext(e.calendarApi), this.emitter.setOptions(a.options);
  4913. var s, l, u, c = (s = o.calendarOptions, l = o.dateEnv, null != (u = s.initialDate) ? l.createMarker(u) : Tr(s.now, l)),
  4914. d = a.dateProfileGenerator.build(c);
  4915. Zn(d.activeRange, c) || (c = d.currentRange.start);
  4916. for (var p = {
  4917. dateEnv: o.dateEnv,
  4918. options: o.calendarOptions,
  4919. pluginHooks: o.pluginHooks,
  4920. calendarApi: e.calendarApi,
  4921. dispatch: this.dispatch,
  4922. emitter: this.emitter,
  4923. getCurrentData: this.getCurrentData
  4924. }, f = 0, h = o.pluginHooks.contextInit; f < h.length; f++) {
  4925. (0, h[f])(p)
  4926. }
  4927. for (var v = si(o.calendarOptions, d, p), g = {
  4928. dynamicOptionOverrides: n,
  4929. currentViewType: i,
  4930. currentDate: c,
  4931. dateProfile: d,
  4932. businessHours: this.parseContextBusinessHours(p),
  4933. eventSources: v,
  4934. eventUiBases: {},
  4935. eventStore: {
  4936. defs: {},
  4937. instances: {}
  4938. },
  4939. renderableEventStore: {
  4940. defs: {},
  4941. instances: {}
  4942. },
  4943. dateSelection: null,
  4944. eventSelection: "",
  4945. eventDrag: null,
  4946. eventResize: null,
  4947. selectionConfig: this.buildViewUiProps(p).selectionConfig
  4948. }, m = r(r({}, p), g), y = 0, E = o.pluginHooks.reducers; y < E.length; y++) {
  4949. var S = E[y];
  4950. r(g, S(null, null, m))
  4951. }
  4952. Fi(g, p) && this.emitter.trigger("loading", !0), this.state = g, this.updateData(), this.actionRunner.resume()
  4953. }
  4954. return e.prototype.resetOptions = function(e, t) {
  4955. var n = this.props;
  4956. n.optionOverrides = t ? r(r({}, n.optionOverrides), e) : e, this.actionRunner.request({
  4957. type: "NOTHING"
  4958. })
  4959. }, e.prototype._handleAction = function(e) {
  4960. var t = this,
  4961. n = t.props,
  4962. o = t.state,
  4963. i = t.emitter,
  4964. a = function(e, t) {
  4965. var n;
  4966. switch (t.type) {
  4967. case "SET_OPTION":
  4968. return r(r({}, e), ((n = {})[t.optionName] = t.rawOptionValue, n));
  4969. default:
  4970. return e
  4971. }
  4972. }(o.dynamicOptionOverrides, e),
  4973. s = this.computeOptionsData(n.optionOverrides, a, n.calendarApi),
  4974. l = function(e, t) {
  4975. switch (t.type) {
  4976. case "CHANGE_VIEW_TYPE":
  4977. e = t.viewType
  4978. }
  4979. return e
  4980. }(o.currentViewType, e),
  4981. u = this.computeCurrentViewData(l, s, n.optionOverrides, a);
  4982. n.calendarApi.currentDataManager = this, i.setThisContext(n.calendarApi), i.setOptions(u.options);
  4983. var c = {
  4984. dateEnv: s.dateEnv,
  4985. options: s.calendarOptions,
  4986. pluginHooks: s.pluginHooks,
  4987. calendarApi: n.calendarApi,
  4988. dispatch: this.dispatch,
  4989. emitter: i,
  4990. getCurrentData: this.getCurrentData
  4991. },
  4992. d = o.currentDate,
  4993. p = o.dateProfile;
  4994. this.data && this.data.dateProfileGenerator !== u.dateProfileGenerator && (p = u.dateProfileGenerator.build(d)), p = function(e, t, n, r) {
  4995. var o;
  4996. switch (t.type) {
  4997. case "CHANGE_VIEW_TYPE":
  4998. return r.build(t.dateMarker || n);
  4999. case "CHANGE_DATE":
  5000. return r.build(t.dateMarker);
  5001. case "PREV":
  5002. if ((o = r.buildPrev(e, n)).isValid) return o;
  5003. break;
  5004. case "NEXT":
  5005. if ((o = r.buildNext(e, n)).isValid) return o
  5006. }
  5007. return e
  5008. }(p, e, d = function(e, t) {
  5009. switch (t.type) {
  5010. case "CHANGE_DATE":
  5011. return t.dateMarker;
  5012. default:
  5013. return e
  5014. }
  5015. }(d, e), u.dateProfileGenerator), "PREV" !== e.type && "NEXT" !== e.type && Zn(p.currentRange, d) || (d = p.currentRange.start);
  5016. for (var f = li(o.eventSources, e, p, c), h = gi(o.eventStore, e, f, p, c), v = ui(f) && !u.options.progressiveEventRendering && o.renderableEventStore || h, g = this.buildViewUiProps(c), m = g.eventUiSingleBase, y = g.selectionConfig, E = this.buildEventUiBySource(f), S = {
  5017. dynamicOptionOverrides: a,
  5018. currentViewType: l,
  5019. currentDate: d,
  5020. dateProfile: p,
  5021. eventSources: f,
  5022. eventStore: h,
  5023. renderableEventStore: v,
  5024. selectionConfig: y,
  5025. eventUiBases: this.buildEventUiBases(v.defs, m, E),
  5026. businessHours: this.parseContextBusinessHours(c),
  5027. dateSelection: Ei(o.dateSelection, e),
  5028. eventSelection: Si(o.eventSelection, e),
  5029. eventDrag: bi(o.eventDrag, e),
  5030. eventResize: Di(o.eventResize, e)
  5031. }, b = r(r({}, c), S), D = 0, C = s.pluginHooks.reducers; D < C.length; D++) {
  5032. var w = C[D];
  5033. r(S, w(o, e, b))
  5034. }
  5035. var R = Fi(o, c),
  5036. _ = Fi(S, c);
  5037. !R && _ ? i.trigger("loading", !0) : R && !_ && i.trigger("loading", !1), this.state = S, n.onAction && n.onAction(e)
  5038. }, e.prototype.updateData = function() {
  5039. var e, t, n, o, i, a, s, l, u, c = this.props,
  5040. d = this.state,
  5041. p = this.data,
  5042. f = this.computeOptionsData(c.optionOverrides, d.dynamicOptionOverrides, c.calendarApi),
  5043. h = this.computeCurrentViewData(d.currentViewType, f, c.optionOverrides, d.dynamicOptionOverrides),
  5044. v = this.data = r(r(r({
  5045. viewTitle: this.buildTitle(d.dateProfile, h.options, f.dateEnv),
  5046. calendarApi: c.calendarApi,
  5047. dispatch: this.dispatch,
  5048. emitter: this.emitter,
  5049. getCurrentData: this.getCurrentData
  5050. }, f), h), d),
  5051. g = f.pluginHooks.optionChangeHandlers,
  5052. m = p && p.calendarOptions,
  5053. y = f.calendarOptions;
  5054. if (m && m !== y)
  5055. for (var E in m.timeZone !== y.timeZone && (d.eventSources = v.eventSources = (a = v.eventSources, s = d.dateProfile, l = v, u = s ? s.activeRange : null, pi(a, hi(a, l), u, !0, l)), d.eventStore = v.eventStore = (e = v.eventStore, t = p.dateEnv, n = v.dateEnv, o = e.defs, i = bt(e.instances, (function(e) {
  5056. var i = o[e.defId];
  5057. return i.allDay || i.recurringDef ? e : r(r({}, e), {
  5058. range: {
  5059. start: n.createMarker(t.toDate(e.range.start, e.forcedStartTzo)),
  5060. end: n.createMarker(t.toDate(e.range.end, e.forcedEndTzo))
  5061. },
  5062. forcedStartTzo: n.canComputeOffset ? null : e.forcedStartTzo,
  5063. forcedEndTzo: n.canComputeOffset ? null : e.forcedEndTzo
  5064. })
  5065. })), {
  5066. defs: o,
  5067. instances: i
  5068. })), g) m[E] !== y[E] && g[E](y[E], v);
  5069. c.onData && c.onData(v)
  5070. }, e.prototype._computeOptionsData = function(e, t, n) {
  5071. var r = this.processRawCalendarOptions(e, t),
  5072. o = r.refinedOptions,
  5073. i = r.pluginHooks,
  5074. a = r.localeDefaults,
  5075. s = r.availableLocaleData;
  5076. zi(r.extra);
  5077. var l = this.buildDateEnv(o.timeZone, o.locale, o.weekNumberCalculation, o.firstDay, o.weekText, i, s, o.defaultRangeSeparator),
  5078. u = this.buildViewSpecs(i.views, e, t, a),
  5079. c = this.buildTheme(o, i);
  5080. return {
  5081. calendarOptions: o,
  5082. pluginHooks: i,
  5083. dateEnv: l,
  5084. viewSpecs: u,
  5085. theme: c,
  5086. toolbarConfig: this.parseToolbars(o, e, c, u, n),
  5087. localeDefaults: a,
  5088. availableRawLocales: s.map
  5089. }
  5090. }, e.prototype.processRawCalendarOptions = function(e, t) {
  5091. var n = gn([cn, e, t]),
  5092. o = n.locales,
  5093. i = n.locale,
  5094. a = this.organizeRawLocales(o),
  5095. s = a.map,
  5096. l = this.buildLocale(i || a.defaultCode, s).options,
  5097. u = this.buildPluginHooks(e.plugins || [], xi),
  5098. c = this.currentCalendarOptionsRefiners = r(r(r(r(r({}, un), dn), pn), u.listenerRefiners), u.optionRefiners),
  5099. d = {},
  5100. p = gn([cn, l, e, t]),
  5101. f = {},
  5102. h = this.currentCalendarOptionsInput,
  5103. v = this.currentCalendarOptionsRefined,
  5104. g = !1;
  5105. for (var m in p) "plugins" !== m && (p[m] === h[m] || fn[m] && m in h && fn[m](h[m], p[m]) ? f[m] = v[m] : c[m] ? (f[m] = c[m](p[m]), g = !0) : d[m] = h[m]);
  5106. return g && (this.currentCalendarOptionsInput = p, this.currentCalendarOptionsRefined = f), {
  5107. rawOptions: this.currentCalendarOptionsInput,
  5108. refinedOptions: this.currentCalendarOptionsRefined,
  5109. pluginHooks: u,
  5110. availableLocaleData: a,
  5111. localeDefaults: l,
  5112. extra: d
  5113. }
  5114. }, e.prototype._computeCurrentViewData = function(e, t, n, r) {
  5115. var o = t.viewSpecs[e];
  5116. if (!o) throw new Error('viewType "' + e + "\" is not available. Please make sure you've loaded all neccessary plugins");
  5117. var i = this.processRawViewOptions(o, t.pluginHooks, t.localeDefaults, n, r),
  5118. a = i.refinedOptions;
  5119. return zi(i.extra), {
  5120. viewSpec: o,
  5121. options: a,
  5122. dateProfileGenerator: this.buildDateProfileGenerator({
  5123. dateProfileGeneratorClass: o.optionDefaults.dateProfileGeneratorClass,
  5124. duration: o.duration,
  5125. durationUnit: o.durationUnit,
  5126. usesMinMaxTime: o.optionDefaults.usesMinMaxTime,
  5127. dateEnv: t.dateEnv,
  5128. calendarApi: this.props.calendarApi,
  5129. slotMinTime: a.slotMinTime,
  5130. slotMaxTime: a.slotMaxTime,
  5131. showNonCurrentDates: a.showNonCurrentDates,
  5132. dayCount: a.dayCount,
  5133. dateAlignment: a.dateAlignment,
  5134. dateIncrement: a.dateIncrement,
  5135. hiddenDays: a.hiddenDays,
  5136. weekends: a.weekends,
  5137. nowInput: a.now,
  5138. validRangeInput: a.validRange,
  5139. visibleRangeInput: a.visibleRange,
  5140. monthMode: a.monthMode,
  5141. fixedWeekCount: a.fixedWeekCount
  5142. }),
  5143. viewApi: this.buildViewApi(e, this.getCurrentData, t.dateEnv)
  5144. }
  5145. }, e.prototype.processRawViewOptions = function(e, t, n, o, i) {
  5146. var a = gn([cn, e.optionDefaults, n, o, e.optionOverrides, i]),
  5147. s = r(r(r(r(r(r({}, un), dn), pn), vn), t.listenerRefiners), t.optionRefiners),
  5148. l = {},
  5149. u = this.currentViewOptionsInput,
  5150. c = this.currentViewOptionsRefined,
  5151. d = !1,
  5152. p = {};
  5153. for (var f in a) a[f] === u[f] ? l[f] = c[f] : (a[f] === this.currentCalendarOptionsInput[f] ? f in this.currentCalendarOptionsRefined && (l[f] = this.currentCalendarOptionsRefined[f]) : s[f] ? l[f] = s[f](a[f]) : p[f] = a[f], d = !0);
  5154. return d && (this.currentViewOptionsInput = a, this.currentViewOptionsRefined = l), {
  5155. rawOptions: this.currentViewOptionsInput,
  5156. refinedOptions: this.currentViewOptionsRefined,
  5157. extra: p
  5158. }
  5159. }, e
  5160. }();
  5161. function Hi(e, t, n, r, o, i, a, s) {
  5162. var l = Br(t || a.defaultCode, a.map);
  5163. return new Lr({
  5164. calendarSystem: "gregory",
  5165. timeZone: e,
  5166. namedTimeZoneImpl: i.namedTimeZonedImpl,
  5167. locale: l,
  5168. weekNumberCalculation: n,
  5169. firstDay: r,
  5170. weekText: o,
  5171. cmdFormatter: i.cmdFormatter,
  5172. defaultSeparator: s
  5173. })
  5174. }
  5175. function Oi(e, t) {
  5176. return new(t.themeClasses[e.themeSystem] || Go)(e)
  5177. }
  5178. function Ai(e) {
  5179. return new(e.dateProfileGeneratorClass || ai)(e)
  5180. }
  5181. function Li(e, t, n) {
  5182. return new Cr(e, t, n)
  5183. }
  5184. function Ui(e) {
  5185. return bt(e, (function(e) {
  5186. return e.ui
  5187. }))
  5188. }
  5189. function Wi(e, t, n) {
  5190. var r = {
  5191. "": t
  5192. };
  5193. for (var o in e) {
  5194. var i = e[o];
  5195. i.sourceId && n[i.sourceId] && (r[o] = n[i.sourceId])
  5196. }
  5197. return r
  5198. }
  5199. function Vi(e) {
  5200. var t = e.options;
  5201. return {
  5202. eventUiSingleBase: kn({
  5203. display: t.eventDisplay,
  5204. editable: t.editable,
  5205. startEditable: t.eventStartEditable,
  5206. durationEditable: t.eventDurationEditable,
  5207. constraint: t.eventConstraint,
  5208. overlap: "boolean" == typeof t.eventOverlap ? t.eventOverlap : void 0,
  5209. allow: t.eventAllow,
  5210. backgroundColor: t.eventBackgroundColor,
  5211. borderColor: t.eventBorderColor,
  5212. textColor: t.eventTextColor,
  5213. color: t.eventColor
  5214. }, e),
  5215. selectionConfig: kn({
  5216. constraint: t.selectConstraint,
  5217. overlap: "boolean" == typeof t.selectOverlap ? t.selectOverlap : void 0,
  5218. allow: t.selectAllow
  5219. }, e)
  5220. }
  5221. }
  5222. function Fi(e, t) {
  5223. for (var n = 0, r = t.pluginHooks.isLoadingFuncs; n < r.length; n++) {
  5224. if ((0, r[n])(e)) return !0
  5225. }
  5226. return !1
  5227. }
  5228. function Bi(e) {
  5229. return Yr(e.options.businessHours, e)
  5230. }
  5231. function zi(e, t) {
  5232. for (var n in e) console.warn("Unknown option '" + n + "'" + (t ? " for view '" + t + "'" : ""))
  5233. }
  5234. var ji = function(e) {
  5235. function t(t) {
  5236. var n = e.call(this, t) || this;
  5237. return n.handleData = function(e) {
  5238. n.dataManager ? n.setState(e) : n.state = e
  5239. }, n.dataManager = new Ni({
  5240. optionOverrides: t.optionOverrides,
  5241. calendarApi: t.calendarApi,
  5242. onData: n.handleData
  5243. }), n
  5244. }
  5245. return n(t, e), t.prototype.render = function() {
  5246. return this.props.children(this.state)
  5247. }, t.prototype.componentDidUpdate = function(e) {
  5248. var t = this.props.optionOverrides;
  5249. t !== e.optionOverrides && this.dataManager.resetOptions(t)
  5250. }, t
  5251. }(Ro);
  5252. var Gi = function(e) {
  5253. this.timeZoneName = e
  5254. },
  5255. qi = function() {
  5256. function e() {
  5257. this.strictOrder = !1, this.allowReslicing = !1, this.maxCoord = -1, this.maxStackCnt = -1, this.levelCoords = [], this.entriesByLevel = [], this.stackCnts = {}
  5258. }
  5259. return e.prototype.addSegs = function(e) {
  5260. for (var t = [], n = 0, r = e; n < r.length; n++) {
  5261. var o = r[n];
  5262. this.insertEntry(o, t)
  5263. }
  5264. return t
  5265. }, e.prototype.insertEntry = function(e, t) {
  5266. var n = this.findInsertion(e);
  5267. return this.isInsertionValid(n, e) ? (this.insertEntryAt(e, n), 1) : this.handleInvalidInsertion(n, e, t)
  5268. }, e.prototype.isInsertionValid = function(e, t) {
  5269. return (-1 === this.maxCoord || e.levelCoord + t.thickness <= this.maxCoord) && (-1 === this.maxStackCnt || e.stackCnt < this.maxStackCnt)
  5270. }, e.prototype.handleInvalidInsertion = function(e, t, n) {
  5271. return this.allowReslicing && e.touchingEntry ? this.splitEntry(t, e.touchingEntry, n) : (n.push(t), 0)
  5272. }, e.prototype.splitEntry = function(e, t, n) {
  5273. var r = 0,
  5274. i = [],
  5275. a = e.span,
  5276. s = t.span;
  5277. return a.start < s.start && (r += this.insertEntry({
  5278. index: e.index,
  5279. thickness: e.thickness,
  5280. span: {
  5281. start: a.start,
  5282. end: s.start
  5283. }
  5284. }, i)), a.end > s.end && (r += this.insertEntry({
  5285. index: e.index,
  5286. thickness: e.thickness,
  5287. span: {
  5288. start: s.end,
  5289. end: a.end
  5290. }
  5291. }, i)), r ? (n.push.apply(n, o([{
  5292. index: e.index,
  5293. thickness: e.thickness,
  5294. span: $i(s, a)
  5295. }], i)), r) : (n.push(e), 0)
  5296. }, e.prototype.insertEntryAt = function(e, t) {
  5297. var n = this.entriesByLevel,
  5298. r = this.levelCoords; - 1 === t.lateral ? (Ji(r, t.level, t.levelCoord), Ji(n, t.level, [e])) : Ji(n[t.level], t.lateral, e), this.stackCnts[Zi(e)] = t.stackCnt
  5299. }, e.prototype.findInsertion = function(e) {
  5300. for (var t = this, n = t.levelCoords, r = t.entriesByLevel, o = t.strictOrder, i = t.stackCnts, a = n.length, s = 0, l = -1, u = -1, c = null, d = 0, p = 0; p < a; p += 1) {
  5301. var f = n[p];
  5302. if (!o && f >= s + e.thickness) break;
  5303. for (var h = r[p], v = void 0, g = Qi(h, e.span.start, Yi), m = g[0] + g[1];
  5304. (v = h[m]) && v.span.start < e.span.end;) {
  5305. var y = f + v.thickness;
  5306. y > s && (s = y, c = v, l = p, u = m), y === s && (d = Math.max(d, i[Zi(v)] + 1)), m += 1
  5307. }
  5308. }
  5309. var E = 0;
  5310. if (c)
  5311. for (E = l + 1; E < a && n[E] < s;) E += 1;
  5312. var S = -1;
  5313. return E < a && n[E] === s && (S = Qi(r[E], e.span.end, Yi)[0]), {
  5314. touchingLevel: l,
  5315. touchingLateral: u,
  5316. touchingEntry: c,
  5317. stackCnt: d,
  5318. levelCoord: s,
  5319. level: E,
  5320. lateral: S
  5321. }
  5322. }, e.prototype.toRects = function() {
  5323. for (var e = this.entriesByLevel, t = this.levelCoords, n = e.length, o = [], i = 0; i < n; i += 1)
  5324. for (var a = e[i], s = t[i], l = 0, u = a; l < u.length; l++) {
  5325. var c = u[l];
  5326. o.push(r(r({}, c), {
  5327. levelCoord: s
  5328. }))
  5329. }
  5330. return o
  5331. }, e
  5332. }();
  5333. function Yi(e) {
  5334. return e.span.end
  5335. }
  5336. function Zi(e) {
  5337. return e.index + ":" + e.span.start
  5338. }
  5339. function Xi(e) {
  5340. for (var t = [], n = 0, r = e; n < r.length; n++) {
  5341. for (var o = r[n], i = [], a = {
  5342. span: o.span,
  5343. entries: [o]
  5344. }, s = 0, l = t; s < l.length; s++) {
  5345. var u = l[s];
  5346. $i(u.span, a.span) ? a = {
  5347. entries: u.entries.concat(a.entries),
  5348. span: Ki(u.span, a.span)
  5349. } : i.push(u)
  5350. }
  5351. i.push(a), t = i
  5352. }
  5353. return t
  5354. }
  5355. function Ki(e, t) {
  5356. return {
  5357. start: Math.min(e.start, t.start),
  5358. end: Math.max(e.end, t.end)
  5359. }
  5360. }
  5361. function $i(e, t) {
  5362. var n = Math.max(e.start, t.start),
  5363. r = Math.min(e.end, t.end);
  5364. return n < r ? {
  5365. start: n,
  5366. end: r
  5367. } : null
  5368. }
  5369. function Ji(e, t, n) {
  5370. e.splice(t, 0, n)
  5371. }
  5372. function Qi(e, t, n) {
  5373. var r = 0,
  5374. o = e.length;
  5375. if (!o || t < n(e[r])) return [0, 0];
  5376. if (t > n(e[o - 1])) return [o, 0];
  5377. for (; r < o;) {
  5378. var i = Math.floor(r + (o - r) / 2),
  5379. a = n(e[i]);
  5380. if (t < a) o = i;
  5381. else {
  5382. if (!(t > a)) return [i, 1];
  5383. r = i + 1
  5384. }
  5385. }
  5386. return [r, 0]
  5387. }
  5388. var ea = function() {
  5389. function e(e) {
  5390. this.component = e.component, this.isHitComboAllowed = e.isHitComboAllowed || null
  5391. }
  5392. return e.prototype.destroy = function() {}, e
  5393. }();
  5394. function ta(e, t) {
  5395. return {
  5396. component: e,
  5397. el: t.el,
  5398. useEventCenter: null == t.useEventCenter || t.useEventCenter,
  5399. isHitComboAllowed: t.isHitComboAllowed || null
  5400. }
  5401. }
  5402. function na(e) {
  5403. var t;
  5404. return (t = {})[e.component.uid] = e, t
  5405. }
  5406. var ra = {},
  5407. oa = function() {
  5408. function e(e, t) {
  5409. this.emitter = new Eo
  5410. }
  5411. return e.prototype.destroy = function() {}, e.prototype.setMirrorIsVisible = function(e) {}, e.prototype.setMirrorNeedsRevert = function(e) {}, e.prototype.setAutoScrollEnabled = function(e) {}, e
  5412. }(),
  5413. ia = {},
  5414. aa = {
  5415. startTime: Nt,
  5416. duration: Nt,
  5417. create: Boolean,
  5418. sourceId: String
  5419. };
  5420. function sa(e) {
  5421. var t = mn(e, aa),
  5422. n = t.refined,
  5423. r = t.extra;
  5424. return {
  5425. startTime: n.startTime || null,
  5426. duration: n.duration || null,
  5427. create: null == n.create || n.create,
  5428. sourceId: n.sourceId,
  5429. leftoverProps: r
  5430. }
  5431. }
  5432. var la = function(e) {
  5433. function t() {
  5434. return null !== e && e.apply(this, arguments) || this
  5435. }
  5436. return n(t, e), t.prototype.render = function() {
  5437. var e = this,
  5438. t = this.props.widgetGroups.map((function(t) {
  5439. return e.renderWidgetGroup(t)
  5440. }));
  5441. return _o.apply(void 0, o(["div", {
  5442. className: "fc-toolbar-chunk"
  5443. }], t))
  5444. }, t.prototype.renderWidgetGroup = function(e) {
  5445. for (var t = this.props, n = this.context.theme, r = [], i = !0, a = 0, s = e; a < s.length; a++) {
  5446. var l = s[a],
  5447. u = l.buttonName,
  5448. c = l.buttonClick,
  5449. d = l.buttonText,
  5450. p = l.buttonIcon,
  5451. f = l.buttonHint;
  5452. if ("title" === u) i = !1, r.push(_o("h2", {
  5453. className: "fc-toolbar-title",
  5454. id: t.titleId
  5455. }, t.title));
  5456. else {
  5457. var h = u === t.activeButton,
  5458. v = !t.isTodayEnabled && "today" === u || !t.isPrevEnabled && "prev" === u || !t.isNextEnabled && "next" === u,
  5459. g = ["fc-" + u + "-button", n.getClass("button")];
  5460. h && g.push(n.getClass("buttonActive")), r.push(_o("button", {
  5461. type: "button",
  5462. title: "function" == typeof f ? f(t.navUnit) : f,
  5463. disabled: v,
  5464. "aria-pressed": h,
  5465. className: g.join(" "),
  5466. onClick: c
  5467. }, d || (p ? _o("span", {
  5468. className: p
  5469. }) : "")))
  5470. }
  5471. }
  5472. if (r.length > 1) {
  5473. var m = i && n.getClass("buttonGroup") || "";
  5474. return _o.apply(void 0, o(["div", {
  5475. className: m
  5476. }], r))
  5477. }
  5478. return r[0]
  5479. }, t
  5480. }(Uo),
  5481. ua = function(e) {
  5482. function t() {
  5483. return null !== e && e.apply(this, arguments) || this
  5484. }
  5485. return n(t, e), t.prototype.render = function() {
  5486. var e, t, n = this.props,
  5487. r = n.model,
  5488. o = n.extraClassName,
  5489. i = !1,
  5490. a = r.sectionWidgets,
  5491. s = a.center;
  5492. return a.left ? (i = !0, e = a.left) : e = a.start, a.right ? (i = !0, t = a.right) : t = a.end, _o("div", {
  5493. className: [o || "", "fc-toolbar", i ? "fc-toolbar-ltr" : ""].join(" ")
  5494. }, this.renderSection("start", e || []), this.renderSection("center", s || []), this.renderSection("end", t || []))
  5495. }, t.prototype.renderSection = function(e, t) {
  5496. var n = this.props;
  5497. return _o(la, {
  5498. key: e,
  5499. widgetGroups: t,
  5500. title: n.title,
  5501. navUnit: n.navUnit,
  5502. activeButton: n.activeButton,
  5503. isTodayEnabled: n.isTodayEnabled,
  5504. isPrevEnabled: n.isPrevEnabled,
  5505. isNextEnabled: n.isNextEnabled,
  5506. titleId: n.titleId
  5507. })
  5508. }, t
  5509. }(Uo),
  5510. ca = function(e) {
  5511. function t() {
  5512. var t = null !== e && e.apply(this, arguments) || this;
  5513. return t.state = {
  5514. availableWidth: null
  5515. }, t.handleEl = function(e) {
  5516. t.el = e, Fo(t.props.elRef, e), t.updateAvailableWidth()
  5517. }, t.handleResize = function() {
  5518. t.updateAvailableWidth()
  5519. }, t
  5520. }
  5521. return n(t, e), t.prototype.render = function() {
  5522. var e = this.props,
  5523. t = this.state,
  5524. n = e.aspectRatio,
  5525. r = ["fc-view-harness", n || e.liquid || e.height ? "fc-view-harness-active" : "fc-view-harness-passive"],
  5526. o = "",
  5527. i = "";
  5528. return n ? null !== t.availableWidth ? o = t.availableWidth / n : i = 1 / n * 100 + "%" : o = e.height || "", _o("div", {
  5529. "aria-labelledby": e.labeledById,
  5530. ref: this.handleEl,
  5531. className: r.join(" "),
  5532. style: {
  5533. height: o,
  5534. paddingBottom: i
  5535. }
  5536. }, e.children)
  5537. }, t.prototype.componentDidMount = function() {
  5538. this.context.addResizeHandler(this.handleResize)
  5539. }, t.prototype.componentWillUnmount = function() {
  5540. this.context.removeResizeHandler(this.handleResize)
  5541. }, t.prototype.updateAvailableWidth = function() {
  5542. this.el && this.props.aspectRatio && this.setState({
  5543. availableWidth: this.el.offsetWidth
  5544. })
  5545. }, t
  5546. }(Uo),
  5547. da = function(e) {
  5548. function t(t) {
  5549. var n = e.call(this, t) || this;
  5550. return n.handleSegClick = function(e, t) {
  5551. var r = n.component,
  5552. o = r.context,
  5553. i = Jn(t);
  5554. if (i && r.isValidSegDownEl(e.target)) {
  5555. var a = Se(e.target, ".fc-event-forced-url"),
  5556. s = a ? a.querySelector("a[href]").href : "";
  5557. o.emitter.trigger("eventClick", {
  5558. el: t,
  5559. event: new xr(r.context, i.eventRange.def, i.eventRange.instance),
  5560. jsEvent: e,
  5561. view: o.viewApi
  5562. }), s && !e.defaultPrevented && (window.location.href = s)
  5563. }
  5564. }, n.destroy = Ie(t.el, "click", ".fc-event", n.handleSegClick), n
  5565. }
  5566. return n(t, e), t
  5567. }(ea),
  5568. pa = function(e) {
  5569. function t(t) {
  5570. var n, r, o, i, a, s = e.call(this, t) || this;
  5571. return s.handleEventElRemove = function(e) {
  5572. e === s.currentSegEl && s.handleSegLeave(null, s.currentSegEl)
  5573. }, s.handleSegEnter = function(e, t) {
  5574. Jn(t) && (s.currentSegEl = t, s.triggerEvent("eventMouseEnter", e, t))
  5575. }, s.handleSegLeave = function(e, t) {
  5576. s.currentSegEl && (s.currentSegEl = null, s.triggerEvent("eventMouseLeave", e, t))
  5577. }, s.removeHoverListeners = (n = t.el, r = ".fc-event", o = s.handleSegEnter, i = s.handleSegLeave, Ie(n, "mouseover", r, (function(e, t) {
  5578. if (t !== a) {
  5579. a = t, o(e, t);
  5580. var n = function(e) {
  5581. a = null, i(e, t), t.removeEventListener("mouseleave", n)
  5582. };
  5583. t.addEventListener("mouseleave", n)
  5584. }
  5585. }))), s
  5586. }
  5587. return n(t, e), t.prototype.destroy = function() {
  5588. this.removeHoverListeners()
  5589. }, t.prototype.triggerEvent = function(e, t, n) {
  5590. var r = this.component,
  5591. o = r.context,
  5592. i = Jn(n);
  5593. t && !r.isValidSegDownEl(t.target) || o.emitter.trigger(e, {
  5594. el: n,
  5595. event: new xr(o, i.eventRange.def, i.eventRange.instance),
  5596. jsEvent: t,
  5597. view: o.viewApi
  5598. })
  5599. }, t
  5600. }(ea),
  5601. fa = function(e) {
  5602. function t() {
  5603. var t = null !== e && e.apply(this, arguments) || this;
  5604. return t.buildViewContext = qt(Ao), t.buildViewPropTransformers = qt(va), t.buildToolbarProps = qt(ha), t.headerRef = ko(), t.footerRef = ko(), t.interactionsStore = {}, t.state = {
  5605. viewLabelId: xe()
  5606. }, t.registerInteractiveComponent = function(e, n) {
  5607. var r = ta(e, n),
  5608. o = [da, pa].concat(t.props.pluginHooks.componentInteractions).map((function(e) {
  5609. return new e(r)
  5610. }));
  5611. t.interactionsStore[e.uid] = o, ra[e.uid] = r
  5612. }, t.unregisterInteractiveComponent = function(e) {
  5613. for (var n = 0, r = t.interactionsStore[e.uid]; n < r.length; n++) {
  5614. r[n].destroy()
  5615. }
  5616. delete t.interactionsStore[e.uid], delete ra[e.uid]
  5617. }, t.resizeRunner = new Mi((function() {
  5618. t.props.emitter.trigger("_resize", !0), t.props.emitter.trigger("windowResize", {
  5619. view: t.props.viewApi
  5620. })
  5621. })), t.handleWindowResize = function(e) {
  5622. var n = t.props.options;
  5623. n.handleWindowResize && e.target === window && t.resizeRunner.request(n.windowResizeDelay)
  5624. }, t
  5625. }
  5626. return n(t, e), t.prototype.render = function() {
  5627. var e, t = this.props,
  5628. n = t.toolbarConfig,
  5629. o = t.options,
  5630. i = this.buildToolbarProps(t.viewSpec, t.dateProfile, t.dateProfileGenerator, t.currentDate, Tr(t.options.now, t.dateEnv), t.viewTitle),
  5631. a = !1,
  5632. s = "";
  5633. t.isHeightAuto || t.forPrint ? s = "" : null != o.height ? a = !0 : null != o.contentHeight ? s = o.contentHeight : e = Math.max(o.aspectRatio, .5);
  5634. var l = this.buildViewContext(t.viewSpec, t.viewApi, t.options, t.dateProfileGenerator, t.dateEnv, t.theme, t.pluginHooks, t.dispatch, t.getCurrentData, t.emitter, t.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent),
  5635. u = n.header && n.header.hasTitle ? this.state.viewLabelId : "";
  5636. return _o(Oo.Provider, {
  5637. value: l
  5638. }, n.header && _o(ua, r({
  5639. ref: this.headerRef,
  5640. extraClassName: "fc-header-toolbar",
  5641. model: n.header,
  5642. titleId: u
  5643. }, i)), _o(ca, {
  5644. liquid: a,
  5645. height: s,
  5646. aspectRatio: e,
  5647. labeledById: u
  5648. }, this.renderView(t), this.buildAppendContent()), n.footer && _o(ua, r({
  5649. ref: this.footerRef,
  5650. extraClassName: "fc-footer-toolbar",
  5651. model: n.footer,
  5652. titleId: ""
  5653. }, i)))
  5654. }, t.prototype.componentDidMount = function() {
  5655. var e = this.props;
  5656. this.calendarInteractions = e.pluginHooks.calendarInteractions.map((function(t) {
  5657. return new t(e)
  5658. })), window.addEventListener("resize", this.handleWindowResize);
  5659. var t = e.pluginHooks.propSetHandlers;
  5660. for (var n in t) t[n](e[n], e)
  5661. }, t.prototype.componentDidUpdate = function(e) {
  5662. var t = this.props,
  5663. n = t.pluginHooks.propSetHandlers;
  5664. for (var r in n) t[r] !== e[r] && n[r](t[r], t)
  5665. }, t.prototype.componentWillUnmount = function() {
  5666. window.removeEventListener("resize", this.handleWindowResize), this.resizeRunner.clear();
  5667. for (var e = 0, t = this.calendarInteractions; e < t.length; e++) {
  5668. t[e].destroy()
  5669. }
  5670. this.props.emitter.trigger("_unmount")
  5671. }, t.prototype.buildAppendContent = function() {
  5672. var e = this.props,
  5673. t = e.pluginHooks.viewContainerAppends.map((function(t) {
  5674. return t(e)
  5675. }));
  5676. return _o.apply(void 0, o([xo, {}], t))
  5677. }, t.prototype.renderView = function(e) {
  5678. for (var t = e.pluginHooks, n = e.viewSpec, o = {
  5679. dateProfile: e.dateProfile,
  5680. businessHours: e.businessHours,
  5681. eventStore: e.renderableEventStore,
  5682. eventUiBases: e.eventUiBases,
  5683. dateSelection: e.dateSelection,
  5684. eventSelection: e.eventSelection,
  5685. eventDrag: e.eventDrag,
  5686. eventResize: e.eventResize,
  5687. isHeightAuto: e.isHeightAuto,
  5688. forPrint: e.forPrint
  5689. }, i = 0, a = this.buildViewPropTransformers(t.viewPropsTransformers); i < a.length; i++) {
  5690. var s = a[i];
  5691. r(o, s.transform(o, e))
  5692. }
  5693. var l = n.component;
  5694. return _o(l, r({}, o))
  5695. }, t
  5696. }(Lo);
  5697. function ha(e, t, n, r, o, i) {
  5698. var a = n.build(o, void 0, !1),
  5699. s = n.buildPrev(t, r, !1),
  5700. l = n.buildNext(t, r, !1);
  5701. return {
  5702. title: i,
  5703. activeButton: e.type,
  5704. navUnit: e.singleUnit,
  5705. isTodayEnabled: a.isValid && !Zn(t.currentRange, o),
  5706. isPrevEnabled: s.isValid,
  5707. isNextEnabled: l.isValid
  5708. }
  5709. }
  5710. function va(e) {
  5711. return e.map((function(e) {
  5712. return new e
  5713. }))
  5714. }
  5715. var ga = function(e) {
  5716. function t() {
  5717. var t = null !== e && e.apply(this, arguments) || this;
  5718. return t.state = {
  5719. forPrint: !1
  5720. }, t.handleBeforePrint = function() {
  5721. t.setState({
  5722. forPrint: !0
  5723. })
  5724. }, t.handleAfterPrint = function() {
  5725. t.setState({
  5726. forPrint: !1
  5727. })
  5728. }, t
  5729. }
  5730. return n(t, e), t.prototype.render = function() {
  5731. var e = this.props,
  5732. t = e.options,
  5733. n = this.state.forPrint,
  5734. r = n || "auto" === t.height || "auto" === t.contentHeight,
  5735. o = r || null == t.height ? "" : t.height,
  5736. i = ["fc", n ? "fc-media-print" : "fc-media-screen", "fc-direction-" + t.direction, e.theme.getClass("root")];
  5737. return Qr() || i.push("fc-liquid-hack"), e.children(i, o, r, n)
  5738. }, t.prototype.componentDidMount = function() {
  5739. var e = this.props.emitter;
  5740. e.on("_beforeprint", this.handleBeforePrint), e.on("_afterprint", this.handleAfterPrint)
  5741. }, t.prototype.componentWillUnmount = function() {
  5742. var e = this.props.emitter;
  5743. e.off("_beforeprint", this.handleBeforePrint), e.off("_afterprint", this.handleAfterPrint)
  5744. }, t
  5745. }(Uo);
  5746. function ma(e, t) {
  5747. return ln(!e || t > 10 ? {
  5748. weekday: "short"
  5749. } : t > 1 ? {
  5750. weekday: "short",
  5751. month: "numeric",
  5752. day: "numeric",
  5753. omitCommas: !0
  5754. } : {
  5755. weekday: "long"
  5756. })
  5757. }
  5758. var ya = "fc-col-header-cell";
  5759. function Ea(e) {
  5760. return e.text
  5761. }
  5762. var Sa = function(e) {
  5763. function t() {
  5764. return null !== e && e.apply(this, arguments) || this
  5765. }
  5766. return n(t, e), t.prototype.render = function() {
  5767. var e = this.context,
  5768. t = e.dateEnv,
  5769. n = e.options,
  5770. o = e.theme,
  5771. i = e.viewApi,
  5772. a = this.props,
  5773. s = a.date,
  5774. l = a.dateProfile,
  5775. u = ro(s, a.todayRange, null, l),
  5776. c = [ya].concat(oo(u, o)),
  5777. d = t.format(s, a.dayHeaderFormat),
  5778. p = !u.isDisabled && a.colCnt > 1 ? so(this.context, s) : {},
  5779. f = r(r(r({
  5780. date: t.toDate(s),
  5781. view: i
  5782. }, a.extraHookProps), {
  5783. text: d
  5784. }), u);
  5785. return _o(Yo, {
  5786. hookProps: f,
  5787. classNames: n.dayHeaderClassNames,
  5788. content: n.dayHeaderContent,
  5789. defaultContent: Ea,
  5790. didMount: n.dayHeaderDidMount,
  5791. willUnmount: n.dayHeaderWillUnmount
  5792. }, (function(e, t, n, o) {
  5793. return _o("th", r({
  5794. ref: e,
  5795. role: "columnheader",
  5796. className: c.concat(t).join(" "),
  5797. "data-date": u.isDisabled ? void 0 : Bt(s),
  5798. colSpan: a.colSpan
  5799. }, a.extraDataAttrs), _o("div", {
  5800. className: "fc-scrollgrid-sync-inner"
  5801. }, !u.isDisabled && _o("a", r({
  5802. ref: n,
  5803. className: ["fc-col-header-cell-cushion", a.isSticky ? "fc-sticky" : ""].join(" ")
  5804. }, p), o)))
  5805. }))
  5806. }, t
  5807. }(Uo),
  5808. ba = ln({
  5809. weekday: "long"
  5810. }),
  5811. Da = function(e) {
  5812. function t() {
  5813. return null !== e && e.apply(this, arguments) || this
  5814. }
  5815. return n(t, e), t.prototype.render = function() {
  5816. var e = this.props,
  5817. t = this.context,
  5818. n = t.dateEnv,
  5819. o = t.theme,
  5820. i = t.viewApi,
  5821. a = t.options,
  5822. s = tt(new Date(2592e5), e.dow),
  5823. l = {
  5824. dow: e.dow,
  5825. isDisabled: !1,
  5826. isFuture: !1,
  5827. isPast: !1,
  5828. isToday: !1,
  5829. isOther: !1
  5830. },
  5831. u = [ya].concat(oo(l, o), e.extraClassNames || []),
  5832. c = n.format(s, e.dayHeaderFormat),
  5833. d = r(r(r(r({
  5834. date: s
  5835. }, l), {
  5836. view: i
  5837. }), e.extraHookProps), {
  5838. text: c
  5839. });
  5840. return _o(Yo, {
  5841. hookProps: d,
  5842. classNames: a.dayHeaderClassNames,
  5843. content: a.dayHeaderContent,
  5844. defaultContent: Ea,
  5845. didMount: a.dayHeaderDidMount,
  5846. willUnmount: a.dayHeaderWillUnmount
  5847. }, (function(t, o, i, a) {
  5848. return _o("th", r({
  5849. ref: t,
  5850. role: "columnheader",
  5851. className: u.concat(o).join(" "),
  5852. colSpan: e.colSpan
  5853. }, e.extraDataAttrs), _o("div", {
  5854. className: "fc-scrollgrid-sync-inner"
  5855. }, _o("a", {
  5856. "aria-label": n.format(s, ba),
  5857. className: ["fc-col-header-cell-cushion", e.isSticky ? "fc-sticky" : ""].join(" "),
  5858. ref: i
  5859. }, a)))
  5860. }))
  5861. }, t
  5862. }(Uo),
  5863. Ca = function(e) {
  5864. function t(t, n) {
  5865. var r = e.call(this, t, n) || this;
  5866. return r.initialNowDate = Tr(n.options.now, n.dateEnv), r.initialNowQueriedMs = (new Date).valueOf(), r.state = r.computeTiming().currentState, r
  5867. }
  5868. return n(t, e), t.prototype.render = function() {
  5869. var e = this.props,
  5870. t = this.state;
  5871. return e.children(t.nowDate, t.todayRange)
  5872. }, t.prototype.componentDidMount = function() {
  5873. this.setTimeout()
  5874. }, t.prototype.componentDidUpdate = function(e) {
  5875. e.unit !== this.props.unit && (this.clearTimeout(), this.setTimeout())
  5876. }, t.prototype.componentWillUnmount = function() {
  5877. this.clearTimeout()
  5878. }, t.prototype.computeTiming = function() {
  5879. var e = this.props,
  5880. t = this.context,
  5881. n = nt(this.initialNowDate, (new Date).valueOf() - this.initialNowQueriedMs),
  5882. r = t.dateEnv.startOf(n, e.unit),
  5883. o = t.dateEnv.add(r, Nt(1, e.unit)),
  5884. i = o.valueOf() - n.valueOf();
  5885. return i = Math.min(864e5, i), {
  5886. currentState: {
  5887. nowDate: r,
  5888. todayRange: wa(r)
  5889. },
  5890. nextState: {
  5891. nowDate: o,
  5892. todayRange: wa(o)
  5893. },
  5894. waitMs: i
  5895. }
  5896. }, t.prototype.setTimeout = function() {
  5897. var e = this,
  5898. t = this.computeTiming(),
  5899. n = t.nextState,
  5900. r = t.waitMs;
  5901. this.timeoutId = setTimeout((function() {
  5902. e.setState(n, (function() {
  5903. e.setTimeout()
  5904. }))
  5905. }), r)
  5906. }, t.prototype.clearTimeout = function() {
  5907. this.timeoutId && clearTimeout(this.timeoutId)
  5908. }, t.contextType = Oo, t
  5909. }(Ro);
  5910. function wa(e) {
  5911. var t = lt(e);
  5912. return {
  5913. start: t,
  5914. end: tt(t, 1)
  5915. }
  5916. }
  5917. var Ra = function(e) {
  5918. function t() {
  5919. var t = null !== e && e.apply(this, arguments) || this;
  5920. return t.createDayHeaderFormatter = qt(_a), t
  5921. }
  5922. return n(t, e), t.prototype.render = function() {
  5923. var e = this.context,
  5924. t = this.props,
  5925. n = t.dates,
  5926. r = t.dateProfile,
  5927. o = t.datesRepDistinctDays,
  5928. i = t.renderIntro,
  5929. a = this.createDayHeaderFormatter(e.options.dayHeaderFormat, o, n.length);
  5930. return _o(Ca, {
  5931. unit: "day"
  5932. }, (function(e, t) {
  5933. return _o("tr", {
  5934. role: "row"
  5935. }, i && i("day"), n.map((function(e) {
  5936. return o ? _o(Sa, {
  5937. key: e.toISOString(),
  5938. date: e,
  5939. dateProfile: r,
  5940. todayRange: t,
  5941. colCnt: n.length,
  5942. dayHeaderFormat: a
  5943. }) : _o(Da, {
  5944. key: e.getUTCDay(),
  5945. dow: e.getUTCDay(),
  5946. dayHeaderFormat: a
  5947. })
  5948. })))
  5949. }))
  5950. }, t
  5951. }(Uo);
  5952. function _a(e, t, n) {
  5953. return e || ma(t, n)
  5954. }
  5955. var Ta = function() {
  5956. function e(e, t) {
  5957. for (var n = e.start, r = e.end, o = [], i = [], a = -1; n < r;) t.isHiddenDay(n) ? o.push(a + .5) : (a += 1, o.push(a), i.push(n)), n = tt(n, 1);
  5958. this.dates = i, this.indices = o, this.cnt = i.length
  5959. }
  5960. return e.prototype.sliceRange = function(e) {
  5961. var t = this.getDateDayIndex(e.start),
  5962. n = this.getDateDayIndex(tt(e.end, -1)),
  5963. r = Math.max(0, t),
  5964. o = Math.min(this.cnt - 1, n);
  5965. return (r = Math.ceil(r)) <= (o = Math.floor(o)) ? {
  5966. firstIndex: r,
  5967. lastIndex: o,
  5968. isStart: t === r,
  5969. isEnd: n === o
  5970. } : null
  5971. }, e.prototype.getDateDayIndex = function(e) {
  5972. var t = this.indices,
  5973. n = Math.floor(ot(this.dates[0], e));
  5974. return n < 0 ? t[0] - 1 : n >= t.length ? t[t.length - 1] + 1 : t[n]
  5975. }, e
  5976. }(),
  5977. ka = function() {
  5978. function e(e, t) {
  5979. var n, r, o, i = e.dates;
  5980. if (t) {
  5981. for (r = i[0].getUTCDay(), n = 1; n < i.length && i[n].getUTCDay() !== r; n += 1);
  5982. o = Math.ceil(i.length / n)
  5983. } else o = 1, n = i.length;
  5984. this.rowCnt = o, this.colCnt = n, this.daySeries = e, this.cells = this.buildCells(), this.headerDates = this.buildHeaderDates()
  5985. }
  5986. return e.prototype.buildCells = function() {
  5987. for (var e = [], t = 0; t < this.rowCnt; t += 1) {
  5988. for (var n = [], r = 0; r < this.colCnt; r += 1) n.push(this.buildCell(t, r));
  5989. e.push(n)
  5990. }
  5991. return e
  5992. }, e.prototype.buildCell = function(e, t) {
  5993. var n = this.daySeries.dates[e * this.colCnt + t];
  5994. return {
  5995. key: n.toISOString(),
  5996. date: n
  5997. }
  5998. }, e.prototype.buildHeaderDates = function() {
  5999. for (var e = [], t = 0; t < this.colCnt; t += 1) e.push(this.cells[0][t].date);
  6000. return e
  6001. }, e.prototype.sliceRange = function(e) {
  6002. var t = this.colCnt,
  6003. n = this.daySeries.sliceRange(e),
  6004. r = [];
  6005. if (n)
  6006. for (var o = n.firstIndex, i = n.lastIndex, a = o; a <= i;) {
  6007. var s = Math.floor(a / t),
  6008. l = Math.min((s + 1) * t, i + 1);
  6009. r.push({
  6010. row: s,
  6011. firstCol: a % t,
  6012. lastCol: (l - 1) % t,
  6013. isStart: n.isStart && a === o,
  6014. isEnd: n.isEnd && l - 1 === i
  6015. }), a = l
  6016. }
  6017. return r
  6018. }, e
  6019. }(),
  6020. xa = function() {
  6021. function e() {
  6022. this.sliceBusinessHours = qt(this._sliceBusinessHours), this.sliceDateSelection = qt(this._sliceDateSpan), this.sliceEventStore = qt(this._sliceEventStore), this.sliceEventDrag = qt(this._sliceInteraction), this.sliceEventResize = qt(this._sliceInteraction), this.forceDayIfListItem = !1
  6023. }
  6024. return e.prototype.sliceProps = function(e, t, n, r) {
  6025. for (var i = [], a = 4; a < arguments.length; a++) i[a - 4] = arguments[a];
  6026. var s = e.eventUiBases,
  6027. l = this.sliceEventStore.apply(this, o([e.eventStore, s, t, n], i));
  6028. return {
  6029. dateSelectionSegs: this.sliceDateSelection.apply(this, o([e.dateSelection, s, r], i)),
  6030. businessHourSegs: this.sliceBusinessHours.apply(this, o([e.businessHours, t, n, r], i)),
  6031. fgEventSegs: l.fg,
  6032. bgEventSegs: l.bg,
  6033. eventDrag: this.sliceEventDrag.apply(this, o([e.eventDrag, s, t, n], i)),
  6034. eventResize: this.sliceEventResize.apply(this, o([e.eventResize, s, t, n], i)),
  6035. eventSelection: e.eventSelection
  6036. }
  6037. }, e.prototype.sliceNowDate = function(e, t) {
  6038. for (var n = [], r = 2; r < arguments.length; r++) n[r - 2] = arguments[r];
  6039. return this._sliceDateSpan.apply(this, o([{
  6040. range: {
  6041. start: e,
  6042. end: nt(e, 1)
  6043. },
  6044. allDay: !1
  6045. }, {}, t], n))
  6046. }, e.prototype._sliceBusinessHours = function(e, t, n, r) {
  6047. for (var i = [], a = 4; a < arguments.length; a++) i[a - 4] = arguments[a];
  6048. return e ? this._sliceEventStore.apply(this, o([xt(e, Ma(t, Boolean(n)), r), {}, t, n], i)).bg : []
  6049. }, e.prototype._sliceEventStore = function(e, t, n, r) {
  6050. for (var o = [], i = 4; i < arguments.length; i++) o[i - 4] = arguments[i];
  6051. if (e) {
  6052. var a = Xn(e, t, Ma(n, Boolean(r)), r);
  6053. return {
  6054. bg: this.sliceEventRanges(a.bg, o),
  6055. fg: this.sliceEventRanges(a.fg, o)
  6056. }
  6057. }
  6058. return {
  6059. bg: [],
  6060. fg: []
  6061. }
  6062. }, e.prototype._sliceInteraction = function(e, t, n, r) {
  6063. for (var o = [], i = 4; i < arguments.length; i++) o[i - 4] = arguments[i];
  6064. if (!e) return null;
  6065. var a = Xn(e.mutatedEvents, t, Ma(n, Boolean(r)), r);
  6066. return {
  6067. segs: this.sliceEventRanges(a.fg, o),
  6068. affectedInstances: e.affectedEvents.instances,
  6069. isEvent: e.isEvent
  6070. }
  6071. }, e.prototype._sliceDateSpan = function(e, t, n) {
  6072. for (var r = [], i = 3; i < arguments.length; i++) r[i - 3] = arguments[i];
  6073. if (!e) return [];
  6074. for (var a = gr(e, t, n), s = this.sliceRange.apply(this, o([e.range], r)), l = 0, u = s; l < u.length; l++) {
  6075. var c = u[l];
  6076. c.eventRange = a
  6077. }
  6078. return s
  6079. }, e.prototype.sliceEventRanges = function(e, t) {
  6080. for (var n = [], r = 0, o = e; r < o.length; r++) {
  6081. var i = o[r];
  6082. n.push.apply(n, this.sliceEventRange(i, t))
  6083. }
  6084. return n
  6085. }, e.prototype.sliceEventRange = function(e, t) {
  6086. var n = e.range;
  6087. this.forceDayIfListItem && "list-item" === e.ui.display && (n = {
  6088. start: n.start,
  6089. end: tt(n.start, 1)
  6090. });
  6091. for (var r = this.sliceRange.apply(this, o([n], t)), i = 0, a = r; i < a.length; i++) {
  6092. var s = a[i];
  6093. s.eventRange = e, s.isStart = e.isStart && s.isStart, s.isEnd = e.isEnd && s.isEnd
  6094. }
  6095. return r
  6096. }, e
  6097. }();
  6098. function Ma(e, t) {
  6099. var n = e.activeRange;
  6100. return t ? n : {
  6101. start: nt(n.start, e.slotMinTime.milliseconds),
  6102. end: nt(n.end, e.slotMaxTime.milliseconds - 864e5)
  6103. }
  6104. }
  6105. function Ia(e, t, n) {
  6106. var r = e.mutatedEvents.instances;
  6107. for (var o in r)
  6108. if (!Yn(t.validRange, r[o].range)) return !1;
  6109. return Na({
  6110. eventDrag: e
  6111. }, n)
  6112. }
  6113. function Pa(e, t, n) {
  6114. return !!Yn(t.validRange, e.range) && Na({
  6115. dateSelection: e
  6116. }, n)
  6117. }
  6118. function Na(e, t) {
  6119. var n = t.getCurrentData(),
  6120. o = r({
  6121. businessHours: n.businessHours,
  6122. dateSelection: "",
  6123. eventStore: n.eventStore,
  6124. eventUiBases: n.eventUiBases,
  6125. eventSelection: "",
  6126. eventDrag: null,
  6127. eventResize: null
  6128. }, e);
  6129. return (t.pluginHooks.isPropsValid || Ha)(o, t)
  6130. }
  6131. function Ha(e, t, n, o) {
  6132. return void 0 === n && (n = {}), !(e.eventDrag && ! function(e, t, n, o) {
  6133. var i = t.getCurrentData(),
  6134. a = e.eventDrag,
  6135. s = a.mutatedEvents,
  6136. l = s.defs,
  6137. u = s.instances,
  6138. c = Qn(l, a.isEvent ? e.eventUiBases : {
  6139. "": i.selectionConfig
  6140. });
  6141. o && (c = bt(c, o));
  6142. var d = (v = e.eventStore, g = a.affectedEvents.instances, {
  6143. defs: v.defs,
  6144. instances: St(v.instances, (function(e) {
  6145. return !g[e.instanceId]
  6146. }))
  6147. }),
  6148. p = d.defs,
  6149. f = d.instances,
  6150. h = Qn(p, e.eventUiBases);
  6151. var v, g;
  6152. for (var m in u) {
  6153. var y = u[m],
  6154. E = y.range,
  6155. S = c[y.defId],
  6156. b = l[y.defId];
  6157. if (!Oa(S.constraints, E, d, e.businessHours, t)) return !1;
  6158. var D = t.options.eventOverlap,
  6159. C = "function" == typeof D ? D : null;
  6160. for (var w in f) {
  6161. var R = f[w];
  6162. if (qn(E, R.range)) {
  6163. if (!1 === h[R.defId].overlap && a.isEvent) return !1;
  6164. if (!1 === S.overlap) return !1;
  6165. if (C && !C(new xr(t, p[R.defId], R), new xr(t, b, y))) return !1
  6166. }
  6167. }
  6168. for (var _ = i.eventStore, T = 0, k = S.allows; T < k.length; T++) {
  6169. var x = k[T],
  6170. M = r(r({}, n), {
  6171. range: y.range,
  6172. allDay: b.allDay
  6173. }),
  6174. I = _.defs[b.defId],
  6175. P = _.instances[m],
  6176. N = void 0;
  6177. if (N = I ? new xr(t, I, P) : new xr(t, b), !x(yr(M, t), N)) return !1
  6178. }
  6179. }
  6180. return !0
  6181. }(e, t, n, o)) && !(e.dateSelection && ! function(e, t, n, o) {
  6182. var i = e.eventStore,
  6183. a = i.defs,
  6184. s = i.instances,
  6185. l = e.dateSelection,
  6186. u = l.range,
  6187. c = t.getCurrentData().selectionConfig;
  6188. o && (c = o(c));
  6189. if (!Oa(c.constraints, u, i, e.businessHours, t)) return !1;
  6190. var d = t.options.selectOverlap,
  6191. p = "function" == typeof d ? d : null;
  6192. for (var f in s) {
  6193. var h = s[f];
  6194. if (qn(u, h.range)) {
  6195. if (!1 === c.overlap) return !1;
  6196. if (p && !p(new xr(t, a[h.defId], h), null)) return !1
  6197. }
  6198. }
  6199. for (var v = 0, g = c.allows; v < g.length; v++) {
  6200. if (!(0, g[v])(yr(r(r({}, n), l), t), null)) return !1
  6201. }
  6202. return !0
  6203. }(e, t, n, o))
  6204. }
  6205. function Oa(e, t, n, r, o) {
  6206. for (var i = 0, a = e; i < a.length; i++) {
  6207. if (!Ua(Aa(a[i], t, n, r, o), t)) return !1
  6208. }
  6209. return !0
  6210. }
  6211. function Aa(e, t, n, r, o) {
  6212. return "businessHours" === e ? La(xt(r, t, o)) : "string" == typeof e ? La(wn(n, (function(t) {
  6213. return t.groupId === e
  6214. }))) : "object" == typeof e && e ? La(xt(e, t, o)) : []
  6215. }
  6216. function La(e) {
  6217. var t = e.instances,
  6218. n = [];
  6219. for (var r in t) n.push(t[r].range);
  6220. return n
  6221. }
  6222. function Ua(e, t) {
  6223. for (var n = 0, r = e; n < r.length; n++) {
  6224. if (Yn(r[n], t)) return !0
  6225. }
  6226. return !1
  6227. }
  6228. var Wa = /^(visible|hidden)$/,
  6229. Va = function(e) {
  6230. function t() {
  6231. var t = null !== e && e.apply(this, arguments) || this;
  6232. return t.handleEl = function(e) {
  6233. t.el = e, Fo(t.props.elRef, e)
  6234. }, t
  6235. }
  6236. return n(t, e), t.prototype.render = function() {
  6237. var e = this.props,
  6238. t = e.liquid,
  6239. n = e.liquidIsAbsolute,
  6240. r = t && n,
  6241. o = ["fc-scroller"];
  6242. return t && (n ? o.push("fc-scroller-liquid-absolute") : o.push("fc-scroller-liquid")), _o("div", {
  6243. ref: this.handleEl,
  6244. className: o.join(" "),
  6245. style: {
  6246. overflowX: e.overflowX,
  6247. overflowY: e.overflowY,
  6248. left: r && -(e.overcomeLeft || 0) || "",
  6249. right: r && -(e.overcomeRight || 0) || "",
  6250. bottom: r && -(e.overcomeBottom || 0) || "",
  6251. marginLeft: !r && -(e.overcomeLeft || 0) || "",
  6252. marginRight: !r && -(e.overcomeRight || 0) || "",
  6253. marginBottom: !r && -(e.overcomeBottom || 0) || "",
  6254. maxHeight: e.maxHeight || ""
  6255. }
  6256. }, e.children)
  6257. }, t.prototype.needsXScrolling = function() {
  6258. if (Wa.test(this.props.overflowX)) return !1;
  6259. for (var e = this.el, t = this.el.getBoundingClientRect().width - this.getYScrollbarWidth(), n = e.children, r = 0; r < n.length; r += 1) {
  6260. if (n[r].getBoundingClientRect().width > t) return !0
  6261. }
  6262. return !1
  6263. }, t.prototype.needsYScrolling = function() {
  6264. if (Wa.test(this.props.overflowY)) return !1;
  6265. for (var e = this.el, t = this.el.getBoundingClientRect().height - this.getXScrollbarWidth(), n = e.children, r = 0; r < n.length; r += 1) {
  6266. if (n[r].getBoundingClientRect().height > t) return !0
  6267. }
  6268. return !1
  6269. }, t.prototype.getXScrollbarWidth = function() {
  6270. return Wa.test(this.props.overflowX) ? 0 : this.el.offsetHeight - this.el.clientHeight
  6271. }, t.prototype.getYScrollbarWidth = function() {
  6272. return Wa.test(this.props.overflowY) ? 0 : this.el.offsetWidth - this.el.clientWidth
  6273. }, t
  6274. }(Uo),
  6275. Fa = function() {
  6276. function e(e) {
  6277. var t = this;
  6278. this.masterCallback = e, this.currentMap = {}, this.depths = {}, this.callbackMap = {}, this.handleValue = function(e, n) {
  6279. var r = t,
  6280. o = r.depths,
  6281. i = r.currentMap,
  6282. a = !1,
  6283. s = !1;
  6284. null !== e ? (a = n in i, i[n] = e, o[n] = (o[n] || 0) + 1, s = !0) : (o[n] -= 1, o[n] || (delete i[n], delete t.callbackMap[n], a = !0)), t.masterCallback && (a && t.masterCallback(null, String(n)), s && t.masterCallback(e, String(n)))
  6285. }
  6286. }
  6287. return e.prototype.createRef = function(e) {
  6288. var t = this,
  6289. n = this.callbackMap[e];
  6290. return n || (n = this.callbackMap[e] = function(n) {
  6291. t.handleValue(n, String(e))
  6292. }), n
  6293. }, e.prototype.collect = function(e, t, n) {
  6294. return kt(this.currentMap, e, t, n)
  6295. }, e.prototype.getAll = function() {
  6296. return Ct(this.currentMap)
  6297. }, e
  6298. }();
  6299. function Ba(e) {
  6300. for (var t = 0, n = 0, r = De(e, ".fc-scrollgrid-shrink"); n < r.length; n++) {
  6301. var o = r[n];
  6302. t = Math.max(t, Je(o))
  6303. }
  6304. return Math.ceil(t)
  6305. }
  6306. function za(e, t) {
  6307. return e.liquid && t.liquid
  6308. }
  6309. function ja(e, t) {
  6310. return null != t.maxHeight || za(e, t)
  6311. }
  6312. function Ga(e, t, n, r) {
  6313. var o = n.expandRows;
  6314. return "function" == typeof t.content ? t.content(n) : _o("table", {
  6315. role: "presentation",
  6316. className: [t.tableClassName, e.syncRowHeights ? "fc-scrollgrid-sync-table" : ""].join(" "),
  6317. style: {
  6318. minWidth: n.tableMinWidth,
  6319. width: n.clientWidth,
  6320. height: o ? n.clientHeight : ""
  6321. }
  6322. }, n.tableColGroupNode, _o(r ? "thead" : "tbody", {
  6323. role: "presentation"
  6324. }, "function" == typeof t.rowContent ? t.rowContent(n) : t.rowContent))
  6325. }
  6326. function qa(e, t) {
  6327. return Gt(e, t, wt)
  6328. }
  6329. function Ya(e, t) {
  6330. for (var n = [], r = 0, i = e; r < i.length; r++)
  6331. for (var a = i[r], s = a.span || 1, l = 0; l < s; l += 1) n.push(_o("col", {
  6332. style: {
  6333. width: "shrink" === a.width ? Za(t) : a.width || "",
  6334. minWidth: a.minWidth || ""
  6335. }
  6336. }));
  6337. return _o.apply(void 0, o(["colgroup", {}], n))
  6338. }
  6339. function Za(e) {
  6340. return null == e ? 4 : e
  6341. }
  6342. function Xa(e) {
  6343. for (var t = 0, n = e; t < n.length; t++) {
  6344. if ("shrink" === n[t].width) return !0
  6345. }
  6346. return !1
  6347. }
  6348. function Ka(e, t) {
  6349. var n = ["fc-scrollgrid", t.theme.getClass("table")];
  6350. return e && n.push("fc-scrollgrid-liquid"), n
  6351. }
  6352. function $a(e, t) {
  6353. var n = ["fc-scrollgrid-section", "fc-scrollgrid-section-" + e.type, e.className];
  6354. return t && e.liquid && null == e.maxHeight && n.push("fc-scrollgrid-section-liquid"), e.isSticky && n.push("fc-scrollgrid-section-sticky"), n
  6355. }
  6356. function Ja(e) {
  6357. return _o("div", {
  6358. className: "fc-scrollgrid-sticky-shim",
  6359. style: {
  6360. width: e.clientWidth,
  6361. minWidth: e.tableMinWidth
  6362. }
  6363. })
  6364. }
  6365. function Qa(e) {
  6366. var t = e.stickyHeaderDates;
  6367. return null != t && "auto" !== t || (t = "auto" === e.height || "auto" === e.viewHeight), t
  6368. }
  6369. function es(e) {
  6370. var t = e.stickyFooterScrollbar;
  6371. return null != t && "auto" !== t || (t = "auto" === e.height || "auto" === e.viewHeight), t
  6372. }
  6373. var ts = function(e) {
  6374. function t() {
  6375. var t = null !== e && e.apply(this, arguments) || this;
  6376. return t.processCols = qt((function(e) {
  6377. return e
  6378. }), qa), t.renderMicroColGroup = qt(Ya), t.scrollerRefs = new Fa, t.scrollerElRefs = new Fa(t._handleScrollerEl.bind(t)), t.state = {
  6379. shrinkWidth: null,
  6380. forceYScrollbars: !1,
  6381. scrollerClientWidths: {},
  6382. scrollerClientHeights: {}
  6383. }, t.handleSizing = function() {
  6384. t.setState(r({
  6385. shrinkWidth: t.computeShrinkWidth()
  6386. }, t.computeScrollerDims()))
  6387. }, t
  6388. }
  6389. return n(t, e), t.prototype.render = function() {
  6390. var e = this,
  6391. t = e.props,
  6392. n = e.state,
  6393. r = e.context,
  6394. i = t.sections || [],
  6395. a = this.processCols(t.cols),
  6396. s = this.renderMicroColGroup(a, n.shrinkWidth),
  6397. l = Ka(t.liquid, r);
  6398. t.collapsibleWidth && l.push("fc-scrollgrid-collapsible");
  6399. for (var u, c = i.length, d = 0, p = [], f = [], h = []; d < c && "header" === (u = i[d]).type;) p.push(this.renderSection(u, s, !0)), d += 1;
  6400. for (; d < c && "body" === (u = i[d]).type;) f.push(this.renderSection(u, s, !1)), d += 1;
  6401. for (; d < c && "footer" === (u = i[d]).type;) h.push(this.renderSection(u, s, !0)), d += 1;
  6402. var v = !Qr(),
  6403. g = {
  6404. role: "rowgroup"
  6405. };
  6406. return _o("table", {
  6407. role: "grid",
  6408. className: l.join(" "),
  6409. style: {
  6410. height: t.height
  6411. }
  6412. }, Boolean(!v && p.length) && _o.apply(void 0, o(["thead", g], p)), Boolean(!v && f.length) && _o.apply(void 0, o(["tbody", g], f)), Boolean(!v && h.length) && _o.apply(void 0, o(["tfoot", g], h)), v && _o.apply(void 0, o(o(o(["tbody", g], p), f), h)))
  6413. }, t.prototype.renderSection = function(e, t, n) {
  6414. return "outerContent" in e ? _o(xo, {
  6415. key: e.key
  6416. }, e.outerContent) : _o("tr", {
  6417. key: e.key,
  6418. role: "presentation",
  6419. className: $a(e, this.props.liquid).join(" ")
  6420. }, this.renderChunkTd(e, t, e.chunk, n))
  6421. }, t.prototype.renderChunkTd = function(e, t, n, r) {
  6422. if ("outerContent" in n) return n.outerContent;
  6423. var o = this.props,
  6424. i = this.state,
  6425. a = i.forceYScrollbars,
  6426. s = i.scrollerClientWidths,
  6427. l = i.scrollerClientHeights,
  6428. u = ja(o, e),
  6429. c = za(o, e),
  6430. d = o.liquid ? a ? "scroll" : u ? "auto" : "hidden" : "visible",
  6431. p = e.key,
  6432. f = Ga(e, n, {
  6433. tableColGroupNode: t,
  6434. tableMinWidth: "",
  6435. clientWidth: o.collapsibleWidth || void 0 === s[p] ? null : s[p],
  6436. clientHeight: void 0 !== l[p] ? l[p] : null,
  6437. expandRows: e.expandRows,
  6438. syncRowHeights: !1,
  6439. rowSyncHeights: [],
  6440. reportRowHeightChange: function() {}
  6441. }, r);
  6442. return _o(r ? "th" : "td", {
  6443. ref: n.elRef,
  6444. role: "presentation"
  6445. }, _o("div", {
  6446. className: "fc-scroller-harness" + (c ? " fc-scroller-harness-liquid" : "")
  6447. }, _o(Va, {
  6448. ref: this.scrollerRefs.createRef(p),
  6449. elRef: this.scrollerElRefs.createRef(p),
  6450. overflowY: d,
  6451. overflowX: o.liquid ? "hidden" : "visible",
  6452. maxHeight: e.maxHeight,
  6453. liquid: c,
  6454. liquidIsAbsolute: !0
  6455. }, f)))
  6456. }, t.prototype._handleScrollerEl = function(e, t) {
  6457. var n = function(e, t) {
  6458. for (var n = 0, r = e; n < r.length; n++) {
  6459. var o = r[n];
  6460. if (o.key === t) return o
  6461. }
  6462. return null
  6463. }(this.props.sections, t);
  6464. n && Fo(n.chunk.scrollerElRef, e)
  6465. }, t.prototype.componentDidMount = function() {
  6466. this.handleSizing(), this.context.addResizeHandler(this.handleSizing)
  6467. }, t.prototype.componentDidUpdate = function() {
  6468. this.handleSizing()
  6469. }, t.prototype.componentWillUnmount = function() {
  6470. this.context.removeResizeHandler(this.handleSizing)
  6471. }, t.prototype.computeShrinkWidth = function() {
  6472. return Xa(this.props.cols) ? Ba(this.scrollerElRefs.getAll()) : 0
  6473. }, t.prototype.computeScrollerDims = function() {
  6474. var e = po(),
  6475. t = this.scrollerRefs,
  6476. n = this.scrollerElRefs,
  6477. r = !1,
  6478. o = {},
  6479. i = {};
  6480. for (var a in t.currentMap) {
  6481. var s = t.currentMap[a];
  6482. if (s && s.needsYScrolling()) {
  6483. r = !0;
  6484. break
  6485. }
  6486. }
  6487. for (var l = 0, u = this.props.sections; l < u.length; l++) {
  6488. a = u[l].key;
  6489. var c = n.currentMap[a];
  6490. if (c) {
  6491. var d = c.parentNode;
  6492. o[a] = Math.floor(d.getBoundingClientRect().width - (r ? e.y : 0)), i[a] = Math.floor(d.getBoundingClientRect().height)
  6493. }
  6494. }
  6495. return {
  6496. forceYScrollbars: r,
  6497. scrollerClientWidths: o,
  6498. scrollerClientHeights: i
  6499. }
  6500. }, t
  6501. }(Uo);
  6502. ts.addStateEquality({
  6503. scrollerClientWidths: wt,
  6504. scrollerClientHeights: wt
  6505. });
  6506. var ns = function(e) {
  6507. function t() {
  6508. var t = null !== e && e.apply(this, arguments) || this;
  6509. return t.elRef = ko(), t
  6510. }
  6511. return n(t, e), t.prototype.render = function() {
  6512. var e = this.props,
  6513. t = this.context,
  6514. n = t.options,
  6515. r = e.seg,
  6516. o = r.eventRange,
  6517. i = o.ui,
  6518. a = {
  6519. event: new xr(t, o.def, o.instance),
  6520. view: t.viewApi,
  6521. timeText: e.timeText,
  6522. textColor: i.textColor,
  6523. backgroundColor: i.backgroundColor,
  6524. borderColor: i.borderColor,
  6525. isDraggable: !e.disableDragging && rr(r, t),
  6526. isStartResizable: !e.disableResizing && or(r, t),
  6527. isEndResizable: !e.disableResizing && ir(r),
  6528. isMirror: Boolean(e.isDragging || e.isResizing || e.isDateSelecting),
  6529. isStart: Boolean(r.isStart),
  6530. isEnd: Boolean(r.isEnd),
  6531. isPast: Boolean(e.isPast),
  6532. isFuture: Boolean(e.isFuture),
  6533. isToday: Boolean(e.isToday),
  6534. isSelected: Boolean(e.isSelected),
  6535. isDragging: Boolean(e.isDragging),
  6536. isResizing: Boolean(e.isResizing)
  6537. },
  6538. s = lr(a).concat(i.classNames);
  6539. return _o(Yo, {
  6540. hookProps: a,
  6541. classNames: n.eventClassNames,
  6542. content: n.eventContent,
  6543. defaultContent: e.defaultContent,
  6544. didMount: n.eventDidMount,
  6545. willUnmount: n.eventWillUnmount,
  6546. elRef: this.elRef
  6547. }, (function(t, n, r, o) {
  6548. return e.children(t, s.concat(n), r, o, a)
  6549. }))
  6550. }, t.prototype.componentDidMount = function() {
  6551. $n(this.elRef.current, this.props.seg)
  6552. }, t.prototype.componentDidUpdate = function(e) {
  6553. var t = this.props.seg;
  6554. t !== e.seg && $n(this.elRef.current, t)
  6555. }, t
  6556. }(Uo),
  6557. rs = function(e) {
  6558. function t() {
  6559. return null !== e && e.apply(this, arguments) || this
  6560. }
  6561. return n(t, e), t.prototype.render = function() {
  6562. var e = this.props,
  6563. t = this.context,
  6564. n = e.seg,
  6565. o = t.options.eventTimeFormat || e.defaultTimeFormat,
  6566. i = ar(n, o, t, e.defaultDisplayEventTime, e.defaultDisplayEventEnd);
  6567. return _o(ns, {
  6568. seg: n,
  6569. timeText: i,
  6570. disableDragging: e.disableDragging,
  6571. disableResizing: e.disableResizing,
  6572. defaultContent: e.defaultContent || os,
  6573. isDragging: e.isDragging,
  6574. isResizing: e.isResizing,
  6575. isDateSelecting: e.isDateSelecting,
  6576. isSelected: e.isSelected,
  6577. isPast: e.isPast,
  6578. isFuture: e.isFuture,
  6579. isToday: e.isToday
  6580. }, (function(o, i, a, s, l) {
  6581. return _o("a", r({
  6582. className: e.extraClassNames.concat(i).join(" "),
  6583. style: {
  6584. borderColor: l.borderColor,
  6585. backgroundColor: l.backgroundColor
  6586. },
  6587. ref: o
  6588. }, cr(n, t)), _o("div", {
  6589. className: "fc-event-main",
  6590. ref: a,
  6591. style: {
  6592. color: l.textColor
  6593. }
  6594. }, s), l.isStartResizable && _o("div", {
  6595. className: "fc-event-resizer fc-event-resizer-start"
  6596. }), l.isEndResizable && _o("div", {
  6597. className: "fc-event-resizer fc-event-resizer-end"
  6598. }))
  6599. }))
  6600. }, t
  6601. }(Uo);
  6602. function os(e) {
  6603. return _o("div", {
  6604. className: "fc-event-main-frame"
  6605. }, e.timeText && _o("div", {
  6606. className: "fc-event-time"
  6607. }, e.timeText), _o("div", {
  6608. className: "fc-event-title-container"
  6609. }, _o("div", {
  6610. className: "fc-event-title fc-sticky"
  6611. }, e.event.title || _o(xo, null, " "))))
  6612. }
  6613. var is = function(e) {
  6614. return _o(Oo.Consumer, null, (function(t) {
  6615. var n = t.options,
  6616. r = {
  6617. isAxis: e.isAxis,
  6618. date: t.dateEnv.toDate(e.date),
  6619. view: t.viewApi
  6620. };
  6621. return _o(Yo, {
  6622. hookProps: r,
  6623. classNames: n.nowIndicatorClassNames,
  6624. content: n.nowIndicatorContent,
  6625. didMount: n.nowIndicatorDidMount,
  6626. willUnmount: n.nowIndicatorWillUnmount
  6627. }, e.children)
  6628. }))
  6629. },
  6630. as = ln({
  6631. day: "numeric"
  6632. }),
  6633. ss = function(e) {
  6634. function t() {
  6635. return null !== e && e.apply(this, arguments) || this
  6636. }
  6637. return n(t, e), t.prototype.render = function() {
  6638. var e = this.props,
  6639. t = this.context,
  6640. n = t.options,
  6641. r = ls({
  6642. date: e.date,
  6643. dateProfile: e.dateProfile,
  6644. todayRange: e.todayRange,
  6645. showDayNumber: e.showDayNumber,
  6646. extraProps: e.extraHookProps,
  6647. viewApi: t.viewApi,
  6648. dateEnv: t.dateEnv
  6649. });
  6650. return _o(Xo, {
  6651. hookProps: r,
  6652. content: n.dayCellContent,
  6653. defaultContent: e.defaultContent
  6654. }, e.children)
  6655. }, t
  6656. }(Uo);
  6657. function ls(e) {
  6658. var t = e.date,
  6659. n = e.dateEnv,
  6660. o = ro(t, e.todayRange, null, e.dateProfile);
  6661. return r(r(r({
  6662. date: n.toDate(t),
  6663. view: e.viewApi
  6664. }, o), {
  6665. dayNumberText: e.showDayNumber ? n.format(t, as) : ""
  6666. }), e.extraProps)
  6667. }
  6668. var us = function(e) {
  6669. function t() {
  6670. var t = null !== e && e.apply(this, arguments) || this;
  6671. return t.refineHookProps = Yt(ls), t.normalizeClassNames = Jo(), t
  6672. }
  6673. return n(t, e), t.prototype.render = function() {
  6674. var e = this.props,
  6675. t = this.context,
  6676. n = t.options,
  6677. r = this.refineHookProps({
  6678. date: e.date,
  6679. dateProfile: e.dateProfile,
  6680. todayRange: e.todayRange,
  6681. showDayNumber: e.showDayNumber,
  6682. extraProps: e.extraHookProps,
  6683. viewApi: t.viewApi,
  6684. dateEnv: t.dateEnv
  6685. }),
  6686. o = oo(r, t.theme).concat(r.isDisabled ? [] : this.normalizeClassNames(n.dayCellClassNames, r)),
  6687. i = r.isDisabled ? {} : {
  6688. "data-date": Bt(e.date)
  6689. };
  6690. return _o($o, {
  6691. hookProps: r,
  6692. didMount: n.dayCellDidMount,
  6693. willUnmount: n.dayCellWillUnmount,
  6694. elRef: e.elRef
  6695. }, (function(t) {
  6696. return e.children(t, o, i, r.isDisabled)
  6697. }))
  6698. }, t
  6699. }(Uo);
  6700. function cs(e) {
  6701. return _o("div", {
  6702. className: "fc-" + e
  6703. })
  6704. }
  6705. var ds = function(e) {
  6706. return _o(ns, {
  6707. defaultContent: ps,
  6708. seg: e.seg,
  6709. timeText: "",
  6710. disableDragging: !0,
  6711. disableResizing: !0,
  6712. isDragging: !1,
  6713. isResizing: !1,
  6714. isDateSelecting: !1,
  6715. isSelected: !1,
  6716. isPast: e.isPast,
  6717. isFuture: e.isFuture,
  6718. isToday: e.isToday
  6719. }, (function(e, t, n, r, o) {
  6720. return _o("div", {
  6721. ref: e,
  6722. className: ["fc-bg-event"].concat(t).join(" "),
  6723. style: {
  6724. backgroundColor: o.backgroundColor
  6725. }
  6726. }, r)
  6727. }))
  6728. };
  6729. function ps(e) {
  6730. return e.event.title && _o("div", {
  6731. className: "fc-event-title"
  6732. }, e.event.title)
  6733. }
  6734. var fs = function(e) {
  6735. return _o(Oo.Consumer, null, (function(t) {
  6736. var n = t.dateEnv,
  6737. r = t.options,
  6738. o = e.date,
  6739. i = r.weekNumberFormat || e.defaultFormat,
  6740. a = n.computeWeekNumber(o),
  6741. s = n.format(o, i);
  6742. return _o(Yo, {
  6743. hookProps: {
  6744. num: a,
  6745. text: s,
  6746. date: o
  6747. },
  6748. classNames: r.weekNumberClassNames,
  6749. content: r.weekNumberContent,
  6750. defaultContent: hs,
  6751. didMount: r.weekNumberDidMount,
  6752. willUnmount: r.weekNumberWillUnmount
  6753. }, e.children)
  6754. }))
  6755. };
  6756. function hs(e) {
  6757. return e.text
  6758. }
  6759. var vs = function(e) {
  6760. function t() {
  6761. var t = null !== e && e.apply(this, arguments) || this;
  6762. return t.state = {
  6763. titleId: xe()
  6764. }, t.handleRootEl = function(e) {
  6765. t.rootEl = e, t.props.elRef && Fo(t.props.elRef, e)
  6766. }, t.handleDocumentMouseDown = function(e) {
  6767. var n = _e(e);
  6768. t.rootEl.contains(n) || t.handleCloseClick()
  6769. }, t.handleDocumentKeyDown = function(e) {
  6770. "Escape" === e.key && t.handleCloseClick()
  6771. }, t.handleCloseClick = function() {
  6772. var e = t.props.onClose;
  6773. e && e()
  6774. }, t
  6775. }
  6776. return n(t, e), t.prototype.render = function() {
  6777. var e = this.context,
  6778. t = e.theme,
  6779. n = e.options,
  6780. o = this.props,
  6781. i = this.state,
  6782. a = ["fc-popover", t.getClass("popover")].concat(o.extraClassNames || []);
  6783. return Io(_o("div", r({
  6784. id: o.id,
  6785. className: a.join(" "),
  6786. "aria-labelledby": i.titleId
  6787. }, o.extraAttrs, {
  6788. ref: this.handleRootEl
  6789. }), _o("div", {
  6790. className: "fc-popover-header " + t.getClass("popoverHeader")
  6791. }, _o("span", {
  6792. className: "fc-popover-title",
  6793. id: i.titleId
  6794. }, o.title), _o("span", {
  6795. className: "fc-popover-close " + t.getIconClass("close"),
  6796. title: n.closeHint,
  6797. onClick: this.handleCloseClick
  6798. })), _o("div", {
  6799. className: "fc-popover-body " + t.getClass("popoverContent")
  6800. }, o.children)), o.parentEl)
  6801. }, t.prototype.componentDidMount = function() {
  6802. document.addEventListener("mousedown", this.handleDocumentMouseDown), document.addEventListener("keydown", this.handleDocumentKeyDown), this.updateSize()
  6803. }, t.prototype.componentWillUnmount = function() {
  6804. document.removeEventListener("mousedown", this.handleDocumentMouseDown), document.removeEventListener("keydown", this.handleDocumentKeyDown)
  6805. }, t.prototype.updateSize = function() {
  6806. var e = this.context.isRtl,
  6807. t = this.props,
  6808. n = t.alignmentEl,
  6809. r = t.alignGridTop,
  6810. o = this.rootEl,
  6811. i = function(e) {
  6812. for (var t = mo(e), n = e.getBoundingClientRect(), r = 0, o = t; r < o.length; r++) {
  6813. var i = Xr(n, o[r].getBoundingClientRect());
  6814. if (!i) return null;
  6815. n = i
  6816. }
  6817. return n
  6818. }(n);
  6819. if (i) {
  6820. var a = o.getBoundingClientRect(),
  6821. s = r ? Se(n, ".fc-scrollgrid").getBoundingClientRect().top : i.top,
  6822. l = e ? i.right - a.width : i.left;
  6823. s = Math.max(s, 10), l = Math.min(l, document.documentElement.clientWidth - 10 - a.width), l = Math.max(l, 10);
  6824. var u = o.offsetParent.getBoundingClientRect();
  6825. we(o, {
  6826. top: s - u.top,
  6827. left: l - u.left
  6828. })
  6829. }
  6830. }, t
  6831. }(Uo),
  6832. gs = function(e) {
  6833. function t() {
  6834. var t = null !== e && e.apply(this, arguments) || this;
  6835. return t.handleRootEl = function(e) {
  6836. t.rootEl = e, e ? t.context.registerInteractiveComponent(t, {
  6837. el: e,
  6838. useEventCenter: !1
  6839. }) : t.context.unregisterInteractiveComponent(t)
  6840. }, t
  6841. }
  6842. return n(t, e), t.prototype.render = function() {
  6843. var e = this.context,
  6844. t = e.options,
  6845. n = e.dateEnv,
  6846. r = this.props,
  6847. o = r.startDate,
  6848. i = r.todayRange,
  6849. a = r.dateProfile,
  6850. s = n.format(o, t.dayPopoverFormat);
  6851. return _o(us, {
  6852. date: o,
  6853. dateProfile: a,
  6854. todayRange: i,
  6855. elRef: this.handleRootEl
  6856. }, (function(e, t, n) {
  6857. return _o(vs, {
  6858. elRef: e,
  6859. id: r.id,
  6860. title: s,
  6861. extraClassNames: ["fc-more-popover"].concat(t),
  6862. extraAttrs: n,
  6863. parentEl: r.parentEl,
  6864. alignmentEl: r.alignmentEl,
  6865. alignGridTop: r.alignGridTop,
  6866. onClose: r.onClose
  6867. }, _o(ss, {
  6868. date: o,
  6869. dateProfile: a,
  6870. todayRange: i
  6871. }, (function(e, t) {
  6872. return t && _o("div", {
  6873. className: "fc-more-popover-misc",
  6874. ref: e
  6875. }, t)
  6876. })), r.children)
  6877. }))
  6878. }, t.prototype.queryHit = function(e, t, n, o) {
  6879. var i = this.rootEl,
  6880. a = this.props;
  6881. return e >= 0 && e < n && t >= 0 && t < o ? {
  6882. dateProfile: a.dateProfile,
  6883. dateSpan: r({
  6884. allDay: !0,
  6885. range: {
  6886. start: a.startDate,
  6887. end: a.endDate
  6888. }
  6889. }, a.extraDateSpan),
  6890. dayEl: i,
  6891. rect: {
  6892. left: 0,
  6893. top: 0,
  6894. right: n,
  6895. bottom: o
  6896. },
  6897. layer: 1
  6898. } : null
  6899. }, t
  6900. }(Bo),
  6901. ms = function(e) {
  6902. function t() {
  6903. var t = null !== e && e.apply(this, arguments) || this;
  6904. return t.linkElRef = ko(), t.state = {
  6905. isPopoverOpen: !1,
  6906. popoverId: xe()
  6907. }, t.handleClick = function(e) {
  6908. var n = t,
  6909. r = n.props,
  6910. o = n.context,
  6911. i = o.options.moreLinkClick,
  6912. a = Es(r).start;
  6913. function s(e) {
  6914. var t = e.eventRange,
  6915. n = t.def,
  6916. r = t.instance,
  6917. i = t.range;
  6918. return {
  6919. event: new xr(o, n, r),
  6920. start: o.dateEnv.toDate(i.start),
  6921. end: o.dateEnv.toDate(i.end),
  6922. isStart: e.isStart,
  6923. isEnd: e.isEnd
  6924. }
  6925. }
  6926. "function" == typeof i && (i = i({
  6927. date: a,
  6928. allDay: Boolean(r.allDayDate),
  6929. allSegs: r.allSegs.map(s),
  6930. hiddenSegs: r.hiddenSegs.map(s),
  6931. jsEvent: e,
  6932. view: o.viewApi
  6933. })), i && "popover" !== i ? "string" == typeof i && o.calendarApi.zoomTo(a, i) : t.setState({
  6934. isPopoverOpen: !0
  6935. })
  6936. }, t.handlePopoverClose = function() {
  6937. t.setState({
  6938. isPopoverOpen: !1
  6939. })
  6940. }, t
  6941. }
  6942. return n(t, e), t.prototype.render = function() {
  6943. var e = this,
  6944. t = this.props,
  6945. n = this.state;
  6946. return _o(Oo.Consumer, null, (function(r) {
  6947. var o = r.viewApi,
  6948. i = r.options,
  6949. a = r.calendarApi,
  6950. s = i.moreLinkText,
  6951. l = t.moreCnt,
  6952. u = Es(t),
  6953. c = "function" == typeof s ? s.call(a, l) : "+" + l + " " + s,
  6954. d = Xe(i.moreLinkHint, [l], c),
  6955. p = {
  6956. num: l,
  6957. shortText: "+" + l,
  6958. text: c,
  6959. view: o
  6960. };
  6961. return _o(xo, null, Boolean(t.moreCnt) && _o(Yo, {
  6962. elRef: e.linkElRef,
  6963. hookProps: p,
  6964. classNames: i.moreLinkClassNames,
  6965. content: i.moreLinkContent,
  6966. defaultContent: t.defaultContent || ys,
  6967. didMount: i.moreLinkDidMount,
  6968. willUnmount: i.moreLinkWillUnmount
  6969. }, (function(r, o, i, a) {
  6970. return t.children(r, ["fc-more-link"].concat(o), i, a, e.handleClick, d, n.isPopoverOpen, n.isPopoverOpen ? n.popoverId : "")
  6971. })), n.isPopoverOpen && _o(gs, {
  6972. id: n.popoverId,
  6973. startDate: u.start,
  6974. endDate: u.end,
  6975. dateProfile: t.dateProfile,
  6976. todayRange: t.todayRange,
  6977. extraDateSpan: t.extraDateSpan,
  6978. parentEl: e.parentEl,
  6979. alignmentEl: t.alignmentElRef.current,
  6980. alignGridTop: t.alignGridTop,
  6981. onClose: e.handlePopoverClose
  6982. }, t.popoverContent()))
  6983. }))
  6984. }, t.prototype.componentDidMount = function() {
  6985. this.updateParentEl()
  6986. }, t.prototype.componentDidUpdate = function() {
  6987. this.updateParentEl()
  6988. }, t.prototype.updateParentEl = function() {
  6989. this.linkElRef.current && (this.parentEl = Se(this.linkElRef.current, ".fc-view-harness"))
  6990. }, t
  6991. }(Uo);
  6992. function ys(e) {
  6993. return e.text
  6994. }
  6995. function Es(e) {
  6996. if (e.allDayDate) return {
  6997. start: e.allDayDate,
  6998. end: tt(e.allDayDate, 1)
  6999. };
  7000. var t, n = e.hiddenSegs;
  7001. return {
  7002. start: Ss(n),
  7003. end: (t = n, t.reduce(Ds).eventRange.range.end)
  7004. }
  7005. }
  7006. function Ss(e) {
  7007. return e.reduce(bs).eventRange.range.start
  7008. }
  7009. function bs(e, t) {
  7010. return e.eventRange.range.start < t.eventRange.range.start ? e : t
  7011. }
  7012. function Ds(e, t) {
  7013. return e.eventRange.range.end > t.eventRange.range.end ? e : t
  7014. }
  7015. var Cs = function(e) {
  7016. function t(t, n) {
  7017. void 0 === n && (n = {});
  7018. var o = e.call(this) || this;
  7019. return o.isRendering = !1, o.isRendered = !1, o.currentClassNames = [], o.customContentRenderId = 0, o.handleAction = function(e) {
  7020. switch (e.type) {
  7021. case "SET_EVENT_DRAG":
  7022. case "SET_EVENT_RESIZE":
  7023. o.renderRunner.tryDrain()
  7024. }
  7025. }, o.handleData = function(e) {
  7026. o.currentData = e, o.renderRunner.request(e.calendarOptions.rerenderDelay)
  7027. }, o.handleRenderRequest = function() {
  7028. if (o.isRendering) {
  7029. o.isRendered = !0;
  7030. var e = o.currentData;
  7031. To(_o(ga, {
  7032. options: e.calendarOptions,
  7033. theme: e.theme,
  7034. emitter: e.emitter
  7035. }, (function(t, n, i, a) {
  7036. return o.setClassNames(t), o.setHeight(n), _o(Zo.Provider, {
  7037. value: o.customContentRenderId
  7038. }, _o(fa, r({
  7039. isHeightAuto: i,
  7040. forPrint: a
  7041. }, e)))
  7042. })), o.el)
  7043. } else o.isRendered && (o.isRendered = !1, No(o.el), o.setClassNames([]), o.setHeight(""));
  7044. Po()
  7045. }, o.el = t, o.renderRunner = new Mi(o.handleRenderRequest), new Ni({
  7046. optionOverrides: n,
  7047. calendarApi: o,
  7048. onAction: o.handleAction,
  7049. onData: o.handleData
  7050. }), o
  7051. }
  7052. return n(t, e), Object.defineProperty(t.prototype, "view", {
  7053. get: function() {
  7054. return this.currentData.viewApi
  7055. },
  7056. enumerable: !1,
  7057. configurable: !0
  7058. }), t.prototype.render = function() {
  7059. var e = this.isRendering;
  7060. e ? this.customContentRenderId += 1 : this.isRendering = !0, this.renderRunner.request(), e && this.updateSize()
  7061. }, t.prototype.destroy = function() {
  7062. this.isRendering && (this.isRendering = !1, this.renderRunner.request())
  7063. }, t.prototype.updateSize = function() {
  7064. e.prototype.updateSize.call(this), Po()
  7065. }, t.prototype.batchRendering = function(e) {
  7066. this.renderRunner.pause("batchRendering"), e(), this.renderRunner.resume("batchRendering")
  7067. }, t.prototype.pauseRendering = function() {
  7068. this.renderRunner.pause("pauseRendering")
  7069. }, t.prototype.resumeRendering = function() {
  7070. this.renderRunner.resume("pauseRendering", !0)
  7071. }, t.prototype.resetOptions = function(e, t) {
  7072. this.currentDataManager.resetOptions(e, t)
  7073. }, t.prototype.setClassNames = function(e) {
  7074. if (!Gt(e, this.currentClassNames)) {
  7075. for (var t = this.el.classList, n = 0, r = this.currentClassNames; n < r.length; n++) {
  7076. var o = r[n];
  7077. t.remove(o)
  7078. }
  7079. for (var i = 0, a = e; i < a.length; i++) {
  7080. o = a[i];
  7081. t.add(o)
  7082. }
  7083. this.currentClassNames = e
  7084. }
  7085. }, t.prototype.setHeight = function(e) {
  7086. Re(this.el, "height", e)
  7087. }, t
  7088. }(kr);
  7089. ia.touchMouseIgnoreWait = 500;
  7090. var ws = 0,
  7091. Rs = 0,
  7092. _s = !1,
  7093. Ts = function() {
  7094. function e(e) {
  7095. var t = this;
  7096. this.subjectEl = null, this.selector = "", this.handleSelector = "", this.shouldIgnoreMove = !1, this.shouldWatchScroll = !0, this.isDragging = !1, this.isTouchDragging = !1, this.wasTouchScroll = !1, this.handleMouseDown = function(e) {
  7097. if (!t.shouldIgnoreMouse() && function(e) {
  7098. return 0 === e.button && !e.ctrlKey
  7099. }(e) && t.tryStart(e)) {
  7100. var n = t.createEventFromMouse(e, !0);
  7101. t.emitter.trigger("pointerdown", n), t.initScrollWatch(n), t.shouldIgnoreMove || document.addEventListener("mousemove", t.handleMouseMove), document.addEventListener("mouseup", t.handleMouseUp)
  7102. }
  7103. }, this.handleMouseMove = function(e) {
  7104. var n = t.createEventFromMouse(e);
  7105. t.recordCoords(n), t.emitter.trigger("pointermove", n)
  7106. }, this.handleMouseUp = function(e) {
  7107. document.removeEventListener("mousemove", t.handleMouseMove), document.removeEventListener("mouseup", t.handleMouseUp), t.emitter.trigger("pointerup", t.createEventFromMouse(e)), t.cleanup()
  7108. }, this.handleTouchStart = function(e) {
  7109. if (t.tryStart(e)) {
  7110. t.isTouchDragging = !0;
  7111. var n = t.createEventFromTouch(e, !0);
  7112. t.emitter.trigger("pointerdown", n), t.initScrollWatch(n);
  7113. var r = e.target;
  7114. t.shouldIgnoreMove || r.addEventListener("touchmove", t.handleTouchMove), r.addEventListener("touchend", t.handleTouchEnd), r.addEventListener("touchcancel", t.handleTouchEnd), window.addEventListener("scroll", t.handleTouchScroll, !0)
  7115. }
  7116. }, this.handleTouchMove = function(e) {
  7117. var n = t.createEventFromTouch(e);
  7118. t.recordCoords(n), t.emitter.trigger("pointermove", n)
  7119. }, this.handleTouchEnd = function(e) {
  7120. if (t.isDragging) {
  7121. var n = e.target;
  7122. n.removeEventListener("touchmove", t.handleTouchMove), n.removeEventListener("touchend", t.handleTouchEnd), n.removeEventListener("touchcancel", t.handleTouchEnd), window.removeEventListener("scroll", t.handleTouchScroll, !0), t.emitter.trigger("pointerup", t.createEventFromTouch(e)), t.cleanup(), t.isTouchDragging = !1, ws += 1, setTimeout((function() {
  7123. ws -= 1
  7124. }), ia.touchMouseIgnoreWait)
  7125. }
  7126. }, this.handleTouchScroll = function() {
  7127. t.wasTouchScroll = !0
  7128. }, this.handleScroll = function(e) {
  7129. if (!t.shouldIgnoreMove) {
  7130. var n = window.pageXOffset - t.prevScrollX + t.prevPageX,
  7131. r = window.pageYOffset - t.prevScrollY + t.prevPageY;
  7132. t.emitter.trigger("pointermove", {
  7133. origEvent: e,
  7134. isTouch: t.isTouchDragging,
  7135. subjectEl: t.subjectEl,
  7136. pageX: n,
  7137. pageY: r,
  7138. deltaX: n - t.origPageX,
  7139. deltaY: r - t.origPageY
  7140. })
  7141. }
  7142. }, this.containerEl = e, this.emitter = new Eo, e.addEventListener("mousedown", this.handleMouseDown), e.addEventListener("touchstart", this.handleTouchStart, {
  7143. passive: !0
  7144. }), 1 === (Rs += 1) && window.addEventListener("touchmove", ks, {
  7145. passive: !1
  7146. })
  7147. }
  7148. return e.prototype.destroy = function() {
  7149. this.containerEl.removeEventListener("mousedown", this.handleMouseDown), this.containerEl.removeEventListener("touchstart", this.handleTouchStart, {
  7150. passive: !0
  7151. }), (Rs -= 1) || window.removeEventListener("touchmove", ks, {
  7152. passive: !1
  7153. })
  7154. }, e.prototype.tryStart = function(e) {
  7155. var t = this.querySubjectEl(e),
  7156. n = e.target;
  7157. return !(!t || this.handleSelector && !Se(n, this.handleSelector)) && (this.subjectEl = t, this.isDragging = !0, this.wasTouchScroll = !1, !0)
  7158. }, e.prototype.cleanup = function() {
  7159. _s = !1, this.isDragging = !1, this.subjectEl = null, this.destroyScrollWatch()
  7160. }, e.prototype.querySubjectEl = function(e) {
  7161. return this.selector ? Se(e.target, this.selector) : this.containerEl
  7162. }, e.prototype.shouldIgnoreMouse = function() {
  7163. return ws || this.isTouchDragging
  7164. }, e.prototype.cancelTouchScroll = function() {
  7165. this.isDragging && (_s = !0)
  7166. }, e.prototype.initScrollWatch = function(e) {
  7167. this.shouldWatchScroll && (this.recordCoords(e), window.addEventListener("scroll", this.handleScroll, !0))
  7168. }, e.prototype.recordCoords = function(e) {
  7169. this.shouldWatchScroll && (this.prevPageX = e.pageX, this.prevPageY = e.pageY, this.prevScrollX = window.pageXOffset, this.prevScrollY = window.pageYOffset)
  7170. }, e.prototype.destroyScrollWatch = function() {
  7171. this.shouldWatchScroll && window.removeEventListener("scroll", this.handleScroll, !0)
  7172. }, e.prototype.createEventFromMouse = function(e, t) {
  7173. var n = 0,
  7174. r = 0;
  7175. return t ? (this.origPageX = e.pageX, this.origPageY = e.pageY) : (n = e.pageX - this.origPageX, r = e.pageY - this.origPageY), {
  7176. origEvent: e,
  7177. isTouch: !1,
  7178. subjectEl: this.subjectEl,
  7179. pageX: e.pageX,
  7180. pageY: e.pageY,
  7181. deltaX: n,
  7182. deltaY: r
  7183. }
  7184. }, e.prototype.createEventFromTouch = function(e, t) {
  7185. var n, r, o = e.touches,
  7186. i = 0,
  7187. a = 0;
  7188. return o && o.length ? (n = o[0].pageX, r = o[0].pageY) : (n = e.pageX, r = e.pageY), t ? (this.origPageX = n, this.origPageY = r) : (i = n - this.origPageX, a = r - this.origPageY), {
  7189. origEvent: e,
  7190. isTouch: !0,
  7191. subjectEl: this.subjectEl,
  7192. pageX: n,
  7193. pageY: r,
  7194. deltaX: i,
  7195. deltaY: a
  7196. }
  7197. }, e
  7198. }();
  7199. function ks(e) {
  7200. _s && e.preventDefault()
  7201. }
  7202. var xs = function() {
  7203. function e() {
  7204. this.isVisible = !1, this.sourceEl = null, this.mirrorEl = null, this.sourceElRect = null, this.parentNode = document.body, this.zIndex = 9999, this.revertDuration = 0
  7205. }
  7206. return e.prototype.start = function(e, t, n) {
  7207. this.sourceEl = e, this.sourceElRect = this.sourceEl.getBoundingClientRect(), this.origScreenX = t - window.pageXOffset, this.origScreenY = n - window.pageYOffset, this.deltaX = 0, this.deltaY = 0, this.updateElPosition()
  7208. }, e.prototype.handleMove = function(e, t) {
  7209. this.deltaX = e - window.pageXOffset - this.origScreenX, this.deltaY = t - window.pageYOffset - this.origScreenY, this.updateElPosition()
  7210. }, e.prototype.setIsVisible = function(e) {
  7211. e ? this.isVisible || (this.mirrorEl && (this.mirrorEl.style.display = ""), this.isVisible = e, this.updateElPosition()) : this.isVisible && (this.mirrorEl && (this.mirrorEl.style.display = "none"), this.isVisible = e)
  7212. }, e.prototype.stop = function(e, t) {
  7213. var n = this,
  7214. r = function() {
  7215. n.cleanup(), t()
  7216. };
  7217. e && this.mirrorEl && this.isVisible && this.revertDuration && (this.deltaX || this.deltaY) ? this.doRevertAnimation(r, this.revertDuration) : setTimeout(r, 0)
  7218. }, e.prototype.doRevertAnimation = function(e, t) {
  7219. var n = this.mirrorEl,
  7220. r = this.sourceEl.getBoundingClientRect();
  7221. n.style.transition = "top " + t + "ms,left " + t + "ms", we(n, {
  7222. left: r.left,
  7223. top: r.top
  7224. }), Ne(n, (function() {
  7225. n.style.transition = "", e()
  7226. }))
  7227. }, e.prototype.cleanup = function() {
  7228. this.mirrorEl && (Ee(this.mirrorEl), this.mirrorEl = null), this.sourceEl = null
  7229. }, e.prototype.updateElPosition = function() {
  7230. this.sourceEl && this.isVisible && we(this.getMirrorEl(), {
  7231. left: this.sourceElRect.left + this.deltaX,
  7232. top: this.sourceElRect.top + this.deltaY
  7233. })
  7234. }, e.prototype.getMirrorEl = function() {
  7235. var e = this.sourceElRect,
  7236. t = this.mirrorEl;
  7237. return t || ((t = this.mirrorEl = this.sourceEl.cloneNode(!0)).classList.add("fc-unselectable"), t.classList.add("fc-event-dragging"), we(t, {
  7238. position: "fixed",
  7239. zIndex: this.zIndex,
  7240. visibility: "",
  7241. boxSizing: "border-box",
  7242. width: e.right - e.left,
  7243. height: e.bottom - e.top,
  7244. right: "auto",
  7245. bottom: "auto",
  7246. margin: 0
  7247. }), this.parentNode.appendChild(t)), t
  7248. }, e
  7249. }(),
  7250. Ms = function(e) {
  7251. function t(t, n) {
  7252. var r = e.call(this) || this;
  7253. return r.handleScroll = function() {
  7254. r.scrollTop = r.scrollController.getScrollTop(), r.scrollLeft = r.scrollController.getScrollLeft(), r.handleScrollChange()
  7255. }, r.scrollController = t, r.doesListening = n, r.scrollTop = r.origScrollTop = t.getScrollTop(), r.scrollLeft = r.origScrollLeft = t.getScrollLeft(), r.scrollWidth = t.getScrollWidth(), r.scrollHeight = t.getScrollHeight(), r.clientWidth = t.getClientWidth(), r.clientHeight = t.getClientHeight(), r.clientRect = r.computeClientRect(), r.doesListening && r.getEventTarget().addEventListener("scroll", r.handleScroll), r
  7256. }
  7257. return n(t, e), t.prototype.destroy = function() {
  7258. this.doesListening && this.getEventTarget().removeEventListener("scroll", this.handleScroll)
  7259. }, t.prototype.getScrollTop = function() {
  7260. return this.scrollTop
  7261. }, t.prototype.getScrollLeft = function() {
  7262. return this.scrollLeft
  7263. }, t.prototype.setScrollTop = function(e) {
  7264. this.scrollController.setScrollTop(e), this.doesListening || (this.scrollTop = Math.max(Math.min(e, this.getMaxScrollTop()), 0), this.handleScrollChange())
  7265. }, t.prototype.setScrollLeft = function(e) {
  7266. this.scrollController.setScrollLeft(e), this.doesListening || (this.scrollLeft = Math.max(Math.min(e, this.getMaxScrollLeft()), 0), this.handleScrollChange())
  7267. }, t.prototype.getClientWidth = function() {
  7268. return this.clientWidth
  7269. }, t.prototype.getClientHeight = function() {
  7270. return this.clientHeight
  7271. }, t.prototype.getScrollWidth = function() {
  7272. return this.scrollWidth
  7273. }, t.prototype.getScrollHeight = function() {
  7274. return this.scrollHeight
  7275. }, t.prototype.handleScrollChange = function() {}, t
  7276. }(bo),
  7277. Is = function(e) {
  7278. function t(t, n) {
  7279. return e.call(this, new Do(t), n) || this
  7280. }
  7281. return n(t, e), t.prototype.getEventTarget = function() {
  7282. return this.scrollController.el
  7283. }, t.prototype.computeClientRect = function() {
  7284. return vo(this.scrollController.el)
  7285. }, t
  7286. }(Ms),
  7287. Ps = function(e) {
  7288. function t(t) {
  7289. return e.call(this, new Co, t) || this
  7290. }
  7291. return n(t, e), t.prototype.getEventTarget = function() {
  7292. return window
  7293. }, t.prototype.computeClientRect = function() {
  7294. return {
  7295. left: this.scrollLeft,
  7296. right: this.scrollLeft + this.clientWidth,
  7297. top: this.scrollTop,
  7298. bottom: this.scrollTop + this.clientHeight
  7299. }
  7300. }, t.prototype.handleScrollChange = function() {
  7301. this.clientRect = this.computeClientRect()
  7302. }, t
  7303. }(Ms),
  7304. Ns = "function" == typeof performance ? performance.now : Date.now,
  7305. Hs = function() {
  7306. function e() {
  7307. var e = this;
  7308. this.isEnabled = !0, this.scrollQuery = [window, ".fc-scroller"], this.edgeThreshold = 50, this.maxVelocity = 300, this.pointerScreenX = null, this.pointerScreenY = null, this.isAnimating = !1, this.scrollCaches = null, this.everMovedUp = !1, this.everMovedDown = !1, this.everMovedLeft = !1, this.everMovedRight = !1, this.animate = function() {
  7309. if (e.isAnimating) {
  7310. var t = e.computeBestEdge(e.pointerScreenX + window.pageXOffset, e.pointerScreenY + window.pageYOffset);
  7311. if (t) {
  7312. var n = Ns();
  7313. e.handleSide(t, (n - e.msSinceRequest) / 1e3), e.requestAnimation(n)
  7314. } else e.isAnimating = !1
  7315. }
  7316. }
  7317. }
  7318. return e.prototype.start = function(e, t, n) {
  7319. this.isEnabled && (this.scrollCaches = this.buildCaches(n), this.pointerScreenX = null, this.pointerScreenY = null, this.everMovedUp = !1, this.everMovedDown = !1, this.everMovedLeft = !1, this.everMovedRight = !1, this.handleMove(e, t))
  7320. }, e.prototype.handleMove = function(e, t) {
  7321. if (this.isEnabled) {
  7322. var n = e - window.pageXOffset,
  7323. r = t - window.pageYOffset,
  7324. o = null === this.pointerScreenY ? 0 : r - this.pointerScreenY,
  7325. i = null === this.pointerScreenX ? 0 : n - this.pointerScreenX;
  7326. o < 0 ? this.everMovedUp = !0 : o > 0 && (this.everMovedDown = !0), i < 0 ? this.everMovedLeft = !0 : i > 0 && (this.everMovedRight = !0), this.pointerScreenX = n, this.pointerScreenY = r, this.isAnimating || (this.isAnimating = !0, this.requestAnimation(Ns()))
  7327. }
  7328. }, e.prototype.stop = function() {
  7329. if (this.isEnabled) {
  7330. this.isAnimating = !1;
  7331. for (var e = 0, t = this.scrollCaches; e < t.length; e++) {
  7332. t[e].destroy()
  7333. }
  7334. this.scrollCaches = null
  7335. }
  7336. }, e.prototype.requestAnimation = function(e) {
  7337. this.msSinceRequest = e, requestAnimationFrame(this.animate)
  7338. }, e.prototype.handleSide = function(e, t) {
  7339. var n = e.scrollCache,
  7340. r = this.edgeThreshold,
  7341. o = r - e.distance,
  7342. i = o * o / (r * r) * this.maxVelocity * t,
  7343. a = 1;
  7344. switch (e.name) {
  7345. case "left":
  7346. a = -1;
  7347. case "right":
  7348. n.setScrollLeft(n.getScrollLeft() + i * a);
  7349. break;
  7350. case "top":
  7351. a = -1;
  7352. case "bottom":
  7353. n.setScrollTop(n.getScrollTop() + i * a)
  7354. }
  7355. }, e.prototype.computeBestEdge = function(e, t) {
  7356. for (var n = this.edgeThreshold, r = null, o = 0, i = this.scrollCaches; o < i.length; o++) {
  7357. var a = i[o],
  7358. s = a.clientRect,
  7359. l = e - s.left,
  7360. u = s.right - e,
  7361. c = t - s.top,
  7362. d = s.bottom - t;
  7363. l >= 0 && u >= 0 && c >= 0 && d >= 0 && (c <= n && this.everMovedUp && a.canScrollUp() && (!r || r.distance > c) && (r = {
  7364. scrollCache: a,
  7365. name: "top",
  7366. distance: c
  7367. }), d <= n && this.everMovedDown && a.canScrollDown() && (!r || r.distance > d) && (r = {
  7368. scrollCache: a,
  7369. name: "bottom",
  7370. distance: d
  7371. }), l <= n && this.everMovedLeft && a.canScrollLeft() && (!r || r.distance > l) && (r = {
  7372. scrollCache: a,
  7373. name: "left",
  7374. distance: l
  7375. }), u <= n && this.everMovedRight && a.canScrollRight() && (!r || r.distance > u) && (r = {
  7376. scrollCache: a,
  7377. name: "right",
  7378. distance: u
  7379. }))
  7380. }
  7381. return r
  7382. }, e.prototype.buildCaches = function(e) {
  7383. return this.queryScrollEls(e).map((function(e) {
  7384. return e === window ? new Ps(!1) : new Is(e, !1)
  7385. }))
  7386. }, e.prototype.queryScrollEls = function(e) {
  7387. for (var t = [], n = 0, r = this.scrollQuery; n < r.length; n++) {
  7388. var o = r[n];
  7389. "object" == typeof o ? t.push(o) : t.push.apply(t, Array.prototype.slice.call(Te(e).querySelectorAll(o)))
  7390. }
  7391. return t
  7392. }, e
  7393. }(),
  7394. Os = function(e) {
  7395. function t(t, n) {
  7396. var r = e.call(this, t) || this;
  7397. r.containerEl = t, r.delay = null, r.minDistance = 0, r.touchScrollAllowed = !0, r.mirrorNeedsRevert = !1, r.isInteracting = !1, r.isDragging = !1, r.isDelayEnded = !1, r.isDistanceSurpassed = !1, r.delayTimeoutId = null, r.onPointerDown = function(e) {
  7398. r.isDragging || (r.isInteracting = !0, r.isDelayEnded = !1, r.isDistanceSurpassed = !1, Ve(document.body), Be(document.body), e.isTouch || e.origEvent.preventDefault(), r.emitter.trigger("pointerdown", e), r.isInteracting && !r.pointer.shouldIgnoreMove && (r.mirror.setIsVisible(!1), r.mirror.start(e.subjectEl, e.pageX, e.pageY), r.startDelay(e), r.minDistance || r.handleDistanceSurpassed(e)))
  7399. }, r.onPointerMove = function(e) {
  7400. if (r.isInteracting) {
  7401. if (r.emitter.trigger("pointermove", e), !r.isDistanceSurpassed) {
  7402. var t = r.minDistance,
  7403. n = e.deltaX,
  7404. o = e.deltaY;
  7405. n * n + o * o >= t * t && r.handleDistanceSurpassed(e)
  7406. }
  7407. r.isDragging && ("scroll" !== e.origEvent.type && (r.mirror.handleMove(e.pageX, e.pageY), r.autoScroller.handleMove(e.pageX, e.pageY)), r.emitter.trigger("dragmove", e))
  7408. }
  7409. }, r.onPointerUp = function(e) {
  7410. r.isInteracting && (r.isInteracting = !1, Fe(document.body), ze(document.body), r.emitter.trigger("pointerup", e), r.isDragging && (r.autoScroller.stop(), r.tryStopDrag(e)), r.delayTimeoutId && (clearTimeout(r.delayTimeoutId), r.delayTimeoutId = null))
  7411. };
  7412. var o = r.pointer = new Ts(t);
  7413. return o.emitter.on("pointerdown", r.onPointerDown), o.emitter.on("pointermove", r.onPointerMove), o.emitter.on("pointerup", r.onPointerUp), n && (o.selector = n), r.mirror = new xs, r.autoScroller = new Hs, r
  7414. }
  7415. return n(t, e), t.prototype.destroy = function() {
  7416. this.pointer.destroy(), this.onPointerUp({})
  7417. }, t.prototype.startDelay = function(e) {
  7418. var t = this;
  7419. "number" == typeof this.delay ? this.delayTimeoutId = setTimeout((function() {
  7420. t.delayTimeoutId = null, t.handleDelayEnd(e)
  7421. }), this.delay) : this.handleDelayEnd(e)
  7422. }, t.prototype.handleDelayEnd = function(e) {
  7423. this.isDelayEnded = !0, this.tryStartDrag(e)
  7424. }, t.prototype.handleDistanceSurpassed = function(e) {
  7425. this.isDistanceSurpassed = !0, this.tryStartDrag(e)
  7426. }, t.prototype.tryStartDrag = function(e) {
  7427. this.isDelayEnded && this.isDistanceSurpassed && (this.pointer.wasTouchScroll && !this.touchScrollAllowed || (this.isDragging = !0, this.mirrorNeedsRevert = !1, this.autoScroller.start(e.pageX, e.pageY, this.containerEl), this.emitter.trigger("dragstart", e), !1 === this.touchScrollAllowed && this.pointer.cancelTouchScroll()))
  7428. }, t.prototype.tryStopDrag = function(e) {
  7429. this.mirror.stop(this.mirrorNeedsRevert, this.stopDrag.bind(this, e))
  7430. }, t.prototype.stopDrag = function(e) {
  7431. this.isDragging = !1, this.emitter.trigger("dragend", e)
  7432. }, t.prototype.setIgnoreMove = function(e) {
  7433. this.pointer.shouldIgnoreMove = e
  7434. }, t.prototype.setMirrorIsVisible = function(e) {
  7435. this.mirror.setIsVisible(e)
  7436. }, t.prototype.setMirrorNeedsRevert = function(e) {
  7437. this.mirrorNeedsRevert = e
  7438. }, t.prototype.setAutoScrollEnabled = function(e) {
  7439. this.autoScroller.isEnabled = e
  7440. }, t
  7441. }(oa),
  7442. As = function() {
  7443. function e(e) {
  7444. this.origRect = go(e), this.scrollCaches = mo(e).map((function(e) {
  7445. return new Is(e, !0)
  7446. }))
  7447. }
  7448. return e.prototype.destroy = function() {
  7449. for (var e = 0, t = this.scrollCaches; e < t.length; e++) {
  7450. t[e].destroy()
  7451. }
  7452. }, e.prototype.computeLeft = function() {
  7453. for (var e = this.origRect.left, t = 0, n = this.scrollCaches; t < n.length; t++) {
  7454. var r = n[t];
  7455. e += r.origScrollLeft - r.getScrollLeft()
  7456. }
  7457. return e
  7458. }, e.prototype.computeTop = function() {
  7459. for (var e = this.origRect.top, t = 0, n = this.scrollCaches; t < n.length; t++) {
  7460. var r = n[t];
  7461. e += r.origScrollTop - r.getScrollTop()
  7462. }
  7463. return e
  7464. }, e.prototype.isWithinClipping = function(e, t) {
  7465. for (var n, r, o = {
  7466. left: e,
  7467. top: t
  7468. }, i = 0, a = this.scrollCaches; i < a.length; i++) {
  7469. var s = a[i];
  7470. if (n = s.getEventTarget(), r = void 0, "HTML" !== (r = n.tagName) && "BODY" !== r && !Zr(o, s.clientRect)) return !1
  7471. }
  7472. return !0
  7473. }, e
  7474. }();
  7475. var Ls = function() {
  7476. function e(e, t) {
  7477. var n = this;
  7478. this.useSubjectCenter = !1, this.requireInitial = !0, this.initialHit = null, this.movingHit = null, this.finalHit = null, this.handlePointerDown = function(e) {
  7479. var t = n.dragging;
  7480. n.initialHit = null, n.movingHit = null, n.finalHit = null, n.prepareHits(), n.processFirstCoord(e), n.initialHit || !n.requireInitial ? (t.setIgnoreMove(!1), n.emitter.trigger("pointerdown", e)) : t.setIgnoreMove(!0)
  7481. }, this.handleDragStart = function(e) {
  7482. n.emitter.trigger("dragstart", e), n.handleMove(e, !0)
  7483. }, this.handleDragMove = function(e) {
  7484. n.emitter.trigger("dragmove", e), n.handleMove(e)
  7485. }, this.handlePointerUp = function(e) {
  7486. n.releaseHits(), n.emitter.trigger("pointerup", e)
  7487. }, this.handleDragEnd = function(e) {
  7488. n.movingHit && n.emitter.trigger("hitupdate", null, !0, e), n.finalHit = n.movingHit, n.movingHit = null, n.emitter.trigger("dragend", e)
  7489. }, this.droppableStore = t, e.emitter.on("pointerdown", this.handlePointerDown), e.emitter.on("dragstart", this.handleDragStart), e.emitter.on("dragmove", this.handleDragMove), e.emitter.on("pointerup", this.handlePointerUp), e.emitter.on("dragend", this.handleDragEnd), this.dragging = e, this.emitter = new Eo
  7490. }
  7491. return e.prototype.processFirstCoord = function(e) {
  7492. var t, n = {
  7493. left: e.pageX,
  7494. top: e.pageY
  7495. },
  7496. r = n,
  7497. o = e.subjectEl;
  7498. o instanceof HTMLElement && (r = Kr(r, t = go(o)));
  7499. var i = this.initialHit = this.queryHitForOffset(r.left, r.top);
  7500. if (i) {
  7501. if (this.useSubjectCenter && t) {
  7502. var a = Xr(t, i.rect);
  7503. a && (r = $r(a))
  7504. }
  7505. this.coordAdjust = Jr(r, n)
  7506. } else this.coordAdjust = {
  7507. left: 0,
  7508. top: 0
  7509. }
  7510. }, e.prototype.handleMove = function(e, t) {
  7511. var n = this.queryHitForOffset(e.pageX + this.coordAdjust.left, e.pageY + this.coordAdjust.top);
  7512. !t && Us(this.movingHit, n) || (this.movingHit = n, this.emitter.trigger("hitupdate", n, !1, e))
  7513. }, e.prototype.prepareHits = function() {
  7514. this.offsetTrackers = bt(this.droppableStore, (function(e) {
  7515. return e.component.prepareHits(), new As(e.el)
  7516. }))
  7517. }, e.prototype.releaseHits = function() {
  7518. var e = this.offsetTrackers;
  7519. for (var t in e) e[t].destroy();
  7520. this.offsetTrackers = {}
  7521. }, e.prototype.queryHitForOffset = function(e, t) {
  7522. var n = this.droppableStore,
  7523. r = this.offsetTrackers,
  7524. o = null;
  7525. for (var i in n) {
  7526. var a = n[i].component,
  7527. s = r[i];
  7528. if (s && s.isWithinClipping(e, t)) {
  7529. var l = s.computeLeft(),
  7530. u = s.computeTop(),
  7531. c = e - l,
  7532. d = t - u,
  7533. p = s.origRect,
  7534. f = p.right - p.left,
  7535. h = p.bottom - p.top;
  7536. if (c >= 0 && c < f && d >= 0 && d < h) {
  7537. var v = a.queryHit(c, d, f, h);
  7538. v && Yn(v.dateProfile.activeRange, v.dateSpan.range) && (!o || v.layer > o.layer) && (v.componentId = i, v.context = a.context, v.rect.left += l, v.rect.right += l, v.rect.top += u, v.rect.bottom += u, o = v)
  7539. }
  7540. }
  7541. }
  7542. return o
  7543. }, e
  7544. }();
  7545. function Us(e, t) {
  7546. return !e && !t || Boolean(e) === Boolean(t) && fr(e.dateSpan, t.dateSpan)
  7547. }
  7548. function Ws(e, t) {
  7549. for (var n, o, i = {}, a = 0, s = t.pluginHooks.datePointTransforms; a < s.length; a++) {
  7550. var l = s[a];
  7551. r(i, l(e, t))
  7552. }
  7553. return r(i, (n = e, {
  7554. date: (o = t.dateEnv).toDate(n.range.start),
  7555. dateStr: o.formatIso(n.range.start, {
  7556. omitTime: n.allDay
  7557. }),
  7558. allDay: n.allDay
  7559. })), i
  7560. }
  7561. var Vs = function(e) {
  7562. function t(t) {
  7563. var n = e.call(this, t) || this;
  7564. n.handlePointerDown = function(e) {
  7565. var t = n.dragging,
  7566. r = e.origEvent.target;
  7567. t.setIgnoreMove(!n.component.isValidDateDownEl(r))
  7568. }, n.handleDragEnd = function(e) {
  7569. var t = n.component;
  7570. if (!n.dragging.pointer.wasTouchScroll) {
  7571. var o = n.hitDragging,
  7572. i = o.initialHit,
  7573. a = o.finalHit;
  7574. if (i && a && Us(i, a)) {
  7575. var s = t.context,
  7576. l = r(r({}, Ws(i.dateSpan, s)), {
  7577. dayEl: i.dayEl,
  7578. jsEvent: e.origEvent,
  7579. view: s.viewApi || s.calendarApi.view
  7580. });
  7581. s.emitter.trigger("dateClick", l)
  7582. }
  7583. }
  7584. }, n.dragging = new Os(t.el), n.dragging.autoScroller.isEnabled = !1;
  7585. var o = n.hitDragging = new Ls(n.dragging, na(t));
  7586. return o.emitter.on("pointerdown", n.handlePointerDown), o.emitter.on("dragend", n.handleDragEnd), n
  7587. }
  7588. return n(t, e), t.prototype.destroy = function() {
  7589. this.dragging.destroy()
  7590. }, t
  7591. }(ea),
  7592. Fs = function(e) {
  7593. function t(t) {
  7594. var n = e.call(this, t) || this;
  7595. n.dragSelection = null, n.handlePointerDown = function(e) {
  7596. var t = n,
  7597. r = t.component,
  7598. o = t.dragging,
  7599. i = r.context.options.selectable && r.isValidDateDownEl(e.origEvent.target);
  7600. o.setIgnoreMove(!i), o.delay = e.isTouch ? function(e) {
  7601. var t = e.context.options,
  7602. n = t.selectLongPressDelay;
  7603. null == n && (n = t.longPressDelay);
  7604. return n
  7605. }(r) : null
  7606. }, n.handleDragStart = function(e) {
  7607. n.component.context.calendarApi.unselect(e)
  7608. }, n.handleHitUpdate = function(e, t) {
  7609. var o = n.component.context,
  7610. i = null,
  7611. a = !1;
  7612. if (e) {
  7613. var s = n.hitDragging.initialHit;
  7614. e.componentId === s.componentId && n.isHitComboAllowed && !n.isHitComboAllowed(s, e) || (i = function(e, t, n) {
  7615. var o = e.dateSpan,
  7616. i = t.dateSpan,
  7617. a = [o.range.start, o.range.end, i.range.start, i.range.end];
  7618. a.sort(Ke);
  7619. for (var s = {}, l = 0, u = n; l < u.length; l++) {
  7620. var c = (0, u[l])(e, t);
  7621. if (!1 === c) return null;
  7622. c && r(s, c)
  7623. }
  7624. return s.range = {
  7625. start: a[0],
  7626. end: a[3]
  7627. }, s.allDay = o.allDay, s
  7628. }(s, e, o.pluginHooks.dateSelectionTransformers)), i && Pa(i, e.dateProfile, o) || (a = !0, i = null)
  7629. }
  7630. i ? o.dispatch({
  7631. type: "SELECT_DATES",
  7632. selection: i
  7633. }) : t || o.dispatch({
  7634. type: "UNSELECT_DATES"
  7635. }), a ? Ue() : We(), t || (n.dragSelection = i)
  7636. }, n.handlePointerUp = function(e) {
  7637. n.dragSelection && (mr(n.dragSelection, e, n.component.context), n.dragSelection = null)
  7638. };
  7639. var o = t.component.context.options,
  7640. i = n.dragging = new Os(t.el);
  7641. i.touchScrollAllowed = !1, i.minDistance = o.selectMinDistance || 0, i.autoScroller.isEnabled = o.dragScroll;
  7642. var a = n.hitDragging = new Ls(n.dragging, na(t));
  7643. return a.emitter.on("pointerdown", n.handlePointerDown), a.emitter.on("dragstart", n.handleDragStart), a.emitter.on("hitupdate", n.handleHitUpdate), a.emitter.on("pointerup", n.handlePointerUp), n
  7644. }
  7645. return n(t, e), t.prototype.destroy = function() {
  7646. this.dragging.destroy()
  7647. }, t
  7648. }(ea);
  7649. var Bs = function(e) {
  7650. function t(n) {
  7651. var o = e.call(this, n) || this;
  7652. o.subjectEl = null, o.subjectSeg = null, o.isDragging = !1, o.eventRange = null, o.relevantEvents = null, o.receivingContext = null, o.validMutation = null, o.mutatedRelevantEvents = null, o.handlePointerDown = function(e) {
  7653. var t = e.origEvent.target,
  7654. n = o,
  7655. r = n.component,
  7656. i = n.dragging,
  7657. a = i.mirror,
  7658. s = r.context.options,
  7659. l = r.context;
  7660. o.subjectEl = e.subjectEl;
  7661. var u = o.subjectSeg = Jn(e.subjectEl),
  7662. c = (o.eventRange = u.eventRange).instance.instanceId;
  7663. o.relevantEvents = bn(l.getCurrentData().eventStore, c), i.minDistance = e.isTouch ? 0 : s.eventDragMinDistance, i.delay = e.isTouch && c !== r.props.eventSelection ? function(e) {
  7664. var t = e.context.options,
  7665. n = t.eventLongPressDelay;
  7666. null == n && (n = t.longPressDelay);
  7667. return n
  7668. }(r) : null, s.fixedMirrorParent ? a.parentNode = s.fixedMirrorParent : a.parentNode = Se(t, ".fc"), a.revertDuration = s.dragRevertDuration;
  7669. var d = r.isValidSegDownEl(t) && !Se(t, ".fc-event-resizer");
  7670. i.setIgnoreMove(!d), o.isDragging = d && e.subjectEl.classList.contains("fc-event-draggable")
  7671. }, o.handleDragStart = function(e) {
  7672. var t = o.component.context,
  7673. n = o.eventRange,
  7674. r = n.instance.instanceId;
  7675. e.isTouch ? r !== o.component.props.eventSelection && t.dispatch({
  7676. type: "SELECT_EVENT",
  7677. eventInstanceId: r
  7678. }) : t.dispatch({
  7679. type: "UNSELECT_EVENT"
  7680. }), o.isDragging && (t.calendarApi.unselect(e), t.emitter.trigger("eventDragStart", {
  7681. el: o.subjectEl,
  7682. event: new xr(t, n.def, n.instance),
  7683. jsEvent: e.origEvent,
  7684. view: t.viewApi
  7685. }))
  7686. }, o.handleHitUpdate = function(e, t) {
  7687. if (o.isDragging) {
  7688. var n = o.relevantEvents,
  7689. r = o.hitDragging.initialHit,
  7690. i = o.component.context,
  7691. a = null,
  7692. s = null,
  7693. l = null,
  7694. u = !1,
  7695. c = {
  7696. affectedEvents: n,
  7697. mutatedEvents: {
  7698. defs: {},
  7699. instances: {}
  7700. },
  7701. isEvent: !0
  7702. };
  7703. if (e) {
  7704. var d = (a = e.context).options;
  7705. i === a || d.editable && d.droppable ? (s = function(e, t, n) {
  7706. var r = e.dateSpan,
  7707. o = t.dateSpan,
  7708. i = r.range.start,
  7709. a = o.range.start,
  7710. s = {};
  7711. r.allDay !== o.allDay && (s.allDay = o.allDay, s.hasEnd = t.context.options.allDayMaintainDuration, o.allDay && (i = lt(i)));
  7712. var l = Fn(i, a, e.context.dateEnv, e.componentId === t.componentId ? e.largeUnit : null);
  7713. l.milliseconds && (s.allDay = !1);
  7714. for (var u = {
  7715. datesDelta: l,
  7716. standardProps: s
  7717. }, c = 0, d = n; c < d.length; c++) {
  7718. (0, d[c])(u, e, t)
  7719. }
  7720. return u
  7721. }(r, e, a.getCurrentData().pluginHooks.eventDragMutationMassagers)) && (l = Sr(n, a.getCurrentData().eventUiBases, s, a), c.mutatedEvents = l, Ia(c, e.dateProfile, a) || (u = !0, s = null, l = null, c.mutatedEvents = {
  7722. defs: {},
  7723. instances: {}
  7724. })) : a = null
  7725. }
  7726. o.displayDrag(a, c), u ? Ue() : We(), t || (i === a && Us(r, e) && (s = null), o.dragging.setMirrorNeedsRevert(!s), o.dragging.setMirrorIsVisible(!e || !Te(o.subjectEl).querySelector(".fc-event-mirror")), o.receivingContext = a, o.validMutation = s, o.mutatedRelevantEvents = l)
  7727. }
  7728. }, o.handlePointerUp = function() {
  7729. o.isDragging || o.cleanup()
  7730. }, o.handleDragEnd = function(e) {
  7731. if (o.isDragging) {
  7732. var t = o.component.context,
  7733. n = t.viewApi,
  7734. i = o,
  7735. a = i.receivingContext,
  7736. s = i.validMutation,
  7737. l = o.eventRange.def,
  7738. u = o.eventRange.instance,
  7739. c = new xr(t, l, u),
  7740. d = o.relevantEvents,
  7741. p = o.mutatedRelevantEvents,
  7742. f = o.hitDragging.finalHit;
  7743. if (o.clearDrag(), t.emitter.trigger("eventDragStop", {
  7744. el: o.subjectEl,
  7745. event: c,
  7746. jsEvent: e.origEvent,
  7747. view: n
  7748. }), s) {
  7749. if (a === t) {
  7750. var h = new xr(t, p.defs[l.defId], u ? p.instances[u.instanceId] : null);
  7751. t.dispatch({
  7752. type: "MERGE_EVENTS",
  7753. eventStore: p
  7754. });
  7755. for (var v = {
  7756. oldEvent: c,
  7757. event: h,
  7758. relatedEvents: Ir(p, t, u),
  7759. revert: function() {
  7760. t.dispatch({
  7761. type: "MERGE_EVENTS",
  7762. eventStore: d
  7763. })
  7764. }
  7765. }, g = {}, m = 0, y = t.getCurrentData().pluginHooks.eventDropTransformers; m < y.length; m++) {
  7766. var E = y[m];
  7767. r(g, E(s, t))
  7768. }
  7769. t.emitter.trigger("eventDrop", r(r(r({}, v), g), {
  7770. el: e.subjectEl,
  7771. delta: s.datesDelta,
  7772. jsEvent: e.origEvent,
  7773. view: n
  7774. })), t.emitter.trigger("eventChange", v)
  7775. } else if (a) {
  7776. var S = {
  7777. event: c,
  7778. relatedEvents: Ir(d, t, u),
  7779. revert: function() {
  7780. t.dispatch({
  7781. type: "MERGE_EVENTS",
  7782. eventStore: d
  7783. })
  7784. }
  7785. };
  7786. t.emitter.trigger("eventLeave", r(r({}, S), {
  7787. draggedEl: e.subjectEl,
  7788. view: n
  7789. })), t.dispatch({
  7790. type: "REMOVE_EVENTS",
  7791. eventStore: d
  7792. }), t.emitter.trigger("eventRemove", S);
  7793. var b = p.defs[l.defId],
  7794. D = p.instances[u.instanceId],
  7795. C = new xr(a, b, D);
  7796. a.dispatch({
  7797. type: "MERGE_EVENTS",
  7798. eventStore: p
  7799. });
  7800. var w = {
  7801. event: C,
  7802. relatedEvents: Ir(p, a, D),
  7803. revert: function() {
  7804. a.dispatch({
  7805. type: "REMOVE_EVENTS",
  7806. eventStore: p
  7807. })
  7808. }
  7809. };
  7810. a.emitter.trigger("eventAdd", w), e.isTouch && a.dispatch({
  7811. type: "SELECT_EVENT",
  7812. eventInstanceId: u.instanceId
  7813. }), a.emitter.trigger("drop", r(r({}, Ws(f.dateSpan, a)), {
  7814. draggedEl: e.subjectEl,
  7815. jsEvent: e.origEvent,
  7816. view: f.context.viewApi
  7817. })), a.emitter.trigger("eventReceive", r(r({}, w), {
  7818. draggedEl: e.subjectEl,
  7819. view: f.context.viewApi
  7820. }))
  7821. }
  7822. } else t.emitter.trigger("_noEventDrop")
  7823. }
  7824. o.cleanup()
  7825. };
  7826. var i = o.component.context.options,
  7827. a = o.dragging = new Os(n.el);
  7828. a.pointer.selector = t.SELECTOR, a.touchScrollAllowed = !1, a.autoScroller.isEnabled = i.dragScroll;
  7829. var s = o.hitDragging = new Ls(o.dragging, ra);
  7830. return s.useSubjectCenter = n.useEventCenter, s.emitter.on("pointerdown", o.handlePointerDown), s.emitter.on("dragstart", o.handleDragStart), s.emitter.on("hitupdate", o.handleHitUpdate), s.emitter.on("pointerup", o.handlePointerUp), s.emitter.on("dragend", o.handleDragEnd), o
  7831. }
  7832. return n(t, e), t.prototype.destroy = function() {
  7833. this.dragging.destroy()
  7834. }, t.prototype.displayDrag = function(e, t) {
  7835. var n = this.component.context,
  7836. r = this.receivingContext;
  7837. r && r !== e && (r === n ? r.dispatch({
  7838. type: "SET_EVENT_DRAG",
  7839. state: {
  7840. affectedEvents: t.affectedEvents,
  7841. mutatedEvents: {
  7842. defs: {},
  7843. instances: {}
  7844. },
  7845. isEvent: !0
  7846. }
  7847. }) : r.dispatch({
  7848. type: "UNSET_EVENT_DRAG"
  7849. })), e && e.dispatch({
  7850. type: "SET_EVENT_DRAG",
  7851. state: t
  7852. })
  7853. }, t.prototype.clearDrag = function() {
  7854. var e = this.component.context,
  7855. t = this.receivingContext;
  7856. t && t.dispatch({
  7857. type: "UNSET_EVENT_DRAG"
  7858. }), e !== t && e.dispatch({
  7859. type: "UNSET_EVENT_DRAG"
  7860. })
  7861. }, t.prototype.cleanup = function() {
  7862. this.subjectSeg = null, this.isDragging = !1, this.eventRange = null, this.relevantEvents = null, this.receivingContext = null, this.validMutation = null, this.mutatedRelevantEvents = null
  7863. }, t.SELECTOR = ".fc-event-draggable, .fc-event-resizable", t
  7864. }(ea);
  7865. var zs = function(e) {
  7866. function t(t) {
  7867. var n = e.call(this, t) || this;
  7868. n.draggingSegEl = null, n.draggingSeg = null, n.eventRange = null, n.relevantEvents = null, n.validMutation = null, n.mutatedRelevantEvents = null, n.handlePointerDown = function(e) {
  7869. var t = n.component,
  7870. r = Jn(n.querySegEl(e)),
  7871. o = n.eventRange = r.eventRange;
  7872. n.dragging.minDistance = t.context.options.eventDragMinDistance, n.dragging.setIgnoreMove(!n.component.isValidSegDownEl(e.origEvent.target) || e.isTouch && n.component.props.eventSelection !== o.instance.instanceId)
  7873. }, n.handleDragStart = function(e) {
  7874. var t = n.component.context,
  7875. r = n.eventRange;
  7876. n.relevantEvents = bn(t.getCurrentData().eventStore, n.eventRange.instance.instanceId);
  7877. var o = n.querySegEl(e);
  7878. n.draggingSegEl = o, n.draggingSeg = Jn(o), t.calendarApi.unselect(), t.emitter.trigger("eventResizeStart", {
  7879. el: o,
  7880. event: new xr(t, r.def, r.instance),
  7881. jsEvent: e.origEvent,
  7882. view: t.viewApi
  7883. })
  7884. }, n.handleHitUpdate = function(e, t, r) {
  7885. var o = n.component.context,
  7886. i = n.relevantEvents,
  7887. a = n.hitDragging.initialHit,
  7888. s = n.eventRange.instance,
  7889. l = null,
  7890. u = null,
  7891. c = !1,
  7892. d = {
  7893. affectedEvents: i,
  7894. mutatedEvents: {
  7895. defs: {},
  7896. instances: {}
  7897. },
  7898. isEvent: !0
  7899. };
  7900. e && (e.componentId === a.componentId && n.isHitComboAllowed && !n.isHitComboAllowed(a, e) || (l = function(e, t, n, r) {
  7901. var o = e.context.dateEnv,
  7902. i = e.dateSpan.range.start,
  7903. a = t.dateSpan.range.start,
  7904. s = Fn(i, a, o, e.largeUnit);
  7905. if (n) {
  7906. if (o.add(r.start, s) < r.end) return {
  7907. startDelta: s
  7908. }
  7909. } else if (o.add(r.end, s) > r.start) return {
  7910. endDelta: s
  7911. };
  7912. return null
  7913. }(a, e, r.subjectEl.classList.contains("fc-event-resizer-start"), s.range)));
  7914. l && (u = Sr(i, o.getCurrentData().eventUiBases, l, o), d.mutatedEvents = u, Ia(d, e.dateProfile, o) || (c = !0, l = null, u = null, d.mutatedEvents = null)), u ? o.dispatch({
  7915. type: "SET_EVENT_RESIZE",
  7916. state: d
  7917. }) : o.dispatch({
  7918. type: "UNSET_EVENT_RESIZE"
  7919. }), c ? Ue() : We(), t || (l && Us(a, e) && (l = null), n.validMutation = l, n.mutatedRelevantEvents = u)
  7920. }, n.handleDragEnd = function(e) {
  7921. var t = n.component.context,
  7922. o = n.eventRange.def,
  7923. i = n.eventRange.instance,
  7924. a = new xr(t, o, i),
  7925. s = n.relevantEvents,
  7926. l = n.mutatedRelevantEvents;
  7927. if (t.emitter.trigger("eventResizeStop", {
  7928. el: n.draggingSegEl,
  7929. event: a,
  7930. jsEvent: e.origEvent,
  7931. view: t.viewApi
  7932. }), n.validMutation) {
  7933. var u = new xr(t, l.defs[o.defId], i ? l.instances[i.instanceId] : null);
  7934. t.dispatch({
  7935. type: "MERGE_EVENTS",
  7936. eventStore: l
  7937. });
  7938. var c = {
  7939. oldEvent: a,
  7940. event: u,
  7941. relatedEvents: Ir(l, t, i),
  7942. revert: function() {
  7943. t.dispatch({
  7944. type: "MERGE_EVENTS",
  7945. eventStore: s
  7946. })
  7947. }
  7948. };
  7949. t.emitter.trigger("eventResize", r(r({}, c), {
  7950. el: n.draggingSegEl,
  7951. startDelta: n.validMutation.startDelta || Nt(0),
  7952. endDelta: n.validMutation.endDelta || Nt(0),
  7953. jsEvent: e.origEvent,
  7954. view: t.viewApi
  7955. })), t.emitter.trigger("eventChange", c)
  7956. } else t.emitter.trigger("_noEventResize");
  7957. n.draggingSeg = null, n.relevantEvents = null, n.validMutation = null
  7958. };
  7959. var o = t.component,
  7960. i = n.dragging = new Os(t.el);
  7961. i.pointer.selector = ".fc-event-resizer", i.touchScrollAllowed = !1, i.autoScroller.isEnabled = o.context.options.dragScroll;
  7962. var a = n.hitDragging = new Ls(n.dragging, na(t));
  7963. return a.emitter.on("pointerdown", n.handlePointerDown), a.emitter.on("dragstart", n.handleDragStart), a.emitter.on("hitupdate", n.handleHitUpdate), a.emitter.on("dragend", n.handleDragEnd), n
  7964. }
  7965. return n(t, e), t.prototype.destroy = function() {
  7966. this.dragging.destroy()
  7967. }, t.prototype.querySegEl = function(e) {
  7968. return Se(e.subjectEl, ".fc-event")
  7969. }, t
  7970. }(ea);
  7971. var js = function() {
  7972. function e(e) {
  7973. var t = this;
  7974. this.context = e, this.isRecentPointerDateSelect = !1, this.matchesCancel = !1, this.matchesEvent = !1, this.onSelect = function(e) {
  7975. e.jsEvent && (t.isRecentPointerDateSelect = !0)
  7976. }, this.onDocumentPointerDown = function(e) {
  7977. var n = t.context.options.unselectCancel,
  7978. r = _e(e.origEvent);
  7979. t.matchesCancel = !!Se(r, n), t.matchesEvent = !!Se(r, Bs.SELECTOR)
  7980. }, this.onDocumentPointerUp = function(e) {
  7981. var n = t.context,
  7982. r = t.documentPointer,
  7983. o = n.getCurrentData();
  7984. if (!r.wasTouchScroll) {
  7985. if (o.dateSelection && !t.isRecentPointerDateSelect) {
  7986. var i = n.options.unselectAuto;
  7987. !i || i && t.matchesCancel || n.calendarApi.unselect(e)
  7988. }
  7989. o.eventSelection && !t.matchesEvent && n.dispatch({
  7990. type: "UNSELECT_EVENT"
  7991. })
  7992. }
  7993. t.isRecentPointerDateSelect = !1
  7994. };
  7995. var n = this.documentPointer = new Ts(document);
  7996. n.shouldIgnoreMove = !0, n.shouldWatchScroll = !1, n.emitter.on("pointerdown", this.onDocumentPointerDown), n.emitter.on("pointerup", this.onDocumentPointerUp), e.emitter.on("select", this.onSelect)
  7997. }
  7998. return e.prototype.destroy = function() {
  7999. this.context.emitter.off("select", this.onSelect), this.documentPointer.destroy()
  8000. }, e
  8001. }(),
  8002. Gs = {
  8003. fixedMirrorParent: yn
  8004. },
  8005. qs = {
  8006. dateClick: yn,
  8007. eventDragStart: yn,
  8008. eventDragStop: yn,
  8009. eventDrop: yn,
  8010. eventResizeStart: yn,
  8011. eventResizeStop: yn,
  8012. eventResize: yn,
  8013. drop: yn,
  8014. eventReceive: yn,
  8015. eventLeave: yn
  8016. },
  8017. Ys = function() {
  8018. function e(e, t) {
  8019. var n = this;
  8020. this.receivingContext = null, this.droppableEvent = null, this.suppliedDragMeta = null, this.dragMeta = null, this.handleDragStart = function(e) {
  8021. n.dragMeta = n.buildDragMeta(e.subjectEl)
  8022. }, this.handleHitUpdate = function(e, t, o) {
  8023. var i = n.hitDragging.dragging,
  8024. a = null,
  8025. s = null,
  8026. l = !1,
  8027. u = {
  8028. affectedEvents: {
  8029. defs: {},
  8030. instances: {}
  8031. },
  8032. mutatedEvents: {
  8033. defs: {},
  8034. instances: {}
  8035. },
  8036. isEvent: n.dragMeta.create
  8037. };
  8038. e && (a = e.context, n.canDropElOnCalendar(o.subjectEl, a) && (s = function(e, t, n) {
  8039. for (var o = r({}, t.leftoverProps), i = 0, a = n.pluginHooks.externalDefTransforms; i < a.length; i++) {
  8040. var s = a[i];
  8041. r(o, s(e, t))
  8042. }
  8043. var l = On(o, n),
  8044. u = l.refined,
  8045. c = l.extra,
  8046. d = Ln(u, c, t.sourceId, e.allDay, n.options.forceEventDuration || Boolean(t.duration), n),
  8047. p = e.range.start;
  8048. e.allDay && t.startTime && (p = n.dateEnv.add(p, t.startTime));
  8049. var f = t.duration ? n.dateEnv.add(p, t.duration) : Er(e.allDay, p, n),
  8050. h = mt(d.defId, {
  8051. start: p,
  8052. end: f
  8053. });
  8054. return {
  8055. def: d,
  8056. instance: h
  8057. }
  8058. }(e.dateSpan, n.dragMeta, a), u.mutatedEvents = Sn(s), (l = !Ia(u, e.dateProfile, a)) && (u.mutatedEvents = {
  8059. defs: {},
  8060. instances: {}
  8061. }, s = null))), n.displayDrag(a, u), i.setMirrorIsVisible(t || !s || !document.querySelector(".fc-event-mirror")), l ? Ue() : We(), t || (i.setMirrorNeedsRevert(!s), n.receivingContext = a, n.droppableEvent = s)
  8062. }, this.handleDragEnd = function(e) {
  8063. var t = n,
  8064. o = t.receivingContext,
  8065. i = t.droppableEvent;
  8066. if (n.clearDrag(), o && i) {
  8067. var a = n.hitDragging.finalHit,
  8068. s = a.context.viewApi,
  8069. l = n.dragMeta;
  8070. if (o.emitter.trigger("drop", r(r({}, Ws(a.dateSpan, o)), {
  8071. draggedEl: e.subjectEl,
  8072. jsEvent: e.origEvent,
  8073. view: s
  8074. })), l.create) {
  8075. var u = Sn(i);
  8076. o.dispatch({
  8077. type: "MERGE_EVENTS",
  8078. eventStore: u
  8079. }), e.isTouch && o.dispatch({
  8080. type: "SELECT_EVENT",
  8081. eventInstanceId: i.instance.instanceId
  8082. }), o.emitter.trigger("eventReceive", {
  8083. event: new xr(o, i.def, i.instance),
  8084. relatedEvents: [],
  8085. revert: function() {
  8086. o.dispatch({
  8087. type: "REMOVE_EVENTS",
  8088. eventStore: u
  8089. })
  8090. },
  8091. draggedEl: e.subjectEl,
  8092. view: s
  8093. })
  8094. }
  8095. }
  8096. n.receivingContext = null, n.droppableEvent = null
  8097. };
  8098. var o = this.hitDragging = new Ls(e, ra);
  8099. o.requireInitial = !1, o.emitter.on("dragstart", this.handleDragStart), o.emitter.on("hitupdate", this.handleHitUpdate), o.emitter.on("dragend", this.handleDragEnd), this.suppliedDragMeta = t
  8100. }
  8101. return e.prototype.buildDragMeta = function(e) {
  8102. return "object" == typeof this.suppliedDragMeta ? sa(this.suppliedDragMeta) : "function" == typeof this.suppliedDragMeta ? sa(this.suppliedDragMeta(e)) : sa((t = function(e, t) {
  8103. var n = ia.dataAttrPrefix,
  8104. r = (n ? n + "-" : "") + t;
  8105. return e.getAttribute("data-" + r) || ""
  8106. }(e, "event")) ? JSON.parse(t) : {
  8107. create: !1
  8108. });
  8109. var t
  8110. }, e.prototype.displayDrag = function(e, t) {
  8111. var n = this.receivingContext;
  8112. n && n !== e && n.dispatch({
  8113. type: "UNSET_EVENT_DRAG"
  8114. }), e && e.dispatch({
  8115. type: "SET_EVENT_DRAG",
  8116. state: t
  8117. })
  8118. }, e.prototype.clearDrag = function() {
  8119. this.receivingContext && this.receivingContext.dispatch({
  8120. type: "UNSET_EVENT_DRAG"
  8121. })
  8122. }, e.prototype.canDropElOnCalendar = function(e, t) {
  8123. var n = t.options.dropAccept;
  8124. return "function" == typeof n ? n.call(t.calendarApi, e) : "string" != typeof n || !n || Boolean(be(e, n))
  8125. }, e
  8126. }();
  8127. ia.dataAttrPrefix = "";
  8128. var Zs = function() {
  8129. function e(e, t) {
  8130. var n = this;
  8131. void 0 === t && (t = {}), this.handlePointerDown = function(e) {
  8132. var t = n.dragging,
  8133. r = n.settings,
  8134. o = r.minDistance,
  8135. i = r.longPressDelay;
  8136. t.minDistance = null != o ? o : e.isTouch ? 0 : cn.eventDragMinDistance, t.delay = e.isTouch ? null != i ? i : cn.longPressDelay : 0
  8137. }, this.handleDragStart = function(e) {
  8138. e.isTouch && n.dragging.delay && e.subjectEl.classList.contains("fc-event") && n.dragging.mirror.getMirrorEl().classList.add("fc-event-selected")
  8139. }, this.settings = t;
  8140. var r = this.dragging = new Os(e);
  8141. r.touchScrollAllowed = !1, null != t.itemSelector && (r.pointer.selector = t.itemSelector), null != t.appendTo && (r.mirror.parentNode = t.appendTo), r.emitter.on("pointerdown", this.handlePointerDown), r.emitter.on("dragstart", this.handleDragStart), new Ys(r, t.eventData)
  8142. }
  8143. return e.prototype.destroy = function() {
  8144. this.dragging.destroy()
  8145. }, e
  8146. }(),
  8147. Xs = function(e) {
  8148. function t(t) {
  8149. var n = e.call(this, t) || this;
  8150. n.shouldIgnoreMove = !1, n.mirrorSelector = "", n.currentMirrorEl = null, n.handlePointerDown = function(e) {
  8151. n.emitter.trigger("pointerdown", e), n.shouldIgnoreMove || n.emitter.trigger("dragstart", e)
  8152. }, n.handlePointerMove = function(e) {
  8153. n.shouldIgnoreMove || n.emitter.trigger("dragmove", e)
  8154. }, n.handlePointerUp = function(e) {
  8155. n.emitter.trigger("pointerup", e), n.shouldIgnoreMove || n.emitter.trigger("dragend", e)
  8156. };
  8157. var r = n.pointer = new Ts(t);
  8158. return r.emitter.on("pointerdown", n.handlePointerDown), r.emitter.on("pointermove", n.handlePointerMove), r.emitter.on("pointerup", n.handlePointerUp), n
  8159. }
  8160. return n(t, e), t.prototype.destroy = function() {
  8161. this.pointer.destroy()
  8162. }, t.prototype.setIgnoreMove = function(e) {
  8163. this.shouldIgnoreMove = e
  8164. }, t.prototype.setMirrorIsVisible = function(e) {
  8165. if (e) this.currentMirrorEl && (this.currentMirrorEl.style.visibility = "", this.currentMirrorEl = null);
  8166. else {
  8167. var t = this.mirrorSelector ? document.querySelector(this.mirrorSelector) : null;
  8168. t && (this.currentMirrorEl = t, t.style.visibility = "hidden")
  8169. }
  8170. }, t
  8171. }(oa),
  8172. Ks = function() {
  8173. function e(e, t) {
  8174. var n = document;
  8175. e === document || e instanceof Element ? (n = e, t = t || {}) : t = e || {};
  8176. var r = this.dragging = new Xs(n);
  8177. "string" == typeof t.itemSelector ? r.pointer.selector = t.itemSelector : n === document && (r.pointer.selector = "[data-event]"), "string" == typeof t.mirrorSelector && (r.mirrorSelector = t.mirrorSelector), new Ys(r, t.eventData)
  8178. }
  8179. return e.prototype.destroy = function() {
  8180. this.dragging.destroy()
  8181. }, e
  8182. }(),
  8183. $s = zo({
  8184. componentInteractions: [Vs, Fs, Bs, zs],
  8185. calendarInteractions: [js],
  8186. elementDraggingImpl: Os,
  8187. optionRefiners: Gs,
  8188. listenerRefiners: qs
  8189. }),
  8190. Js = function(e) {
  8191. function t() {
  8192. var t = null !== e && e.apply(this, arguments) || this;
  8193. return t.headerElRef = ko(), t
  8194. }
  8195. return n(t, e), t.prototype.renderSimpleLayout = function(e, t) {
  8196. var n = this.props,
  8197. r = this.context,
  8198. o = [],
  8199. i = Qa(r.options);
  8200. return e && o.push({
  8201. type: "header",
  8202. key: "header",
  8203. isSticky: i,
  8204. chunk: {
  8205. elRef: this.headerElRef,
  8206. tableClassName: "fc-col-header",
  8207. rowContent: e
  8208. }
  8209. }), o.push({
  8210. type: "body",
  8211. key: "body",
  8212. liquid: !0,
  8213. chunk: {
  8214. content: t
  8215. }
  8216. }), _o(ti, {
  8217. viewSpec: r.viewSpec
  8218. }, (function(e, t) {
  8219. return _o("div", {
  8220. ref: e,
  8221. className: ["fc-daygrid"].concat(t).join(" ")
  8222. }, _o(ts, {
  8223. liquid: !n.isHeightAuto && !n.forPrint,
  8224. collapsibleWidth: n.forPrint,
  8225. cols: [],
  8226. sections: o
  8227. }))
  8228. }))
  8229. }, t.prototype.renderHScrollLayout = function(e, t, n, r) {
  8230. var o = this.context.pluginHooks.scrollGridImpl;
  8231. if (!o) throw new Error("No ScrollGrid implementation");
  8232. var i = this.props,
  8233. a = this.context,
  8234. s = !i.forPrint && Qa(a.options),
  8235. l = !i.forPrint && es(a.options),
  8236. u = [];
  8237. return e && u.push({
  8238. type: "header",
  8239. key: "header",
  8240. isSticky: s,
  8241. chunks: [{
  8242. key: "main",
  8243. elRef: this.headerElRef,
  8244. tableClassName: "fc-col-header",
  8245. rowContent: e
  8246. }]
  8247. }), u.push({
  8248. type: "body",
  8249. key: "body",
  8250. liquid: !0,
  8251. chunks: [{
  8252. key: "main",
  8253. content: t
  8254. }]
  8255. }), l && u.push({
  8256. type: "footer",
  8257. key: "footer",
  8258. isSticky: !0,
  8259. chunks: [{
  8260. key: "main",
  8261. content: Ja
  8262. }]
  8263. }), _o(ti, {
  8264. viewSpec: a.viewSpec
  8265. }, (function(e, t) {
  8266. return _o("div", {
  8267. ref: e,
  8268. className: ["fc-daygrid"].concat(t).join(" ")
  8269. }, _o(o, {
  8270. liquid: !i.isHeightAuto && !i.forPrint,
  8271. collapsibleWidth: i.forPrint,
  8272. colGroups: [{
  8273. cols: [{
  8274. span: n,
  8275. minWidth: r
  8276. }]
  8277. }],
  8278. sections: u
  8279. }))
  8280. }))
  8281. }, t
  8282. }(Bo);
  8283. function Qs(e, t) {
  8284. for (var n = [], r = 0; r < t; r += 1) n[r] = [];
  8285. for (var o = 0, i = e; o < i.length; o++) {
  8286. var a = i[o];
  8287. n[a.row].push(a)
  8288. }
  8289. return n
  8290. }
  8291. function el(e, t) {
  8292. for (var n = [], r = 0; r < t; r += 1) n[r] = [];
  8293. for (var o = 0, i = e; o < i.length; o++) {
  8294. var a = i[o];
  8295. n[a.firstCol].push(a)
  8296. }
  8297. return n
  8298. }
  8299. function tl(e, t) {
  8300. var n = [];
  8301. if (e) {
  8302. for (a = 0; a < t; a += 1) n[a] = {
  8303. affectedInstances: e.affectedInstances,
  8304. isEvent: e.isEvent,
  8305. segs: []
  8306. };
  8307. for (var r = 0, o = e.segs; r < o.length; r++) {
  8308. var i = o[r];
  8309. n[i.row].segs.push(i)
  8310. }
  8311. } else
  8312. for (var a = 0; a < t; a += 1) n[a] = null;
  8313. return n
  8314. }
  8315. var nl = function(e) {
  8316. function t() {
  8317. return null !== e && e.apply(this, arguments) || this
  8318. }
  8319. return n(t, e), t.prototype.render = function() {
  8320. var e = this.props,
  8321. t = so(this.context, e.date);
  8322. return _o(ss, {
  8323. date: e.date,
  8324. dateProfile: e.dateProfile,
  8325. todayRange: e.todayRange,
  8326. showDayNumber: e.showDayNumber,
  8327. extraHookProps: e.extraHookProps,
  8328. defaultContent: rl
  8329. }, (function(n, o) {
  8330. return (o || e.forceDayTop) && _o("div", {
  8331. className: "fc-daygrid-day-top",
  8332. ref: n
  8333. }, _o("a", r({
  8334. id: e.dayNumberId,
  8335. className: "fc-daygrid-day-number"
  8336. }, t), o || _o(xo, null, " ")))
  8337. }))
  8338. }, t
  8339. }(Uo);
  8340. function rl(e) {
  8341. return e.dayNumberText
  8342. }
  8343. var ol = ln({
  8344. hour: "numeric",
  8345. minute: "2-digit",
  8346. omitZeroMinute: !0,
  8347. meridiem: "narrow"
  8348. });
  8349. function il(e) {
  8350. var t = e.eventRange.ui.display;
  8351. return "list-item" === t || "auto" === t && !e.eventRange.def.allDay && e.firstCol === e.lastCol && e.isStart && e.isEnd
  8352. }
  8353. var al = function(e) {
  8354. function t() {
  8355. return null !== e && e.apply(this, arguments) || this
  8356. }
  8357. return n(t, e), t.prototype.render = function() {
  8358. var e = this.props;
  8359. return _o(rs, r({}, e, {
  8360. extraClassNames: ["fc-daygrid-event", "fc-daygrid-block-event", "fc-h-event"],
  8361. defaultTimeFormat: ol,
  8362. defaultDisplayEventEnd: e.defaultDisplayEventEnd,
  8363. disableResizing: !e.seg.eventRange.def.allDay
  8364. }))
  8365. }, t
  8366. }(Uo),
  8367. sl = function(e) {
  8368. function t() {
  8369. return null !== e && e.apply(this, arguments) || this
  8370. }
  8371. return n(t, e), t.prototype.render = function() {
  8372. var e = this.props,
  8373. t = this.context,
  8374. n = t.options.eventTimeFormat || ol,
  8375. o = ar(e.seg, n, t, !0, e.defaultDisplayEventEnd);
  8376. return _o(ns, {
  8377. seg: e.seg,
  8378. timeText: o,
  8379. defaultContent: ll,
  8380. isDragging: e.isDragging,
  8381. isResizing: !1,
  8382. isDateSelecting: !1,
  8383. isSelected: e.isSelected,
  8384. isPast: e.isPast,
  8385. isFuture: e.isFuture,
  8386. isToday: e.isToday
  8387. }, (function(n, o, i, a) {
  8388. return _o("a", r({
  8389. className: ["fc-daygrid-event", "fc-daygrid-dot-event"].concat(o).join(" "),
  8390. ref: n
  8391. }, cr(e.seg, t)), a)
  8392. }))
  8393. }, t
  8394. }(Uo);
  8395. function ll(e) {
  8396. return _o(xo, null, _o("div", {
  8397. className: "fc-daygrid-event-dot",
  8398. style: {
  8399. borderColor: e.borderColor || e.backgroundColor
  8400. }
  8401. }), e.timeText && _o("div", {
  8402. className: "fc-event-time"
  8403. }, e.timeText), _o("div", {
  8404. className: "fc-event-title"
  8405. }, e.event.title || _o(xo, null, " ")))
  8406. }
  8407. var ul = function(e) {
  8408. function t() {
  8409. var t = null !== e && e.apply(this, arguments) || this;
  8410. return t.compileSegs = qt(cl), t
  8411. }
  8412. return n(t, e), t.prototype.render = function() {
  8413. var e = this.props,
  8414. t = this.compileSegs(e.singlePlacements),
  8415. n = t.allSegs,
  8416. o = t.invisibleSegs;
  8417. return _o(ms, {
  8418. dateProfile: e.dateProfile,
  8419. todayRange: e.todayRange,
  8420. allDayDate: e.allDayDate,
  8421. moreCnt: e.moreCnt,
  8422. allSegs: n,
  8423. hiddenSegs: o,
  8424. alignmentElRef: e.alignmentElRef,
  8425. alignGridTop: e.alignGridTop,
  8426. extraDateSpan: e.extraDateSpan,
  8427. popoverContent: function() {
  8428. var t = (e.eventDrag ? e.eventDrag.affectedInstances : null) || (e.eventResize ? e.eventResize.affectedInstances : null) || {};
  8429. return _o(xo, null, n.map((function(n) {
  8430. var o = n.eventRange.instance.instanceId;
  8431. return _o("div", {
  8432. className: "fc-daygrid-event-harness",
  8433. key: o,
  8434. style: {
  8435. visibility: t[o] ? "hidden" : ""
  8436. }
  8437. }, il(n) ? _o(sl, r({
  8438. seg: n,
  8439. isDragging: !1,
  8440. isSelected: o === e.eventSelection,
  8441. defaultDisplayEventEnd: !1
  8442. }, sr(n, e.todayRange))) : _o(al, r({
  8443. seg: n,
  8444. isDragging: !1,
  8445. isResizing: !1,
  8446. isDateSelecting: !1,
  8447. isSelected: o === e.eventSelection,
  8448. defaultDisplayEventEnd: !1
  8449. }, sr(n, e.todayRange))))
  8450. })))
  8451. }
  8452. }, (function(e, t, n, o, i, a, s, l) {
  8453. return _o("a", r({
  8454. ref: e,
  8455. className: ["fc-daygrid-more-link"].concat(t).join(" "),
  8456. title: a,
  8457. "aria-expanded": s,
  8458. "aria-controls": l
  8459. }, He(i)), o)
  8460. }))
  8461. }, t
  8462. }(Uo);
  8463. function cl(e) {
  8464. for (var t = [], n = [], r = 0, o = e; r < o.length; r++) {
  8465. var i = o[r];
  8466. t.push(i.seg), i.isVisible || n.push(i.seg)
  8467. }
  8468. return {
  8469. allSegs: t,
  8470. invisibleSegs: n
  8471. }
  8472. }
  8473. var dl = ln({
  8474. week: "narrow"
  8475. }),
  8476. pl = function(e) {
  8477. function t() {
  8478. var t = null !== e && e.apply(this, arguments) || this;
  8479. return t.rootElRef = ko(), t.state = {
  8480. dayNumberId: xe()
  8481. }, t.handleRootEl = function(e) {
  8482. Fo(t.rootElRef, e), Fo(t.props.elRef, e)
  8483. }, t
  8484. }
  8485. return n(t, e), t.prototype.render = function() {
  8486. var e = this,
  8487. t = e.context,
  8488. n = e.props,
  8489. o = e.state,
  8490. i = e.rootElRef,
  8491. a = n.date,
  8492. s = n.dateProfile,
  8493. l = so(t, a, "week");
  8494. return _o(us, {
  8495. date: a,
  8496. dateProfile: s,
  8497. todayRange: n.todayRange,
  8498. showDayNumber: n.showDayNumber,
  8499. extraHookProps: n.extraHookProps,
  8500. elRef: this.handleRootEl
  8501. }, (function(e, t, u, c) {
  8502. return _o("td", r({
  8503. ref: e,
  8504. role: "gridcell",
  8505. className: ["fc-daygrid-day"].concat(t, n.extraClassNames || []).join(" ")
  8506. }, u, n.extraDataAttrs, n.showDayNumber ? {
  8507. "aria-labelledby": o.dayNumberId
  8508. } : {}), _o("div", {
  8509. className: "fc-daygrid-day-frame fc-scrollgrid-sync-inner",
  8510. ref: n.innerElRef
  8511. }, n.showWeekNumber && _o(fs, {
  8512. date: a,
  8513. defaultFormat: dl
  8514. }, (function(e, t, n, o) {
  8515. return _o("a", r({
  8516. ref: e,
  8517. className: ["fc-daygrid-week-number"].concat(t).join(" ")
  8518. }, l), o)
  8519. })), !c && _o(nl, {
  8520. date: a,
  8521. dateProfile: s,
  8522. showDayNumber: n.showDayNumber,
  8523. dayNumberId: o.dayNumberId,
  8524. forceDayTop: n.forceDayTop,
  8525. todayRange: n.todayRange,
  8526. extraHookProps: n.extraHookProps
  8527. }), _o("div", {
  8528. className: "fc-daygrid-day-events",
  8529. ref: n.fgContentElRef
  8530. }, n.fgContent, _o("div", {
  8531. className: "fc-daygrid-day-bottom",
  8532. style: {
  8533. marginTop: n.moreMarginTop
  8534. }
  8535. }, _o(ul, {
  8536. allDayDate: a,
  8537. singlePlacements: n.singlePlacements,
  8538. moreCnt: n.moreCnt,
  8539. alignmentElRef: i,
  8540. alignGridTop: !n.showDayNumber,
  8541. extraDateSpan: n.extraDateSpan,
  8542. dateProfile: n.dateProfile,
  8543. eventSelection: n.eventSelection,
  8544. eventDrag: n.eventDrag,
  8545. eventResize: n.eventResize,
  8546. todayRange: n.todayRange
  8547. }))), _o("div", {
  8548. className: "fc-daygrid-day-bg"
  8549. }, n.bgContent)))
  8550. }))
  8551. }, t
  8552. }(Bo);
  8553. function fl(e, t, n, r, o, i, a) {
  8554. var s = new vl;
  8555. s.allowReslicing = !0, s.strictOrder = r, !0 === t || !0 === n ? (s.maxCoord = i, s.hiddenConsumes = !0) : "number" == typeof t ? s.maxStackCnt = t : "number" == typeof n && (s.maxStackCnt = n, s.hiddenConsumes = !0);
  8556. for (var l = [], u = [], c = 0; c < e.length; c += 1) {
  8557. var d = o[(R = e[c]).eventRange.instance.instanceId];
  8558. null != d ? l.push({
  8559. index: c,
  8560. thickness: d,
  8561. span: {
  8562. start: R.firstCol,
  8563. end: R.lastCol + 1
  8564. }
  8565. }) : u.push(R)
  8566. }
  8567. for (var p = s.addSegs(l), f = function(e, t, n) {
  8568. for (var r = function(e, t) {
  8569. for (var n = [], r = 0; r < t; r += 1) n.push([]);
  8570. for (var o = 0, i = e; o < i.length; o++) {
  8571. var a = i[o];
  8572. for (r = a.span.start; r < a.span.end; r += 1) n[r].push(a)
  8573. }
  8574. return n
  8575. }(e, n.length), o = [], i = [], a = [], s = 0; s < n.length; s += 1) {
  8576. for (var l = r[s], u = [], c = 0, d = 0, p = 0, f = l; p < f.length; p++) {
  8577. var h = t[(y = f[p]).index];
  8578. u.push({
  8579. seg: hl(h, s, s + 1, n),
  8580. isVisible: !0,
  8581. isAbsolute: !1,
  8582. absoluteTop: y.levelCoord,
  8583. marginTop: y.levelCoord - c
  8584. }), c = y.levelCoord + y.thickness
  8585. }
  8586. var v = [];
  8587. c = 0, d = 0;
  8588. for (var g = 0, m = l; g < m.length; g++) {
  8589. h = t[(y = m[g]).index];
  8590. var y, E = y.span.end - y.span.start > 1,
  8591. S = y.span.start === s;
  8592. d += y.levelCoord - c, c = y.levelCoord + y.thickness, E ? (d += y.thickness, S && v.push({
  8593. seg: hl(h, y.span.start, y.span.end, n),
  8594. isVisible: !0,
  8595. isAbsolute: !0,
  8596. absoluteTop: y.levelCoord,
  8597. marginTop: 0
  8598. })) : S && (v.push({
  8599. seg: hl(h, y.span.start, y.span.end, n),
  8600. isVisible: !0,
  8601. isAbsolute: !1,
  8602. absoluteTop: y.levelCoord,
  8603. marginTop: d
  8604. }), d = 0)
  8605. }
  8606. o.push(u), i.push(v), a.push(d)
  8607. }
  8608. return {
  8609. singleColPlacements: o,
  8610. multiColPlacements: i,
  8611. leftoverMargins: a
  8612. }
  8613. }(s.toRects(), e, a), h = f.singleColPlacements, v = f.multiColPlacements, g = f.leftoverMargins, m = [], y = [], E = 0, S = u; E < S.length; E++) {
  8614. v[(R = S[E]).firstCol].push({
  8615. seg: R,
  8616. isVisible: !1,
  8617. isAbsolute: !0,
  8618. absoluteTop: 0,
  8619. marginTop: 0
  8620. });
  8621. for (var b = R.firstCol; b <= R.lastCol; b += 1) h[b].push({
  8622. seg: hl(R, b, b + 1, a),
  8623. isVisible: !1,
  8624. isAbsolute: !1,
  8625. absoluteTop: 0,
  8626. marginTop: 0
  8627. })
  8628. }
  8629. for (b = 0; b < a.length; b += 1) m.push(0);
  8630. for (var D = 0, C = p; D < C.length; D++) {
  8631. var w = C[D],
  8632. R = e[w.index],
  8633. _ = w.span;
  8634. v[_.start].push({
  8635. seg: hl(R, _.start, _.end, a),
  8636. isVisible: !1,
  8637. isAbsolute: !0,
  8638. absoluteTop: 0,
  8639. marginTop: 0
  8640. });
  8641. for (b = _.start; b < _.end; b += 1) m[b] += 1, h[b].push({
  8642. seg: hl(R, b, b + 1, a),
  8643. isVisible: !1,
  8644. isAbsolute: !1,
  8645. absoluteTop: 0,
  8646. marginTop: 0
  8647. })
  8648. }
  8649. for (b = 0; b < a.length; b += 1) y.push(g[b]);
  8650. return {
  8651. singleColPlacements: h,
  8652. multiColPlacements: v,
  8653. moreCnts: m,
  8654. moreMarginTops: y
  8655. }
  8656. }
  8657. function hl(e, t, n, o) {
  8658. if (e.firstCol === t && e.lastCol === n - 1) return e;
  8659. var i = e.eventRange,
  8660. a = i.range,
  8661. s = jn(a, {
  8662. start: o[t].date,
  8663. end: tt(o[n - 1].date, 1)
  8664. });
  8665. return r(r({}, e), {
  8666. firstCol: t,
  8667. lastCol: n - 1,
  8668. eventRange: {
  8669. def: i.def,
  8670. ui: r(r({}, i.ui), {
  8671. durationEditable: !1
  8672. }),
  8673. instance: i.instance,
  8674. range: s
  8675. },
  8676. isStart: e.isStart && s.start.valueOf() === a.start.valueOf(),
  8677. isEnd: e.isEnd && s.end.valueOf() === a.end.valueOf()
  8678. })
  8679. }
  8680. var vl = function(e) {
  8681. function t() {
  8682. var t = null !== e && e.apply(this, arguments) || this;
  8683. return t.hiddenConsumes = !1, t.forceHidden = {}, t
  8684. }
  8685. return n(t, e), t.prototype.addSegs = function(t) {
  8686. for (var n = this, r = e.prototype.addSegs.call(this, t), o = this.entriesByLevel, i = function(e) {
  8687. return !n.forceHidden[Zi(e)]
  8688. }, a = 0; a < o.length; a += 1) o[a] = o[a].filter(i);
  8689. return r
  8690. }, t.prototype.handleInvalidInsertion = function(t, n, o) {
  8691. var i = this.entriesByLevel,
  8692. a = this.forceHidden,
  8693. s = t.touchingEntry,
  8694. l = t.touchingLevel,
  8695. u = t.touchingLateral;
  8696. if (this.hiddenConsumes && s) {
  8697. var c = Zi(s);
  8698. if (!a[c])
  8699. if (this.allowReslicing) {
  8700. var d = r(r({}, s), {
  8701. span: $i(s.span, n.span)
  8702. });
  8703. a[Zi(d)] = !0, i[l][u] = d, this.splitEntry(s, n, o)
  8704. } else a[c] = !0, o.push(s)
  8705. }
  8706. return e.prototype.handleInvalidInsertion.call(this, t, n, o)
  8707. }, t
  8708. }(qi),
  8709. gl = function(e) {
  8710. function t() {
  8711. var t = null !== e && e.apply(this, arguments) || this;
  8712. return t.cellElRefs = new Fa, t.frameElRefs = new Fa, t.fgElRefs = new Fa, t.segHarnessRefs = new Fa, t.rootElRef = ko(), t.state = {
  8713. framePositions: null,
  8714. maxContentHeight: null,
  8715. eventInstanceHeights: {}
  8716. }, t
  8717. }
  8718. return n(t, e), t.prototype.render = function() {
  8719. var e = this,
  8720. t = this,
  8721. n = t.props,
  8722. r = t.state,
  8723. o = t.context.options,
  8724. i = n.cells.length,
  8725. a = el(n.businessHourSegs, i),
  8726. s = el(n.bgEventSegs, i),
  8727. l = el(this.getHighlightSegs(), i),
  8728. u = el(this.getMirrorSegs(), i),
  8729. c = fl(tr(n.fgEventSegs, o.eventOrder), n.dayMaxEvents, n.dayMaxEventRows, o.eventOrderStrict, r.eventInstanceHeights, r.maxContentHeight, n.cells),
  8730. d = c.singleColPlacements,
  8731. p = c.multiColPlacements,
  8732. f = c.moreCnts,
  8733. h = c.moreMarginTops,
  8734. v = n.eventDrag && n.eventDrag.affectedInstances || n.eventResize && n.eventResize.affectedInstances || {};
  8735. return _o("tr", {
  8736. ref: this.rootElRef,
  8737. role: "row"
  8738. }, n.renderIntro && n.renderIntro(), n.cells.map((function(t, r) {
  8739. var o = e.renderFgSegs(r, n.forPrint ? d[r] : p[r], n.todayRange, v),
  8740. i = e.renderFgSegs(r, function(e, t) {
  8741. if (!e.length) return [];
  8742. var n = function(e) {
  8743. for (var t = {}, n = 0, r = e; n < r.length; n++)
  8744. for (var o = 0, i = r[n]; o < i.length; o++) {
  8745. var a = i[o];
  8746. t[a.seg.eventRange.instance.instanceId] = a.absoluteTop
  8747. }
  8748. return t
  8749. }(t);
  8750. return e.map((function(e) {
  8751. return {
  8752. seg: e,
  8753. isVisible: !0,
  8754. isAbsolute: !0,
  8755. absoluteTop: n[e.eventRange.instance.instanceId],
  8756. marginTop: 0
  8757. }
  8758. }))
  8759. }(u[r], p), n.todayRange, {}, Boolean(n.eventDrag), Boolean(n.eventResize), !1);
  8760. return _o(pl, {
  8761. key: t.key,
  8762. elRef: e.cellElRefs.createRef(t.key),
  8763. innerElRef: e.frameElRefs.createRef(t.key),
  8764. dateProfile: n.dateProfile,
  8765. date: t.date,
  8766. showDayNumber: n.showDayNumbers,
  8767. showWeekNumber: n.showWeekNumbers && 0 === r,
  8768. forceDayTop: n.showWeekNumbers,
  8769. todayRange: n.todayRange,
  8770. eventSelection: n.eventSelection,
  8771. eventDrag: n.eventDrag,
  8772. eventResize: n.eventResize,
  8773. extraHookProps: t.extraHookProps,
  8774. extraDataAttrs: t.extraDataAttrs,
  8775. extraClassNames: t.extraClassNames,
  8776. extraDateSpan: t.extraDateSpan,
  8777. moreCnt: f[r],
  8778. moreMarginTop: h[r],
  8779. singlePlacements: d[r],
  8780. fgContentElRef: e.fgElRefs.createRef(t.key),
  8781. fgContent: _o(xo, null, _o(xo, null, o), _o(xo, null, i)),
  8782. bgContent: _o(xo, null, e.renderFillSegs(l[r], "highlight"), e.renderFillSegs(a[r], "non-business"), e.renderFillSegs(s[r], "bg-event"))
  8783. })
  8784. })))
  8785. }, t.prototype.componentDidMount = function() {
  8786. this.updateSizing(!0)
  8787. }, t.prototype.componentDidUpdate = function(e, t) {
  8788. var n = this.props;
  8789. this.updateSizing(!wt(e, n))
  8790. }, t.prototype.getHighlightSegs = function() {
  8791. var e = this.props;
  8792. return e.eventDrag && e.eventDrag.segs.length ? e.eventDrag.segs : e.eventResize && e.eventResize.segs.length ? e.eventResize.segs : e.dateSelectionSegs
  8793. }, t.prototype.getMirrorSegs = function() {
  8794. var e = this.props;
  8795. return e.eventResize && e.eventResize.segs.length ? e.eventResize.segs : []
  8796. }, t.prototype.renderFgSegs = function(e, t, n, o, i, a, s) {
  8797. var l = this.context,
  8798. u = this.props.eventSelection,
  8799. c = this.state.framePositions,
  8800. d = 1 === this.props.cells.length,
  8801. p = i || a || s,
  8802. f = [];
  8803. if (c)
  8804. for (var h = 0, v = t; h < v.length; h++) {
  8805. var g = v[h],
  8806. m = g.seg,
  8807. y = m.eventRange.instance.instanceId,
  8808. E = y + ":" + e,
  8809. S = g.isVisible && !o[y],
  8810. b = g.isAbsolute,
  8811. D = "",
  8812. C = "";
  8813. b && (l.isRtl ? (C = 0, D = c.lefts[m.lastCol] - c.lefts[m.firstCol]) : (D = 0, C = c.rights[m.firstCol] - c.rights[m.lastCol])), f.push(_o("div", {
  8814. className: "fc-daygrid-event-harness" + (b ? " fc-daygrid-event-harness-abs" : ""),
  8815. key: E,
  8816. ref: p ? null : this.segHarnessRefs.createRef(E),
  8817. style: {
  8818. visibility: S ? "" : "hidden",
  8819. marginTop: b ? "" : g.marginTop,
  8820. top: b ? g.absoluteTop : "",
  8821. left: D,
  8822. right: C
  8823. }
  8824. }, il(m) ? _o(sl, r({
  8825. seg: m,
  8826. isDragging: i,
  8827. isSelected: y === u,
  8828. defaultDisplayEventEnd: d
  8829. }, sr(m, n))) : _o(al, r({
  8830. seg: m,
  8831. isDragging: i,
  8832. isResizing: a,
  8833. isDateSelecting: s,
  8834. isSelected: y === u,
  8835. defaultDisplayEventEnd: d
  8836. }, sr(m, n)))))
  8837. }
  8838. return f
  8839. }, t.prototype.renderFillSegs = function(e, t) {
  8840. var n = this.context.isRtl,
  8841. i = this.props.todayRange,
  8842. a = this.state.framePositions,
  8843. s = [];
  8844. if (a)
  8845. for (var l = 0, u = e; l < u.length; l++) {
  8846. var c = u[l],
  8847. d = n ? {
  8848. right: 0,
  8849. left: a.lefts[c.lastCol] - a.lefts[c.firstCol]
  8850. } : {
  8851. left: 0,
  8852. right: a.rights[c.firstCol] - a.rights[c.lastCol]
  8853. };
  8854. s.push(_o("div", {
  8855. key: ur(c.eventRange),
  8856. className: "fc-daygrid-bg-harness",
  8857. style: d
  8858. }, "bg-event" === t ? _o(ds, r({
  8859. seg: c
  8860. }, sr(c, i))) : cs(t)))
  8861. }
  8862. return _o.apply(void 0, o([xo, {}], s))
  8863. }, t.prototype.updateSizing = function(e) {
  8864. var t = this.props,
  8865. n = this.frameElRefs;
  8866. if (!t.forPrint && null !== t.clientWidth) {
  8867. if (e) {
  8868. var o = t.cells.map((function(e) {
  8869. return n.currentMap[e.key]
  8870. }));
  8871. if (o.length) {
  8872. var i = this.rootElRef.current;
  8873. this.setState({
  8874. framePositions: new So(i, o, !0, !1)
  8875. })
  8876. }
  8877. }
  8878. var a = this.state.eventInstanceHeights,
  8879. s = this.queryEventInstanceHeights(),
  8880. l = !0 === t.dayMaxEvents || !0 === t.dayMaxEventRows;
  8881. this.setState({
  8882. eventInstanceHeights: r(r({}, a), s),
  8883. maxContentHeight: l ? this.computeMaxContentHeight() : null
  8884. })
  8885. }
  8886. }, t.prototype.queryEventInstanceHeights = function() {
  8887. var e = this.segHarnessRefs.currentMap,
  8888. t = {};
  8889. for (var n in e) {
  8890. var r = Math.round(e[n].getBoundingClientRect().height),
  8891. o = n.split(":")[0];
  8892. t[o] = Math.max(t[o] || 0, r)
  8893. }
  8894. return t
  8895. }, t.prototype.computeMaxContentHeight = function() {
  8896. var e = this.props.cells[0].key,
  8897. t = this.cellElRefs.currentMap[e],
  8898. n = this.fgElRefs.currentMap[e];
  8899. return t.getBoundingClientRect().bottom - n.getBoundingClientRect().top
  8900. }, t.prototype.getCellEls = function() {
  8901. var e = this.cellElRefs.currentMap;
  8902. return this.props.cells.map((function(t) {
  8903. return e[t.key]
  8904. }))
  8905. }, t
  8906. }(Bo);
  8907. gl.addStateEquality({
  8908. eventInstanceHeights: wt
  8909. });
  8910. var ml = function(e) {
  8911. function t() {
  8912. var t = null !== e && e.apply(this, arguments) || this;
  8913. return t.splitBusinessHourSegs = qt(Qs), t.splitBgEventSegs = qt(Qs), t.splitFgEventSegs = qt(Qs), t.splitDateSelectionSegs = qt(Qs), t.splitEventDrag = qt(tl), t.splitEventResize = qt(tl), t.rowRefs = new Fa, t.handleRootEl = function(e) {
  8914. t.rootEl = e, e ? t.context.registerInteractiveComponent(t, {
  8915. el: e,
  8916. isHitComboAllowed: t.props.isHitComboAllowed
  8917. }) : t.context.unregisterInteractiveComponent(t)
  8918. }, t
  8919. }
  8920. return n(t, e), t.prototype.render = function() {
  8921. var e = this,
  8922. t = this.props,
  8923. n = t.dateProfile,
  8924. r = t.dayMaxEventRows,
  8925. o = t.dayMaxEvents,
  8926. i = t.expandRows,
  8927. a = t.cells.length,
  8928. s = this.splitBusinessHourSegs(t.businessHourSegs, a),
  8929. l = this.splitBgEventSegs(t.bgEventSegs, a),
  8930. u = this.splitFgEventSegs(t.fgEventSegs, a),
  8931. c = this.splitDateSelectionSegs(t.dateSelectionSegs, a),
  8932. d = this.splitEventDrag(t.eventDrag, a),
  8933. p = this.splitEventResize(t.eventResize, a),
  8934. f = !0 === o || !0 === r;
  8935. return f && !i && (f = !1, r = null, o = null), _o("div", {
  8936. className: ["fc-daygrid-body", f ? "fc-daygrid-body-balanced" : "fc-daygrid-body-unbalanced", i ? "" : "fc-daygrid-body-natural"].join(" "),
  8937. ref: this.handleRootEl,
  8938. style: {
  8939. width: t.clientWidth,
  8940. minWidth: t.tableMinWidth
  8941. }
  8942. }, _o(Ca, {
  8943. unit: "day"
  8944. }, (function(f, h) {
  8945. return _o(xo, null, _o("table", {
  8946. role: "presentation",
  8947. className: "fc-scrollgrid-sync-table",
  8948. style: {
  8949. width: t.clientWidth,
  8950. minWidth: t.tableMinWidth,
  8951. height: i ? t.clientHeight : ""
  8952. }
  8953. }, t.colGroupNode, _o("tbody", {
  8954. role: "presentation"
  8955. }, t.cells.map((function(i, f) {
  8956. return _o(gl, {
  8957. ref: e.rowRefs.createRef(f),
  8958. key: i.length ? i[0].date.toISOString() : f,
  8959. showDayNumbers: a > 1,
  8960. showWeekNumbers: t.showWeekNumbers,
  8961. todayRange: h,
  8962. dateProfile: n,
  8963. cells: i,
  8964. renderIntro: t.renderRowIntro,
  8965. businessHourSegs: s[f],
  8966. eventSelection: t.eventSelection,
  8967. bgEventSegs: l[f].filter(yl),
  8968. fgEventSegs: u[f],
  8969. dateSelectionSegs: c[f],
  8970. eventDrag: d[f],
  8971. eventResize: p[f],
  8972. dayMaxEvents: o,
  8973. dayMaxEventRows: r,
  8974. clientWidth: t.clientWidth,
  8975. clientHeight: t.clientHeight,
  8976. forPrint: t.forPrint
  8977. })
  8978. })))))
  8979. })))
  8980. }, t.prototype.prepareHits = function() {
  8981. this.rowPositions = new So(this.rootEl, this.rowRefs.collect().map((function(e) {
  8982. return e.getCellEls()[0]
  8983. })), !1, !0), this.colPositions = new So(this.rootEl, this.rowRefs.currentMap[0].getCellEls(), !0, !1)
  8984. }, t.prototype.queryHit = function(e, t) {
  8985. var n = this.colPositions,
  8986. o = this.rowPositions,
  8987. i = n.leftToIndex(e),
  8988. a = o.topToIndex(t);
  8989. if (null != a && null != i) {
  8990. var s = this.props.cells[a][i];
  8991. return {
  8992. dateProfile: this.props.dateProfile,
  8993. dateSpan: r({
  8994. range: this.getCellRange(a, i),
  8995. allDay: !0
  8996. }, s.extraDateSpan),
  8997. dayEl: this.getCellEl(a, i),
  8998. rect: {
  8999. left: n.lefts[i],
  9000. right: n.rights[i],
  9001. top: o.tops[a],
  9002. bottom: o.bottoms[a]
  9003. },
  9004. layer: 0
  9005. }
  9006. }
  9007. return null
  9008. }, t.prototype.getCellEl = function(e, t) {
  9009. return this.rowRefs.currentMap[e].getCellEls()[t]
  9010. }, t.prototype.getCellRange = function(e, t) {
  9011. var n = this.props.cells[e][t].date;
  9012. return {
  9013. start: n,
  9014. end: tt(n, 1)
  9015. }
  9016. }, t
  9017. }(Bo);
  9018. function yl(e) {
  9019. return e.eventRange.def.allDay
  9020. }
  9021. var El = function(e) {
  9022. function t() {
  9023. var t = null !== e && e.apply(this, arguments) || this;
  9024. return t.forceDayIfListItem = !0, t
  9025. }
  9026. return n(t, e), t.prototype.sliceRange = function(e, t) {
  9027. return t.sliceRange(e)
  9028. }, t
  9029. }(xa),
  9030. Sl = function(e) {
  9031. function t() {
  9032. var t = null !== e && e.apply(this, arguments) || this;
  9033. return t.slicer = new El, t.tableRef = ko(), t
  9034. }
  9035. return n(t, e), t.prototype.render = function() {
  9036. var e = this.props,
  9037. t = this.context;
  9038. return _o(ml, r({
  9039. ref: this.tableRef
  9040. }, this.slicer.sliceProps(e, e.dateProfile, e.nextDayThreshold, t, e.dayTableModel), {
  9041. dateProfile: e.dateProfile,
  9042. cells: e.dayTableModel.cells,
  9043. colGroupNode: e.colGroupNode,
  9044. tableMinWidth: e.tableMinWidth,
  9045. renderRowIntro: e.renderRowIntro,
  9046. dayMaxEvents: e.dayMaxEvents,
  9047. dayMaxEventRows: e.dayMaxEventRows,
  9048. showWeekNumbers: e.showWeekNumbers,
  9049. expandRows: e.expandRows,
  9050. headerAlignElRef: e.headerAlignElRef,
  9051. clientWidth: e.clientWidth,
  9052. clientHeight: e.clientHeight,
  9053. forPrint: e.forPrint
  9054. }))
  9055. }, t
  9056. }(Bo),
  9057. bl = function(e) {
  9058. function t() {
  9059. var t = null !== e && e.apply(this, arguments) || this;
  9060. return t.buildDayTableModel = qt(Dl), t.headerRef = ko(), t.tableRef = ko(), t
  9061. }
  9062. return n(t, e), t.prototype.render = function() {
  9063. var e = this,
  9064. t = this.context,
  9065. n = t.options,
  9066. r = t.dateProfileGenerator,
  9067. o = this.props,
  9068. i = this.buildDayTableModel(o.dateProfile, r),
  9069. a = n.dayHeaders && _o(Ra, {
  9070. ref: this.headerRef,
  9071. dateProfile: o.dateProfile,
  9072. dates: i.headerDates,
  9073. datesRepDistinctDays: 1 === i.rowCnt
  9074. }),
  9075. s = function(t) {
  9076. return _o(Sl, {
  9077. ref: e.tableRef,
  9078. dateProfile: o.dateProfile,
  9079. dayTableModel: i,
  9080. businessHours: o.businessHours,
  9081. dateSelection: o.dateSelection,
  9082. eventStore: o.eventStore,
  9083. eventUiBases: o.eventUiBases,
  9084. eventSelection: o.eventSelection,
  9085. eventDrag: o.eventDrag,
  9086. eventResize: o.eventResize,
  9087. nextDayThreshold: n.nextDayThreshold,
  9088. colGroupNode: t.tableColGroupNode,
  9089. tableMinWidth: t.tableMinWidth,
  9090. dayMaxEvents: n.dayMaxEvents,
  9091. dayMaxEventRows: n.dayMaxEventRows,
  9092. showWeekNumbers: n.weekNumbers,
  9093. expandRows: !o.isHeightAuto,
  9094. headerAlignElRef: e.headerElRef,
  9095. clientWidth: t.clientWidth,
  9096. clientHeight: t.clientHeight,
  9097. forPrint: o.forPrint
  9098. })
  9099. };
  9100. return n.dayMinWidth ? this.renderHScrollLayout(a, s, i.colCnt, n.dayMinWidth) : this.renderSimpleLayout(a, s)
  9101. }, t
  9102. }(Js);
  9103. function Dl(e, t) {
  9104. var n = new Ta(e.renderRange, t);
  9105. return new ka(n, /year|month|week/.test(e.currentRangeUnit))
  9106. }
  9107. var Cl = zo({
  9108. initialView: "dayGridMonth",
  9109. views: {
  9110. dayGrid: {
  9111. component: bl,
  9112. dateProfileGeneratorClass: function(e) {
  9113. function t() {
  9114. return null !== e && e.apply(this, arguments) || this
  9115. }
  9116. return n(t, e), t.prototype.buildRenderRange = function(t, n, r) {
  9117. var o, i = this.props.dateEnv,
  9118. a = e.prototype.buildRenderRange.call(this, t, n, r),
  9119. s = a.start,
  9120. l = a.end;
  9121. (/^(year|month)$/.test(n) && (s = i.startOfWeek(s), (o = i.startOfWeek(l)).valueOf() !== l.valueOf() && (l = et(o, 1))), this.props.monthMode && this.props.fixedWeekCount) && (l = et(l, 6 - Math.ceil(rt(s, l))));
  9122. return {
  9123. start: s,
  9124. end: l
  9125. }
  9126. }, t
  9127. }(ai)
  9128. },
  9129. dayGridDay: {
  9130. type: "dayGrid",
  9131. duration: {
  9132. days: 1
  9133. }
  9134. },
  9135. dayGridWeek: {
  9136. type: "dayGrid",
  9137. duration: {
  9138. weeks: 1
  9139. }
  9140. },
  9141. dayGridMonth: {
  9142. type: "dayGrid",
  9143. duration: {
  9144. months: 1
  9145. },
  9146. monthMode: !0,
  9147. fixedWeekCount: !0
  9148. }
  9149. }
  9150. }),
  9151. wl = function(e) {
  9152. function t() {
  9153. return null !== e && e.apply(this, arguments) || this
  9154. }
  9155. return n(t, e), t.prototype.getKeyInfo = function() {
  9156. return {
  9157. allDay: {},
  9158. timed: {}
  9159. }
  9160. }, t.prototype.getKeysForDateSpan = function(e) {
  9161. return e.allDay ? ["allDay"] : ["timed"]
  9162. }, t.prototype.getKeysForEventDef = function(e) {
  9163. return e.allDay ? Kn(e) ? ["timed", "allDay"] : ["allDay"] : ["timed"]
  9164. }, t
  9165. }(to),
  9166. Rl = ln({
  9167. hour: "numeric",
  9168. minute: "2-digit",
  9169. omitZeroMinute: !0,
  9170. meridiem: "short"
  9171. });
  9172. function _l(e) {
  9173. var t = ["fc-timegrid-slot", "fc-timegrid-slot-label", e.isLabeled ? "fc-scrollgrid-shrink" : "fc-timegrid-slot-minor"];
  9174. return _o(Oo.Consumer, null, (function(n) {
  9175. if (!e.isLabeled) return _o("td", {
  9176. className: t.join(" "),
  9177. "data-time": e.isoTimeStr
  9178. });
  9179. var r = n.dateEnv,
  9180. o = n.options,
  9181. i = n.viewApi,
  9182. a = null == o.slotLabelFormat ? Rl : Array.isArray(o.slotLabelFormat) ? ln(o.slotLabelFormat[0]) : ln(o.slotLabelFormat),
  9183. s = {
  9184. level: 0,
  9185. time: e.time,
  9186. date: r.toDate(e.date),
  9187. view: i,
  9188. text: r.format(e.date, a)
  9189. };
  9190. return _o(Yo, {
  9191. hookProps: s,
  9192. classNames: o.slotLabelClassNames,
  9193. content: o.slotLabelContent,
  9194. defaultContent: Tl,
  9195. didMount: o.slotLabelDidMount,
  9196. willUnmount: o.slotLabelWillUnmount
  9197. }, (function(n, r, o, i) {
  9198. return _o("td", {
  9199. ref: n,
  9200. className: t.concat(r).join(" "),
  9201. "data-time": e.isoTimeStr
  9202. }, _o("div", {
  9203. className: "fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame"
  9204. }, _o("div", {
  9205. className: "fc-timegrid-slot-label-cushion fc-scrollgrid-shrink-cushion",
  9206. ref: o
  9207. }, i)))
  9208. }))
  9209. }))
  9210. }
  9211. function Tl(e) {
  9212. return e.text
  9213. }
  9214. var kl = function(e) {
  9215. function t() {
  9216. return null !== e && e.apply(this, arguments) || this
  9217. }
  9218. return n(t, e), t.prototype.render = function() {
  9219. return this.props.slatMetas.map((function(e) {
  9220. return _o("tr", {
  9221. key: e.key
  9222. }, _o(_l, r({}, e)))
  9223. }))
  9224. }, t
  9225. }(Uo),
  9226. xl = ln({
  9227. week: "short"
  9228. }),
  9229. Ml = function(e) {
  9230. function t() {
  9231. var t = null !== e && e.apply(this, arguments) || this;
  9232. return t.allDaySplitter = new wl, t.headerElRef = ko(), t.rootElRef = ko(), t.scrollerElRef = ko(), t.state = {
  9233. slatCoords: null
  9234. }, t.handleScrollTopRequest = function(e) {
  9235. var n = t.scrollerElRef.current;
  9236. n && (n.scrollTop = e)
  9237. }, t.renderHeadAxis = function(e, n) {
  9238. void 0 === n && (n = "");
  9239. var o = t.context.options,
  9240. i = t.props.dateProfile.renderRange,
  9241. a = 1 === ot(i.start, i.end) ? so(t.context, i.start, "week") : {};
  9242. return o.weekNumbers && "day" === e ? _o(fs, {
  9243. date: i.start,
  9244. defaultFormat: xl
  9245. }, (function(e, t, o, i) {
  9246. return _o("th", {
  9247. ref: e,
  9248. "aria-hidden": !0,
  9249. className: ["fc-timegrid-axis", "fc-scrollgrid-shrink"].concat(t).join(" ")
  9250. }, _o("div", {
  9251. className: "fc-timegrid-axis-frame fc-scrollgrid-shrink-frame fc-timegrid-axis-frame-liquid",
  9252. style: {
  9253. height: n
  9254. }
  9255. }, _o("a", r({
  9256. ref: o,
  9257. className: "fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner"
  9258. }, a), i)))
  9259. })) : _o("th", {
  9260. "aria-hidden": !0,
  9261. className: "fc-timegrid-axis"
  9262. }, _o("div", {
  9263. className: "fc-timegrid-axis-frame",
  9264. style: {
  9265. height: n
  9266. }
  9267. }))
  9268. }, t.renderTableRowAxis = function(e) {
  9269. var n = t.context,
  9270. r = n.options,
  9271. o = n.viewApi,
  9272. i = {
  9273. text: r.allDayText,
  9274. view: o
  9275. };
  9276. return _o(Yo, {
  9277. hookProps: i,
  9278. classNames: r.allDayClassNames,
  9279. content: r.allDayContent,
  9280. defaultContent: Il,
  9281. didMount: r.allDayDidMount,
  9282. willUnmount: r.allDayWillUnmount
  9283. }, (function(t, n, r, o) {
  9284. return _o("td", {
  9285. ref: t,
  9286. "aria-hidden": !0,
  9287. className: ["fc-timegrid-axis", "fc-scrollgrid-shrink"].concat(n).join(" ")
  9288. }, _o("div", {
  9289. className: "fc-timegrid-axis-frame fc-scrollgrid-shrink-frame" + (null == e ? " fc-timegrid-axis-frame-liquid" : ""),
  9290. style: {
  9291. height: e
  9292. }
  9293. }, _o("span", {
  9294. className: "fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner",
  9295. ref: r
  9296. }, o)))
  9297. }))
  9298. }, t.handleSlatCoords = function(e) {
  9299. t.setState({
  9300. slatCoords: e
  9301. })
  9302. }, t
  9303. }
  9304. return n(t, e), t.prototype.renderSimpleLayout = function(e, t, n) {
  9305. var r = this.context,
  9306. o = this.props,
  9307. i = [],
  9308. a = Qa(r.options);
  9309. return e && i.push({
  9310. type: "header",
  9311. key: "header",
  9312. isSticky: a,
  9313. chunk: {
  9314. elRef: this.headerElRef,
  9315. tableClassName: "fc-col-header",
  9316. rowContent: e
  9317. }
  9318. }), t && (i.push({
  9319. type: "body",
  9320. key: "all-day",
  9321. chunk: {
  9322. content: t
  9323. }
  9324. }), i.push({
  9325. type: "body",
  9326. key: "all-day-divider",
  9327. outerContent: _o("tr", {
  9328. role: "presentation",
  9329. className: "fc-scrollgrid-section"
  9330. }, _o("td", {
  9331. className: "fc-timegrid-divider " + r.theme.getClass("tableCellShaded")
  9332. }))
  9333. })), i.push({
  9334. type: "body",
  9335. key: "body",
  9336. liquid: !0,
  9337. expandRows: Boolean(r.options.expandRows),
  9338. chunk: {
  9339. scrollerElRef: this.scrollerElRef,
  9340. content: n
  9341. }
  9342. }), _o(ti, {
  9343. viewSpec: r.viewSpec,
  9344. elRef: this.rootElRef
  9345. }, (function(e, t) {
  9346. return _o("div", {
  9347. className: ["fc-timegrid"].concat(t).join(" "),
  9348. ref: e
  9349. }, _o(ts, {
  9350. liquid: !o.isHeightAuto && !o.forPrint,
  9351. collapsibleWidth: o.forPrint,
  9352. cols: [{
  9353. width: "shrink"
  9354. }],
  9355. sections: i
  9356. }))
  9357. }))
  9358. }, t.prototype.renderHScrollLayout = function(e, t, n, r, o, i, a) {
  9359. var s = this,
  9360. l = this.context.pluginHooks.scrollGridImpl;
  9361. if (!l) throw new Error("No ScrollGrid implementation");
  9362. var u = this.context,
  9363. c = this.props,
  9364. d = !c.forPrint && Qa(u.options),
  9365. p = !c.forPrint && es(u.options),
  9366. f = [];
  9367. e && f.push({
  9368. type: "header",
  9369. key: "header",
  9370. isSticky: d,
  9371. syncRowHeights: !0,
  9372. chunks: [{
  9373. key: "axis",
  9374. rowContent: function(e) {
  9375. return _o("tr", {
  9376. role: "presentation"
  9377. }, s.renderHeadAxis("day", e.rowSyncHeights[0]))
  9378. }
  9379. }, {
  9380. key: "cols",
  9381. elRef: this.headerElRef,
  9382. tableClassName: "fc-col-header",
  9383. rowContent: e
  9384. }]
  9385. }), t && (f.push({
  9386. type: "body",
  9387. key: "all-day",
  9388. syncRowHeights: !0,
  9389. chunks: [{
  9390. key: "axis",
  9391. rowContent: function(e) {
  9392. return _o("tr", {
  9393. role: "presentation"
  9394. }, s.renderTableRowAxis(e.rowSyncHeights[0]))
  9395. }
  9396. }, {
  9397. key: "cols",
  9398. content: t
  9399. }]
  9400. }), f.push({
  9401. key: "all-day-divider",
  9402. type: "body",
  9403. outerContent: _o("tr", {
  9404. role: "presentation",
  9405. className: "fc-scrollgrid-section"
  9406. }, _o("td", {
  9407. colSpan: 2,
  9408. className: "fc-timegrid-divider " + u.theme.getClass("tableCellShaded")
  9409. }))
  9410. }));
  9411. var h = u.options.nowIndicator;
  9412. return f.push({
  9413. type: "body",
  9414. key: "body",
  9415. liquid: !0,
  9416. expandRows: Boolean(u.options.expandRows),
  9417. chunks: [{
  9418. key: "axis",
  9419. content: function(e) {
  9420. return _o("div", {
  9421. className: "fc-timegrid-axis-chunk"
  9422. }, _o("table", {
  9423. "aria-hidden": !0,
  9424. style: {
  9425. height: e.expandRows ? e.clientHeight : ""
  9426. }
  9427. }, e.tableColGroupNode, _o("tbody", null, _o(kl, {
  9428. slatMetas: i
  9429. }))), _o("div", {
  9430. className: "fc-timegrid-now-indicator-container"
  9431. }, _o(Ca, {
  9432. unit: h ? "minute" : "day"
  9433. }, (function(e) {
  9434. var t = h && a && a.safeComputeTop(e);
  9435. return "number" == typeof t ? _o(is, {
  9436. isAxis: !0,
  9437. date: e
  9438. }, (function(e, n, r, o) {
  9439. return _o("div", {
  9440. ref: e,
  9441. className: ["fc-timegrid-now-indicator-arrow"].concat(n).join(" "),
  9442. style: {
  9443. top: t
  9444. }
  9445. }, o)
  9446. })) : null
  9447. }))))
  9448. }
  9449. }, {
  9450. key: "cols",
  9451. scrollerElRef: this.scrollerElRef,
  9452. content: n
  9453. }]
  9454. }), p && f.push({
  9455. key: "footer",
  9456. type: "footer",
  9457. isSticky: !0,
  9458. chunks: [{
  9459. key: "axis",
  9460. content: Ja
  9461. }, {
  9462. key: "cols",
  9463. content: Ja
  9464. }]
  9465. }), _o(ti, {
  9466. viewSpec: u.viewSpec,
  9467. elRef: this.rootElRef
  9468. }, (function(e, t) {
  9469. return _o("div", {
  9470. className: ["fc-timegrid"].concat(t).join(" "),
  9471. ref: e
  9472. }, _o(l, {
  9473. liquid: !c.isHeightAuto && !c.forPrint,
  9474. collapsibleWidth: !1,
  9475. colGroups: [{
  9476. width: "shrink",
  9477. cols: [{
  9478. width: "shrink"
  9479. }]
  9480. }, {
  9481. cols: [{
  9482. span: r,
  9483. minWidth: o
  9484. }]
  9485. }],
  9486. sections: f
  9487. }))
  9488. }))
  9489. }, t.prototype.getAllDayMaxEventProps = function() {
  9490. var e = this.context.options,
  9491. t = e.dayMaxEvents,
  9492. n = e.dayMaxEventRows;
  9493. return !0 !== t && !0 !== n || (t = void 0, n = 5), {
  9494. dayMaxEvents: t,
  9495. dayMaxEventRows: n
  9496. }
  9497. }, t
  9498. }(Bo);
  9499. function Il(e) {
  9500. return e.text
  9501. }
  9502. var Pl = function() {
  9503. function e(e, t, n) {
  9504. this.positions = e, this.dateProfile = t, this.slotDuration = n
  9505. }
  9506. return e.prototype.safeComputeTop = function(e) {
  9507. var t = this.dateProfile;
  9508. if (Zn(t.currentRange, e)) {
  9509. var n = lt(e),
  9510. r = e.valueOf() - n.valueOf();
  9511. if (r >= Ut(t.slotMinTime) && r < Ut(t.slotMaxTime)) return this.computeTimeTop(Nt(r))
  9512. }
  9513. return null
  9514. }, e.prototype.computeDateTop = function(e, t) {
  9515. return t || (t = lt(e)), this.computeTimeTop(Nt(e.valueOf() - t.valueOf()))
  9516. }, e.prototype.computeTimeTop = function(e) {
  9517. var t, n, r = this.positions,
  9518. o = this.dateProfile,
  9519. i = r.els.length,
  9520. a = (e.milliseconds - Ut(o.slotMinTime)) / Ut(this.slotDuration);
  9521. return a = Math.max(0, a), a = Math.min(i, a), t = Math.floor(a), n = a - (t = Math.min(t, i - 1)), r.tops[t] + r.getHeight(t) * n
  9522. }, e
  9523. }(),
  9524. Nl = function(e) {
  9525. function t() {
  9526. return null !== e && e.apply(this, arguments) || this
  9527. }
  9528. return n(t, e), t.prototype.render = function() {
  9529. var e = this.props,
  9530. t = this.context,
  9531. n = t.options,
  9532. o = e.slatElRefs;
  9533. return _o("tbody", null, e.slatMetas.map((function(i, a) {
  9534. var s = {
  9535. time: i.time,
  9536. date: t.dateEnv.toDate(i.date),
  9537. view: t.viewApi
  9538. },
  9539. l = ["fc-timegrid-slot", "fc-timegrid-slot-lane", i.isLabeled ? "" : "fc-timegrid-slot-minor"];
  9540. return _o("tr", {
  9541. key: i.key,
  9542. ref: o.createRef(i.key)
  9543. }, e.axis && _o(_l, r({}, i)), _o(Yo, {
  9544. hookProps: s,
  9545. classNames: n.slotLaneClassNames,
  9546. content: n.slotLaneContent,
  9547. didMount: n.slotLaneDidMount,
  9548. willUnmount: n.slotLaneWillUnmount
  9549. }, (function(e, t, n, r) {
  9550. return _o("td", {
  9551. ref: e,
  9552. className: l.concat(t).join(" "),
  9553. "data-time": i.isoTimeStr
  9554. }, r)
  9555. })))
  9556. })))
  9557. }, t
  9558. }(Uo),
  9559. Hl = function(e) {
  9560. function t() {
  9561. var t = null !== e && e.apply(this, arguments) || this;
  9562. return t.rootElRef = ko(), t.slatElRefs = new Fa, t
  9563. }
  9564. return n(t, e), t.prototype.render = function() {
  9565. var e = this.props,
  9566. t = this.context;
  9567. return _o("div", {
  9568. ref: this.rootElRef,
  9569. className: "fc-timegrid-slots"
  9570. }, _o("table", {
  9571. "aria-hidden": !0,
  9572. className: t.theme.getClass("table"),
  9573. style: {
  9574. minWidth: e.tableMinWidth,
  9575. width: e.clientWidth,
  9576. height: e.minHeight
  9577. }
  9578. }, e.tableColGroupNode, _o(Nl, {
  9579. slatElRefs: this.slatElRefs,
  9580. axis: e.axis,
  9581. slatMetas: e.slatMetas
  9582. })))
  9583. }, t.prototype.componentDidMount = function() {
  9584. this.updateSizing()
  9585. }, t.prototype.componentDidUpdate = function() {
  9586. this.updateSizing()
  9587. }, t.prototype.componentWillUnmount = function() {
  9588. this.props.onCoords && this.props.onCoords(null)
  9589. }, t.prototype.updateSizing = function() {
  9590. var e, t = this.context,
  9591. n = this.props;
  9592. n.onCoords && null !== n.clientWidth && (this.rootElRef.current.offsetHeight && n.onCoords(new Pl(new So(this.rootElRef.current, (e = this.slatElRefs.currentMap, n.slatMetas.map((function(t) {
  9593. return e[t.key]
  9594. }))), !1, !0), this.props.dateProfile, t.options.slotDuration)))
  9595. }, t
  9596. }(Uo);
  9597. function Ol(e, t) {
  9598. var n, r = [];
  9599. for (n = 0; n < t; n += 1) r.push([]);
  9600. if (e)
  9601. for (n = 0; n < e.length; n += 1) r[e[n].col].push(e[n]);
  9602. return r
  9603. }
  9604. function Al(e, t) {
  9605. var n = [];
  9606. if (e) {
  9607. for (a = 0; a < t; a += 1) n[a] = {
  9608. affectedInstances: e.affectedInstances,
  9609. isEvent: e.isEvent,
  9610. segs: []
  9611. };
  9612. for (var r = 0, o = e.segs; r < o.length; r++) {
  9613. var i = o[r];
  9614. n[i.col].segs.push(i)
  9615. }
  9616. } else
  9617. for (var a = 0; a < t; a += 1) n[a] = null;
  9618. return n
  9619. }
  9620. var Ll = function(e) {
  9621. function t() {
  9622. var t = null !== e && e.apply(this, arguments) || this;
  9623. return t.rootElRef = ko(), t
  9624. }
  9625. return n(t, e), t.prototype.render = function() {
  9626. var e = this,
  9627. t = this.props;
  9628. return _o(ms, {
  9629. allDayDate: null,
  9630. moreCnt: t.hiddenSegs.length,
  9631. allSegs: t.hiddenSegs,
  9632. hiddenSegs: t.hiddenSegs,
  9633. alignmentElRef: this.rootElRef,
  9634. defaultContent: Ul,
  9635. extraDateSpan: t.extraDateSpan,
  9636. dateProfile: t.dateProfile,
  9637. todayRange: t.todayRange,
  9638. popoverContent: function() {
  9639. return Xl(t.hiddenSegs, t)
  9640. }
  9641. }, (function(n, r, o, i, a, s, l, u) {
  9642. return _o("a", {
  9643. ref: function(t) {
  9644. Fo(n, t), Fo(e.rootElRef, t)
  9645. },
  9646. className: ["fc-timegrid-more-link"].concat(r).join(" "),
  9647. style: {
  9648. top: t.top,
  9649. bottom: t.bottom
  9650. },
  9651. onClick: a,
  9652. title: s,
  9653. "aria-expanded": l,
  9654. "aria-controls": u
  9655. }, _o("div", {
  9656. ref: o,
  9657. className: "fc-timegrid-more-link-inner fc-sticky"
  9658. }, i))
  9659. }))
  9660. }, t
  9661. }(Uo);
  9662. function Ul(e) {
  9663. return e.shortText
  9664. }
  9665. function Wl(e, t, n) {
  9666. var o = new qi;
  9667. null != t && (o.strictOrder = t), null != n && (o.maxStackCnt = n);
  9668. var i, a, s, l = Xi(o.addSegs(e)),
  9669. u = function(e) {
  9670. var t = e.entriesByLevel,
  9671. n = zl((function(e, t) {
  9672. return e + ":" + t
  9673. }), (function(o, i) {
  9674. var a = Vl(function(e, t, n) {
  9675. for (var r = e.levelCoords, o = e.entriesByLevel, i = o[t][n], a = r[t] + i.thickness, s = r.length, l = t; l < s && r[l] < a; l += 1);
  9676. for (; l < s; l += 1) {
  9677. for (var u = o[l], c = void 0, d = Qi(u, i.span.start, Yi), p = d[0] + d[1], f = p;
  9678. (c = u[f]) && c.span.start < i.span.end;) f += 1;
  9679. if (p < f) return {
  9680. level: l,
  9681. lateralStart: p,
  9682. lateralEnd: f
  9683. }
  9684. }
  9685. return null
  9686. }(e, o, i), n),
  9687. s = t[o][i];
  9688. return [r(r({}, s), {
  9689. nextLevelNodes: a[0]
  9690. }), s.thickness + a[1]]
  9691. }));
  9692. return Vl(t.length ? {
  9693. level: 0,
  9694. lateralStart: 0,
  9695. lateralEnd: t[0].length
  9696. } : null, n)[0]
  9697. }(o);
  9698. return i = u, a = 1, s = zl((function(e, t, n) {
  9699. return Zi(e)
  9700. }), (function(e, t, n) {
  9701. var o, i = e.nextLevelNodes,
  9702. l = e.thickness,
  9703. u = l + n,
  9704. c = l / u,
  9705. d = [];
  9706. if (i.length)
  9707. for (var p = 0, f = i; p < f.length; p++) {
  9708. var h = f[p];
  9709. if (void 0 === o) o = (v = s(h, t, u))[0], d.push(v[1]);
  9710. else {
  9711. var v = s(h, o, 0);
  9712. d.push(v[1])
  9713. }
  9714. } else o = a;
  9715. var g = (o - t) * c;
  9716. return [o - g, r(r({}, e), {
  9717. thickness: g,
  9718. nextLevelNodes: d
  9719. })]
  9720. })), {
  9721. segRects: function(e) {
  9722. var t = [],
  9723. n = zl((function(e, t, n) {
  9724. return Zi(e)
  9725. }), (function(e, n, i) {
  9726. var a = r(r({}, e), {
  9727. levelCoord: n,
  9728. stackDepth: i,
  9729. stackForward: 0
  9730. });
  9731. return t.push(a), a.stackForward = o(e.nextLevelNodes, n + e.thickness, i + 1) + 1
  9732. }));
  9733. function o(e, t, r) {
  9734. for (var o = 0, i = 0, a = e; i < a.length; i++) {
  9735. var s = a[i];
  9736. o = Math.max(n(s, t, r), o)
  9737. }
  9738. return o
  9739. }
  9740. return o(e, 0, 0), t
  9741. }(u = i.map((function(e) {
  9742. return s(e, 0, 0)[1]
  9743. }))),
  9744. hiddenGroups: l
  9745. }
  9746. }
  9747. function Vl(e, t) {
  9748. if (!e) return [
  9749. [], 0
  9750. ];
  9751. for (var n = e.level, r = e.lateralStart, o = e.lateralEnd, i = r, a = []; i < o;) a.push(t(n, i)), i += 1;
  9752. return a.sort(Fl), [a.map(Bl), a[0][1]]
  9753. }
  9754. function Fl(e, t) {
  9755. return t[1] - e[1]
  9756. }
  9757. function Bl(e) {
  9758. return e[0]
  9759. }
  9760. function zl(e, t) {
  9761. var n = {};
  9762. return function() {
  9763. for (var r = [], o = 0; o < arguments.length; o++) r[o] = arguments[o];
  9764. var i = e.apply(void 0, r);
  9765. return i in n ? n[i] : n[i] = t.apply(void 0, r)
  9766. }
  9767. }
  9768. function jl(e, t, n, r) {
  9769. void 0 === n && (n = null), void 0 === r && (r = 0);
  9770. var o = [];
  9771. if (n)
  9772. for (var i = 0; i < e.length; i += 1) {
  9773. var a = e[i],
  9774. s = n.computeDateTop(a.start, t),
  9775. l = Math.max(s + (r || 0), n.computeDateTop(a.end, t));
  9776. o.push({
  9777. start: Math.round(s),
  9778. end: Math.round(l)
  9779. })
  9780. }
  9781. return o
  9782. }
  9783. var Gl = ln({
  9784. hour: "numeric",
  9785. minute: "2-digit",
  9786. meridiem: !1
  9787. }),
  9788. ql = function(e) {
  9789. function t() {
  9790. return null !== e && e.apply(this, arguments) || this
  9791. }
  9792. return n(t, e), t.prototype.render = function() {
  9793. var e = ["fc-timegrid-event", "fc-v-event"];
  9794. return this.props.isShort && e.push("fc-timegrid-event-short"), _o(rs, r({}, this.props, {
  9795. defaultTimeFormat: Gl,
  9796. extraClassNames: e
  9797. }))
  9798. }, t
  9799. }(Uo),
  9800. Yl = function(e) {
  9801. function t() {
  9802. return null !== e && e.apply(this, arguments) || this
  9803. }
  9804. return n(t, e), t.prototype.render = function() {
  9805. var e = this.props;
  9806. return _o(ss, {
  9807. date: e.date,
  9808. dateProfile: e.dateProfile,
  9809. todayRange: e.todayRange,
  9810. extraHookProps: e.extraHookProps
  9811. }, (function(e, t) {
  9812. return t && _o("div", {
  9813. className: "fc-timegrid-col-misc",
  9814. ref: e
  9815. }, t)
  9816. }))
  9817. }, t
  9818. }(Uo),
  9819. Zl = function(e) {
  9820. function t() {
  9821. var t = null !== e && e.apply(this, arguments) || this;
  9822. return t.sortEventSegs = qt(tr), t
  9823. }
  9824. return n(t, e), t.prototype.render = function() {
  9825. var e = this,
  9826. t = this.props,
  9827. n = this.context,
  9828. o = n.options.selectMirror,
  9829. i = t.eventDrag && t.eventDrag.segs || t.eventResize && t.eventResize.segs || o && t.dateSelectionSegs || [],
  9830. a = t.eventDrag && t.eventDrag.affectedInstances || t.eventResize && t.eventResize.affectedInstances || {},
  9831. s = this.sortEventSegs(t.fgEventSegs, n.options.eventOrder);
  9832. return _o(us, {
  9833. elRef: t.elRef,
  9834. date: t.date,
  9835. dateProfile: t.dateProfile,
  9836. todayRange: t.todayRange,
  9837. extraHookProps: t.extraHookProps
  9838. }, (function(n, l, u) {
  9839. return _o("td", r({
  9840. ref: n,
  9841. role: "gridcell",
  9842. className: ["fc-timegrid-col"].concat(l, t.extraClassNames || []).join(" ")
  9843. }, u, t.extraDataAttrs), _o("div", {
  9844. className: "fc-timegrid-col-frame"
  9845. }, _o("div", {
  9846. className: "fc-timegrid-col-bg"
  9847. }, e.renderFillSegs(t.businessHourSegs, "non-business"), e.renderFillSegs(t.bgEventSegs, "bg-event"), e.renderFillSegs(t.dateSelectionSegs, "highlight")), _o("div", {
  9848. className: "fc-timegrid-col-events"
  9849. }, e.renderFgSegs(s, a, !1, !1, !1)), _o("div", {
  9850. className: "fc-timegrid-col-events"
  9851. }, e.renderFgSegs(i, {}, Boolean(t.eventDrag), Boolean(t.eventResize), Boolean(o))), _o("div", {
  9852. className: "fc-timegrid-now-indicator-container"
  9853. }, e.renderNowIndicator(t.nowIndicatorSegs)), _o(Yl, {
  9854. date: t.date,
  9855. dateProfile: t.dateProfile,
  9856. todayRange: t.todayRange,
  9857. extraHookProps: t.extraHookProps
  9858. })))
  9859. }))
  9860. }, t.prototype.renderFgSegs = function(e, t, n, r, o) {
  9861. var i = this.props;
  9862. return i.forPrint ? Xl(e, i) : this.renderPositionedFgSegs(e, t, n, r, o)
  9863. }, t.prototype.renderPositionedFgSegs = function(e, t, n, o, i) {
  9864. var a = this,
  9865. s = this.context.options,
  9866. l = s.eventMaxStack,
  9867. u = s.eventShortHeight,
  9868. c = s.eventOrderStrict,
  9869. d = s.eventMinHeight,
  9870. p = this.props,
  9871. f = p.date,
  9872. h = p.slatCoords,
  9873. v = p.eventSelection,
  9874. g = p.todayRange,
  9875. m = p.nowDate,
  9876. y = n || o || i,
  9877. E = function(e, t, n, r) {
  9878. for (var o = [], i = [], a = 0; a < e.length; a += 1) {
  9879. var s = t[a];
  9880. s ? o.push({
  9881. index: a,
  9882. thickness: 1,
  9883. span: s
  9884. }) : i.push(e[a])
  9885. }
  9886. for (var l = Wl(o, n, r), u = l.segRects, c = l.hiddenGroups, d = [], p = 0, f = u; p < f.length; p++) {
  9887. var h = f[p];
  9888. d.push({
  9889. seg: e[h.index],
  9890. rect: h
  9891. })
  9892. }
  9893. for (var v = 0, g = i; v < g.length; v++) {
  9894. var m = g[v];
  9895. d.push({
  9896. seg: m,
  9897. rect: null
  9898. })
  9899. }
  9900. return {
  9901. segPlacements: d,
  9902. hiddenGroups: c
  9903. }
  9904. }(e, jl(e, f, h, d), c, l),
  9905. S = E.segPlacements,
  9906. b = E.hiddenGroups;
  9907. return _o(xo, null, this.renderHiddenGroups(b, e), S.map((function(e) {
  9908. var s = e.seg,
  9909. l = e.rect,
  9910. c = s.eventRange.instance.instanceId,
  9911. d = y || Boolean(!t[c] && l),
  9912. p = Kl(l && l.span),
  9913. f = !y && l ? a.computeSegHStyle(l) : {
  9914. left: 0,
  9915. right: 0
  9916. },
  9917. h = Boolean(l) && l.stackForward > 0,
  9918. E = Boolean(l) && l.span.end - l.span.start < u;
  9919. return _o("div", {
  9920. className: "fc-timegrid-event-harness" + (h ? " fc-timegrid-event-harness-inset" : ""),
  9921. key: c,
  9922. style: r(r({
  9923. visibility: d ? "" : "hidden"
  9924. }, p), f)
  9925. }, _o(ql, r({
  9926. seg: s,
  9927. isDragging: n,
  9928. isResizing: o,
  9929. isDateSelecting: i,
  9930. isSelected: c === v,
  9931. isShort: E
  9932. }, sr(s, g, m))))
  9933. })))
  9934. }, t.prototype.renderHiddenGroups = function(e, t) {
  9935. var n = this.props,
  9936. r = n.extraDateSpan,
  9937. o = n.dateProfile,
  9938. i = n.todayRange,
  9939. a = n.nowDate,
  9940. s = n.eventSelection,
  9941. l = n.eventDrag,
  9942. u = n.eventResize;
  9943. return _o(xo, null, e.map((function(e) {
  9944. var n, c, d = Kl(e.span),
  9945. p = (n = e.entries, c = t, n.map((function(e) {
  9946. return c[e.index]
  9947. })));
  9948. return _o(Ll, {
  9949. key: Ft(Ss(p)),
  9950. hiddenSegs: p,
  9951. top: d.top,
  9952. bottom: d.bottom,
  9953. extraDateSpan: r,
  9954. dateProfile: o,
  9955. todayRange: i,
  9956. nowDate: a,
  9957. eventSelection: s,
  9958. eventDrag: l,
  9959. eventResize: u
  9960. })
  9961. })))
  9962. }, t.prototype.renderFillSegs = function(e, t) {
  9963. var n = this.props,
  9964. o = this.context,
  9965. i = jl(e, n.date, n.slatCoords, o.options.eventMinHeight).map((function(o, i) {
  9966. var a = e[i];
  9967. return _o("div", {
  9968. key: ur(a.eventRange),
  9969. className: "fc-timegrid-bg-harness",
  9970. style: Kl(o)
  9971. }, "bg-event" === t ? _o(ds, r({
  9972. seg: a
  9973. }, sr(a, n.todayRange, n.nowDate))) : cs(t))
  9974. }));
  9975. return _o(xo, null, i)
  9976. }, t.prototype.renderNowIndicator = function(e) {
  9977. var t = this.props,
  9978. n = t.slatCoords,
  9979. r = t.date;
  9980. return n ? e.map((function(e, t) {
  9981. return _o(is, {
  9982. isAxis: !1,
  9983. date: r,
  9984. key: t
  9985. }, (function(t, o, i, a) {
  9986. return _o("div", {
  9987. ref: t,
  9988. className: ["fc-timegrid-now-indicator-line"].concat(o).join(" "),
  9989. style: {
  9990. top: n.computeDateTop(e.start, r)
  9991. }
  9992. }, a)
  9993. }))
  9994. })) : null
  9995. }, t.prototype.computeSegHStyle = function(e) {
  9996. var t, n, r = this.context,
  9997. o = r.isRtl,
  9998. i = r.options.slotEventOverlap,
  9999. a = e.levelCoord,
  10000. s = e.levelCoord + e.thickness;
  10001. i && (s = Math.min(1, a + 2 * (s - a))), o ? (t = 1 - s, n = a) : (t = a, n = 1 - s);
  10002. var l = {
  10003. zIndex: e.stackDepth + 1,
  10004. left: 100 * t + "%",
  10005. right: 100 * n + "%"
  10006. };
  10007. return i && !e.stackForward && (l[o ? "marginLeft" : "marginRight"] = 20), l
  10008. }, t
  10009. }(Uo);
  10010. function Xl(e, t) {
  10011. var n = t.todayRange,
  10012. o = t.nowDate,
  10013. i = t.eventSelection,
  10014. a = t.eventDrag,
  10015. s = t.eventResize,
  10016. l = (a ? a.affectedInstances : null) || (s ? s.affectedInstances : null) || {};
  10017. return _o(xo, null, e.map((function(e) {
  10018. var t = e.eventRange.instance.instanceId;
  10019. return _o("div", {
  10020. key: t,
  10021. style: {
  10022. visibility: l[t] ? "hidden" : ""
  10023. }
  10024. }, _o(ql, r({
  10025. seg: e,
  10026. isDragging: !1,
  10027. isResizing: !1,
  10028. isDateSelecting: !1,
  10029. isSelected: t === i,
  10030. isShort: !1
  10031. }, sr(e, n, o))))
  10032. })))
  10033. }
  10034. function Kl(e) {
  10035. return e ? {
  10036. top: e.start,
  10037. bottom: -e.end
  10038. } : {
  10039. top: "",
  10040. bottom: ""
  10041. }
  10042. }
  10043. var $l = function(e) {
  10044. function t() {
  10045. var t = null !== e && e.apply(this, arguments) || this;
  10046. return t.splitFgEventSegs = qt(Ol), t.splitBgEventSegs = qt(Ol), t.splitBusinessHourSegs = qt(Ol), t.splitNowIndicatorSegs = qt(Ol), t.splitDateSelectionSegs = qt(Ol), t.splitEventDrag = qt(Al), t.splitEventResize = qt(Al), t.rootElRef = ko(), t.cellElRefs = new Fa, t
  10047. }
  10048. return n(t, e), t.prototype.render = function() {
  10049. var e = this,
  10050. t = this.props,
  10051. n = this.context.options.nowIndicator && t.slatCoords && t.slatCoords.safeComputeTop(t.nowDate),
  10052. r = t.cells.length,
  10053. o = this.splitFgEventSegs(t.fgEventSegs, r),
  10054. i = this.splitBgEventSegs(t.bgEventSegs, r),
  10055. a = this.splitBusinessHourSegs(t.businessHourSegs, r),
  10056. s = this.splitNowIndicatorSegs(t.nowIndicatorSegs, r),
  10057. l = this.splitDateSelectionSegs(t.dateSelectionSegs, r),
  10058. u = this.splitEventDrag(t.eventDrag, r),
  10059. c = this.splitEventResize(t.eventResize, r);
  10060. return _o("div", {
  10061. className: "fc-timegrid-cols",
  10062. ref: this.rootElRef
  10063. }, _o("table", {
  10064. role: "presentation",
  10065. style: {
  10066. minWidth: t.tableMinWidth,
  10067. width: t.clientWidth
  10068. }
  10069. }, t.tableColGroupNode, _o("tbody", {
  10070. role: "presentation"
  10071. }, _o("tr", {
  10072. role: "row"
  10073. }, t.axis && _o("td", {
  10074. "aria-hidden": !0,
  10075. className: "fc-timegrid-col fc-timegrid-axis"
  10076. }, _o("div", {
  10077. className: "fc-timegrid-col-frame"
  10078. }, _o("div", {
  10079. className: "fc-timegrid-now-indicator-container"
  10080. }, "number" == typeof n && _o(is, {
  10081. isAxis: !0,
  10082. date: t.nowDate
  10083. }, (function(e, t, r, o) {
  10084. return _o("div", {
  10085. ref: e,
  10086. className: ["fc-timegrid-now-indicator-arrow"].concat(t).join(" "),
  10087. style: {
  10088. top: n
  10089. }
  10090. }, o)
  10091. }))))), t.cells.map((function(n, r) {
  10092. return _o(Zl, {
  10093. key: n.key,
  10094. elRef: e.cellElRefs.createRef(n.key),
  10095. dateProfile: t.dateProfile,
  10096. date: n.date,
  10097. nowDate: t.nowDate,
  10098. todayRange: t.todayRange,
  10099. extraHookProps: n.extraHookProps,
  10100. extraDataAttrs: n.extraDataAttrs,
  10101. extraClassNames: n.extraClassNames,
  10102. extraDateSpan: n.extraDateSpan,
  10103. fgEventSegs: o[r],
  10104. bgEventSegs: i[r],
  10105. businessHourSegs: a[r],
  10106. nowIndicatorSegs: s[r],
  10107. dateSelectionSegs: l[r],
  10108. eventDrag: u[r],
  10109. eventResize: c[r],
  10110. slatCoords: t.slatCoords,
  10111. eventSelection: t.eventSelection,
  10112. forPrint: t.forPrint
  10113. })
  10114. }))))))
  10115. }, t.prototype.componentDidMount = function() {
  10116. this.updateCoords()
  10117. }, t.prototype.componentDidUpdate = function() {
  10118. this.updateCoords()
  10119. }, t.prototype.updateCoords = function() {
  10120. var e, t = this.props;
  10121. t.onColCoords && null !== t.clientWidth && t.onColCoords(new So(this.rootElRef.current, (e = this.cellElRefs.currentMap, t.cells.map((function(t) {
  10122. return e[t.key]
  10123. }))), !0, !1))
  10124. }, t
  10125. }(Uo);
  10126. var Jl = function(e) {
  10127. function t() {
  10128. var t = null !== e && e.apply(this, arguments) || this;
  10129. return t.processSlotOptions = qt(Ql), t.state = {
  10130. slatCoords: null
  10131. }, t.handleRootEl = function(e) {
  10132. e ? t.context.registerInteractiveComponent(t, {
  10133. el: e,
  10134. isHitComboAllowed: t.props.isHitComboAllowed
  10135. }) : t.context.unregisterInteractiveComponent(t)
  10136. }, t.handleScrollRequest = function(e) {
  10137. var n = t.props.onScrollTopRequest,
  10138. r = t.state.slatCoords;
  10139. if (n && r) {
  10140. if (e.time) {
  10141. var o = r.computeTimeTop(e.time);
  10142. (o = Math.ceil(o)) && (o += 1), n(o)
  10143. }
  10144. return !0
  10145. }
  10146. return !1
  10147. }, t.handleColCoords = function(e) {
  10148. t.colCoords = e
  10149. }, t.handleSlatCoords = function(e) {
  10150. t.setState({
  10151. slatCoords: e
  10152. }), t.props.onSlatCoords && t.props.onSlatCoords(e)
  10153. }, t
  10154. }
  10155. return n(t, e), t.prototype.render = function() {
  10156. var e = this.props,
  10157. t = this.state;
  10158. return _o("div", {
  10159. className: "fc-timegrid-body",
  10160. ref: this.handleRootEl,
  10161. style: {
  10162. width: e.clientWidth,
  10163. minWidth: e.tableMinWidth
  10164. }
  10165. }, _o(Hl, {
  10166. axis: e.axis,
  10167. dateProfile: e.dateProfile,
  10168. slatMetas: e.slatMetas,
  10169. clientWidth: e.clientWidth,
  10170. minHeight: e.expandRows ? e.clientHeight : "",
  10171. tableMinWidth: e.tableMinWidth,
  10172. tableColGroupNode: e.axis ? e.tableColGroupNode : null,
  10173. onCoords: this.handleSlatCoords
  10174. }), _o($l, {
  10175. cells: e.cells,
  10176. axis: e.axis,
  10177. dateProfile: e.dateProfile,
  10178. businessHourSegs: e.businessHourSegs,
  10179. bgEventSegs: e.bgEventSegs,
  10180. fgEventSegs: e.fgEventSegs,
  10181. dateSelectionSegs: e.dateSelectionSegs,
  10182. eventSelection: e.eventSelection,
  10183. eventDrag: e.eventDrag,
  10184. eventResize: e.eventResize,
  10185. todayRange: e.todayRange,
  10186. nowDate: e.nowDate,
  10187. nowIndicatorSegs: e.nowIndicatorSegs,
  10188. clientWidth: e.clientWidth,
  10189. tableMinWidth: e.tableMinWidth,
  10190. tableColGroupNode: e.tableColGroupNode,
  10191. slatCoords: t.slatCoords,
  10192. onColCoords: this.handleColCoords,
  10193. forPrint: e.forPrint
  10194. }))
  10195. }, t.prototype.componentDidMount = function() {
  10196. this.scrollResponder = this.context.createScrollResponder(this.handleScrollRequest)
  10197. }, t.prototype.componentDidUpdate = function(e) {
  10198. this.scrollResponder.update(e.dateProfile !== this.props.dateProfile)
  10199. }, t.prototype.componentWillUnmount = function() {
  10200. this.scrollResponder.detach()
  10201. }, t.prototype.queryHit = function(e, t) {
  10202. var n = this.context,
  10203. o = n.dateEnv,
  10204. i = n.options,
  10205. a = this.colCoords,
  10206. s = this.props.dateProfile,
  10207. l = this.state.slatCoords,
  10208. u = this.processSlotOptions(this.props.slotDuration, i.snapDuration),
  10209. c = u.snapDuration,
  10210. d = u.snapsPerSlot,
  10211. p = a.leftToIndex(e),
  10212. f = l.positions.topToIndex(t);
  10213. if (null != p && null != f) {
  10214. var h = this.props.cells[p],
  10215. v = l.positions.tops[f],
  10216. g = l.positions.getHeight(f),
  10217. m = (t - v) / g,
  10218. y = f * d + Math.floor(m * d),
  10219. E = this.props.cells[p].date,
  10220. S = Ot(s.slotMinTime, At(c, y)),
  10221. b = o.add(E, S),
  10222. D = o.add(b, c);
  10223. return {
  10224. dateProfile: s,
  10225. dateSpan: r({
  10226. range: {
  10227. start: b,
  10228. end: D
  10229. },
  10230. allDay: !1
  10231. }, h.extraDateSpan),
  10232. dayEl: a.els[p],
  10233. rect: {
  10234. left: a.lefts[p],
  10235. right: a.rights[p],
  10236. top: v,
  10237. bottom: v + g
  10238. },
  10239. layer: 0
  10240. }
  10241. }
  10242. return null
  10243. }, t
  10244. }(Bo);
  10245. function Ql(e, t) {
  10246. var n = t || e,
  10247. r = Wt(e, n);
  10248. return null === r && (n = e, r = 1), {
  10249. snapDuration: n,
  10250. snapsPerSlot: r
  10251. }
  10252. }
  10253. var eu = function(e) {
  10254. function t() {
  10255. return null !== e && e.apply(this, arguments) || this
  10256. }
  10257. return n(t, e), t.prototype.sliceRange = function(e, t) {
  10258. for (var n = [], r = 0; r < t.length; r += 1) {
  10259. var o = jn(e, t[r]);
  10260. o && n.push({
  10261. start: o.start,
  10262. end: o.end,
  10263. isStart: o.start.valueOf() === e.start.valueOf(),
  10264. isEnd: o.end.valueOf() === e.end.valueOf(),
  10265. col: r
  10266. })
  10267. }
  10268. return n
  10269. }, t
  10270. }(xa),
  10271. tu = function(e) {
  10272. function t() {
  10273. var t = null !== e && e.apply(this, arguments) || this;
  10274. return t.buildDayRanges = qt(nu), t.slicer = new eu, t.timeColsRef = ko(), t
  10275. }
  10276. return n(t, e), t.prototype.render = function() {
  10277. var e = this,
  10278. t = this.props,
  10279. n = this.context,
  10280. o = t.dateProfile,
  10281. i = t.dayTableModel,
  10282. a = n.options.nowIndicator,
  10283. s = this.buildDayRanges(i, o, n.dateEnv);
  10284. return _o(Ca, {
  10285. unit: a ? "minute" : "day"
  10286. }, (function(l, u) {
  10287. return _o(Jl, r({
  10288. ref: e.timeColsRef
  10289. }, e.slicer.sliceProps(t, o, null, n, s), {
  10290. forPrint: t.forPrint,
  10291. axis: t.axis,
  10292. dateProfile: o,
  10293. slatMetas: t.slatMetas,
  10294. slotDuration: t.slotDuration,
  10295. cells: i.cells[0],
  10296. tableColGroupNode: t.tableColGroupNode,
  10297. tableMinWidth: t.tableMinWidth,
  10298. clientWidth: t.clientWidth,
  10299. clientHeight: t.clientHeight,
  10300. expandRows: t.expandRows,
  10301. nowDate: l,
  10302. nowIndicatorSegs: a && e.slicer.sliceNowDate(l, n, s),
  10303. todayRange: u,
  10304. onScrollTopRequest: t.onScrollTopRequest,
  10305. onSlatCoords: t.onSlatCoords
  10306. }))
  10307. }))
  10308. }, t
  10309. }(Bo);
  10310. function nu(e, t, n) {
  10311. for (var r = [], o = 0, i = e.headerDates; o < i.length; o++) {
  10312. var a = i[o];
  10313. r.push({
  10314. start: n.add(a, t.slotMinTime),
  10315. end: n.add(a, t.slotMaxTime)
  10316. })
  10317. }
  10318. return r
  10319. }
  10320. var ru = [{
  10321. hours: 1
  10322. }, {
  10323. minutes: 30
  10324. }, {
  10325. minutes: 15
  10326. }, {
  10327. seconds: 30
  10328. }, {
  10329. seconds: 15
  10330. }];
  10331. function ou(e, t, n, r, o) {
  10332. for (var i = new Date(0), a = e, s = Nt(0), l = n || function(e) {
  10333. var t, n, r;
  10334. for (t = ru.length - 1; t >= 0; t -= 1)
  10335. if (null !== (r = Wt(n = Nt(ru[t]), e)) && r > 1) return n;
  10336. return e
  10337. }(r), u = []; Ut(a) < Ut(t);) {
  10338. var c = o.add(i, a),
  10339. d = null !== Wt(s, l);
  10340. u.push({
  10341. date: c,
  10342. time: a,
  10343. key: c.toISOString(),
  10344. isoTimeStr: zt(c),
  10345. isLabeled: d
  10346. }), a = Ot(a, r), s = Ot(s, r)
  10347. }
  10348. return u
  10349. }
  10350. var iu = function(e) {
  10351. function t() {
  10352. var t = null !== e && e.apply(this, arguments) || this;
  10353. return t.buildTimeColsModel = qt(au), t.buildSlatMetas = qt(ou), t
  10354. }
  10355. return n(t, e), t.prototype.render = function() {
  10356. var e = this,
  10357. t = this.context,
  10358. n = t.options,
  10359. o = t.dateEnv,
  10360. i = t.dateProfileGenerator,
  10361. a = this.props,
  10362. s = a.dateProfile,
  10363. l = this.buildTimeColsModel(s, i),
  10364. u = this.allDaySplitter.splitProps(a),
  10365. c = this.buildSlatMetas(s.slotMinTime, s.slotMaxTime, n.slotLabelInterval, n.slotDuration, o),
  10366. d = n.dayMinWidth,
  10367. p = !d,
  10368. f = d,
  10369. h = n.dayHeaders && _o(Ra, {
  10370. dates: l.headerDates,
  10371. dateProfile: s,
  10372. datesRepDistinctDays: !0,
  10373. renderIntro: p ? this.renderHeadAxis : null
  10374. }),
  10375. v = !1 !== n.allDaySlot && function(t) {
  10376. return _o(Sl, r({}, u.allDay, {
  10377. dateProfile: s,
  10378. dayTableModel: l,
  10379. nextDayThreshold: n.nextDayThreshold,
  10380. tableMinWidth: t.tableMinWidth,
  10381. colGroupNode: t.tableColGroupNode,
  10382. renderRowIntro: p ? e.renderTableRowAxis : null,
  10383. showWeekNumbers: !1,
  10384. expandRows: !1,
  10385. headerAlignElRef: e.headerElRef,
  10386. clientWidth: t.clientWidth,
  10387. clientHeight: t.clientHeight,
  10388. forPrint: a.forPrint
  10389. }, e.getAllDayMaxEventProps()))
  10390. },
  10391. g = function(t) {
  10392. return _o(tu, r({}, u.timed, {
  10393. dayTableModel: l,
  10394. dateProfile: s,
  10395. axis: p,
  10396. slotDuration: n.slotDuration,
  10397. slatMetas: c,
  10398. forPrint: a.forPrint,
  10399. tableColGroupNode: t.tableColGroupNode,
  10400. tableMinWidth: t.tableMinWidth,
  10401. clientWidth: t.clientWidth,
  10402. clientHeight: t.clientHeight,
  10403. onSlatCoords: e.handleSlatCoords,
  10404. expandRows: t.expandRows,
  10405. onScrollTopRequest: e.handleScrollTopRequest
  10406. }))
  10407. };
  10408. return f ? this.renderHScrollLayout(h, v, g, l.colCnt, d, c, this.state.slatCoords) : this.renderSimpleLayout(h, v, g)
  10409. }, t
  10410. }(Ml);
  10411. function au(e, t) {
  10412. var n = new Ta(e.renderRange, t);
  10413. return new ka(n, !1)
  10414. }
  10415. var su = zo({
  10416. initialView: "timeGridWeek",
  10417. optionRefiners: {
  10418. allDaySlot: Boolean
  10419. },
  10420. views: {
  10421. timeGrid: {
  10422. component: iu,
  10423. usesMinMaxTime: !0,
  10424. allDaySlot: !0,
  10425. slotDuration: "00:30:00",
  10426. slotEventOverlap: !0
  10427. },
  10428. timeGridDay: {
  10429. type: "timeGrid",
  10430. duration: {
  10431. days: 1
  10432. }
  10433. },
  10434. timeGridWeek: {
  10435. type: "timeGrid",
  10436. duration: {
  10437. weeks: 1
  10438. }
  10439. }
  10440. }
  10441. }),
  10442. lu = function(e) {
  10443. function t() {
  10444. var t = null !== e && e.apply(this, arguments) || this;
  10445. return t.state = {
  10446. textId: xe()
  10447. }, t
  10448. }
  10449. return n(t, e), t.prototype.render = function() {
  10450. var e = this.context,
  10451. t = e.theme,
  10452. n = e.dateEnv,
  10453. o = e.options,
  10454. i = e.viewApi,
  10455. a = this.props,
  10456. s = a.cellId,
  10457. l = a.dayDate,
  10458. u = a.todayRange,
  10459. c = this.state.textId,
  10460. d = ro(l, u),
  10461. p = o.listDayFormat ? n.format(l, o.listDayFormat) : "",
  10462. f = o.listDaySideFormat ? n.format(l, o.listDaySideFormat) : "",
  10463. h = r({
  10464. date: n.toDate(l),
  10465. view: i,
  10466. textId: c,
  10467. text: p,
  10468. sideText: f,
  10469. navLinkAttrs: so(this.context, l),
  10470. sideNavLinkAttrs: so(this.context, l, "day", !1)
  10471. }, d),
  10472. v = ["fc-list-day"].concat(oo(d, t));
  10473. return _o(Yo, {
  10474. hookProps: h,
  10475. classNames: o.dayHeaderClassNames,
  10476. content: o.dayHeaderContent,
  10477. defaultContent: uu,
  10478. didMount: o.dayHeaderDidMount,
  10479. willUnmount: o.dayHeaderWillUnmount
  10480. }, (function(e, n, r, o) {
  10481. return _o("tr", {
  10482. ref: e,
  10483. className: v.concat(n).join(" "),
  10484. "data-date": Bt(l)
  10485. }, _o("th", {
  10486. scope: "colgroup",
  10487. colSpan: 3,
  10488. id: s,
  10489. "aria-labelledby": c
  10490. }, _o("div", {
  10491. className: "fc-list-day-cushion " + t.getClass("tableCellShaded"),
  10492. ref: r
  10493. }, o)))
  10494. }))
  10495. }, t
  10496. }(Uo);
  10497. function uu(e) {
  10498. return _o(xo, null, e.text && _o("a", r({
  10499. id: e.textId,
  10500. className: "fc-list-day-text"
  10501. }, e.navLinkAttrs), e.text), e.sideText && _o("a", r({
  10502. "aria-hidden": !0,
  10503. className: "fc-list-day-side-text"
  10504. }, e.sideNavLinkAttrs), e.sideText))
  10505. }
  10506. var cu = ln({
  10507. hour: "numeric",
  10508. minute: "2-digit",
  10509. meridiem: "short"
  10510. }),
  10511. du = function(e) {
  10512. function t() {
  10513. return null !== e && e.apply(this, arguments) || this
  10514. }
  10515. return n(t, e), t.prototype.render = function() {
  10516. var e = this.props,
  10517. t = this.context,
  10518. n = e.seg,
  10519. o = e.timeHeaderId,
  10520. i = e.eventHeaderId,
  10521. a = e.dateHeaderId,
  10522. s = t.options.eventTimeFormat || cu;
  10523. return _o(ns, {
  10524. seg: n,
  10525. timeText: "",
  10526. disableDragging: !0,
  10527. disableResizing: !0,
  10528. defaultContent: function() {
  10529. return function(e, t) {
  10530. var n = cr(e, t);
  10531. return _o("a", r({}, n), e.eventRange.def.title)
  10532. }(n, t)
  10533. },
  10534. isPast: e.isPast,
  10535. isFuture: e.isFuture,
  10536. isToday: e.isToday,
  10537. isSelected: e.isSelected,
  10538. isDragging: e.isDragging,
  10539. isResizing: e.isResizing,
  10540. isDateSelecting: e.isDateSelecting
  10541. }, (function(e, r, l, u, c) {
  10542. return _o("tr", {
  10543. className: ["fc-list-event", c.event.url ? "fc-event-forced-url" : ""].concat(r).join(" "),
  10544. ref: e
  10545. }, function(e, t, n, r, o) {
  10546. var i = n.options;
  10547. if (!1 !== i.displayEventTime) {
  10548. var a = e.eventRange.def,
  10549. s = e.eventRange.instance,
  10550. l = !1,
  10551. u = void 0;
  10552. if (a.allDay ? l = !0 : Vn(e.eventRange.range) ? e.isStart ? u = ar(e, t, n, null, null, s.range.start, e.end) : e.isEnd ? u = ar(e, t, n, null, null, e.start, s.range.end) : l = !0 : u = ar(e, t, n), l) {
  10553. var c = {
  10554. text: n.options.allDayText,
  10555. view: n.viewApi
  10556. };
  10557. return _o(Yo, {
  10558. hookProps: c,
  10559. classNames: i.allDayClassNames,
  10560. content: i.allDayContent,
  10561. defaultContent: pu,
  10562. didMount: i.allDayDidMount,
  10563. willUnmount: i.allDayWillUnmount
  10564. }, (function(e, t, n, i) {
  10565. return _o("td", {
  10566. ref: e,
  10567. headers: r + " " + o,
  10568. className: ["fc-list-event-time"].concat(t).join(" ")
  10569. }, i)
  10570. }))
  10571. }
  10572. return _o("td", {
  10573. className: "fc-list-event-time"
  10574. }, u)
  10575. }
  10576. return null
  10577. }(n, s, t, o, a), _o("td", {
  10578. "aria-hidden": !0,
  10579. className: "fc-list-event-graphic"
  10580. }, _o("span", {
  10581. className: "fc-list-event-dot",
  10582. style: {
  10583. borderColor: c.borderColor || c.backgroundColor
  10584. }
  10585. })), _o("td", {
  10586. ref: l,
  10587. headers: i + " " + a,
  10588. className: "fc-list-event-title"
  10589. }, u))
  10590. }))
  10591. }, t
  10592. }(Uo);
  10593. function pu(e) {
  10594. return e.text
  10595. }
  10596. var fu = function(e) {
  10597. function t() {
  10598. var t = null !== e && e.apply(this, arguments) || this;
  10599. return t.computeDateVars = qt(vu), t.eventStoreToSegs = qt(t._eventStoreToSegs), t.state = {
  10600. timeHeaderId: xe(),
  10601. eventHeaderId: xe(),
  10602. dateHeaderIdRoot: xe()
  10603. }, t.setRootEl = function(e) {
  10604. e ? t.context.registerInteractiveComponent(t, {
  10605. el: e
  10606. }) : t.context.unregisterInteractiveComponent(t)
  10607. }, t
  10608. }
  10609. return n(t, e), t.prototype.render = function() {
  10610. var e = this,
  10611. t = this.props,
  10612. n = this.context,
  10613. r = ["fc-list", n.theme.getClass("table"), !1 !== n.options.stickyHeaderDates ? "fc-list-sticky" : ""],
  10614. o = this.computeDateVars(t.dateProfile),
  10615. i = o.dayDates,
  10616. a = o.dayRanges,
  10617. s = this.eventStoreToSegs(t.eventStore, t.eventUiBases, a);
  10618. return _o(ti, {
  10619. viewSpec: n.viewSpec,
  10620. elRef: this.setRootEl
  10621. }, (function(n, o) {
  10622. return _o("div", {
  10623. ref: n,
  10624. className: r.concat(o).join(" ")
  10625. }, _o(Va, {
  10626. liquid: !t.isHeightAuto,
  10627. overflowX: t.isHeightAuto ? "visible" : "hidden",
  10628. overflowY: t.isHeightAuto ? "visible" : "auto"
  10629. }, s.length > 0 ? e.renderSegList(s, i) : e.renderEmptyMessage()))
  10630. }))
  10631. }, t.prototype.renderEmptyMessage = function() {
  10632. var e = this.context,
  10633. t = e.options,
  10634. n = e.viewApi,
  10635. r = {
  10636. text: t.noEventsText,
  10637. view: n
  10638. };
  10639. return _o(Yo, {
  10640. hookProps: r,
  10641. classNames: t.noEventsClassNames,
  10642. content: t.noEventsContent,
  10643. defaultContent: hu,
  10644. didMount: t.noEventsDidMount,
  10645. willUnmount: t.noEventsWillUnmount
  10646. }, (function(e, t, n, r) {
  10647. return _o("div", {
  10648. className: ["fc-list-empty"].concat(t).join(" "),
  10649. ref: e
  10650. }, _o("div", {
  10651. className: "fc-list-empty-cushion",
  10652. ref: n
  10653. }, r))
  10654. }))
  10655. }, t.prototype.renderSegList = function(e, t) {
  10656. var n = this.context,
  10657. o = n.theme,
  10658. i = n.options,
  10659. a = this.state,
  10660. s = a.timeHeaderId,
  10661. l = a.eventHeaderId,
  10662. u = a.dateHeaderIdRoot,
  10663. c = function(e) {
  10664. var t, n, r = [];
  10665. for (t = 0; t < e.length; t += 1)(r[(n = e[t]).dayIndex] || (r[n.dayIndex] = [])).push(n);
  10666. return r
  10667. }(e);
  10668. return _o(Ca, {
  10669. unit: "day"
  10670. }, (function(e, n) {
  10671. for (var a = [], d = 0; d < c.length; d += 1) {
  10672. var p = c[d];
  10673. if (p) {
  10674. var f = Bt(t[d]),
  10675. h = u + "-" + f;
  10676. a.push(_o(lu, {
  10677. key: f,
  10678. cellId: h,
  10679. dayDate: t[d],
  10680. todayRange: n
  10681. }));
  10682. for (var v = 0, g = p = tr(p, i.eventOrder); v < g.length; v++) {
  10683. var m = g[v];
  10684. a.push(_o(du, r({
  10685. key: f + ":" + m.eventRange.instance.instanceId,
  10686. seg: m,
  10687. isDragging: !1,
  10688. isResizing: !1,
  10689. isDateSelecting: !1,
  10690. isSelected: !1,
  10691. timeHeaderId: s,
  10692. eventHeaderId: l,
  10693. dateHeaderId: h
  10694. }, sr(m, n, e))))
  10695. }
  10696. }
  10697. }
  10698. return _o("table", {
  10699. className: "fc-list-table " + o.getClass("table")
  10700. }, _o("thead", null, _o("tr", null, _o("th", {
  10701. scope: "col",
  10702. id: s
  10703. }, i.timeHint), _o("th", {
  10704. scope: "col",
  10705. "aria-hidden": !0
  10706. }), _o("th", {
  10707. scope: "col",
  10708. id: l
  10709. }, i.eventHint))), _o("tbody", null, a))
  10710. }))
  10711. }, t.prototype._eventStoreToSegs = function(e, t, n) {
  10712. return this.eventRangesToSegs(Xn(e, t, this.props.dateProfile.activeRange, this.context.options.nextDayThreshold).fg, n)
  10713. }, t.prototype.eventRangesToSegs = function(e, t) {
  10714. for (var n = [], r = 0, o = e; r < o.length; r++) {
  10715. var i = o[r];
  10716. n.push.apply(n, this.eventRangeToSegs(i, t))
  10717. }
  10718. return n
  10719. }, t.prototype.eventRangeToSegs = function(e, t) {
  10720. var n, r, o, i = this.context.dateEnv,
  10721. a = this.context.options.nextDayThreshold,
  10722. s = e.range,
  10723. l = e.def.allDay,
  10724. u = [];
  10725. for (n = 0; n < t.length; n += 1)
  10726. if ((r = jn(s, t[n])) && (o = {
  10727. component: this,
  10728. eventRange: e,
  10729. start: r.start,
  10730. end: r.end,
  10731. isStart: e.isStart && r.start.valueOf() === s.start.valueOf(),
  10732. isEnd: e.isEnd && r.end.valueOf() === s.end.valueOf(),
  10733. dayIndex: n
  10734. }, u.push(o), !o.isEnd && !l && n + 1 < t.length && s.end < i.add(t[n + 1].start, a))) {
  10735. o.end = s.end, o.isEnd = !0;
  10736. break
  10737. }
  10738. return u
  10739. }, t
  10740. }(Bo);
  10741. function hu(e) {
  10742. return e.text
  10743. }
  10744. function vu(e) {
  10745. for (var t = lt(e.renderRange.start), n = e.renderRange.end, r = [], o = []; t < n;) r.push(t), o.push({
  10746. start: t,
  10747. end: tt(t, 1)
  10748. }), t = tt(t, 1);
  10749. return {
  10750. dayDates: r,
  10751. dayRanges: o
  10752. }
  10753. }
  10754. function gu(e) {
  10755. return !1 === e ? null : ln(e)
  10756. }
  10757. var mu = zo({
  10758. optionRefiners: {
  10759. listDayFormat: gu,
  10760. listDaySideFormat: gu,
  10761. noEventsClassNames: yn,
  10762. noEventsContent: yn,
  10763. noEventsDidMount: yn,
  10764. noEventsWillUnmount: yn
  10765. },
  10766. views: {
  10767. list: {
  10768. component: fu,
  10769. buttonTextKey: "list",
  10770. listDayFormat: {
  10771. month: "long",
  10772. day: "numeric",
  10773. year: "numeric"
  10774. }
  10775. },
  10776. listDay: {
  10777. type: "list",
  10778. duration: {
  10779. days: 1
  10780. },
  10781. listDayFormat: {
  10782. weekday: "long"
  10783. }
  10784. },
  10785. listWeek: {
  10786. type: "list",
  10787. duration: {
  10788. weeks: 1
  10789. },
  10790. listDayFormat: {
  10791. weekday: "long"
  10792. },
  10793. listDaySideFormat: {
  10794. month: "long",
  10795. day: "numeric",
  10796. year: "numeric"
  10797. }
  10798. },
  10799. listMonth: {
  10800. type: "list",
  10801. duration: {
  10802. month: 1
  10803. },
  10804. listDaySideFormat: {
  10805. weekday: "long"
  10806. }
  10807. },
  10808. listYear: {
  10809. type: "list",
  10810. duration: {
  10811. year: 1
  10812. },
  10813. listDaySideFormat: {
  10814. weekday: "long"
  10815. }
  10816. }
  10817. }
  10818. }),
  10819. yu = function(e) {
  10820. function t() {
  10821. return null !== e && e.apply(this, arguments) || this
  10822. }
  10823. return n(t, e), t
  10824. }(wo);
  10825. yu.prototype.classes = {
  10826. root: "fc-theme-bootstrap",
  10827. table: "table-bordered",
  10828. tableCellShaded: "table-active",
  10829. buttonGroup: "btn-group",
  10830. button: "btn btn-primary",
  10831. buttonActive: "active",
  10832. popover: "popover",
  10833. popoverHeader: "popover-header",
  10834. popoverContent: "popover-body"
  10835. }, yu.prototype.baseIconClass = "fa", yu.prototype.iconClasses = {
  10836. close: "fa-times",
  10837. prev: "fa-chevron-left",
  10838. next: "fa-chevron-right",
  10839. prevYear: "fa-angle-double-left",
  10840. nextYear: "fa-angle-double-right"
  10841. }, yu.prototype.rtlIconClasses = {
  10842. prev: "fa-chevron-right",
  10843. next: "fa-chevron-left",
  10844. prevYear: "fa-angle-double-right",
  10845. nextYear: "fa-angle-double-left"
  10846. }, yu.prototype.iconOverrideOption = "bootstrapFontAwesome", yu.prototype.iconOverrideCustomButtonOption = "bootstrapFontAwesome", yu.prototype.iconOverridePrefix = "fa-";
  10847. var Eu = zo({
  10848. themeClasses: {
  10849. bootstrap: yu
  10850. }
  10851. }),
  10852. Su = "https://www.googleapis.com/calendar/v3/calendars";
  10853. var bu = zo({
  10854. eventSourceDefs: [{
  10855. parseMeta: function(e) {
  10856. var t = e.googleCalendarId;
  10857. return !t && e.url && (t = function(e) {
  10858. var t;
  10859. if (/^[^/]+@([^/.]+\.)*(google|googlemail|gmail)\.com$/.test(e)) return e;
  10860. if ((t = /^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^/]*)/.exec(e)) || (t = /^https?:\/\/www.google.com\/calendar\/feeds\/([^/]*)/.exec(e))) return decodeURIComponent(t[1]);
  10861. return null
  10862. }(e.url)), t ? {
  10863. googleCalendarId: t,
  10864. googleCalendarApiKey: e.googleCalendarApiKey,
  10865. googleCalendarApiBase: e.googleCalendarApiBase,
  10866. extraParams: e.extraParams
  10867. } : null
  10868. },
  10869. fetch: function(e, t, n) {
  10870. var o = e.context,
  10871. i = o.dateEnv,
  10872. a = o.options,
  10873. s = e.eventSource.meta,
  10874. l = s.googleCalendarApiKey || a.googleCalendarApiKey;
  10875. if (l) {
  10876. var u = function(e) {
  10877. var t = e.googleCalendarApiBase;
  10878. t || (t = Su);
  10879. return t + "/" + encodeURIComponent(e.googleCalendarId) + "/events"
  10880. }(s),
  10881. c = s.extraParams,
  10882. d = "function" == typeof c ? c() : c,
  10883. p = function(e, t, n, o) {
  10884. var i, a, s;
  10885. o.canComputeOffset ? (a = o.formatIso(e.start), s = o.formatIso(e.end)) : (a = tt(e.start, -1).toISOString(), s = tt(e.end, 1).toISOString());
  10886. i = r(r({}, n || {}), {
  10887. key: t,
  10888. timeMin: a,
  10889. timeMax: s,
  10890. singleEvents: !0,
  10891. maxResults: 9999
  10892. }), "local" !== o.timeZone && (i.timeZone = o.timeZone);
  10893. return i
  10894. }(e.range, l, d, i);
  10895. _i("GET", u, p, (function(e, r) {
  10896. var o, i;
  10897. e.error ? n({
  10898. message: "Google Calendar API: " + e.error.message,
  10899. errors: e.error.errors,
  10900. xhr: r
  10901. }) : t({
  10902. rawEvents: (o = e.items, i = p.timeZone, o.map((function(e) {
  10903. return function(e, t) {
  10904. var n = e.htmlLink || null;
  10905. n && t && (n = function(e, t) {
  10906. return e.replace(/(\?.*?)?(#|$)/, (function(e, n, r) {
  10907. return (n ? n + "&" : "?") + t + r
  10908. }))
  10909. }(n, "ctz=" + t));
  10910. return {
  10911. id: e.id,
  10912. title: e.summary,
  10913. start: e.start.dateTime || e.start.date,
  10914. end: e.end.dateTime || e.end.date,
  10915. url: n,
  10916. location: e.location,
  10917. description: e.description,
  10918. attachments: e.attachments || [],
  10919. extendedProps: (e.extendedProperties || {}).shared || {}
  10920. }
  10921. }(e, i)
  10922. }))),
  10923. xhr: r
  10924. })
  10925. }), (function(e, t) {
  10926. n({
  10927. message: e,
  10928. xhr: t
  10929. })
  10930. }))
  10931. } else n({
  10932. message: "Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/"
  10933. })
  10934. }
  10935. }],
  10936. optionRefiners: {
  10937. googleCalendarApiKey: String
  10938. },
  10939. eventSourceRefiners: {
  10940. googleCalendarApiKey: String,
  10941. googleCalendarId: String,
  10942. googleCalendarApiBase: String,
  10943. extraParams: yn
  10944. }
  10945. });
  10946. return xi.push($s, Cl, su, mu, Eu, bu), e.BASE_OPTION_DEFAULTS = cn, e.BASE_OPTION_REFINERS = un, e.BaseComponent = Uo, e.BgEvent = ds, e.BootstrapTheme = yu, e.Calendar = Cs, e.CalendarApi = kr, e.CalendarContent = fa, e.CalendarDataManager = Ni, e.CalendarDataProvider = ji, e.CalendarRoot = ga, e.Component = Ro, e.ContentHook = Xo, e.CustomContentRenderContext = Zo, e.DateComponent = Bo, e.DateEnv = Lr, e.DateProfileGenerator = ai, e.DayCellContent = ss, e.DayCellRoot = us, e.DayGridView = bl, e.DayHeader = Ra, e.DaySeriesModel = Ta, e.DayTable = Sl, e.DayTableModel = ka, e.DayTableSlicer = El, e.DayTimeCols = tu, e.DayTimeColsSlicer = eu, e.DayTimeColsView = iu, e.DelayedRunner = Mi, e.Draggable = Zs, e.ElementDragging = oa, e.ElementScrollController = Do, e.Emitter = Eo, e.EventApi = xr, e.EventRoot = ns, e.EventSourceApi = ye, e.FeaturefulElementDragging = Os, e.Fragment = xo, e.Interaction = ea, e.ListView = fu, e.MoreLinkRoot = ms, e.MountHook = $o, e.NamedTimeZoneImpl = Gi, e.NowIndicatorRoot = is, e.NowTimer = Ca, e.PointerDragging = Ts, e.PositionCache = So, e.RefMap = Fa, e.RenderHook = Yo, e.ScrollController = bo, e.ScrollResponder = Ho, e.Scroller = Va, e.SegHierarchy = qi, e.SimpleScrollGrid = ts, e.Slicer = xa, e.Splitter = to, e.StandardEvent = rs, e.Table = ml, e.TableDateCell = Sa, e.TableDowCell = Da, e.TableView = Js, e.Theme = wo, e.ThirdPartyDraggable = Ks, e.TimeCols = Jl, e.TimeColsSlatsCoords = Pl, e.TimeColsView = Ml, e.ViewApi = Cr, e.ViewContextType = Oo, e.ViewRoot = ti, e.WeekNumberRoot = fs, e.WindowScrollController = Co, e.addDays = tt, e.addDurations = Ot, e.addMs = nt, e.addWeeks = et, e.allowContextMenu = ze, e.allowSelection = Fe, e.applyMutationToEventStore = Sr, e.applyStyle = we, e.applyStyleProp = Re, e.asCleanDays = function(e) {
  10947. return e.years || e.months || e.milliseconds ? 0 : e.days
  10948. }, e.asRoughMinutes = function(e) {
  10949. return Ut(e) / 6e4
  10950. }, e.asRoughMs = Ut, e.asRoughSeconds = function(e) {
  10951. return Ut(e) / 1e3
  10952. }, e.binarySearch = Qi, e.buildClassNameNormalizer = Jo, e.buildDayRanges = nu, e.buildDayTableModel = Dl, e.buildEntryKey = Zi, e.buildEventApis = Ir, e.buildEventRangeKey = ur, e.buildHashFromArray = function(e, t) {
  10953. for (var n = {}, r = 0; r < e.length; r += 1) {
  10954. var o = t(e[r], r);
  10955. n[o[0]] = o[1]
  10956. }
  10957. return n
  10958. }, e.buildIsoString = Ft, e.buildNavLinkAttrs = so, e.buildSegCompareObj = nr, e.buildSegTimeText = ar, e.buildSlatMetas = ou, e.buildTimeColsModel = au, e.collectFromHash = kt, e.combineEventUis = xn, e.compareByFieldSpec = qe, e.compareByFieldSpecs = Ge, e.compareNumbers = Ke, e.compareObjs = _t, e.computeEarliestSegStart = Ss, e.computeEdges = ho, e.computeFallbackHeaderFormat = ma, e.computeHeightAndMargins = function(e) {
  10959. return e.getBoundingClientRect().height + function(e) {
  10960. var t = window.getComputedStyle(e);
  10961. return parseInt(t.marginTop, 10) + parseInt(t.marginBottom, 10)
  10962. }(e)
  10963. }, e.computeInnerRect = vo, e.computeRect = go, e.computeSegDraggable = rr, e.computeSegEndResizable = ir, e.computeSegStartResizable = or, e.computeShrinkWidth = Ba, e.computeSmallestCellWidth = Je, e.computeVisibleDayRange = Wn, e.config = ia, e.constrainPoint = Kr, e.createAriaClickAttrs = He, e.createContext = Mo, e.createDuration = Nt, e.createElement = _o, e.createEmptyEventStore = Dn, e.createEventInstance = mt, e.createEventUi = kn, e.createFormatter = ln, e.createPlugin = zo, e.createPortal = Io, e.createRef = ko, e.diffDates = Fn, e.diffDayAndTime = it, e.diffDays = ot, e.diffPoints = Jr, e.diffWeeks = rt, e.diffWholeDays = st, e.diffWholeWeeks = at, e.disableCursor = Ue, e.elementClosest = Se, e.elementMatches = be, e.enableCursor = We, e.eventTupleToStore = Sn, e.filterEventStoreDefs = wn, e.filterHash = St, e.findDirectChildren = function(e, t) {
  10964. for (var n = e instanceof HTMLElement ? [e] : e, r = [], o = 0; o < n.length; o += 1)
  10965. for (var i = n[o].children, a = 0; a < i.length; a += 1) {
  10966. var s = i[a];
  10967. t && !be(s, t) || r.push(s)
  10968. }
  10969. return r
  10970. }, e.findElements = De, e.flexibleCompare = Ye, e.flushToDom = Po, e.formatDate = function(e, t) {
  10971. void 0 === t && (t = {});
  10972. var n = jr(t),
  10973. r = ln(t),
  10974. o = n.createMarkerMeta(e);
  10975. return o ? n.format(o.marker, r, {
  10976. forcedTzo: o.forcedTzo
  10977. }) : ""
  10978. }, e.formatDayString = Bt, e.formatIsoTimeString = zt, e.formatRange = function(e, t, n) {
  10979. var r = jr("object" == typeof n && n ? n : {}),
  10980. o = ln(n),
  10981. i = r.createMarkerMeta(e),
  10982. a = r.createMarkerMeta(t);
  10983. return i && a ? r.formatRange(i.marker, a.marker, o, {
  10984. forcedStartTzo: i.forcedTzo,
  10985. forcedEndTzo: a.forcedTzo,
  10986. isEndExclusive: n.isEndExclusive,
  10987. defaultSeparator: cn.defaultRangeSeparator
  10988. }) : ""
  10989. }, e.getAllowYScrolling = ja, e.getCanVGrowWithinCell = Qr, e.getClippingParents = mo, e.getDateMeta = ro, e.getDayClassNames = oo, e.getDefaultEventEnd = Er, e.getElRoot = Te, e.getElSeg = Jn, e.getEntrySpanEnd = Yi, e.getEventClassNames = lr, e.getEventTargetViaRoot = _e, e.getIsRtlScrollbarOnLeft = co, e.getRectCenter = $r, e.getRelevantEvents = bn, e.getScrollGridClassNames = Ka, e.getScrollbarWidths = po, e.getSectionClassNames = $a, e.getSectionHasLiquidHeight = za, e.getSegAnchorAttrs = cr, e.getSegMeta = sr, e.getSlotClassNames = function(e, t) {
  10990. var n = ["fc-slot", "fc-slot-" + Qe[e.dow]];
  10991. return e.isDisabled ? n.push("fc-slot-disabled") : (e.isToday && (n.push("fc-slot-today"), n.push(t.getClass("today"))), e.isPast && n.push("fc-slot-past"), e.isFuture && n.push("fc-slot-future")), n
  10992. }, e.getStickyFooterScrollbar = es, e.getStickyHeaderDates = Qa, e.getUnequalProps = Rt, e.getUniqueDomId = xe, e.globalLocales = Ur, e.globalPlugins = xi, e.greatestDurationDenominator = Vt, e.groupIntersectingEntries = Xi, e.guid = Le, e.hasBgRendering = Kn, e.hasShrinkWidth = Xa, e.identity = yn, e.interactionSettingsStore = ra, e.interactionSettingsToStore = na, e.intersectRanges = jn, e.intersectRects = Xr, e.intersectSpans = $i, e.isArraysEqual = Gt, e.isColPropsEqual = qa, e.isDateSelectionValid = Pa, e.isDateSpansEqual = fr, e.isInt = $e, e.isInteractionValid = Ia, e.isMultiDayRange = Vn, e.isPropsEqual = wt, e.isPropsValid = Ha, e.isValidDate = vt, e.joinSpans = Ki, e.listenBySelector = Ie, e.mapHash = bt, e.memoize = qt, e.memoizeArraylike = function(e, t, n) {
  10993. var r = this,
  10994. o = [],
  10995. i = [];
  10996. return function(a) {
  10997. for (var s = o.length, l = a.length, u = 0; u < s; u += 1)
  10998. if (a[u]) {
  10999. if (!Gt(o[u], a[u])) {
  11000. n && n(i[u]);
  11001. var c = e.apply(r, a[u]);
  11002. t && t(c, i[u]) || (i[u] = c)
  11003. }
  11004. } else n && n(i[u]);
  11005. for (; u < l; u += 1) i[u] = e.apply(r, a[u]);
  11006. return o = a, i.splice(l), i
  11007. }
  11008. }, e.memoizeHashlike = function(e, t, n) {
  11009. var r = this,
  11010. o = {},
  11011. i = {};
  11012. return function(a) {
  11013. var s = {};
  11014. for (var l in a)
  11015. if (i[l])
  11016. if (Gt(o[l], a[l])) s[l] = i[l];
  11017. else {
  11018. n && n(i[l]);
  11019. var u = e.apply(r, a[l]);
  11020. s[l] = t && t(u, i[l]) ? i[l] : u
  11021. }
  11022. else s[l] = e.apply(r, a[l]);
  11023. return o = a, i = s, s
  11024. }
  11025. }, e.memoizeObjArg = Yt, e.mergeEventStores = Cn, e.multiplyDuration = At, e.padStart = Ze, e.parseBusinessHours = Yr, e.parseClassNames = Rn, e.parseDragMeta = sa, e.parseEventDef = Ln, e.parseFieldSpecs = je, e.parseMarker = Ar, e.pointInsideRect = Zr, e.preventContextMenu = Be, e.preventDefault = Me, e.preventSelection = Ve, e.rangeContainsMarker = Zn, e.rangeContainsRange = Yn, e.rangesEqual = Gn, e.rangesIntersect = qn, e.refineEventDef = On, e.refineProps = mn, e.removeElement = Ee, e.removeExact = function(e, t) {
  11026. for (var n = 0, r = 0; r < e.length;) e[r] === t ? (e.splice(r, 1), n += 1) : r += 1;
  11027. return n
  11028. }, e.render = To, e.renderChunkContent = Ga, e.renderFill = cs, e.renderMicroColGroup = Ya, e.renderScrollShim = Ja, e.requestJson = _i, e.sanitizeShrinkWidth = Za, e.setElSeg = $n, e.setRef = Fo, e.sliceEventStore = Xn, e.sliceEvents = function(e, t) {
  11029. return Xn(e.eventStore, e.eventUiBases, e.dateProfile.activeRange, t ? e.nextDayThreshold : null).fg
  11030. }, e.sortEventSegs = tr, e.startOfDay = lt, e.translateRect = function(e, t, n) {
  11031. return {
  11032. left: e.left + t,
  11033. right: e.right + t,
  11034. top: e.top + n,
  11035. bottom: e.bottom + n
  11036. }
  11037. }, e.triggerDateSelect = mr, e.unmountComponentAtNode = No, e.unpromisify = yo, e.version = "5.10.0", e.whenTransitionDone = Ne, e.wholeDivideDurations = Wt, Object.defineProperty(e, "__esModule", {
  11038. value: !0
  11039. }), e
  11040. }({});