Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

react-bootstrap.js 546KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848
  1. (function webpackUniversalModuleDefinition(root, factory) {
  2. if(typeof exports === 'object' && typeof module === 'object')
  3. module.exports = factory(require("react"), require("react-dom"));
  4. else if(typeof define === 'function' && define.amd)
  5. define(["react", "react-dom"], factory);
  6. else if(typeof exports === 'object')
  7. exports["ReactBootstrap"] = factory(require("react"), require("react-dom"));
  8. else
  9. root["ReactBootstrap"] = factory(root["React"], root["ReactDOM"]);
  10. })(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__8__) {
  11. return /******/ (function(modules) { // webpackBootstrap
  12. /******/ // The module cache
  13. /******/ var installedModules = {};
  14. /******/
  15. /******/ // The require function
  16. /******/ function __webpack_require__(moduleId) {
  17. /******/
  18. /******/ // Check if module is in cache
  19. /******/ if(installedModules[moduleId]) {
  20. /******/ return installedModules[moduleId].exports;
  21. /******/ }
  22. /******/ // Create a new module (and put it into the cache)
  23. /******/ var module = installedModules[moduleId] = {
  24. /******/ i: moduleId,
  25. /******/ l: false,
  26. /******/ exports: {}
  27. /******/ };
  28. /******/
  29. /******/ // Execute the module function
  30. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  31. /******/
  32. /******/ // Flag the module as loaded
  33. /******/ module.l = true;
  34. /******/
  35. /******/ // Return the exports of the module
  36. /******/ return module.exports;
  37. /******/ }
  38. /******/
  39. /******/
  40. /******/ // expose the modules object (__webpack_modules__)
  41. /******/ __webpack_require__.m = modules;
  42. /******/
  43. /******/ // expose the module cache
  44. /******/ __webpack_require__.c = installedModules;
  45. /******/
  46. /******/ // define getter function for harmony exports
  47. /******/ __webpack_require__.d = function(exports, name, getter) {
  48. /******/ if(!__webpack_require__.o(exports, name)) {
  49. /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
  50. /******/ }
  51. /******/ };
  52. /******/
  53. /******/ // define __esModule on exports
  54. /******/ __webpack_require__.r = function(exports) {
  55. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  56. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  57. /******/ }
  58. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  59. /******/ };
  60. /******/
  61. /******/ // create a fake namespace object
  62. /******/ // mode & 1: value is a module id, require it
  63. /******/ // mode & 2: merge all properties of value into the ns
  64. /******/ // mode & 4: return value when already ns object
  65. /******/ // mode & 8|1: behave like require
  66. /******/ __webpack_require__.t = function(value, mode) {
  67. /******/ if(mode & 1) value = __webpack_require__(value);
  68. /******/ if(mode & 8) return value;
  69. /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  70. /******/ var ns = Object.create(null);
  71. /******/ __webpack_require__.r(ns);
  72. /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  73. /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  74. /******/ return ns;
  75. /******/ };
  76. /******/
  77. /******/ // getDefaultExport function for compatibility with non-harmony modules
  78. /******/ __webpack_require__.n = function(module) {
  79. /******/ var getter = module && module.__esModule ?
  80. /******/ function getDefault() { return module['default']; } :
  81. /******/ function getModuleExports() { return module; };
  82. /******/ __webpack_require__.d(getter, 'a', getter);
  83. /******/ return getter;
  84. /******/ };
  85. /******/
  86. /******/ // Object.prototype.hasOwnProperty.call
  87. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  88. /******/
  89. /******/ // __webpack_public_path__
  90. /******/ __webpack_require__.p = "";
  91. /******/
  92. /******/
  93. /******/ // Load entry module and return exports
  94. /******/ return __webpack_require__(__webpack_require__.s = 78);
  95. /******/ })
  96. /************************************************************************/
  97. /******/ ([
  98. /* 0 */
  99. /***/ (function(module, exports, __webpack_require__) {
  100. /**
  101. * Copyright (c) 2013-present, Facebook, Inc.
  102. *
  103. * This source code is licensed under the MIT license found in the
  104. * LICENSE file in the root directory of this source tree.
  105. */
  106. if (false) { var throwOnDirectAccess, ReactIs; } else {
  107. // By explicitly using `prop-types` you are opting into new production behavior.
  108. // http://fb.me/prop-types-in-prod
  109. module.exports = __webpack_require__(55)();
  110. }
  111. /***/ }),
  112. /* 1 */
  113. /***/ (function(module, exports) {
  114. module.exports = __WEBPACK_EXTERNAL_MODULE__1__;
  115. /***/ }),
  116. /* 2 */
  117. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  118. "use strict";
  119. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
  120. function _extends() {
  121. _extends = Object.assign || function (target) {
  122. for (var i = 1; i < arguments.length; i++) {
  123. var source = arguments[i];
  124. for (var key in source) {
  125. if (Object.prototype.hasOwnProperty.call(source, key)) {
  126. target[key] = source[key];
  127. }
  128. }
  129. }
  130. return target;
  131. };
  132. return _extends.apply(this, arguments);
  133. }
  134. /***/ }),
  135. /* 3 */
  136. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  137. "use strict";
  138. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
  139. function _objectWithoutPropertiesLoose(source, excluded) {
  140. if (source == null) return {};
  141. var target = {};
  142. var sourceKeys = Object.keys(source);
  143. var key, i;
  144. for (i = 0; i < sourceKeys.length; i++) {
  145. key = sourceKeys[i];
  146. if (excluded.indexOf(key) >= 0) continue;
  147. target[key] = source[key];
  148. }
  149. return target;
  150. }
  151. /***/ }),
  152. /* 4 */
  153. /***/ (function(module, exports, __webpack_require__) {
  154. var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
  155. Copyright (c) 2017 Jed Watson.
  156. Licensed under the MIT License (MIT), see
  157. http://jedwatson.github.io/classnames
  158. */
  159. /* global define */
  160. (function () {
  161. 'use strict';
  162. var hasOwn = {}.hasOwnProperty;
  163. function classNames() {
  164. var classes = [];
  165. for (var i = 0; i < arguments.length; i++) {
  166. var arg = arguments[i];
  167. if (!arg) continue;
  168. var argType = typeof arg;
  169. if (argType === 'string' || argType === 'number') {
  170. classes.push(arg);
  171. } else if (Array.isArray(arg) && arg.length) {
  172. var inner = classNames.apply(null, arg);
  173. if (inner) {
  174. classes.push(inner);
  175. }
  176. } else if (argType === 'object') {
  177. for (var key in arg) {
  178. if (hasOwn.call(arg, key) && arg[key]) {
  179. classes.push(key);
  180. }
  181. }
  182. }
  183. }
  184. return classes.join(' ');
  185. }
  186. if ( true && module.exports) {
  187. classNames.default = classNames;
  188. module.exports = classNames;
  189. } else if (true) {
  190. // register as 'classnames', consistent with npm package name
  191. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
  192. return classNames;
  193. }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
  194. __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  195. } else {}
  196. })();
  197. /***/ }),
  198. /* 5 */
  199. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  200. "use strict";
  201. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inheritsLoose; });
  202. function _inheritsLoose(subClass, superClass) {
  203. subClass.prototype = Object.create(superClass.prototype);
  204. subClass.prototype.constructor = subClass;
  205. subClass.__proto__ = superClass;
  206. }
  207. /***/ }),
  208. /* 6 */
  209. /***/ (function(module, exports) {
  210. function _assertThisInitialized(self) {
  211. if (self === void 0) {
  212. throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  213. }
  214. return self;
  215. }
  216. module.exports = _assertThisInitialized;
  217. /***/ }),
  218. /* 7 */
  219. /***/ (function(module, exports) {
  220. function _defineProperty(obj, key, value) {
  221. if (key in obj) {
  222. Object.defineProperty(obj, key, {
  223. value: value,
  224. enumerable: true,
  225. configurable: true,
  226. writable: true
  227. });
  228. } else {
  229. obj[key] = value;
  230. }
  231. return obj;
  232. }
  233. module.exports = _defineProperty;
  234. /***/ }),
  235. /* 8 */
  236. /***/ (function(module, exports) {
  237. module.exports = __WEBPACK_EXTERNAL_MODULE__8__;
  238. /***/ }),
  239. /* 9 */
  240. /***/ (function(module, exports) {
  241. function _interopRequireDefault(obj) {
  242. return obj && obj.__esModule ? obj : {
  243. "default": obj
  244. };
  245. }
  246. module.exports = _interopRequireDefault;
  247. /***/ }),
  248. /* 10 */
  249. /***/ (function(module, exports, __webpack_require__) {
  250. "use strict";
  251. exports.__esModule = true;
  252. exports.default = qsa; // Zepto.js
  253. // (c) 2010-2015 Thomas Fuchs
  254. // Zepto.js may be freely distributed under the MIT license.
  255. var simpleSelectorRE = /^[\w-]*$/;
  256. var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);
  257. function qsa(element, selector) {
  258. var maybeID = selector[0] === '#',
  259. maybeClass = selector[0] === '.',
  260. nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,
  261. isSimple = simpleSelectorRE.test(nameOnly),
  262. found;
  263. if (isSimple) {
  264. if (maybeID) {
  265. element = element.getElementById ? element : document;
  266. return (found = element.getElementById(nameOnly)) ? [found] : [];
  267. }
  268. if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly));
  269. return toArray(element.getElementsByTagName(selector));
  270. }
  271. return toArray(element.querySelectorAll(selector));
  272. }
  273. module.exports = exports["default"];
  274. /***/ }),
  275. /* 11 */
  276. /***/ (function(module, exports, __webpack_require__) {
  277. "use strict";
  278. exports.__esModule = true;
  279. exports.default = void 0;
  280. var _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
  281. exports.default = _default;
  282. module.exports = exports["default"];
  283. /***/ }),
  284. /* 12 */
  285. /***/ (function(module, exports, __webpack_require__) {
  286. "use strict";
  287. var _interopRequireDefault = __webpack_require__(9);
  288. exports.__esModule = true;
  289. exports.default = style;
  290. var _camelizeStyle = _interopRequireDefault(__webpack_require__(37));
  291. var _hyphenateStyle = _interopRequireDefault(__webpack_require__(57));
  292. var _getComputedStyle2 = _interopRequireDefault(__webpack_require__(59));
  293. var _removeStyle = _interopRequireDefault(__webpack_require__(60));
  294. var _properties = __webpack_require__(26);
  295. var _isTransform = _interopRequireDefault(__webpack_require__(61));
  296. function style(node, property, value) {
  297. var css = '';
  298. var transforms = '';
  299. var props = property;
  300. if (typeof property === 'string') {
  301. if (value === undefined) {
  302. return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));
  303. } else {
  304. (props = {})[property] = value;
  305. }
  306. }
  307. Object.keys(props).forEach(function (key) {
  308. var value = props[key];
  309. if (!value && value !== 0) {
  310. (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));
  311. } else if ((0, _isTransform.default)(key)) {
  312. transforms += key + "(" + value + ") ";
  313. } else {
  314. css += (0, _hyphenateStyle.default)(key) + ": " + value + ";";
  315. }
  316. });
  317. if (transforms) {
  318. css += _properties.transform + ": " + transforms + ";";
  319. }
  320. node.style.cssText += ';' + css;
  321. }
  322. module.exports = exports["default"];
  323. /***/ }),
  324. /* 13 */
  325. /***/ (function(module, exports, __webpack_require__) {
  326. "use strict";
  327. Object.defineProperty(exports, "__esModule", {
  328. value: true
  329. });
  330. exports.default = isRequiredForA11y;
  331. function isRequiredForA11y(validator) {
  332. return function validate(props, propName, componentName, location, propFullName) {
  333. var componentNameSafe = componentName || '<<anonymous>>';
  334. var propFullNameSafe = propFullName || propName;
  335. if (props[propName] == null) {
  336. return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
  337. }
  338. for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
  339. args[_key - 5] = arguments[_key];
  340. }
  341. return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
  342. };
  343. }
  344. module.exports = exports['default'];
  345. /***/ }),
  346. /* 14 */
  347. /***/ (function(module, exports) {
  348. function _extends() {
  349. module.exports = _extends = Object.assign || function (target) {
  350. for (var i = 1; i < arguments.length; i++) {
  351. var source = arguments[i];
  352. for (var key in source) {
  353. if (Object.prototype.hasOwnProperty.call(source, key)) {
  354. target[key] = source[key];
  355. }
  356. }
  357. }
  358. return target;
  359. };
  360. return _extends.apply(this, arguments);
  361. }
  362. module.exports = _extends;
  363. /***/ }),
  364. /* 15 */
  365. /***/ (function(module, exports, __webpack_require__) {
  366. "use strict";
  367. /**
  368. * Copyright (c) 2013-present, Facebook, Inc.
  369. *
  370. * This source code is licensed under the MIT license found in the
  371. * LICENSE file in the root directory of this source tree.
  372. */
  373. /**
  374. * Use invariant() to assert state which your program assumes to be true.
  375. *
  376. * Provide sprintf-style format (only %s is supported) and arguments
  377. * to provide information about what broke and what you were
  378. * expecting.
  379. *
  380. * The invariant message will be stripped in production, but the invariant
  381. * will remain to ensure logic does not differ in production.
  382. */
  383. var invariant = function (condition, format, a, b, c, d, e, f) {
  384. if (false) {}
  385. if (!condition) {
  386. var error;
  387. if (format === undefined) {
  388. error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
  389. } else {
  390. var args = [a, b, c, d, e, f];
  391. var argIndex = 0;
  392. error = new Error(format.replace(/%s/g, function () {
  393. return args[argIndex++];
  394. }));
  395. error.name = 'Invariant Violation';
  396. }
  397. error.framesToPop = 1; // we don't care about invariant's own frame
  398. throw error;
  399. }
  400. };
  401. module.exports = invariant;
  402. /***/ }),
  403. /* 16 */
  404. /***/ (function(module, exports, __webpack_require__) {
  405. "use strict";
  406. /**
  407. * Copyright (c) 2014-present, Facebook, Inc.
  408. *
  409. * This source code is licensed under the MIT license found in the
  410. * LICENSE file in the root directory of this source tree.
  411. */
  412. /**
  413. * Similar to invariant but only logs a warning if the condition is not met.
  414. * This can be used to log issues in development environments in critical
  415. * paths. Removing the logging code for production environments will keep the
  416. * same logic and follow the same code paths.
  417. */
  418. var __DEV__ = "production" !== 'production';
  419. var warning = function () {};
  420. if (__DEV__) {
  421. var printWarning = function printWarning(format, args) {
  422. var len = arguments.length;
  423. args = new Array(len > 1 ? len - 1 : 0);
  424. for (var key = 1; key < len; key++) {
  425. args[key - 1] = arguments[key];
  426. }
  427. var argIndex = 0;
  428. var message = 'Warning: ' + format.replace(/%s/g, function () {
  429. return args[argIndex++];
  430. });
  431. if (typeof console !== 'undefined') {
  432. console.error(message);
  433. }
  434. try {
  435. // --- Welcome to debugging React ---
  436. // This error was thrown as a convenience so that you can use this stack
  437. // to find the callsite that caused this warning to fire.
  438. throw new Error(message);
  439. } catch (x) {}
  440. };
  441. warning = function (condition, format, args) {
  442. var len = arguments.length;
  443. args = new Array(len > 2 ? len - 2 : 0);
  444. for (var key = 2; key < len; key++) {
  445. args[key - 2] = arguments[key];
  446. }
  447. if (format === undefined) {
  448. throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
  449. }
  450. if (!condition) {
  451. printWarning.apply(null, [format].concat(args));
  452. }
  453. };
  454. }
  455. module.exports = warning;
  456. /***/ }),
  457. /* 17 */
  458. /***/ (function(module, exports, __webpack_require__) {
  459. "use strict";
  460. exports.__esModule = true;
  461. exports.default = ownerDocument;
  462. function ownerDocument(node) {
  463. return node && node.ownerDocument || document;
  464. }
  465. module.exports = exports["default"];
  466. /***/ }),
  467. /* 18 */
  468. /***/ (function(module, exports) {
  469. function _inheritsLoose(subClass, superClass) {
  470. subClass.prototype = Object.create(superClass.prototype);
  471. subClass.prototype.constructor = subClass;
  472. subClass.__proto__ = superClass;
  473. }
  474. module.exports = _inheritsLoose;
  475. /***/ }),
  476. /* 19 */
  477. /***/ (function(module, exports, __webpack_require__) {
  478. "use strict";
  479. var _interopRequireDefault = __webpack_require__(9);
  480. exports.__esModule = true;
  481. exports.default = scrollbarSize;
  482. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  483. var size;
  484. function scrollbarSize(recalc) {
  485. if (!size && size !== 0 || recalc) {
  486. if (_inDOM.default) {
  487. var scrollDiv = document.createElement('div');
  488. scrollDiv.style.position = 'absolute';
  489. scrollDiv.style.top = '-9999px';
  490. scrollDiv.style.width = '50px';
  491. scrollDiv.style.height = '50px';
  492. scrollDiv.style.overflow = 'scroll';
  493. document.body.appendChild(scrollDiv);
  494. size = scrollDiv.offsetWidth - scrollDiv.clientWidth;
  495. document.body.removeChild(scrollDiv);
  496. }
  497. }
  498. return size;
  499. }
  500. module.exports = exports["default"];
  501. /***/ }),
  502. /* 20 */
  503. /***/ (function(module, exports, __webpack_require__) {
  504. "use strict";
  505. Object.defineProperty(exports, "__esModule", {
  506. value: true
  507. });
  508. exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
  509. var _all = __webpack_require__(24);
  510. var _all2 = _interopRequireDefault(_all);
  511. var _componentOrElement = __webpack_require__(21);
  512. var _componentOrElement2 = _interopRequireDefault(_componentOrElement);
  513. var _deprecated = __webpack_require__(62);
  514. var _deprecated2 = _interopRequireDefault(_deprecated);
  515. var _elementType = __webpack_require__(28);
  516. var _elementType2 = _interopRequireDefault(_elementType);
  517. var _isRequiredForA11y = __webpack_require__(13);
  518. var _isRequiredForA11y2 = _interopRequireDefault(_isRequiredForA11y);
  519. function _interopRequireDefault(obj) {
  520. return obj && obj.__esModule ? obj : {
  521. default: obj
  522. };
  523. }
  524. exports.all = _all2.default;
  525. exports.componentOrElement = _componentOrElement2.default;
  526. exports.deprecated = _deprecated2.default;
  527. exports.elementType = _elementType2.default;
  528. exports.isRequiredForA11y = _isRequiredForA11y2.default;
  529. /***/ }),
  530. /* 21 */
  531. /***/ (function(module, exports, __webpack_require__) {
  532. "use strict";
  533. Object.defineProperty(exports, "__esModule", {
  534. value: true
  535. });
  536. var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
  537. return typeof obj;
  538. } : function (obj) {
  539. return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
  540. };
  541. var _react = __webpack_require__(1);
  542. var _react2 = _interopRequireDefault(_react);
  543. var _createChainableTypeChecker = __webpack_require__(27);
  544. var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
  545. function _interopRequireDefault(obj) {
  546. return obj && obj.__esModule ? obj : {
  547. default: obj
  548. };
  549. }
  550. function validate(props, propName, componentName, location, propFullName) {
  551. var propValue = props[propName];
  552. var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
  553. if (_react2.default.isValidElement(propValue)) {
  554. return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');
  555. }
  556. if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
  557. return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
  558. }
  559. return null;
  560. }
  561. exports.default = (0, _createChainableTypeChecker2.default)(validate);
  562. module.exports = exports['default'];
  563. /***/ }),
  564. /* 22 */
  565. /***/ (function(module, exports, __webpack_require__) {
  566. "use strict";
  567. var _interopRequireDefault = __webpack_require__(9);
  568. exports.__esModule = true;
  569. exports.default = void 0;
  570. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  571. var _default = function () {
  572. // HTML DOM and SVG DOM may have different support levels,
  573. // so we need to check on context instead of a document root element.
  574. return _inDOM.default ? function (context, node) {
  575. if (context.contains) {
  576. return context.contains(node);
  577. } else if (context.compareDocumentPosition) {
  578. return context === node || !!(context.compareDocumentPosition(node) & 16);
  579. } else {
  580. return fallback(context, node);
  581. }
  582. } : fallback;
  583. }();
  584. exports.default = _default;
  585. function fallback(context, node) {
  586. if (node) do {
  587. if (node === context) return true;
  588. } while (node = node.parentNode);
  589. return false;
  590. }
  591. module.exports = exports["default"];
  592. /***/ }),
  593. /* 23 */
  594. /***/ (function(module, exports, __webpack_require__) {
  595. "use strict";
  596. var _interopRequireDefault = __webpack_require__(9);
  597. exports.__esModule = true;
  598. exports.default = void 0;
  599. var _properties = _interopRequireDefault(__webpack_require__(26));
  600. var _style = _interopRequireDefault(__webpack_require__(12));
  601. function onEnd(node, handler, duration) {
  602. var fakeEvent = {
  603. target: node,
  604. currentTarget: node
  605. },
  606. backup;
  607. if (!_properties.default.end) duration = 0;else if (duration == null) duration = parseDuration(node) || 0;
  608. if (_properties.default.end) {
  609. node.addEventListener(_properties.default.end, done, false);
  610. backup = setTimeout(function () {
  611. return done(fakeEvent);
  612. }, (duration || 100) * 1.5);
  613. } else setTimeout(done.bind(null, fakeEvent), 0);
  614. function done(event) {
  615. if (event.target !== event.currentTarget) return;
  616. clearTimeout(backup);
  617. event.target.removeEventListener(_properties.default.end, done);
  618. handler.call(this);
  619. }
  620. }
  621. onEnd._parseDuration = parseDuration;
  622. var _default = onEnd;
  623. exports.default = _default;
  624. function parseDuration(node) {
  625. var str = (0, _style.default)(node, _properties.default.duration),
  626. mult = str.indexOf('ms') === -1 ? 1000 : 1;
  627. return parseFloat(str) * mult;
  628. }
  629. module.exports = exports["default"];
  630. /***/ }),
  631. /* 24 */
  632. /***/ (function(module, exports, __webpack_require__) {
  633. "use strict";
  634. Object.defineProperty(exports, "__esModule", {
  635. value: true
  636. });
  637. exports.default = all;
  638. var _createChainableTypeChecker = __webpack_require__(27);
  639. var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
  640. function _interopRequireDefault(obj) {
  641. return obj && obj.__esModule ? obj : {
  642. default: obj
  643. };
  644. }
  645. function all() {
  646. for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {
  647. validators[_key] = arguments[_key];
  648. }
  649. function allPropTypes() {
  650. for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  651. args[_key2] = arguments[_key2];
  652. }
  653. var error = null;
  654. validators.forEach(function (validator) {
  655. if (error != null) {
  656. return;
  657. }
  658. var result = validator.apply(undefined, args);
  659. if (result != null) {
  660. error = result;
  661. }
  662. });
  663. return error;
  664. }
  665. return (0, _createChainableTypeChecker2.default)(allPropTypes);
  666. }
  667. module.exports = exports['default'];
  668. /***/ }),
  669. /* 25 */
  670. /***/ (function(module, exports, __webpack_require__) {
  671. "use strict";
  672. var _interopRequireDefault = __webpack_require__(9);
  673. exports.__esModule = true;
  674. exports.default = void 0;
  675. var _on = _interopRequireDefault(__webpack_require__(40));
  676. exports.on = _on.default;
  677. var _off = _interopRequireDefault(__webpack_require__(41));
  678. exports.off = _off.default;
  679. var _filter = _interopRequireDefault(__webpack_require__(70));
  680. exports.filter = _filter.default;
  681. var _listen = _interopRequireDefault(__webpack_require__(30));
  682. exports.listen = _listen.default;
  683. var _default = {
  684. on: _on.default,
  685. off: _off.default,
  686. filter: _filter.default,
  687. listen: _listen.default
  688. };
  689. exports.default = _default;
  690. /***/ }),
  691. /* 26 */
  692. /***/ (function(module, exports, __webpack_require__) {
  693. "use strict";
  694. var _interopRequireDefault = __webpack_require__(9);
  695. exports.__esModule = true;
  696. exports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;
  697. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  698. var transform = 'transform';
  699. exports.transform = transform;
  700. var prefix, transitionEnd, animationEnd;
  701. exports.animationEnd = animationEnd;
  702. exports.transitionEnd = transitionEnd;
  703. var transitionProperty, transitionDuration, transitionTiming, transitionDelay;
  704. exports.transitionDelay = transitionDelay;
  705. exports.transitionTiming = transitionTiming;
  706. exports.transitionDuration = transitionDuration;
  707. exports.transitionProperty = transitionProperty;
  708. var animationName, animationDuration, animationTiming, animationDelay;
  709. exports.animationDelay = animationDelay;
  710. exports.animationTiming = animationTiming;
  711. exports.animationDuration = animationDuration;
  712. exports.animationName = animationName;
  713. if (_inDOM.default) {
  714. var _getTransitionPropert = getTransitionProperties();
  715. prefix = _getTransitionPropert.prefix;
  716. exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;
  717. exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;
  718. exports.transform = transform = prefix + "-" + transform;
  719. exports.transitionProperty = transitionProperty = prefix + "-transition-property";
  720. exports.transitionDuration = transitionDuration = prefix + "-transition-duration";
  721. exports.transitionDelay = transitionDelay = prefix + "-transition-delay";
  722. exports.transitionTiming = transitionTiming = prefix + "-transition-timing-function";
  723. exports.animationName = animationName = prefix + "-animation-name";
  724. exports.animationDuration = animationDuration = prefix + "-animation-duration";
  725. exports.animationTiming = animationTiming = prefix + "-animation-delay";
  726. exports.animationDelay = animationDelay = prefix + "-animation-timing-function";
  727. }
  728. var _default = {
  729. transform: transform,
  730. end: transitionEnd,
  731. property: transitionProperty,
  732. timing: transitionTiming,
  733. delay: transitionDelay,
  734. duration: transitionDuration
  735. };
  736. exports.default = _default;
  737. function getTransitionProperties() {
  738. var style = document.createElement('div').style;
  739. var vendorMap = {
  740. O: function O(e) {
  741. return "o" + e.toLowerCase();
  742. },
  743. Moz: function Moz(e) {
  744. return e.toLowerCase();
  745. },
  746. Webkit: function Webkit(e) {
  747. return "webkit" + e;
  748. },
  749. ms: function ms(e) {
  750. return "MS" + e;
  751. }
  752. };
  753. var vendors = Object.keys(vendorMap);
  754. var transitionEnd, animationEnd;
  755. var prefix = '';
  756. for (var i = 0; i < vendors.length; i++) {
  757. var vendor = vendors[i];
  758. if (vendor + "TransitionProperty" in style) {
  759. prefix = "-" + vendor.toLowerCase();
  760. transitionEnd = vendorMap[vendor]('TransitionEnd');
  761. animationEnd = vendorMap[vendor]('AnimationEnd');
  762. break;
  763. }
  764. }
  765. if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';
  766. if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';
  767. style = null;
  768. return {
  769. animationEnd: animationEnd,
  770. transitionEnd: transitionEnd,
  771. prefix: prefix
  772. };
  773. }
  774. /***/ }),
  775. /* 27 */
  776. /***/ (function(module, exports, __webpack_require__) {
  777. "use strict";
  778. Object.defineProperty(exports, "__esModule", {
  779. value: true
  780. });
  781. exports.default = createChainableTypeChecker;
  782. /**
  783. * Copyright 2013-present, Facebook, Inc.
  784. * All rights reserved.
  785. *
  786. * This source code is licensed under the BSD-style license found in the
  787. * LICENSE file in the root directory of this source tree. An additional grant
  788. * of patent rights can be found in the PATENTS file in the same directory.
  789. */
  790. // Mostly taken from ReactPropTypes.
  791. function createChainableTypeChecker(validate) {
  792. function checkType(isRequired, props, propName, componentName, location, propFullName) {
  793. var componentNameSafe = componentName || '<<anonymous>>';
  794. var propFullNameSafe = propFullName || propName;
  795. if (props[propName] == null) {
  796. if (isRequired) {
  797. return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
  798. }
  799. return null;
  800. }
  801. for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
  802. args[_key - 6] = arguments[_key];
  803. }
  804. return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
  805. }
  806. var chainedCheckType = checkType.bind(null, false);
  807. chainedCheckType.isRequired = checkType.bind(null, true);
  808. return chainedCheckType;
  809. }
  810. module.exports = exports['default'];
  811. /***/ }),
  812. /* 28 */
  813. /***/ (function(module, exports, __webpack_require__) {
  814. "use strict";
  815. Object.defineProperty(exports, "__esModule", {
  816. value: true
  817. });
  818. var _react = __webpack_require__(1);
  819. var _react2 = _interopRequireDefault(_react);
  820. var _reactIs = __webpack_require__(64);
  821. var _createChainableTypeChecker = __webpack_require__(27);
  822. var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
  823. function _interopRequireDefault(obj) {
  824. return obj && obj.__esModule ? obj : {
  825. default: obj
  826. };
  827. }
  828. function elementType(props, propName, componentName, location, propFullName) {
  829. var propValue = props[propName];
  830. if (_react2.default.isValidElement(propValue)) {
  831. return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`,expected an element type (a string ') + ', component class, or function component).');
  832. }
  833. if (!(0, _reactIs.isValidElementType)(propValue)) {
  834. return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + ', component class, or function component).');
  835. }
  836. return null;
  837. }
  838. exports.default = (0, _createChainableTypeChecker2.default)(elementType);
  839. module.exports = exports['default'];
  840. /***/ }),
  841. /* 29 */
  842. /***/ (function(module, exports, __webpack_require__) {
  843. "use strict";
  844. exports.__esModule = true;
  845. exports.default = void 0;
  846. var _react = _interopRequireDefault(__webpack_require__(1));
  847. function _interopRequireDefault(obj) {
  848. return obj && obj.__esModule ? obj : {
  849. default: obj
  850. };
  851. }
  852. var DropdownContext = _react.default.createContext({
  853. menuRef: function menuRef() {},
  854. toggleRef: function toggleRef() {},
  855. onToggle: function onToggle() {},
  856. toggleNode: undefined,
  857. alignEnd: null,
  858. show: null,
  859. drop: null
  860. });
  861. var _default = DropdownContext;
  862. exports.default = _default;
  863. module.exports = exports.default;
  864. /***/ }),
  865. /* 30 */
  866. /***/ (function(module, exports, __webpack_require__) {
  867. "use strict";
  868. var _interopRequireDefault = __webpack_require__(9);
  869. exports.__esModule = true;
  870. exports.default = void 0;
  871. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  872. var _on = _interopRequireDefault(__webpack_require__(40));
  873. var _off = _interopRequireDefault(__webpack_require__(41));
  874. var listen = function listen() {};
  875. if (_inDOM.default) {
  876. listen = function listen(node, eventName, handler, capture) {
  877. (0, _on.default)(node, eventName, handler, capture);
  878. return function () {
  879. (0, _off.default)(node, eventName, handler, capture);
  880. };
  881. };
  882. }
  883. var _default = listen;
  884. exports.default = _default;
  885. module.exports = exports["default"];
  886. /***/ }),
  887. /* 31 */
  888. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  889. "use strict";
  890. __webpack_require__.r(__webpack_exports__);
  891. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js
  892. var objectWithoutPropertiesLoose = __webpack_require__(51);
  893. var objectWithoutPropertiesLoose_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesLoose);
  894. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
  895. var helpers_extends = __webpack_require__(14);
  896. var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
  897. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
  898. var assertThisInitialized = __webpack_require__(6);
  899. var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
  900. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inheritsLoose.js
  901. var inheritsLoose = __webpack_require__(18);
  902. var inheritsLoose_default = /*#__PURE__*/__webpack_require__.n(inheritsLoose);
  903. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
  904. var defineProperty = __webpack_require__(7);
  905. var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
  906. // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
  907. var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(1);
  908. // EXTERNAL MODULE: ./node_modules/popper.js/dist/esm/popper.js
  909. var popper = __webpack_require__(36);
  910. // EXTERNAL MODULE: ./node_modules/create-react-context/lib/index.js
  911. var lib = __webpack_require__(52);
  912. var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
  913. // CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/Manager.js
  914. var ManagerContext = lib_default()({
  915. setReferenceNode: undefined,
  916. referenceNode: undefined
  917. });
  918. var Manager_Manager =
  919. /*#__PURE__*/
  920. function (_React$Component) {
  921. inheritsLoose_default()(Manager, _React$Component);
  922. function Manager() {
  923. var _this;
  924. _this = _React$Component.call(this) || this;
  925. defineProperty_default()(assertThisInitialized_default()(_this), "setReferenceNode", function (referenceNode) {
  926. if (!referenceNode || _this.state.context.referenceNode === referenceNode) {
  927. return;
  928. }
  929. _this.setState(function (_ref) {
  930. var context = _ref.context;
  931. return {
  932. context: extends_default()({}, context, {
  933. referenceNode: referenceNode
  934. })
  935. };
  936. });
  937. });
  938. _this.state = {
  939. context: {
  940. setReferenceNode: _this.setReferenceNode,
  941. referenceNode: undefined
  942. }
  943. };
  944. return _this;
  945. }
  946. var _proto = Manager.prototype;
  947. _proto.render = function render() {
  948. return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](ManagerContext.Provider, {
  949. value: this.state.context
  950. }, this.props.children);
  951. };
  952. return Manager;
  953. }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]);
  954. // CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/utils.js
  955. /**
  956. * Takes an argument and if it's an array, returns the first item in the array,
  957. * otherwise returns the argument. Used for Preact compatibility.
  958. */
  959. var unwrapArray = function unwrapArray(arg) {
  960. return Array.isArray(arg) ? arg[0] : arg;
  961. };
  962. /**
  963. * Takes a maybe-undefined function and arbitrary args and invokes the function
  964. * only if it is defined.
  965. */
  966. var safeInvoke = function safeInvoke(fn) {
  967. if (typeof fn === "function") {
  968. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  969. args[_key - 1] = arguments[_key];
  970. }
  971. return fn.apply(void 0, args);
  972. }
  973. };
  974. // CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/Popper.js
  975. var initialStyle = {
  976. position: 'absolute',
  977. top: 0,
  978. left: 0,
  979. opacity: 0,
  980. pointerEvents: 'none'
  981. };
  982. var initialArrowStyle = {};
  983. var Popper_InnerPopper =
  984. /*#__PURE__*/
  985. function (_React$Component) {
  986. inheritsLoose_default()(InnerPopper, _React$Component);
  987. function InnerPopper() {
  988. var _this;
  989. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  990. args[_key] = arguments[_key];
  991. }
  992. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  993. defineProperty_default()(assertThisInitialized_default()(_this), "state", {
  994. data: undefined,
  995. placement: undefined
  996. });
  997. defineProperty_default()(assertThisInitialized_default()(_this), "popperInstance", void 0);
  998. defineProperty_default()(assertThisInitialized_default()(_this), "popperNode", null);
  999. defineProperty_default()(assertThisInitialized_default()(_this), "arrowNode", null);
  1000. defineProperty_default()(assertThisInitialized_default()(_this), "setPopperNode", function (popperNode) {
  1001. if (!popperNode || _this.popperNode === popperNode) return;
  1002. safeInvoke(_this.props.innerRef, popperNode);
  1003. _this.popperNode = popperNode;
  1004. _this.updatePopperInstance();
  1005. });
  1006. defineProperty_default()(assertThisInitialized_default()(_this), "setArrowNode", function (arrowNode) {
  1007. _this.arrowNode = arrowNode;
  1008. });
  1009. defineProperty_default()(assertThisInitialized_default()(_this), "updateStateModifier", {
  1010. enabled: true,
  1011. order: 900,
  1012. fn: function fn(data) {
  1013. var placement = data.placement;
  1014. _this.setState({
  1015. data: data,
  1016. placement: placement
  1017. });
  1018. return data;
  1019. }
  1020. });
  1021. defineProperty_default()(assertThisInitialized_default()(_this), "getOptions", function () {
  1022. return {
  1023. placement: _this.props.placement,
  1024. eventsEnabled: _this.props.eventsEnabled,
  1025. positionFixed: _this.props.positionFixed,
  1026. modifiers: extends_default()({}, _this.props.modifiers, {
  1027. arrow: extends_default()({}, _this.props.modifiers && _this.props.modifiers.arrow, {
  1028. enabled: !!_this.arrowNode,
  1029. element: _this.arrowNode
  1030. }),
  1031. applyStyle: {
  1032. enabled: false
  1033. },
  1034. updateStateModifier: _this.updateStateModifier
  1035. })
  1036. };
  1037. });
  1038. defineProperty_default()(assertThisInitialized_default()(_this), "getPopperStyle", function () {
  1039. return !_this.popperNode || !_this.state.data ? initialStyle : extends_default()({
  1040. position: _this.state.data.offsets.popper.position
  1041. }, _this.state.data.styles);
  1042. });
  1043. defineProperty_default()(assertThisInitialized_default()(_this), "getPopperPlacement", function () {
  1044. return !_this.state.data ? undefined : _this.state.placement;
  1045. });
  1046. defineProperty_default()(assertThisInitialized_default()(_this), "getArrowStyle", function () {
  1047. return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;
  1048. });
  1049. defineProperty_default()(assertThisInitialized_default()(_this), "getOutOfBoundariesState", function () {
  1050. return _this.state.data ? _this.state.data.hide : undefined;
  1051. });
  1052. defineProperty_default()(assertThisInitialized_default()(_this), "destroyPopperInstance", function () {
  1053. if (!_this.popperInstance) return;
  1054. _this.popperInstance.destroy();
  1055. _this.popperInstance = null;
  1056. });
  1057. defineProperty_default()(assertThisInitialized_default()(_this), "updatePopperInstance", function () {
  1058. _this.destroyPopperInstance();
  1059. var _assertThisInitialize = assertThisInitialized_default()(_this),
  1060. popperNode = _assertThisInitialize.popperNode;
  1061. var referenceElement = _this.props.referenceElement;
  1062. if (!referenceElement || !popperNode) return;
  1063. _this.popperInstance = new popper["a" /* default */](referenceElement, popperNode, _this.getOptions());
  1064. });
  1065. defineProperty_default()(assertThisInitialized_default()(_this), "scheduleUpdate", function () {
  1066. if (_this.popperInstance) {
  1067. _this.popperInstance.scheduleUpdate();
  1068. }
  1069. });
  1070. return _this;
  1071. }
  1072. var _proto = InnerPopper.prototype;
  1073. _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
  1074. // If the Popper.js options have changed, update the instance (destroy + create)
  1075. if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed) {
  1076. this.updatePopperInstance();
  1077. } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {
  1078. this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();
  1079. } // A placement difference in state means popper determined a new placement
  1080. // apart from the props value. By the time the popper element is rendered with
  1081. // the new position Popper has already measured it, if the place change triggers
  1082. // a size change it will result in a misaligned popper. So we schedule an update to be sure.
  1083. if (prevState.placement !== this.state.placement) {
  1084. this.scheduleUpdate();
  1085. }
  1086. };
  1087. _proto.componentWillUnmount = function componentWillUnmount() {
  1088. safeInvoke(this.props.innerRef, null);
  1089. this.destroyPopperInstance();
  1090. };
  1091. _proto.render = function render() {
  1092. return unwrapArray(this.props.children)({
  1093. ref: this.setPopperNode,
  1094. style: this.getPopperStyle(),
  1095. placement: this.getPopperPlacement(),
  1096. outOfBoundaries: this.getOutOfBoundariesState(),
  1097. scheduleUpdate: this.scheduleUpdate,
  1098. arrowProps: {
  1099. ref: this.setArrowNode,
  1100. style: this.getArrowStyle()
  1101. }
  1102. });
  1103. };
  1104. return InnerPopper;
  1105. }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]);
  1106. defineProperty_default()(Popper_InnerPopper, "defaultProps", {
  1107. placement: 'bottom',
  1108. eventsEnabled: true,
  1109. referenceElement: undefined,
  1110. positionFixed: false
  1111. });
  1112. var placements = popper["a" /* default */].placements;
  1113. function Popper(_ref) {
  1114. var referenceElement = _ref.referenceElement,
  1115. props = objectWithoutPropertiesLoose_default()(_ref, ["referenceElement"]);
  1116. return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](ManagerContext.Consumer, null, function (_ref2) {
  1117. var referenceNode = _ref2.referenceNode;
  1118. return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](Popper_InnerPopper, extends_default()({
  1119. referenceElement: referenceElement !== undefined ? referenceElement : referenceNode
  1120. }, props));
  1121. });
  1122. }
  1123. // EXTERNAL MODULE: ./node_modules/warning/warning.js
  1124. var warning = __webpack_require__(16);
  1125. var warning_default = /*#__PURE__*/__webpack_require__.n(warning);
  1126. // CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/Reference.js
  1127. var Reference_InnerReference =
  1128. /*#__PURE__*/
  1129. function (_React$Component) {
  1130. inheritsLoose_default()(InnerReference, _React$Component);
  1131. function InnerReference() {
  1132. var _this;
  1133. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  1134. args[_key] = arguments[_key];
  1135. }
  1136. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  1137. defineProperty_default()(assertThisInitialized_default()(_this), "refHandler", function (node) {
  1138. safeInvoke(_this.props.innerRef, node);
  1139. safeInvoke(_this.props.setReferenceNode, node);
  1140. });
  1141. return _this;
  1142. }
  1143. var _proto = InnerReference.prototype;
  1144. _proto.componentWillUnmount = function componentWillUnmount() {
  1145. safeInvoke(this.props.innerRef, null);
  1146. };
  1147. _proto.render = function render() {
  1148. warning_default()(Boolean(this.props.setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');
  1149. return unwrapArray(this.props.children)({
  1150. ref: this.refHandler
  1151. });
  1152. };
  1153. return InnerReference;
  1154. }(external_root_React_commonjs2_react_commonjs_react_amd_react_["Component"]);
  1155. function Reference(props) {
  1156. return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](ManagerContext.Consumer, null, function (_ref) {
  1157. var setReferenceNode = _ref.setReferenceNode;
  1158. return external_root_React_commonjs2_react_commonjs_react_amd_react_["createElement"](Reference_InnerReference, extends_default()({
  1159. setReferenceNode: setReferenceNode
  1160. }, props));
  1161. });
  1162. }
  1163. // CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/index.js
  1164. /* concated harmony reexport Popper */__webpack_require__.d(__webpack_exports__, "Popper", function() { return Popper; });
  1165. /* concated harmony reexport placements */__webpack_require__.d(__webpack_exports__, "placements", function() { return placements; });
  1166. /* concated harmony reexport Manager */__webpack_require__.d(__webpack_exports__, "Manager", function() { return Manager_Manager; });
  1167. /* concated harmony reexport Reference */__webpack_require__.d(__webpack_exports__, "Reference", function() { return Reference; });
  1168. // Public components
  1169. // Public types
  1170. /***/ }),
  1171. /* 32 */
  1172. /***/ (function(module, exports, __webpack_require__) {
  1173. "use strict";
  1174. exports.__esModule = true;
  1175. exports.default = camelize;
  1176. var rHyphen = /-(.)/g;
  1177. function camelize(string) {
  1178. return string.replace(rHyphen, function (_, chr) {
  1179. return chr.toUpperCase();
  1180. });
  1181. }
  1182. module.exports = exports["default"];
  1183. /***/ }),
  1184. /* 33 */
  1185. /***/ (function(module, exports, __webpack_require__) {
  1186. "use strict";
  1187. exports.__esModule = true;
  1188. exports.default = void 0;
  1189. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  1190. var _react = _interopRequireDefault(__webpack_require__(1));
  1191. var _reactPopper = __webpack_require__(31);
  1192. var _DropdownContext = _interopRequireDefault(__webpack_require__(29));
  1193. var _RootCloseWrapper = _interopRequireDefault(__webpack_require__(39));
  1194. var _mapContextToProps = _interopRequireDefault(__webpack_require__(69));
  1195. function _interopRequireDefault(obj) {
  1196. return obj && obj.__esModule ? obj : {
  1197. default: obj
  1198. };
  1199. }
  1200. function _objectWithoutPropertiesLoose(source, excluded) {
  1201. if (source == null) return {};
  1202. var target = {};
  1203. var sourceKeys = Object.keys(source);
  1204. var key, i;
  1205. for (i = 0; i < sourceKeys.length; i++) {
  1206. key = sourceKeys[i];
  1207. if (excluded.indexOf(key) >= 0) continue;
  1208. target[key] = source[key];
  1209. }
  1210. return target;
  1211. }
  1212. function _extends() {
  1213. _extends = Object.assign || function (target) {
  1214. for (var i = 1; i < arguments.length; i++) {
  1215. var source = arguments[i];
  1216. for (var key in source) {
  1217. if (Object.prototype.hasOwnProperty.call(source, key)) {
  1218. target[key] = source[key];
  1219. }
  1220. }
  1221. }
  1222. return target;
  1223. };
  1224. return _extends.apply(this, arguments);
  1225. }
  1226. function _inheritsLoose(subClass, superClass) {
  1227. subClass.prototype = Object.create(superClass.prototype);
  1228. subClass.prototype.constructor = subClass;
  1229. subClass.__proto__ = superClass;
  1230. }
  1231. var DropdownMenu =
  1232. /*#__PURE__*/
  1233. function (_React$Component) {
  1234. _inheritsLoose(DropdownMenu, _React$Component);
  1235. function DropdownMenu() {
  1236. var _this;
  1237. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  1238. args[_key] = arguments[_key];
  1239. }
  1240. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  1241. _this.state = {
  1242. toggleId: null
  1243. };
  1244. _this.popperIsInitialized = false;
  1245. _this.handleClose = function (e) {
  1246. if (!_this.props.onToggle) return;
  1247. _this.props.onToggle(false, e);
  1248. };
  1249. return _this;
  1250. }
  1251. var _proto = DropdownMenu.prototype;
  1252. _proto.getSnapshotBeforeUpdate = function getSnapshotBeforeUpdate(prevProps) {
  1253. // If, to the best we can tell, this update won't reinitialize popper,
  1254. // manually schedule an update
  1255. var shouldUpdatePopper = !prevProps.show && this.props.show && this.popperIsInitialized && // a new reference node will already trigger this internally
  1256. prevProps.toggleNode === this.props.toggleNode;
  1257. if (this.props.show && this.props.usePopper && !this.popperIsInitialized) {
  1258. this.popperIsInitialized = true;
  1259. }
  1260. return !!shouldUpdatePopper;
  1261. };
  1262. _proto.componentDidUpdate = function componentDidUpdate(_, __, shouldUpdatePopper) {
  1263. if (shouldUpdatePopper && this.scheduleUpdate) {
  1264. this.scheduleUpdate();
  1265. }
  1266. };
  1267. _proto.render = function render() {
  1268. var _this2 = this;
  1269. var _this$props = this.props,
  1270. show = _this$props.show,
  1271. flip = _this$props.flip,
  1272. menuRef = _this$props.menuRef,
  1273. alignEnd = _this$props.alignEnd,
  1274. drop = _this$props.drop,
  1275. usePopper = _this$props.usePopper,
  1276. toggleNode = _this$props.toggleNode,
  1277. rootCloseEvent = _this$props.rootCloseEvent,
  1278. _this$props$popperCon = _this$props.popperConfig,
  1279. popperConfig = _this$props$popperCon === void 0 ? {} : _this$props$popperCon;
  1280. var placement = alignEnd ? 'bottom-end' : 'bottom-start';
  1281. if (drop === 'up') placement = alignEnd ? 'top-end' : 'top-start';
  1282. if (drop === 'right') placement = alignEnd ? 'right-end' : 'right-start';
  1283. if (drop === 'left') placement = alignEnd ? 'left-end' : 'left-start';
  1284. var menu = null;
  1285. var menuProps = {
  1286. ref: menuRef,
  1287. 'aria-labelledby': toggleNode && toggleNode.id
  1288. };
  1289. var childArgs = {
  1290. show: show,
  1291. alignEnd: alignEnd,
  1292. close: this.handleClose
  1293. };
  1294. if (!usePopper) {
  1295. menu = this.props.children(_extends({}, childArgs, {
  1296. props: menuProps
  1297. }));
  1298. } else if (this.popperIsInitialized || show) {
  1299. // Add it this way, so it doesn't override someones usage
  1300. // with react-poppers <Reference>
  1301. if (toggleNode) popperConfig.referenceElement = toggleNode;
  1302. menu = _react.default.createElement(_reactPopper.Popper, _extends({}, popperConfig, {
  1303. innerRef: menuRef,
  1304. placement: placement,
  1305. eventsEnabled: !!show,
  1306. modifiers: _extends({
  1307. flip: {
  1308. enabled: !!flip
  1309. }
  1310. }, popperConfig.modifiers)
  1311. }), function (_ref) {
  1312. var ref = _ref.ref,
  1313. style = _ref.style,
  1314. popper = _objectWithoutPropertiesLoose(_ref, ["ref", "style"]);
  1315. _this2.scheduleUpdate = popper.scheduleUpdate;
  1316. return _this2.props.children(_extends({}, popper, childArgs, {
  1317. props: _extends({}, menuProps, {
  1318. ref: ref,
  1319. style: style
  1320. })
  1321. }));
  1322. });
  1323. }
  1324. return menu && _react.default.createElement(_RootCloseWrapper.default, {
  1325. disabled: !show,
  1326. event: rootCloseEvent,
  1327. onRootClose: this.handleClose
  1328. }, menu);
  1329. };
  1330. return DropdownMenu;
  1331. }(_react.default.Component);
  1332. DropdownMenu.displayName = 'ReactOverlaysDropdownMenu';
  1333. DropdownMenu.propTypes = {
  1334. /**
  1335. * A render prop that returns a Menu element. The `props`
  1336. * argument should spread through to **a component that can accept a ref**.
  1337. *
  1338. * @type {Function ({
  1339. * show: boolean,
  1340. * alignEnd: boolean,
  1341. * close: (?SyntheticEvent) => void,
  1342. * placement: Placement,
  1343. * outOfBoundaries: ?boolean,
  1344. * scheduleUpdate: () => void,
  1345. * props: {
  1346. * ref: (?HTMLElement) => void,
  1347. * style: { [string]: string | number },
  1348. * aria-labelledby: ?string
  1349. * },
  1350. * arrowProps: {
  1351. * ref: (?HTMLElement) => void,
  1352. * style: { [string]: string | number },
  1353. * },
  1354. * }) => React.Element}
  1355. */
  1356. children: _propTypes.default.func.isRequired,
  1357. /**
  1358. * Controls the visible state of the menu, generally this is
  1359. * provided by the parent `Dropdown` component,
  1360. * but may also be specified as a prop directly.
  1361. */
  1362. show: _propTypes.default.bool,
  1363. /**
  1364. * Aligns the dropdown menu to the 'end' of it's placement position.
  1365. * Generally this is provided by the parent `Dropdown` component,
  1366. * but may also be specified as a prop directly.
  1367. */
  1368. alignEnd: _propTypes.default.bool,
  1369. /**
  1370. * Enables the Popper.js `flip` modifier, allowing the Dropdown to
  1371. * automatically adjust it's placement in case of overlap with the viewport or toggle.
  1372. * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info
  1373. */
  1374. flip: _propTypes.default.bool,
  1375. usePopper: _propTypes.default.oneOf([true, false]),
  1376. /**
  1377. * A set of popper options and props passed directly to react-popper's Popper component.
  1378. */
  1379. popperConfig: _propTypes.default.object,
  1380. /**
  1381. * Override the default event used by RootCloseWrapper.
  1382. */
  1383. rootCloseEvent: _propTypes.default.string,
  1384. /** @private */
  1385. onToggle: _propTypes.default.func,
  1386. /** @private */
  1387. menuRef: _propTypes.default.func,
  1388. /** @private */
  1389. drop: _propTypes.default.string,
  1390. /** @private */
  1391. toggleNode: _propTypes.default.any
  1392. };
  1393. DropdownMenu.defaultProps = {
  1394. usePopper: true
  1395. };
  1396. var DecoratedDropdownMenu = (0, _mapContextToProps.default)(_DropdownContext.default, function (_ref2, props) {
  1397. var show = _ref2.show,
  1398. alignEnd = _ref2.alignEnd,
  1399. toggle = _ref2.toggle,
  1400. drop = _ref2.drop,
  1401. menuRef = _ref2.menuRef,
  1402. toggleNode = _ref2.toggleNode;
  1403. return {
  1404. drop: drop,
  1405. menuRef: menuRef,
  1406. toggleNode: toggleNode,
  1407. onToggle: toggle,
  1408. show: show == null ? props.show : show,
  1409. alignEnd: alignEnd == null ? props.alignEnd : alignEnd
  1410. };
  1411. }, DropdownMenu);
  1412. var _default = DecoratedDropdownMenu;
  1413. exports.default = _default;
  1414. module.exports = exports.default;
  1415. /***/ }),
  1416. /* 34 */
  1417. /***/ (function(module, exports, __webpack_require__) {
  1418. "use strict";
  1419. exports.__esModule = true;
  1420. exports.default = void 0;
  1421. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  1422. var _react = _interopRequireDefault(__webpack_require__(1));
  1423. var _DropdownContext = _interopRequireDefault(__webpack_require__(29));
  1424. function _interopRequireDefault(obj) {
  1425. return obj && obj.__esModule ? obj : {
  1426. default: obj
  1427. };
  1428. }
  1429. var propTypes = {
  1430. /**
  1431. * A render prop that returns a Toggle element. The `props`
  1432. * argument should spread through to **a component that can accept a ref**. Use
  1433. * the `onToggle` argument to toggle the menu open or closed
  1434. *
  1435. * @type {Function ({
  1436. * show: boolean,
  1437. * toggle: (show: boolean) => void,
  1438. * props: {
  1439. * ref: (?HTMLElement) => void,
  1440. * aria-haspopup: true
  1441. * aria-expanded: boolean
  1442. * },
  1443. * }) => React.Element}
  1444. */
  1445. children: _propTypes.default.func.isRequired
  1446. };
  1447. function DropdownToggle(_ref) {
  1448. var children = _ref.children;
  1449. return _react.default.createElement(_DropdownContext.default.Consumer, null, function (_ref2) {
  1450. var show = _ref2.show,
  1451. toggle = _ref2.toggle,
  1452. toggleRef = _ref2.toggleRef;
  1453. return children({
  1454. show: show,
  1455. toggle: toggle,
  1456. props: {
  1457. ref: toggleRef,
  1458. 'aria-haspopup': true,
  1459. 'aria-expanded': !!show
  1460. }
  1461. });
  1462. });
  1463. }
  1464. DropdownToggle.displayName = 'ReactOverlaysDropdownToggle';
  1465. DropdownToggle.propTypes = propTypes;
  1466. var _default = DropdownToggle;
  1467. exports.default = _default;
  1468. module.exports = exports.default;
  1469. /***/ }),
  1470. /* 35 */
  1471. /***/ (function(module, exports, __webpack_require__) {
  1472. "use strict";
  1473. exports.__esModule = true;
  1474. exports.default = void 0;
  1475. var _class = _interopRequireDefault(__webpack_require__(72));
  1476. var _style = _interopRequireDefault(__webpack_require__(12));
  1477. var _scrollbarSize = _interopRequireDefault(__webpack_require__(19));
  1478. var _isOverflowing = _interopRequireDefault(__webpack_require__(75));
  1479. var _manageAriaHidden = __webpack_require__(77);
  1480. function _interopRequireDefault(obj) {
  1481. return obj && obj.__esModule ? obj : {
  1482. default: obj
  1483. };
  1484. }
  1485. function findIndexOf(arr, cb) {
  1486. var idx = -1;
  1487. arr.some(function (d, i) {
  1488. if (cb(d, i)) {
  1489. idx = i;
  1490. return true;
  1491. }
  1492. });
  1493. return idx;
  1494. }
  1495. /**
  1496. * Proper state managment for containers and the modals in those containers.
  1497. *
  1498. * @internal Used by the Modal to ensure proper styling of containers.
  1499. */
  1500. var ModalManager =
  1501. /*#__PURE__*/
  1502. function () {
  1503. function ModalManager(_temp) {
  1504. var _ref = _temp === void 0 ? {} : _temp,
  1505. _ref$hideSiblingNodes = _ref.hideSiblingNodes,
  1506. hideSiblingNodes = _ref$hideSiblingNodes === void 0 ? true : _ref$hideSiblingNodes,
  1507. _ref$handleContainerO = _ref.handleContainerOverflow,
  1508. handleContainerOverflow = _ref$handleContainerO === void 0 ? true : _ref$handleContainerO;
  1509. this.hideSiblingNodes = hideSiblingNodes;
  1510. this.handleContainerOverflow = handleContainerOverflow;
  1511. this.modals = [];
  1512. this.containers = [];
  1513. this.data = [];
  1514. this.scrollbarSize = (0, _scrollbarSize.default)();
  1515. }
  1516. var _proto = ModalManager.prototype;
  1517. _proto.isContainerOverflowing = function isContainerOverflowing(modal) {
  1518. var data = this.data[this.containerIndexFromModal(modal)];
  1519. return data && data.overflowing;
  1520. };
  1521. _proto.containerIndexFromModal = function containerIndexFromModal(modal) {
  1522. return findIndexOf(this.data, function (d) {
  1523. return d.modals.indexOf(modal) !== -1;
  1524. });
  1525. };
  1526. _proto.setContainerStyle = function setContainerStyle(containerState, container) {
  1527. var style = {
  1528. overflow: 'hidden' // we are only interested in the actual `style` here
  1529. // becasue we will override it
  1530. };
  1531. containerState.style = {
  1532. overflow: container.style.overflow,
  1533. paddingRight: container.style.paddingRight
  1534. };
  1535. if (containerState.overflowing) {
  1536. // use computed style, here to get the real padding
  1537. // to add our scrollbar width
  1538. style.paddingRight = parseInt((0, _style.default)(container, 'paddingRight') || 0, 10) + this.scrollbarSize + "px";
  1539. }
  1540. (0, _style.default)(container, style);
  1541. };
  1542. _proto.removeContainerStyle = function removeContainerStyle(containerState, container) {
  1543. var style = containerState.style;
  1544. Object.keys(style).forEach(function (key) {
  1545. container.style[key] = style[key];
  1546. });
  1547. };
  1548. _proto.add = function add(modal, container, className) {
  1549. var modalIdx = this.modals.indexOf(modal);
  1550. var containerIdx = this.containers.indexOf(container);
  1551. if (modalIdx !== -1) {
  1552. return modalIdx;
  1553. }
  1554. modalIdx = this.modals.length;
  1555. this.modals.push(modal);
  1556. if (this.hideSiblingNodes) {
  1557. (0, _manageAriaHidden.hideSiblings)(container, modal);
  1558. }
  1559. if (containerIdx !== -1) {
  1560. this.data[containerIdx].modals.push(modal);
  1561. return modalIdx;
  1562. }
  1563. var data = {
  1564. modals: [modal],
  1565. //right now only the first modal of a container will have its classes applied
  1566. classes: className ? className.split(/\s+/) : [],
  1567. overflowing: (0, _isOverflowing.default)(container)
  1568. };
  1569. if (this.handleContainerOverflow) {
  1570. this.setContainerStyle(data, container);
  1571. }
  1572. data.classes.forEach(_class.default.addClass.bind(null, container));
  1573. this.containers.push(container);
  1574. this.data.push(data);
  1575. return modalIdx;
  1576. };
  1577. _proto.remove = function remove(modal) {
  1578. var modalIdx = this.modals.indexOf(modal);
  1579. if (modalIdx === -1) {
  1580. return;
  1581. }
  1582. var containerIdx = this.containerIndexFromModal(modal);
  1583. var data = this.data[containerIdx];
  1584. var container = this.containers[containerIdx];
  1585. data.modals.splice(data.modals.indexOf(modal), 1);
  1586. this.modals.splice(modalIdx, 1); // if that was the last modal in a container,
  1587. // clean up the container
  1588. if (data.modals.length === 0) {
  1589. data.classes.forEach(_class.default.removeClass.bind(null, container));
  1590. if (this.handleContainerOverflow) {
  1591. this.removeContainerStyle(data, container);
  1592. }
  1593. if (this.hideSiblingNodes) {
  1594. (0, _manageAriaHidden.showSiblings)(container, modal);
  1595. }
  1596. this.containers.splice(containerIdx, 1);
  1597. this.data.splice(containerIdx, 1);
  1598. } else if (this.hideSiblingNodes) {
  1599. //otherwise make sure the next top modal is visible to a SR
  1600. var _data$modals = data.modals[data.modals.length - 1],
  1601. backdrop = _data$modals.backdrop,
  1602. dialog = _data$modals.dialog;
  1603. (0, _manageAriaHidden.ariaHidden)(false, dialog);
  1604. (0, _manageAriaHidden.ariaHidden)(false, backdrop);
  1605. }
  1606. };
  1607. _proto.isTopModal = function isTopModal(modal) {
  1608. return !!this.modals.length && this.modals[this.modals.length - 1] === modal;
  1609. };
  1610. return ModalManager;
  1611. }();
  1612. var _default = ModalManager;
  1613. exports.default = _default;
  1614. module.exports = exports.default;
  1615. /***/ }),
  1616. /* 36 */
  1617. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1618. "use strict";
  1619. /* WEBPACK VAR INJECTION */(function(global) {/**!
  1620. * @fileOverview Kickass library to create and place poppers near their reference elements.
  1621. * @version 1.15.0
  1622. * @license
  1623. * Copyright (c) 2016 Federico Zivolo and contributors
  1624. *
  1625. * Permission is hereby granted, free of charge, to any person obtaining a copy
  1626. * of this software and associated documentation files (the "Software"), to deal
  1627. * in the Software without restriction, including without limitation the rights
  1628. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  1629. * copies of the Software, and to permit persons to whom the Software is
  1630. * furnished to do so, subject to the following conditions:
  1631. *
  1632. * The above copyright notice and this permission notice shall be included in all
  1633. * copies or substantial portions of the Software.
  1634. *
  1635. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  1636. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  1637. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  1638. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  1639. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  1640. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  1641. * SOFTWARE.
  1642. */
  1643. var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
  1644. var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
  1645. var timeoutDuration = 0;
  1646. for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
  1647. if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
  1648. timeoutDuration = 1;
  1649. break;
  1650. }
  1651. }
  1652. function microtaskDebounce(fn) {
  1653. var called = false;
  1654. return function () {
  1655. if (called) {
  1656. return;
  1657. }
  1658. called = true;
  1659. window.Promise.resolve().then(function () {
  1660. called = false;
  1661. fn();
  1662. });
  1663. };
  1664. }
  1665. function taskDebounce(fn) {
  1666. var scheduled = false;
  1667. return function () {
  1668. if (!scheduled) {
  1669. scheduled = true;
  1670. setTimeout(function () {
  1671. scheduled = false;
  1672. fn();
  1673. }, timeoutDuration);
  1674. }
  1675. };
  1676. }
  1677. var supportsMicroTasks = isBrowser && window.Promise;
  1678. /**
  1679. * Create a debounced version of a method, that's asynchronously deferred
  1680. * but called in the minimum time possible.
  1681. *
  1682. * @method
  1683. * @memberof Popper.Utils
  1684. * @argument {Function} fn
  1685. * @returns {Function}
  1686. */
  1687. var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
  1688. /**
  1689. * Check if the given variable is a function
  1690. * @method
  1691. * @memberof Popper.Utils
  1692. * @argument {Any} functionToCheck - variable to check
  1693. * @returns {Boolean} answer to: is a function?
  1694. */
  1695. function isFunction(functionToCheck) {
  1696. var getType = {};
  1697. return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
  1698. }
  1699. /**
  1700. * Get CSS computed property of the given element
  1701. * @method
  1702. * @memberof Popper.Utils
  1703. * @argument {Eement} element
  1704. * @argument {String} property
  1705. */
  1706. function getStyleComputedProperty(element, property) {
  1707. if (element.nodeType !== 1) {
  1708. return [];
  1709. } // NOTE: 1 DOM access here
  1710. var window = element.ownerDocument.defaultView;
  1711. var css = window.getComputedStyle(element, null);
  1712. return property ? css[property] : css;
  1713. }
  1714. /**
  1715. * Returns the parentNode or the host of the element
  1716. * @method
  1717. * @memberof Popper.Utils
  1718. * @argument {Element} element
  1719. * @returns {Element} parent
  1720. */
  1721. function getParentNode(element) {
  1722. if (element.nodeName === 'HTML') {
  1723. return element;
  1724. }
  1725. return element.parentNode || element.host;
  1726. }
  1727. /**
  1728. * Returns the scrolling parent of the given element
  1729. * @method
  1730. * @memberof Popper.Utils
  1731. * @argument {Element} element
  1732. * @returns {Element} scroll parent
  1733. */
  1734. function getScrollParent(element) {
  1735. // Return body, `getScroll` will take care to get the correct `scrollTop` from it
  1736. if (!element) {
  1737. return document.body;
  1738. }
  1739. switch (element.nodeName) {
  1740. case 'HTML':
  1741. case 'BODY':
  1742. return element.ownerDocument.body;
  1743. case '#document':
  1744. return element.body;
  1745. } // Firefox want us to check `-x` and `-y` variations as well
  1746. var _getStyleComputedProp = getStyleComputedProperty(element),
  1747. overflow = _getStyleComputedProp.overflow,
  1748. overflowX = _getStyleComputedProp.overflowX,
  1749. overflowY = _getStyleComputedProp.overflowY;
  1750. if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
  1751. return element;
  1752. }
  1753. return getScrollParent(getParentNode(element));
  1754. }
  1755. var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
  1756. var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
  1757. /**
  1758. * Determines if the browser is Internet Explorer
  1759. * @method
  1760. * @memberof Popper.Utils
  1761. * @param {Number} version to check
  1762. * @returns {Boolean} isIE
  1763. */
  1764. function isIE(version) {
  1765. if (version === 11) {
  1766. return isIE11;
  1767. }
  1768. if (version === 10) {
  1769. return isIE10;
  1770. }
  1771. return isIE11 || isIE10;
  1772. }
  1773. /**
  1774. * Returns the offset parent of the given element
  1775. * @method
  1776. * @memberof Popper.Utils
  1777. * @argument {Element} element
  1778. * @returns {Element} offset parent
  1779. */
  1780. function getOffsetParent(element) {
  1781. if (!element) {
  1782. return document.documentElement;
  1783. }
  1784. var noOffsetParent = isIE(10) ? document.body : null; // NOTE: 1 DOM access here
  1785. var offsetParent = element.offsetParent || null; // Skip hidden elements which don't have an offsetParent
  1786. while (offsetParent === noOffsetParent && element.nextElementSibling) {
  1787. offsetParent = (element = element.nextElementSibling).offsetParent;
  1788. }
  1789. var nodeName = offsetParent && offsetParent.nodeName;
  1790. if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
  1791. return element ? element.ownerDocument.documentElement : document.documentElement;
  1792. } // .offsetParent will return the closest TH, TD or TABLE in case
  1793. // no offsetParent is present, I hate this job...
  1794. if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
  1795. return getOffsetParent(offsetParent);
  1796. }
  1797. return offsetParent;
  1798. }
  1799. function isOffsetContainer(element) {
  1800. var nodeName = element.nodeName;
  1801. if (nodeName === 'BODY') {
  1802. return false;
  1803. }
  1804. return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
  1805. }
  1806. /**
  1807. * Finds the root node (document, shadowDOM root) of the given element
  1808. * @method
  1809. * @memberof Popper.Utils
  1810. * @argument {Element} node
  1811. * @returns {Element} root node
  1812. */
  1813. function getRoot(node) {
  1814. if (node.parentNode !== null) {
  1815. return getRoot(node.parentNode);
  1816. }
  1817. return node;
  1818. }
  1819. /**
  1820. * Finds the offset parent common to the two provided nodes
  1821. * @method
  1822. * @memberof Popper.Utils
  1823. * @argument {Element} element1
  1824. * @argument {Element} element2
  1825. * @returns {Element} common offset parent
  1826. */
  1827. function findCommonOffsetParent(element1, element2) {
  1828. // This check is needed to avoid errors in case one of the elements isn't defined for any reason
  1829. if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
  1830. return document.documentElement;
  1831. } // Here we make sure to give as "start" the element that comes first in the DOM
  1832. var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
  1833. var start = order ? element1 : element2;
  1834. var end = order ? element2 : element1; // Get common ancestor container
  1835. var range = document.createRange();
  1836. range.setStart(start, 0);
  1837. range.setEnd(end, 0);
  1838. var commonAncestorContainer = range.commonAncestorContainer; // Both nodes are inside #document
  1839. if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
  1840. if (isOffsetContainer(commonAncestorContainer)) {
  1841. return commonAncestorContainer;
  1842. }
  1843. return getOffsetParent(commonAncestorContainer);
  1844. } // one of the nodes is inside shadowDOM, find which one
  1845. var element1root = getRoot(element1);
  1846. if (element1root.host) {
  1847. return findCommonOffsetParent(element1root.host, element2);
  1848. } else {
  1849. return findCommonOffsetParent(element1, getRoot(element2).host);
  1850. }
  1851. }
  1852. /**
  1853. * Gets the scroll value of the given element in the given side (top and left)
  1854. * @method
  1855. * @memberof Popper.Utils
  1856. * @argument {Element} element
  1857. * @argument {String} side `top` or `left`
  1858. * @returns {number} amount of scrolled pixels
  1859. */
  1860. function getScroll(element) {
  1861. var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
  1862. var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
  1863. var nodeName = element.nodeName;
  1864. if (nodeName === 'BODY' || nodeName === 'HTML') {
  1865. var html = element.ownerDocument.documentElement;
  1866. var scrollingElement = element.ownerDocument.scrollingElement || html;
  1867. return scrollingElement[upperSide];
  1868. }
  1869. return element[upperSide];
  1870. }
  1871. /*
  1872. * Sum or subtract the element scroll values (left and top) from a given rect object
  1873. * @method
  1874. * @memberof Popper.Utils
  1875. * @param {Object} rect - Rect object you want to change
  1876. * @param {HTMLElement} element - The element from the function reads the scroll values
  1877. * @param {Boolean} subtract - set to true if you want to subtract the scroll values
  1878. * @return {Object} rect - The modifier rect object
  1879. */
  1880. function includeScroll(rect, element) {
  1881. var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  1882. var scrollTop = getScroll(element, 'top');
  1883. var scrollLeft = getScroll(element, 'left');
  1884. var modifier = subtract ? -1 : 1;
  1885. rect.top += scrollTop * modifier;
  1886. rect.bottom += scrollTop * modifier;
  1887. rect.left += scrollLeft * modifier;
  1888. rect.right += scrollLeft * modifier;
  1889. return rect;
  1890. }
  1891. /*
  1892. * Helper to detect borders of a given element
  1893. * @method
  1894. * @memberof Popper.Utils
  1895. * @param {CSSStyleDeclaration} styles
  1896. * Result of `getStyleComputedProperty` on the given element
  1897. * @param {String} axis - `x` or `y`
  1898. * @return {number} borders - The borders size of the given axis
  1899. */
  1900. function getBordersSize(styles, axis) {
  1901. var sideA = axis === 'x' ? 'Left' : 'Top';
  1902. var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
  1903. return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
  1904. }
  1905. function getSize(axis, body, html, computedStyle) {
  1906. return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);
  1907. }
  1908. function getWindowSizes(document) {
  1909. var body = document.body;
  1910. var html = document.documentElement;
  1911. var computedStyle = isIE(10) && getComputedStyle(html);
  1912. return {
  1913. height: getSize('Height', body, html, computedStyle),
  1914. width: getSize('Width', body, html, computedStyle)
  1915. };
  1916. }
  1917. var classCallCheck = function (instance, Constructor) {
  1918. if (!(instance instanceof Constructor)) {
  1919. throw new TypeError("Cannot call a class as a function");
  1920. }
  1921. };
  1922. var createClass = function () {
  1923. function defineProperties(target, props) {
  1924. for (var i = 0; i < props.length; i++) {
  1925. var descriptor = props[i];
  1926. descriptor.enumerable = descriptor.enumerable || false;
  1927. descriptor.configurable = true;
  1928. if ("value" in descriptor) descriptor.writable = true;
  1929. Object.defineProperty(target, descriptor.key, descriptor);
  1930. }
  1931. }
  1932. return function (Constructor, protoProps, staticProps) {
  1933. if (protoProps) defineProperties(Constructor.prototype, protoProps);
  1934. if (staticProps) defineProperties(Constructor, staticProps);
  1935. return Constructor;
  1936. };
  1937. }();
  1938. var defineProperty = function (obj, key, value) {
  1939. if (key in obj) {
  1940. Object.defineProperty(obj, key, {
  1941. value: value,
  1942. enumerable: true,
  1943. configurable: true,
  1944. writable: true
  1945. });
  1946. } else {
  1947. obj[key] = value;
  1948. }
  1949. return obj;
  1950. };
  1951. var _extends = Object.assign || function (target) {
  1952. for (var i = 1; i < arguments.length; i++) {
  1953. var source = arguments[i];
  1954. for (var key in source) {
  1955. if (Object.prototype.hasOwnProperty.call(source, key)) {
  1956. target[key] = source[key];
  1957. }
  1958. }
  1959. }
  1960. return target;
  1961. };
  1962. /**
  1963. * Given element offsets, generate an output similar to getBoundingClientRect
  1964. * @method
  1965. * @memberof Popper.Utils
  1966. * @argument {Object} offsets
  1967. * @returns {Object} ClientRect like output
  1968. */
  1969. function getClientRect(offsets) {
  1970. return _extends({}, offsets, {
  1971. right: offsets.left + offsets.width,
  1972. bottom: offsets.top + offsets.height
  1973. });
  1974. }
  1975. /**
  1976. * Get bounding client rect of given element
  1977. * @method
  1978. * @memberof Popper.Utils
  1979. * @param {HTMLElement} element
  1980. * @return {Object} client rect
  1981. */
  1982. function getBoundingClientRect(element) {
  1983. var rect = {}; // IE10 10 FIX: Please, don't ask, the element isn't
  1984. // considered in DOM in some circumstances...
  1985. // This isn't reproducible in IE10 compatibility mode of IE11
  1986. try {
  1987. if (isIE(10)) {
  1988. rect = element.getBoundingClientRect();
  1989. var scrollTop = getScroll(element, 'top');
  1990. var scrollLeft = getScroll(element, 'left');
  1991. rect.top += scrollTop;
  1992. rect.left += scrollLeft;
  1993. rect.bottom += scrollTop;
  1994. rect.right += scrollLeft;
  1995. } else {
  1996. rect = element.getBoundingClientRect();
  1997. }
  1998. } catch (e) {}
  1999. var result = {
  2000. left: rect.left,
  2001. top: rect.top,
  2002. width: rect.right - rect.left,
  2003. height: rect.bottom - rect.top
  2004. }; // subtract scrollbar size from sizes
  2005. var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
  2006. var width = sizes.width || element.clientWidth || result.right - result.left;
  2007. var height = sizes.height || element.clientHeight || result.bottom - result.top;
  2008. var horizScrollbar = element.offsetWidth - width;
  2009. var vertScrollbar = element.offsetHeight - height; // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
  2010. // we make this check conditional for performance reasons
  2011. if (horizScrollbar || vertScrollbar) {
  2012. var styles = getStyleComputedProperty(element);
  2013. horizScrollbar -= getBordersSize(styles, 'x');
  2014. vertScrollbar -= getBordersSize(styles, 'y');
  2015. result.width -= horizScrollbar;
  2016. result.height -= vertScrollbar;
  2017. }
  2018. return getClientRect(result);
  2019. }
  2020. function getOffsetRectRelativeToArbitraryNode(children, parent) {
  2021. var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  2022. var isIE10 = isIE(10);
  2023. var isHTML = parent.nodeName === 'HTML';
  2024. var childrenRect = getBoundingClientRect(children);
  2025. var parentRect = getBoundingClientRect(parent);
  2026. var scrollParent = getScrollParent(children);
  2027. var styles = getStyleComputedProperty(parent);
  2028. var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
  2029. var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); // In cases where the parent is fixed, we must ignore negative scroll in offset calc
  2030. if (fixedPosition && isHTML) {
  2031. parentRect.top = Math.max(parentRect.top, 0);
  2032. parentRect.left = Math.max(parentRect.left, 0);
  2033. }
  2034. var offsets = getClientRect({
  2035. top: childrenRect.top - parentRect.top - borderTopWidth,
  2036. left: childrenRect.left - parentRect.left - borderLeftWidth,
  2037. width: childrenRect.width,
  2038. height: childrenRect.height
  2039. });
  2040. offsets.marginTop = 0;
  2041. offsets.marginLeft = 0; // Subtract margins of documentElement in case it's being used as parent
  2042. // we do this only on HTML because it's the only element that behaves
  2043. // differently when margins are applied to it. The margins are included in
  2044. // the box of the documentElement, in the other cases not.
  2045. if (!isIE10 && isHTML) {
  2046. var marginTop = parseFloat(styles.marginTop, 10);
  2047. var marginLeft = parseFloat(styles.marginLeft, 10);
  2048. offsets.top -= borderTopWidth - marginTop;
  2049. offsets.bottom -= borderTopWidth - marginTop;
  2050. offsets.left -= borderLeftWidth - marginLeft;
  2051. offsets.right -= borderLeftWidth - marginLeft; // Attach marginTop and marginLeft because in some circumstances we may need them
  2052. offsets.marginTop = marginTop;
  2053. offsets.marginLeft = marginLeft;
  2054. }
  2055. if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
  2056. offsets = includeScroll(offsets, parent);
  2057. }
  2058. return offsets;
  2059. }
  2060. function getViewportOffsetRectRelativeToArtbitraryNode(element) {
  2061. var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  2062. var html = element.ownerDocument.documentElement;
  2063. var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
  2064. var width = Math.max(html.clientWidth, window.innerWidth || 0);
  2065. var height = Math.max(html.clientHeight, window.innerHeight || 0);
  2066. var scrollTop = !excludeScroll ? getScroll(html) : 0;
  2067. var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;
  2068. var offset = {
  2069. top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
  2070. left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
  2071. width: width,
  2072. height: height
  2073. };
  2074. return getClientRect(offset);
  2075. }
  2076. /**
  2077. * Check if the given element is fixed or is inside a fixed parent
  2078. * @method
  2079. * @memberof Popper.Utils
  2080. * @argument {Element} element
  2081. * @argument {Element} customContainer
  2082. * @returns {Boolean} answer to "isFixed?"
  2083. */
  2084. function isFixed(element) {
  2085. var nodeName = element.nodeName;
  2086. if (nodeName === 'BODY' || nodeName === 'HTML') {
  2087. return false;
  2088. }
  2089. if (getStyleComputedProperty(element, 'position') === 'fixed') {
  2090. return true;
  2091. }
  2092. var parentNode = getParentNode(element);
  2093. if (!parentNode) {
  2094. return false;
  2095. }
  2096. return isFixed(parentNode);
  2097. }
  2098. /**
  2099. * Finds the first parent of an element that has a transformed property defined
  2100. * @method
  2101. * @memberof Popper.Utils
  2102. * @argument {Element} element
  2103. * @returns {Element} first transformed parent or documentElement
  2104. */
  2105. function getFixedPositionOffsetParent(element) {
  2106. // This check is needed to avoid errors in case one of the elements isn't defined for any reason
  2107. if (!element || !element.parentElement || isIE()) {
  2108. return document.documentElement;
  2109. }
  2110. var el = element.parentElement;
  2111. while (el && getStyleComputedProperty(el, 'transform') === 'none') {
  2112. el = el.parentElement;
  2113. }
  2114. return el || document.documentElement;
  2115. }
  2116. /**
  2117. * Computed the boundaries limits and return them
  2118. * @method
  2119. * @memberof Popper.Utils
  2120. * @param {HTMLElement} popper
  2121. * @param {HTMLElement} reference
  2122. * @param {number} padding
  2123. * @param {HTMLElement} boundariesElement - Element used to define the boundaries
  2124. * @param {Boolean} fixedPosition - Is in fixed position mode
  2125. * @returns {Object} Coordinates of the boundaries
  2126. */
  2127. function getBoundaries(popper, reference, padding, boundariesElement) {
  2128. var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; // NOTE: 1 DOM access here
  2129. var boundaries = {
  2130. top: 0,
  2131. left: 0
  2132. };
  2133. var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference); // Handle viewport case
  2134. if (boundariesElement === 'viewport') {
  2135. boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
  2136. } else {
  2137. // Handle other cases based on DOM element used as boundaries
  2138. var boundariesNode = void 0;
  2139. if (boundariesElement === 'scrollParent') {
  2140. boundariesNode = getScrollParent(getParentNode(reference));
  2141. if (boundariesNode.nodeName === 'BODY') {
  2142. boundariesNode = popper.ownerDocument.documentElement;
  2143. }
  2144. } else if (boundariesElement === 'window') {
  2145. boundariesNode = popper.ownerDocument.documentElement;
  2146. } else {
  2147. boundariesNode = boundariesElement;
  2148. }
  2149. var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); // In case of HTML, we need a different computation
  2150. if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
  2151. var _getWindowSizes = getWindowSizes(popper.ownerDocument),
  2152. height = _getWindowSizes.height,
  2153. width = _getWindowSizes.width;
  2154. boundaries.top += offsets.top - offsets.marginTop;
  2155. boundaries.bottom = height + offsets.top;
  2156. boundaries.left += offsets.left - offsets.marginLeft;
  2157. boundaries.right = width + offsets.left;
  2158. } else {
  2159. // for all the other DOM elements, this one is good
  2160. boundaries = offsets;
  2161. }
  2162. } // Add paddings
  2163. padding = padding || 0;
  2164. var isPaddingNumber = typeof padding === 'number';
  2165. boundaries.left += isPaddingNumber ? padding : padding.left || 0;
  2166. boundaries.top += isPaddingNumber ? padding : padding.top || 0;
  2167. boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
  2168. boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
  2169. return boundaries;
  2170. }
  2171. function getArea(_ref) {
  2172. var width = _ref.width,
  2173. height = _ref.height;
  2174. return width * height;
  2175. }
  2176. /**
  2177. * Utility used to transform the `auto` placement to the placement with more
  2178. * available space.
  2179. * @method
  2180. * @memberof Popper.Utils
  2181. * @argument {Object} data - The data object generated by update method
  2182. * @argument {Object} options - Modifiers configuration and options
  2183. * @returns {Object} The data object, properly modified
  2184. */
  2185. function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
  2186. var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
  2187. if (placement.indexOf('auto') === -1) {
  2188. return placement;
  2189. }
  2190. var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
  2191. var rects = {
  2192. top: {
  2193. width: boundaries.width,
  2194. height: refRect.top - boundaries.top
  2195. },
  2196. right: {
  2197. width: boundaries.right - refRect.right,
  2198. height: boundaries.height
  2199. },
  2200. bottom: {
  2201. width: boundaries.width,
  2202. height: boundaries.bottom - refRect.bottom
  2203. },
  2204. left: {
  2205. width: refRect.left - boundaries.left,
  2206. height: boundaries.height
  2207. }
  2208. };
  2209. var sortedAreas = Object.keys(rects).map(function (key) {
  2210. return _extends({
  2211. key: key
  2212. }, rects[key], {
  2213. area: getArea(rects[key])
  2214. });
  2215. }).sort(function (a, b) {
  2216. return b.area - a.area;
  2217. });
  2218. var filteredAreas = sortedAreas.filter(function (_ref2) {
  2219. var width = _ref2.width,
  2220. height = _ref2.height;
  2221. return width >= popper.clientWidth && height >= popper.clientHeight;
  2222. });
  2223. var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
  2224. var variation = placement.split('-')[1];
  2225. return computedPlacement + (variation ? '-' + variation : '');
  2226. }
  2227. /**
  2228. * Get offsets to the reference element
  2229. * @method
  2230. * @memberof Popper.Utils
  2231. * @param {Object} state
  2232. * @param {Element} popper - the popper element
  2233. * @param {Element} reference - the reference element (the popper will be relative to this)
  2234. * @param {Element} fixedPosition - is in fixed position mode
  2235. * @returns {Object} An object containing the offsets which will be applied to the popper
  2236. */
  2237. function getReferenceOffsets(state, popper, reference) {
  2238. var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
  2239. var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
  2240. return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
  2241. }
  2242. /**
  2243. * Get the outer sizes of the given element (offset size + margins)
  2244. * @method
  2245. * @memberof Popper.Utils
  2246. * @argument {Element} element
  2247. * @returns {Object} object containing width and height properties
  2248. */
  2249. function getOuterSizes(element) {
  2250. var window = element.ownerDocument.defaultView;
  2251. var styles = window.getComputedStyle(element);
  2252. var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
  2253. var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
  2254. var result = {
  2255. width: element.offsetWidth + y,
  2256. height: element.offsetHeight + x
  2257. };
  2258. return result;
  2259. }
  2260. /**
  2261. * Get the opposite placement of the given one
  2262. * @method
  2263. * @memberof Popper.Utils
  2264. * @argument {String} placement
  2265. * @returns {String} flipped placement
  2266. */
  2267. function getOppositePlacement(placement) {
  2268. var hash = {
  2269. left: 'right',
  2270. right: 'left',
  2271. bottom: 'top',
  2272. top: 'bottom'
  2273. };
  2274. return placement.replace(/left|right|bottom|top/g, function (matched) {
  2275. return hash[matched];
  2276. });
  2277. }
  2278. /**
  2279. * Get offsets to the popper
  2280. * @method
  2281. * @memberof Popper.Utils
  2282. * @param {Object} position - CSS position the Popper will get applied
  2283. * @param {HTMLElement} popper - the popper element
  2284. * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
  2285. * @param {String} placement - one of the valid placement options
  2286. * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
  2287. */
  2288. function getPopperOffsets(popper, referenceOffsets, placement) {
  2289. placement = placement.split('-')[0]; // Get popper node sizes
  2290. var popperRect = getOuterSizes(popper); // Add position, width and height to our offsets object
  2291. var popperOffsets = {
  2292. width: popperRect.width,
  2293. height: popperRect.height
  2294. }; // depending by the popper placement we have to compute its offsets slightly differently
  2295. var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
  2296. var mainSide = isHoriz ? 'top' : 'left';
  2297. var secondarySide = isHoriz ? 'left' : 'top';
  2298. var measurement = isHoriz ? 'height' : 'width';
  2299. var secondaryMeasurement = !isHoriz ? 'height' : 'width';
  2300. popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
  2301. if (placement === secondarySide) {
  2302. popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
  2303. } else {
  2304. popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
  2305. }
  2306. return popperOffsets;
  2307. }
  2308. /**
  2309. * Mimics the `find` method of Array
  2310. * @method
  2311. * @memberof Popper.Utils
  2312. * @argument {Array} arr
  2313. * @argument prop
  2314. * @argument value
  2315. * @returns index or -1
  2316. */
  2317. function find(arr, check) {
  2318. // use native find if supported
  2319. if (Array.prototype.find) {
  2320. return arr.find(check);
  2321. } // use `filter` to obtain the same behavior of `find`
  2322. return arr.filter(check)[0];
  2323. }
  2324. /**
  2325. * Return the index of the matching object
  2326. * @method
  2327. * @memberof Popper.Utils
  2328. * @argument {Array} arr
  2329. * @argument prop
  2330. * @argument value
  2331. * @returns index or -1
  2332. */
  2333. function findIndex(arr, prop, value) {
  2334. // use native findIndex if supported
  2335. if (Array.prototype.findIndex) {
  2336. return arr.findIndex(function (cur) {
  2337. return cur[prop] === value;
  2338. });
  2339. } // use `find` + `indexOf` if `findIndex` isn't supported
  2340. var match = find(arr, function (obj) {
  2341. return obj[prop] === value;
  2342. });
  2343. return arr.indexOf(match);
  2344. }
  2345. /**
  2346. * Loop trough the list of modifiers and run them in order,
  2347. * each of them will then edit the data object.
  2348. * @method
  2349. * @memberof Popper.Utils
  2350. * @param {dataObject} data
  2351. * @param {Array} modifiers
  2352. * @param {String} ends - Optional modifier name used as stopper
  2353. * @returns {dataObject}
  2354. */
  2355. function runModifiers(modifiers, data, ends) {
  2356. var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
  2357. modifiersToRun.forEach(function (modifier) {
  2358. if (modifier['function']) {
  2359. // eslint-disable-line dot-notation
  2360. console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
  2361. }
  2362. var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
  2363. if (modifier.enabled && isFunction(fn)) {
  2364. // Add properties to offsets to make them a complete clientRect object
  2365. // we do this before each modifier to make sure the previous one doesn't
  2366. // mess with these values
  2367. data.offsets.popper = getClientRect(data.offsets.popper);
  2368. data.offsets.reference = getClientRect(data.offsets.reference);
  2369. data = fn(data, modifier);
  2370. }
  2371. });
  2372. return data;
  2373. }
  2374. /**
  2375. * Updates the position of the popper, computing the new offsets and applying
  2376. * the new style.<br />
  2377. * Prefer `scheduleUpdate` over `update` because of performance reasons.
  2378. * @method
  2379. * @memberof Popper
  2380. */
  2381. function update() {
  2382. // if popper is destroyed, don't perform any further update
  2383. if (this.state.isDestroyed) {
  2384. return;
  2385. }
  2386. var data = {
  2387. instance: this,
  2388. styles: {},
  2389. arrowStyles: {},
  2390. attributes: {},
  2391. flipped: false,
  2392. offsets: {}
  2393. }; // compute reference element offsets
  2394. data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); // compute auto placement, store placement inside the data object,
  2395. // modifiers will be able to edit `placement` if needed
  2396. // and refer to originalPlacement to know the original value
  2397. data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); // store the computed placement inside `originalPlacement`
  2398. data.originalPlacement = data.placement;
  2399. data.positionFixed = this.options.positionFixed; // compute the popper offsets
  2400. data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
  2401. data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; // run the modifiers
  2402. data = runModifiers(this.modifiers, data); // the first `update` will call `onCreate` callback
  2403. // the other ones will call `onUpdate` callback
  2404. if (!this.state.isCreated) {
  2405. this.state.isCreated = true;
  2406. this.options.onCreate(data);
  2407. } else {
  2408. this.options.onUpdate(data);
  2409. }
  2410. }
  2411. /**
  2412. * Helper used to know if the given modifier is enabled.
  2413. * @method
  2414. * @memberof Popper.Utils
  2415. * @returns {Boolean}
  2416. */
  2417. function isModifierEnabled(modifiers, modifierName) {
  2418. return modifiers.some(function (_ref) {
  2419. var name = _ref.name,
  2420. enabled = _ref.enabled;
  2421. return enabled && name === modifierName;
  2422. });
  2423. }
  2424. /**
  2425. * Get the prefixed supported property name
  2426. * @method
  2427. * @memberof Popper.Utils
  2428. * @argument {String} property (camelCase)
  2429. * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
  2430. */
  2431. function getSupportedPropertyName(property) {
  2432. var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
  2433. var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
  2434. for (var i = 0; i < prefixes.length; i++) {
  2435. var prefix = prefixes[i];
  2436. var toCheck = prefix ? '' + prefix + upperProp : property;
  2437. if (typeof document.body.style[toCheck] !== 'undefined') {
  2438. return toCheck;
  2439. }
  2440. }
  2441. return null;
  2442. }
  2443. /**
  2444. * Destroys the popper.
  2445. * @method
  2446. * @memberof Popper
  2447. */
  2448. function destroy() {
  2449. this.state.isDestroyed = true; // touch DOM only if `applyStyle` modifier is enabled
  2450. if (isModifierEnabled(this.modifiers, 'applyStyle')) {
  2451. this.popper.removeAttribute('x-placement');
  2452. this.popper.style.position = '';
  2453. this.popper.style.top = '';
  2454. this.popper.style.left = '';
  2455. this.popper.style.right = '';
  2456. this.popper.style.bottom = '';
  2457. this.popper.style.willChange = '';
  2458. this.popper.style[getSupportedPropertyName('transform')] = '';
  2459. }
  2460. this.disableEventListeners(); // remove the popper if user explicity asked for the deletion on destroy
  2461. // do not use `remove` because IE11 doesn't support it
  2462. if (this.options.removeOnDestroy) {
  2463. this.popper.parentNode.removeChild(this.popper);
  2464. }
  2465. return this;
  2466. }
  2467. /**
  2468. * Get the window associated with the element
  2469. * @argument {Element} element
  2470. * @returns {Window}
  2471. */
  2472. function getWindow(element) {
  2473. var ownerDocument = element.ownerDocument;
  2474. return ownerDocument ? ownerDocument.defaultView : window;
  2475. }
  2476. function attachToScrollParents(scrollParent, event, callback, scrollParents) {
  2477. var isBody = scrollParent.nodeName === 'BODY';
  2478. var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
  2479. target.addEventListener(event, callback, {
  2480. passive: true
  2481. });
  2482. if (!isBody) {
  2483. attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
  2484. }
  2485. scrollParents.push(target);
  2486. }
  2487. /**
  2488. * Setup needed event listeners used to update the popper position
  2489. * @method
  2490. * @memberof Popper.Utils
  2491. * @private
  2492. */
  2493. function setupEventListeners(reference, options, state, updateBound) {
  2494. // Resize event listener on window
  2495. state.updateBound = updateBound;
  2496. getWindow(reference).addEventListener('resize', state.updateBound, {
  2497. passive: true
  2498. }); // Scroll event listener on scroll parents
  2499. var scrollElement = getScrollParent(reference);
  2500. attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
  2501. state.scrollElement = scrollElement;
  2502. state.eventsEnabled = true;
  2503. return state;
  2504. }
  2505. /**
  2506. * It will add resize/scroll events and start recalculating
  2507. * position of the popper element when they are triggered.
  2508. * @method
  2509. * @memberof Popper
  2510. */
  2511. function enableEventListeners() {
  2512. if (!this.state.eventsEnabled) {
  2513. this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
  2514. }
  2515. }
  2516. /**
  2517. * Remove event listeners used to update the popper position
  2518. * @method
  2519. * @memberof Popper.Utils
  2520. * @private
  2521. */
  2522. function removeEventListeners(reference, state) {
  2523. // Remove resize event listener on window
  2524. getWindow(reference).removeEventListener('resize', state.updateBound); // Remove scroll event listener on scroll parents
  2525. state.scrollParents.forEach(function (target) {
  2526. target.removeEventListener('scroll', state.updateBound);
  2527. }); // Reset state
  2528. state.updateBound = null;
  2529. state.scrollParents = [];
  2530. state.scrollElement = null;
  2531. state.eventsEnabled = false;
  2532. return state;
  2533. }
  2534. /**
  2535. * It will remove resize/scroll events and won't recalculate popper position
  2536. * when they are triggered. It also won't trigger `onUpdate` callback anymore,
  2537. * unless you call `update` method manually.
  2538. * @method
  2539. * @memberof Popper
  2540. */
  2541. function disableEventListeners() {
  2542. if (this.state.eventsEnabled) {
  2543. cancelAnimationFrame(this.scheduleUpdate);
  2544. this.state = removeEventListeners(this.reference, this.state);
  2545. }
  2546. }
  2547. /**
  2548. * Tells if a given input is a number
  2549. * @method
  2550. * @memberof Popper.Utils
  2551. * @param {*} input to check
  2552. * @return {Boolean}
  2553. */
  2554. function isNumeric(n) {
  2555. return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
  2556. }
  2557. /**
  2558. * Set the style to the given popper
  2559. * @method
  2560. * @memberof Popper.Utils
  2561. * @argument {Element} element - Element to apply the style to
  2562. * @argument {Object} styles
  2563. * Object with a list of properties and values which will be applied to the element
  2564. */
  2565. function setStyles(element, styles) {
  2566. Object.keys(styles).forEach(function (prop) {
  2567. var unit = ''; // add unit if the value is numeric and is one of the following
  2568. if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
  2569. unit = 'px';
  2570. }
  2571. element.style[prop] = styles[prop] + unit;
  2572. });
  2573. }
  2574. /**
  2575. * Set the attributes to the given popper
  2576. * @method
  2577. * @memberof Popper.Utils
  2578. * @argument {Element} element - Element to apply the attributes to
  2579. * @argument {Object} styles
  2580. * Object with a list of properties and values which will be applied to the element
  2581. */
  2582. function setAttributes(element, attributes) {
  2583. Object.keys(attributes).forEach(function (prop) {
  2584. var value = attributes[prop];
  2585. if (value !== false) {
  2586. element.setAttribute(prop, attributes[prop]);
  2587. } else {
  2588. element.removeAttribute(prop);
  2589. }
  2590. });
  2591. }
  2592. /**
  2593. * @function
  2594. * @memberof Modifiers
  2595. * @argument {Object} data - The data object generated by `update` method
  2596. * @argument {Object} data.styles - List of style properties - values to apply to popper element
  2597. * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
  2598. * @argument {Object} options - Modifiers configuration and options
  2599. * @returns {Object} The same data object
  2600. */
  2601. function applyStyle(data) {
  2602. // any property present in `data.styles` will be applied to the popper,
  2603. // in this way we can make the 3rd party modifiers add custom styles to it
  2604. // Be aware, modifiers could override the properties defined in the previous
  2605. // lines of this modifier!
  2606. setStyles(data.instance.popper, data.styles); // any property present in `data.attributes` will be applied to the popper,
  2607. // they will be set as HTML attributes of the element
  2608. setAttributes(data.instance.popper, data.attributes); // if arrowElement is defined and arrowStyles has some properties
  2609. if (data.arrowElement && Object.keys(data.arrowStyles).length) {
  2610. setStyles(data.arrowElement, data.arrowStyles);
  2611. }
  2612. return data;
  2613. }
  2614. /**
  2615. * Set the x-placement attribute before everything else because it could be used
  2616. * to add margins to the popper margins needs to be calculated to get the
  2617. * correct popper offsets.
  2618. * @method
  2619. * @memberof Popper.modifiers
  2620. * @param {HTMLElement} reference - The reference element used to position the popper
  2621. * @param {HTMLElement} popper - The HTML element used as popper
  2622. * @param {Object} options - Popper.js options
  2623. */
  2624. function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
  2625. // compute reference element offsets
  2626. var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); // compute auto placement, store placement inside the data object,
  2627. // modifiers will be able to edit `placement` if needed
  2628. // and refer to originalPlacement to know the original value
  2629. var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
  2630. popper.setAttribute('x-placement', placement); // Apply `position` to popper before anything else because
  2631. // without the position applied we can't guarantee correct computations
  2632. setStyles(popper, {
  2633. position: options.positionFixed ? 'fixed' : 'absolute'
  2634. });
  2635. return options;
  2636. }
  2637. /**
  2638. * @function
  2639. * @memberof Popper.Utils
  2640. * @argument {Object} data - The data object generated by `update` method
  2641. * @argument {Boolean} shouldRound - If the offsets should be rounded at all
  2642. * @returns {Object} The popper's position offsets rounded
  2643. *
  2644. * The tale of pixel-perfect positioning. It's still not 100% perfect, but as
  2645. * good as it can be within reason.
  2646. * Discussion here: https://github.com/FezVrasta/popper.js/pull/715
  2647. *
  2648. * Low DPI screens cause a popper to be blurry if not using full pixels (Safari
  2649. * as well on High DPI screens).
  2650. *
  2651. * Firefox prefers no rounding for positioning and does not have blurriness on
  2652. * high DPI screens.
  2653. *
  2654. * Only horizontal placement and left/right values need to be considered.
  2655. */
  2656. function getRoundedOffsets(data, shouldRound) {
  2657. var _data$offsets = data.offsets,
  2658. popper = _data$offsets.popper,
  2659. reference = _data$offsets.reference;
  2660. var round = Math.round,
  2661. floor = Math.floor;
  2662. var noRound = function noRound(v) {
  2663. return v;
  2664. };
  2665. var referenceWidth = round(reference.width);
  2666. var popperWidth = round(popper.width);
  2667. var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
  2668. var isVariation = data.placement.indexOf('-') !== -1;
  2669. var sameWidthParity = referenceWidth % 2 === popperWidth % 2;
  2670. var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
  2671. var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;
  2672. var verticalToInteger = !shouldRound ? noRound : round;
  2673. return {
  2674. left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),
  2675. top: verticalToInteger(popper.top),
  2676. bottom: verticalToInteger(popper.bottom),
  2677. right: horizontalToInteger(popper.right)
  2678. };
  2679. }
  2680. var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);
  2681. /**
  2682. * @function
  2683. * @memberof Modifiers
  2684. * @argument {Object} data - The data object generated by `update` method
  2685. * @argument {Object} options - Modifiers configuration and options
  2686. * @returns {Object} The data object, properly modified
  2687. */
  2688. function computeStyle(data, options) {
  2689. var x = options.x,
  2690. y = options.y;
  2691. var popper = data.offsets.popper; // Remove this legacy support in Popper.js v2
  2692. var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
  2693. return modifier.name === 'applyStyle';
  2694. }).gpuAcceleration;
  2695. if (legacyGpuAccelerationOption !== undefined) {
  2696. console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
  2697. }
  2698. var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
  2699. var offsetParent = getOffsetParent(data.instance.popper);
  2700. var offsetParentRect = getBoundingClientRect(offsetParent); // Styles
  2701. var styles = {
  2702. position: popper.position
  2703. };
  2704. var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);
  2705. var sideA = x === 'bottom' ? 'top' : 'bottom';
  2706. var sideB = y === 'right' ? 'left' : 'right'; // if gpuAcceleration is set to `true` and transform is supported,
  2707. // we use `translate3d` to apply the position to the popper we
  2708. // automatically use the supported prefixed version if needed
  2709. var prefixedProperty = getSupportedPropertyName('transform'); // now, let's make a step back and look at this code closely (wtf?)
  2710. // If the content of the popper grows once it's been positioned, it
  2711. // may happen that the popper gets misplaced because of the new content
  2712. // overflowing its reference element
  2713. // To avoid this problem, we provide two options (x and y), which allow
  2714. // the consumer to define the offset origin.
  2715. // If we position a popper on top of a reference element, we can set
  2716. // `x` to `top` to make the popper grow towards its top instead of
  2717. // its bottom.
  2718. var left = void 0,
  2719. top = void 0;
  2720. if (sideA === 'bottom') {
  2721. // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)
  2722. // and not the bottom of the html element
  2723. if (offsetParent.nodeName === 'HTML') {
  2724. top = -offsetParent.clientHeight + offsets.bottom;
  2725. } else {
  2726. top = -offsetParentRect.height + offsets.bottom;
  2727. }
  2728. } else {
  2729. top = offsets.top;
  2730. }
  2731. if (sideB === 'right') {
  2732. if (offsetParent.nodeName === 'HTML') {
  2733. left = -offsetParent.clientWidth + offsets.right;
  2734. } else {
  2735. left = -offsetParentRect.width + offsets.right;
  2736. }
  2737. } else {
  2738. left = offsets.left;
  2739. }
  2740. if (gpuAcceleration && prefixedProperty) {
  2741. styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
  2742. styles[sideA] = 0;
  2743. styles[sideB] = 0;
  2744. styles.willChange = 'transform';
  2745. } else {
  2746. // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
  2747. var invertTop = sideA === 'bottom' ? -1 : 1;
  2748. var invertLeft = sideB === 'right' ? -1 : 1;
  2749. styles[sideA] = top * invertTop;
  2750. styles[sideB] = left * invertLeft;
  2751. styles.willChange = sideA + ', ' + sideB;
  2752. } // Attributes
  2753. var attributes = {
  2754. 'x-placement': data.placement
  2755. }; // Update `data` attributes, styles and arrowStyles
  2756. data.attributes = _extends({}, attributes, data.attributes);
  2757. data.styles = _extends({}, styles, data.styles);
  2758. data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
  2759. return data;
  2760. }
  2761. /**
  2762. * Helper used to know if the given modifier depends from another one.<br />
  2763. * It checks if the needed modifier is listed and enabled.
  2764. * @method
  2765. * @memberof Popper.Utils
  2766. * @param {Array} modifiers - list of modifiers
  2767. * @param {String} requestingName - name of requesting modifier
  2768. * @param {String} requestedName - name of requested modifier
  2769. * @returns {Boolean}
  2770. */
  2771. function isModifierRequired(modifiers, requestingName, requestedName) {
  2772. var requesting = find(modifiers, function (_ref) {
  2773. var name = _ref.name;
  2774. return name === requestingName;
  2775. });
  2776. var isRequired = !!requesting && modifiers.some(function (modifier) {
  2777. return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
  2778. });
  2779. if (!isRequired) {
  2780. var _requesting = '`' + requestingName + '`';
  2781. var requested = '`' + requestedName + '`';
  2782. console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
  2783. }
  2784. return isRequired;
  2785. }
  2786. /**
  2787. * @function
  2788. * @memberof Modifiers
  2789. * @argument {Object} data - The data object generated by update method
  2790. * @argument {Object} options - Modifiers configuration and options
  2791. * @returns {Object} The data object, properly modified
  2792. */
  2793. function arrow(data, options) {
  2794. var _data$offsets$arrow; // arrow depends on keepTogether in order to work
  2795. if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
  2796. return data;
  2797. }
  2798. var arrowElement = options.element; // if arrowElement is a string, suppose it's a CSS selector
  2799. if (typeof arrowElement === 'string') {
  2800. arrowElement = data.instance.popper.querySelector(arrowElement); // if arrowElement is not found, don't run the modifier
  2801. if (!arrowElement) {
  2802. return data;
  2803. }
  2804. } else {
  2805. // if the arrowElement isn't a query selector we must check that the
  2806. // provided DOM node is child of its popper node
  2807. if (!data.instance.popper.contains(arrowElement)) {
  2808. console.warn('WARNING: `arrow.element` must be child of its popper element!');
  2809. return data;
  2810. }
  2811. }
  2812. var placement = data.placement.split('-')[0];
  2813. var _data$offsets = data.offsets,
  2814. popper = _data$offsets.popper,
  2815. reference = _data$offsets.reference;
  2816. var isVertical = ['left', 'right'].indexOf(placement) !== -1;
  2817. var len = isVertical ? 'height' : 'width';
  2818. var sideCapitalized = isVertical ? 'Top' : 'Left';
  2819. var side = sideCapitalized.toLowerCase();
  2820. var altSide = isVertical ? 'left' : 'top';
  2821. var opSide = isVertical ? 'bottom' : 'right';
  2822. var arrowElementSize = getOuterSizes(arrowElement)[len]; //
  2823. // extends keepTogether behavior making sure the popper and its
  2824. // reference have enough pixels in conjunction
  2825. //
  2826. // top/left side
  2827. if (reference[opSide] - arrowElementSize < popper[side]) {
  2828. data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
  2829. } // bottom/right side
  2830. if (reference[side] + arrowElementSize > popper[opSide]) {
  2831. data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
  2832. }
  2833. data.offsets.popper = getClientRect(data.offsets.popper); // compute center of the popper
  2834. var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; // Compute the sideValue using the updated popper offsets
  2835. // take popper margin in account because we don't have this info available
  2836. var css = getStyleComputedProperty(data.instance.popper);
  2837. var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
  2838. var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
  2839. var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; // prevent arrowElement from being placed not contiguously to its popper
  2840. sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
  2841. data.arrowElement = arrowElement;
  2842. data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
  2843. return data;
  2844. }
  2845. /**
  2846. * Get the opposite placement variation of the given one
  2847. * @method
  2848. * @memberof Popper.Utils
  2849. * @argument {String} placement variation
  2850. * @returns {String} flipped placement variation
  2851. */
  2852. function getOppositeVariation(variation) {
  2853. if (variation === 'end') {
  2854. return 'start';
  2855. } else if (variation === 'start') {
  2856. return 'end';
  2857. }
  2858. return variation;
  2859. }
  2860. /**
  2861. * List of accepted placements to use as values of the `placement` option.<br />
  2862. * Valid placements are:
  2863. * - `auto`
  2864. * - `top`
  2865. * - `right`
  2866. * - `bottom`
  2867. * - `left`
  2868. *
  2869. * Each placement can have a variation from this list:
  2870. * - `-start`
  2871. * - `-end`
  2872. *
  2873. * Variations are interpreted easily if you think of them as the left to right
  2874. * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
  2875. * is right.<br />
  2876. * Vertically (`left` and `right`), `start` is top and `end` is bottom.
  2877. *
  2878. * Some valid examples are:
  2879. * - `top-end` (on top of reference, right aligned)
  2880. * - `right-start` (on right of reference, top aligned)
  2881. * - `bottom` (on bottom, centered)
  2882. * - `auto-end` (on the side with more space available, alignment depends by placement)
  2883. *
  2884. * @static
  2885. * @type {Array}
  2886. * @enum {String}
  2887. * @readonly
  2888. * @method placements
  2889. * @memberof Popper
  2890. */
  2891. var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; // Get rid of `auto` `auto-start` and `auto-end`
  2892. var validPlacements = placements.slice(3);
  2893. /**
  2894. * Given an initial placement, returns all the subsequent placements
  2895. * clockwise (or counter-clockwise).
  2896. *
  2897. * @method
  2898. * @memberof Popper.Utils
  2899. * @argument {String} placement - A valid placement (it accepts variations)
  2900. * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
  2901. * @returns {Array} placements including their variations
  2902. */
  2903. function clockwise(placement) {
  2904. var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  2905. var index = validPlacements.indexOf(placement);
  2906. var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
  2907. return counter ? arr.reverse() : arr;
  2908. }
  2909. var BEHAVIORS = {
  2910. FLIP: 'flip',
  2911. CLOCKWISE: 'clockwise',
  2912. COUNTERCLOCKWISE: 'counterclockwise'
  2913. };
  2914. /**
  2915. * @function
  2916. * @memberof Modifiers
  2917. * @argument {Object} data - The data object generated by update method
  2918. * @argument {Object} options - Modifiers configuration and options
  2919. * @returns {Object} The data object, properly modified
  2920. */
  2921. function flip(data, options) {
  2922. // if `inner` modifier is enabled, we can't use the `flip` modifier
  2923. if (isModifierEnabled(data.instance.modifiers, 'inner')) {
  2924. return data;
  2925. }
  2926. if (data.flipped && data.placement === data.originalPlacement) {
  2927. // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
  2928. return data;
  2929. }
  2930. var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);
  2931. var placement = data.placement.split('-')[0];
  2932. var placementOpposite = getOppositePlacement(placement);
  2933. var variation = data.placement.split('-')[1] || '';
  2934. var flipOrder = [];
  2935. switch (options.behavior) {
  2936. case BEHAVIORS.FLIP:
  2937. flipOrder = [placement, placementOpposite];
  2938. break;
  2939. case BEHAVIORS.CLOCKWISE:
  2940. flipOrder = clockwise(placement);
  2941. break;
  2942. case BEHAVIORS.COUNTERCLOCKWISE:
  2943. flipOrder = clockwise(placement, true);
  2944. break;
  2945. default:
  2946. flipOrder = options.behavior;
  2947. }
  2948. flipOrder.forEach(function (step, index) {
  2949. if (placement !== step || flipOrder.length === index + 1) {
  2950. return data;
  2951. }
  2952. placement = data.placement.split('-')[0];
  2953. placementOpposite = getOppositePlacement(placement);
  2954. var popperOffsets = data.offsets.popper;
  2955. var refOffsets = data.offsets.reference; // using floor because the reference offsets may contain decimals we are not going to consider here
  2956. var floor = Math.floor;
  2957. var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
  2958. var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
  2959. var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
  2960. var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
  2961. var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
  2962. var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; // flip the variation if required
  2963. var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; // flips variation if reference element overflows boundaries
  2964. var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); // flips variation if popper content overflows boundaries
  2965. var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);
  2966. var flippedVariation = flippedVariationByRef || flippedVariationByContent;
  2967. if (overlapsRef || overflowsBoundaries || flippedVariation) {
  2968. // this boolean to detect any flip loop
  2969. data.flipped = true;
  2970. if (overlapsRef || overflowsBoundaries) {
  2971. placement = flipOrder[index + 1];
  2972. }
  2973. if (flippedVariation) {
  2974. variation = getOppositeVariation(variation);
  2975. }
  2976. data.placement = placement + (variation ? '-' + variation : ''); // this object contains `position`, we want to preserve it along with
  2977. // any additional property we may add in the future
  2978. data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
  2979. data = runModifiers(data.instance.modifiers, data, 'flip');
  2980. }
  2981. });
  2982. return data;
  2983. }
  2984. /**
  2985. * @function
  2986. * @memberof Modifiers
  2987. * @argument {Object} data - The data object generated by update method
  2988. * @argument {Object} options - Modifiers configuration and options
  2989. * @returns {Object} The data object, properly modified
  2990. */
  2991. function keepTogether(data) {
  2992. var _data$offsets = data.offsets,
  2993. popper = _data$offsets.popper,
  2994. reference = _data$offsets.reference;
  2995. var placement = data.placement.split('-')[0];
  2996. var floor = Math.floor;
  2997. var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
  2998. var side = isVertical ? 'right' : 'bottom';
  2999. var opSide = isVertical ? 'left' : 'top';
  3000. var measurement = isVertical ? 'width' : 'height';
  3001. if (popper[side] < floor(reference[opSide])) {
  3002. data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
  3003. }
  3004. if (popper[opSide] > floor(reference[side])) {
  3005. data.offsets.popper[opSide] = floor(reference[side]);
  3006. }
  3007. return data;
  3008. }
  3009. /**
  3010. * Converts a string containing value + unit into a px value number
  3011. * @function
  3012. * @memberof {modifiers~offset}
  3013. * @private
  3014. * @argument {String} str - Value + unit string
  3015. * @argument {String} measurement - `height` or `width`
  3016. * @argument {Object} popperOffsets
  3017. * @argument {Object} referenceOffsets
  3018. * @returns {Number|String}
  3019. * Value in pixels, or original string if no values were extracted
  3020. */
  3021. function toValue(str, measurement, popperOffsets, referenceOffsets) {
  3022. // separate value from unit
  3023. var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
  3024. var value = +split[1];
  3025. var unit = split[2]; // If it's not a number it's an operator, I guess
  3026. if (!value) {
  3027. return str;
  3028. }
  3029. if (unit.indexOf('%') === 0) {
  3030. var element = void 0;
  3031. switch (unit) {
  3032. case '%p':
  3033. element = popperOffsets;
  3034. break;
  3035. case '%':
  3036. case '%r':
  3037. default:
  3038. element = referenceOffsets;
  3039. }
  3040. var rect = getClientRect(element);
  3041. return rect[measurement] / 100 * value;
  3042. } else if (unit === 'vh' || unit === 'vw') {
  3043. // if is a vh or vw, we calculate the size based on the viewport
  3044. var size = void 0;
  3045. if (unit === 'vh') {
  3046. size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
  3047. } else {
  3048. size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
  3049. }
  3050. return size / 100 * value;
  3051. } else {
  3052. // if is an explicit pixel unit, we get rid of the unit and keep the value
  3053. // if is an implicit unit, it's px, and we return just the value
  3054. return value;
  3055. }
  3056. }
  3057. /**
  3058. * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
  3059. * @function
  3060. * @memberof {modifiers~offset}
  3061. * @private
  3062. * @argument {String} offset
  3063. * @argument {Object} popperOffsets
  3064. * @argument {Object} referenceOffsets
  3065. * @argument {String} basePlacement
  3066. * @returns {Array} a two cells array with x and y offsets in numbers
  3067. */
  3068. function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
  3069. var offsets = [0, 0]; // Use height if placement is left or right and index is 0 otherwise use width
  3070. // in this way the first offset will use an axis and the second one
  3071. // will use the other one
  3072. var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; // Split the offset string to obtain a list of values and operands
  3073. // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
  3074. var fragments = offset.split(/(\+|\-)/).map(function (frag) {
  3075. return frag.trim();
  3076. }); // Detect if the offset string contains a pair of values or a single one
  3077. // they could be separated by comma or space
  3078. var divider = fragments.indexOf(find(fragments, function (frag) {
  3079. return frag.search(/,|\s/) !== -1;
  3080. }));
  3081. if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
  3082. console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
  3083. } // If divider is found, we divide the list of values and operands to divide
  3084. // them by ofset X and Y.
  3085. var splitRegex = /\s*,\s*|\s+/;
  3086. var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; // Convert the values with units to absolute pixels to allow our computations
  3087. ops = ops.map(function (op, index) {
  3088. // Most of the units rely on the orientation of the popper
  3089. var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
  3090. var mergeWithPrevious = false;
  3091. return op // This aggregates any `+` or `-` sign that aren't considered operators
  3092. // e.g.: 10 + +5 => [10, +, +5]
  3093. .reduce(function (a, b) {
  3094. if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
  3095. a[a.length - 1] = b;
  3096. mergeWithPrevious = true;
  3097. return a;
  3098. } else if (mergeWithPrevious) {
  3099. a[a.length - 1] += b;
  3100. mergeWithPrevious = false;
  3101. return a;
  3102. } else {
  3103. return a.concat(b);
  3104. }
  3105. }, []) // Here we convert the string values into number values (in px)
  3106. .map(function (str) {
  3107. return toValue(str, measurement, popperOffsets, referenceOffsets);
  3108. });
  3109. }); // Loop trough the offsets arrays and execute the operations
  3110. ops.forEach(function (op, index) {
  3111. op.forEach(function (frag, index2) {
  3112. if (isNumeric(frag)) {
  3113. offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
  3114. }
  3115. });
  3116. });
  3117. return offsets;
  3118. }
  3119. /**
  3120. * @function
  3121. * @memberof Modifiers
  3122. * @argument {Object} data - The data object generated by update method
  3123. * @argument {Object} options - Modifiers configuration and options
  3124. * @argument {Number|String} options.offset=0
  3125. * The offset value as described in the modifier description
  3126. * @returns {Object} The data object, properly modified
  3127. */
  3128. function offset(data, _ref) {
  3129. var offset = _ref.offset;
  3130. var placement = data.placement,
  3131. _data$offsets = data.offsets,
  3132. popper = _data$offsets.popper,
  3133. reference = _data$offsets.reference;
  3134. var basePlacement = placement.split('-')[0];
  3135. var offsets = void 0;
  3136. if (isNumeric(+offset)) {
  3137. offsets = [+offset, 0];
  3138. } else {
  3139. offsets = parseOffset(offset, popper, reference, basePlacement);
  3140. }
  3141. if (basePlacement === 'left') {
  3142. popper.top += offsets[0];
  3143. popper.left -= offsets[1];
  3144. } else if (basePlacement === 'right') {
  3145. popper.top += offsets[0];
  3146. popper.left += offsets[1];
  3147. } else if (basePlacement === 'top') {
  3148. popper.left += offsets[0];
  3149. popper.top -= offsets[1];
  3150. } else if (basePlacement === 'bottom') {
  3151. popper.left += offsets[0];
  3152. popper.top += offsets[1];
  3153. }
  3154. data.popper = popper;
  3155. return data;
  3156. }
  3157. /**
  3158. * @function
  3159. * @memberof Modifiers
  3160. * @argument {Object} data - The data object generated by `update` method
  3161. * @argument {Object} options - Modifiers configuration and options
  3162. * @returns {Object} The data object, properly modified
  3163. */
  3164. function preventOverflow(data, options) {
  3165. var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); // If offsetParent is the reference element, we really want to
  3166. // go one step up and use the next offsetParent as reference to
  3167. // avoid to make this modifier completely useless and look like broken
  3168. if (data.instance.reference === boundariesElement) {
  3169. boundariesElement = getOffsetParent(boundariesElement);
  3170. } // NOTE: DOM access here
  3171. // resets the popper's position so that the document size can be calculated excluding
  3172. // the size of the popper element itself
  3173. var transformProp = getSupportedPropertyName('transform');
  3174. var popperStyles = data.instance.popper.style; // assignment to help minification
  3175. var top = popperStyles.top,
  3176. left = popperStyles.left,
  3177. transform = popperStyles[transformProp];
  3178. popperStyles.top = '';
  3179. popperStyles.left = '';
  3180. popperStyles[transformProp] = '';
  3181. var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); // NOTE: DOM access here
  3182. // restores the original style properties after the offsets have been computed
  3183. popperStyles.top = top;
  3184. popperStyles.left = left;
  3185. popperStyles[transformProp] = transform;
  3186. options.boundaries = boundaries;
  3187. var order = options.priority;
  3188. var popper = data.offsets.popper;
  3189. var check = {
  3190. primary: function primary(placement) {
  3191. var value = popper[placement];
  3192. if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
  3193. value = Math.max(popper[placement], boundaries[placement]);
  3194. }
  3195. return defineProperty({}, placement, value);
  3196. },
  3197. secondary: function secondary(placement) {
  3198. var mainSide = placement === 'right' ? 'left' : 'top';
  3199. var value = popper[mainSide];
  3200. if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
  3201. value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
  3202. }
  3203. return defineProperty({}, mainSide, value);
  3204. }
  3205. };
  3206. order.forEach(function (placement) {
  3207. var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
  3208. popper = _extends({}, popper, check[side](placement));
  3209. });
  3210. data.offsets.popper = popper;
  3211. return data;
  3212. }
  3213. /**
  3214. * @function
  3215. * @memberof Modifiers
  3216. * @argument {Object} data - The data object generated by `update` method
  3217. * @argument {Object} options - Modifiers configuration and options
  3218. * @returns {Object} The data object, properly modified
  3219. */
  3220. function shift(data) {
  3221. var placement = data.placement;
  3222. var basePlacement = placement.split('-')[0];
  3223. var shiftvariation = placement.split('-')[1]; // if shift shiftvariation is specified, run the modifier
  3224. if (shiftvariation) {
  3225. var _data$offsets = data.offsets,
  3226. reference = _data$offsets.reference,
  3227. popper = _data$offsets.popper;
  3228. var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
  3229. var side = isVertical ? 'left' : 'top';
  3230. var measurement = isVertical ? 'width' : 'height';
  3231. var shiftOffsets = {
  3232. start: defineProperty({}, side, reference[side]),
  3233. end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
  3234. };
  3235. data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);
  3236. }
  3237. return data;
  3238. }
  3239. /**
  3240. * @function
  3241. * @memberof Modifiers
  3242. * @argument {Object} data - The data object generated by update method
  3243. * @argument {Object} options - Modifiers configuration and options
  3244. * @returns {Object} The data object, properly modified
  3245. */
  3246. function hide(data) {
  3247. if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
  3248. return data;
  3249. }
  3250. var refRect = data.offsets.reference;
  3251. var bound = find(data.instance.modifiers, function (modifier) {
  3252. return modifier.name === 'preventOverflow';
  3253. }).boundaries;
  3254. if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
  3255. // Avoid unnecessary DOM access if visibility hasn't changed
  3256. if (data.hide === true) {
  3257. return data;
  3258. }
  3259. data.hide = true;
  3260. data.attributes['x-out-of-boundaries'] = '';
  3261. } else {
  3262. // Avoid unnecessary DOM access if visibility hasn't changed
  3263. if (data.hide === false) {
  3264. return data;
  3265. }
  3266. data.hide = false;
  3267. data.attributes['x-out-of-boundaries'] = false;
  3268. }
  3269. return data;
  3270. }
  3271. /**
  3272. * @function
  3273. * @memberof Modifiers
  3274. * @argument {Object} data - The data object generated by `update` method
  3275. * @argument {Object} options - Modifiers configuration and options
  3276. * @returns {Object} The data object, properly modified
  3277. */
  3278. function inner(data) {
  3279. var placement = data.placement;
  3280. var basePlacement = placement.split('-')[0];
  3281. var _data$offsets = data.offsets,
  3282. popper = _data$offsets.popper,
  3283. reference = _data$offsets.reference;
  3284. var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
  3285. var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
  3286. popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
  3287. data.placement = getOppositePlacement(placement);
  3288. data.offsets.popper = getClientRect(popper);
  3289. return data;
  3290. }
  3291. /**
  3292. * Modifier function, each modifier can have a function of this type assigned
  3293. * to its `fn` property.<br />
  3294. * These functions will be called on each update, this means that you must
  3295. * make sure they are performant enough to avoid performance bottlenecks.
  3296. *
  3297. * @function ModifierFn
  3298. * @argument {dataObject} data - The data object generated by `update` method
  3299. * @argument {Object} options - Modifiers configuration and options
  3300. * @returns {dataObject} The data object, properly modified
  3301. */
  3302. /**
  3303. * Modifiers are plugins used to alter the behavior of your poppers.<br />
  3304. * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
  3305. * needed by the library.
  3306. *
  3307. * Usually you don't want to override the `order`, `fn` and `onLoad` props.
  3308. * All the other properties are configurations that could be tweaked.
  3309. * @namespace modifiers
  3310. */
  3311. var modifiers = {
  3312. /**
  3313. * Modifier used to shift the popper on the start or end of its reference
  3314. * element.<br />
  3315. * It will read the variation of the `placement` property.<br />
  3316. * It can be one either `-end` or `-start`.
  3317. * @memberof modifiers
  3318. * @inner
  3319. */
  3320. shift: {
  3321. /** @prop {number} order=100 - Index used to define the order of execution */
  3322. order: 100,
  3323. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3324. enabled: true,
  3325. /** @prop {ModifierFn} */
  3326. fn: shift
  3327. },
  3328. /**
  3329. * The `offset` modifier can shift your popper on both its axis.
  3330. *
  3331. * It accepts the following units:
  3332. * - `px` or unit-less, interpreted as pixels
  3333. * - `%` or `%r`, percentage relative to the length of the reference element
  3334. * - `%p`, percentage relative to the length of the popper element
  3335. * - `vw`, CSS viewport width unit
  3336. * - `vh`, CSS viewport height unit
  3337. *
  3338. * For length is intended the main axis relative to the placement of the popper.<br />
  3339. * This means that if the placement is `top` or `bottom`, the length will be the
  3340. * `width`. In case of `left` or `right`, it will be the `height`.
  3341. *
  3342. * You can provide a single value (as `Number` or `String`), or a pair of values
  3343. * as `String` divided by a comma or one (or more) white spaces.<br />
  3344. * The latter is a deprecated method because it leads to confusion and will be
  3345. * removed in v2.<br />
  3346. * Additionally, it accepts additions and subtractions between different units.
  3347. * Note that multiplications and divisions aren't supported.
  3348. *
  3349. * Valid examples are:
  3350. * ```
  3351. * 10
  3352. * '10%'
  3353. * '10, 10'
  3354. * '10%, 10'
  3355. * '10 + 10%'
  3356. * '10 - 5vh + 3%'
  3357. * '-10px + 5vh, 5px - 6%'
  3358. * ```
  3359. * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
  3360. * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
  3361. * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).
  3362. *
  3363. * @memberof modifiers
  3364. * @inner
  3365. */
  3366. offset: {
  3367. /** @prop {number} order=200 - Index used to define the order of execution */
  3368. order: 200,
  3369. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3370. enabled: true,
  3371. /** @prop {ModifierFn} */
  3372. fn: offset,
  3373. /** @prop {Number|String} offset=0
  3374. * The offset value as described in the modifier description
  3375. */
  3376. offset: 0
  3377. },
  3378. /**
  3379. * Modifier used to prevent the popper from being positioned outside the boundary.
  3380. *
  3381. * A scenario exists where the reference itself is not within the boundaries.<br />
  3382. * We can say it has "escaped the boundaries" — or just "escaped".<br />
  3383. * In this case we need to decide whether the popper should either:
  3384. *
  3385. * - detach from the reference and remain "trapped" in the boundaries, or
  3386. * - if it should ignore the boundary and "escape with its reference"
  3387. *
  3388. * When `escapeWithReference` is set to`true` and reference is completely
  3389. * outside its boundaries, the popper will overflow (or completely leave)
  3390. * the boundaries in order to remain attached to the edge of the reference.
  3391. *
  3392. * @memberof modifiers
  3393. * @inner
  3394. */
  3395. preventOverflow: {
  3396. /** @prop {number} order=300 - Index used to define the order of execution */
  3397. order: 300,
  3398. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3399. enabled: true,
  3400. /** @prop {ModifierFn} */
  3401. fn: preventOverflow,
  3402. /**
  3403. * @prop {Array} [priority=['left','right','top','bottom']]
  3404. * Popper will try to prevent overflow following these priorities by default,
  3405. * then, it could overflow on the left and on top of the `boundariesElement`
  3406. */
  3407. priority: ['left', 'right', 'top', 'bottom'],
  3408. /**
  3409. * @prop {number} padding=5
  3410. * Amount of pixel used to define a minimum distance between the boundaries
  3411. * and the popper. This makes sure the popper always has a little padding
  3412. * between the edges of its container
  3413. */
  3414. padding: 5,
  3415. /**
  3416. * @prop {String|HTMLElement} boundariesElement='scrollParent'
  3417. * Boundaries used by the modifier. Can be `scrollParent`, `window`,
  3418. * `viewport` or any DOM element.
  3419. */
  3420. boundariesElement: 'scrollParent'
  3421. },
  3422. /**
  3423. * Modifier used to make sure the reference and its popper stay near each other
  3424. * without leaving any gap between the two. Especially useful when the arrow is
  3425. * enabled and you want to ensure that it points to its reference element.
  3426. * It cares only about the first axis. You can still have poppers with margin
  3427. * between the popper and its reference element.
  3428. * @memberof modifiers
  3429. * @inner
  3430. */
  3431. keepTogether: {
  3432. /** @prop {number} order=400 - Index used to define the order of execution */
  3433. order: 400,
  3434. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3435. enabled: true,
  3436. /** @prop {ModifierFn} */
  3437. fn: keepTogether
  3438. },
  3439. /**
  3440. * This modifier is used to move the `arrowElement` of the popper to make
  3441. * sure it is positioned between the reference element and its popper element.
  3442. * It will read the outer size of the `arrowElement` node to detect how many
  3443. * pixels of conjunction are needed.
  3444. *
  3445. * It has no effect if no `arrowElement` is provided.
  3446. * @memberof modifiers
  3447. * @inner
  3448. */
  3449. arrow: {
  3450. /** @prop {number} order=500 - Index used to define the order of execution */
  3451. order: 500,
  3452. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3453. enabled: true,
  3454. /** @prop {ModifierFn} */
  3455. fn: arrow,
  3456. /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
  3457. element: '[x-arrow]'
  3458. },
  3459. /**
  3460. * Modifier used to flip the popper's placement when it starts to overlap its
  3461. * reference element.
  3462. *
  3463. * Requires the `preventOverflow` modifier before it in order to work.
  3464. *
  3465. * **NOTE:** this modifier will interrupt the current update cycle and will
  3466. * restart it if it detects the need to flip the placement.
  3467. * @memberof modifiers
  3468. * @inner
  3469. */
  3470. flip: {
  3471. /** @prop {number} order=600 - Index used to define the order of execution */
  3472. order: 600,
  3473. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3474. enabled: true,
  3475. /** @prop {ModifierFn} */
  3476. fn: flip,
  3477. /**
  3478. * @prop {String|Array} behavior='flip'
  3479. * The behavior used to change the popper's placement. It can be one of
  3480. * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
  3481. * placements (with optional variations)
  3482. */
  3483. behavior: 'flip',
  3484. /**
  3485. * @prop {number} padding=5
  3486. * The popper will flip if it hits the edges of the `boundariesElement`
  3487. */
  3488. padding: 5,
  3489. /**
  3490. * @prop {String|HTMLElement} boundariesElement='viewport'
  3491. * The element which will define the boundaries of the popper position.
  3492. * The popper will never be placed outside of the defined boundaries
  3493. * (except if `keepTogether` is enabled)
  3494. */
  3495. boundariesElement: 'viewport',
  3496. /**
  3497. * @prop {Boolean} flipVariations=false
  3498. * The popper will switch placement variation between `-start` and `-end` when
  3499. * the reference element overlaps its boundaries.
  3500. *
  3501. * The original placement should have a set variation.
  3502. */
  3503. flipVariations: false,
  3504. /**
  3505. * @prop {Boolean} flipVariationsByContent=false
  3506. * The popper will switch placement variation between `-start` and `-end` when
  3507. * the popper element overlaps its reference boundaries.
  3508. *
  3509. * The original placement should have a set variation.
  3510. */
  3511. flipVariationsByContent: false
  3512. },
  3513. /**
  3514. * Modifier used to make the popper flow toward the inner of the reference element.
  3515. * By default, when this modifier is disabled, the popper will be placed outside
  3516. * the reference element.
  3517. * @memberof modifiers
  3518. * @inner
  3519. */
  3520. inner: {
  3521. /** @prop {number} order=700 - Index used to define the order of execution */
  3522. order: 700,
  3523. /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
  3524. enabled: false,
  3525. /** @prop {ModifierFn} */
  3526. fn: inner
  3527. },
  3528. /**
  3529. * Modifier used to hide the popper when its reference element is outside of the
  3530. * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
  3531. * be used to hide with a CSS selector the popper when its reference is
  3532. * out of boundaries.
  3533. *
  3534. * Requires the `preventOverflow` modifier before it in order to work.
  3535. * @memberof modifiers
  3536. * @inner
  3537. */
  3538. hide: {
  3539. /** @prop {number} order=800 - Index used to define the order of execution */
  3540. order: 800,
  3541. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3542. enabled: true,
  3543. /** @prop {ModifierFn} */
  3544. fn: hide
  3545. },
  3546. /**
  3547. * Computes the style that will be applied to the popper element to gets
  3548. * properly positioned.
  3549. *
  3550. * Note that this modifier will not touch the DOM, it just prepares the styles
  3551. * so that `applyStyle` modifier can apply it. This separation is useful
  3552. * in case you need to replace `applyStyle` with a custom implementation.
  3553. *
  3554. * This modifier has `850` as `order` value to maintain backward compatibility
  3555. * with previous versions of Popper.js. Expect the modifiers ordering method
  3556. * to change in future major versions of the library.
  3557. *
  3558. * @memberof modifiers
  3559. * @inner
  3560. */
  3561. computeStyle: {
  3562. /** @prop {number} order=850 - Index used to define the order of execution */
  3563. order: 850,
  3564. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3565. enabled: true,
  3566. /** @prop {ModifierFn} */
  3567. fn: computeStyle,
  3568. /**
  3569. * @prop {Boolean} gpuAcceleration=true
  3570. * If true, it uses the CSS 3D transformation to position the popper.
  3571. * Otherwise, it will use the `top` and `left` properties
  3572. */
  3573. gpuAcceleration: true,
  3574. /**
  3575. * @prop {string} [x='bottom']
  3576. * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
  3577. * Change this if your popper should grow in a direction different from `bottom`
  3578. */
  3579. x: 'bottom',
  3580. /**
  3581. * @prop {string} [x='left']
  3582. * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
  3583. * Change this if your popper should grow in a direction different from `right`
  3584. */
  3585. y: 'right'
  3586. },
  3587. /**
  3588. * Applies the computed styles to the popper element.
  3589. *
  3590. * All the DOM manipulations are limited to this modifier. This is useful in case
  3591. * you want to integrate Popper.js inside a framework or view library and you
  3592. * want to delegate all the DOM manipulations to it.
  3593. *
  3594. * Note that if you disable this modifier, you must make sure the popper element
  3595. * has its position set to `absolute` before Popper.js can do its work!
  3596. *
  3597. * Just disable this modifier and define your own to achieve the desired effect.
  3598. *
  3599. * @memberof modifiers
  3600. * @inner
  3601. */
  3602. applyStyle: {
  3603. /** @prop {number} order=900 - Index used to define the order of execution */
  3604. order: 900,
  3605. /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
  3606. enabled: true,
  3607. /** @prop {ModifierFn} */
  3608. fn: applyStyle,
  3609. /** @prop {Function} */
  3610. onLoad: applyStyleOnLoad,
  3611. /**
  3612. * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
  3613. * @prop {Boolean} gpuAcceleration=true
  3614. * If true, it uses the CSS 3D transformation to position the popper.
  3615. * Otherwise, it will use the `top` and `left` properties
  3616. */
  3617. gpuAcceleration: undefined
  3618. }
  3619. };
  3620. /**
  3621. * The `dataObject` is an object containing all the information used by Popper.js.
  3622. * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
  3623. * @name dataObject
  3624. * @property {Object} data.instance The Popper.js instance
  3625. * @property {String} data.placement Placement applied to popper
  3626. * @property {String} data.originalPlacement Placement originally defined on init
  3627. * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
  3628. * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper
  3629. * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
  3630. * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)
  3631. * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)
  3632. * @property {Object} data.boundaries Offsets of the popper boundaries
  3633. * @property {Object} data.offsets The measurements of popper, reference and arrow elements
  3634. * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
  3635. * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
  3636. * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
  3637. */
  3638. /**
  3639. * Default options provided to Popper.js constructor.<br />
  3640. * These can be overridden using the `options` argument of Popper.js.<br />
  3641. * To override an option, simply pass an object with the same
  3642. * structure of the `options` object, as the 3rd argument. For example:
  3643. * ```
  3644. * new Popper(ref, pop, {
  3645. * modifiers: {
  3646. * preventOverflow: { enabled: false }
  3647. * }
  3648. * })
  3649. * ```
  3650. * @type {Object}
  3651. * @static
  3652. * @memberof Popper
  3653. */
  3654. var Defaults = {
  3655. /**
  3656. * Popper's placement.
  3657. * @prop {Popper.placements} placement='bottom'
  3658. */
  3659. placement: 'bottom',
  3660. /**
  3661. * Set this to true if you want popper to position it self in 'fixed' mode
  3662. * @prop {Boolean} positionFixed=false
  3663. */
  3664. positionFixed: false,
  3665. /**
  3666. * Whether events (resize, scroll) are initially enabled.
  3667. * @prop {Boolean} eventsEnabled=true
  3668. */
  3669. eventsEnabled: true,
  3670. /**
  3671. * Set to true if you want to automatically remove the popper when
  3672. * you call the `destroy` method.
  3673. * @prop {Boolean} removeOnDestroy=false
  3674. */
  3675. removeOnDestroy: false,
  3676. /**
  3677. * Callback called when the popper is created.<br />
  3678. * By default, it is set to no-op.<br />
  3679. * Access Popper.js instance with `data.instance`.
  3680. * @prop {onCreate}
  3681. */
  3682. onCreate: function onCreate() {},
  3683. /**
  3684. * Callback called when the popper is updated. This callback is not called
  3685. * on the initialization/creation of the popper, but only on subsequent
  3686. * updates.<br />
  3687. * By default, it is set to no-op.<br />
  3688. * Access Popper.js instance with `data.instance`.
  3689. * @prop {onUpdate}
  3690. */
  3691. onUpdate: function onUpdate() {},
  3692. /**
  3693. * List of modifiers used to modify the offsets before they are applied to the popper.
  3694. * They provide most of the functionalities of Popper.js.
  3695. * @prop {modifiers}
  3696. */
  3697. modifiers: modifiers
  3698. };
  3699. /**
  3700. * @callback onCreate
  3701. * @param {dataObject} data
  3702. */
  3703. /**
  3704. * @callback onUpdate
  3705. * @param {dataObject} data
  3706. */
  3707. // Utils
  3708. // Methods
  3709. var Popper = function () {
  3710. /**
  3711. * Creates a new Popper.js instance.
  3712. * @class Popper
  3713. * @param {Element|referenceObject} reference - The reference element used to position the popper
  3714. * @param {Element} popper - The HTML / XML element used as the popper
  3715. * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
  3716. * @return {Object} instance - The generated Popper.js instance
  3717. */
  3718. function Popper(reference, popper) {
  3719. var _this = this;
  3720. var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
  3721. classCallCheck(this, Popper);
  3722. this.scheduleUpdate = function () {
  3723. return requestAnimationFrame(_this.update);
  3724. }; // make update() debounced, so that it only runs at most once-per-tick
  3725. this.update = debounce(this.update.bind(this)); // with {} we create a new object with the options inside it
  3726. this.options = _extends({}, Popper.Defaults, options); // init state
  3727. this.state = {
  3728. isDestroyed: false,
  3729. isCreated: false,
  3730. scrollParents: []
  3731. }; // get reference and popper elements (allow jQuery wrappers)
  3732. this.reference = reference && reference.jquery ? reference[0] : reference;
  3733. this.popper = popper && popper.jquery ? popper[0] : popper; // Deep merge modifiers options
  3734. this.options.modifiers = {};
  3735. Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
  3736. _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
  3737. }); // Refactoring modifiers' list (Object => Array)
  3738. this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
  3739. return _extends({
  3740. name: name
  3741. }, _this.options.modifiers[name]);
  3742. }) // sort the modifiers by order
  3743. .sort(function (a, b) {
  3744. return a.order - b.order;
  3745. }); // modifiers have the ability to execute arbitrary code when Popper.js get inited
  3746. // such code is executed in the same order of its modifier
  3747. // they could add new properties to their options configuration
  3748. // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
  3749. this.modifiers.forEach(function (modifierOptions) {
  3750. if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
  3751. modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
  3752. }
  3753. }); // fire the first update to position the popper in the right place
  3754. this.update();
  3755. var eventsEnabled = this.options.eventsEnabled;
  3756. if (eventsEnabled) {
  3757. // setup event listeners, they will take care of update the position in specific situations
  3758. this.enableEventListeners();
  3759. }
  3760. this.state.eventsEnabled = eventsEnabled;
  3761. } // We can't use class properties because they don't get listed in the
  3762. // class prototype and break stuff like Sinon stubs
  3763. createClass(Popper, [{
  3764. key: 'update',
  3765. value: function update$$1() {
  3766. return update.call(this);
  3767. }
  3768. }, {
  3769. key: 'destroy',
  3770. value: function destroy$$1() {
  3771. return destroy.call(this);
  3772. }
  3773. }, {
  3774. key: 'enableEventListeners',
  3775. value: function enableEventListeners$$1() {
  3776. return enableEventListeners.call(this);
  3777. }
  3778. }, {
  3779. key: 'disableEventListeners',
  3780. value: function disableEventListeners$$1() {
  3781. return disableEventListeners.call(this);
  3782. }
  3783. /**
  3784. * Schedules an update. It will run on the next UI update available.
  3785. * @method scheduleUpdate
  3786. * @memberof Popper
  3787. */
  3788. /**
  3789. * Collection of utilities useful when writing custom modifiers.
  3790. * Starting from version 1.7, this method is available only if you
  3791. * include `popper-utils.js` before `popper.js`.
  3792. *
  3793. * **DEPRECATION**: This way to access PopperUtils is deprecated
  3794. * and will be removed in v2! Use the PopperUtils module directly instead.
  3795. * Due to the high instability of the methods contained in Utils, we can't
  3796. * guarantee them to follow semver. Use them at your own risk!
  3797. * @static
  3798. * @private
  3799. * @type {Object}
  3800. * @deprecated since version 1.8
  3801. * @member Utils
  3802. * @memberof Popper
  3803. */
  3804. }]);
  3805. return Popper;
  3806. }();
  3807. /**
  3808. * The `referenceObject` is an object that provides an interface compatible with Popper.js
  3809. * and lets you use it as replacement of a real DOM node.<br />
  3810. * You can use this method to position a popper relatively to a set of coordinates
  3811. * in case you don't have a DOM node to use as reference.
  3812. *
  3813. * ```
  3814. * new Popper(referenceObject, popperNode);
  3815. * ```
  3816. *
  3817. * NB: This feature isn't supported in Internet Explorer 10.
  3818. * @name referenceObject
  3819. * @property {Function} data.getBoundingClientRect
  3820. * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
  3821. * @property {number} data.clientWidth
  3822. * An ES6 getter that will return the width of the virtual reference element.
  3823. * @property {number} data.clientHeight
  3824. * An ES6 getter that will return the height of the virtual reference element.
  3825. */
  3826. Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
  3827. Popper.placements = placements;
  3828. Popper.Defaults = Defaults;
  3829. /* harmony default export */ __webpack_exports__["a"] = (Popper);
  3830. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(38)))
  3831. /***/ }),
  3832. /* 37 */
  3833. /***/ (function(module, exports, __webpack_require__) {
  3834. "use strict";
  3835. var _interopRequireDefault = __webpack_require__(9);
  3836. exports.__esModule = true;
  3837. exports.default = camelizeStyleName;
  3838. var _camelize = _interopRequireDefault(__webpack_require__(32));
  3839. /**
  3840. * Copyright 2014-2015, Facebook, Inc.
  3841. * All rights reserved.
  3842. * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js
  3843. */
  3844. var msPattern = /^-ms-/;
  3845. function camelizeStyleName(string) {
  3846. return (0, _camelize.default)(string.replace(msPattern, 'ms-'));
  3847. }
  3848. module.exports = exports["default"];
  3849. /***/ }),
  3850. /* 38 */
  3851. /***/ (function(module, exports) {
  3852. var g; // This works in non-strict mode
  3853. g = function () {
  3854. return this;
  3855. }();
  3856. try {
  3857. // This works if eval is allowed (see CSP)
  3858. g = g || new Function("return this")();
  3859. } catch (e) {
  3860. // This works if the window reference is available
  3861. if (typeof window === "object") g = window;
  3862. } // g can still be undefined, but nothing to do about it...
  3863. // We return undefined, instead of nothing here, so it's
  3864. // easier to handle this case. if(!global) { ...}
  3865. module.exports = g;
  3866. /***/ }),
  3867. /* 39 */
  3868. /***/ (function(module, exports, __webpack_require__) {
  3869. "use strict";
  3870. exports.__esModule = true;
  3871. exports.default = void 0;
  3872. var _contains = _interopRequireDefault(__webpack_require__(22));
  3873. var _listen = _interopRequireDefault(__webpack_require__(30));
  3874. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  3875. var _react = _interopRequireDefault(__webpack_require__(1));
  3876. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  3877. var _ownerDocument = _interopRequireDefault(__webpack_require__(42));
  3878. function _interopRequireDefault(obj) {
  3879. return obj && obj.__esModule ? obj : {
  3880. default: obj
  3881. };
  3882. }
  3883. function _inheritsLoose(subClass, superClass) {
  3884. subClass.prototype = Object.create(superClass.prototype);
  3885. subClass.prototype.constructor = subClass;
  3886. subClass.__proto__ = superClass;
  3887. }
  3888. function _assertThisInitialized(self) {
  3889. if (self === void 0) {
  3890. throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  3891. }
  3892. return self;
  3893. }
  3894. var escapeKeyCode = 27;
  3895. var noop = function noop() {};
  3896. function isLeftClickEvent(event) {
  3897. return event.button === 0;
  3898. }
  3899. function isModifiedEvent(event) {
  3900. return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
  3901. }
  3902. /**
  3903. * The `<RootCloseWrapper/>` component registers your callback on the document
  3904. * when rendered. Powers the `<Overlay/>` component. This is used achieve modal
  3905. * style behavior where your callback is triggered when the user tries to
  3906. * interact with the rest of the document or hits the `esc` key.
  3907. */
  3908. var RootCloseWrapper =
  3909. /*#__PURE__*/
  3910. function (_React$Component) {
  3911. _inheritsLoose(RootCloseWrapper, _React$Component);
  3912. function RootCloseWrapper(props, context) {
  3913. var _this;
  3914. _this = _React$Component.call(this, props, context) || this;
  3915. _this.addEventListeners = function () {
  3916. var event = _this.props.event;
  3917. var doc = (0, _ownerDocument.default)(_assertThisInitialized(_assertThisInitialized(_this))); // Use capture for this listener so it fires before React's listener, to
  3918. // avoid false positives in the contains() check below if the target DOM
  3919. // element is removed in the React mouse callback.
  3920. _this.removeMouseCaptureListener = (0, _listen.default)(doc, event, _this.handleMouseCapture, true);
  3921. _this.removeMouseListener = (0, _listen.default)(doc, event, _this.handleMouse);
  3922. _this.removeKeyupListener = (0, _listen.default)(doc, 'keyup', _this.handleKeyUp);
  3923. if ('ontouchstart' in doc.documentElement) {
  3924. _this.mobileSafariHackListeners = [].slice.call(document.body.children).map(function (el) {
  3925. return (0, _listen.default)(el, 'mousemove', noop);
  3926. });
  3927. }
  3928. };
  3929. _this.removeEventListeners = function () {
  3930. if (_this.removeMouseCaptureListener) _this.removeMouseCaptureListener();
  3931. if (_this.removeMouseListener) _this.removeMouseListener();
  3932. if (_this.removeKeyupListener) _this.removeKeyupListener();
  3933. if (_this.mobileSafariHackListeners) _this.mobileSafariHackListeners.forEach(function (remove) {
  3934. return remove();
  3935. });
  3936. };
  3937. _this.handleMouseCapture = function (e) {
  3938. _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains.default)(_reactDom.default.findDOMNode(_assertThisInitialized(_assertThisInitialized(_this))), e.target);
  3939. };
  3940. _this.handleMouse = function (e) {
  3941. if (!_this.preventMouseRootClose && _this.props.onRootClose) {
  3942. _this.props.onRootClose(e);
  3943. }
  3944. };
  3945. _this.handleKeyUp = function (e) {
  3946. if (e.keyCode === escapeKeyCode && _this.props.onRootClose) {
  3947. _this.props.onRootClose(e);
  3948. }
  3949. };
  3950. _this.preventMouseRootClose = false;
  3951. return _this;
  3952. }
  3953. var _proto = RootCloseWrapper.prototype;
  3954. _proto.componentDidMount = function componentDidMount() {
  3955. if (!this.props.disabled) {
  3956. this.addEventListeners();
  3957. }
  3958. };
  3959. _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
  3960. if (!this.props.disabled && prevProps.disabled) {
  3961. this.addEventListeners();
  3962. } else if (this.props.disabled && !prevProps.disabled) {
  3963. this.removeEventListeners();
  3964. }
  3965. };
  3966. _proto.componentWillUnmount = function componentWillUnmount() {
  3967. if (!this.props.disabled) {
  3968. this.removeEventListeners();
  3969. }
  3970. };
  3971. _proto.render = function render() {
  3972. return this.props.children;
  3973. };
  3974. return RootCloseWrapper;
  3975. }(_react.default.Component);
  3976. RootCloseWrapper.displayName = 'RootCloseWrapper';
  3977. RootCloseWrapper.propTypes = {
  3978. /**
  3979. * Callback fired after click or mousedown. Also triggers when user hits `esc`.
  3980. */
  3981. onRootClose: _propTypes.default.func,
  3982. /**
  3983. * Children to render.
  3984. */
  3985. children: _propTypes.default.element,
  3986. /**
  3987. * Disable the the RootCloseWrapper, preventing it from triggering `onRootClose`.
  3988. */
  3989. disabled: _propTypes.default.bool,
  3990. /**
  3991. * Choose which document mouse event to bind to.
  3992. */
  3993. event: _propTypes.default.oneOf(['click', 'mousedown'])
  3994. };
  3995. RootCloseWrapper.defaultProps = {
  3996. event: 'click'
  3997. };
  3998. var _default = RootCloseWrapper;
  3999. exports.default = _default;
  4000. module.exports = exports.default;
  4001. /***/ }),
  4002. /* 40 */
  4003. /***/ (function(module, exports, __webpack_require__) {
  4004. "use strict";
  4005. var _interopRequireDefault = __webpack_require__(9);
  4006. exports.__esModule = true;
  4007. exports.default = void 0;
  4008. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  4009. var on = function on() {};
  4010. if (_inDOM.default) {
  4011. on = function () {
  4012. if (document.addEventListener) return function (node, eventName, handler, capture) {
  4013. return node.addEventListener(eventName, handler, capture || false);
  4014. };else if (document.attachEvent) return function (node, eventName, handler) {
  4015. return node.attachEvent('on' + eventName, function (e) {
  4016. e = e || window.event;
  4017. e.target = e.target || e.srcElement;
  4018. e.currentTarget = node;
  4019. handler.call(node, e);
  4020. });
  4021. };
  4022. }();
  4023. }
  4024. var _default = on;
  4025. exports.default = _default;
  4026. module.exports = exports["default"];
  4027. /***/ }),
  4028. /* 41 */
  4029. /***/ (function(module, exports, __webpack_require__) {
  4030. "use strict";
  4031. var _interopRequireDefault = __webpack_require__(9);
  4032. exports.__esModule = true;
  4033. exports.default = void 0;
  4034. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  4035. var off = function off() {};
  4036. if (_inDOM.default) {
  4037. off = function () {
  4038. if (document.addEventListener) return function (node, eventName, handler, capture) {
  4039. return node.removeEventListener(eventName, handler, capture || false);
  4040. };else if (document.attachEvent) return function (node, eventName, handler) {
  4041. return node.detachEvent('on' + eventName, handler);
  4042. };
  4043. }();
  4044. }
  4045. var _default = off;
  4046. exports.default = _default;
  4047. module.exports = exports["default"];
  4048. /***/ }),
  4049. /* 42 */
  4050. /***/ (function(module, exports, __webpack_require__) {
  4051. "use strict";
  4052. exports.__esModule = true;
  4053. exports.default = _default;
  4054. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  4055. var _ownerDocument = _interopRequireDefault(__webpack_require__(17));
  4056. function _interopRequireDefault(obj) {
  4057. return obj && obj.__esModule ? obj : {
  4058. default: obj
  4059. };
  4060. }
  4061. function _default(componentOrElement) {
  4062. return (0, _ownerDocument.default)(_reactDom.default.findDOMNode(componentOrElement));
  4063. }
  4064. module.exports = exports.default;
  4065. /***/ }),
  4066. /* 43 */
  4067. /***/ (function(module, exports, __webpack_require__) {
  4068. "use strict";
  4069. exports.__esModule = true;
  4070. exports.default = forwardRef;
  4071. var _react = _interopRequireDefault(__webpack_require__(1));
  4072. function _interopRequireDefault(obj) {
  4073. return obj && obj.__esModule ? obj : {
  4074. default: obj
  4075. };
  4076. }
  4077. function forwardRef(renderFn, _ref) {
  4078. var displayName = _ref.displayName,
  4079. propTypes = _ref.propTypes,
  4080. defaultProps = _ref.defaultProps,
  4081. _ref$allowFallback = _ref.allowFallback,
  4082. allowFallback = _ref$allowFallback === void 0 ? false : _ref$allowFallback;
  4083. var render = function render(props, ref) {
  4084. return renderFn(props, ref);
  4085. };
  4086. Object.assign(render, {
  4087. displayName: displayName
  4088. });
  4089. if (_react.default.forwardRef || !allowFallback) return Object.assign(_react.default.forwardRef(render), {
  4090. propTypes: propTypes,
  4091. defaultProps: defaultProps
  4092. });
  4093. return Object.assign(function (props) {
  4094. return render(props, null);
  4095. }, {
  4096. displayName: displayName,
  4097. propTypes: propTypes,
  4098. defaultProps: defaultProps
  4099. });
  4100. }
  4101. /***/ }),
  4102. /* 44 */
  4103. /***/ (function(module, exports, __webpack_require__) {
  4104. "use strict";
  4105. exports.__esModule = true;
  4106. exports.default = hasClass;
  4107. function hasClass(element, className) {
  4108. if (element.classList) return !!className && element.classList.contains(className);else return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
  4109. }
  4110. module.exports = exports["default"];
  4111. /***/ }),
  4112. /* 45 */
  4113. /***/ (function(module, exports, __webpack_require__) {
  4114. "use strict";
  4115. exports.__esModule = true;
  4116. exports.default = void 0;
  4117. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  4118. var _componentOrElement = _interopRequireDefault(__webpack_require__(21));
  4119. var _react = _interopRequireDefault(__webpack_require__(1));
  4120. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  4121. var _WaitForContainer = _interopRequireDefault(__webpack_require__(46));
  4122. function _interopRequireDefault(obj) {
  4123. return obj && obj.__esModule ? obj : {
  4124. default: obj
  4125. };
  4126. }
  4127. function _inheritsLoose(subClass, superClass) {
  4128. subClass.prototype = Object.create(superClass.prototype);
  4129. subClass.prototype.constructor = subClass;
  4130. subClass.__proto__ = superClass;
  4131. }
  4132. /**
  4133. * The `<Portal/>` component renders its children into a new "subtree" outside of current component hierarchy.
  4134. * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.
  4135. * The children of `<Portal/>` component will be appended to the `container` specified.
  4136. */
  4137. var Portal =
  4138. /*#__PURE__*/
  4139. function (_React$Component) {
  4140. _inheritsLoose(Portal, _React$Component);
  4141. function Portal() {
  4142. return _React$Component.apply(this, arguments) || this;
  4143. }
  4144. var _proto = Portal.prototype;
  4145. _proto.render = function render() {
  4146. var _this = this;
  4147. return this.props.children ? _react.default.createElement(_WaitForContainer.default, {
  4148. container: this.props.container,
  4149. onContainerResolved: this.props.onRendered
  4150. }, function (container) {
  4151. return _reactDom.default.createPortal(_this.props.children, container);
  4152. }) : null;
  4153. };
  4154. return Portal;
  4155. }(_react.default.Component);
  4156. Portal.displayName = 'Portal';
  4157. Portal.propTypes = {
  4158. /**
  4159. * A Node, Component instance, or function that returns either. The `container` will have the Portal children
  4160. * appended to it.
  4161. */
  4162. container: _propTypes.default.oneOfType([_componentOrElement.default, _propTypes.default.func]),
  4163. onRendered: _propTypes.default.func
  4164. };
  4165. var _default = Portal;
  4166. exports.default = _default;
  4167. module.exports = exports.default;
  4168. /***/ }),
  4169. /* 46 */
  4170. /***/ (function(module, exports, __webpack_require__) {
  4171. "use strict";
  4172. exports.__esModule = true;
  4173. exports.default = void 0;
  4174. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  4175. var _componentOrElement = _interopRequireDefault(__webpack_require__(21));
  4176. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  4177. var _ownerDocument = _interopRequireDefault(__webpack_require__(17));
  4178. var _react = _interopRequireDefault(__webpack_require__(1));
  4179. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  4180. var _getContainer = _interopRequireDefault(__webpack_require__(47));
  4181. function _interopRequireDefault(obj) {
  4182. return obj && obj.__esModule ? obj : {
  4183. default: obj
  4184. };
  4185. }
  4186. function _assertThisInitialized(self) {
  4187. if (self === void 0) {
  4188. throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  4189. }
  4190. return self;
  4191. }
  4192. function _inheritsLoose(subClass, superClass) {
  4193. subClass.prototype = Object.create(superClass.prototype);
  4194. subClass.prototype.constructor = subClass;
  4195. subClass.__proto__ = superClass;
  4196. }
  4197. var propTypes = {
  4198. /**
  4199. * A Node, Component instance, or function that returns either. The `container` will have the Portal children
  4200. * appended to it.
  4201. */
  4202. container: _propTypes.default.oneOfType([_componentOrElement.default, _propTypes.default.func]),
  4203. onContainerResolved: _propTypes.default.func
  4204. };
  4205. var WaitForContainer =
  4206. /*#__PURE__*/
  4207. function (_React$Component) {
  4208. _inheritsLoose(WaitForContainer, _React$Component);
  4209. function WaitForContainer() {
  4210. var _this;
  4211. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  4212. args[_key] = arguments[_key];
  4213. }
  4214. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  4215. if (!_inDOM.default) return _assertThisInitialized(_this);
  4216. var container = _this.props.container;
  4217. if (typeof container === 'function') container = container();
  4218. if (container && !_reactDom.default.findDOMNode(container)) {
  4219. // The container is a React component that has not yet been rendered.
  4220. // Don't set the container node yet.
  4221. return _assertThisInitialized(_this);
  4222. }
  4223. _this.setContainer(container);
  4224. return _this;
  4225. }
  4226. var _proto = WaitForContainer.prototype;
  4227. _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {
  4228. if (nextProps.container !== this.props.container) {
  4229. this.setContainer(nextProps.container);
  4230. }
  4231. };
  4232. _proto.componentDidMount = function componentDidMount() {
  4233. if (!this._container) {
  4234. this.setContainer(this.props.container);
  4235. this.forceUpdate(this.props.onContainerResolved);
  4236. } else if (this.props.onContainerResolved) {
  4237. this.props.onContainerResolved();
  4238. }
  4239. };
  4240. _proto.componentWillUnmount = function componentWillUnmount() {
  4241. this._container = null;
  4242. };
  4243. _proto.setContainer = function setContainer(container) {
  4244. this._container = (0, _getContainer.default)(container, (0, _ownerDocument.default)().body);
  4245. };
  4246. _proto.render = function render() {
  4247. return this._container ? this.props.children(this._container) : null;
  4248. };
  4249. return WaitForContainer;
  4250. }(_react.default.Component);
  4251. WaitForContainer.propTypes = propTypes;
  4252. var _default = WaitForContainer;
  4253. exports.default = _default;
  4254. module.exports = exports.default;
  4255. /***/ }),
  4256. /* 47 */
  4257. /***/ (function(module, exports, __webpack_require__) {
  4258. "use strict";
  4259. exports.__esModule = true;
  4260. exports.default = getContainer;
  4261. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  4262. function _interopRequireDefault(obj) {
  4263. return obj && obj.__esModule ? obj : {
  4264. default: obj
  4265. };
  4266. }
  4267. function getContainer(container, defaultContainer) {
  4268. if (container == null) return defaultContainer;
  4269. container = typeof container === 'function' ? container() : container;
  4270. return _reactDom.default.findDOMNode(container) || null;
  4271. }
  4272. module.exports = exports.default;
  4273. /***/ }),
  4274. /* 48 */
  4275. /***/ (function(module, exports, __webpack_require__) {
  4276. "use strict";
  4277. exports.__esModule = true;
  4278. exports.default = forwardRef;
  4279. var _react = _interopRequireDefault(__webpack_require__(1));
  4280. function _interopRequireDefault(obj) {
  4281. return obj && obj.__esModule ? obj : {
  4282. default: obj
  4283. };
  4284. }
  4285. function forwardRef(renderFn, _temp) {
  4286. var _ref = _temp === void 0 ? {} : _temp,
  4287. propTypes = _ref.propTypes,
  4288. defaultProps = _ref.defaultProps,
  4289. _ref$allowFallback = _ref.allowFallback,
  4290. allowFallback = _ref$allowFallback === void 0 ? false : _ref$allowFallback,
  4291. _ref$displayName = _ref.displayName,
  4292. displayName = _ref$displayName === void 0 ? renderFn.name || renderFn.displayName : _ref$displayName;
  4293. var render = function render(props, ref) {
  4294. return renderFn(props, ref);
  4295. };
  4296. return Object.assign(_react.default.forwardRef || !allowFallback ? _react.default.forwardRef(render) : function (props) {
  4297. return render(props, null);
  4298. }, {
  4299. displayName: displayName,
  4300. propTypes: propTypes,
  4301. defaultProps: defaultProps
  4302. });
  4303. }
  4304. /***/ }),
  4305. /* 49 */
  4306. /***/ (function(module, exports, __webpack_require__) {
  4307. "use strict";
  4308. var _interopRequireDefault = __webpack_require__(9);
  4309. exports.__esModule = true;
  4310. exports.default = void 0;
  4311. var _end = _interopRequireDefault(__webpack_require__(23));
  4312. exports.end = _end.default;
  4313. var _properties = _interopRequireDefault(__webpack_require__(26));
  4314. exports.properties = _properties.default;
  4315. var _default = {
  4316. end: _end.default,
  4317. properties: _properties.default
  4318. };
  4319. exports.default = _default;
  4320. /***/ }),
  4321. /* 50 */
  4322. /***/ (function(module, exports, __webpack_require__) {
  4323. "use strict";
  4324. exports.__esModule = true;
  4325. exports.default = void 0;
  4326. var _matches = _interopRequireDefault(__webpack_require__(66));
  4327. var _querySelectorAll = _interopRequireDefault(__webpack_require__(10));
  4328. var _react = _interopRequireDefault(__webpack_require__(1));
  4329. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  4330. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  4331. var _uncontrollable = _interopRequireDefault(__webpack_require__(79));
  4332. var Popper = _interopRequireWildcard(__webpack_require__(31));
  4333. var _DropdownContext = _interopRequireDefault(__webpack_require__(29));
  4334. var _DropdownMenu = _interopRequireDefault(__webpack_require__(33));
  4335. var _DropdownToggle = _interopRequireDefault(__webpack_require__(34));
  4336. function _interopRequireWildcard(obj) {
  4337. if (obj && obj.__esModule) {
  4338. return obj;
  4339. } else {
  4340. var newObj = {};
  4341. if (obj != null) {
  4342. for (var key in obj) {
  4343. if (Object.prototype.hasOwnProperty.call(obj, key)) {
  4344. var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
  4345. if (desc.get || desc.set) {
  4346. Object.defineProperty(newObj, key, desc);
  4347. } else {
  4348. newObj[key] = obj[key];
  4349. }
  4350. }
  4351. }
  4352. }
  4353. newObj.default = obj;
  4354. return newObj;
  4355. }
  4356. }
  4357. function _interopRequireDefault(obj) {
  4358. return obj && obj.__esModule ? obj : {
  4359. default: obj
  4360. };
  4361. }
  4362. function _objectWithoutPropertiesLoose(source, excluded) {
  4363. if (source == null) return {};
  4364. var target = {};
  4365. var sourceKeys = Object.keys(source);
  4366. var key, i;
  4367. for (i = 0; i < sourceKeys.length; i++) {
  4368. key = sourceKeys[i];
  4369. if (excluded.indexOf(key) >= 0) continue;
  4370. target[key] = source[key];
  4371. }
  4372. return target;
  4373. }
  4374. function _extends() {
  4375. _extends = Object.assign || function (target) {
  4376. for (var i = 1; i < arguments.length; i++) {
  4377. var source = arguments[i];
  4378. for (var key in source) {
  4379. if (Object.prototype.hasOwnProperty.call(source, key)) {
  4380. target[key] = source[key];
  4381. }
  4382. }
  4383. }
  4384. return target;
  4385. };
  4386. return _extends.apply(this, arguments);
  4387. }
  4388. function _inheritsLoose(subClass, superClass) {
  4389. subClass.prototype = Object.create(superClass.prototype);
  4390. subClass.prototype.constructor = subClass;
  4391. subClass.__proto__ = superClass;
  4392. }
  4393. var propTypes = {
  4394. /**
  4395. * A render prop that returns the root dropdown element. The `props`
  4396. * argument should spread through to an element containing _both_ the
  4397. * menu and toggle in order to handle keyboard events for focus management.
  4398. *
  4399. * @type {Function ({
  4400. * props: {
  4401. * onKeyDown: (SyntheticEvent) => void,
  4402. * },
  4403. * }) => React.Element}
  4404. */
  4405. children: _propTypes.default.func.isRequired,
  4406. /**
  4407. * Determines the direction and location of the Menu in relation to it's Toggle.
  4408. */
  4409. drop: _propTypes.default.oneOf(['up', 'left', 'right', 'down']),
  4410. /**
  4411. * Controls the focus behavior for when the Dropdown is opened. Set to
  4412. * `true` to always focus the first menu item, `keyboard` to focus only when
  4413. * navigating via the keyboard, or `false` to disable completely
  4414. *
  4415. * The Default behavior is `false` **unless** the Menu has a `role="menu"`
  4416. * where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton).
  4417. */
  4418. focusFirstItemOnShow: _propTypes.default.oneOf([false, true, 'keyboard']),
  4419. /**
  4420. * A css slector string that will return __focusable__ menu items.
  4421. * Selectors should be relative to the menu component:
  4422. * e.g. ` > li:not('.disabled')`
  4423. */
  4424. itemSelector: _propTypes.default.string.isRequired,
  4425. /**
  4426. * Align the menu to the 'end' side of the placement side of the Dropdown toggle. The default placement is `top-start` or `bottom-start`.
  4427. */
  4428. alignEnd: _propTypes.default.bool,
  4429. /**
  4430. * Whether or not the Dropdown is visible.
  4431. *
  4432. * @controllable onToggle
  4433. */
  4434. show: _propTypes.default.bool,
  4435. /**
  4436. * A callback fired when the Dropdown wishes to change visibility. Called with the requested
  4437. * `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.
  4438. *
  4439. * ```js
  4440. * function(
  4441. * isOpen: boolean,
  4442. * event: SyntheticEvent,
  4443. * ): void
  4444. * ```
  4445. *
  4446. * @controllable show
  4447. */
  4448. onToggle: _propTypes.default.func
  4449. };
  4450. var defaultProps = {
  4451. itemSelector: '* > *'
  4452. };
  4453. /**
  4454. * `Dropdown` is set of structural components for building, accessible dropdown menus with close-on-click,
  4455. * keyboard navigation, and correct focus handling. As with all the react-overlay's
  4456. * components its BYOS (bring your own styles). Dropdown is primarily
  4457. * built from three base components, you should compose to build your Dropdowns.
  4458. *
  4459. * - `Dropdown`, which wraps the menu and toggle, and handles keyboard navigation
  4460. * - `Dropdown.Toggle` generally a button that triggers the menu opening
  4461. * - `Dropdown.Menu` The overlaid, menu, positioned to the toggle with PopperJs
  4462. */
  4463. var Dropdown =
  4464. /*#__PURE__*/
  4465. function (_React$Component) {
  4466. _inheritsLoose(Dropdown, _React$Component);
  4467. Dropdown.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
  4468. var drop = _ref.drop,
  4469. alignEnd = _ref.alignEnd,
  4470. show = _ref.show;
  4471. var lastShow = prevState.context.show;
  4472. return {
  4473. lastShow: lastShow,
  4474. context: _extends({}, prevState.context, {
  4475. drop: drop,
  4476. show: show,
  4477. alignEnd: alignEnd
  4478. })
  4479. };
  4480. };
  4481. function Dropdown(props, context) {
  4482. var _this;
  4483. _this = _React$Component.call(this, props, context) || this;
  4484. _this.handleClick = function (event) {
  4485. _this.toggleOpen(event);
  4486. };
  4487. _this.handleKeyDown = function (event) {
  4488. var key = event.key,
  4489. target = event.target; // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400
  4490. // in inscrutability
  4491. var isInput = /input|textarea/i.test(target.tagName);
  4492. if (isInput && (key === ' ' || key !== 'Escape' && _this.menu.contains(target))) {
  4493. return;
  4494. }
  4495. _this._lastSourceEvent = event.type;
  4496. switch (key) {
  4497. case 'ArrowUp':
  4498. {
  4499. var next = _this.getNextFocusedChild(target, -1);
  4500. if (next && next.focus) next.focus();
  4501. event.preventDefault();
  4502. return;
  4503. }
  4504. case 'ArrowDown':
  4505. event.preventDefault();
  4506. if (!_this.props.show) {
  4507. _this.toggleOpen(event);
  4508. } else {
  4509. var _next = _this.getNextFocusedChild(target, 1);
  4510. if (_next && _next.focus) _next.focus();
  4511. }
  4512. return;
  4513. case 'Escape':
  4514. case 'Tab':
  4515. _this.props.onToggle(false, event);
  4516. break;
  4517. default:
  4518. }
  4519. };
  4520. _this._focusInDropdown = false;
  4521. _this.menu = null;
  4522. _this.state = {
  4523. context: {
  4524. close: _this.handleClose,
  4525. toggle: _this.handleClick,
  4526. menuRef: function menuRef(r) {
  4527. _this.menu = r;
  4528. },
  4529. toggleRef: function toggleRef(r) {
  4530. var toggleNode = r && _reactDom.default.findDOMNode(r);
  4531. _this.setState(function (_ref2) {
  4532. var context = _ref2.context;
  4533. return {
  4534. context: _extends({}, context, {
  4535. toggleNode: toggleNode
  4536. })
  4537. };
  4538. });
  4539. }
  4540. }
  4541. };
  4542. return _this;
  4543. }
  4544. var _proto = Dropdown.prototype;
  4545. _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
  4546. var show = this.props.show;
  4547. var prevOpen = prevProps.show;
  4548. if (show && !prevOpen) {
  4549. this.maybeFocusFirst();
  4550. }
  4551. this._lastSourceEvent = null;
  4552. if (!show && prevOpen) {
  4553. // if focus hasn't already moved from the menu let's return it
  4554. // to the toggle
  4555. if (this._focusInDropdown) {
  4556. this._focusInDropdown = false;
  4557. this.focus();
  4558. }
  4559. }
  4560. };
  4561. _proto.getNextFocusedChild = function getNextFocusedChild(current, offset) {
  4562. if (!this.menu) return null;
  4563. var itemSelector = this.props.itemSelector;
  4564. var items = (0, _querySelectorAll.default)(this.menu, itemSelector);
  4565. var index = items.indexOf(current) + offset;
  4566. index = Math.max(0, Math.min(index, items.length));
  4567. return items[index];
  4568. };
  4569. _proto.hasMenuRole = function hasMenuRole() {
  4570. return this.menu && (0, _matches.default)(this.menu, '[role=menu]');
  4571. };
  4572. _proto.focus = function focus() {
  4573. var toggleNode = this.state.context.toggleNode;
  4574. if (toggleNode && toggleNode.focus) {
  4575. toggleNode.focus();
  4576. }
  4577. };
  4578. _proto.maybeFocusFirst = function maybeFocusFirst() {
  4579. var type = this._lastSourceEvent;
  4580. var focusFirstItemOnShow = this.props.focusFirstItemOnShow;
  4581. if (focusFirstItemOnShow == null) {
  4582. focusFirstItemOnShow = this.hasMenuRole() ? 'keyboard' : false;
  4583. }
  4584. if (focusFirstItemOnShow === false || focusFirstItemOnShow === 'keyboard' && !/^key.+$/.test(type)) {
  4585. return;
  4586. }
  4587. var itemSelector = this.props.itemSelector;
  4588. var first = (0, _querySelectorAll.default)(this.menu, itemSelector)[0];
  4589. if (first && first.focus) first.focus();
  4590. };
  4591. _proto.toggleOpen = function toggleOpen(event) {
  4592. var show = !this.props.show;
  4593. this.props.onToggle(show, event);
  4594. };
  4595. _proto.render = function render() {
  4596. var _this$props = this.props,
  4597. children = _this$props.children,
  4598. props = _objectWithoutPropertiesLoose(_this$props, ["children"]);
  4599. delete props.onToggle;
  4600. if (this.menu && this.state.lastShow && !this.props.show) {
  4601. this._focusInDropdown = this.menu.contains(document.activeElement);
  4602. }
  4603. return _react.default.createElement(_DropdownContext.default.Provider, {
  4604. value: this.state.context
  4605. }, _react.default.createElement(Popper.Manager, null, children({
  4606. props: {
  4607. onKeyDown: this.handleKeyDown
  4608. }
  4609. })));
  4610. };
  4611. return Dropdown;
  4612. }(_react.default.Component);
  4613. Dropdown.displayName = 'ReactOverlaysDropdown';
  4614. Dropdown.propTypes = propTypes;
  4615. Dropdown.defaultProps = defaultProps;
  4616. var UncontrolledDropdown = (0, _uncontrollable.default)(Dropdown, {
  4617. show: 'onToggle'
  4618. });
  4619. UncontrolledDropdown.Menu = _DropdownMenu.default;
  4620. UncontrolledDropdown.Toggle = _DropdownToggle.default;
  4621. var _default = UncontrolledDropdown;
  4622. exports.default = _default;
  4623. module.exports = exports.default;
  4624. /***/ }),
  4625. /* 51 */
  4626. /***/ (function(module, exports) {
  4627. function _objectWithoutPropertiesLoose(source, excluded) {
  4628. if (source == null) return {};
  4629. var target = {};
  4630. var sourceKeys = Object.keys(source);
  4631. var key, i;
  4632. for (i = 0; i < sourceKeys.length; i++) {
  4633. key = sourceKeys[i];
  4634. if (excluded.indexOf(key) >= 0) continue;
  4635. target[key] = source[key];
  4636. }
  4637. return target;
  4638. }
  4639. module.exports = _objectWithoutPropertiesLoose;
  4640. /***/ }),
  4641. /* 52 */
  4642. /***/ (function(module, exports, __webpack_require__) {
  4643. "use strict";
  4644. exports.__esModule = true;
  4645. var _react = __webpack_require__(1);
  4646. var _react2 = _interopRequireDefault(_react);
  4647. var _implementation = __webpack_require__(67);
  4648. var _implementation2 = _interopRequireDefault(_implementation);
  4649. function _interopRequireDefault(obj) {
  4650. return obj && obj.__esModule ? obj : {
  4651. default: obj
  4652. };
  4653. }
  4654. exports.default = _react2.default.createContext || _implementation2.default;
  4655. module.exports = exports['default'];
  4656. /***/ }),
  4657. /* 53 */
  4658. /***/ (function(module, exports, __webpack_require__) {
  4659. "use strict";
  4660. exports.__esModule = true;
  4661. exports.default = void 0;
  4662. var _activeElement = _interopRequireDefault(__webpack_require__(71));
  4663. var _contains = _interopRequireDefault(__webpack_require__(22));
  4664. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  4665. var _listen = _interopRequireDefault(__webpack_require__(30));
  4666. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  4667. var _componentOrElement = _interopRequireDefault(__webpack_require__(21));
  4668. var _elementType = _interopRequireDefault(__webpack_require__(28));
  4669. var _react = _interopRequireDefault(__webpack_require__(1));
  4670. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  4671. var _ModalManager = _interopRequireDefault(__webpack_require__(35));
  4672. var _Portal = _interopRequireDefault(__webpack_require__(45));
  4673. var _getContainer = _interopRequireDefault(__webpack_require__(47));
  4674. var _ownerDocument = _interopRequireDefault(__webpack_require__(42));
  4675. function _interopRequireDefault(obj) {
  4676. return obj && obj.__esModule ? obj : {
  4677. default: obj
  4678. };
  4679. }
  4680. function _extends() {
  4681. _extends = Object.assign || function (target) {
  4682. for (var i = 1; i < arguments.length; i++) {
  4683. var source = arguments[i];
  4684. for (var key in source) {
  4685. if (Object.prototype.hasOwnProperty.call(source, key)) {
  4686. target[key] = source[key];
  4687. }
  4688. }
  4689. }
  4690. return target;
  4691. };
  4692. return _extends.apply(this, arguments);
  4693. }
  4694. function _objectWithoutPropertiesLoose(source, excluded) {
  4695. if (source == null) return {};
  4696. var target = {};
  4697. var sourceKeys = Object.keys(source);
  4698. var key, i;
  4699. for (i = 0; i < sourceKeys.length; i++) {
  4700. key = sourceKeys[i];
  4701. if (excluded.indexOf(key) >= 0) continue;
  4702. target[key] = source[key];
  4703. }
  4704. return target;
  4705. }
  4706. function _inheritsLoose(subClass, superClass) {
  4707. subClass.prototype = Object.create(superClass.prototype);
  4708. subClass.prototype.constructor = subClass;
  4709. subClass.__proto__ = superClass;
  4710. }
  4711. function _assertThisInitialized(self) {
  4712. if (self === void 0) {
  4713. throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  4714. }
  4715. return self;
  4716. }
  4717. var modalManager = new _ModalManager.default();
  4718. function omitProps(props, propTypes) {
  4719. var keys = Object.keys(props);
  4720. var newProps = {};
  4721. keys.map(function (prop) {
  4722. if (!Object.prototype.hasOwnProperty.call(propTypes, prop)) {
  4723. newProps[prop] = props[prop];
  4724. }
  4725. });
  4726. return newProps;
  4727. }
  4728. /**
  4729. * Love them or hate them, `<Modal />` provides a solid foundation for creating dialogs, lightboxes, or whatever else.
  4730. * The Modal component renders its `children` node in front of a backdrop component.
  4731. *
  4732. * The Modal offers a few helpful features over using just a `<Portal/>` component and some styles:
  4733. *
  4734. * - Manages dialog stacking when one-at-a-time just isn't enough.
  4735. * - Creates a backdrop, for disabling interaction below the modal.
  4736. * - It properly manages focus; moving to the modal content, and keeping it there until the modal is closed.
  4737. * - It disables scrolling of the page content while open.
  4738. * - Adds the appropriate ARIA roles are automatically.
  4739. * - Easily pluggable animations via a `<Transition/>` component.
  4740. *
  4741. * Note that, in the same way the backdrop element prevents users from clicking or interacting
  4742. * with the page content underneath the Modal, Screen readers also need to be signaled to not to
  4743. * interact with page content while the Modal is open. To do this, we use a common technique of applying
  4744. * the `aria-hidden='true'` attribute to the non-Modal elements in the Modal `container`. This means that for
  4745. * a Modal to be truly modal, it should have a `container` that is _outside_ your app's
  4746. * React hierarchy (such as the default: document.body).
  4747. */
  4748. var Modal =
  4749. /*#__PURE__*/
  4750. function (_React$Component) {
  4751. _inheritsLoose(Modal, _React$Component);
  4752. function Modal() {
  4753. var _this;
  4754. for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
  4755. _args[_key] = arguments[_key];
  4756. }
  4757. _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;
  4758. _this.state = {
  4759. exited: !_this.props.show
  4760. };
  4761. _this.onPortalRendered = function () {
  4762. if (_this.props.onShow) {
  4763. _this.props.onShow();
  4764. } // autofocus after onShow, to not trigger a focus event for previous
  4765. // modals before this one is shown.
  4766. _this.autoFocus();
  4767. };
  4768. _this.onShow = function () {
  4769. var doc = (0, _ownerDocument.default)(_assertThisInitialized(_assertThisInitialized(_this)));
  4770. var container = (0, _getContainer.default)(_this.props.container, doc.body);
  4771. _this.props.manager.add(_assertThisInitialized(_assertThisInitialized(_this)), container, _this.props.containerClassName);
  4772. _this.removeKeydownListener = (0, _listen.default)(doc, 'keydown', _this.handleDocumentKeyDown);
  4773. _this.removeFocusListener = (0, _listen.default)(doc, 'focus', // the timeout is necessary b/c this will run before the new modal is mounted
  4774. // and so steals focus from it
  4775. function () {
  4776. return setTimeout(_this.enforceFocus);
  4777. }, true);
  4778. };
  4779. _this.onHide = function () {
  4780. _this.props.manager.remove(_assertThisInitialized(_assertThisInitialized(_this)));
  4781. _this.removeKeydownListener();
  4782. _this.removeFocusListener();
  4783. if (_this.props.restoreFocus) {
  4784. _this.restoreLastFocus();
  4785. }
  4786. };
  4787. _this.setDialogRef = function (ref) {
  4788. _this.dialog = ref;
  4789. };
  4790. _this.setBackdropRef = function (ref) {
  4791. _this.backdrop = ref && _reactDom.default.findDOMNode(ref);
  4792. };
  4793. _this.handleHidden = function () {
  4794. _this.setState({
  4795. exited: true
  4796. });
  4797. _this.onHide();
  4798. if (_this.props.onExited) {
  4799. var _this$props;
  4800. (_this$props = _this.props).onExited.apply(_this$props, arguments);
  4801. }
  4802. };
  4803. _this.handleBackdropClick = function (e) {
  4804. if (e.target !== e.currentTarget) {
  4805. return;
  4806. }
  4807. if (_this.props.onBackdropClick) {
  4808. _this.props.onBackdropClick(e);
  4809. }
  4810. if (_this.props.backdrop === true) {
  4811. _this.props.onHide();
  4812. }
  4813. };
  4814. _this.handleDocumentKeyDown = function (e) {
  4815. if (_this.props.keyboard && e.keyCode === 27 && _this.isTopModal()) {
  4816. if (_this.props.onEscapeKeyDown) {
  4817. _this.props.onEscapeKeyDown(e);
  4818. }
  4819. _this.props.onHide();
  4820. }
  4821. };
  4822. _this.enforceFocus = function () {
  4823. if (!_this.props.enforceFocus || !_this._isMounted || !_this.isTopModal()) {
  4824. return;
  4825. }
  4826. var currentActiveElement = (0, _activeElement.default)((0, _ownerDocument.default)(_assertThisInitialized(_assertThisInitialized(_this))));
  4827. if (_this.dialog && !(0, _contains.default)(_this.dialog, currentActiveElement)) {
  4828. _this.dialog.focus();
  4829. }
  4830. };
  4831. _this.renderBackdrop = function () {
  4832. var _this$props2 = _this.props,
  4833. renderBackdrop = _this$props2.renderBackdrop,
  4834. Transition = _this$props2.backdropTransition;
  4835. var backdrop = renderBackdrop({
  4836. ref: _this.setBackdropRef,
  4837. onClick: _this.handleBackdropClick
  4838. });
  4839. if (Transition) {
  4840. backdrop = _react.default.createElement(Transition, {
  4841. appear: true,
  4842. in: _this.props.show
  4843. }, backdrop);
  4844. }
  4845. return backdrop;
  4846. };
  4847. return _this;
  4848. }
  4849. Modal.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps) {
  4850. if (nextProps.show) {
  4851. return {
  4852. exited: false
  4853. };
  4854. } else if (!nextProps.transition) {
  4855. // Otherwise let handleHidden take care of marking exited.
  4856. return {
  4857. exited: true
  4858. };
  4859. }
  4860. return null;
  4861. };
  4862. var _proto = Modal.prototype;
  4863. _proto.getSnapshotBeforeUpdate = function getSnapshotBeforeUpdate(prevProps) {
  4864. if (_inDOM.default && !prevProps.show && this.props.show) {
  4865. this.lastFocus = (0, _activeElement.default)();
  4866. }
  4867. return null;
  4868. };
  4869. _proto.componentDidMount = function componentDidMount() {
  4870. this._isMounted = true;
  4871. if (this.props.show) {
  4872. this.onShow();
  4873. }
  4874. };
  4875. _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
  4876. var transition = this.props.transition;
  4877. if (prevProps.show && !this.props.show && !transition) {
  4878. // Otherwise handleHidden will call this.
  4879. this.onHide();
  4880. } else if (!prevProps.show && this.props.show) {
  4881. this.onShow();
  4882. }
  4883. };
  4884. _proto.componentWillUnmount = function componentWillUnmount() {
  4885. var _this$props3 = this.props,
  4886. show = _this$props3.show,
  4887. transition = _this$props3.transition;
  4888. this._isMounted = false;
  4889. if (show || transition && !this.state.exited) {
  4890. this.onHide();
  4891. }
  4892. };
  4893. _proto.autoFocus = function autoFocus() {
  4894. if (!this.props.autoFocus) return;
  4895. var currentActiveElement = (0, _activeElement.default)((0, _ownerDocument.default)(this));
  4896. if (this.dialog && !(0, _contains.default)(this.dialog, currentActiveElement)) {
  4897. this.lastFocus = currentActiveElement;
  4898. this.dialog.focus();
  4899. }
  4900. };
  4901. _proto.restoreLastFocus = function restoreLastFocus() {
  4902. // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)
  4903. if (this.lastFocus && this.lastFocus.focus) {
  4904. this.lastFocus.focus();
  4905. this.lastFocus = null;
  4906. }
  4907. };
  4908. _proto.isTopModal = function isTopModal() {
  4909. return this.props.manager.isTopModal(this);
  4910. };
  4911. _proto.render = function render() {
  4912. var _this$props4 = this.props,
  4913. show = _this$props4.show,
  4914. container = _this$props4.container,
  4915. children = _this$props4.children,
  4916. renderDialog = _this$props4.renderDialog,
  4917. _this$props4$role = _this$props4.role,
  4918. role = _this$props4$role === void 0 ? 'dialog' : _this$props4$role,
  4919. Transition = _this$props4.transition,
  4920. backdrop = _this$props4.backdrop,
  4921. className = _this$props4.className,
  4922. style = _this$props4.style,
  4923. onExit = _this$props4.onExit,
  4924. onExiting = _this$props4.onExiting,
  4925. onEnter = _this$props4.onEnter,
  4926. onEntering = _this$props4.onEntering,
  4927. onEntered = _this$props4.onEntered,
  4928. props = _objectWithoutPropertiesLoose(_this$props4, ["show", "container", "children", "renderDialog", "role", "transition", "backdrop", "className", "style", "onExit", "onExiting", "onEnter", "onEntering", "onEntered"]);
  4929. if (!(show || Transition && !this.state.exited)) {
  4930. return null;
  4931. }
  4932. var dialogProps = _extends({
  4933. role: role,
  4934. ref: this.setDialogRef,
  4935. // apparently only works on the dialog role element
  4936. 'aria-modal': role === 'dialog' ? true : undefined
  4937. }, omitProps(props, Modal.propTypes), {
  4938. style: style,
  4939. className: className,
  4940. tabIndex: '-1'
  4941. });
  4942. var dialog = renderDialog ? renderDialog(dialogProps) : _react.default.createElement("div", dialogProps, _react.default.cloneElement(children, {
  4943. role: 'document'
  4944. }));
  4945. if (Transition) {
  4946. dialog = _react.default.createElement(Transition, {
  4947. appear: true,
  4948. unmountOnExit: true,
  4949. in: show,
  4950. onExit: onExit,
  4951. onExiting: onExiting,
  4952. onExited: this.handleHidden,
  4953. onEnter: onEnter,
  4954. onEntering: onEntering,
  4955. onEntered: onEntered
  4956. }, dialog);
  4957. }
  4958. return _react.default.createElement(_Portal.default, {
  4959. container: container,
  4960. onRendered: this.onPortalRendered
  4961. }, _react.default.createElement(_react.default.Fragment, null, backdrop && this.renderBackdrop(), dialog));
  4962. };
  4963. return Modal;
  4964. }(_react.default.Component);
  4965. Modal.propTypes = {
  4966. /**
  4967. * Set the visibility of the Modal
  4968. */
  4969. show: _propTypes.default.bool,
  4970. /**
  4971. * A Node, Component instance, or function that returns either. The Modal is appended to it's container element.
  4972. *
  4973. * For the sake of assistive technologies, the container should usually be the document body, so that the rest of the
  4974. * page content can be placed behind a virtual backdrop as well as a visual one.
  4975. */
  4976. container: _propTypes.default.oneOfType([_componentOrElement.default, _propTypes.default.func]),
  4977. /**
  4978. * A callback fired when the Modal is opening.
  4979. */
  4980. onShow: _propTypes.default.func,
  4981. /**
  4982. * A callback fired when either the backdrop is clicked, or the escape key is pressed.
  4983. *
  4984. * The `onHide` callback only signals intent from the Modal,
  4985. * you must actually set the `show` prop to `false` for the Modal to close.
  4986. */
  4987. onHide: _propTypes.default.func,
  4988. /**
  4989. * Include a backdrop component.
  4990. */
  4991. backdrop: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.oneOf(['static'])]),
  4992. /**
  4993. * A function that returns the dialog component. Useful for custom
  4994. * rendering. **Note:** the component should make sure to apply the provided ref.
  4995. *
  4996. * ```js
  4997. * renderDialog={props => <MyDialog {...props} />}
  4998. * ```
  4999. */
  5000. renderDialog: _propTypes.default.func,
  5001. /**
  5002. * A function that returns a backdrop component. Useful for custom
  5003. * backdrop rendering.
  5004. *
  5005. * ```js
  5006. * renderBackdrop={props => <MyBackdrop {...props} />}
  5007. * ```
  5008. */
  5009. renderBackdrop: _propTypes.default.func,
  5010. /**
  5011. * A callback fired when the escape key, if specified in `keyboard`, is pressed.
  5012. */
  5013. onEscapeKeyDown: _propTypes.default.func,
  5014. /**
  5015. * A callback fired when the backdrop, if specified, is clicked.
  5016. */
  5017. onBackdropClick: _propTypes.default.func,
  5018. /**
  5019. * A css class or set of classes applied to the modal container when the modal is open,
  5020. * and removed when it is closed.
  5021. */
  5022. containerClassName: _propTypes.default.string,
  5023. /**
  5024. * Close the modal when escape key is pressed
  5025. */
  5026. keyboard: _propTypes.default.bool,
  5027. /**
  5028. * A `react-transition-group@2.0.0` `<Transition/>` component used
  5029. * to control animations for the dialog component.
  5030. */
  5031. transition: _elementType.default,
  5032. /**
  5033. * A `react-transition-group@2.0.0` `<Transition/>` component used
  5034. * to control animations for the backdrop components.
  5035. */
  5036. backdropTransition: _elementType.default,
  5037. /**
  5038. * When `true` The modal will automatically shift focus to itself when it opens, and
  5039. * replace it to the last focused element when it closes. This also
  5040. * works correctly with any Modal children that have the `autoFocus` prop.
  5041. *
  5042. * Generally this should never be set to `false` as it makes the Modal less
  5043. * accessible to assistive technologies, like screen readers.
  5044. */
  5045. autoFocus: _propTypes.default.bool,
  5046. /**
  5047. * When `true` The modal will prevent focus from leaving the Modal while open.
  5048. *
  5049. * Generally this should never be set to `false` as it makes the Modal less
  5050. * accessible to assistive technologies, like screen readers.
  5051. */
  5052. enforceFocus: _propTypes.default.bool,
  5053. /**
  5054. * When `true` The modal will restore focus to previously focused element once
  5055. * modal is hidden
  5056. */
  5057. restoreFocus: _propTypes.default.bool,
  5058. /**
  5059. * Callback fired before the Modal transitions in
  5060. */
  5061. onEnter: _propTypes.default.func,
  5062. /**
  5063. * Callback fired as the Modal begins to transition in
  5064. */
  5065. onEntering: _propTypes.default.func,
  5066. /**
  5067. * Callback fired after the Modal finishes transitioning in
  5068. */
  5069. onEntered: _propTypes.default.func,
  5070. /**
  5071. * Callback fired right before the Modal transitions out
  5072. */
  5073. onExit: _propTypes.default.func,
  5074. /**
  5075. * Callback fired as the Modal begins to transition out
  5076. */
  5077. onExiting: _propTypes.default.func,
  5078. /**
  5079. * Callback fired after the Modal finishes transitioning out
  5080. */
  5081. onExited: _propTypes.default.func,
  5082. /**
  5083. * A ModalManager instance used to track and manage the state of open
  5084. * Modals. Useful when customizing how modals interact within a container
  5085. */
  5086. manager: _propTypes.default.object.isRequired
  5087. };
  5088. Modal.defaultProps = {
  5089. show: false,
  5090. role: 'dialog',
  5091. backdrop: true,
  5092. keyboard: true,
  5093. autoFocus: true,
  5094. enforceFocus: true,
  5095. restoreFocus: true,
  5096. onHide: function onHide() {},
  5097. manager: modalManager,
  5098. renderBackdrop: function renderBackdrop(props) {
  5099. return _react.default.createElement("div", props);
  5100. }
  5101. };
  5102. Modal.Manager = _ModalManager.default;
  5103. var _default = Modal;
  5104. exports.default = _default;
  5105. module.exports = exports.default;
  5106. /***/ }),
  5107. /* 54 */
  5108. /***/ (function(module, exports, __webpack_require__) {
  5109. "use strict";
  5110. exports.__esModule = true;
  5111. exports.default = void 0;
  5112. var _propTypes = _interopRequireDefault(__webpack_require__(0));
  5113. var _elementType = _interopRequireDefault(__webpack_require__(28));
  5114. var _componentOrElement = _interopRequireDefault(__webpack_require__(21));
  5115. var _react = _interopRequireDefault(__webpack_require__(1));
  5116. var _reactDom = _interopRequireDefault(__webpack_require__(8));
  5117. var _Portal = _interopRequireDefault(__webpack_require__(45));
  5118. var _RootCloseWrapper = _interopRequireDefault(__webpack_require__(39));
  5119. var _reactPopper = __webpack_require__(31);
  5120. var _forwardRef = _interopRequireDefault(__webpack_require__(43));
  5121. var _WaitForContainer = _interopRequireDefault(__webpack_require__(46));
  5122. function _interopRequireDefault(obj) {
  5123. return obj && obj.__esModule ? obj : {
  5124. default: obj
  5125. };
  5126. }
  5127. function _extends() {
  5128. _extends = Object.assign || function (target) {
  5129. for (var i = 1; i < arguments.length; i++) {
  5130. var source = arguments[i];
  5131. for (var key in source) {
  5132. if (Object.prototype.hasOwnProperty.call(source, key)) {
  5133. target[key] = source[key];
  5134. }
  5135. }
  5136. }
  5137. return target;
  5138. };
  5139. return _extends.apply(this, arguments);
  5140. }
  5141. function _objectWithoutPropertiesLoose(source, excluded) {
  5142. if (source == null) return {};
  5143. var target = {};
  5144. var sourceKeys = Object.keys(source);
  5145. var key, i;
  5146. for (i = 0; i < sourceKeys.length; i++) {
  5147. key = sourceKeys[i];
  5148. if (excluded.indexOf(key) >= 0) continue;
  5149. target[key] = source[key];
  5150. }
  5151. return target;
  5152. }
  5153. function _inheritsLoose(subClass, superClass) {
  5154. subClass.prototype = Object.create(superClass.prototype);
  5155. subClass.prototype.constructor = subClass;
  5156. subClass.__proto__ = superClass;
  5157. }
  5158. function _assertThisInitialized(self) {
  5159. if (self === void 0) {
  5160. throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  5161. }
  5162. return self;
  5163. }
  5164. /**
  5165. * Built on top of `<Position/>` and `<Portal/>`, the overlay component is
  5166. * great for custom tooltip overlays.
  5167. */
  5168. var Overlay =
  5169. /*#__PURE__*/
  5170. function (_React$Component) {
  5171. _inheritsLoose(Overlay, _React$Component);
  5172. function Overlay(props, context) {
  5173. var _this;
  5174. _this = _React$Component.call(this, props, context) || this;
  5175. _this.handleHidden = function () {
  5176. _this.setState({
  5177. exited: true
  5178. });
  5179. if (_this.props.onExited) {
  5180. var _this$props;
  5181. (_this$props = _this.props).onExited.apply(_this$props, arguments);
  5182. }
  5183. };
  5184. _this.state = {
  5185. exited: !props.show
  5186. };
  5187. _this.onHiddenListener = _this.handleHidden.bind(_assertThisInitialized(_assertThisInitialized(_this)));
  5188. _this._lastTarget = null;
  5189. return _this;
  5190. }
  5191. Overlay.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps) {
  5192. if (nextProps.show) {
  5193. return {
  5194. exited: false
  5195. };
  5196. } else if (!nextProps.transition) {
  5197. // Otherwise let handleHidden take care of marking exited.
  5198. return {
  5199. exited: true
  5200. };
  5201. }
  5202. return null;
  5203. };
  5204. var _proto = Overlay.prototype;
  5205. _proto.componentDidMount = function componentDidMount() {
  5206. this.setState({
  5207. target: this.getTarget()
  5208. });
  5209. };
  5210. _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
  5211. if (this.props === prevProps) return;
  5212. var target = this.getTarget();
  5213. if (target !== this.state.target) {
  5214. this.setState({
  5215. target: target
  5216. });
  5217. }
  5218. };
  5219. _proto.getTarget = function getTarget() {
  5220. var target = this.props.target;
  5221. target = typeof target === 'function' ? target() : target;
  5222. return target && _reactDom.default.findDOMNode(target) || null;
  5223. };
  5224. _proto.render = function render() {
  5225. var _this2 = this;
  5226. var _this$props2 = this.props,
  5227. _0 = _this$props2.target,
  5228. container = _this$props2.container,
  5229. containerPadding = _this$props2.containerPadding,
  5230. placement = _this$props2.placement,
  5231. rootClose = _this$props2.rootClose,
  5232. children = _this$props2.children,
  5233. flip = _this$props2.flip,
  5234. _this$props2$popperCo = _this$props2.popperConfig,
  5235. popperConfig = _this$props2$popperCo === void 0 ? {} : _this$props2$popperCo,
  5236. Transition = _this$props2.transition,
  5237. props = _objectWithoutPropertiesLoose(_this$props2, ["target", "container", "containerPadding", "placement", "rootClose", "children", "flip", "popperConfig", "transition"]);
  5238. var target = this.state.target; // Don't un-render the overlay while it's transitioning out.
  5239. var mountOverlay = props.show || Transition && !this.state.exited;
  5240. if (!mountOverlay) {
  5241. // Don't bother showing anything if we don't have to.
  5242. return null;
  5243. }
  5244. var child = children;
  5245. var _popperConfig$modifie = popperConfig.modifiers,
  5246. modifiers = _popperConfig$modifie === void 0 ? {} : _popperConfig$modifie;
  5247. var popperProps = _extends({}, popperConfig, {
  5248. placement: placement,
  5249. referenceElement: target,
  5250. enableEvents: props.show,
  5251. modifiers: _extends({}, modifiers, {
  5252. preventOverflow: _extends({
  5253. padding: containerPadding || 5
  5254. }, modifiers.preventOverflow),
  5255. flip: _extends({
  5256. enabled: !!flip
  5257. }, modifiers.preventOverflow)
  5258. })
  5259. });
  5260. child = _react.default.createElement(_reactPopper.Popper, popperProps, function (_ref) {
  5261. var arrowProps = _ref.arrowProps,
  5262. style = _ref.style,
  5263. ref = _ref.ref,
  5264. popper = _objectWithoutPropertiesLoose(_ref, ["arrowProps", "style", "ref"]);
  5265. _this2.popper = popper;
  5266. var innerChild = _this2.props.children(_extends({}, popper, {
  5267. // popper doesn't set the initial placement
  5268. placement: popper.placement || placement,
  5269. show: props.show,
  5270. arrowProps: arrowProps,
  5271. props: {
  5272. ref: ref,
  5273. style: style
  5274. }
  5275. }));
  5276. if (Transition) {
  5277. var onExit = props.onExit,
  5278. onExiting = props.onExiting,
  5279. onEnter = props.onEnter,
  5280. onEntering = props.onEntering,
  5281. onEntered = props.onEntered;
  5282. innerChild = _react.default.createElement(Transition, {
  5283. in: props.show,
  5284. appear: true,
  5285. onExit: onExit,
  5286. onExiting: onExiting,
  5287. onExited: _this2.onHiddenListener,
  5288. onEnter: onEnter,
  5289. onEntering: onEntering,
  5290. onEntered: onEntered
  5291. }, innerChild);
  5292. }
  5293. return innerChild;
  5294. });
  5295. if (rootClose) {
  5296. child = _react.default.createElement(_RootCloseWrapper.default, {
  5297. onRootClose: props.onHide,
  5298. event: props.rootCloseEvent,
  5299. disabled: props.rootCloseDisabled
  5300. }, child);
  5301. }
  5302. return _react.default.createElement(_Portal.default, {
  5303. container: container
  5304. }, child);
  5305. };
  5306. return Overlay;
  5307. }(_react.default.Component);
  5308. Overlay.propTypes = _extends({}, _Portal.default.propTypes, {
  5309. /**
  5310. * Set the visibility of the Overlay
  5311. */
  5312. show: _propTypes.default.bool,
  5313. /** Specify where the overlay element is positioned in relation to the target element */
  5314. placement: _propTypes.default.oneOf(_reactPopper.placements),
  5315. /**
  5316. * A Node, Component instance, or function that returns either. The `container` will have the Portal children
  5317. * appended to it.
  5318. */
  5319. container: _propTypes.default.oneOfType([_componentOrElement.default, _propTypes.default.func]),
  5320. /**
  5321. * Enables the Popper.js `flip` modifier, allowing the Overlay to
  5322. * automatically adjust it's placement in case of overlap with the viewport or toggle.
  5323. * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info
  5324. */
  5325. flip: _propTypes.default.bool,
  5326. /**
  5327. * A render prop that returns an element to overlay and position. See
  5328. * the [react-popper documentation](https://github.com/FezVrasta/react-popper#children) for more info.
  5329. *
  5330. * @type {Function ({
  5331. * show: boolean,
  5332. * placement: Placement,
  5333. * outOfBoundaries: ?boolean,
  5334. * scheduleUpdate: () => void,
  5335. * props: {
  5336. * ref: (?HTMLElement) => void,
  5337. * style: { [string]: string | number },
  5338. * aria-labelledby: ?string
  5339. * },
  5340. * arrowProps: {
  5341. * ref: (?HTMLElement) => void,
  5342. * style: { [string]: string | number },
  5343. * },
  5344. * }) => React.Element}
  5345. */
  5346. children: _propTypes.default.func.isRequired,
  5347. /**
  5348. * A set of popper options and props passed directly to react-popper's Popper component.
  5349. */
  5350. popperConfig: _propTypes.default.object,
  5351. /**
  5352. * Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay
  5353. */
  5354. rootClose: _propTypes.default.bool,
  5355. /**
  5356. * Specify event for toggling overlay
  5357. */
  5358. rootCloseEvent: _RootCloseWrapper.default.propTypes.event,
  5359. /**
  5360. * Specify disabled for disable RootCloseWrapper
  5361. */
  5362. rootCloseDisabled: _RootCloseWrapper.default.propTypes.disabled,
  5363. /**
  5364. * A Callback fired by the Overlay when it wishes to be hidden.
  5365. *
  5366. * __required__ when `rootClose` is `true`.
  5367. *
  5368. * @type func
  5369. */
  5370. onHide: function onHide(props) {
  5371. var propType = _propTypes.default.func;
  5372. if (props.rootClose) {
  5373. propType = propType.isRequired;
  5374. }
  5375. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  5376. args[_key - 1] = arguments[_key];
  5377. }
  5378. return propType.apply(void 0, [props].concat(args));
  5379. },
  5380. /**
  5381. * A `react-transition-group@2.0.0` `<Transition/>` component
  5382. * used to animate the overlay as it changes visibility.
  5383. */
  5384. transition: _elementType.default,
  5385. /**
  5386. * Callback fired before the Overlay transitions in
  5387. */
  5388. onEnter: _propTypes.default.func,
  5389. /**
  5390. * Callback fired as the Overlay begins to transition in
  5391. */
  5392. onEntering: _propTypes.default.func,
  5393. /**
  5394. * Callback fired after the Overlay finishes transitioning in
  5395. */
  5396. onEntered: _propTypes.default.func,
  5397. /**
  5398. * Callback fired right before the Overlay transitions out
  5399. */
  5400. onExit: _propTypes.default.func,
  5401. /**
  5402. * Callback fired as the Overlay begins to transition out
  5403. */
  5404. onExiting: _propTypes.default.func,
  5405. /**
  5406. * Callback fired after the Overlay finishes transitioning out
  5407. */
  5408. onExited: _propTypes.default.func
  5409. });
  5410. var _default = (0, _forwardRef.default)(function (props, ref) {
  5411. return (// eslint-disable-next-line react/prop-types
  5412. _react.default.createElement(_WaitForContainer.default, {
  5413. container: props.container
  5414. }, function (container) {
  5415. return _react.default.createElement(Overlay, _extends({}, props, {
  5416. ref: ref,
  5417. container: container
  5418. }));
  5419. })
  5420. );
  5421. }, {
  5422. displayName: 'withContainer(Overlay)'
  5423. });
  5424. exports.default = _default;
  5425. module.exports = exports.default;
  5426. /***/ }),
  5427. /* 55 */
  5428. /***/ (function(module, exports, __webpack_require__) {
  5429. "use strict";
  5430. /**
  5431. * Copyright (c) 2013-present, Facebook, Inc.
  5432. *
  5433. * This source code is licensed under the MIT license found in the
  5434. * LICENSE file in the root directory of this source tree.
  5435. */
  5436. var ReactPropTypesSecret = __webpack_require__(56);
  5437. function emptyFunction() {}
  5438. function emptyFunctionWithReset() {}
  5439. emptyFunctionWithReset.resetWarningCache = emptyFunction;
  5440. module.exports = function () {
  5441. function shim(props, propName, componentName, location, propFullName, secret) {
  5442. if (secret === ReactPropTypesSecret) {
  5443. // It is still safe when called from React.
  5444. return;
  5445. }
  5446. var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');
  5447. err.name = 'Invariant Violation';
  5448. throw err;
  5449. }
  5450. ;
  5451. shim.isRequired = shim;
  5452. function getShim() {
  5453. return shim;
  5454. }
  5455. ; // Important!
  5456. // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
  5457. var ReactPropTypes = {
  5458. array: shim,
  5459. bool: shim,
  5460. func: shim,
  5461. number: shim,
  5462. object: shim,
  5463. string: shim,
  5464. symbol: shim,
  5465. any: shim,
  5466. arrayOf: getShim,
  5467. element: shim,
  5468. elementType: shim,
  5469. instanceOf: getShim,
  5470. node: shim,
  5471. objectOf: getShim,
  5472. oneOf: getShim,
  5473. oneOfType: getShim,
  5474. shape: getShim,
  5475. exact: getShim,
  5476. checkPropTypes: emptyFunctionWithReset,
  5477. resetWarningCache: emptyFunction
  5478. };
  5479. ReactPropTypes.PropTypes = ReactPropTypes;
  5480. return ReactPropTypes;
  5481. };
  5482. /***/ }),
  5483. /* 56 */
  5484. /***/ (function(module, exports, __webpack_require__) {
  5485. "use strict";
  5486. /**
  5487. * Copyright (c) 2013-present, Facebook, Inc.
  5488. *
  5489. * This source code is licensed under the MIT license found in the
  5490. * LICENSE file in the root directory of this source tree.
  5491. */
  5492. var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
  5493. module.exports = ReactPropTypesSecret;
  5494. /***/ }),
  5495. /* 57 */
  5496. /***/ (function(module, exports, __webpack_require__) {
  5497. "use strict";
  5498. var _interopRequireDefault = __webpack_require__(9);
  5499. exports.__esModule = true;
  5500. exports.default = hyphenateStyleName;
  5501. var _hyphenate = _interopRequireDefault(__webpack_require__(58));
  5502. /**
  5503. * Copyright 2013-2014, Facebook, Inc.
  5504. * All rights reserved.
  5505. * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js
  5506. */
  5507. var msPattern = /^ms-/;
  5508. function hyphenateStyleName(string) {
  5509. return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');
  5510. }
  5511. module.exports = exports["default"];
  5512. /***/ }),
  5513. /* 58 */
  5514. /***/ (function(module, exports, __webpack_require__) {
  5515. "use strict";
  5516. exports.__esModule = true;
  5517. exports.default = hyphenate;
  5518. var rUpper = /([A-Z])/g;
  5519. function hyphenate(string) {
  5520. return string.replace(rUpper, '-$1').toLowerCase();
  5521. }
  5522. module.exports = exports["default"];
  5523. /***/ }),
  5524. /* 59 */
  5525. /***/ (function(module, exports, __webpack_require__) {
  5526. "use strict";
  5527. var _interopRequireDefault = __webpack_require__(9);
  5528. exports.__esModule = true;
  5529. exports.default = _getComputedStyle;
  5530. var _camelizeStyle = _interopRequireDefault(__webpack_require__(37));
  5531. var rposition = /^(top|right|bottom|left)$/;
  5532. var rnumnonpx = /^([+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/i;
  5533. function _getComputedStyle(node) {
  5534. if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');
  5535. var doc = node.ownerDocument;
  5536. return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {
  5537. //ie 8 "magic" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72
  5538. getPropertyValue: function getPropertyValue(prop) {
  5539. var style = node.style;
  5540. prop = (0, _camelizeStyle.default)(prop);
  5541. if (prop == 'float') prop = 'styleFloat';
  5542. var current = node.currentStyle[prop] || null;
  5543. if (current == null && style && style[prop]) current = style[prop];
  5544. if (rnumnonpx.test(current) && !rposition.test(prop)) {
  5545. // Remember the original values
  5546. var left = style.left;
  5547. var runStyle = node.runtimeStyle;
  5548. var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out
  5549. if (rsLeft) runStyle.left = node.currentStyle.left;
  5550. style.left = prop === 'fontSize' ? '1em' : current;
  5551. current = style.pixelLeft + 'px'; // Revert the changed values
  5552. style.left = left;
  5553. if (rsLeft) runStyle.left = rsLeft;
  5554. }
  5555. return current;
  5556. }
  5557. };
  5558. }
  5559. module.exports = exports["default"];
  5560. /***/ }),
  5561. /* 60 */
  5562. /***/ (function(module, exports, __webpack_require__) {
  5563. "use strict";
  5564. exports.__esModule = true;
  5565. exports.default = removeStyle;
  5566. function removeStyle(node, key) {
  5567. return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);
  5568. }
  5569. module.exports = exports["default"];
  5570. /***/ }),
  5571. /* 61 */
  5572. /***/ (function(module, exports, __webpack_require__) {
  5573. "use strict";
  5574. exports.__esModule = true;
  5575. exports.default = isTransform;
  5576. var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;
  5577. function isTransform(property) {
  5578. return !!(property && supportedTransforms.test(property));
  5579. }
  5580. module.exports = exports["default"];
  5581. /***/ }),
  5582. /* 62 */
  5583. /***/ (function(module, exports, __webpack_require__) {
  5584. "use strict";
  5585. Object.defineProperty(exports, "__esModule", {
  5586. value: true
  5587. });
  5588. exports.default = deprecated;
  5589. var _warning = __webpack_require__(63);
  5590. var _warning2 = _interopRequireDefault(_warning);
  5591. function _interopRequireDefault(obj) {
  5592. return obj && obj.__esModule ? obj : {
  5593. default: obj
  5594. };
  5595. }
  5596. var warned = {};
  5597. function deprecated(validator, reason) {
  5598. return function validate(props, propName, componentName, location, propFullName) {
  5599. var componentNameSafe = componentName || '<<anonymous>>';
  5600. var propFullNameSafe = propFullName || propName;
  5601. if (props[propName] != null) {
  5602. var messageKey = componentName + '.' + propName;
  5603. (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
  5604. warned[messageKey] = true;
  5605. }
  5606. for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
  5607. args[_key - 5] = arguments[_key];
  5608. }
  5609. return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
  5610. };
  5611. }
  5612. /* eslint-disable no-underscore-dangle */
  5613. function _resetWarned() {
  5614. warned = {};
  5615. }
  5616. deprecated._resetWarned = _resetWarned;
  5617. /* eslint-enable no-underscore-dangle */
  5618. module.exports = exports['default'];
  5619. /***/ }),
  5620. /* 63 */
  5621. /***/ (function(module, exports, __webpack_require__) {
  5622. "use strict";
  5623. /**
  5624. * Copyright 2014-2015, Facebook, Inc.
  5625. * All rights reserved.
  5626. *
  5627. * This source code is licensed under the BSD-style license found in the
  5628. * LICENSE file in the root directory of this source tree. An additional grant
  5629. * of patent rights can be found in the PATENTS file in the same directory.
  5630. */
  5631. /**
  5632. * Similar to invariant but only logs a warning if the condition is not met.
  5633. * This can be used to log issues in development environments in critical
  5634. * paths. Removing the logging code for production environments will keep the
  5635. * same logic and follow the same code paths.
  5636. */
  5637. var warning = function () {};
  5638. if (false) {}
  5639. module.exports = warning;
  5640. /***/ }),
  5641. /* 64 */
  5642. /***/ (function(module, exports, __webpack_require__) {
  5643. "use strict";
  5644. if (true) {
  5645. module.exports = __webpack_require__(65);
  5646. } else {}
  5647. /***/ }),
  5648. /* 65 */
  5649. /***/ (function(module, exports, __webpack_require__) {
  5650. "use strict";
  5651. /** @license React v16.9.0
  5652. * react-is.production.min.js
  5653. *
  5654. * Copyright (c) Facebook, Inc. and its affiliates.
  5655. *
  5656. * This source code is licensed under the MIT license found in the
  5657. * LICENSE file in the root directory of this source tree.
  5658. */
  5659. Object.defineProperty(exports, "__esModule", {
  5660. value: !0
  5661. });
  5662. var b = "function" === typeof Symbol && Symbol.for,
  5663. c = b ? Symbol.for("react.element") : 60103,
  5664. d = b ? Symbol.for("react.portal") : 60106,
  5665. e = b ? Symbol.for("react.fragment") : 60107,
  5666. f = b ? Symbol.for("react.strict_mode") : 60108,
  5667. g = b ? Symbol.for("react.profiler") : 60114,
  5668. h = b ? Symbol.for("react.provider") : 60109,
  5669. k = b ? Symbol.for("react.context") : 60110,
  5670. l = b ? Symbol.for("react.async_mode") : 60111,
  5671. m = b ? Symbol.for("react.concurrent_mode") : 60111,
  5672. n = b ? Symbol.for("react.forward_ref") : 60112,
  5673. p = b ? Symbol.for("react.suspense") : 60113,
  5674. q = b ? Symbol.for("react.suspense_list") : 60120,
  5675. r = b ? Symbol.for("react.memo") : 60115,
  5676. t = b ? Symbol.for("react.lazy") : 60116,
  5677. v = b ? Symbol.for("react.fundamental") : 60117,
  5678. w = b ? Symbol.for("react.responder") : 60118;
  5679. function x(a) {
  5680. if ("object" === typeof a && null !== a) {
  5681. var u = a.$$typeof;
  5682. switch (u) {
  5683. case c:
  5684. switch (a = a.type, a) {
  5685. case l:
  5686. case m:
  5687. case e:
  5688. case g:
  5689. case f:
  5690. case p:
  5691. return a;
  5692. default:
  5693. switch (a = a && a.$$typeof, a) {
  5694. case k:
  5695. case n:
  5696. case h:
  5697. return a;
  5698. default:
  5699. return u;
  5700. }
  5701. }
  5702. case t:
  5703. case r:
  5704. case d:
  5705. return u;
  5706. }
  5707. }
  5708. }
  5709. function y(a) {
  5710. return x(a) === m;
  5711. }
  5712. exports.typeOf = x;
  5713. exports.AsyncMode = l;
  5714. exports.ConcurrentMode = m;
  5715. exports.ContextConsumer = k;
  5716. exports.ContextProvider = h;
  5717. exports.Element = c;
  5718. exports.ForwardRef = n;
  5719. exports.Fragment = e;
  5720. exports.Lazy = t;
  5721. exports.Memo = r;
  5722. exports.Portal = d;
  5723. exports.Profiler = g;
  5724. exports.StrictMode = f;
  5725. exports.Suspense = p;
  5726. exports.isValidElementType = function (a) {
  5727. return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === v || a.$$typeof === w);
  5728. };
  5729. exports.isAsyncMode = function (a) {
  5730. return y(a) || x(a) === l;
  5731. };
  5732. exports.isConcurrentMode = y;
  5733. exports.isContextConsumer = function (a) {
  5734. return x(a) === k;
  5735. };
  5736. exports.isContextProvider = function (a) {
  5737. return x(a) === h;
  5738. };
  5739. exports.isElement = function (a) {
  5740. return "object" === typeof a && null !== a && a.$$typeof === c;
  5741. };
  5742. exports.isForwardRef = function (a) {
  5743. return x(a) === n;
  5744. };
  5745. exports.isFragment = function (a) {
  5746. return x(a) === e;
  5747. };
  5748. exports.isLazy = function (a) {
  5749. return x(a) === t;
  5750. };
  5751. exports.isMemo = function (a) {
  5752. return x(a) === r;
  5753. };
  5754. exports.isPortal = function (a) {
  5755. return x(a) === d;
  5756. };
  5757. exports.isProfiler = function (a) {
  5758. return x(a) === g;
  5759. };
  5760. exports.isStrictMode = function (a) {
  5761. return x(a) === f;
  5762. };
  5763. exports.isSuspense = function (a) {
  5764. return x(a) === p;
  5765. };
  5766. /***/ }),
  5767. /* 66 */
  5768. /***/ (function(module, exports, __webpack_require__) {
  5769. "use strict";
  5770. var _interopRequireDefault = __webpack_require__(9);
  5771. exports.__esModule = true;
  5772. exports.default = matches;
  5773. var _inDOM = _interopRequireDefault(__webpack_require__(11));
  5774. var _querySelectorAll = _interopRequireDefault(__webpack_require__(10));
  5775. var matchesCache;
  5776. function matches(node, selector) {
  5777. if (!matchesCache && _inDOM.default) {
  5778. var body = document.body;
  5779. var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector;
  5780. matchesCache = nativeMatch ? function (node, selector) {
  5781. return nativeMatch.call(node, selector);
  5782. } : ie8MatchesSelector;
  5783. }
  5784. return matchesCache ? matchesCache(node, selector) : null;
  5785. }
  5786. function ie8MatchesSelector(node, selector) {
  5787. var matches = (0, _querySelectorAll.default)(node.document || node.ownerDocument, selector),
  5788. i = 0;
  5789. while (matches[i] && matches[i] !== node) {
  5790. i++;
  5791. }
  5792. return !!matches[i];
  5793. }
  5794. module.exports = exports["default"];
  5795. /***/ }),
  5796. /* 67 */
  5797. /***/ (function(module, exports, __webpack_require__) {
  5798. "use strict";
  5799. exports.__esModule = true;
  5800. var _react = __webpack_require__(1);
  5801. var _react2 = _interopRequireDefault(_react);
  5802. var _propTypes = __webpack_require__(0);
  5803. var _propTypes2 = _interopRequireDefault(_propTypes);
  5804. var _gud = __webpack_require__(68);
  5805. var _gud2 = _interopRequireDefault(_gud);
  5806. var _warning = __webpack_require__(16);
  5807. var _warning2 = _interopRequireDefault(_warning);
  5808. function _interopRequireDefault(obj) {
  5809. return obj && obj.__esModule ? obj : {
  5810. default: obj
  5811. };
  5812. }
  5813. function _classCallCheck(instance, Constructor) {
  5814. if (!(instance instanceof Constructor)) {
  5815. throw new TypeError("Cannot call a class as a function");
  5816. }
  5817. }
  5818. function _possibleConstructorReturn(self, call) {
  5819. if (!self) {
  5820. throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  5821. }
  5822. return call && (typeof call === "object" || typeof call === "function") ? call : self;
  5823. }
  5824. function _inherits(subClass, superClass) {
  5825. if (typeof superClass !== "function" && superClass !== null) {
  5826. throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
  5827. }
  5828. subClass.prototype = Object.create(superClass && superClass.prototype, {
  5829. constructor: {
  5830. value: subClass,
  5831. enumerable: false,
  5832. writable: true,
  5833. configurable: true
  5834. }
  5835. });
  5836. if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
  5837. }
  5838. var MAX_SIGNED_31_BIT_INT = 1073741823; // Inlined Object.is polyfill.
  5839. // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
  5840. function objectIs(x, y) {
  5841. if (x === y) {
  5842. return x !== 0 || 1 / x === 1 / y;
  5843. } else {
  5844. return x !== x && y !== y;
  5845. }
  5846. }
  5847. function createEventEmitter(value) {
  5848. var handlers = [];
  5849. return {
  5850. on: function on(handler) {
  5851. handlers.push(handler);
  5852. },
  5853. off: function off(handler) {
  5854. handlers = handlers.filter(function (h) {
  5855. return h !== handler;
  5856. });
  5857. },
  5858. get: function get() {
  5859. return value;
  5860. },
  5861. set: function set(newValue, changedBits) {
  5862. value = newValue;
  5863. handlers.forEach(function (handler) {
  5864. return handler(value, changedBits);
  5865. });
  5866. }
  5867. };
  5868. }
  5869. function onlyChild(children) {
  5870. return Array.isArray(children) ? children[0] : children;
  5871. }
  5872. function createReactContext(defaultValue, calculateChangedBits) {
  5873. var _Provider$childContex, _Consumer$contextType;
  5874. var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';
  5875. var Provider = function (_Component) {
  5876. _inherits(Provider, _Component);
  5877. function Provider() {
  5878. var _temp, _this, _ret;
  5879. _classCallCheck(this, Provider);
  5880. for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
  5881. args[_key] = arguments[_key];
  5882. }
  5883. return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);
  5884. }
  5885. Provider.prototype.getChildContext = function getChildContext() {
  5886. var _ref;
  5887. return _ref = {}, _ref[contextProp] = this.emitter, _ref;
  5888. };
  5889. Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
  5890. if (this.props.value !== nextProps.value) {
  5891. var oldValue = this.props.value;
  5892. var newValue = nextProps.value;
  5893. var changedBits = void 0;
  5894. if (objectIs(oldValue, newValue)) {
  5895. changedBits = 0; // No change
  5896. } else {
  5897. changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
  5898. if (false) {}
  5899. changedBits |= 0;
  5900. if (changedBits !== 0) {
  5901. this.emitter.set(nextProps.value, changedBits);
  5902. }
  5903. }
  5904. }
  5905. };
  5906. Provider.prototype.render = function render() {
  5907. return this.props.children;
  5908. };
  5909. return Provider;
  5910. }(_react.Component);
  5911. Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);
  5912. var Consumer = function (_Component2) {
  5913. _inherits(Consumer, _Component2);
  5914. function Consumer() {
  5915. var _temp2, _this2, _ret2;
  5916. _classCallCheck(this, Consumer);
  5917. for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  5918. args[_key2] = arguments[_key2];
  5919. }
  5920. return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {
  5921. value: _this2.getValue()
  5922. }, _this2.onUpdate = function (newValue, changedBits) {
  5923. var observedBits = _this2.observedBits | 0;
  5924. if ((observedBits & changedBits) !== 0) {
  5925. _this2.setState({
  5926. value: _this2.getValue()
  5927. });
  5928. }
  5929. }, _temp2), _possibleConstructorReturn(_this2, _ret2);
  5930. }
  5931. Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
  5932. var observedBits = nextProps.observedBits;
  5933. this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default
  5934. : observedBits;
  5935. };
  5936. Consumer.prototype.componentDidMount = function componentDidMount() {
  5937. if (this.context[contextProp]) {
  5938. this.context[contextProp].on(this.onUpdate);
  5939. }
  5940. var observedBits = this.props.observedBits;
  5941. this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default
  5942. : observedBits;
  5943. };
  5944. Consumer.prototype.componentWillUnmount = function componentWillUnmount() {
  5945. if (this.context[contextProp]) {
  5946. this.context[contextProp].off(this.onUpdate);
  5947. }
  5948. };
  5949. Consumer.prototype.getValue = function getValue() {
  5950. if (this.context[contextProp]) {
  5951. return this.context[contextProp].get();
  5952. } else {
  5953. return defaultValue;
  5954. }
  5955. };
  5956. Consumer.prototype.render = function render() {
  5957. return onlyChild(this.props.children)(this.state.value);
  5958. };
  5959. return Consumer;
  5960. }(_react.Component);
  5961. Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);
  5962. return {
  5963. Provider: Provider,
  5964. Consumer: Consumer
  5965. };
  5966. }
  5967. exports.default = createReactContext;
  5968. module.exports = exports['default'];
  5969. /***/ }),
  5970. /* 68 */
  5971. /***/ (function(module, exports, __webpack_require__) {
  5972. "use strict";
  5973. /* WEBPACK VAR INJECTION */(function(global) {// @flow
  5974. var key = '__global_unique_id__';
  5975. module.exports = function () {
  5976. return global[key] = (global[key] || 0) + 1;
  5977. };
  5978. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(38)))
  5979. /***/ }),
  5980. /* 69 */
  5981. /***/ (function(module, exports, __webpack_require__) {
  5982. "use strict";
  5983. exports.__esModule = true;
  5984. exports.default = mapContextToProps;
  5985. var _react = _interopRequireDefault(__webpack_require__(1));
  5986. var _forwardRef = _interopRequireDefault(__webpack_require__(43));
  5987. function _interopRequireDefault(obj) {
  5988. return obj && obj.__esModule ? obj : {
  5989. default: obj
  5990. };
  5991. }
  5992. function _extends() {
  5993. _extends = Object.assign || function (target) {
  5994. for (var i = 1; i < arguments.length; i++) {
  5995. var source = arguments[i];
  5996. for (var key in source) {
  5997. if (Object.prototype.hasOwnProperty.call(source, key)) {
  5998. target[key] = source[key];
  5999. }
  6000. }
  6001. }
  6002. return target;
  6003. };
  6004. return _extends.apply(this, arguments);
  6005. }
  6006. var getDisplayName = function getDisplayName(Component) {
  6007. var name = typeof Component === 'string' ? Component : Component.name || Component.displayName;
  6008. return name ? "ContextTransform(" + name + ")" : 'ContextTransform';
  6009. };
  6010. var ensureConsumer = function ensureConsumer(c) {
  6011. return c.Consumer || c;
  6012. };
  6013. function $mapContextToProps(_ref, Component) {
  6014. var maybeArrayOfConsumers = _ref.consumers,
  6015. mapToProps = _ref.mapToProps,
  6016. displayName = _ref.displayName,
  6017. _ref$forwardRefAs = _ref.forwardRefAs,
  6018. forwardRefAs = _ref$forwardRefAs === void 0 ? 'ref' : _ref$forwardRefAs;
  6019. var consumers = maybeArrayOfConsumers;
  6020. if (!Array.isArray(maybeArrayOfConsumers)) {
  6021. consumers = [maybeArrayOfConsumers];
  6022. }
  6023. var SingleConsumer = ensureConsumer(consumers[0]);
  6024. function singleRender(props, ref) {
  6025. var _extends2;
  6026. var propsWithRef = _extends((_extends2 = {}, _extends2[forwardRefAs] = ref, _extends2), props);
  6027. return _react.default.createElement(SingleConsumer, null, function (value) {
  6028. return _react.default.createElement(Component, _extends({}, propsWithRef, mapToProps(value, props)));
  6029. });
  6030. }
  6031. function multiRender(props, ref) {
  6032. var _extends3;
  6033. var propsWithRef = _extends((_extends3 = {}, _extends3[forwardRefAs] = ref, _extends3), props);
  6034. return consumers.reduceRight(function (inner, Context) {
  6035. return function () {
  6036. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  6037. args[_key] = arguments[_key];
  6038. }
  6039. var Consumer = ensureConsumer(Context);
  6040. return _react.default.createElement(Consumer, null, function (value) {
  6041. return inner.apply(void 0, args.concat([value]));
  6042. });
  6043. };
  6044. }, function () {
  6045. for (var _len2 = arguments.length, contexts = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  6046. contexts[_key2] = arguments[_key2];
  6047. }
  6048. return _react.default.createElement(Component, _extends({}, propsWithRef, mapToProps.apply(void 0, contexts.concat([props]))));
  6049. })();
  6050. }
  6051. var contextTransform = consumers.length === 1 ? singleRender : multiRender;
  6052. return (0, _forwardRef.default)(contextTransform, {
  6053. displayName: displayName || getDisplayName(Component)
  6054. });
  6055. }
  6056. function mapContextToProps(maybeOpts, mapToProps, Component) {
  6057. if (arguments.length === 2) return $mapContextToProps(maybeOpts, mapToProps);
  6058. return $mapContextToProps({
  6059. consumers: maybeOpts,
  6060. mapToProps: mapToProps
  6061. }, Component);
  6062. }
  6063. /***/ }),
  6064. /* 70 */
  6065. /***/ (function(module, exports, __webpack_require__) {
  6066. "use strict";
  6067. var _interopRequireDefault = __webpack_require__(9);
  6068. exports.__esModule = true;
  6069. exports.default = filterEvents;
  6070. var _contains = _interopRequireDefault(__webpack_require__(22));
  6071. var _querySelectorAll = _interopRequireDefault(__webpack_require__(10));
  6072. function filterEvents(selector, handler) {
  6073. return function filterHandler(e) {
  6074. var top = e.currentTarget,
  6075. target = e.target,
  6076. matches = (0, _querySelectorAll.default)(top, selector);
  6077. if (matches.some(function (match) {
  6078. return (0, _contains.default)(match, target);
  6079. })) handler.call(this, e);
  6080. };
  6081. }
  6082. module.exports = exports["default"];
  6083. /***/ }),
  6084. /* 71 */
  6085. /***/ (function(module, exports, __webpack_require__) {
  6086. "use strict";
  6087. var _interopRequireDefault = __webpack_require__(9);
  6088. exports.__esModule = true;
  6089. exports.default = activeElement;
  6090. var _ownerDocument = _interopRequireDefault(__webpack_require__(17));
  6091. function activeElement(doc) {
  6092. if (doc === void 0) {
  6093. doc = (0, _ownerDocument.default)();
  6094. }
  6095. try {
  6096. return doc.activeElement;
  6097. } catch (e) {
  6098. /* ie throws if no active element */
  6099. }
  6100. }
  6101. module.exports = exports["default"];
  6102. /***/ }),
  6103. /* 72 */
  6104. /***/ (function(module, exports, __webpack_require__) {
  6105. "use strict";
  6106. var _interopRequireDefault = __webpack_require__(9);
  6107. exports.__esModule = true;
  6108. exports.default = void 0;
  6109. var _addClass = _interopRequireDefault(__webpack_require__(73));
  6110. exports.addClass = _addClass.default;
  6111. var _removeClass = _interopRequireDefault(__webpack_require__(74));
  6112. exports.removeClass = _removeClass.default;
  6113. var _hasClass = _interopRequireDefault(__webpack_require__(44));
  6114. exports.hasClass = _hasClass.default;
  6115. var _default = {
  6116. addClass: _addClass.default,
  6117. removeClass: _removeClass.default,
  6118. hasClass: _hasClass.default
  6119. };
  6120. exports.default = _default;
  6121. /***/ }),
  6122. /* 73 */
  6123. /***/ (function(module, exports, __webpack_require__) {
  6124. "use strict";
  6125. var _interopRequireDefault = __webpack_require__(9);
  6126. exports.__esModule = true;
  6127. exports.default = addClass;
  6128. var _hasClass = _interopRequireDefault(__webpack_require__(44));
  6129. function addClass(element, className) {
  6130. if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);
  6131. }
  6132. module.exports = exports["default"];
  6133. /***/ }),
  6134. /* 74 */
  6135. /***/ (function(module, exports, __webpack_require__) {
  6136. "use strict";
  6137. function replaceClassName(origClass, classToRemove) {
  6138. return origClass.replace(new RegExp('(^|\\s)' + classToRemove + '(?:\\s|$)', 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, '');
  6139. }
  6140. module.exports = function removeClass(element, className) {
  6141. if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));
  6142. };
  6143. /***/ }),
  6144. /* 75 */
  6145. /***/ (function(module, exports, __webpack_require__) {
  6146. "use strict";
  6147. exports.__esModule = true;
  6148. exports.default = isOverflowing;
  6149. var _isWindow = _interopRequireDefault(__webpack_require__(76));
  6150. var _ownerDocument = _interopRequireDefault(__webpack_require__(17));
  6151. function _interopRequireDefault(obj) {
  6152. return obj && obj.__esModule ? obj : {
  6153. default: obj
  6154. };
  6155. }
  6156. function isBody(node) {
  6157. return node && node.tagName.toLowerCase() === 'body';
  6158. }
  6159. function bodyIsOverflowing(node) {
  6160. var doc = (0, _ownerDocument.default)(node);
  6161. var win = (0, _isWindow.default)(doc);
  6162. return doc.body.clientWidth < win.innerWidth;
  6163. }
  6164. function isOverflowing(container) {
  6165. var win = (0, _isWindow.default)(container);
  6166. return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;
  6167. }
  6168. module.exports = exports.default;
  6169. /***/ }),
  6170. /* 76 */
  6171. /***/ (function(module, exports, __webpack_require__) {
  6172. "use strict";
  6173. exports.__esModule = true;
  6174. exports.default = getWindow;
  6175. function getWindow(node) {
  6176. return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;
  6177. }
  6178. module.exports = exports["default"];
  6179. /***/ }),
  6180. /* 77 */
  6181. /***/ (function(module, exports, __webpack_require__) {
  6182. "use strict";
  6183. exports.__esModule = true;
  6184. exports.ariaHidden = ariaHidden;
  6185. exports.hideSiblings = hideSiblings;
  6186. exports.showSiblings = showSiblings;
  6187. var BLACKLIST = ['template', 'script', 'style'];
  6188. var isHidable = function isHidable(_ref) {
  6189. var nodeType = _ref.nodeType,
  6190. tagName = _ref.tagName;
  6191. return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;
  6192. };
  6193. var siblings = function siblings(container, exclude, cb) {
  6194. exclude = [].concat(exclude);
  6195. [].forEach.call(container.children, function (node) {
  6196. if (exclude.indexOf(node) === -1 && isHidable(node)) {
  6197. cb(node);
  6198. }
  6199. });
  6200. };
  6201. function ariaHidden(show, node) {
  6202. if (!node) return;
  6203. if (show) {
  6204. node.setAttribute('aria-hidden', 'true');
  6205. } else {
  6206. node.removeAttribute('aria-hidden');
  6207. }
  6208. }
  6209. function hideSiblings(container, _ref2) {
  6210. var root = _ref2.root,
  6211. backdrop = _ref2.backdrop;
  6212. siblings(container, [root, backdrop], function (node) {
  6213. return ariaHidden(true, node);
  6214. });
  6215. }
  6216. function showSiblings(container, _ref3) {
  6217. var root = _ref3.root,
  6218. backdrop = _ref3.backdrop;
  6219. siblings(container, [root, backdrop], function (node) {
  6220. return ariaHidden(false, node);
  6221. });
  6222. }
  6223. /***/ }),
  6224. /* 78 */
  6225. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  6226. "use strict";
  6227. __webpack_require__.r(__webpack_exports__);
  6228. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
  6229. var esm_extends = __webpack_require__(2);
  6230. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
  6231. var objectWithoutPropertiesLoose = __webpack_require__(3);
  6232. // EXTERNAL MODULE: ./node_modules/classnames/index.js
  6233. var classnames = __webpack_require__(4);
  6234. var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
  6235. // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
  6236. var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(1);
  6237. var external_root_React_commonjs2_react_commonjs_react_amd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_);
  6238. // EXTERNAL MODULE: ./node_modules/prop-types/index.js
  6239. var prop_types = __webpack_require__(0);
  6240. var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
  6241. // EXTERNAL MODULE: ./node_modules/invariant/browser.js
  6242. var browser = __webpack_require__(15);
  6243. var browser_default = /*#__PURE__*/__webpack_require__.n(browser);
  6244. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/utils.js
  6245. var noop = function noop() {};
  6246. function readOnlyPropType(handler, name) {
  6247. return function (props, propName) {
  6248. if (props[propName] !== undefined) {
  6249. if (!props[handler]) {
  6250. return new Error("You have provided a `" + propName + "` prop to `" + name + "` " + ("without an `" + handler + "` handler prop. This will render a read-only field. ") + ("If the field should be mutable use `" + defaultKey(propName) + "`. ") + ("Otherwise, set `" + handler + "`."));
  6251. }
  6252. }
  6253. };
  6254. }
  6255. function uncontrolledPropTypes(controlledValues, displayName) {
  6256. var propTypes = {};
  6257. Object.keys(controlledValues).forEach(function (prop) {
  6258. // add default propTypes for folks that use runtime checks
  6259. propTypes[defaultKey(prop)] = noop;
  6260. if (false) { var handler; }
  6261. });
  6262. return propTypes;
  6263. }
  6264. function utils_isProp(props, prop) {
  6265. return props[prop] !== undefined;
  6266. }
  6267. function defaultKey(key) {
  6268. return 'default' + key.charAt(0).toUpperCase() + key.substr(1);
  6269. }
  6270. /**
  6271. * Copyright (c) 2013-present, Facebook, Inc.
  6272. * All rights reserved.
  6273. *
  6274. * This source code is licensed under the BSD-style license found in the
  6275. * LICENSE file in the root directory of this source tree. An additional grant
  6276. * of patent rights can be found in the PATENTS file in the same directory.
  6277. */
  6278. function utils_canAcceptRef(component) {
  6279. return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);
  6280. }
  6281. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/hook.js
  6282. function _toPropertyKey(arg) {
  6283. var key = _toPrimitive(arg, "string");
  6284. return typeof key === "symbol" ? key : String(key);
  6285. }
  6286. function _toPrimitive(input, hint) {
  6287. if (typeof input !== "object" || input === null) return input;
  6288. var prim = input[Symbol.toPrimitive];
  6289. if (prim !== undefined) {
  6290. var res = prim.call(input, hint || "default");
  6291. if (typeof res !== "object") return res;
  6292. throw new TypeError("@@toPrimitive must return a primitive value.");
  6293. }
  6294. return (hint === "string" ? String : Number)(input);
  6295. }
  6296. function useUncontrolled(props, config) {
  6297. return Object.keys(config).reduce(function (result, fieldName) {
  6298. var _extends2;
  6299. var defaultValue = result[defaultKey(fieldName)],
  6300. propsValue = result[fieldName],
  6301. rest = Object(objectWithoutPropertiesLoose["a" /* default */])(result, [defaultKey(fieldName), fieldName].map(_toPropertyKey));
  6302. var handlerName = config[fieldName];
  6303. var prevProps = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])({});
  6304. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(defaultValue),
  6305. stateValue = _useState[0],
  6306. setState = _useState[1];
  6307. var isProp = utils_isProp(props, fieldName);
  6308. var wasProp = utils_isProp(prevProps.current, fieldName);
  6309. prevProps.current = props;
  6310. /**
  6311. * If a prop switches from controlled to Uncontrolled
  6312. * reset its value to the defaultValue
  6313. */
  6314. if (!isProp && wasProp) {
  6315. setState(defaultValue);
  6316. }
  6317. var propsHandler = props[handlerName];
  6318. var handler = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (value) {
  6319. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  6320. args[_key - 1] = arguments[_key];
  6321. }
  6322. if (propsHandler) propsHandler.apply(void 0, [value].concat(args));
  6323. setState(value);
  6324. }, [setState, propsHandler]);
  6325. return Object(esm_extends["a" /* default */])({}, rest, (_extends2 = {}, _extends2[fieldName] = isProp ? propsValue : stateValue, _extends2[handlerName] = handler, _extends2));
  6326. }, props);
  6327. }
  6328. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
  6329. var inheritsLoose = __webpack_require__(5);
  6330. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/uncontrollable.js
  6331. function uncontrollable(Component, controlledValues, methods) {
  6332. if (methods === void 0) {
  6333. methods = [];
  6334. }
  6335. var displayName = Component.displayName || Component.name || 'Component';
  6336. var canAcceptRef = utils_canAcceptRef(Component);
  6337. var controlledProps = Object.keys(controlledValues);
  6338. var PROPS_TO_OMIT = controlledProps.map(defaultKey);
  6339. !(canAcceptRef || !methods.length) ? false ? undefined : browser_default()(false) : void 0;
  6340. var UncontrolledComponent =
  6341. /*#__PURE__*/
  6342. function (_React$Component) {
  6343. Object(inheritsLoose["a" /* default */])(UncontrolledComponent, _React$Component);
  6344. function UncontrolledComponent() {
  6345. var _this;
  6346. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  6347. args[_key] = arguments[_key];
  6348. }
  6349. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  6350. _this.handlers = Object.create(null);
  6351. controlledProps.forEach(function (propName) {
  6352. var handlerName = controlledValues[propName];
  6353. var handleChange = function handleChange(value) {
  6354. if (_this.props[handlerName]) {
  6355. var _this$props;
  6356. _this._notifying = true;
  6357. for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
  6358. args[_key2 - 1] = arguments[_key2];
  6359. }
  6360. (_this$props = _this.props)[handlerName].apply(_this$props, [value].concat(args));
  6361. _this._notifying = false;
  6362. }
  6363. _this._values[propName] = value;
  6364. if (!_this.unmounted) _this.forceUpdate();
  6365. };
  6366. _this.handlers[handlerName] = handleChange;
  6367. });
  6368. if (methods.length) _this.attachRef = function (ref) {
  6369. _this.inner = ref;
  6370. };
  6371. return _this;
  6372. }
  6373. var _proto = UncontrolledComponent.prototype;
  6374. _proto.shouldComponentUpdate = function shouldComponentUpdate() {
  6375. //let the forceUpdate trigger the update
  6376. return !this._notifying;
  6377. };
  6378. _proto.componentWillMount = function componentWillMount() {
  6379. var _this2 = this;
  6380. var props = this.props;
  6381. this._values = Object.create(null);
  6382. controlledProps.forEach(function (key) {
  6383. _this2._values[key] = props[defaultKey(key)];
  6384. });
  6385. };
  6386. _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
  6387. var _this3 = this;
  6388. var props = this.props;
  6389. controlledProps.forEach(function (key) {
  6390. /**
  6391. * If a prop switches from controlled to Uncontrolled
  6392. * reset its value to the defaultValue
  6393. */
  6394. if (!utils_isProp(nextProps, key) && utils_isProp(props, key)) {
  6395. _this3._values[key] = nextProps[defaultKey(key)];
  6396. }
  6397. });
  6398. };
  6399. _proto.componentWillUnmount = function componentWillUnmount() {
  6400. this.unmounted = true;
  6401. };
  6402. _proto.render = function render() {
  6403. var _this4 = this;
  6404. var _this$props2 = this.props,
  6405. innerRef = _this$props2.innerRef,
  6406. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["innerRef"]);
  6407. PROPS_TO_OMIT.forEach(function (prop) {
  6408. delete props[prop];
  6409. });
  6410. var newProps = {};
  6411. controlledProps.forEach(function (propName) {
  6412. var propValue = _this4.props[propName];
  6413. newProps[propName] = propValue !== undefined ? propValue : _this4._values[propName];
  6414. });
  6415. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, newProps, this.handlers, {
  6416. ref: innerRef || this.attachRef
  6417. }));
  6418. };
  6419. return UncontrolledComponent;
  6420. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  6421. UncontrolledComponent.displayName = "Uncontrolled(" + displayName + ")";
  6422. UncontrolledComponent.propTypes = Object(esm_extends["a" /* default */])({
  6423. innerRef: function innerRef() {}
  6424. }, uncontrolledPropTypes(controlledValues, displayName));
  6425. methods.forEach(function (method) {
  6426. UncontrolledComponent.prototype[method] = function $proxiedMethod() {
  6427. var _this$inner;
  6428. return (_this$inner = this.inner)[method].apply(_this$inner, arguments);
  6429. };
  6430. });
  6431. var WrappedComponent = UncontrolledComponent;
  6432. if (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef) {
  6433. WrappedComponent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  6434. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(UncontrolledComponent, Object(esm_extends["a" /* default */])({}, props, {
  6435. innerRef: ref
  6436. }));
  6437. });
  6438. WrappedComponent.propTypes = UncontrolledComponent.propTypes;
  6439. }
  6440. WrappedComponent.ControlledComponent = Component;
  6441. /**
  6442. * useful when wrapping a Component and you want to control
  6443. * everything
  6444. */
  6445. WrappedComponent.deferControlTo = function (newComponent, additions, nextMethods) {
  6446. if (additions === void 0) {
  6447. additions = {};
  6448. }
  6449. return uncontrollable(newComponent, Object(esm_extends["a" /* default */])({}, controlledValues, additions), nextMethods);
  6450. };
  6451. return WrappedComponent;
  6452. }
  6453. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/index.js
  6454. // EXTERNAL MODULE: ./node_modules/@restart/context/forwardRef.js
  6455. var forwardRef = __webpack_require__(48);
  6456. var forwardRef_default = /*#__PURE__*/__webpack_require__.n(forwardRef);
  6457. // CONCATENATED MODULE: ./src/ThemeProvider.js
  6458. var _jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ThemeProvider.js";
  6459. var ThemeContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({});
  6460. var Consumer = ThemeContext.Consumer,
  6461. Provider = ThemeContext.Provider;
  6462. function ThemeProvider(_ref) {
  6463. var prefixes = _ref.prefixes,
  6464. children = _ref.children;
  6465. var copiedPrefixes = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  6466. return Object(esm_extends["a" /* default */])({}, prefixes);
  6467. }, [prefixes]);
  6468. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Provider, {
  6469. value: copiedPrefixes,
  6470. __source: {
  6471. fileName: _jsxFileName,
  6472. lineNumber: 11
  6473. },
  6474. __self: this
  6475. }, children);
  6476. }
  6477. ThemeProvider.propTypes = {
  6478. prefixes: prop_types_default.a.object.isRequired
  6479. };
  6480. function useBootstrapPrefix(prefix, defaultPrefix) {
  6481. var prefixes = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(ThemeContext);
  6482. return prefix || prefixes[defaultPrefix] || defaultPrefix;
  6483. }
  6484. function createBootstrapComponent(Component, opts) {
  6485. if (typeof opts === 'string') opts = {
  6486. prefix: opts
  6487. };
  6488. var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref
  6489. var _opts = opts,
  6490. prefix = _opts.prefix,
  6491. _opts$forwardRefAs = _opts.forwardRefAs,
  6492. forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;
  6493. return forwardRef_default()(function (_ref2, ref) {
  6494. var props = Object(esm_extends["a" /* default */])({}, _ref2);
  6495. props[forwardRefAs] = ref; // eslint-disable-next-line react/prop-types
  6496. var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);
  6497. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  6498. bsPrefix: bsPrefix,
  6499. __source: {
  6500. fileName: _jsxFileName,
  6501. lineNumber: 34
  6502. },
  6503. __self: this
  6504. }));
  6505. }, {
  6506. displayName: "Bootstrap(" + (Component.displayName || Component.name) + ")"
  6507. });
  6508. }
  6509. /* harmony default export */ var src_ThemeProvider = (ThemeProvider);
  6510. // CONCATENATED MODULE: ./src/SelectableContext.js
  6511. var SelectableContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext();
  6512. var makeEventKey = function makeEventKey(eventKey, href) {
  6513. if (eventKey != null) return String(eventKey);
  6514. return href || null;
  6515. };
  6516. /* harmony default export */ var src_SelectableContext = (SelectableContext);
  6517. // CONCATENATED MODULE: ./src/AccordionContext.js
  6518. /* harmony default export */ var AccordionContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  6519. // CONCATENATED MODULE: ./src/AccordionToggle.js
  6520. var AccordionToggle_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/AccordionToggle.js";
  6521. var propTypes = {
  6522. /** Set a custom element for this component */
  6523. as: prop_types_default.a.elementType,
  6524. /**
  6525. * A key that corresponds to the collapse component that gets triggered
  6526. * when this has been clicked.
  6527. */
  6528. eventKey: prop_types_default.a.string.isRequired,
  6529. /** A callback function for when this component is clicked */
  6530. onClick: prop_types_default.a.func,
  6531. /** Children prop should only contain a single child, and is enforced as such */
  6532. children: prop_types_default.a.element
  6533. };
  6534. function useAccordionToggle(eventKey, onClick) {
  6535. var contextEventKey = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(AccordionContext);
  6536. var onSelect = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  6537. return function (e) {
  6538. /*
  6539. Compare the event key in context with the given event key.
  6540. If they are the same, then collapse the component.
  6541. */
  6542. var eventKeyPassed = eventKey === contextEventKey ? null : eventKey;
  6543. onSelect(eventKeyPassed, e);
  6544. if (onClick) onClick(e);
  6545. };
  6546. }
  6547. var AccordionToggle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6548. var _ref$as = _ref.as,
  6549. Component = _ref$as === void 0 ? 'button' : _ref$as,
  6550. children = _ref.children,
  6551. eventKey = _ref.eventKey,
  6552. onClick = _ref.onClick,
  6553. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["as", "children", "eventKey", "onClick"]);
  6554. var accordionOnClick = useAccordionToggle(eventKey, onClick);
  6555. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  6556. ref: ref,
  6557. onClick: accordionOnClick
  6558. }, props, {
  6559. __source: {
  6560. fileName: AccordionToggle_jsxFileName,
  6561. lineNumber: 54
  6562. },
  6563. __self: this
  6564. }), children);
  6565. });
  6566. AccordionToggle.propTypes = propTypes;
  6567. /* harmony default export */ var src_AccordionToggle = (AccordionToggle);
  6568. // EXTERNAL MODULE: ./node_modules/dom-helpers/style/index.js
  6569. var dom_helpers_style = __webpack_require__(12);
  6570. var style_default = /*#__PURE__*/__webpack_require__.n(dom_helpers_style);
  6571. // EXTERNAL MODULE: ./node_modules/dom-helpers/transition/end.js
  6572. var end = __webpack_require__(23);
  6573. var end_default = /*#__PURE__*/__webpack_require__.n(end);
  6574. // EXTERNAL MODULE: external {"root":"ReactDOM","commonjs2":"react-dom","commonjs":"react-dom","amd":"react-dom"}
  6575. var external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_ = __webpack_require__(8);
  6576. var external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default = /*#__PURE__*/__webpack_require__.n(external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_);
  6577. // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/config.js
  6578. /* harmony default export */ var esm_config = ({
  6579. disabled: false
  6580. });
  6581. // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js
  6582. /* harmony default export */ var TransitionGroupContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  6583. // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/Transition.js
  6584. var UNMOUNTED = 'unmounted';
  6585. var EXITED = 'exited';
  6586. var ENTERING = 'entering';
  6587. var ENTERED = 'entered';
  6588. var EXITING = 'exiting';
  6589. /**
  6590. * The Transition component lets you describe a transition from one component
  6591. * state to another _over time_ with a simple declarative API. Most commonly
  6592. * it's used to animate the mounting and unmounting of a component, but can also
  6593. * be used to describe in-place transition states as well.
  6594. *
  6595. * ---
  6596. *
  6597. * **Note**: `Transition` is a platform-agnostic base component. If you're using
  6598. * transitions in CSS, you'll probably want to use
  6599. * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)
  6600. * instead. It inherits all the features of `Transition`, but contains
  6601. * additional features necessary to play nice with CSS transitions (hence the
  6602. * name of the component).
  6603. *
  6604. * ---
  6605. *
  6606. * By default the `Transition` component does not alter the behavior of the
  6607. * component it renders, it only tracks "enter" and "exit" states for the
  6608. * components. It's up to you to give meaning and effect to those states. For
  6609. * example we can add styles to a component when it enters or exits:
  6610. *
  6611. * ```jsx
  6612. * import { Transition } from 'react-transition-group';
  6613. *
  6614. * const duration = 300;
  6615. *
  6616. * const defaultStyle = {
  6617. * transition: `opacity ${duration}ms ease-in-out`,
  6618. * opacity: 0,
  6619. * }
  6620. *
  6621. * const transitionStyles = {
  6622. * entering: { opacity: 1 },
  6623. * entered: { opacity: 1 },
  6624. * exiting: { opacity: 0 },
  6625. * exited: { opacity: 0 },
  6626. * };
  6627. *
  6628. * const Fade = ({ in: inProp }) => (
  6629. * <Transition in={inProp} timeout={duration}>
  6630. * {state => (
  6631. * <div style={{
  6632. * ...defaultStyle,
  6633. * ...transitionStyles[state]
  6634. * }}>
  6635. * I'm a fade Transition!
  6636. * </div>
  6637. * )}
  6638. * </Transition>
  6639. * );
  6640. * ```
  6641. *
  6642. * There are 4 main states a Transition can be in:
  6643. * - `'entering'`
  6644. * - `'entered'`
  6645. * - `'exiting'`
  6646. * - `'exited'`
  6647. *
  6648. * Transition state is toggled via the `in` prop. When `true` the component
  6649. * begins the "Enter" stage. During this stage, the component will shift from
  6650. * its current transition state, to `'entering'` for the duration of the
  6651. * transition and then to the `'entered'` stage once it's complete. Let's take
  6652. * the following example (we'll use the
  6653. * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):
  6654. *
  6655. * ```jsx
  6656. * function App() {
  6657. * const [inProp, setInProp] = useState(false);
  6658. * return (
  6659. * <div>
  6660. * <Transition in={inProp} timeout={500}>
  6661. * {state => (
  6662. * // ...
  6663. * )}
  6664. * </Transition>
  6665. * <button onClick={() => setInProp(true)}>
  6666. * Click to Enter
  6667. * </button>
  6668. * </div>
  6669. * );
  6670. * }
  6671. * ```
  6672. *
  6673. * When the button is clicked the component will shift to the `'entering'` state
  6674. * and stay there for 500ms (the value of `timeout`) before it finally switches
  6675. * to `'entered'`.
  6676. *
  6677. * When `in` is `false` the same thing happens except the state moves from
  6678. * `'exiting'` to `'exited'`.
  6679. */
  6680. var Transition_Transition =
  6681. /*#__PURE__*/
  6682. function (_React$Component) {
  6683. Object(inheritsLoose["a" /* default */])(Transition, _React$Component);
  6684. function Transition(props, context) {
  6685. var _this;
  6686. _this = _React$Component.call(this, props, context) || this;
  6687. var parentGroup = context; // In the context of a TransitionGroup all enters are really appears
  6688. var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
  6689. var initialStatus;
  6690. _this.appearStatus = null;
  6691. if (props.in) {
  6692. if (appear) {
  6693. initialStatus = EXITED;
  6694. _this.appearStatus = ENTERING;
  6695. } else {
  6696. initialStatus = ENTERED;
  6697. }
  6698. } else {
  6699. if (props.unmountOnExit || props.mountOnEnter) {
  6700. initialStatus = UNMOUNTED;
  6701. } else {
  6702. initialStatus = EXITED;
  6703. }
  6704. }
  6705. _this.state = {
  6706. status: initialStatus
  6707. };
  6708. _this.nextCallback = null;
  6709. return _this;
  6710. }
  6711. Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
  6712. var nextIn = _ref.in;
  6713. if (nextIn && prevState.status === UNMOUNTED) {
  6714. return {
  6715. status: EXITED
  6716. };
  6717. }
  6718. return null;
  6719. }; // getSnapshotBeforeUpdate(prevProps) {
  6720. // let nextStatus = null
  6721. // if (prevProps !== this.props) {
  6722. // const { status } = this.state
  6723. // if (this.props.in) {
  6724. // if (status !== ENTERING && status !== ENTERED) {
  6725. // nextStatus = ENTERING
  6726. // }
  6727. // } else {
  6728. // if (status === ENTERING || status === ENTERED) {
  6729. // nextStatus = EXITING
  6730. // }
  6731. // }
  6732. // }
  6733. // return { nextStatus }
  6734. // }
  6735. var _proto = Transition.prototype;
  6736. _proto.componentDidMount = function componentDidMount() {
  6737. this.updateStatus(true, this.appearStatus);
  6738. };
  6739. _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
  6740. var nextStatus = null;
  6741. if (prevProps !== this.props) {
  6742. var status = this.state.status;
  6743. if (this.props.in) {
  6744. if (status !== ENTERING && status !== ENTERED) {
  6745. nextStatus = ENTERING;
  6746. }
  6747. } else {
  6748. if (status === ENTERING || status === ENTERED) {
  6749. nextStatus = EXITING;
  6750. }
  6751. }
  6752. }
  6753. this.updateStatus(false, nextStatus);
  6754. };
  6755. _proto.componentWillUnmount = function componentWillUnmount() {
  6756. this.cancelNextCallback();
  6757. };
  6758. _proto.getTimeouts = function getTimeouts() {
  6759. var timeout = this.props.timeout;
  6760. var exit, enter, appear;
  6761. exit = enter = appear = timeout;
  6762. if (timeout != null && typeof timeout !== 'number') {
  6763. exit = timeout.exit;
  6764. enter = timeout.enter; // TODO: remove fallback for next major
  6765. appear = timeout.appear !== undefined ? timeout.appear : enter;
  6766. }
  6767. return {
  6768. exit: exit,
  6769. enter: enter,
  6770. appear: appear
  6771. };
  6772. };
  6773. _proto.updateStatus = function updateStatus(mounting, nextStatus) {
  6774. if (mounting === void 0) {
  6775. mounting = false;
  6776. }
  6777. if (nextStatus !== null) {
  6778. // nextStatus will always be ENTERING or EXITING.
  6779. this.cancelNextCallback();
  6780. var node = external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.findDOMNode(this);
  6781. if (nextStatus === ENTERING) {
  6782. this.performEnter(node, mounting);
  6783. } else {
  6784. this.performExit(node);
  6785. }
  6786. } else if (this.props.unmountOnExit && this.state.status === EXITED) {
  6787. this.setState({
  6788. status: UNMOUNTED
  6789. });
  6790. }
  6791. };
  6792. _proto.performEnter = function performEnter(node, mounting) {
  6793. var _this2 = this;
  6794. var enter = this.props.enter;
  6795. var appearing = this.context ? this.context.isMounting : mounting;
  6796. var timeouts = this.getTimeouts();
  6797. var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED
  6798. // if we are mounting and running this it means appear _must_ be set
  6799. if (!mounting && !enter || esm_config.disabled) {
  6800. this.safeSetState({
  6801. status: ENTERED
  6802. }, function () {
  6803. _this2.props.onEntered(node);
  6804. });
  6805. return;
  6806. }
  6807. this.props.onEnter(node, appearing);
  6808. this.safeSetState({
  6809. status: ENTERING
  6810. }, function () {
  6811. _this2.props.onEntering(node, appearing);
  6812. _this2.onTransitionEnd(node, enterTimeout, function () {
  6813. _this2.safeSetState({
  6814. status: ENTERED
  6815. }, function () {
  6816. _this2.props.onEntered(node, appearing);
  6817. });
  6818. });
  6819. });
  6820. };
  6821. _proto.performExit = function performExit(node) {
  6822. var _this3 = this;
  6823. var exit = this.props.exit;
  6824. var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED
  6825. if (!exit || esm_config.disabled) {
  6826. this.safeSetState({
  6827. status: EXITED
  6828. }, function () {
  6829. _this3.props.onExited(node);
  6830. });
  6831. return;
  6832. }
  6833. this.props.onExit(node);
  6834. this.safeSetState({
  6835. status: EXITING
  6836. }, function () {
  6837. _this3.props.onExiting(node);
  6838. _this3.onTransitionEnd(node, timeouts.exit, function () {
  6839. _this3.safeSetState({
  6840. status: EXITED
  6841. }, function () {
  6842. _this3.props.onExited(node);
  6843. });
  6844. });
  6845. });
  6846. };
  6847. _proto.cancelNextCallback = function cancelNextCallback() {
  6848. if (this.nextCallback !== null) {
  6849. this.nextCallback.cancel();
  6850. this.nextCallback = null;
  6851. }
  6852. };
  6853. _proto.safeSetState = function safeSetState(nextState, callback) {
  6854. // This shouldn't be necessary, but there are weird race conditions with
  6855. // setState callbacks and unmounting in testing, so always make sure that
  6856. // we can cancel any pending setState callbacks after we unmount.
  6857. callback = this.setNextCallback(callback);
  6858. this.setState(nextState, callback);
  6859. };
  6860. _proto.setNextCallback = function setNextCallback(callback) {
  6861. var _this4 = this;
  6862. var active = true;
  6863. this.nextCallback = function (event) {
  6864. if (active) {
  6865. active = false;
  6866. _this4.nextCallback = null;
  6867. callback(event);
  6868. }
  6869. };
  6870. this.nextCallback.cancel = function () {
  6871. active = false;
  6872. };
  6873. return this.nextCallback;
  6874. };
  6875. _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {
  6876. this.setNextCallback(handler);
  6877. var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
  6878. if (!node || doesNotHaveTimeoutOrListener) {
  6879. setTimeout(this.nextCallback, 0);
  6880. return;
  6881. }
  6882. if (this.props.addEndListener) {
  6883. this.props.addEndListener(node, this.nextCallback);
  6884. }
  6885. if (timeout != null) {
  6886. setTimeout(this.nextCallback, timeout);
  6887. }
  6888. };
  6889. _proto.render = function render() {
  6890. var status = this.state.status;
  6891. if (status === UNMOUNTED) {
  6892. return null;
  6893. }
  6894. var _this$props = this.props,
  6895. children = _this$props.children,
  6896. childProps = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["children"]); // filter props for Transtition
  6897. delete childProps.in;
  6898. delete childProps.mountOnEnter;
  6899. delete childProps.unmountOnExit;
  6900. delete childProps.appear;
  6901. delete childProps.enter;
  6902. delete childProps.exit;
  6903. delete childProps.timeout;
  6904. delete childProps.addEndListener;
  6905. delete childProps.onEnter;
  6906. delete childProps.onEntering;
  6907. delete childProps.onEntered;
  6908. delete childProps.onExit;
  6909. delete childProps.onExiting;
  6910. delete childProps.onExited;
  6911. if (typeof children === 'function') {
  6912. // allows for nested Transitions
  6913. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(TransitionGroupContext.Provider, {
  6914. value: null
  6915. }, children(status, childProps));
  6916. }
  6917. var child = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children);
  6918. return (// allows for nested Transitions
  6919. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(TransitionGroupContext.Provider, {
  6920. value: null
  6921. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, childProps))
  6922. );
  6923. };
  6924. return Transition;
  6925. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  6926. Transition_Transition.contextType = TransitionGroupContext;
  6927. Transition_Transition.propTypes = false ? undefined : {};
  6928. function Transition_noop() {}
  6929. Transition_Transition.defaultProps = {
  6930. in: false,
  6931. mountOnEnter: false,
  6932. unmountOnExit: false,
  6933. appear: false,
  6934. enter: true,
  6935. exit: true,
  6936. onEnter: Transition_noop,
  6937. onEntering: Transition_noop,
  6938. onEntered: Transition_noop,
  6939. onExit: Transition_noop,
  6940. onExiting: Transition_noop,
  6941. onExited: Transition_noop
  6942. };
  6943. Transition_Transition.UNMOUNTED = 0;
  6944. Transition_Transition.EXITED = 1;
  6945. Transition_Transition.ENTERING = 2;
  6946. Transition_Transition.ENTERED = 3;
  6947. Transition_Transition.EXITING = 4;
  6948. /* harmony default export */ var esm_Transition = (Transition_Transition);
  6949. // CONCATENATED MODULE: ./src/utils/triggerBrowserReflow.js
  6950. // reading a dimension prop will cause the browser to recalculate,
  6951. // which will let our animations work
  6952. function triggerBrowserReflow(node) {
  6953. node.offsetHeight; // eslint-disable-line no-unused-expressions
  6954. }
  6955. // CONCATENATED MODULE: ./src/utils/createChainedFunction.js
  6956. /**
  6957. * Safe chained function
  6958. *
  6959. * Will only create a new function if needed,
  6960. * otherwise will pass back existing functions or null.
  6961. *
  6962. * @param {function} functions to chain
  6963. * @returns {function|null}
  6964. */
  6965. function createChainedFunction() {
  6966. for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
  6967. funcs[_key] = arguments[_key];
  6968. }
  6969. return funcs.filter(function (f) {
  6970. return f != null;
  6971. }).reduce(function (acc, f) {
  6972. if (typeof f !== 'function') {
  6973. throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
  6974. }
  6975. if (acc === null) return f;
  6976. return function chainedFunction() {
  6977. for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  6978. args[_key2] = arguments[_key2];
  6979. }
  6980. acc.apply(this, args);
  6981. f.apply(this, args);
  6982. };
  6983. }, null);
  6984. }
  6985. /* harmony default export */ var utils_createChainedFunction = (createChainedFunction);
  6986. // CONCATENATED MODULE: ./src/Collapse.js
  6987. var _collapseStyles,
  6988. Collapse_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Collapse.js";
  6989. var MARGINS = {
  6990. height: ['marginTop', 'marginBottom'],
  6991. width: ['marginLeft', 'marginRight']
  6992. };
  6993. function getDimensionValue(dimension, elem) {
  6994. var offset = "offset" + dimension[0].toUpperCase() + dimension.slice(1);
  6995. var value = elem[offset];
  6996. var margins = MARGINS[dimension];
  6997. return value + parseInt(style_default()(elem, margins[0]), 10) + parseInt(style_default()(elem, margins[1]), 10);
  6998. }
  6999. var collapseStyles = (_collapseStyles = {}, _collapseStyles[EXITED] = 'collapse', _collapseStyles[EXITING] = 'collapsing', _collapseStyles[ENTERING] = 'collapsing', _collapseStyles[ENTERED] = 'collapse show', _collapseStyles);
  7000. var Collapse_propTypes = {
  7001. /**
  7002. * Show the component; triggers the expand or collapse animation
  7003. */
  7004. in: prop_types_default.a.bool,
  7005. /**
  7006. * Wait until the first "enter" transition to mount the component (add it to the DOM)
  7007. */
  7008. mountOnEnter: prop_types_default.a.bool,
  7009. /**
  7010. * Unmount the component (remove it from the DOM) when it is collapsed
  7011. */
  7012. unmountOnExit: prop_types_default.a.bool,
  7013. /**
  7014. * Run the expand animation when the component mounts, if it is initially
  7015. * shown
  7016. */
  7017. appear: prop_types_default.a.bool,
  7018. /**
  7019. * Duration of the collapse animation in milliseconds, to ensure that
  7020. * finishing callbacks are fired even if the original browser transition end
  7021. * events are canceled
  7022. */
  7023. timeout: prop_types_default.a.number,
  7024. /**
  7025. * Callback fired before the component expands
  7026. */
  7027. onEnter: prop_types_default.a.func,
  7028. /**
  7029. * Callback fired after the component starts to expand
  7030. */
  7031. onEntering: prop_types_default.a.func,
  7032. /**
  7033. * Callback fired after the component has expanded
  7034. */
  7035. onEntered: prop_types_default.a.func,
  7036. /**
  7037. * Callback fired before the component collapses
  7038. */
  7039. onExit: prop_types_default.a.func,
  7040. /**
  7041. * Callback fired after the component starts to collapse
  7042. */
  7043. onExiting: prop_types_default.a.func,
  7044. /**
  7045. * Callback fired after the component has collapsed
  7046. */
  7047. onExited: prop_types_default.a.func,
  7048. /**
  7049. * The dimension used when collapsing, or a function that returns the
  7050. * dimension
  7051. *
  7052. * _Note: Bootstrap only partially supports 'width'!
  7053. * You will need to supply your own CSS animation for the `.width` CSS class._
  7054. */
  7055. dimension: prop_types_default.a.oneOfType([prop_types_default.a.oneOf(['height', 'width']), prop_types_default.a.func]),
  7056. /**
  7057. * Function that returns the height or width of the animating DOM node
  7058. *
  7059. * Allows for providing some custom logic for how much the Collapse component
  7060. * should animate in its specified dimension. Called with the current
  7061. * dimension prop value and the DOM node.
  7062. *
  7063. * @default element.offsetWidth | element.offsetHeight
  7064. */
  7065. getDimensionValue: prop_types_default.a.func,
  7066. /**
  7067. * ARIA role of collapsible element
  7068. */
  7069. role: prop_types_default.a.string
  7070. };
  7071. var Collapse_defaultProps = {
  7072. in: false,
  7073. timeout: 300,
  7074. mountOnEnter: false,
  7075. unmountOnExit: false,
  7076. appear: false,
  7077. dimension: 'height',
  7078. getDimensionValue: getDimensionValue
  7079. };
  7080. var Collapse_Collapse =
  7081. /*#__PURE__*/
  7082. function (_React$Component) {
  7083. Object(inheritsLoose["a" /* default */])(Collapse, _React$Component);
  7084. function Collapse() {
  7085. var _this;
  7086. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  7087. args[_key] = arguments[_key];
  7088. }
  7089. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  7090. _this.handleEnter = function (elem) {
  7091. elem.style[_this.getDimension()] = '0';
  7092. };
  7093. _this.handleEntering = function (elem) {
  7094. var dimension = _this.getDimension();
  7095. elem.style[dimension] = _this._getScrollDimensionValue(elem, dimension);
  7096. };
  7097. _this.handleEntered = function (elem) {
  7098. elem.style[_this.getDimension()] = null;
  7099. };
  7100. _this.handleExit = function (elem) {
  7101. var dimension = _this.getDimension();
  7102. elem.style[dimension] = _this.props.getDimensionValue(dimension, elem) + "px";
  7103. triggerBrowserReflow(elem);
  7104. };
  7105. _this.handleExiting = function (elem) {
  7106. elem.style[_this.getDimension()] = null;
  7107. };
  7108. return _this;
  7109. }
  7110. var _proto = Collapse.prototype;
  7111. _proto.getDimension = function getDimension() {
  7112. return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;
  7113. }
  7114. /* -- Expanding -- */
  7115. ;
  7116. // for testing
  7117. _proto._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {
  7118. var scroll = "scroll" + dimension[0].toUpperCase() + dimension.slice(1);
  7119. return elem[scroll] + "px";
  7120. };
  7121. _proto.render = function render() {
  7122. var _this2 = this;
  7123. var _this$props = this.props,
  7124. onEnter = _this$props.onEnter,
  7125. onEntering = _this$props.onEntering,
  7126. onEntered = _this$props.onEntered,
  7127. onExit = _this$props.onExit,
  7128. onExiting = _this$props.onExiting,
  7129. className = _this$props.className,
  7130. children = _this$props.children,
  7131. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["onEnter", "onEntering", "onEntered", "onExit", "onExiting", "className", "children"]);
  7132. delete props.dimension;
  7133. delete props.getDimensionValue;
  7134. var handleEnter = utils_createChainedFunction(this.handleEnter, onEnter);
  7135. var handleEntering = utils_createChainedFunction(this.handleEntering, onEntering);
  7136. var handleEntered = utils_createChainedFunction(this.handleEntered, onEntered);
  7137. var handleExit = utils_createChainedFunction(this.handleExit, onExit);
  7138. var handleExiting = utils_createChainedFunction(this.handleExiting, onExiting);
  7139. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, Object(esm_extends["a" /* default */])({
  7140. addEndListener: end_default.a
  7141. }, props, {
  7142. "aria-expanded": props.role ? props.in : null,
  7143. onEnter: handleEnter,
  7144. onEntering: handleEntering,
  7145. onEntered: handleEntered,
  7146. onExit: handleExit,
  7147. onExiting: handleExiting,
  7148. __source: {
  7149. fileName: Collapse_jsxFileName,
  7150. lineNumber: 200
  7151. },
  7152. __self: this
  7153. }), function (state, innerProps) {
  7154. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(children, Object(esm_extends["a" /* default */])({}, innerProps, {
  7155. className: classnames_default()(className, children.props.className, collapseStyles[state], _this2.getDimension() === 'width' && 'width')
  7156. }));
  7157. });
  7158. };
  7159. return Collapse;
  7160. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  7161. Collapse_Collapse.propTypes = Collapse_propTypes;
  7162. Collapse_Collapse.defaultProps = Collapse_defaultProps;
  7163. /* harmony default export */ var src_Collapse = (Collapse_Collapse);
  7164. // CONCATENATED MODULE: ./src/AccordionCollapse.js
  7165. var AccordionCollapse_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/AccordionCollapse.js";
  7166. var AccordionCollapse_propTypes = {
  7167. /**
  7168. * A key that corresponds to the toggler that triggers this collapse's expand or collapse.
  7169. */
  7170. eventKey: prop_types_default.a.string.isRequired,
  7171. children: prop_types_default.a.element.isRequired
  7172. };
  7173. var AccordionCollapse = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7174. var children = _ref.children,
  7175. eventKey = _ref.eventKey,
  7176. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["children", "eventKey"]);
  7177. var contextEventKey = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(AccordionContext);
  7178. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Collapse, Object(esm_extends["a" /* default */])({
  7179. ref: ref,
  7180. in: contextEventKey === eventKey
  7181. }, props, {
  7182. __source: {
  7183. fileName: AccordionCollapse_jsxFileName,
  7184. lineNumber: 21
  7185. },
  7186. __self: this
  7187. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  7188. __source: {
  7189. fileName: AccordionCollapse_jsxFileName,
  7190. lineNumber: 22
  7191. },
  7192. __self: this
  7193. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children)));
  7194. });
  7195. AccordionCollapse.propTypes = AccordionCollapse_propTypes;
  7196. AccordionCollapse.displayName = 'AccordionCollapse';
  7197. /* harmony default export */ var src_AccordionCollapse = (AccordionCollapse);
  7198. // CONCATENATED MODULE: ./src/Accordion.js
  7199. var Accordion_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Accordion.js";
  7200. var Accordion_propTypes = {
  7201. /** Set a custom element for this component */
  7202. as: prop_types_default.a.elementType,
  7203. /** @default 'accordion' */
  7204. bsPrefix: prop_types_default.a.string,
  7205. /** The current active key that corresponds to the currently expanded card */
  7206. activeKey: prop_types_default.a.string,
  7207. /** The default active key that is expanded on start */
  7208. defaultActiveKey: prop_types_default.a.string
  7209. };
  7210. var Accordion = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  7211. var _useUncontrolled = useUncontrolled(props, {
  7212. activeKey: 'onSelect'
  7213. }),
  7214. _useUncontrolled$as = _useUncontrolled.as,
  7215. Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  7216. activeKey = _useUncontrolled.activeKey,
  7217. bsPrefix = _useUncontrolled.bsPrefix,
  7218. children = _useUncontrolled.children,
  7219. className = _useUncontrolled.className,
  7220. onSelect = _useUncontrolled.onSelect,
  7221. controlledProps = Object(objectWithoutPropertiesLoose["a" /* default */])(_useUncontrolled, ["as", "activeKey", "bsPrefix", "children", "className", "onSelect"]);
  7222. bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion');
  7223. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(AccordionContext.Provider, {
  7224. value: activeKey,
  7225. __source: {
  7226. fileName: Accordion_jsxFileName,
  7227. lineNumber: 42
  7228. },
  7229. __self: this
  7230. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  7231. value: onSelect,
  7232. __source: {
  7233. fileName: Accordion_jsxFileName,
  7234. lineNumber: 43
  7235. },
  7236. __self: this
  7237. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  7238. ref: ref
  7239. }, controlledProps, {
  7240. className: classnames_default()(className, bsPrefix),
  7241. __source: {
  7242. fileName: Accordion_jsxFileName,
  7243. lineNumber: 44
  7244. },
  7245. __self: this
  7246. }), children)));
  7247. });
  7248. Accordion.propTypes = Accordion_propTypes;
  7249. Accordion.Toggle = src_AccordionToggle;
  7250. Accordion.Collapse = src_AccordionCollapse;
  7251. /* harmony default export */ var src_Accordion = (Accordion);
  7252. // EXTERNAL MODULE: ./node_modules/prop-types-extra/lib/index.js
  7253. var lib = __webpack_require__(20);
  7254. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useCommittedRef.js
  7255. /**
  7256. * Creates a `Ref` whose value is updated in an effect, ensuring the most recent
  7257. * value is the one rendered with. Generally only required for Concurrent mode usage
  7258. * where previous work in `render()` may be discarded befor being used.
  7259. *
  7260. * This is safe to access in an event handler.
  7261. *
  7262. * @param value The `Ref` value
  7263. */
  7264. function useCommittedRef(value) {
  7265. var ref = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(value);
  7266. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  7267. ref.current = value;
  7268. }, [value]);
  7269. return ref;
  7270. }
  7271. /* harmony default export */ var esm_useCommittedRef = (useCommittedRef);
  7272. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useEventCallback.js
  7273. function useEventCallback(fn) {
  7274. var ref = esm_useCommittedRef(fn);
  7275. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  7276. return ref.current && ref.current.apply(ref, arguments);
  7277. }, [ref]);
  7278. }
  7279. // EXTERNAL MODULE: ./node_modules/dom-helpers/util/camelize.js
  7280. var camelize = __webpack_require__(32);
  7281. var camelize_default = /*#__PURE__*/__webpack_require__.n(camelize);
  7282. // CONCATENATED MODULE: ./src/utils/createWithBsPrefix.js
  7283. var createWithBsPrefix_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/utils/createWithBsPrefix.js";
  7284. var createWithBsPrefix_pascalCase = function pascalCase(str) {
  7285. return str[0].toUpperCase() + camelize_default()(str).slice(1);
  7286. };
  7287. function createWithBsPrefix(prefix, _temp) {
  7288. var _ref = _temp === void 0 ? {} : _temp,
  7289. _ref$displayName = _ref.displayName,
  7290. displayName = _ref$displayName === void 0 ? createWithBsPrefix_pascalCase(prefix) : _ref$displayName,
  7291. _ref$Component = _ref.Component,
  7292. Component = _ref$Component === void 0 ? 'div' : _ref$Component,
  7293. defaultProps = _ref.defaultProps;
  7294. var BsComponent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // eslint-disable-next-line react/prop-types
  7295. function (_ref2, ref) {
  7296. var className = _ref2.className,
  7297. bsPrefix = _ref2.bsPrefix,
  7298. _ref2$as = _ref2.as,
  7299. Tag = _ref2$as === void 0 ? Component : _ref2$as,
  7300. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref2, ["className", "bsPrefix", "as"]);
  7301. var resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);
  7302. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Tag, Object(esm_extends["a" /* default */])({
  7303. ref: ref,
  7304. className: classnames_default()(className, resolvedPrefix)
  7305. }, props, {
  7306. __source: {
  7307. fileName: createWithBsPrefix_jsxFileName,
  7308. lineNumber: 18
  7309. },
  7310. __self: this
  7311. }));
  7312. });
  7313. BsComponent.defaultProps = defaultProps;
  7314. BsComponent.displayName = displayName;
  7315. return BsComponent;
  7316. }
  7317. // CONCATENATED MODULE: ./src/utils/divWithClassName.js
  7318. var divWithClassName_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/utils/divWithClassName.js";
  7319. /* harmony default export */ var divWithClassName = (function (className) {
  7320. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (p, ref) {
  7321. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({}, p, {
  7322. ref: ref,
  7323. className: classnames_default()(p.className, className),
  7324. __source: {
  7325. fileName: divWithClassName_jsxFileName,
  7326. lineNumber: 6
  7327. },
  7328. __self: this
  7329. }));
  7330. });
  7331. });
  7332. // CONCATENATED MODULE: ./src/Fade.js
  7333. var _fadeStyles,
  7334. Fade_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Fade.js";
  7335. var Fade_propTypes = {
  7336. /**
  7337. * Show the component; triggers the fade in or fade out animation
  7338. */
  7339. in: prop_types_default.a.bool,
  7340. /**
  7341. * Wait until the first "enter" transition to mount the component (add it to the DOM)
  7342. */
  7343. mountOnEnter: prop_types_default.a.bool,
  7344. /**
  7345. * Unmount the component (remove it from the DOM) when it is faded out
  7346. */
  7347. unmountOnExit: prop_types_default.a.bool,
  7348. /**
  7349. * Run the fade in animation when the component mounts, if it is initially
  7350. * shown
  7351. */
  7352. appear: prop_types_default.a.bool,
  7353. /**
  7354. * Duration of the fade animation in milliseconds, to ensure that finishing
  7355. * callbacks are fired even if the original browser transition end events are
  7356. * canceled
  7357. */
  7358. timeout: prop_types_default.a.number,
  7359. /**
  7360. * Callback fired before the component fades in
  7361. */
  7362. onEnter: prop_types_default.a.func,
  7363. /**
  7364. * Callback fired after the component starts to fade in
  7365. */
  7366. onEntering: prop_types_default.a.func,
  7367. /**
  7368. * Callback fired after the has component faded in
  7369. */
  7370. onEntered: prop_types_default.a.func,
  7371. /**
  7372. * Callback fired before the component fades out
  7373. */
  7374. onExit: prop_types_default.a.func,
  7375. /**
  7376. * Callback fired after the component starts to fade out
  7377. */
  7378. onExiting: prop_types_default.a.func,
  7379. /**
  7380. * Callback fired after the component has faded out
  7381. */
  7382. onExited: prop_types_default.a.func
  7383. };
  7384. var Fade_defaultProps = {
  7385. in: false,
  7386. timeout: 300,
  7387. mountOnEnter: false,
  7388. unmountOnExit: false,
  7389. appear: false
  7390. };
  7391. var fadeStyles = (_fadeStyles = {}, _fadeStyles[ENTERING] = 'show', _fadeStyles[ENTERED] = 'show', _fadeStyles);
  7392. var Fade = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7393. var className = _ref.className,
  7394. children = _ref.children,
  7395. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["className", "children"]);
  7396. var handleEnter = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (node) {
  7397. triggerBrowserReflow(node);
  7398. if (props.onEnter) props.onEnter(node);
  7399. }, [props]);
  7400. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, Object(esm_extends["a" /* default */])({
  7401. ref: ref,
  7402. addEndListener: end_default.a
  7403. }, props, {
  7404. onEnter: handleEnter,
  7405. __source: {
  7406. fileName: Fade_jsxFileName,
  7407. lineNumber: 89
  7408. },
  7409. __self: this
  7410. }), function (status, innerProps) {
  7411. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(children, Object(esm_extends["a" /* default */])({}, innerProps, {
  7412. className: classnames_default()('fade', className, children.props.className, fadeStyles[status])
  7413. }));
  7414. });
  7415. });
  7416. Fade.propTypes = Fade_propTypes;
  7417. Fade.defaultProps = Fade_defaultProps;
  7418. Fade.displayName = 'Fade';
  7419. /* harmony default export */ var src_Fade = (Fade);
  7420. // CONCATENATED MODULE: ./src/CloseButton.js
  7421. var CloseButton_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/CloseButton.js";
  7422. var CloseButton_propTypes = {
  7423. label: prop_types_default.a.string.isRequired,
  7424. onClick: prop_types_default.a.func
  7425. };
  7426. var CloseButton_defaultProps = {
  7427. label: 'Close'
  7428. };
  7429. var CloseButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7430. var label = _ref.label,
  7431. onClick = _ref.onClick,
  7432. className = _ref.className,
  7433. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["label", "onClick", "className"]);
  7434. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("button", Object(esm_extends["a" /* default */])({
  7435. ref: ref,
  7436. type: "button",
  7437. className: classnames_default()('close', className),
  7438. onClick: onClick
  7439. }, props, {
  7440. __source: {
  7441. fileName: CloseButton_jsxFileName,
  7442. lineNumber: 16
  7443. },
  7444. __self: this
  7445. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  7446. "aria-hidden": "true",
  7447. __source: {
  7448. fileName: CloseButton_jsxFileName,
  7449. lineNumber: 23
  7450. },
  7451. __self: this
  7452. }, "\xD7"), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  7453. className: "sr-only",
  7454. __source: {
  7455. fileName: CloseButton_jsxFileName,
  7456. lineNumber: 24
  7457. },
  7458. __self: this
  7459. }, label));
  7460. });
  7461. CloseButton.displayName = 'CloseButton';
  7462. CloseButton.propTypes = CloseButton_propTypes;
  7463. CloseButton.defaultProps = CloseButton_defaultProps;
  7464. /* harmony default export */ var src_CloseButton = (CloseButton);
  7465. // CONCATENATED MODULE: ./src/SafeAnchor.js
  7466. var SafeAnchor_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/SafeAnchor.js";
  7467. var SafeAnchor_propTypes = {
  7468. href: prop_types_default.a.string,
  7469. onClick: prop_types_default.a.func,
  7470. onKeyDown: prop_types_default.a.func,
  7471. disabled: prop_types_default.a.bool,
  7472. role: prop_types_default.a.string,
  7473. tabIndex: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]),
  7474. /**
  7475. * this is sort of silly but needed for Button
  7476. */
  7477. as: prop_types_default.a.elementType
  7478. };
  7479. function isTrivialHref(href) {
  7480. return !href || href.trim() === '#';
  7481. }
  7482. /**
  7483. * There are situations due to browser quirks or Bootstrap CSS where
  7484. * an anchor tag is needed, when semantically a button tag is the
  7485. * better choice. SafeAnchor ensures that when an anchor is used like a
  7486. * button its accessible. It also emulates input `disabled` behavior for
  7487. * links, which is usually desirable for Buttons, NavItems, DropdownItems, etc.
  7488. */
  7489. var SafeAnchor = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7490. var _ref$as = _ref.as,
  7491. Component = _ref$as === void 0 ? 'a' : _ref$as,
  7492. disabled = _ref.disabled,
  7493. onKeyDown = _ref.onKeyDown,
  7494. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["as", "disabled", "onKeyDown"]);
  7495. var handleClick = function handleClick(event) {
  7496. var href = props.href,
  7497. onClick = props.onClick;
  7498. if (disabled || isTrivialHref(href)) {
  7499. event.preventDefault();
  7500. }
  7501. if (disabled) {
  7502. event.stopPropagation();
  7503. return;
  7504. }
  7505. if (onClick) {
  7506. onClick(event);
  7507. }
  7508. };
  7509. var handleKeyDown = function handleKeyDown(event) {
  7510. if (event.key === ' ') {
  7511. event.preventDefault();
  7512. handleClick(event);
  7513. }
  7514. };
  7515. if (isTrivialHref(props.href)) {
  7516. props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node
  7517. // otherwise, the cursor incorrectly styled (except with role='button')
  7518. props.href = props.href || '#';
  7519. }
  7520. if (disabled) {
  7521. props.tabIndex = -1;
  7522. props['aria-disabled'] = true;
  7523. }
  7524. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  7525. ref: ref
  7526. }, props, {
  7527. onClick: handleClick,
  7528. onKeyDown: utils_createChainedFunction(handleKeyDown, onKeyDown),
  7529. __source: {
  7530. fileName: SafeAnchor_jsxFileName,
  7531. lineNumber: 79
  7532. },
  7533. __self: this
  7534. }));
  7535. });
  7536. SafeAnchor.propTypes = SafeAnchor_propTypes;
  7537. SafeAnchor.displayName = 'SafeAnchor';
  7538. /* harmony default export */ var src_SafeAnchor = (SafeAnchor);
  7539. // CONCATENATED MODULE: ./src/Alert.js
  7540. var Alert_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Alert.js";
  7541. var Alert_propTypes = {
  7542. /**
  7543. * @default 'alert'
  7544. */
  7545. bsPrefix: prop_types_default.a.string,
  7546. /**
  7547. * The Alert visual variant
  7548. *
  7549. * @type {'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light'}
  7550. */
  7551. variant: prop_types_default.a.string,
  7552. /**
  7553. * Renders a properly aligned dismiss button, as well as
  7554. * adding extra horizontal padding to the Alert.
  7555. */
  7556. dismissible: prop_types_default.a.bool,
  7557. /**
  7558. * Controls the visual state of the Alert.
  7559. *
  7560. * @controllable onClose
  7561. */
  7562. show: prop_types_default.a.bool,
  7563. /**
  7564. * Callback fired when alert is closed.
  7565. *
  7566. * @controllable show
  7567. */
  7568. onClose: prop_types_default.a.func,
  7569. /**
  7570. * Sets the text for alert close button.
  7571. */
  7572. closeLabel: prop_types_default.a.string,
  7573. /** A `react-transition-group` Transition component used to animate the Alert on dismissal. */
  7574. transition: lib["elementType"]
  7575. };
  7576. var Alert_defaultProps = {
  7577. show: true,
  7578. transition: src_Fade,
  7579. closeLabel: 'Close alert'
  7580. };
  7581. var controllables = {
  7582. show: 'onClose'
  7583. };
  7584. var Alert = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) {
  7585. var _useUncontrolled = useUncontrolled(uncontrolledProps, controllables),
  7586. bsPrefix = _useUncontrolled.bsPrefix,
  7587. show = _useUncontrolled.show,
  7588. closeLabel = _useUncontrolled.closeLabel,
  7589. className = _useUncontrolled.className,
  7590. children = _useUncontrolled.children,
  7591. variant = _useUncontrolled.variant,
  7592. onClose = _useUncontrolled.onClose,
  7593. dismissible = _useUncontrolled.dismissible,
  7594. Transition = _useUncontrolled.transition,
  7595. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_useUncontrolled, ["bsPrefix", "show", "closeLabel", "className", "children", "variant", "onClose", "dismissible", "transition"]);
  7596. var prefix = useBootstrapPrefix(bsPrefix, 'alert');
  7597. var handleClose = useEventCallback(function (e) {
  7598. onClose(false, e);
  7599. });
  7600. var alert = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  7601. role: "alert"
  7602. }, Transition ? props : undefined, {
  7603. className: classnames_default()(className, prefix, variant && prefix + "-" + variant, dismissible && prefix + "-dismissible"),
  7604. __source: {
  7605. fileName: Alert_jsxFileName,
  7606. lineNumber: 87
  7607. },
  7608. __self: this
  7609. }), dismissible && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_CloseButton, {
  7610. onClick: handleClose,
  7611. label: closeLabel,
  7612. __source: {
  7613. fileName: Alert_jsxFileName,
  7614. lineNumber: 97
  7615. },
  7616. __self: this
  7617. }), children);
  7618. if (!Transition) return show ? alert : null;
  7619. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, Object(esm_extends["a" /* default */])({
  7620. unmountOnExit: true,
  7621. ref: ref
  7622. }, props, {
  7623. in: show,
  7624. __source: {
  7625. fileName: Alert_jsxFileName,
  7626. lineNumber: 105
  7627. },
  7628. __self: this
  7629. }), alert);
  7630. });
  7631. var DivStyledAsH4 = divWithClassName('h4');
  7632. DivStyledAsH4.displayName = 'DivStyledAsH4';
  7633. Alert.displayName = 'Alert';
  7634. Alert.propTypes = Alert_propTypes;
  7635. Alert.defaultProps = Alert_defaultProps;
  7636. Alert.Link = createWithBsPrefix('alert-link', {
  7637. Component: src_SafeAnchor
  7638. });
  7639. Alert.Heading = createWithBsPrefix('alert-heading', {
  7640. Component: DivStyledAsH4
  7641. });
  7642. /* harmony default export */ var src_Alert = (Alert);
  7643. // CONCATENATED MODULE: ./src/Badge.js
  7644. var Badge_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Badge.js";
  7645. var Badge_propTypes = {
  7646. /** @default 'badge' */
  7647. bsPrefix: prop_types_default.a.string,
  7648. /**
  7649. * The visual style of the badge
  7650. *
  7651. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'light'|'dark')}
  7652. */
  7653. variant: prop_types_default.a.string,
  7654. /**
  7655. * Add the `pill` modifier to make badges more rounded with
  7656. * some additional horizontal padding
  7657. */
  7658. pill: prop_types_default.a.bool.isRequired,
  7659. /** @default span */
  7660. as: prop_types_default.a.elementType
  7661. };
  7662. var Badge_defaultProps = {
  7663. pill: false
  7664. };
  7665. var Badge = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7666. var bsPrefix = _ref.bsPrefix,
  7667. variant = _ref.variant,
  7668. pill = _ref.pill,
  7669. className = _ref.className,
  7670. _ref$as = _ref.as,
  7671. Component = _ref$as === void 0 ? 'span' : _ref$as,
  7672. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "variant", "pill", "className", "as"]);
  7673. var prefix = useBootstrapPrefix(bsPrefix, 'badge');
  7674. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  7675. ref: ref
  7676. }, props, {
  7677. className: classnames_default()(className, prefix, pill && prefix + "-pill", variant && prefix + "-" + variant),
  7678. __source: {
  7679. fileName: Badge_jsxFileName,
  7680. lineNumber: 39
  7681. },
  7682. __self: this
  7683. }));
  7684. });
  7685. Badge.displayName = 'Badge';
  7686. Badge.propTypes = Badge_propTypes;
  7687. Badge.defaultProps = Badge_defaultProps;
  7688. /* harmony default export */ var src_Badge = (Badge);
  7689. // CONCATENATED MODULE: ./src/BreadcrumbItem.js
  7690. var BreadcrumbItem_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/BreadcrumbItem.js";
  7691. var BreadcrumbItem_propTypes = {
  7692. /**
  7693. * @default 'breadcrumb-item'
  7694. */
  7695. bsPrefix: prop_types_default.a.string,
  7696. /**
  7697. * Adds a visual "active" state to a Breadcrumb
  7698. * Item and disables the link.
  7699. */
  7700. active: prop_types_default.a.bool,
  7701. /**
  7702. * `href` attribute for the inner `a` element
  7703. */
  7704. href: prop_types_default.a.string,
  7705. /**
  7706. * `title` attribute for the inner `a` element
  7707. */
  7708. title: prop_types_default.a.node,
  7709. /**
  7710. * `target` attribute for the inner `a` element
  7711. */
  7712. target: prop_types_default.a.string,
  7713. as: prop_types_default.a.elementType
  7714. };
  7715. var BreadcrumbItem_defaultProps = {
  7716. active: false
  7717. };
  7718. var BreadcrumbItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  7719. function (_ref, ref) {
  7720. var bsPrefix = _ref.bsPrefix,
  7721. active = _ref.active,
  7722. className = _ref.className,
  7723. _ref$as = _ref.as,
  7724. Component = _ref$as === void 0 ? 'li' : _ref$as,
  7725. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "active", "className", "as"]);
  7726. var prefix = useBootstrapPrefix(bsPrefix, 'breadcrumb-item');
  7727. var href = props.href,
  7728. title = props.title,
  7729. target = props.target,
  7730. elementProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["href", "title", "target"]);
  7731. var linkProps = {
  7732. href: href,
  7733. title: title,
  7734. target: target
  7735. };
  7736. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, {
  7737. ref: ref,
  7738. className: classnames_default()(prefix, className, {
  7739. active: active
  7740. }),
  7741. "aria-current": active ? 'page' : undefined,
  7742. __source: {
  7743. fileName: BreadcrumbItem_jsxFileName,
  7744. lineNumber: 47
  7745. },
  7746. __self: this
  7747. }, active ? external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", Object(esm_extends["a" /* default */])({}, elementProps, {
  7748. className: classnames_default()({
  7749. active: active
  7750. }),
  7751. __source: {
  7752. fileName: BreadcrumbItem_jsxFileName,
  7753. lineNumber: 53
  7754. },
  7755. __self: this
  7756. })) : external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, Object(esm_extends["a" /* default */])({}, elementProps, linkProps, {
  7757. __source: {
  7758. fileName: BreadcrumbItem_jsxFileName,
  7759. lineNumber: 55
  7760. },
  7761. __self: this
  7762. })));
  7763. });
  7764. BreadcrumbItem.displayName = 'BreadcrumbItem';
  7765. BreadcrumbItem.propTypes = BreadcrumbItem_propTypes;
  7766. BreadcrumbItem.defaultProps = BreadcrumbItem_defaultProps;
  7767. /* harmony default export */ var src_BreadcrumbItem = (BreadcrumbItem);
  7768. // CONCATENATED MODULE: ./src/Breadcrumb.js
  7769. var Breadcrumb_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Breadcrumb.js";
  7770. var Breadcrumb_propTypes = {
  7771. /**
  7772. * @default 'breadcrumb'
  7773. */
  7774. bsPrefix: prop_types_default.a.string,
  7775. /**
  7776. * ARIA label for the nav element
  7777. * https://www.w3.org/TR/wai-aria-practices/#breadcrumb
  7778. */
  7779. label: prop_types_default.a.string,
  7780. /**
  7781. * Additional props passed as-is to the underlying `<ul>` element
  7782. */
  7783. listProps: prop_types_default.a.object,
  7784. as: prop_types_default.a.elementType
  7785. };
  7786. var Breadcrumb_defaultProps = {
  7787. label: 'breadcrumb',
  7788. listProps: {}
  7789. };
  7790. var Breadcrumb = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7791. var bsPrefix = _ref.bsPrefix,
  7792. className = _ref.className,
  7793. listProps = _ref.listProps,
  7794. children = _ref.children,
  7795. label = _ref.label,
  7796. _ref$as = _ref.as,
  7797. Component = _ref$as === void 0 ? 'nav' : _ref$as,
  7798. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "listProps", "children", "label", "as"]);
  7799. var prefix = useBootstrapPrefix(bsPrefix, 'breadcrumb');
  7800. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  7801. "aria-label": label,
  7802. className: className,
  7803. ref: ref
  7804. }, props, {
  7805. __source: {
  7806. fileName: Breadcrumb_jsxFileName,
  7807. lineNumber: 48
  7808. },
  7809. __self: this
  7810. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ol", Object(esm_extends["a" /* default */])({}, listProps, {
  7811. className: classnames_default()(prefix, listProps.className),
  7812. __source: {
  7813. fileName: Breadcrumb_jsxFileName,
  7814. lineNumber: 49
  7815. },
  7816. __self: this
  7817. }), children));
  7818. });
  7819. Breadcrumb.displayName = 'Breadcrumb';
  7820. Breadcrumb.propTypes = Breadcrumb_propTypes;
  7821. Breadcrumb.defaultProps = Breadcrumb_defaultProps;
  7822. Breadcrumb.Item = src_BreadcrumbItem;
  7823. /* harmony default export */ var src_Breadcrumb = (Breadcrumb);
  7824. // CONCATENATED MODULE: ./src/Button.js
  7825. var Button_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Button.js";
  7826. var Button_propTypes = {
  7827. /**
  7828. * @default 'btn'
  7829. */
  7830. bsPrefix: prop_types_default.a.string,
  7831. /**
  7832. * One or more button variant combinations
  7833. *
  7834. * buttons may be one of a variety of visual variants such as:
  7835. *
  7836. * `'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', 'link'`
  7837. *
  7838. * as well as "outline" versions (prefixed by 'outline-*')
  7839. *
  7840. * `'outline-primary', 'outline-secondary', 'outline-success', 'outline-danger', 'outline-warning', 'outline-info', 'outline-dark', 'outline-light'`
  7841. */
  7842. variant: prop_types_default.a.string,
  7843. /**
  7844. * Specifies a large or small button.
  7845. *
  7846. * @type ('sm'|'lg')
  7847. */
  7848. size: prop_types_default.a.string,
  7849. /** Spans the full width of the Button parent */
  7850. block: prop_types_default.a.bool,
  7851. /** Manually set the visual state of the button to `:active` */
  7852. active: prop_types_default.a.bool,
  7853. /**
  7854. * Disables the Button, preventing mouse events,
  7855. * even if the underlying component is an `<a>` element
  7856. */
  7857. disabled: prop_types_default.a.bool,
  7858. /** Providing a `href` will render an `<a>` element, _styled_ as a button. */
  7859. href: prop_types_default.a.string,
  7860. /**
  7861. * Defines HTML button type attribute.
  7862. *
  7863. * @default 'button'
  7864. */
  7865. type: prop_types_default.a.oneOf(['button', 'reset', 'submit', null]),
  7866. as: prop_types_default.a.elementType
  7867. };
  7868. var Button_defaultProps = {
  7869. variant: 'primary',
  7870. active: false,
  7871. disabled: false,
  7872. type: 'button'
  7873. };
  7874. var Button = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7875. var bsPrefix = _ref.bsPrefix,
  7876. variant = _ref.variant,
  7877. size = _ref.size,
  7878. active = _ref.active,
  7879. className = _ref.className,
  7880. block = _ref.block,
  7881. type = _ref.type,
  7882. as = _ref.as,
  7883. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "variant", "size", "active", "className", "block", "type", "as"]);
  7884. var prefix = useBootstrapPrefix(bsPrefix, 'btn');
  7885. var classes = classnames_default()(className, prefix, active && 'active', prefix + "-" + variant, block && prefix + "-block", size && prefix + "-" + size);
  7886. if (props.href) {
  7887. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, Object(esm_extends["a" /* default */])({}, props, {
  7888. as: as,
  7889. ref: ref,
  7890. className: classnames_default()(classes, props.disabled && 'disabled'),
  7891. __source: {
  7892. fileName: Button_jsxFileName,
  7893. lineNumber: 84
  7894. },
  7895. __self: this
  7896. }));
  7897. }
  7898. if (ref) {
  7899. props.ref = ref;
  7900. }
  7901. if (!as) {
  7902. props.type = type;
  7903. }
  7904. var Component = as || 'button';
  7905. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  7906. className: classes,
  7907. __source: {
  7908. fileName: Button_jsxFileName,
  7909. lineNumber: 102
  7910. },
  7911. __self: this
  7912. }));
  7913. });
  7914. Button.displayName = 'Button';
  7915. Button.propTypes = Button_propTypes;
  7916. Button.defaultProps = Button_defaultProps;
  7917. /* harmony default export */ var src_Button = (Button);
  7918. // CONCATENATED MODULE: ./src/ButtonGroup.js
  7919. var ButtonGroup_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ButtonGroup.js";
  7920. var ButtonGroup_propTypes = {
  7921. /**
  7922. * @default 'btn-group'
  7923. */
  7924. bsPrefix: prop_types_default.a.string,
  7925. /**
  7926. * Sets the size for all Buttons in the group.
  7927. *
  7928. * @type ('sm'|'lg')
  7929. */
  7930. size: prop_types_default.a.string,
  7931. /** Make the set of Buttons appear vertically stacked. */
  7932. vertical: prop_types_default.a.bool,
  7933. /**
  7934. * Display as a button toggle group.
  7935. *
  7936. * (Generally it's better to use `ToggleButtonGroup` directly)
  7937. */
  7938. toggle: prop_types_default.a.bool,
  7939. /**
  7940. * An ARIA role describing the button group. Usually the default
  7941. * "group" role is fine. An `aria-label` or `aria-labelledby`
  7942. * prop is also recommended.
  7943. */
  7944. role: prop_types_default.a.string,
  7945. as: prop_types_default.a.elementType
  7946. };
  7947. var ButtonGroup_defaultProps = {
  7948. vertical: false,
  7949. toggle: false,
  7950. role: 'group'
  7951. };
  7952. var ButtonGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  7953. var bsPrefix = props.bsPrefix,
  7954. size = props.size,
  7955. toggle = props.toggle,
  7956. vertical = props.vertical,
  7957. className = props.className,
  7958. _props$as = props.as,
  7959. Component = _props$as === void 0 ? 'div' : _props$as,
  7960. rest = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["bsPrefix", "size", "toggle", "vertical", "className", "as"]);
  7961. var prefix = useBootstrapPrefix(bsPrefix, 'btn-group');
  7962. var baseClass = prefix;
  7963. if (vertical) baseClass = prefix + "-vertical";
  7964. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, rest, {
  7965. ref: ref,
  7966. className: classnames_default()(className, baseClass, size && prefix + "-" + size, toggle && prefix + "-toggle"),
  7967. __source: {
  7968. fileName: ButtonGroup_jsxFileName,
  7969. lineNumber: 64
  7970. },
  7971. __self: this
  7972. }));
  7973. });
  7974. ButtonGroup.displayName = 'ButtonGroup';
  7975. ButtonGroup.propTypes = ButtonGroup_propTypes;
  7976. ButtonGroup.defaultProps = ButtonGroup_defaultProps;
  7977. /* harmony default export */ var src_ButtonGroup = (ButtonGroup);
  7978. // CONCATENATED MODULE: ./src/ButtonToolbar.js
  7979. var ButtonToolbar_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ButtonToolbar.js";
  7980. var ButtonToolbar_propTypes = {
  7981. /**
  7982. * @default 'btn-toolbar'
  7983. */
  7984. bsPrefix: prop_types_default.a.string,
  7985. /**
  7986. * The ARIA role describing the button toolbar. Generally the default
  7987. * "toolbar" role is correct. An `aria-label` or `aria-labelledby`
  7988. * prop is also recommended.
  7989. */
  7990. role: prop_types_default.a.string
  7991. };
  7992. var ButtonToolbar_defaultProps = {
  7993. role: 'toolbar'
  7994. };
  7995. var ButtonToolbar = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7996. var bsPrefix = _ref.bsPrefix,
  7997. className = _ref.className,
  7998. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className"]);
  7999. var prefix = useBootstrapPrefix(bsPrefix, 'btn-toolbar');
  8000. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({}, props, {
  8001. ref: ref,
  8002. className: classnames_default()(className, prefix),
  8003. __source: {
  8004. fileName: ButtonToolbar_jsxFileName,
  8005. lineNumber: 30
  8006. },
  8007. __self: this
  8008. }));
  8009. });
  8010. ButtonToolbar.displayName = 'ButtonToolbar';
  8011. ButtonToolbar.propTypes = ButtonToolbar_propTypes;
  8012. ButtonToolbar.defaultProps = ButtonToolbar_defaultProps;
  8013. /* harmony default export */ var src_ButtonToolbar = (ButtonToolbar);
  8014. // CONCATENATED MODULE: ./src/CardContext.js
  8015. /* harmony default export */ var CardContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  8016. // CONCATENATED MODULE: ./src/CardImg.js
  8017. var CardImg_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/CardImg.js";
  8018. var CardImg_propTypes = {
  8019. /**
  8020. * @default 'card-img'
  8021. */
  8022. bsPrefix: prop_types_default.a.string,
  8023. /**
  8024. * Defines image position inside
  8025. * the card.
  8026. *
  8027. * @type {('top'|'bottom')}
  8028. */
  8029. variant: prop_types_default.a.oneOf(['top', 'bottom', null]),
  8030. as: prop_types_default.a.elementType
  8031. };
  8032. var CardImg_defaultProps = {
  8033. variant: null
  8034. };
  8035. var CardImg = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  8036. function (_ref, ref) {
  8037. var bsPrefix = _ref.bsPrefix,
  8038. className = _ref.className,
  8039. variant = _ref.variant,
  8040. _ref$as = _ref.as,
  8041. Component = _ref$as === void 0 ? 'img' : _ref$as,
  8042. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "variant", "as"]);
  8043. var prefix = useBootstrapPrefix(bsPrefix, 'card-img');
  8044. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  8045. ref: ref,
  8046. className: classnames_default()(variant ? prefix + "-" + variant : prefix, className)
  8047. }, props, {
  8048. __source: {
  8049. fileName: CardImg_jsxFileName,
  8050. lineNumber: 34
  8051. },
  8052. __self: this
  8053. }));
  8054. });
  8055. CardImg.displayName = 'CardImg';
  8056. CardImg.propTypes = CardImg_propTypes;
  8057. CardImg.defaultProps = CardImg_defaultProps;
  8058. /* harmony default export */ var src_CardImg = (CardImg);
  8059. // CONCATENATED MODULE: ./src/Card.js
  8060. var Card_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Card.js";
  8061. var DivStyledAsH5 = divWithClassName('h5');
  8062. var DivStyledAsH6 = divWithClassName('h6');
  8063. var CardBody = createWithBsPrefix('card-body');
  8064. var Card_propTypes = {
  8065. /**
  8066. * @default 'card'
  8067. */
  8068. bsPrefix: prop_types_default.a.string,
  8069. /**
  8070. * Sets card background
  8071. *
  8072. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')}
  8073. */
  8074. bg: prop_types_default.a.string,
  8075. /**
  8076. * Sets card text color
  8077. *
  8078. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light'|'white'|'muted')}
  8079. */
  8080. text: prop_types_default.a.string,
  8081. /**
  8082. * Sets card border color
  8083. *
  8084. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')}
  8085. */
  8086. border: prop_types_default.a.string,
  8087. /**
  8088. * When this prop is set, it creates a Card with a Card.Body inside
  8089. * passing the children directly to it
  8090. */
  8091. body: prop_types_default.a.bool,
  8092. as: prop_types_default.a.elementType
  8093. };
  8094. var Card_defaultProps = {
  8095. body: false
  8096. };
  8097. var Card = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  8098. var bsPrefix = _ref.bsPrefix,
  8099. className = _ref.className,
  8100. bg = _ref.bg,
  8101. text = _ref.text,
  8102. border = _ref.border,
  8103. body = _ref.body,
  8104. children = _ref.children,
  8105. _ref$as = _ref.as,
  8106. Component = _ref$as === void 0 ? 'div' : _ref$as,
  8107. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "bg", "text", "border", "body", "children", "as"]);
  8108. var prefix = useBootstrapPrefix(bsPrefix, 'card');
  8109. var cardContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  8110. return {
  8111. cardHeaderBsPrefix: prefix + "-header"
  8112. };
  8113. }, [prefix]);
  8114. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(CardContext.Provider, {
  8115. value: cardContext,
  8116. __source: {
  8117. fileName: Card_jsxFileName,
  8118. lineNumber: 81
  8119. },
  8120. __self: this
  8121. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  8122. ref: ref
  8123. }, props, {
  8124. className: classnames_default()(className, prefix, bg && "bg-" + bg, text && "text-" + text, border && "border-" + border),
  8125. __source: {
  8126. fileName: Card_jsxFileName,
  8127. lineNumber: 82
  8128. },
  8129. __self: this
  8130. }), body ? external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(CardBody, {
  8131. __source: {
  8132. fileName: Card_jsxFileName,
  8133. lineNumber: 93
  8134. },
  8135. __self: this
  8136. }, children) : children));
  8137. });
  8138. Card.displayName = 'Card';
  8139. Card.propTypes = Card_propTypes;
  8140. Card.defaultProps = Card_defaultProps;
  8141. Card.Img = src_CardImg;
  8142. Card.Title = createWithBsPrefix('card-title', {
  8143. Component: DivStyledAsH5
  8144. });
  8145. Card.Subtitle = createWithBsPrefix('card-subtitle', {
  8146. Component: DivStyledAsH6
  8147. });
  8148. Card.Body = CardBody;
  8149. Card.Link = createWithBsPrefix('card-link', {
  8150. Component: 'a'
  8151. });
  8152. Card.Text = createWithBsPrefix('card-text', {
  8153. Component: 'p'
  8154. });
  8155. Card.Header = createWithBsPrefix('card-header');
  8156. Card.Footer = createWithBsPrefix('card-footer');
  8157. Card.ImgOverlay = createWithBsPrefix('card-img-overlay');
  8158. /* harmony default export */ var src_Card = (Card);
  8159. // CONCATENATED MODULE: ./src/CardColumns.js
  8160. /* harmony default export */ var CardColumns = (createWithBsPrefix('card-columns'));
  8161. // CONCATENATED MODULE: ./src/CardDeck.js
  8162. /* harmony default export */ var CardDeck = (createWithBsPrefix('card-deck'));
  8163. // CONCATENATED MODULE: ./src/CardGroup.js
  8164. /* harmony default export */ var CardGroup = (createWithBsPrefix('card-group'));
  8165. // EXTERNAL MODULE: ./node_modules/dom-helpers/transition/index.js
  8166. var dom_helpers_transition = __webpack_require__(49);
  8167. var transition_default = /*#__PURE__*/__webpack_require__.n(dom_helpers_transition);
  8168. // CONCATENATED MODULE: ./src/CarouselCaption.js
  8169. /* harmony default export */ var CarouselCaption = (createWithBsPrefix('carousel-caption', {
  8170. Component: 'div'
  8171. }));
  8172. // CONCATENATED MODULE: ./src/CarouselItem.js
  8173. /* harmony default export */ var CarouselItem = (createWithBsPrefix('carousel-item'));
  8174. // CONCATENATED MODULE: ./src/utils/ElementChildren.js
  8175. /**
  8176. * Iterates through children that are typically specified as `props.children`,
  8177. * but only maps over children that are "valid elements".
  8178. *
  8179. * The mapFunction provided index will be normalised to the components mapped,
  8180. * so an invalid component would not increase the index.
  8181. *
  8182. */
  8183. function map(children, func) {
  8184. var index = 0;
  8185. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.map(children, function (child) {
  8186. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child) ? func(child, index++) : child;
  8187. });
  8188. }
  8189. /**
  8190. * Iterates through children that are "valid elements".
  8191. *
  8192. * The provided forEachFunc(child, index) will be called for each
  8193. * leaf child with the index reflecting the position relative to "valid components".
  8194. */
  8195. function forEach(children, func) {
  8196. var index = 0;
  8197. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.forEach(children, function (child) {
  8198. if (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child)) func(child, index++);
  8199. });
  8200. }
  8201. // CONCATENATED MODULE: ./src/Carousel.js
  8202. var Carousel_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Carousel.js";
  8203. var Carousel_countChildren = function countChildren(c) {
  8204. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.toArray(c).filter(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement).length;
  8205. };
  8206. var SWIPE_THRESHOLD = 40; // TODO: `slide` should be `animate`.
  8207. var Carousel_propTypes = {
  8208. /**
  8209. * @default 'carousel'
  8210. */
  8211. bsPrefix: prop_types_default.a.string,
  8212. as: prop_types_default.a.elementType,
  8213. /**
  8214. * Enables animation on the Carousel as it transitions between slides.
  8215. */
  8216. slide: prop_types_default.a.bool,
  8217. /** Cross fade slides instead of the default slide animation */
  8218. fade: prop_types_default.a.bool,
  8219. /** Slides will loop to the start when the last one transitions */
  8220. wrap: prop_types_default.a.bool,
  8221. /**
  8222. * Show a set of slide position indicators
  8223. */
  8224. indicators: prop_types_default.a.bool,
  8225. /**
  8226. * The amount of time to delay between automatically cycling an item.
  8227. * If `null`, carousel will not automatically cycle.
  8228. */
  8229. interval: prop_types_default.a.number,
  8230. /**
  8231. * Show the Carousel previous and next arrows for changing the current slide
  8232. */
  8233. controls: prop_types_default.a.bool,
  8234. /**
  8235. * Temporarily pause the slide interval when the mouse hovers over a slide.
  8236. */
  8237. pauseOnHover: prop_types_default.a.bool,
  8238. /** Enable keyboard navigation via the Arrow keys for changing slides */
  8239. keyboard: prop_types_default.a.bool,
  8240. /**
  8241. * Callback fired when the active item changes.
  8242. *
  8243. * ```js
  8244. * (eventKey: any, direction: 'prev' | 'next', ?event: Object) => any
  8245. * ```
  8246. *
  8247. * @controllable activeIndex
  8248. */
  8249. onSelect: prop_types_default.a.func,
  8250. /** A callback fired after a slide transitions in */
  8251. onSlideEnd: prop_types_default.a.func,
  8252. /**
  8253. * Controls the current visible slide
  8254. *
  8255. * @controllable onSelect
  8256. */
  8257. activeIndex: prop_types_default.a.number,
  8258. /** Override the default button icon for the "previous" control */
  8259. prevIcon: prop_types_default.a.node,
  8260. /**
  8261. * Label shown to screen readers only, can be used to show the previous element
  8262. * in the carousel.
  8263. * Set to null to deactivate.
  8264. */
  8265. prevLabel: prop_types_default.a.string,
  8266. /** Override the default button icon for the "next" control */
  8267. nextIcon: prop_types_default.a.node,
  8268. /**
  8269. * Label shown to screen readers only, can be used to show the next element
  8270. * in the carousel.
  8271. * Set to null to deactivate.
  8272. */
  8273. nextLabel: prop_types_default.a.string,
  8274. /**
  8275. * Whether the carousel should support left/right swipe interactions on touchscreen devices.
  8276. */
  8277. touch: prop_types_default.a.bool
  8278. };
  8279. var Carousel_defaultProps = {
  8280. slide: true,
  8281. fade: false,
  8282. interval: 5000,
  8283. keyboard: true,
  8284. pauseOnHover: true,
  8285. wrap: true,
  8286. indicators: true,
  8287. controls: true,
  8288. activeIndex: 0,
  8289. prevIcon: external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  8290. "aria-hidden": "true",
  8291. className: "carousel-control-prev-icon",
  8292. __source: {
  8293. fileName: Carousel_jsxFileName,
  8294. lineNumber: 122
  8295. },
  8296. __self: undefined
  8297. }),
  8298. prevLabel: 'Previous',
  8299. nextIcon: external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  8300. "aria-hidden": "true",
  8301. className: "carousel-control-next-icon",
  8302. __source: {
  8303. fileName: Carousel_jsxFileName,
  8304. lineNumber: 125
  8305. },
  8306. __self: undefined
  8307. }),
  8308. nextLabel: 'Next',
  8309. touch: true
  8310. };
  8311. var Carousel_Carousel =
  8312. /*#__PURE__*/
  8313. function (_React$Component) {
  8314. Object(inheritsLoose["a" /* default */])(Carousel, _React$Component);
  8315. function Carousel() {
  8316. var _this;
  8317. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  8318. args[_key] = arguments[_key];
  8319. }
  8320. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  8321. _this.state = {
  8322. prevClasses: '',
  8323. currentClasses: 'active',
  8324. touchStartX: 0
  8325. };
  8326. _this.isUnmounted = false;
  8327. _this.carousel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createRef();
  8328. _this.handleTouchStart = function (e) {
  8329. _this.setState({
  8330. touchStartX: e.changedTouches[0].screenX
  8331. });
  8332. };
  8333. _this.handleTouchEnd = function (e) {
  8334. // If the swipe is under the threshold, don't do anything.
  8335. if (Math.abs(e.changedTouches[0].screenX - _this.state.touchStartX) < SWIPE_THRESHOLD) return;
  8336. if (e.changedTouches[0].screenX < _this.state.touchStartX) {
  8337. // Swiping left to navigate to next item.
  8338. _this.handleNext(e);
  8339. } else {
  8340. // Swiping right to navigate to previous item.
  8341. _this.handlePrev(e);
  8342. }
  8343. };
  8344. _this.handleSlideEnd = function () {
  8345. var pendingIndex = _this._pendingIndex;
  8346. _this._isSliding = false;
  8347. _this._pendingIndex = null;
  8348. if (pendingIndex != null) _this.to(pendingIndex);else _this.cycle();
  8349. };
  8350. _this.handleMouseOut = function () {
  8351. _this.cycle();
  8352. };
  8353. _this.handleMouseOver = function () {
  8354. if (_this.props.pauseOnHover) _this.pause();
  8355. };
  8356. _this.handleKeyDown = function (event) {
  8357. if (/input|textarea/i.test(event.target.tagName)) return;
  8358. switch (event.key) {
  8359. case 'ArrowLeft':
  8360. event.preventDefault();
  8361. _this.handlePrev(event);
  8362. break;
  8363. case 'ArrowRight':
  8364. event.preventDefault();
  8365. _this.handleNext(event);
  8366. break;
  8367. default:
  8368. break;
  8369. }
  8370. };
  8371. _this.handleNextWhenVisible = function () {
  8372. if (!_this.isUnmounted && !document.hidden && style_default()(_this.carousel.current, 'visibility') !== 'hidden') {
  8373. _this.handleNext();
  8374. }
  8375. };
  8376. _this.handleNext = function (e) {
  8377. if (_this._isSliding) return;
  8378. var _this$props = _this.props,
  8379. wrap = _this$props.wrap,
  8380. activeIndex = _this$props.activeIndex;
  8381. var index = activeIndex + 1;
  8382. var count = Carousel_countChildren(_this.props.children);
  8383. if (index > count - 1) {
  8384. if (!wrap) return;
  8385. index = 0;
  8386. }
  8387. _this.select(index, e, 'next');
  8388. };
  8389. _this.handlePrev = function (e) {
  8390. if (_this._isSliding) return;
  8391. var _this$props2 = _this.props,
  8392. wrap = _this$props2.wrap,
  8393. activeIndex = _this$props2.activeIndex;
  8394. var index = activeIndex - 1;
  8395. if (index < 0) {
  8396. if (!wrap) return;
  8397. index = Carousel_countChildren(_this.props.children) - 1;
  8398. }
  8399. _this.select(index, e, 'prev');
  8400. };
  8401. return _this;
  8402. }
  8403. var _proto = Carousel.prototype;
  8404. _proto.componentDidMount = function componentDidMount() {
  8405. this.cycle();
  8406. };
  8407. Carousel.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {
  8408. var previousActiveIndex = _ref.activeIndex;
  8409. if (nextProps.activeIndex !== previousActiveIndex) {
  8410. var lastPossibleIndex = Carousel_countChildren(nextProps.children) - 1;
  8411. var nextIndex = Math.max(0, Math.min(nextProps.activeIndex, lastPossibleIndex));
  8412. var direction;
  8413. if (nextIndex === 0 && previousActiveIndex >= lastPossibleIndex || previousActiveIndex <= nextIndex) {
  8414. direction = 'next';
  8415. } else {
  8416. direction = 'prev';
  8417. }
  8418. return {
  8419. direction: direction,
  8420. previousActiveIndex: previousActiveIndex,
  8421. activeIndex: nextIndex
  8422. };
  8423. }
  8424. return null;
  8425. };
  8426. _proto.componentDidUpdate = function componentDidUpdate(_, prevState) {
  8427. var _this2 = this;
  8428. var _this$props3 = this.props,
  8429. bsPrefix = _this$props3.bsPrefix,
  8430. slide = _this$props3.slide,
  8431. onSlideEnd = _this$props3.onSlideEnd;
  8432. if (!slide || this.state.activeIndex === prevState.activeIndex || this._isSliding) return;
  8433. var _this$state = this.state,
  8434. activeIndex = _this$state.activeIndex,
  8435. direction = _this$state.direction;
  8436. var orderClassName, directionalClassName;
  8437. if (direction === 'next') {
  8438. orderClassName = bsPrefix + "-item-next";
  8439. directionalClassName = bsPrefix + "-item-left";
  8440. } else if (direction === 'prev') {
  8441. orderClassName = bsPrefix + "-item-prev";
  8442. directionalClassName = bsPrefix + "-item-right";
  8443. }
  8444. this._isSliding = true;
  8445. this.pause(); // eslint-disable-next-line react/no-did-update-set-state
  8446. this.safeSetState({
  8447. prevClasses: 'active',
  8448. currentClasses: orderClassName
  8449. }, function () {
  8450. var items = _this2.carousel.current.children;
  8451. var nextElement = items[activeIndex];
  8452. triggerBrowserReflow(nextElement);
  8453. _this2.safeSetState({
  8454. prevClasses: classnames_default()('active', directionalClassName),
  8455. currentClasses: classnames_default()(orderClassName, directionalClassName)
  8456. }, function () {
  8457. return transition_default.a.end(nextElement, function () {
  8458. _this2.safeSetState({
  8459. prevClasses: '',
  8460. currentClasses: 'active'
  8461. }, _this2.handleSlideEnd);
  8462. if (onSlideEnd) {
  8463. onSlideEnd();
  8464. }
  8465. });
  8466. });
  8467. });
  8468. };
  8469. _proto.componentWillUnmount = function componentWillUnmount() {
  8470. clearTimeout(this.timeout);
  8471. this.isUnmounted = true;
  8472. };
  8473. _proto.safeSetState = function safeSetState(state, cb) {
  8474. var _this3 = this;
  8475. if (this.isUnmounted) return;
  8476. this.setState(state, function () {
  8477. return !_this3.isUnmounted && cb();
  8478. });
  8479. } // This might be a public API.
  8480. ;
  8481. _proto.pause = function pause() {
  8482. this._isPaused = true;
  8483. clearInterval(this._interval);
  8484. this._interval = null;
  8485. };
  8486. _proto.cycle = function cycle() {
  8487. this._isPaused = false;
  8488. clearInterval(this._interval);
  8489. this._interval = null;
  8490. if (this.props.interval && !this._isPaused) {
  8491. this._interval = setInterval(document.visibilityState ? this.handleNextWhenVisible : this.handleNext, this.props.interval);
  8492. }
  8493. };
  8494. _proto.to = function to(index, event) {
  8495. var children = this.props.children;
  8496. if (index < 0 || index > Carousel_countChildren(children) - 1) {
  8497. return;
  8498. }
  8499. if (this._isSliding) {
  8500. this._pendingIndex = index;
  8501. return;
  8502. }
  8503. this.select(index, event);
  8504. };
  8505. _proto.select = function select(index, event, direction) {
  8506. var _this4 = this;
  8507. clearTimeout(this.selectThrottle);
  8508. if (event && event.persist) event.persist(); // The timeout throttles fast clicks, in order to give any pending state
  8509. // a chance to update and propagate back through props
  8510. this.selectThrottle = setTimeout(function () {
  8511. clearTimeout(_this4.timeout);
  8512. var _this4$props = _this4.props,
  8513. activeIndex = _this4$props.activeIndex,
  8514. onSelect = _this4$props.onSelect;
  8515. if (index === activeIndex || _this4._isSliding || _this4.isUnmounted) return;
  8516. onSelect(index, direction || (index < activeIndex ? 'prev' : 'next'), event);
  8517. }, 50);
  8518. };
  8519. _proto.renderControls = function renderControls(properties) {
  8520. var bsPrefix = this.props.bsPrefix;
  8521. var wrap = properties.wrap,
  8522. children = properties.children,
  8523. activeIndex = properties.activeIndex,
  8524. prevIcon = properties.prevIcon,
  8525. nextIcon = properties.nextIcon,
  8526. prevLabel = properties.prevLabel,
  8527. nextLabel = properties.nextLabel;
  8528. var count = Carousel_countChildren(children);
  8529. return [(wrap || activeIndex !== 0) && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, {
  8530. key: "prev",
  8531. className: bsPrefix + "-control-prev",
  8532. onClick: this.handlePrev,
  8533. __source: {
  8534. fileName: Carousel_jsxFileName,
  8535. lineNumber: 406
  8536. },
  8537. __self: this
  8538. }, prevIcon, prevLabel && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  8539. className: "sr-only",
  8540. __source: {
  8541. fileName: Carousel_jsxFileName,
  8542. lineNumber: 412
  8543. },
  8544. __self: this
  8545. }, prevLabel)), (wrap || activeIndex !== count - 1) && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, {
  8546. key: "next",
  8547. className: bsPrefix + "-control-next",
  8548. onClick: this.handleNext,
  8549. __source: {
  8550. fileName: Carousel_jsxFileName,
  8551. lineNumber: 417
  8552. },
  8553. __self: this
  8554. }, nextIcon, nextLabel && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  8555. className: "sr-only",
  8556. __source: {
  8557. fileName: Carousel_jsxFileName,
  8558. lineNumber: 423
  8559. },
  8560. __self: this
  8561. }, nextLabel))];
  8562. };
  8563. _proto.renderIndicators = function renderIndicators(children, activeIndex) {
  8564. var _this5 = this;
  8565. var bsPrefix = this.props.bsPrefix;
  8566. var indicators = [];
  8567. forEach(children, function (child, index) {
  8568. indicators.push(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("li", {
  8569. key: index,
  8570. className: index === activeIndex ? 'active' : null,
  8571. onClick: function onClick(e) {
  8572. return _this5.to(index, e);
  8573. },
  8574. __source: {
  8575. fileName: Carousel_jsxFileName,
  8576. lineNumber: 435
  8577. },
  8578. __self: this
  8579. }), // Force whitespace between indicator elements. Bootstrap requires
  8580. // this for correct spacing of elements.
  8581. ' ');
  8582. });
  8583. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ol", {
  8584. className: bsPrefix + "-indicators",
  8585. __source: {
  8586. fileName: Carousel_jsxFileName,
  8587. lineNumber: 447
  8588. },
  8589. __self: this
  8590. }, indicators);
  8591. };
  8592. _proto.render = function render() {
  8593. var _this$props4 = this.props,
  8594. _this$props4$as = _this$props4.as,
  8595. Component = _this$props4$as === void 0 ? 'div' : _this$props4$as,
  8596. bsPrefix = _this$props4.bsPrefix,
  8597. slide = _this$props4.slide,
  8598. fade = _this$props4.fade,
  8599. indicators = _this$props4.indicators,
  8600. controls = _this$props4.controls,
  8601. wrap = _this$props4.wrap,
  8602. touch = _this$props4.touch,
  8603. prevIcon = _this$props4.prevIcon,
  8604. prevLabel = _this$props4.prevLabel,
  8605. nextIcon = _this$props4.nextIcon,
  8606. nextLabel = _this$props4.nextLabel,
  8607. className = _this$props4.className,
  8608. children = _this$props4.children,
  8609. keyboard = _this$props4.keyboard,
  8610. _5 = _this$props4.activeIndex,
  8611. _4 = _this$props4.pauseOnHover,
  8612. _3 = _this$props4.interval,
  8613. _2 = _this$props4.onSelect,
  8614. _1 = _this$props4.onSlideEnd,
  8615. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props4, ["as", "bsPrefix", "slide", "fade", "indicators", "controls", "wrap", "touch", "prevIcon", "prevLabel", "nextIcon", "nextLabel", "className", "children", "keyboard", "activeIndex", "pauseOnHover", "interval", "onSelect", "onSlideEnd"]);
  8616. var _this$state2 = this.state,
  8617. activeIndex = _this$state2.activeIndex,
  8618. previousActiveIndex = _this$state2.previousActiveIndex,
  8619. prevClasses = _this$state2.prevClasses,
  8620. currentClasses = _this$state2.currentClasses;
  8621. return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
  8622. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  8623. onTouchStart: touch ? this.handleTouchStart : undefined,
  8624. onTouchEnd: touch ? this.handleTouchEnd : undefined
  8625. }, props, {
  8626. className: classnames_default()(className, bsPrefix, slide && 'slide', fade && bsPrefix + "-fade"),
  8627. onKeyDown: keyboard ? this.handleKeyDown : undefined,
  8628. onMouseOver: this.handleMouseOver,
  8629. onMouseOut: this.handleMouseOut,
  8630. __source: {
  8631. fileName: Carousel_jsxFileName,
  8632. lineNumber: 485
  8633. },
  8634. __self: this
  8635. }), indicators && this.renderIndicators(children, activeIndex), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  8636. className: bsPrefix + "-inner",
  8637. ref: this.carousel,
  8638. __source: {
  8639. fileName: Carousel_jsxFileName,
  8640. lineNumber: 501
  8641. },
  8642. __self: this
  8643. }, map(children, function (child, index) {
  8644. var current = index === activeIndex;
  8645. var previous = index === previousActiveIndex;
  8646. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["cloneElement"])(child, {
  8647. className: classnames_default()(child.props.className, bsPrefix + "-item", current && currentClasses, previous && prevClasses)
  8648. });
  8649. })), controls && this.renderControls({
  8650. wrap: wrap,
  8651. children: children,
  8652. activeIndex: activeIndex,
  8653. prevIcon: prevIcon,
  8654. prevLabel: prevLabel,
  8655. nextIcon: nextIcon,
  8656. nextLabel: nextLabel
  8657. }))
  8658. );
  8659. };
  8660. return Carousel;
  8661. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  8662. Carousel_Carousel.defaultProps = Carousel_defaultProps;
  8663. Carousel_Carousel.propTypes = Carousel_propTypes;
  8664. var DecoratedCarousel = createBootstrapComponent(uncontrollable(Carousel_Carousel, {
  8665. activeIndex: 'onSelect'
  8666. }), 'carousel');
  8667. DecoratedCarousel.Caption = CarouselCaption;
  8668. DecoratedCarousel.Item = CarouselItem;
  8669. /* harmony default export */ var src_Carousel = (DecoratedCarousel);
  8670. // CONCATENATED MODULE: ./src/Col.js
  8671. var Col_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Col.js";
  8672. var DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];
  8673. var colSize = prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.number, prop_types_default.a.string, prop_types_default.a.oneOf(['auto'])]);
  8674. var stringOrNumber = prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]);
  8675. var Col_column = prop_types_default.a.oneOfType([colSize, prop_types_default.a.shape({
  8676. size: colSize,
  8677. order: stringOrNumber,
  8678. offset: stringOrNumber
  8679. })]);
  8680. var Col_propTypes = {
  8681. /**
  8682. * @default 'col'
  8683. */
  8684. bsPrefix: prop_types_default.a.string,
  8685. as: prop_types_default.a.elementType,
  8686. /**
  8687. * The number of columns to span on sxtra small devices (<576px)
  8688. *
  8689. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  8690. */
  8691. xs: Col_column,
  8692. /**
  8693. * The number of columns to span on small devices (≥576px)
  8694. *
  8695. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  8696. */
  8697. sm: Col_column,
  8698. /**
  8699. * The number of columns to span on medium devices (≥768px)
  8700. *
  8701. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  8702. */
  8703. md: Col_column,
  8704. /**
  8705. * The number of columns to span on large devices (≥992px)
  8706. *
  8707. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  8708. */
  8709. lg: Col_column,
  8710. /**
  8711. * The number of columns to span on extra large devices (≥1200px)
  8712. *
  8713. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  8714. */
  8715. xl: Col_column
  8716. };
  8717. var Col = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  8718. function (_ref, ref) {
  8719. var bsPrefix = _ref.bsPrefix,
  8720. className = _ref.className,
  8721. _ref$as = _ref.as,
  8722. Component = _ref$as === void 0 ? 'div' : _ref$as,
  8723. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "as"]);
  8724. var prefix = useBootstrapPrefix(bsPrefix, 'col');
  8725. var spans = [];
  8726. var classes = [];
  8727. DEVICE_SIZES.forEach(function (brkPoint) {
  8728. var propValue = props[brkPoint];
  8729. delete props[brkPoint];
  8730. var span, offset, order;
  8731. if (propValue != null && typeof propValue === 'object') {
  8732. var _propValue$span = propValue.span;
  8733. span = _propValue$span === void 0 ? true : _propValue$span;
  8734. offset = propValue.offset;
  8735. order = propValue.order;
  8736. } else {
  8737. span = propValue;
  8738. }
  8739. var infix = brkPoint !== 'xs' ? "-" + brkPoint : '';
  8740. if (span != null) spans.push(span === true ? "" + prefix + infix : "" + prefix + infix + "-" + span);
  8741. if (order != null) classes.push("order" + infix + "-" + order);
  8742. if (offset != null) classes.push("offset" + infix + "-" + offset);
  8743. });
  8744. if (!spans.length) {
  8745. spans.push(prefix); // plain 'col'
  8746. }
  8747. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  8748. ref: ref,
  8749. className: classnames_default.a.apply(void 0, [className].concat(spans, classes)),
  8750. __source: {
  8751. fileName: Col_jsxFileName,
  8752. lineNumber: 107
  8753. },
  8754. __self: this
  8755. }));
  8756. });
  8757. Col.displayName = 'Col';
  8758. Col.propTypes = Col_propTypes;
  8759. /* harmony default export */ var src_Col = (Col);
  8760. // EXTERNAL MODULE: ./node_modules/react-overlays/Dropdown.js
  8761. var Dropdown = __webpack_require__(50);
  8762. var Dropdown_default = /*#__PURE__*/__webpack_require__.n(Dropdown);
  8763. // EXTERNAL MODULE: ./node_modules/react-overlays/DropdownMenu.js
  8764. var DropdownMenu = __webpack_require__(33);
  8765. var DropdownMenu_default = /*#__PURE__*/__webpack_require__.n(DropdownMenu);
  8766. // CONCATENATED MODULE: ./src/NavbarContext.js
  8767. /* harmony default export */ var NavbarContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  8768. // CONCATENATED MODULE: ./src/DropdownMenu.js
  8769. var DropdownMenu_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/DropdownMenu.js";
  8770. var DropdownMenu_wrapRef = function wrapRef(props) {
  8771. var ref = props.ref;
  8772. props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
  8773. return ref(Object(external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_["findDOMNode"])(r));
  8774. });
  8775. return props;
  8776. };
  8777. var DropdownMenu_propTypes = {
  8778. /**
  8779. * @default 'dropdown-menu'
  8780. */
  8781. bsPrefix: prop_types_default.a.string,
  8782. /** Controls the visibility of the Dropdown menu */
  8783. show: prop_types_default.a.bool,
  8784. /** Have the dropdown switch to it's opposite placement when necessary to stay on screen. */
  8785. flip: prop_types_default.a.bool,
  8786. /** Aligns the Dropdown menu to the right of it's container. */
  8787. alignRight: prop_types_default.a.bool,
  8788. onSelect: prop_types_default.a.func,
  8789. /**
  8790. * Which event when fired outside the component will cause it to be closed
  8791. *
  8792. * *Note: For custom dropdown components, you will have to pass the
  8793. * `rootCloseEvent` to `<RootCloseWrapper>` in your custom dropdown menu
  8794. * component ([similarly to how it is implemented in `<Dropdown.Menu>`](https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.5/src/DropdownMenu.js#L115-L119)).*
  8795. */
  8796. rootCloseEvent: prop_types_default.a.oneOf(['click', 'mousedown']),
  8797. /**
  8798. * Control the rendering of the DropdownMenu. All non-menu props
  8799. * (listed here) are passed through to the `as` Component.
  8800. *
  8801. * If providing a custom, non DOM, component. the `show`, `close` and `alignRight` props
  8802. * are also injected and should be handled appropriately.
  8803. */
  8804. as: prop_types_default.a.elementType,
  8805. /**
  8806. * A set of popper options and props passed directly to react-popper's Popper component.
  8807. */
  8808. popperConfig: prop_types_default.a.object
  8809. };
  8810. var DropdownMenu_defaultProps = {
  8811. alignRight: false,
  8812. flip: true
  8813. };
  8814. var DropdownMenu_DropdownMenu = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  8815. var bsPrefix = _ref.bsPrefix,
  8816. className = _ref.className,
  8817. alignRight = _ref.alignRight,
  8818. rootCloseEvent = _ref.rootCloseEvent,
  8819. flip = _ref.flip,
  8820. popperConfig = _ref.popperConfig,
  8821. showProps = _ref.show,
  8822. _ref$as = _ref.as,
  8823. Component = _ref$as === void 0 ? 'div' : _ref$as,
  8824. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "alignRight", "rootCloseEvent", "flip", "popperConfig", "show", "as"]);
  8825. var isNavbar = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(NavbarContext);
  8826. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');
  8827. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(DropdownMenu_default.a, {
  8828. ref: ref // FIXME: the ref situation is out of hand here
  8829. ,
  8830. flip: flip,
  8831. show: showProps,
  8832. alignEnd: alignRight,
  8833. usePopper: !isNavbar,
  8834. popperConfig: popperConfig,
  8835. rootCloseEvent: rootCloseEvent,
  8836. __source: {
  8837. fileName: DropdownMenu_jsxFileName,
  8838. lineNumber: 83
  8839. },
  8840. __self: this
  8841. }, function (_ref2) {
  8842. var placement = _ref2.placement,
  8843. show = _ref2.show,
  8844. alignEnd = _ref2.alignEnd,
  8845. close = _ref2.close,
  8846. menuProps = _ref2.props;
  8847. DropdownMenu_wrapRef(menuProps); // For custom components provide additional, non-DOM, props;
  8848. if (typeof Component !== 'string') {
  8849. menuProps.show = show;
  8850. menuProps.close = close;
  8851. menuProps.alignRight = alignEnd;
  8852. }
  8853. var style = props.style;
  8854. if (placement) {
  8855. // we don't need the default popper style,
  8856. // menus are display: none when not shown.
  8857. style = Object(esm_extends["a" /* default */])({}, style, {}, menuProps.style);
  8858. props['x-placement'] = placement;
  8859. }
  8860. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, menuProps, {
  8861. style: style,
  8862. className: classnames_default()(className, prefix, show && 'show', alignEnd && prefix + "-right"),
  8863. __source: {
  8864. fileName: DropdownMenu_jsxFileName,
  8865. lineNumber: 108
  8866. },
  8867. __self: this
  8868. }));
  8869. });
  8870. });
  8871. DropdownMenu_DropdownMenu.displayName = 'DropdownMenu';
  8872. DropdownMenu_DropdownMenu.propTypes = DropdownMenu_propTypes;
  8873. DropdownMenu_DropdownMenu.defaultProps = DropdownMenu_defaultProps;
  8874. /* harmony default export */ var src_DropdownMenu = (DropdownMenu_DropdownMenu);
  8875. // EXTERNAL MODULE: ./node_modules/prop-types-extra/lib/isRequiredForA11y.js
  8876. var isRequiredForA11y = __webpack_require__(13);
  8877. var isRequiredForA11y_default = /*#__PURE__*/__webpack_require__.n(isRequiredForA11y);
  8878. // EXTERNAL MODULE: ./node_modules/react-overlays/DropdownToggle.js
  8879. var react_overlays_DropdownToggle = __webpack_require__(34);
  8880. var DropdownToggle_default = /*#__PURE__*/__webpack_require__.n(react_overlays_DropdownToggle);
  8881. // CONCATENATED MODULE: ./src/DropdownToggle.js
  8882. var DropdownToggle_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/DropdownToggle.js";
  8883. var DropdownToggle_wrapRef = function wrapRef(props) {
  8884. var ref = props.ref;
  8885. props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
  8886. return ref(Object(external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_["findDOMNode"])(r));
  8887. });
  8888. return props;
  8889. };
  8890. var DropdownToggle_DropdownToggle =
  8891. /*#__PURE__*/
  8892. function (_React$Component) {
  8893. Object(inheritsLoose["a" /* default */])(DropdownToggle, _React$Component);
  8894. function DropdownToggle() {
  8895. return _React$Component.apply(this, arguments) || this;
  8896. }
  8897. var _proto = DropdownToggle.prototype;
  8898. _proto.render = function render() {
  8899. var _this$props = this.props,
  8900. bsPrefix = _this$props.bsPrefix,
  8901. split = _this$props.split,
  8902. className = _this$props.className,
  8903. children = _this$props.children,
  8904. childBsPrefix = _this$props.childBsPrefix,
  8905. Component = _this$props.as,
  8906. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]);
  8907. if (childBsPrefix !== undefined) {
  8908. props.bsPrefix = childBsPrefix;
  8909. } // This intentionally forwards size and variant (if set) to the
  8910. // underlying component, to allow it to render size and style variants.
  8911. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(DropdownToggle_default.a, {
  8912. __source: {
  8913. fileName: DropdownToggle_jsxFileName,
  8914. lineNumber: 65
  8915. },
  8916. __self: this
  8917. }, function (_ref) {
  8918. var toggle = _ref.toggle,
  8919. toggleProps = _ref.props;
  8920. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  8921. onClick: toggle,
  8922. className: classnames_default()(className, bsPrefix, split && bsPrefix + "-split")
  8923. }, DropdownToggle_wrapRef(toggleProps), props, {
  8924. __source: {
  8925. fileName: DropdownToggle_jsxFileName,
  8926. lineNumber: 67
  8927. },
  8928. __self: this
  8929. }), children);
  8930. });
  8931. };
  8932. return DropdownToggle;
  8933. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component); // Needs to be a class FTM, because it needs to accept a ref that can be used with findDOMNode
  8934. DropdownToggle_DropdownToggle.propTypes = {
  8935. /**
  8936. * @default 'dropdown-toggle'
  8937. */
  8938. bsPrefix: prop_types_default.a.string,
  8939. /**
  8940. * An html id attribute, necessary for assistive technologies, such as screen readers.
  8941. * @type {string|number}
  8942. * @required
  8943. */
  8944. id: isRequiredForA11y_default()(prop_types_default.a.any),
  8945. split: prop_types_default.a.bool,
  8946. as: prop_types_default.a.elementType,
  8947. /**
  8948. * to passthrough to the underlying button or whatever from DropdownButton
  8949. * @private
  8950. */
  8951. childBsPrefix: prop_types_default.a.string
  8952. };
  8953. DropdownToggle_DropdownToggle.defaultProps = {
  8954. as: src_Button
  8955. };
  8956. /* harmony default export */ var src_DropdownToggle = (createBootstrapComponent(DropdownToggle_DropdownToggle, 'dropdown-toggle'));
  8957. // CONCATENATED MODULE: ./src/NavContext.js
  8958. var NavContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null);
  8959. /* harmony default export */ var src_NavContext = (NavContext);
  8960. // CONCATENATED MODULE: ./src/DropdownItem.js
  8961. var DropdownItem_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/DropdownItem.js";
  8962. var DropdownItem_propTypes = {
  8963. /** @default 'dropdown' */
  8964. bsPrefix: prop_types_default.a.string,
  8965. /**
  8966. * Highlight the menu item as active.
  8967. */
  8968. active: prop_types_default.a.bool,
  8969. /**
  8970. * Disable the menu item, making it unselectable.
  8971. */
  8972. disabled: prop_types_default.a.bool,
  8973. /**
  8974. * Value passed to the `onSelect` handler, useful for identifying the selected menu item.
  8975. */
  8976. eventKey: prop_types_default.a.any,
  8977. /**
  8978. * HTML `href` attribute corresponding to `a.href`.
  8979. */
  8980. href: prop_types_default.a.string,
  8981. /**
  8982. * Callback fired when the menu item is clicked.
  8983. */
  8984. onClick: prop_types_default.a.func,
  8985. /**
  8986. * Callback fired when the menu item is selected.
  8987. *
  8988. * ```js
  8989. * (eventKey: any, event: Object) => any
  8990. * ```
  8991. */
  8992. onSelect: prop_types_default.a.func,
  8993. as: prop_types_default.a.elementType
  8994. };
  8995. var DropdownItem_defaultProps = {
  8996. as: src_SafeAnchor,
  8997. disabled: false
  8998. };
  8999. var DropdownItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9000. var bsPrefix = _ref.bsPrefix,
  9001. className = _ref.className,
  9002. children = _ref.children,
  9003. eventKey = _ref.eventKey,
  9004. disabled = _ref.disabled,
  9005. href = _ref.href,
  9006. onClick = _ref.onClick,
  9007. onSelect = _ref.onSelect,
  9008. propActive = _ref.active,
  9009. Component = _ref.as,
  9010. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "children", "eventKey", "disabled", "href", "onClick", "onSelect", "active", "as"]);
  9011. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');
  9012. var onSelectCtx = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  9013. var navContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_NavContext);
  9014. var _ref2 = navContext || {},
  9015. activeKey = _ref2.activeKey;
  9016. var key = makeEventKey(eventKey, href);
  9017. var active = propActive == null && key != null ? makeEventKey(activeKey) === key : propActive;
  9018. var handleClick = useEventCallback(function (event) {
  9019. // SafeAnchor handles the disabled case, but we handle it here
  9020. // for other components
  9021. if (disabled) return;
  9022. if (onClick) onClick(event);
  9023. if (onSelectCtx) onSelectCtx(key, event);
  9024. if (onSelect) onSelect(key, event);
  9025. });
  9026. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  9027. ref: ref,
  9028. href: href,
  9029. disabled: disabled,
  9030. className: classnames_default()(className, prefix, active && 'active', disabled && 'disabled'),
  9031. onClick: handleClick,
  9032. __source: {
  9033. fileName: DropdownItem_jsxFileName,
  9034. lineNumber: 96
  9035. },
  9036. __self: this
  9037. }), children);
  9038. });
  9039. DropdownItem.displayName = 'DropdownItem';
  9040. DropdownItem.propTypes = DropdownItem_propTypes;
  9041. DropdownItem.defaultProps = DropdownItem_defaultProps;
  9042. /* harmony default export */ var src_DropdownItem = (DropdownItem);
  9043. // CONCATENATED MODULE: ./src/Dropdown.js
  9044. var Dropdown_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Dropdown.js";
  9045. var Dropdown_propTypes = {
  9046. /** @default 'dropdown' */
  9047. bsPrefix: prop_types_default.a.string,
  9048. /**
  9049. * Determines the direction and location of the Menu in relation to it's Toggle.
  9050. */
  9051. drop: prop_types_default.a.oneOf(['up', 'left', 'right', 'down']),
  9052. as: prop_types_default.a.elementType,
  9053. /**
  9054. * Align the menu to the right side of the Dropdown toggle
  9055. */
  9056. alignRight: prop_types_default.a.bool,
  9057. /**
  9058. * Whether or not the Dropdown is visible.
  9059. *
  9060. * @controllable onToggle
  9061. */
  9062. show: prop_types_default.a.bool,
  9063. /**
  9064. * Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to
  9065. * Popper.js's flip [docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled).
  9066. *
  9067. */
  9068. flip: prop_types_default.a.bool,
  9069. /**
  9070. * A callback fired when the Dropdown wishes to change visibility. Called with the requested
  9071. * `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.
  9072. *
  9073. * ```js
  9074. * function(
  9075. * isOpen: boolean,
  9076. * event: SyntheticEvent,
  9077. * metadata: {
  9078. * source: 'select' | 'click' | 'rootClose' | 'keydown'
  9079. * }
  9080. * ): void
  9081. * ```
  9082. *
  9083. * @controllable show
  9084. */
  9085. onToggle: prop_types_default.a.func,
  9086. /**
  9087. * A callback fired when a menu item is selected.
  9088. *
  9089. * ```js
  9090. * (eventKey: any, event: Object) => any
  9091. * ```
  9092. */
  9093. onSelect: prop_types_default.a.func,
  9094. /**
  9095. * Controls the focus behavior for when the Dropdown is opened. Set to
  9096. * `true` to always focus the first menu item, `keyboard` to focus only when
  9097. * navigating via the keyboard, or `false` to disable completely
  9098. *
  9099. * The Default behavior is `false` **unless** the Menu has a `role="menu"`
  9100. * where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton).
  9101. */
  9102. focusFirstItemOnShow: prop_types_default.a.oneOf([false, true, 'keyboard']),
  9103. /** @private */
  9104. navbar: prop_types_default.a.bool
  9105. };
  9106. var Dropdown_defaultProps = {
  9107. navbar: false
  9108. };
  9109. var Dropdown_Dropdown = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) {
  9110. var _useUncontrolled = useUncontrolled(uncontrolledProps, {
  9111. show: 'onToggle'
  9112. }),
  9113. bsPrefix = _useUncontrolled.bsPrefix,
  9114. drop = _useUncontrolled.drop,
  9115. show = _useUncontrolled.show,
  9116. className = _useUncontrolled.className,
  9117. alignRight = _useUncontrolled.alignRight,
  9118. onSelect = _useUncontrolled.onSelect,
  9119. onToggle = _useUncontrolled.onToggle,
  9120. focusFirstItemOnShow = _useUncontrolled.focusFirstItemOnShow,
  9121. _useUncontrolled$as = _useUncontrolled.as,
  9122. Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  9123. _4 = _useUncontrolled.navbar,
  9124. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_useUncontrolled, ["bsPrefix", "drop", "show", "className", "alignRight", "onSelect", "onToggle", "focusFirstItemOnShow", "as", "navbar"]);
  9125. var onSelectCtx = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  9126. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown');
  9127. var handleToggle = useEventCallback(function (nextShow, event, source) {
  9128. if (source === void 0) {
  9129. source = event.type;
  9130. }
  9131. if (event.currentTarget === document) source = 'rootClose';
  9132. onToggle(nextShow, event, {
  9133. source: source
  9134. });
  9135. });
  9136. var handleSelect = useEventCallback(function (key, event) {
  9137. if (onSelectCtx) onSelectCtx(key, event);
  9138. if (onSelect) onSelect(key, event);
  9139. handleToggle(false, event, 'select');
  9140. });
  9141. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  9142. value: handleSelect,
  9143. __source: {
  9144. fileName: Dropdown_jsxFileName,
  9145. lineNumber: 122
  9146. },
  9147. __self: this
  9148. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Dropdown_default.a.ControlledComponent, {
  9149. drop: drop,
  9150. show: show,
  9151. alignEnd: alignRight,
  9152. onToggle: handleToggle,
  9153. focusFirstItemOnShow: focusFirstItemOnShow,
  9154. itemSelector: "." + prefix + "-item:not(.disabled):not(:disabled)",
  9155. __source: {
  9156. fileName: Dropdown_jsxFileName,
  9157. lineNumber: 123
  9158. },
  9159. __self: this
  9160. }, function (_ref) {
  9161. var dropdownProps = _ref.props;
  9162. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, dropdownProps, {
  9163. ref: ref,
  9164. className: classnames_default()(className, show && 'show', (!drop || drop === 'down') && prefix, drop === 'up' && 'dropup', drop === 'right' && 'dropright', drop === 'left' && 'dropleft'),
  9165. __source: {
  9166. fileName: Dropdown_jsxFileName,
  9167. lineNumber: 132
  9168. },
  9169. __self: this
  9170. }));
  9171. }));
  9172. });
  9173. Dropdown_Dropdown.displayName = 'Dropdown';
  9174. Dropdown_Dropdown.propTypes = Dropdown_propTypes;
  9175. Dropdown_Dropdown.defaultProps = Dropdown_defaultProps;
  9176. Dropdown_Dropdown.Toggle = src_DropdownToggle;
  9177. Dropdown_Dropdown.Menu = src_DropdownMenu;
  9178. Dropdown_Dropdown.Item = src_DropdownItem;
  9179. Dropdown_Dropdown.Header = createWithBsPrefix('dropdown-header', {
  9180. defaultProps: {
  9181. role: 'heading'
  9182. }
  9183. });
  9184. Dropdown_Dropdown.Divider = createWithBsPrefix('dropdown-divider', {
  9185. defaultProps: {
  9186. role: 'separator'
  9187. }
  9188. });
  9189. /* harmony default export */ var src_Dropdown = (Dropdown_Dropdown);
  9190. // CONCATENATED MODULE: ./src/DropdownButton.js
  9191. var DropdownButton_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/DropdownButton.js";
  9192. var DropdownButton_propTypes = {
  9193. /**
  9194. * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
  9195. * @type {string|number}
  9196. * @required
  9197. */
  9198. id: prop_types_default.a.any,
  9199. /** An `href` passed to the Toggle component */
  9200. href: prop_types_default.a.string,
  9201. /** An `onClick` handler passed to the Toggle component */
  9202. onClick: prop_types_default.a.func,
  9203. /** The content of the non-toggle Button. */
  9204. title: prop_types_default.a.node.isRequired,
  9205. /** Disables both Buttons */
  9206. disabled: prop_types_default.a.bool,
  9207. /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
  9208. menuRole: prop_types_default.a.string,
  9209. /**
  9210. * Which event when fired outside the component will cause it to be closed.
  9211. *
  9212. * _see [DropdownMenu](#menu-props) for more details_
  9213. */
  9214. rootCloseEvent: prop_types_default.a.string,
  9215. /** @ignore */
  9216. bsPrefix: prop_types_default.a.string,
  9217. /** @ignore */
  9218. variant: prop_types_default.a.string,
  9219. /** @ignore */
  9220. size: prop_types_default.a.string
  9221. };
  9222. /**
  9223. * A convenience component for simple or general use dropdowns. Renders a `Button` toggle and all `children`
  9224. * are passed directly to the default `Dropdown.Menu`.
  9225. *
  9226. * _All unknown props are passed through to the `Dropdown` component._ Only
  9227. * the Button `variant`, `size` and `bsPrefix` props are passed to the toggle,
  9228. * along with menu related props are passed to the `Dropdown.Menu`
  9229. */
  9230. var DropdownButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9231. var title = _ref.title,
  9232. children = _ref.children,
  9233. bsPrefix = _ref.bsPrefix,
  9234. rootCloseEvent = _ref.rootCloseEvent,
  9235. variant = _ref.variant,
  9236. size = _ref.size,
  9237. menuRole = _ref.menuRole,
  9238. disabled = _ref.disabled,
  9239. href = _ref.href,
  9240. id = _ref.id,
  9241. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["title", "children", "bsPrefix", "rootCloseEvent", "variant", "size", "menuRole", "disabled", "href", "id"]);
  9242. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown, Object(esm_extends["a" /* default */])({
  9243. ref: ref
  9244. }, props, {
  9245. __source: {
  9246. fileName: DropdownButton_jsxFileName,
  9247. lineNumber: 69
  9248. },
  9249. __self: this
  9250. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Toggle, {
  9251. id: id,
  9252. href: href,
  9253. size: size,
  9254. variant: variant,
  9255. disabled: disabled,
  9256. childBsPrefix: bsPrefix,
  9257. __source: {
  9258. fileName: DropdownButton_jsxFileName,
  9259. lineNumber: 70
  9260. },
  9261. __self: this
  9262. }, title), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Menu, {
  9263. role: menuRole,
  9264. rootCloseEvent: rootCloseEvent,
  9265. __source: {
  9266. fileName: DropdownButton_jsxFileName,
  9267. lineNumber: 80
  9268. },
  9269. __self: this
  9270. }, children));
  9271. });
  9272. DropdownButton.displayName = 'DropdownButton';
  9273. DropdownButton.propTypes = DropdownButton_propTypes;
  9274. /* harmony default export */ var src_DropdownButton = (DropdownButton);
  9275. // EXTERNAL MODULE: ./node_modules/prop-types-extra/lib/all.js
  9276. var lib_all = __webpack_require__(24);
  9277. var all_default = /*#__PURE__*/__webpack_require__.n(lib_all);
  9278. // CONCATENATED MODULE: ./src/Feedback.js
  9279. var Feedback_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Feedback.js";
  9280. var Feedback_propTypes = {
  9281. /**
  9282. * Specify whether the feedback is for valid or invalid fields
  9283. *
  9284. * @type {('valid'|'invalid')}
  9285. */
  9286. type: prop_types_default.a.string.isRequired,
  9287. as: prop_types_default.a.elementType
  9288. };
  9289. var Feedback_defaultProps = {
  9290. type: 'valid'
  9291. };
  9292. var Feedback = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  9293. function (_ref, ref) {
  9294. var _ref$as = _ref.as,
  9295. Component = _ref$as === void 0 ? 'div' : _ref$as,
  9296. className = _ref.className,
  9297. type = _ref.type,
  9298. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["as", "className", "type"]);
  9299. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  9300. ref: ref,
  9301. className: classnames_default()(className, type && type + "-feedback"),
  9302. __source: {
  9303. fileName: Feedback_jsxFileName,
  9304. lineNumber: 22
  9305. },
  9306. __self: this
  9307. }));
  9308. });
  9309. Feedback.displayName = 'Feedback';
  9310. Feedback.propTypes = Feedback_propTypes;
  9311. Feedback.defaultProps = Feedback_defaultProps;
  9312. /* harmony default export */ var src_Feedback = (Feedback);
  9313. // CONCATENATED MODULE: ./src/FormContext.js
  9314. var FormContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({
  9315. controlId: undefined
  9316. });
  9317. /* harmony default export */ var src_FormContext = (FormContext);
  9318. // CONCATENATED MODULE: ./src/FormCheckInput.js
  9319. var FormCheckInput_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FormCheckInput.js";
  9320. var FormCheckInput_propTypes = {
  9321. /**
  9322. * @default 'form-check-input'
  9323. */
  9324. bsPrefix: prop_types_default.a.string,
  9325. /**
  9326. * A seperate bsPrefix used for custom controls
  9327. *
  9328. * @default 'custom-control'
  9329. */
  9330. bsCustomPrefix: prop_types_default.a.string,
  9331. /**
  9332. * The underlying HTML element to use when rendering the FormCheckInput.
  9333. *
  9334. * @type {('input'|elementType)}
  9335. */
  9336. as: prop_types_default.a.elementType,
  9337. /** A HTML id attribute, necessary for proper form accessibility. */
  9338. id: prop_types_default.a.string,
  9339. /** The type of checkable. */
  9340. type: prop_types_default.a.oneOf(['radio', 'checkbox']).isRequired,
  9341. /**
  9342. * A convenience prop shortcut for adding `position-static` to the input, for
  9343. * correct styling when used without an FormCheckLabel
  9344. */
  9345. isStatic: prop_types_default.a.bool,
  9346. /** Manually style the input as valid */
  9347. isValid: prop_types_default.a.bool.isRequired,
  9348. /** Manually style the input as invalid */
  9349. isInvalid: prop_types_default.a.bool.isRequired
  9350. };
  9351. var FormCheckInput_defaultProps = {
  9352. type: 'checkbox'
  9353. };
  9354. var FormCheckInput = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9355. var id = _ref.id,
  9356. bsPrefix = _ref.bsPrefix,
  9357. bsCustomPrefix = _ref.bsCustomPrefix,
  9358. className = _ref.className,
  9359. isValid = _ref.isValid,
  9360. isInvalid = _ref.isInvalid,
  9361. isStatic = _ref.isStatic,
  9362. _ref$as = _ref.as,
  9363. Component = _ref$as === void 0 ? 'input' : _ref$as,
  9364. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["id", "bsPrefix", "bsCustomPrefix", "className", "isValid", "isInvalid", "isStatic", "as"]);
  9365. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  9366. controlId = _useContext.controlId,
  9367. custom = _useContext.custom;
  9368. bsPrefix = custom ? useBootstrapPrefix(bsCustomPrefix, 'custom-control-input') : useBootstrapPrefix(bsPrefix, 'form-check-input');
  9369. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  9370. ref: ref,
  9371. id: id || controlId,
  9372. className: classnames_default()(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid', isStatic && 'position-static'),
  9373. __source: {
  9374. fileName: FormCheckInput_jsxFileName,
  9375. lineNumber: 72
  9376. },
  9377. __self: this
  9378. }));
  9379. });
  9380. FormCheckInput.displayName = 'FormCheckInput';
  9381. FormCheckInput.propTypes = FormCheckInput_propTypes;
  9382. FormCheckInput.defaultProps = FormCheckInput_defaultProps;
  9383. /* harmony default export */ var src_FormCheckInput = (FormCheckInput);
  9384. // CONCATENATED MODULE: ./src/FormCheckLabel.js
  9385. var FormCheckLabel_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FormCheckLabel.js";
  9386. var FormCheckLabel_propTypes = {
  9387. /**
  9388. * @default 'form-check-input'
  9389. */
  9390. bsPrefix: prop_types_default.a.string,
  9391. /**
  9392. * A seperate bsPrefix used for custom controls
  9393. *
  9394. * @default 'custom-control'
  9395. */
  9396. bsCustomPrefix: prop_types_default.a.string,
  9397. /** The HTML for attribute for associating the label with an input */
  9398. htmlFor: prop_types_default.a.string
  9399. };
  9400. var FormCheckLabel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9401. var bsPrefix = _ref.bsPrefix,
  9402. bsCustomPrefix = _ref.bsCustomPrefix,
  9403. className = _ref.className,
  9404. htmlFor = _ref.htmlFor,
  9405. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "bsCustomPrefix", "className", "htmlFor"]);
  9406. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  9407. controlId = _useContext.controlId,
  9408. custom = _useContext.custom;
  9409. bsPrefix = custom ? useBootstrapPrefix(bsCustomPrefix, 'custom-control-label') : useBootstrapPrefix(bsPrefix, 'form-check-label');
  9410. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("label", Object(esm_extends["a" /* default */])({}, props, {
  9411. ref: ref,
  9412. htmlFor: htmlFor || controlId,
  9413. className: classnames_default()(className, bsPrefix),
  9414. __source: {
  9415. fileName: FormCheckLabel_jsxFileName,
  9416. lineNumber: 32
  9417. },
  9418. __self: this
  9419. }));
  9420. });
  9421. FormCheckLabel.displayName = 'FormCheckLabel';
  9422. FormCheckLabel.propTypes = FormCheckLabel_propTypes;
  9423. /* harmony default export */ var src_FormCheckLabel = (FormCheckLabel);
  9424. // CONCATENATED MODULE: ./src/FormCheck.js
  9425. var FormCheck_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FormCheck.js";
  9426. var FormCheck_propTypes = {
  9427. /**
  9428. * @default 'form-check'
  9429. */
  9430. bsPrefix: prop_types_default.a.string,
  9431. /**
  9432. * A seperate bsPrefix used for custom controls
  9433. *
  9434. * @default 'custom-control'
  9435. */
  9436. bsCustomPrefix: prop_types_default.a.string,
  9437. /**
  9438. * The FormCheck `ref` will be forwarded to the underlying input element,
  9439. * which means it will be a DOM node, when resolved.
  9440. *
  9441. * @type {ReactRef}
  9442. * @alias ref
  9443. */
  9444. _ref: prop_types_default.a.any,
  9445. /**
  9446. * The underlying HTML element to use when rendering the FormCheck.
  9447. *
  9448. * @type {('input'|elementType)}
  9449. */
  9450. as: prop_types_default.a.elementType,
  9451. /** A HTML id attribute, necessary for proper form accessibility. */
  9452. id: prop_types_default.a.string,
  9453. /**
  9454. * Provide a function child to manually handle the layout of the FormCheck's inner components.
  9455. *
  9456. * ```jsx
  9457. * <FormCheck>
  9458. * <FormCheck.Input isInvalid type={radio} />
  9459. * <FormCheck.Label>Allow us to contact you?</FormCheck.Label>
  9460. * <Feedback type="invalid">Yo this is required</Feedback>
  9461. * </FormCheck>
  9462. * ```
  9463. */
  9464. children: prop_types_default.a.node,
  9465. inline: prop_types_default.a.bool,
  9466. disabled: prop_types_default.a.bool,
  9467. title: prop_types_default.a.string,
  9468. label: prop_types_default.a.node,
  9469. /** Use Bootstrap's custom form elements to replace the browser defaults */
  9470. custom: prop_types_default.a.bool,
  9471. /**
  9472. * The type of checkable.
  9473. * @type {('radio' | 'checkbox' | 'switch')}
  9474. */
  9475. type: all_default()(prop_types_default.a.oneOf(['radio', 'checkbox', 'switch']).isRequired, function (_ref) {
  9476. var type = _ref.type,
  9477. custom = _ref.custom;
  9478. return type === 'switch' && custom === false ? Error('`custom` cannot be set to `false` when the type is `switch`') : null;
  9479. }),
  9480. /** Manually style the input as valid */
  9481. isValid: prop_types_default.a.bool.isRequired,
  9482. /** Manually style the input as invalid */
  9483. isInvalid: prop_types_default.a.bool.isRequired,
  9484. /** A message to display when the input is in a validation state */
  9485. feedback: prop_types_default.a.node
  9486. };
  9487. var FormCheck_defaultProps = {
  9488. type: 'checkbox',
  9489. inline: false,
  9490. disabled: false,
  9491. isValid: false,
  9492. isInvalid: false,
  9493. title: ''
  9494. };
  9495. var FormCheck = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref2, ref) {
  9496. var id = _ref2.id,
  9497. bsPrefix = _ref2.bsPrefix,
  9498. bsCustomPrefix = _ref2.bsCustomPrefix,
  9499. inline = _ref2.inline,
  9500. disabled = _ref2.disabled,
  9501. isValid = _ref2.isValid,
  9502. isInvalid = _ref2.isInvalid,
  9503. feedback = _ref2.feedback,
  9504. className = _ref2.className,
  9505. style = _ref2.style,
  9506. title = _ref2.title,
  9507. type = _ref2.type,
  9508. label = _ref2.label,
  9509. children = _ref2.children,
  9510. propCustom = _ref2.custom,
  9511. _ref2$as = _ref2.as,
  9512. as = _ref2$as === void 0 ? 'input' : _ref2$as,
  9513. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref2, ["id", "bsPrefix", "bsCustomPrefix", "inline", "disabled", "isValid", "isInvalid", "feedback", "className", "style", "title", "type", "label", "children", "custom", "as"]);
  9514. var custom = type === 'switch' ? true : propCustom;
  9515. bsPrefix = custom ? useBootstrapPrefix(bsCustomPrefix, 'custom-control') : useBootstrapPrefix(bsPrefix, 'form-check');
  9516. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  9517. controlId = _useContext.controlId;
  9518. var innerFormContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  9519. return {
  9520. controlId: id || controlId,
  9521. custom: custom
  9522. };
  9523. }, [controlId, custom, id]);
  9524. var hasLabel = label != null && label !== false && !children;
  9525. var input = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormCheckInput, Object(esm_extends["a" /* default */])({}, props, {
  9526. type: type === 'switch' ? 'checkbox' : type,
  9527. ref: ref,
  9528. isValid: isValid,
  9529. isInvalid: isInvalid,
  9530. isStatic: !hasLabel,
  9531. disabled: disabled,
  9532. as: as,
  9533. __source: {
  9534. fileName: FormCheck_jsxFileName,
  9535. lineNumber: 137
  9536. },
  9537. __self: this
  9538. }));
  9539. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormContext.Provider, {
  9540. value: innerFormContext,
  9541. __source: {
  9542. fileName: FormCheck_jsxFileName,
  9543. lineNumber: 150
  9544. },
  9545. __self: this
  9546. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  9547. style: style,
  9548. className: classnames_default()(className, bsPrefix, custom && "custom-" + type, inline && bsPrefix + "-inline"),
  9549. __source: {
  9550. fileName: FormCheck_jsxFileName,
  9551. lineNumber: 151
  9552. },
  9553. __self: this
  9554. }, children || external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, {
  9555. __source: {
  9556. fileName: FormCheck_jsxFileName,
  9557. lineNumber: 161
  9558. },
  9559. __self: this
  9560. }, input, hasLabel && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormCheckLabel, {
  9561. title: title,
  9562. __source: {
  9563. fileName: FormCheck_jsxFileName,
  9564. lineNumber: 164
  9565. },
  9566. __self: this
  9567. }, label), (isValid || isInvalid) && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Feedback, {
  9568. type: isValid ? 'valid' : 'invalid',
  9569. __source: {
  9570. fileName: FormCheck_jsxFileName,
  9571. lineNumber: 167
  9572. },
  9573. __self: this
  9574. }, feedback))));
  9575. });
  9576. FormCheck.displayName = 'FormCheck';
  9577. FormCheck.propTypes = FormCheck_propTypes;
  9578. FormCheck.defaultProps = FormCheck_defaultProps;
  9579. FormCheck.Input = src_FormCheckInput;
  9580. FormCheck.Label = src_FormCheckLabel;
  9581. /* harmony default export */ var src_FormCheck = (FormCheck);
  9582. // EXTERNAL MODULE: ./node_modules/warning/warning.js
  9583. var warning = __webpack_require__(16);
  9584. // CONCATENATED MODULE: ./src/FormControl.js
  9585. var FormControl_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FormControl.js";
  9586. var FormControl_propTypes = {
  9587. /**
  9588. * @default {'form-control'}
  9589. */
  9590. bsPrefix: prop_types_default.a.string,
  9591. /**
  9592. * The FormControl `ref` will be forwarded to the underlying input element,
  9593. * which means unless `as` is a composite component,
  9594. * it will be a DOM node, when resolved.
  9595. *
  9596. * @type {ReactRef}
  9597. * @alias ref
  9598. */
  9599. _ref: prop_types_default.a.any,
  9600. /**
  9601. * Input size variants
  9602. *
  9603. * @type {('sm'|'lg')}
  9604. */
  9605. size: prop_types_default.a.string,
  9606. /**
  9607. * The underlying HTML element to use when rendering the FormControl.
  9608. *
  9609. * @type {('input'|'textarea'|'select'|elementType)}
  9610. */
  9611. as: prop_types_default.a.elementType,
  9612. /**
  9613. * Render the input as plain text. Generally used along side `readOnly`.
  9614. */
  9615. plaintext: prop_types_default.a.bool,
  9616. /** Make the control readonly */
  9617. readOnly: prop_types_default.a.bool,
  9618. /** Make the control disabled */
  9619. disabled: prop_types_default.a.bool,
  9620. /**
  9621. * The `value` attribute of underlying input
  9622. *
  9623. * @controllable onChange
  9624. * */
  9625. value: prop_types_default.a.string,
  9626. /** A callback fired when the `value` prop changes */
  9627. onChange: prop_types_default.a.func,
  9628. /**
  9629. * The HTML input `type`, which is only relevant if `as` is `'input'` (the default).
  9630. */
  9631. type: prop_types_default.a.string,
  9632. /**
  9633. * Uses `controlId` from `<FormGroup>` if not explicitly specified.
  9634. */
  9635. id: prop_types_default.a.string,
  9636. /** Add "valid" validation styles to the control */
  9637. isValid: prop_types_default.a.bool,
  9638. /** Add "invalid" validation styles to the control and accompanying label */
  9639. isInvalid: prop_types_default.a.bool
  9640. };
  9641. var FormControl = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9642. var bsPrefix = _ref.bsPrefix,
  9643. type = _ref.type,
  9644. size = _ref.size,
  9645. id = _ref.id,
  9646. className = _ref.className,
  9647. isValid = _ref.isValid,
  9648. isInvalid = _ref.isInvalid,
  9649. plaintext = _ref.plaintext,
  9650. readOnly = _ref.readOnly,
  9651. _ref$as = _ref.as,
  9652. Component = _ref$as === void 0 ? 'input' : _ref$as,
  9653. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "type", "size", "id", "className", "isValid", "isInvalid", "plaintext", "readOnly", "as"]);
  9654. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  9655. controlId = _useContext.controlId;
  9656. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');
  9657. var classes;
  9658. if (plaintext) {
  9659. var _classes;
  9660. classes = (_classes = {}, _classes[bsPrefix + "-plaintext"] = true, _classes);
  9661. } else if (type === 'file') {
  9662. var _classes2;
  9663. classes = (_classes2 = {}, _classes2[bsPrefix + "-file"] = true, _classes2);
  9664. } else {
  9665. var _classes3;
  9666. classes = (_classes3 = {}, _classes3[bsPrefix] = true, _classes3[bsPrefix + "-" + size] = size, _classes3);
  9667. }
  9668. false ? undefined : void 0;
  9669. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  9670. type: type,
  9671. ref: ref,
  9672. readOnly: readOnly,
  9673. id: id || controlId,
  9674. className: classnames_default()(className, classes, isValid && "is-valid", isInvalid && "is-invalid"),
  9675. __source: {
  9676. fileName: FormControl_jsxFileName,
  9677. lineNumber: 115
  9678. },
  9679. __self: this
  9680. }));
  9681. });
  9682. FormControl.displayName = 'FormControl';
  9683. FormControl.propTypes = FormControl_propTypes;
  9684. FormControl.Feedback = src_Feedback;
  9685. /* harmony default export */ var src_FormControl = (FormControl);
  9686. // CONCATENATED MODULE: ./src/FormGroup.js
  9687. var FormGroup_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FormGroup.js";
  9688. var FormGroup_propTypes = {
  9689. /**
  9690. * @default 'form-group'
  9691. */
  9692. bsPrefix: prop_types_default.a.string,
  9693. as: prop_types_default.a.elementType,
  9694. /**
  9695. * Sets `id` on `<FormControl>` and `htmlFor` on `<FormGroup.Label>`.
  9696. */
  9697. controlId: prop_types_default.a.string,
  9698. /**
  9699. * The FormGroup `ref` will be forwarded to the underlying element.
  9700. * Unless the FormGroup is rendered `as` a composite component,
  9701. * it will be a DOM node, when resolved.
  9702. *
  9703. * @type {ReactRef}
  9704. * @alias ref
  9705. */
  9706. _ref: prop_types_default.a.any
  9707. };
  9708. var FormGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9709. var bsPrefix = _ref.bsPrefix,
  9710. className = _ref.className,
  9711. children = _ref.children,
  9712. controlId = _ref.controlId,
  9713. _ref$as = _ref.as,
  9714. Component = _ref$as === void 0 ? 'div' : _ref$as,
  9715. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "children", "controlId", "as"]);
  9716. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-group');
  9717. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  9718. return {
  9719. controlId: controlId
  9720. };
  9721. }, [controlId]);
  9722. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormContext.Provider, {
  9723. value: context,
  9724. __source: {
  9725. fileName: FormGroup_jsxFileName,
  9726. lineNumber: 49
  9727. },
  9728. __self: this
  9729. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  9730. ref: ref,
  9731. className: classnames_default()(className, bsPrefix),
  9732. __source: {
  9733. fileName: FormGroup_jsxFileName,
  9734. lineNumber: 50
  9735. },
  9736. __self: this
  9737. }), children));
  9738. });
  9739. FormGroup.displayName = 'FormGroup';
  9740. FormGroup.propTypes = FormGroup_propTypes;
  9741. /* harmony default export */ var src_FormGroup = (FormGroup);
  9742. // CONCATENATED MODULE: ./src/FormLabel.js
  9743. var FormLabel_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FormLabel.js";
  9744. var FormLabel_propTypes = {
  9745. /**
  9746. * @default 'form-label'
  9747. */
  9748. bsPrefix: prop_types_default.a.string,
  9749. /**
  9750. * Uses `controlId` from `<FormGroup>` if not explicitly specified.
  9751. */
  9752. htmlFor: prop_types_default.a.string,
  9753. /**
  9754. * Renders the FormLabel as a `<Col>` component (accepting all the same props),
  9755. * as well as adding additional styling for horizontal forms.
  9756. */
  9757. column: prop_types_default.a.bool,
  9758. /**
  9759. * The FormLabel `ref` will be forwarded to the underlying element.
  9760. * Unless the FormLabel is rendered `as` a composite component,
  9761. * it will be a DOM node, when resolved.
  9762. *
  9763. * @type {ReactRef}
  9764. * @alias ref
  9765. */
  9766. _ref: prop_types_default.a.any,
  9767. /**
  9768. * Hides the label visually while still allowing it to be
  9769. * read by assistive technologies.
  9770. */
  9771. srOnly: prop_types_default.a.bool
  9772. };
  9773. var FormLabel_defaultProps = {
  9774. column: false,
  9775. srOnly: false
  9776. };
  9777. var FormLabel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9778. var bsPrefix = _ref.bsPrefix,
  9779. column = _ref.column,
  9780. srOnly = _ref.srOnly,
  9781. className = _ref.className,
  9782. htmlFor = _ref.htmlFor,
  9783. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "column", "srOnly", "className", "htmlFor"]);
  9784. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  9785. controlId = _useContext.controlId;
  9786. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');
  9787. var classes = classnames_default()(className, bsPrefix, srOnly && 'sr-only', column && 'col-form-label');
  9788. false ? undefined : void 0;
  9789. htmlFor = htmlFor || controlId;
  9790. if (column) return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Col, Object(esm_extends["a" /* default */])({
  9791. as: "label",
  9792. className: classes,
  9793. htmlFor: htmlFor
  9794. }, props, {
  9795. __source: {
  9796. fileName: FormLabel_jsxFileName,
  9797. lineNumber: 70
  9798. },
  9799. __self: this
  9800. }));
  9801. return (// eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control
  9802. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("label", Object(esm_extends["a" /* default */])({
  9803. ref: ref,
  9804. className: classes,
  9805. htmlFor: htmlFor
  9806. }, props, {
  9807. __source: {
  9808. fileName: FormLabel_jsxFileName,
  9809. lineNumber: 75
  9810. },
  9811. __self: this
  9812. }))
  9813. );
  9814. });
  9815. FormLabel.displayName = 'FormLabel';
  9816. FormLabel.propTypes = FormLabel_propTypes;
  9817. FormLabel.defaultProps = FormLabel_defaultProps;
  9818. /* harmony default export */ var src_FormLabel = (FormLabel);
  9819. // CONCATENATED MODULE: ./src/FormText.js
  9820. var FormText_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FormText.js";
  9821. var FormText_propTypes = {
  9822. /** @default 'form-text' */
  9823. bsPrefix: prop_types_default.a.string,
  9824. /**
  9825. * The FormText `ref` will be forwarded to the underlying element.
  9826. * Unless the FormText is rendered `as` a composite component,
  9827. * it will be a DOM node, when resolved.
  9828. *
  9829. * @type {ReactRef}
  9830. * @alias ref
  9831. */
  9832. _ref: prop_types_default.a.any,
  9833. /**
  9834. * A convenience prop for add the `text-muted` class,
  9835. * since it's so commonly used here.
  9836. */
  9837. muted: prop_types_default.a.bool,
  9838. as: prop_types_default.a.elementType
  9839. };
  9840. var FormText = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  9841. function (_ref, ref) {
  9842. var bsPrefix = _ref.bsPrefix,
  9843. className = _ref.className,
  9844. _ref$as = _ref.as,
  9845. Component = _ref$as === void 0 ? 'small' : _ref$as,
  9846. muted = _ref.muted,
  9847. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "as", "muted"]);
  9848. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');
  9849. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  9850. ref: ref,
  9851. className: classnames_default()(className, bsPrefix, muted && 'text-muted'),
  9852. __source: {
  9853. fileName: FormText_jsxFileName,
  9854. lineNumber: 36
  9855. },
  9856. __self: this
  9857. }));
  9858. });
  9859. FormText.displayName = 'FormText';
  9860. FormText.propTypes = FormText_propTypes;
  9861. /* harmony default export */ var src_FormText = (FormText);
  9862. // CONCATENATED MODULE: ./src/Switch.js
  9863. var Switch_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Switch.js";
  9864. var Switch = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  9865. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormCheck, Object(esm_extends["a" /* default */])({}, props, {
  9866. ref: ref,
  9867. type: "switch",
  9868. __source: {
  9869. fileName: Switch_jsxFileName,
  9870. lineNumber: 5
  9871. },
  9872. __self: this
  9873. }));
  9874. });
  9875. Switch.displayName = 'Switch';
  9876. Switch.Input = src_FormCheck.Input;
  9877. Switch.Label = src_FormCheck.Label;
  9878. /* harmony default export */ var src_Switch = (Switch);
  9879. // CONCATENATED MODULE: ./src/Form.js
  9880. var Form_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Form.js";
  9881. var Form_propTypes = {
  9882. /**
  9883. * @default {'form'}
  9884. */
  9885. bsPrefix: prop_types_default.a.string,
  9886. /**
  9887. * The Form `ref` will be forwarded to the underlying element,
  9888. * which means, unless it's rendered `as` a composite component,
  9889. * it will be a DOM node, when resolved.
  9890. *
  9891. * @type {ReactRef}
  9892. * @alias ref
  9893. */
  9894. _ref: prop_types_default.a.any,
  9895. /**
  9896. * Display the series of labels, form controls,
  9897. * and buttons on a single horizontal row
  9898. */
  9899. inline: prop_types_default.a.bool,
  9900. /**
  9901. * Mark a form as having been validated. Setting it to `true` will
  9902. * toggle any validation styles on the forms elements.
  9903. */
  9904. validated: prop_types_default.a.bool,
  9905. as: prop_types_default.a.elementType
  9906. };
  9907. var Form_defaultProps = {
  9908. inline: false
  9909. };
  9910. var Form = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9911. var bsPrefix = _ref.bsPrefix,
  9912. inline = _ref.inline,
  9913. className = _ref.className,
  9914. validated = _ref.validated,
  9915. _ref$as = _ref.as,
  9916. Component = _ref$as === void 0 ? 'form' : _ref$as,
  9917. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "inline", "className", "validated", "as"]);
  9918. bsPrefix = useBootstrapPrefix(bsPrefix, 'form');
  9919. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  9920. ref: ref,
  9921. className: classnames_default()(className, validated && 'was-validated', inline && bsPrefix + "-inline"),
  9922. __source: {
  9923. fileName: Form_jsxFileName,
  9924. lineNumber: 62
  9925. },
  9926. __self: this
  9927. }));
  9928. });
  9929. Form.displayName = 'Form';
  9930. Form.propTypes = Form_propTypes;
  9931. Form.defaultProps = Form_defaultProps;
  9932. Form.Row = createWithBsPrefix('form-row');
  9933. Form.Group = src_FormGroup;
  9934. Form.Control = src_FormControl;
  9935. Form.Check = src_FormCheck;
  9936. Form.Switch = src_Switch;
  9937. Form.Label = src_FormLabel;
  9938. Form.Text = src_FormText;
  9939. /* harmony default export */ var src_Form = (Form);
  9940. // CONCATENATED MODULE: ./src/Container.js
  9941. var Container_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Container.js";
  9942. var Container_propTypes = {
  9943. /**
  9944. * @default 'container'
  9945. */
  9946. bsPrefix: prop_types_default.a.string,
  9947. /**
  9948. * Allow the Container to fill all of its available horizontal space.
  9949. */
  9950. fluid: prop_types_default.a.bool,
  9951. /**
  9952. * You can use a custom element for this component
  9953. */
  9954. as: prop_types_default.a.elementType
  9955. };
  9956. var Container_defaultProps = {
  9957. fluid: false
  9958. };
  9959. var Container = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  9960. function (_ref, ref) {
  9961. var bsPrefix = _ref.bsPrefix,
  9962. fluid = _ref.fluid,
  9963. _ref$as = _ref.as,
  9964. Component = _ref$as === void 0 ? 'div' : _ref$as,
  9965. className = _ref.className,
  9966. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "fluid", "as", "className"]);
  9967. var prefix = useBootstrapPrefix(bsPrefix, 'container');
  9968. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  9969. ref: ref
  9970. }, props, {
  9971. className: classnames_default()(className, fluid ? prefix + "-fluid" : prefix),
  9972. __source: {
  9973. fileName: Container_jsxFileName,
  9974. lineNumber: 32
  9975. },
  9976. __self: this
  9977. }));
  9978. });
  9979. Container.displayName = 'Container';
  9980. Container.propTypes = Container_propTypes;
  9981. Container.defaultProps = Container_defaultProps;
  9982. /* harmony default export */ var src_Container = (Container);
  9983. // CONCATENATED MODULE: ./src/Image.js
  9984. var Image_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Image.js";
  9985. var Image_propTypes = {
  9986. /**
  9987. * @default 'img'
  9988. */
  9989. bsPrefix: prop_types_default.a.string,
  9990. /**
  9991. * Sets image as fluid image.
  9992. */
  9993. fluid: prop_types_default.a.bool,
  9994. /**
  9995. * Sets image shape as rounded.
  9996. */
  9997. rounded: prop_types_default.a.bool,
  9998. /**
  9999. * Sets image shape as circle.
  10000. */
  10001. roundedCircle: prop_types_default.a.bool,
  10002. /**
  10003. * Sets image shape as thumbnail.
  10004. */
  10005. thumbnail: prop_types_default.a.bool
  10006. };
  10007. var Image_defaultProps = {
  10008. fluid: false,
  10009. rounded: false,
  10010. roundedCircle: false,
  10011. thumbnail: false
  10012. };
  10013. var Image = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10014. var bsPrefix = _ref.bsPrefix,
  10015. className = _ref.className,
  10016. fluid = _ref.fluid,
  10017. rounded = _ref.rounded,
  10018. roundedCircle = _ref.roundedCircle,
  10019. thumbnail = _ref.thumbnail,
  10020. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "fluid", "rounded", "roundedCircle", "thumbnail"]);
  10021. bsPrefix = useBootstrapPrefix(bsPrefix, 'img');
  10022. var classes = classnames_default()(fluid && bsPrefix + "-fluid", rounded && "rounded", roundedCircle && "rounded-circle", thumbnail && bsPrefix + "-thumbnail");
  10023. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("img", Object(esm_extends["a" /* default */])({
  10024. // eslint-disable-line jsx-a11y/alt-text
  10025. ref: ref
  10026. }, props, {
  10027. className: classnames_default()(className, classes),
  10028. __source: {
  10029. fileName: Image_jsxFileName,
  10030. lineNumber: 55
  10031. },
  10032. __self: this
  10033. }));
  10034. });
  10035. Image.displayName = 'Image';
  10036. Image.propTypes = Image_propTypes;
  10037. Image.defaultProps = Image_defaultProps;
  10038. /* harmony default export */ var src_Image = (Image);
  10039. // CONCATENATED MODULE: ./src/FigureImage.js
  10040. var FigureImage_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/FigureImage.js";
  10041. var FigureImage_propTypes = {
  10042. /**
  10043. * @default 'img'
  10044. */
  10045. bsPrefix: prop_types_default.a.string,
  10046. /**
  10047. * Sets image as fluid image.
  10048. */
  10049. fluid: prop_types_default.a.bool,
  10050. /**
  10051. * Sets image shape as rounded.
  10052. */
  10053. rounded: prop_types_default.a.bool,
  10054. /**
  10055. * Sets image shape as circle.
  10056. */
  10057. roundedCircle: prop_types_default.a.bool,
  10058. /**
  10059. * Sets image shape as thumbnail.
  10060. */
  10061. thumbnail: prop_types_default.a.bool
  10062. };
  10063. var FigureImage_defaultProps = {
  10064. fluid: true
  10065. };
  10066. var FigureImage = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10067. var className = _ref.className,
  10068. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["className"]);
  10069. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Image, Object(esm_extends["a" /* default */])({
  10070. ref: ref
  10071. }, props, {
  10072. className: classnames_default()(className, 'figure-img'),
  10073. __source: {
  10074. fileName: FigureImage_jsxFileName,
  10075. lineNumber: 37
  10076. },
  10077. __self: this
  10078. }));
  10079. });
  10080. FigureImage.displayName = 'FigureImage';
  10081. FigureImage.propTypes = FigureImage_propTypes;
  10082. FigureImage.defaultProps = FigureImage_defaultProps;
  10083. /* harmony default export */ var src_FigureImage = (FigureImage);
  10084. // CONCATENATED MODULE: ./src/FigureCaption.js
  10085. var FigureCaption = createWithBsPrefix('figure-caption', {
  10086. Component: 'figcaption'
  10087. });
  10088. /* harmony default export */ var src_FigureCaption = (FigureCaption);
  10089. // CONCATENATED MODULE: ./src/Figure.js
  10090. var Figure = createWithBsPrefix('figure', {
  10091. Component: 'figure'
  10092. });
  10093. Figure.Image = src_FigureImage;
  10094. Figure.Caption = src_FigureCaption;
  10095. /* harmony default export */ var src_Figure = (Figure);
  10096. // CONCATENATED MODULE: ./src/InputGroup.js
  10097. var InputGroup_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/InputGroup.js";
  10098. var InputGroup_propTypes = {
  10099. /** @default 'input-group' */
  10100. bsPrefix: prop_types_default.a.string,
  10101. /**
  10102. * Control the size of buttons and form elements from the top-level .
  10103. *
  10104. * @type {('sm'|'lg')}
  10105. */
  10106. size: prop_types_default.a.string,
  10107. as: prop_types_default.a.elementType
  10108. };
  10109. /**
  10110. *
  10111. * @property {InputGroupAppend} Append
  10112. * @property {InputGroupPrepend} Prepend
  10113. * @property {InputGroupText} Text
  10114. * @property {InputGroupRadio} Radio
  10115. * @property {InputGroupCheckbox} Checkbox
  10116. */
  10117. var InputGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10118. var bsPrefix = _ref.bsPrefix,
  10119. size = _ref.size,
  10120. className = _ref.className,
  10121. _ref$as = _ref.as,
  10122. Component = _ref$as === void 0 ? 'div' : _ref$as,
  10123. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "size", "className", "as"]);
  10124. bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group');
  10125. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  10126. ref: ref
  10127. }, props, {
  10128. className: classnames_default()(className, bsPrefix, size && bsPrefix + "-" + size),
  10129. __source: {
  10130. fileName: InputGroup_jsxFileName,
  10131. lineNumber: 46
  10132. },
  10133. __self: this
  10134. }));
  10135. });
  10136. var InputGroupAppend = createWithBsPrefix('input-group-append');
  10137. var InputGroupPrepend = createWithBsPrefix('input-group-prepend');
  10138. var InputGroupText = createWithBsPrefix('input-group-text', {
  10139. Component: 'span'
  10140. });
  10141. var InputGroup_InputGroupCheckbox = function InputGroupCheckbox(props) {
  10142. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InputGroupText, {
  10143. __source: {
  10144. fileName: InputGroup_jsxFileName,
  10145. lineNumber: 68
  10146. },
  10147. __self: this
  10148. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("input", Object(esm_extends["a" /* default */])({
  10149. type: "checkbox"
  10150. }, props, {
  10151. __source: {
  10152. fileName: InputGroup_jsxFileName,
  10153. lineNumber: 69
  10154. },
  10155. __self: this
  10156. })));
  10157. };
  10158. var InputGroup_InputGroupRadio = function InputGroupRadio(props) {
  10159. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InputGroupText, {
  10160. __source: {
  10161. fileName: InputGroup_jsxFileName,
  10162. lineNumber: 74
  10163. },
  10164. __self: this
  10165. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("input", Object(esm_extends["a" /* default */])({
  10166. type: "radio"
  10167. }, props, {
  10168. __source: {
  10169. fileName: InputGroup_jsxFileName,
  10170. lineNumber: 75
  10171. },
  10172. __self: this
  10173. })));
  10174. };
  10175. InputGroup.propTypes = InputGroup_propTypes;
  10176. InputGroup.displayName = 'InputGroup';
  10177. InputGroup.Text = InputGroupText;
  10178. InputGroup.Radio = InputGroup_InputGroupRadio;
  10179. InputGroup.Checkbox = InputGroup_InputGroupCheckbox;
  10180. InputGroup.Append = InputGroupAppend;
  10181. InputGroup.Prepend = InputGroupPrepend;
  10182. /* harmony default export */ var src_InputGroup = (InputGroup);
  10183. // CONCATENATED MODULE: ./src/Jumbotron.js
  10184. var Jumbotron_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Jumbotron.js";
  10185. var Jumbotron_propTypes = {
  10186. as: prop_types_default.a.elementType,
  10187. /** Make the jumbotron full width, and without rounded corners */
  10188. fluid: prop_types_default.a.bool,
  10189. /** @default 'jumbotron' */
  10190. bsPrefix: prop_types_default.a.string
  10191. };
  10192. var Jumbotron_defaultProps = {
  10193. fluid: false
  10194. };
  10195. var Jumbotron = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10196. var _classes;
  10197. var _ref$as = _ref.as,
  10198. Component = _ref$as === void 0 ? 'div' : _ref$as,
  10199. className = _ref.className,
  10200. fluid = _ref.fluid,
  10201. bsPrefix = _ref.bsPrefix,
  10202. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["as", "className", "fluid", "bsPrefix"]);
  10203. bsPrefix = useBootstrapPrefix(bsPrefix, 'jumbotron');
  10204. var classes = (_classes = {}, _classes[bsPrefix] = true, _classes[bsPrefix + "-fluid"] = fluid, _classes);
  10205. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  10206. ref: ref
  10207. }, props, {
  10208. className: classnames_default()(className, classes),
  10209. __source: {
  10210. fileName: Jumbotron_jsxFileName,
  10211. lineNumber: 37
  10212. },
  10213. __self: this
  10214. }));
  10215. });
  10216. Jumbotron.propTypes = Jumbotron_propTypes;
  10217. Jumbotron.defaultProps = Jumbotron_defaultProps;
  10218. Jumbotron.displayName = 'Jumbotron';
  10219. /* harmony default export */ var src_Jumbotron = (Jumbotron);
  10220. // EXTERNAL MODULE: ./node_modules/dom-helpers/query/querySelectorAll.js
  10221. var querySelectorAll = __webpack_require__(10);
  10222. var querySelectorAll_default = /*#__PURE__*/__webpack_require__.n(querySelectorAll);
  10223. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useForceUpdate.js
  10224. /**
  10225. * Returns a function that triggers a component update. the hook equivalent to
  10226. * `this.forceUpdate()` in a class component. In most cases using a state value directly
  10227. * is preferable but may be required in some advanced usages of refs for interop or
  10228. * when direct DOM manipulation is required.
  10229. *
  10230. * ```ts
  10231. * const forceUpdate = useForceUpdate();
  10232. *
  10233. * const updateOnClick = useCallback(() => {
  10234. * forceUpdate()
  10235. * }, [forceUpdate])
  10236. *
  10237. * return <button type="button" onClick={updateOnClick}>Hi there</button>
  10238. * ```
  10239. */
  10240. function useForceUpdate() {
  10241. // The toggling state value is designed to defeat React optimizations for skipping
  10242. var _useReducer = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useReducer"])(function (state) {
  10243. return !state;
  10244. }, false),
  10245. dispatch = _useReducer[1];
  10246. return dispatch;
  10247. }
  10248. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useMergedRefs.js
  10249. var toFnRef = function toFnRef(ref) {
  10250. return !ref || typeof ref === 'function' ? ref : function (value) {
  10251. ref.current = value;
  10252. };
  10253. };
  10254. function mergeRefs(refA, refB) {
  10255. var a = toFnRef(refA);
  10256. var b = toFnRef(refB);
  10257. return function (value) {
  10258. if (a) a(value);
  10259. if (b) b(value);
  10260. };
  10261. }
  10262. /**
  10263. * Create and returns a single callback ref composed from two other Refs.
  10264. *
  10265. * ```tsx
  10266. * const Button = React.forwardRef((props, ref) => {
  10267. * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();
  10268. * const mergedRef = useMergedRefs(ref, attachRef);
  10269. *
  10270. * return <button ref={mergedRef} {...props}/>
  10271. * })
  10272. * ```
  10273. *
  10274. * @param refA A Callback or mutable Ref
  10275. * @param refB A Callback or mutable Ref
  10276. */
  10277. function useMergedRefs(refA, refB) {
  10278. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  10279. return mergeRefs(refA, refB);
  10280. }, [refA, refB]);
  10281. }
  10282. /* harmony default export */ var esm_useMergedRefs = (useMergedRefs);
  10283. // CONCATENATED MODULE: ./src/TabContext.js
  10284. var TabContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null);
  10285. /* harmony default export */ var src_TabContext = (TabContext);
  10286. // CONCATENATED MODULE: ./src/AbstractNav.js
  10287. var AbstractNav_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/AbstractNav.js";
  10288. var AbstractNav_noop = function noop() {};
  10289. var AbstractNav_propTypes = {
  10290. onSelect: prop_types_default.a.func.isRequired,
  10291. as: prop_types_default.a.elementType,
  10292. role: prop_types_default.a.string,
  10293. /** @private */
  10294. onKeyDown: prop_types_default.a.func,
  10295. /** @private */
  10296. parentOnSelect: prop_types_default.a.func,
  10297. /** @private */
  10298. getControlledId: prop_types_default.a.func,
  10299. /** @private */
  10300. getControllerId: prop_types_default.a.func,
  10301. /** @private */
  10302. activeKey: prop_types_default.a.any
  10303. };
  10304. var AbstractNav = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10305. var _ref$as = _ref.as,
  10306. Component = _ref$as === void 0 ? 'ul' : _ref$as,
  10307. onSelect = _ref.onSelect,
  10308. activeKey = _ref.activeKey,
  10309. role = _ref.role,
  10310. onKeyDown = _ref.onKeyDown,
  10311. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["as", "onSelect", "activeKey", "role", "onKeyDown"]);
  10312. // A ref and forceUpdate for refocus, b/c we only want to trigger when needed
  10313. // and don't want to reset the set in the effect
  10314. var forceUpdate = useForceUpdate();
  10315. var needsRefocusRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false);
  10316. var parentOnSelect = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  10317. var tabContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_TabContext);
  10318. var getControlledId, getControllerId;
  10319. if (tabContext) {
  10320. role = role || 'tablist';
  10321. activeKey = tabContext.activeKey;
  10322. getControlledId = tabContext.getControlledId;
  10323. getControllerId = tabContext.getControllerId;
  10324. }
  10325. var listNode = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  10326. var getNextActiveChild = function getNextActiveChild(offset) {
  10327. if (!listNode.current) return null;
  10328. var items = querySelectorAll_default()(listNode.current, '[data-rb-event-key]:not(.disabled)');
  10329. var activeChild = listNode.current.querySelector('.active');
  10330. var index = items.indexOf(activeChild);
  10331. if (index === -1) return null;
  10332. var nextIndex = index + offset;
  10333. if (nextIndex >= items.length) nextIndex = 0;
  10334. if (nextIndex < 0) nextIndex = items.length - 1;
  10335. return items[nextIndex];
  10336. };
  10337. var handleSelect = function handleSelect(key, event) {
  10338. if (key == null) return;
  10339. if (onSelect) onSelect(key, event);
  10340. if (parentOnSelect) parentOnSelect(key, event);
  10341. };
  10342. var handleKeyDown = function handleKeyDown(event) {
  10343. if (onKeyDown) onKeyDown(event);
  10344. var nextActiveChild;
  10345. switch (event.key) {
  10346. case 'ArrowLeft':
  10347. case 'ArrowUp':
  10348. nextActiveChild = getNextActiveChild(-1);
  10349. break;
  10350. case 'ArrowRight':
  10351. case 'ArrowDown':
  10352. nextActiveChild = getNextActiveChild(1);
  10353. break;
  10354. default:
  10355. return;
  10356. }
  10357. if (!nextActiveChild) return;
  10358. event.preventDefault();
  10359. handleSelect(nextActiveChild.dataset.rbEventKey, event);
  10360. needsRefocusRef.current = true;
  10361. forceUpdate();
  10362. };
  10363. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  10364. if (listNode.current && needsRefocusRef.current) {
  10365. var activeChild = listNode.current.querySelector('[data-rb-event-key].active');
  10366. if (activeChild) activeChild.focus();
  10367. }
  10368. needsRefocusRef.current = false;
  10369. });
  10370. var mergedRef = esm_useMergedRefs(ref, listNode);
  10371. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  10372. value: handleSelect,
  10373. __source: {
  10374. fileName: AbstractNav_jsxFileName,
  10375. lineNumber: 123
  10376. },
  10377. __self: this
  10378. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_NavContext.Provider, {
  10379. value: {
  10380. role: role,
  10381. // used by NavLink to determine it's role
  10382. activeKey: makeEventKey(activeKey),
  10383. getControlledId: getControlledId || AbstractNav_noop,
  10384. getControllerId: getControllerId || AbstractNav_noop
  10385. },
  10386. __source: {
  10387. fileName: AbstractNav_jsxFileName,
  10388. lineNumber: 124
  10389. },
  10390. __self: this
  10391. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  10392. onKeyDown: handleKeyDown,
  10393. ref: mergedRef,
  10394. role: role,
  10395. __source: {
  10396. fileName: AbstractNav_jsxFileName,
  10397. lineNumber: 132
  10398. },
  10399. __self: this
  10400. }))));
  10401. });
  10402. AbstractNav.propTypes = AbstractNav_propTypes;
  10403. /* harmony default export */ var src_AbstractNav = (AbstractNav);
  10404. // CONCATENATED MODULE: ./src/AbstractNavItem.js
  10405. var AbstractNavItem_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/AbstractNavItem.js";
  10406. var AbstractNavItem_propTypes = {
  10407. active: prop_types_default.a.bool,
  10408. role: prop_types_default.a.string,
  10409. href: prop_types_default.a.string,
  10410. tabIndex: prop_types_default.a.string,
  10411. eventKey: prop_types_default.a.any,
  10412. onclick: prop_types_default.a.func,
  10413. as: prop_types_default.a.any,
  10414. onClick: prop_types_default.a.func,
  10415. onSelect: prop_types_default.a.func
  10416. };
  10417. var AbstractNavItem_defaultProps = {
  10418. disabled: false
  10419. };
  10420. var AbstractNavItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10421. var active = _ref.active,
  10422. className = _ref.className,
  10423. tabIndex = _ref.tabIndex,
  10424. eventKey = _ref.eventKey,
  10425. onSelect = _ref.onSelect,
  10426. onClick = _ref.onClick,
  10427. Component = _ref.as,
  10428. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["active", "className", "tabIndex", "eventKey", "onSelect", "onClick", "as"]);
  10429. var navKey = makeEventKey(eventKey, props.href);
  10430. var parentOnSelect = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  10431. var navContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_NavContext);
  10432. var isActive = active;
  10433. if (navContext) {
  10434. if (!props.role && navContext.role === 'tablist') props.role = 'tab';
  10435. props['data-rb-event-key'] = navKey;
  10436. props.id = navContext.getControllerId(navKey);
  10437. props['aria-controls'] = navContext.getControlledId(navKey);
  10438. isActive = active == null && navKey != null ? navContext.activeKey === navKey : active;
  10439. }
  10440. if (props.role === 'tab') {
  10441. props.tabIndex = isActive ? tabIndex : -1;
  10442. props['aria-selected'] = isActive;
  10443. }
  10444. var handleOnclick = useEventCallback(function (e) {
  10445. if (onClick) onClick(e);
  10446. if (navKey == null) return;
  10447. if (onSelect) onSelect(navKey, e);
  10448. if (parentOnSelect) parentOnSelect(navKey, e);
  10449. });
  10450. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  10451. ref: ref,
  10452. onClick: handleOnclick,
  10453. className: classnames_default()(className, isActive && 'active'),
  10454. __source: {
  10455. fileName: AbstractNavItem_jsxFileName,
  10456. lineNumber: 72
  10457. },
  10458. __self: this
  10459. }));
  10460. });
  10461. AbstractNavItem.propTypes = AbstractNavItem_propTypes;
  10462. AbstractNavItem.defaultProps = AbstractNavItem_defaultProps;
  10463. /* harmony default export */ var src_AbstractNavItem = (AbstractNavItem);
  10464. // CONCATENATED MODULE: ./src/ListGroupItem.js
  10465. var ListGroupItem_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ListGroupItem.js";
  10466. var ListGroupItem_propTypes = {
  10467. /**
  10468. * @default 'list-group-item'
  10469. */
  10470. bsPrefix: prop_types_default.a.string,
  10471. /**
  10472. * Sets contextual classes for list item
  10473. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')}
  10474. */
  10475. variant: prop_types_default.a.string,
  10476. /**
  10477. * Marks a ListGroupItem as actionable, applying additional hover, active and disabled styles
  10478. * for links and buttons.
  10479. */
  10480. action: prop_types_default.a.bool,
  10481. /**
  10482. * Sets list item as active
  10483. */
  10484. active: prop_types_default.a.bool,
  10485. /**
  10486. * Sets list item state as disabled
  10487. */
  10488. disabled: prop_types_default.a.bool,
  10489. eventKey: prop_types_default.a.string,
  10490. onClick: prop_types_default.a.func,
  10491. href: prop_types_default.a.string,
  10492. /**
  10493. * You can use a custom element type for this component. For none `action` items, items render as `li`.
  10494. * For actions the default is an achor or button element depending on whether a `href` is provided.
  10495. *
  10496. * @default {'div' | 'a' | 'button'}
  10497. */
  10498. as: prop_types_default.a.elementType
  10499. };
  10500. var ListGroupItem_defaultProps = {
  10501. variant: null,
  10502. active: false,
  10503. disabled: false
  10504. };
  10505. var ListGroupItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10506. var bsPrefix = _ref.bsPrefix,
  10507. active = _ref.active,
  10508. disabled = _ref.disabled,
  10509. className = _ref.className,
  10510. variant = _ref.variant,
  10511. action = _ref.action,
  10512. as = _ref.as,
  10513. eventKey = _ref.eventKey,
  10514. onClick = _ref.onClick,
  10515. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "active", "disabled", "className", "variant", "action", "as", "eventKey", "onClick"]);
  10516. bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');
  10517. var handleClick = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  10518. if (disabled) {
  10519. event.preventDefault();
  10520. event.stopPropagation();
  10521. return;
  10522. }
  10523. if (onClick) onClick(event);
  10524. }, [disabled, onClick]);
  10525. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNavItem, Object(esm_extends["a" /* default */])({
  10526. ref: ref
  10527. }, props, {
  10528. eventKey: makeEventKey(eventKey, props.href) // eslint-disable-next-line
  10529. ,
  10530. as: as || (action ? props.href ? 'a' : 'button' : 'div'),
  10531. onClick: handleClick,
  10532. className: classnames_default()(className, bsPrefix, active && 'active', disabled && 'disabled', variant && bsPrefix + "-" + variant, action && bsPrefix + "-action"),
  10533. __source: {
  10534. fileName: ListGroupItem_jsxFileName,
  10535. lineNumber: 88
  10536. },
  10537. __self: this
  10538. }));
  10539. });
  10540. ListGroupItem.propTypes = ListGroupItem_propTypes;
  10541. ListGroupItem.defaultProps = ListGroupItem_defaultProps;
  10542. ListGroupItem.displayName = 'ListGroupItem';
  10543. /* harmony default export */ var src_ListGroupItem = (ListGroupItem);
  10544. // CONCATENATED MODULE: ./src/ListGroup.js
  10545. var ListGroup_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ListGroup.js";
  10546. var ListGroup_propTypes = {
  10547. /**
  10548. * @default 'list-group'
  10549. */
  10550. bsPrefix: prop_types_default.a.string,
  10551. /**
  10552. * Adds a variant to the list-group
  10553. *
  10554. * @type {('flush')}
  10555. */
  10556. variant: prop_types_default.a.oneOf(['flush', null]),
  10557. /**
  10558. * You can use a custom element type for this component.
  10559. */
  10560. as: prop_types_default.a.elementType
  10561. };
  10562. var ListGroup_defaultProps = {
  10563. variant: null
  10564. };
  10565. var ListGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  10566. var _useUncontrolled = useUncontrolled(props, {
  10567. activeKey: 'onSelect'
  10568. }),
  10569. className = _useUncontrolled.className,
  10570. bsPrefix = _useUncontrolled.bsPrefix,
  10571. variant = _useUncontrolled.variant,
  10572. _useUncontrolled$as = _useUncontrolled.as,
  10573. as = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  10574. controlledProps = Object(objectWithoutPropertiesLoose["a" /* default */])(_useUncontrolled, ["className", "bsPrefix", "variant", "as"]);
  10575. bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group');
  10576. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNav, Object(esm_extends["a" /* default */])({
  10577. ref: ref
  10578. }, controlledProps, {
  10579. as: as,
  10580. className: classnames_default()(className, bsPrefix, variant && bsPrefix + "-" + variant),
  10581. __source: {
  10582. fileName: ListGroup_jsxFileName,
  10583. lineNumber: 49
  10584. },
  10585. __self: this
  10586. }));
  10587. });
  10588. ListGroup.propTypes = ListGroup_propTypes;
  10589. ListGroup.defaultProps = ListGroup_defaultProps;
  10590. ListGroup.displayName = 'ListGroup';
  10591. ListGroup.Item = src_ListGroupItem;
  10592. /* harmony default export */ var src_ListGroup = (ListGroup);
  10593. // CONCATENATED MODULE: ./src/Media.js
  10594. var Media_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Media.js";
  10595. var Media_propTypes = {
  10596. /**
  10597. * @default 'media'
  10598. */
  10599. bsPrefix: prop_types_default.a.string,
  10600. as: prop_types_default.a.elementType
  10601. };
  10602. var Media = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  10603. function (_ref, ref) {
  10604. var bsPrefix = _ref.bsPrefix,
  10605. className = _ref.className,
  10606. _ref$as = _ref.as,
  10607. Component = _ref$as === void 0 ? 'div' : _ref$as,
  10608. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "as"]);
  10609. var prefix = useBootstrapPrefix(bsPrefix, 'media');
  10610. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  10611. ref: ref,
  10612. className: classnames_default()(className, prefix),
  10613. __source: {
  10614. fileName: Media_jsxFileName,
  10615. lineNumber: 23
  10616. },
  10617. __self: this
  10618. }));
  10619. });
  10620. Media.displayName = 'Media';
  10621. Media.propTypes = Media_propTypes;
  10622. Media.Body = createWithBsPrefix('media-body');
  10623. /* harmony default export */ var src_Media = (Media);
  10624. // EXTERNAL MODULE: ./node_modules/dom-helpers/events/index.js
  10625. var events = __webpack_require__(25);
  10626. var events_default = /*#__PURE__*/__webpack_require__.n(events);
  10627. // EXTERNAL MODULE: ./node_modules/dom-helpers/ownerDocument.js
  10628. var ownerDocument = __webpack_require__(17);
  10629. var ownerDocument_default = /*#__PURE__*/__webpack_require__.n(ownerDocument);
  10630. // EXTERNAL MODULE: ./node_modules/dom-helpers/util/inDOM.js
  10631. var inDOM = __webpack_require__(11);
  10632. var inDOM_default = /*#__PURE__*/__webpack_require__.n(inDOM);
  10633. // EXTERNAL MODULE: ./node_modules/dom-helpers/util/scrollbarSize.js
  10634. var scrollbarSize = __webpack_require__(19);
  10635. var scrollbarSize_default = /*#__PURE__*/__webpack_require__.n(scrollbarSize);
  10636. // EXTERNAL MODULE: ./node_modules/react-overlays/Modal.js
  10637. var react_overlays_Modal = __webpack_require__(53);
  10638. var Modal_default = /*#__PURE__*/__webpack_require__.n(react_overlays_Modal);
  10639. // CONCATENATED MODULE: ./src/ModalBody.js
  10640. /* harmony default export */ var ModalBody = (createWithBsPrefix('modal-body'));
  10641. // CONCATENATED MODULE: ./src/ModalDialog.js
  10642. var ModalDialog_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ModalDialog.js";
  10643. var ModalDialog_propTypes = {
  10644. /** @default 'modal' */
  10645. bsPrefix: prop_types_default.a.string,
  10646. /**
  10647. * Render a large, extra large or small modal.
  10648. *
  10649. * @type ('sm'|'lg','xl')
  10650. */
  10651. size: prop_types_default.a.string,
  10652. /**
  10653. * Specify whether the Component should be vertically centered
  10654. */
  10655. centered: prop_types_default.a.bool,
  10656. /**
  10657. * Allows scrolling the `<Modal.Body>` instead of the entire Modal when overflowing.
  10658. */
  10659. scrollable: prop_types_default.a.bool
  10660. };
  10661. var ModalDialog = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10662. var bsPrefix = _ref.bsPrefix,
  10663. className = _ref.className,
  10664. centered = _ref.centered,
  10665. size = _ref.size,
  10666. children = _ref.children,
  10667. scrollable = _ref.scrollable,
  10668. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "centered", "size", "children", "scrollable"]);
  10669. bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');
  10670. var dialogClass = bsPrefix + "-dialog";
  10671. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({}, props, {
  10672. ref: ref,
  10673. className: classnames_default()(dialogClass, className, size && bsPrefix + "-" + size, centered && dialogClass + "-centered", scrollable && dialogClass + "-scrollable"),
  10674. __source: {
  10675. fileName: ModalDialog_jsxFileName,
  10676. lineNumber: 38
  10677. },
  10678. __self: this
  10679. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  10680. className: classnames_default()(bsPrefix + "-content"),
  10681. __source: {
  10682. fileName: ModalDialog_jsxFileName,
  10683. lineNumber: 49
  10684. },
  10685. __self: this
  10686. }, children));
  10687. });
  10688. ModalDialog.displayName = 'ModalDialog';
  10689. ModalDialog.propTypes = ModalDialog_propTypes;
  10690. /* harmony default export */ var src_ModalDialog = (ModalDialog);
  10691. // CONCATENATED MODULE: ./src/ModalFooter.js
  10692. /* harmony default export */ var ModalFooter = (createWithBsPrefix('modal-footer'));
  10693. // CONCATENATED MODULE: ./src/ModalContext.js
  10694. var ModalContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({
  10695. onHide: function onHide() {}
  10696. });
  10697. /* harmony default export */ var src_ModalContext = (ModalContext);
  10698. // CONCATENATED MODULE: ./src/ModalHeader.js
  10699. var ModalHeader_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ModalHeader.js";
  10700. var ModalHeader_propTypes = {
  10701. bsPrefix: prop_types_default.a.string,
  10702. /**
  10703. * Provides an accessible label for the close
  10704. * button. It is used for Assistive Technology when the label text is not
  10705. * readable.
  10706. */
  10707. closeLabel: prop_types_default.a.string,
  10708. /**
  10709. * Specify whether the Component should contain a close button
  10710. */
  10711. closeButton: prop_types_default.a.bool,
  10712. /**
  10713. * A Callback fired when the close button is clicked. If used directly inside
  10714. * a Modal component, the onHide will automatically be propagated up to the
  10715. * parent Modal `onHide`.
  10716. */
  10717. onHide: prop_types_default.a.func
  10718. };
  10719. var ModalHeader_defaultProps = {
  10720. closeLabel: 'Close',
  10721. closeButton: false
  10722. };
  10723. var ModalHeader = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10724. var bsPrefix = _ref.bsPrefix,
  10725. closeLabel = _ref.closeLabel,
  10726. closeButton = _ref.closeButton,
  10727. onHide = _ref.onHide,
  10728. className = _ref.className,
  10729. children = _ref.children,
  10730. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "closeLabel", "closeButton", "onHide", "className", "children"]);
  10731. bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');
  10732. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_ModalContext);
  10733. var handleClick = useEventCallback(function () {
  10734. if (context) context.onHide();
  10735. if (onHide) onHide();
  10736. });
  10737. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  10738. ref: ref
  10739. }, props, {
  10740. className: classnames_default()(className, bsPrefix),
  10741. __source: {
  10742. fileName: ModalHeader_jsxFileName,
  10743. lineNumber: 61
  10744. },
  10745. __self: this
  10746. }), children, closeButton && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_CloseButton, {
  10747. label: closeLabel,
  10748. onClick: handleClick,
  10749. __source: {
  10750. fileName: ModalHeader_jsxFileName,
  10751. lineNumber: 65
  10752. },
  10753. __self: this
  10754. }));
  10755. });
  10756. ModalHeader.displayName = 'ModalHeader';
  10757. ModalHeader.propTypes = ModalHeader_propTypes;
  10758. ModalHeader.defaultProps = ModalHeader_defaultProps;
  10759. /* harmony default export */ var src_ModalHeader = (ModalHeader);
  10760. // CONCATENATED MODULE: ./src/ModalTitle.js
  10761. var ModalTitle_DivStyledAsH4 = divWithClassName('h4');
  10762. /* harmony default export */ var ModalTitle = (createWithBsPrefix('modal-title', {
  10763. Component: ModalTitle_DivStyledAsH4
  10764. }));
  10765. // EXTERNAL MODULE: ./node_modules/react-overlays/ModalManager.js
  10766. var ModalManager = __webpack_require__(35);
  10767. var ModalManager_default = /*#__PURE__*/__webpack_require__.n(ModalManager);
  10768. // CONCATENATED MODULE: ./src/utils/BootstrapModalManager.js
  10769. var Selector = {
  10770. FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
  10771. STICKY_CONTENT: '.sticky-top',
  10772. NAVBAR_TOGGLER: '.navbar-toggler'
  10773. };
  10774. var BootstrapModalManager_BootstrapModalManager =
  10775. /*#__PURE__*/
  10776. function (_ModalManager) {
  10777. Object(inheritsLoose["a" /* default */])(BootstrapModalManager, _ModalManager);
  10778. function BootstrapModalManager() {
  10779. var _this;
  10780. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  10781. args[_key] = arguments[_key];
  10782. }
  10783. _this = _ModalManager.call.apply(_ModalManager, [this].concat(args)) || this;
  10784. _this.adjustAndStore = function (prop, element, adjust) {
  10785. var actual = element.style[prop];
  10786. element.dataset[prop] = actual;
  10787. style_default()(element, prop, parseFloat(style_default()(element, prop)) + adjust + "px");
  10788. };
  10789. _this.restore = function (prop, element) {
  10790. var value = element.dataset[prop];
  10791. if (value !== undefined) {
  10792. delete element.dataset[prop];
  10793. style_default()(element, prop, value);
  10794. }
  10795. };
  10796. return _this;
  10797. }
  10798. var _proto = BootstrapModalManager.prototype;
  10799. _proto.setContainerStyle = function setContainerStyle(containerState, container) {
  10800. var _this2 = this;
  10801. _ModalManager.prototype.setContainerStyle.call(this, containerState, container);
  10802. if (!containerState.overflowing) return;
  10803. var size = scrollbarSize_default()();
  10804. querySelectorAll_default()(container, Selector.FIXED_CONTENT).forEach(function (el) {
  10805. return _this2.adjustAndStore('paddingRight', el, size);
  10806. });
  10807. querySelectorAll_default()(container, Selector.STICKY_CONTENT).forEach(function (el) {
  10808. return _this2.adjustAndStore('margingRight', el, -size);
  10809. });
  10810. querySelectorAll_default()(container, Selector.NAVBAR_TOGGLER).forEach(function (el) {
  10811. return _this2.adjustAndStore('margingRight', el, size);
  10812. });
  10813. };
  10814. _proto.removeContainerStyle = function removeContainerStyle(containerState, container) {
  10815. var _this3 = this;
  10816. _ModalManager.prototype.removeContainerStyle.call(this, containerState, container);
  10817. querySelectorAll_default()(container, Selector.FIXED_CONTENT).forEach(function (el) {
  10818. return _this3.restore('paddingRight', el);
  10819. });
  10820. querySelectorAll_default()(container, Selector.STICKY_CONTENT).forEach(function (el) {
  10821. return _this3.restore('margingRight', el);
  10822. });
  10823. querySelectorAll_default()(container, Selector.NAVBAR_TOGGLER).forEach(function (el) {
  10824. return _this3.restore('margingRight', el);
  10825. });
  10826. };
  10827. return BootstrapModalManager;
  10828. }(ModalManager_default.a);
  10829. // CONCATENATED MODULE: ./src/Modal.js
  10830. var Modal_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Modal.js";
  10831. var Modal_propTypes = {
  10832. /**
  10833. * @default 'modal'
  10834. */
  10835. bsPrefix: prop_types_default.a.string,
  10836. /**
  10837. * Render a large, extra large or small modal.
  10838. *
  10839. * @type ('sm'|'lg','xl')
  10840. */
  10841. size: prop_types_default.a.string,
  10842. /**
  10843. * vertically center the Dialog in the window
  10844. */
  10845. centered: prop_types_default.a.bool,
  10846. /**
  10847. * Include a backdrop component. Specify 'static' for a backdrop that doesn't
  10848. * trigger an "onHide" when clicked.
  10849. */
  10850. backdrop: prop_types_default.a.oneOf(['static', true, false]),
  10851. /**
  10852. * Add an optional extra class name to .modal-backdrop
  10853. * It could end up looking like class="modal-backdrop foo-modal-backdrop in".
  10854. */
  10855. backdropClassName: prop_types_default.a.string,
  10856. /**
  10857. * Close the modal when escape key is pressed
  10858. */
  10859. keyboard: prop_types_default.a.bool,
  10860. /**
  10861. * Allows scrolling the `<Modal.Body>` instead of the entire Modal when overflowing.
  10862. */
  10863. scrollable: prop_types_default.a.bool,
  10864. /**
  10865. * Open and close the Modal with a slide and fade animation.
  10866. */
  10867. animation: prop_types_default.a.bool,
  10868. /**
  10869. * A css class to apply to the Modal dialog DOM node.
  10870. */
  10871. dialogClassName: prop_types_default.a.string,
  10872. /**
  10873. * A Component type that provides the modal content Markup. This is a useful
  10874. * prop when you want to use your own styles and markup to create a custom
  10875. * modal component.
  10876. */
  10877. dialogAs: prop_types_default.a.elementType,
  10878. /**
  10879. * When `true` The modal will automatically shift focus to itself when it
  10880. * opens, and replace it to the last focused element when it closes.
  10881. * Generally this should never be set to false as it makes the Modal less
  10882. * accessible to assistive technologies, like screen-readers.
  10883. */
  10884. autoFocus: prop_types_default.a.bool,
  10885. /**
  10886. * When `true` The modal will prevent focus from leaving the Modal while
  10887. * open. Consider leaving the default value here, as it is necessary to make
  10888. * the Modal work well with assistive technologies, such as screen readers.
  10889. */
  10890. enforceFocus: prop_types_default.a.bool,
  10891. /**
  10892. * When `true` The modal will restore focus to previously focused element once
  10893. * modal is hidden
  10894. */
  10895. restoreFocus: prop_types_default.a.bool,
  10896. /**
  10897. * When `true` The modal will show itself.
  10898. */
  10899. show: prop_types_default.a.bool,
  10900. /**
  10901. * A callback fired when the Modal is opening.
  10902. */
  10903. onShow: prop_types_default.a.func,
  10904. /**
  10905. * A callback fired when the header closeButton or non-static backdrop is
  10906. * clicked. Required if either are specified.
  10907. */
  10908. onHide: prop_types_default.a.func,
  10909. /**
  10910. * A callback fired when the escape key, if specified in `keyboard`, is pressed.
  10911. */
  10912. onEscapeKeyDown: prop_types_default.a.func,
  10913. /**
  10914. * Callback fired before the Modal transitions in
  10915. */
  10916. onEnter: prop_types_default.a.func,
  10917. /**
  10918. * Callback fired as the Modal begins to transition in
  10919. */
  10920. onEntering: prop_types_default.a.func,
  10921. /**
  10922. * Callback fired after the Modal finishes transitioning in
  10923. */
  10924. onEntered: prop_types_default.a.func,
  10925. /**
  10926. * Callback fired right before the Modal transitions out
  10927. */
  10928. onExit: prop_types_default.a.func,
  10929. /**
  10930. * Callback fired as the Modal begins to transition out
  10931. */
  10932. onExiting: prop_types_default.a.func,
  10933. /**
  10934. * Callback fired after the Modal finishes transitioning out
  10935. */
  10936. onExited: prop_types_default.a.func,
  10937. /**
  10938. * A ModalManager instance used to track and manage the state of open
  10939. * Modals. Useful when customizing how modals interact within a container
  10940. */
  10941. manager: prop_types_default.a.object.isRequired,
  10942. /**
  10943. * @private
  10944. */
  10945. container: prop_types_default.a.any
  10946. };
  10947. var Modal_defaultProps = {
  10948. show: false,
  10949. backdrop: true,
  10950. keyboard: true,
  10951. autoFocus: true,
  10952. enforceFocus: true,
  10953. restoreFocus: true,
  10954. animation: true,
  10955. dialogAs: src_ModalDialog,
  10956. manager: new BootstrapModalManager_BootstrapModalManager()
  10957. };
  10958. /* eslint-disable no-use-before-define, react/no-multi-comp */
  10959. function DialogTransition(props) {
  10960. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Fade, Object(esm_extends["a" /* default */])({}, props, {
  10961. __source: {
  10962. fileName: Modal_jsxFileName,
  10963. lineNumber: 176
  10964. },
  10965. __self: this
  10966. }));
  10967. }
  10968. function BackdropTransition(props) {
  10969. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Fade, Object(esm_extends["a" /* default */])({}, props, {
  10970. __source: {
  10971. fileName: Modal_jsxFileName,
  10972. lineNumber: 180
  10973. },
  10974. __self: this
  10975. }));
  10976. }
  10977. /* eslint-enable no-use-before-define */
  10978. var Modal_Modal =
  10979. /*#__PURE__*/
  10980. function (_React$Component) {
  10981. Object(inheritsLoose["a" /* default */])(Modal, _React$Component);
  10982. function Modal() {
  10983. var _this;
  10984. for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
  10985. _args[_key] = arguments[_key];
  10986. }
  10987. _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;
  10988. _this.state = {
  10989. style: {}
  10990. };
  10991. _this.modalContext = {
  10992. onHide: function onHide() {
  10993. return _this.props.onHide();
  10994. }
  10995. };
  10996. _this.setModalRef = function (ref) {
  10997. _this._modal = ref;
  10998. };
  10999. _this.handleDialogMouseDown = function () {
  11000. _this._waitingForMouseUp = true;
  11001. };
  11002. _this.handleMouseUp = function (e) {
  11003. if (_this._waitingForMouseUp && e.target === _this._modal.dialog) {
  11004. _this._ignoreBackdropClick = true;
  11005. }
  11006. _this._waitingForMouseUp = false;
  11007. };
  11008. _this.handleClick = function (e) {
  11009. if (_this._ignoreBackdropClick || e.target !== e.currentTarget) {
  11010. _this._ignoreBackdropClick = false;
  11011. return;
  11012. }
  11013. _this.props.onHide();
  11014. };
  11015. _this.handleEnter = function (node) {
  11016. var _this$props;
  11017. if (node) {
  11018. node.style.display = 'block';
  11019. _this.updateDialogStyle(node);
  11020. }
  11021. for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
  11022. args[_key2 - 1] = arguments[_key2];
  11023. }
  11024. if (_this.props.onEnter) (_this$props = _this.props).onEnter.apply(_this$props, [node].concat(args));
  11025. };
  11026. _this.handleEntering = function (node) {
  11027. var _this$props2;
  11028. for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
  11029. args[_key3 - 1] = arguments[_key3];
  11030. }
  11031. if (_this.props.onEntering) (_this$props2 = _this.props).onEntering.apply(_this$props2, [node].concat(args)); // FIXME: This should work even when animation is disabled.
  11032. events_default.a.on(window, 'resize', _this.handleWindowResize);
  11033. };
  11034. _this.handleExited = function (node) {
  11035. var _this$props3;
  11036. if (node) node.style.display = ''; // RHL removes it sometimes
  11037. for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
  11038. args[_key4 - 1] = arguments[_key4];
  11039. }
  11040. if (_this.props.onExited) (_this$props3 = _this.props).onExited.apply(_this$props3, args); // FIXME: This should work even when animation is disabled.
  11041. events_default.a.off(window, 'resize', _this.handleWindowResize);
  11042. };
  11043. _this.handleWindowResize = function () {
  11044. _this.updateDialogStyle(_this._modal.dialog);
  11045. };
  11046. _this.renderBackdrop = function (props) {
  11047. var _this$props4 = _this.props,
  11048. bsPrefix = _this$props4.bsPrefix,
  11049. backdropClassName = _this$props4.backdropClassName,
  11050. animation = _this$props4.animation;
  11051. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({}, props, {
  11052. className: classnames_default()(bsPrefix + "-backdrop", backdropClassName, !animation && 'show'),
  11053. __source: {
  11054. fileName: Modal_jsxFileName,
  11055. lineNumber: 279
  11056. },
  11057. __self: this
  11058. }));
  11059. };
  11060. return _this;
  11061. }
  11062. var _proto = Modal.prototype;
  11063. _proto.componentWillUnmount = function componentWillUnmount() {
  11064. // Clean up the listener if we need to.
  11065. events_default.a.off(window, 'resize', this.handleWindowResize);
  11066. };
  11067. _proto.updateDialogStyle = function updateDialogStyle(node) {
  11068. if (!inDOM_default.a) return;
  11069. var manager = this.props.manager;
  11070. var containerIsOverflowing = manager.isContainerOverflowing(this._modal);
  11071. var modalIsOverflowing = node.scrollHeight > ownerDocument_default()(node).documentElement.clientHeight;
  11072. this.setState({
  11073. style: {
  11074. paddingRight: containerIsOverflowing && !modalIsOverflowing ? scrollbarSize_default()() : undefined,
  11075. paddingLeft: !containerIsOverflowing && modalIsOverflowing ? scrollbarSize_default()() : undefined
  11076. }
  11077. });
  11078. };
  11079. _proto.render = function render() {
  11080. var _this$props5 = this.props,
  11081. bsPrefix = _this$props5.bsPrefix,
  11082. className = _this$props5.className,
  11083. style = _this$props5.style,
  11084. dialogClassName = _this$props5.dialogClassName,
  11085. children = _this$props5.children,
  11086. Dialog = _this$props5.dialogAs,
  11087. show = _this$props5.show,
  11088. animation = _this$props5.animation,
  11089. backdrop = _this$props5.backdrop,
  11090. keyboard = _this$props5.keyboard,
  11091. manager = _this$props5.manager,
  11092. onEscapeKeyDown = _this$props5.onEscapeKeyDown,
  11093. onShow = _this$props5.onShow,
  11094. onHide = _this$props5.onHide,
  11095. container = _this$props5.container,
  11096. autoFocus = _this$props5.autoFocus,
  11097. enforceFocus = _this$props5.enforceFocus,
  11098. restoreFocus = _this$props5.restoreFocus,
  11099. onEntered = _this$props5.onEntered,
  11100. onExit = _this$props5.onExit,
  11101. onExiting = _this$props5.onExiting,
  11102. _ = _this$props5.onExited,
  11103. _1 = _this$props5.onEntering,
  11104. _6 = _this$props5.onEnter,
  11105. _4 = _this$props5.onEntering,
  11106. _2 = _this$props5.backdropClassName,
  11107. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props5, ["bsPrefix", "className", "style", "dialogClassName", "children", "dialogAs", "show", "animation", "backdrop", "keyboard", "manager", "onEscapeKeyDown", "onShow", "onHide", "container", "autoFocus", "enforceFocus", "restoreFocus", "onEntered", "onExit", "onExiting", "onExited", "onEntering", "onEnter", "onEntering", "backdropClassName"]);
  11108. var clickHandler = backdrop === true ? this.handleClick : null;
  11109. var baseModalStyle = Object(esm_extends["a" /* default */])({}, style, {}, this.state.style); // Sets `display` always block when `animation` is false
  11110. if (!animation) baseModalStyle.display = 'block';
  11111. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_ModalContext.Provider, {
  11112. value: this.modalContext,
  11113. __source: {
  11114. fileName: Modal_jsxFileName,
  11115. lineNumber: 333
  11116. },
  11117. __self: this
  11118. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Modal_default.a, Object(esm_extends["a" /* default */])({
  11119. show: show,
  11120. backdrop: backdrop,
  11121. container: container,
  11122. keyboard: keyboard,
  11123. autoFocus: autoFocus,
  11124. enforceFocus: enforceFocus,
  11125. restoreFocus: restoreFocus,
  11126. onEscapeKeyDown: onEscapeKeyDown,
  11127. onShow: onShow,
  11128. onHide: onHide,
  11129. onEntered: onEntered,
  11130. onExit: onExit,
  11131. onExiting: onExiting,
  11132. manager: manager,
  11133. ref: this.setModalRef,
  11134. style: baseModalStyle,
  11135. className: classnames_default()(className, bsPrefix),
  11136. containerClassName: bsPrefix + "-open",
  11137. transition: animation ? DialogTransition : undefined,
  11138. backdropTransition: animation ? BackdropTransition : undefined,
  11139. renderBackdrop: this.renderBackdrop,
  11140. onClick: clickHandler,
  11141. onMouseUp: this.handleMouseUp,
  11142. onEnter: this.handleEnter,
  11143. onEntering: this.handleEntering,
  11144. onExited: this.handleExited
  11145. }, {
  11146. __source: {
  11147. fileName: Modal_jsxFileName,
  11148. lineNumber: 334
  11149. },
  11150. __self: this
  11151. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Dialog, Object(esm_extends["a" /* default */])({}, props, {
  11152. onMouseDown: this.handleDialogMouseDown,
  11153. className: dialogClassName,
  11154. __source: {
  11155. fileName: Modal_jsxFileName,
  11156. lineNumber: 364
  11157. },
  11158. __self: this
  11159. }), children)));
  11160. };
  11161. return Modal;
  11162. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  11163. Modal_Modal.propTypes = Modal_propTypes;
  11164. Modal_Modal.defaultProps = Modal_defaultProps;
  11165. var DecoratedModal = createBootstrapComponent(Modal_Modal, 'modal');
  11166. DecoratedModal.Body = ModalBody;
  11167. DecoratedModal.Header = src_ModalHeader;
  11168. DecoratedModal.Title = ModalTitle;
  11169. DecoratedModal.Footer = ModalFooter;
  11170. DecoratedModal.Dialog = src_ModalDialog;
  11171. DecoratedModal.TRANSITION_DURATION = 300;
  11172. DecoratedModal.BACKDROP_TRANSITION_DURATION = 150;
  11173. /* harmony default export */ var src_Modal = (DecoratedModal);
  11174. // CONCATENATED MODULE: ./src/NavItem.js
  11175. var NavItem_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/NavItem.js";
  11176. var NavItem_propTypes = {
  11177. /**
  11178. * @default 'nav-item'
  11179. */
  11180. bsPrefix: prop_types_default.a.string,
  11181. /** The ARIA role of the component */
  11182. role: prop_types_default.a.string,
  11183. as: prop_types_default.a.elementType
  11184. };
  11185. var NavItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  11186. function (_ref, ref) {
  11187. var bsPrefix = _ref.bsPrefix,
  11188. className = _ref.className,
  11189. children = _ref.children,
  11190. _ref$as = _ref.as,
  11191. Component = _ref$as === void 0 ? 'div' : _ref$as,
  11192. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "children", "as"]);
  11193. bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');
  11194. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  11195. ref: ref,
  11196. className: classnames_default()(className, bsPrefix),
  11197. __source: {
  11198. fileName: NavItem_jsxFileName,
  11199. lineNumber: 25
  11200. },
  11201. __self: this
  11202. }), children);
  11203. });
  11204. NavItem.displayName = 'NavItem';
  11205. NavItem.propTypes = NavItem_propTypes;
  11206. /* harmony default export */ var src_NavItem = (NavItem);
  11207. // CONCATENATED MODULE: ./src/NavLink.js
  11208. var NavLink_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/NavLink.js";
  11209. var NavLink_propTypes = {
  11210. /**
  11211. * @default 'nav-link'
  11212. */
  11213. bsPrefix: prop_types_default.a.string,
  11214. /**
  11215. * The active state of the NavItem item.
  11216. */
  11217. active: prop_types_default.a.bool,
  11218. /**
  11219. * The disabled state of the NavItem item.
  11220. */
  11221. disabled: prop_types_default.a.bool,
  11222. /**
  11223. * The ARIA role for the `NavLink`, In the context of a 'tablist' parent Nav,
  11224. * the role defaults to 'tab'
  11225. * */
  11226. role: prop_types_default.a.string,
  11227. /** The HTML href attribute for the `NavLink` */
  11228. href: prop_types_default.a.string,
  11229. /** A callback fired when the `NavLink` is selected.
  11230. *
  11231. * ```js
  11232. * function (eventKey: any, event: SyntheticEvent) {}
  11233. * ```
  11234. */
  11235. onSelect: prop_types_default.a.func,
  11236. /**
  11237. * Uniquely idenifies the `NavItem` amongst its siblings,
  11238. * used to determine and control the active state ofthe parent `Nav`
  11239. */
  11240. eventKey: prop_types_default.a.any,
  11241. /** @default 'a' */
  11242. as: prop_types_default.a.elementType,
  11243. /** @private */
  11244. innerRef: prop_types_default.a.any
  11245. };
  11246. var NavLink_defaultProps = {
  11247. disabled: false,
  11248. as: src_SafeAnchor
  11249. };
  11250. var NavLink = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11251. var bsPrefix = _ref.bsPrefix,
  11252. disabled = _ref.disabled,
  11253. className = _ref.className,
  11254. href = _ref.href,
  11255. eventKey = _ref.eventKey,
  11256. onSelect = _ref.onSelect,
  11257. as = _ref.as,
  11258. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "disabled", "className", "href", "eventKey", "onSelect", "as"]);
  11259. bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');
  11260. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNavItem, Object(esm_extends["a" /* default */])({}, props, {
  11261. href: href,
  11262. ref: ref,
  11263. eventKey: eventKey,
  11264. as: as,
  11265. disabled: disabled,
  11266. onSelect: onSelect,
  11267. className: classnames_default()(className, bsPrefix, disabled && 'disabled'),
  11268. __source: {
  11269. fileName: NavLink_jsxFileName,
  11270. lineNumber: 68
  11271. },
  11272. __self: this
  11273. }));
  11274. });
  11275. NavLink.displayName = 'NavLink';
  11276. NavLink.propTypes = NavLink_propTypes;
  11277. NavLink.defaultProps = NavLink_defaultProps;
  11278. /* harmony default export */ var src_NavLink = (NavLink);
  11279. // CONCATENATED MODULE: ./src/Nav.js
  11280. var Nav_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Nav.js";
  11281. var Nav_propTypes = {
  11282. /**
  11283. * @default 'nav'
  11284. */
  11285. bsPrefix: prop_types_default.a.string,
  11286. /** @private */
  11287. navbarBsPrefix: prop_types_default.a.string,
  11288. /** @private */
  11289. cardHeaderBsPrefix: prop_types_default.a.string,
  11290. /**
  11291. * The visual variant of the nav items.
  11292. *
  11293. * @type {('tabs'|'pills')}
  11294. */
  11295. variant: prop_types_default.a.string,
  11296. /**
  11297. * Marks the NavItem with a matching `eventKey` (or `href` if present) as active.
  11298. *
  11299. * @type {string}
  11300. */
  11301. activeKey: prop_types_default.a.any,
  11302. /**
  11303. * Have all `NavItem`s proportionately fill all available width.
  11304. */
  11305. fill: prop_types_default.a.bool,
  11306. /**
  11307. * Have all `NavItem`s evenly fill all available width.
  11308. *
  11309. * @type {boolean}
  11310. */
  11311. justify: all_default()(prop_types_default.a.bool, function (_ref) {
  11312. var justify = _ref.justify,
  11313. navbar = _ref.navbar;
  11314. return justify && navbar ? Error('justify navbar `Nav`s are not supported') : null;
  11315. }),
  11316. /**
  11317. * A callback fired when a NavItem is selected.
  11318. *
  11319. * ```js
  11320. * function (
  11321. * Any eventKey,
  11322. * SyntheticEvent event?
  11323. * )
  11324. * ```
  11325. */
  11326. onSelect: prop_types_default.a.func,
  11327. /**
  11328. * ARIA role for the Nav, in the context of a TabContainer, the default will
  11329. * be set to "tablist", but can be overridden by the Nav when set explicitly.
  11330. *
  11331. * When the role is "tablist", NavLink focus is managed according to
  11332. * the ARIA authoring practices for tabs:
  11333. * https://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/#tabpanel
  11334. */
  11335. role: prop_types_default.a.string,
  11336. /**
  11337. * Apply styling an alignment for use in a Navbar. This prop will be set
  11338. * automatically when the Nav is used inside a Navbar.
  11339. */
  11340. navbar: prop_types_default.a.bool,
  11341. as: prop_types_default.a.elementType,
  11342. /** @private */
  11343. onKeyDown: prop_types_default.a.func
  11344. };
  11345. var Nav_defaultProps = {
  11346. justify: false,
  11347. fill: false
  11348. };
  11349. var Nav = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) {
  11350. var _classNames;
  11351. var _useUncontrolled = useUncontrolled(uncontrolledProps, {
  11352. activeKey: 'onSelect'
  11353. }),
  11354. _useUncontrolled$as = _useUncontrolled.as,
  11355. as = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  11356. bsPrefix = _useUncontrolled.bsPrefix,
  11357. variant = _useUncontrolled.variant,
  11358. fill = _useUncontrolled.fill,
  11359. justify = _useUncontrolled.justify,
  11360. navbar = _useUncontrolled.navbar,
  11361. className = _useUncontrolled.className,
  11362. children = _useUncontrolled.children,
  11363. activeKey = _useUncontrolled.activeKey,
  11364. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_useUncontrolled, ["as", "bsPrefix", "variant", "fill", "justify", "navbar", "className", "children", "activeKey"]);
  11365. bsPrefix = useBootstrapPrefix(bsPrefix, 'nav');
  11366. var navbarBsPrefix, cardHeaderBsPrefix;
  11367. var navbarContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(NavbarContext);
  11368. var cardContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(CardContext);
  11369. if (navbarContext) {
  11370. navbarBsPrefix = navbarContext.bsPrefix;
  11371. navbar = navbar == null ? true : navbar;
  11372. } else if (cardContext) {
  11373. cardHeaderBsPrefix = cardContext.cardHeaderBsPrefix;
  11374. }
  11375. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNav, Object(esm_extends["a" /* default */])({
  11376. as: as,
  11377. ref: ref,
  11378. activeKey: activeKey,
  11379. className: classnames_default()(className, (_classNames = {}, _classNames[bsPrefix] = !navbar, _classNames[navbarBsPrefix + "-nav"] = navbar, _classNames[cardHeaderBsPrefix + "-" + variant] = !!cardHeaderBsPrefix, _classNames[bsPrefix + "-" + variant] = !!variant, _classNames[bsPrefix + "-fill"] = fill, _classNames[bsPrefix + "-justified"] = justify, _classNames))
  11380. }, props, {
  11381. __source: {
  11382. fileName: Nav_jsxFileName,
  11383. lineNumber: 122
  11384. },
  11385. __self: this
  11386. }), children);
  11387. });
  11388. Nav.displayName = 'Nav';
  11389. Nav.propTypes = Nav_propTypes;
  11390. Nav.defaultProps = Nav_defaultProps;
  11391. Nav.Item = src_NavItem;
  11392. Nav.Link = src_NavLink;
  11393. /* harmony default export */ var src_Nav = (Nav);
  11394. // CONCATENATED MODULE: ./src/NavbarBrand.js
  11395. var NavbarBrand_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/NavbarBrand.js";
  11396. var NavbarBrand_propTypes = {
  11397. /** @default 'navbar' */
  11398. bsPrefix: prop_types_default.a.string,
  11399. /**
  11400. * An href, when provided the Brand will render as an `<a>` element (unless `as` is provided).
  11401. */
  11402. href: prop_types_default.a.string,
  11403. /**
  11404. * Set a custom element for this component.
  11405. */
  11406. as: prop_types_default.a.elementType
  11407. };
  11408. var NavbarBrand = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11409. var bsPrefix = _ref.bsPrefix,
  11410. className = _ref.className,
  11411. as = _ref.as,
  11412. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "as"]);
  11413. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');
  11414. var Component = as || (props.href ? 'a' : 'span');
  11415. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  11416. ref: ref,
  11417. className: classnames_default()(className, bsPrefix),
  11418. __source: {
  11419. fileName: NavbarBrand_jsxFileName,
  11420. lineNumber: 29
  11421. },
  11422. __self: this
  11423. }));
  11424. });
  11425. NavbarBrand.displayName = 'NavbarBrand';
  11426. NavbarBrand.propTypes = NavbarBrand_propTypes;
  11427. /* harmony default export */ var src_NavbarBrand = (NavbarBrand);
  11428. // CONCATENATED MODULE: ./src/NavbarCollapse.js
  11429. var NavbarCollapse_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/NavbarCollapse.js";
  11430. var NavbarCollapse_propTypes = {
  11431. /** @default 'navbar-collapse' */
  11432. bsPrefix: prop_types_default.a.string
  11433. };
  11434. var NavbarCollapse = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11435. var children = _ref.children,
  11436. bsPrefix = _ref.bsPrefix,
  11437. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["children", "bsPrefix"]);
  11438. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');
  11439. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(NavbarContext.Consumer, {
  11440. __source: {
  11441. fileName: NavbarCollapse_jsxFileName,
  11442. lineNumber: 17
  11443. },
  11444. __self: this
  11445. }, function (context) {
  11446. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Collapse, Object(esm_extends["a" /* default */])({
  11447. in: !!(context && context.expanded)
  11448. }, props, {
  11449. __source: {
  11450. fileName: NavbarCollapse_jsxFileName,
  11451. lineNumber: 19
  11452. },
  11453. __self: this
  11454. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  11455. ref: ref,
  11456. className: bsPrefix,
  11457. __source: {
  11458. fileName: NavbarCollapse_jsxFileName,
  11459. lineNumber: 20
  11460. },
  11461. __self: this
  11462. }, children));
  11463. });
  11464. });
  11465. NavbarCollapse.displayName = 'NavbarCollapse';
  11466. NavbarCollapse.propTypes = NavbarCollapse_propTypes;
  11467. /* harmony default export */ var src_NavbarCollapse = (NavbarCollapse);
  11468. // CONCATENATED MODULE: ./src/NavbarToggle.js
  11469. var NavbarToggle_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/NavbarToggle.js";
  11470. var NavbarToggle_propTypes = {
  11471. /** @default 'navbar-toggler' */
  11472. bsPrefix: prop_types_default.a.string,
  11473. /** An accessible ARIA label for the toggler button. */
  11474. label: prop_types_default.a.string,
  11475. /** @private */
  11476. onClick: prop_types_default.a.func,
  11477. /**
  11478. * The toggle content. When empty, the default toggle will be rendered.
  11479. */
  11480. children: prop_types_default.a.node,
  11481. as: prop_types_default.a.elementType
  11482. };
  11483. var NavbarToggle_defaultProps = {
  11484. label: 'Toggle navigation'
  11485. };
  11486. var NavbarToggle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11487. var bsPrefix = _ref.bsPrefix,
  11488. className = _ref.className,
  11489. children = _ref.children,
  11490. label = _ref.label,
  11491. _ref$as = _ref.as,
  11492. Component = _ref$as === void 0 ? 'button' : _ref$as,
  11493. onClick = _ref.onClick,
  11494. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "children", "label", "as", "onClick"]);
  11495. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');
  11496. var _ref2 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(NavbarContext) || {},
  11497. onToggle = _ref2.onToggle,
  11498. expanded = _ref2.expanded;
  11499. var handleClick = useEventCallback(function (e) {
  11500. if (onClick) onClick(e);
  11501. if (onToggle) onToggle();
  11502. });
  11503. if (Component === 'button') {
  11504. props.type = 'button';
  11505. }
  11506. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  11507. ref: ref,
  11508. onClick: handleClick,
  11509. "aria-label": label,
  11510. className: classnames_default()(className, bsPrefix, !expanded && 'collapsed'),
  11511. __source: {
  11512. fileName: NavbarToggle_jsxFileName,
  11513. lineNumber: 59
  11514. },
  11515. __self: this
  11516. }), children || external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  11517. className: bsPrefix + "-icon",
  11518. __source: {
  11519. fileName: NavbarToggle_jsxFileName,
  11520. lineNumber: 66
  11521. },
  11522. __self: this
  11523. }));
  11524. });
  11525. NavbarToggle.displayName = 'NavbarToggle';
  11526. NavbarToggle.propTypes = NavbarToggle_propTypes;
  11527. NavbarToggle.defaultProps = NavbarToggle_defaultProps;
  11528. /* harmony default export */ var src_NavbarToggle = (NavbarToggle);
  11529. // CONCATENATED MODULE: ./src/Navbar.js
  11530. var Navbar_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Navbar.js";
  11531. var Navbar_propTypes = {
  11532. /** @default 'navbar' */
  11533. bsPrefix: prop_types_default.a.string,
  11534. /**
  11535. * The general visual variant a the Navbar.
  11536. * Use in combination with the `bg` prop, `background-color` utilities,
  11537. * or your own background styles.
  11538. *
  11539. * @type {('light'|'dark')}
  11540. */
  11541. variant: prop_types_default.a.string,
  11542. /**
  11543. * The breakpoint, below which, the Navbar will collapse.
  11544. * When `true` the Navbar will always be expanded regardless of screen size.
  11545. */
  11546. expand: prop_types_default.a.oneOf([true, 'sm', 'md', 'lg', 'xl']).isRequired,
  11547. /**
  11548. * A convenience prop for adding `bg-*` utility classes since they are so commonly used here.
  11549. * `light` and `dark` are common choices but any `bg-*` class is supported, including any custom ones you might define.
  11550. *
  11551. * Pairs nicely with the `variant` prop.
  11552. */
  11553. bg: prop_types_default.a.string,
  11554. /**
  11555. * Create a fixed navbar along the top or bottom of the screen, that scrolls with the
  11556. * page. A convenience prop for the `fixed-*` positioning classes.
  11557. */
  11558. fixed: prop_types_default.a.oneOf(['top', 'bottom']),
  11559. /**
  11560. * Position the navbar at the top or bottom of the viewport,
  11561. * but only after scrolling past it. . A convenience prop for the `sticky-*` positioning classes.
  11562. *
  11563. * __Not supported in <= IE11 and other older browsers without a polyfill__
  11564. */
  11565. sticky: prop_types_default.a.oneOf(['top', 'bottom']),
  11566. /**
  11567. * Set a custom element for this component.
  11568. */
  11569. as: prop_types_default.a.elementType,
  11570. /**
  11571. * A callback fired when the `<Navbar>` body collapses or expands. Fired when
  11572. * a `<Navbar.Toggle>` is clicked and called with the new `expanded`
  11573. * boolean value.
  11574. *
  11575. * @controllable expanded
  11576. */
  11577. onToggle: prop_types_default.a.func,
  11578. /**
  11579. * A callback fired when a descendant of a child `<Nav>` is selected. Should
  11580. * be used to execute complex closing or other miscellaneous actions desired
  11581. * after selecting a descendant of `<Nav>`. Does nothing if no `<Nav>` or `<Nav>`
  11582. * descendants exist. The callback is called with an eventKey, which is a
  11583. * prop from the selected `<Nav>` descendant, and an event.
  11584. *
  11585. * ```js
  11586. * function (
  11587. * eventKey: mixed,
  11588. * event?: SyntheticEvent
  11589. * )
  11590. * ```
  11591. *
  11592. * For basic closing behavior after all `<Nav>` descendant onSelect events in
  11593. * mobile viewports, try using collapseOnSelect.
  11594. *
  11595. * Note: If you are manually closing the navbar using this `OnSelect` prop,
  11596. * ensure that you are setting `expanded` to false and not *toggling* between
  11597. * true and false.
  11598. */
  11599. onSelect: prop_types_default.a.func,
  11600. /**
  11601. * Toggles `expanded` to `false` after the onSelect event of a descendant of a
  11602. * child `<Nav>` fires. Does nothing if no `<Nav>` or `<Nav>` descendants exist.
  11603. *
  11604. * Manually controlling `expanded` via the onSelect callback is recommended instead,
  11605. * for more complex operations that need to be executed after
  11606. * the `select` event of `<Nav>` descendants.
  11607. */
  11608. collapseOnSelect: prop_types_default.a.bool,
  11609. /**
  11610. * Controls the visiblity of the navbar body
  11611. *
  11612. * @controllable onToggle
  11613. */
  11614. expanded: prop_types_default.a.bool,
  11615. /**
  11616. * The ARIA role for the navbar, will default to 'navigation' for
  11617. * Navbars whose `as` is something other than `<nav>`.
  11618. *
  11619. * @default 'navigation'
  11620. */
  11621. role: prop_types_default.a.string
  11622. };
  11623. var Navbar_defaultProps = {
  11624. expand: true,
  11625. variant: 'light',
  11626. collapseOnSelect: false
  11627. };
  11628. var Navbar = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  11629. var _useUncontrolled = useUncontrolled(props, {
  11630. expanded: 'onToggle'
  11631. }),
  11632. bsPrefix = _useUncontrolled.bsPrefix,
  11633. expand = _useUncontrolled.expand,
  11634. variant = _useUncontrolled.variant,
  11635. bg = _useUncontrolled.bg,
  11636. fixed = _useUncontrolled.fixed,
  11637. sticky = _useUncontrolled.sticky,
  11638. className = _useUncontrolled.className,
  11639. children = _useUncontrolled.children,
  11640. _useUncontrolled$as = _useUncontrolled.as,
  11641. Component = _useUncontrolled$as === void 0 ? 'nav' : _useUncontrolled$as,
  11642. expanded = _useUncontrolled.expanded,
  11643. _onToggle = _useUncontrolled.onToggle,
  11644. onSelect = _useUncontrolled.onSelect,
  11645. collapseOnSelect = _useUncontrolled.collapseOnSelect,
  11646. controlledProps = Object(objectWithoutPropertiesLoose["a" /* default */])(_useUncontrolled, ["bsPrefix", "expand", "variant", "bg", "fixed", "sticky", "className", "children", "as", "expanded", "onToggle", "onSelect", "collapseOnSelect"]);
  11647. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar');
  11648. var handleCollapse = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  11649. if (onSelect) onSelect.apply(void 0, arguments);
  11650. if (collapseOnSelect && expanded) {
  11651. _onToggle(false);
  11652. }
  11653. }, [onSelect, collapseOnSelect, expanded, _onToggle]); // will result in some false positives but that seems better
  11654. // than false negatives. strict `undefined` check allows explicit
  11655. // "nulling" of the role if the user really doesn't want one
  11656. if (controlledProps.role === undefined && Component !== 'nav') {
  11657. controlledProps.role = 'navigation';
  11658. }
  11659. var expandClass = bsPrefix + "-expand";
  11660. if (typeof expand === 'string') expandClass = expandClass + "-" + expand;
  11661. var navbarContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  11662. return {
  11663. onToggle: function onToggle() {
  11664. return _onToggle(!expanded);
  11665. },
  11666. bsPrefix: bsPrefix,
  11667. expanded: expanded
  11668. };
  11669. }, [bsPrefix, expanded, _onToggle]);
  11670. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(NavbarContext.Provider, {
  11671. value: navbarContext,
  11672. __source: {
  11673. fileName: Navbar_jsxFileName,
  11674. lineNumber: 177
  11675. },
  11676. __self: this
  11677. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  11678. value: handleCollapse,
  11679. __source: {
  11680. fileName: Navbar_jsxFileName,
  11681. lineNumber: 178
  11682. },
  11683. __self: this
  11684. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  11685. ref: ref
  11686. }, controlledProps, {
  11687. className: classnames_default()(className, bsPrefix, expand && expandClass, variant && bsPrefix + "-" + variant, bg && "bg-" + bg, sticky && "sticky-" + sticky, fixed && "fixed-" + fixed),
  11688. __source: {
  11689. fileName: Navbar_jsxFileName,
  11690. lineNumber: 179
  11691. },
  11692. __self: this
  11693. }), children)));
  11694. });
  11695. Navbar.propTypes = Navbar_propTypes;
  11696. Navbar.defaultProps = Navbar_defaultProps;
  11697. Navbar.displayName = 'Navbar';
  11698. Navbar.Brand = src_NavbarBrand;
  11699. Navbar.Toggle = src_NavbarToggle;
  11700. Navbar.Collapse = src_NavbarCollapse;
  11701. Navbar.Text = createWithBsPrefix('navbar-text', {
  11702. Component: 'span'
  11703. });
  11704. /* harmony default export */ var src_Navbar = (Navbar);
  11705. // CONCATENATED MODULE: ./src/NavDropdown.js
  11706. var NavDropdown_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/NavDropdown.js";
  11707. var NavDropdown_propTypes = {
  11708. /**
  11709. * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
  11710. * @type {string|number}
  11711. * @required
  11712. */
  11713. id: prop_types_default.a.any,
  11714. /** An `onClick` handler passed to the Toggle component */
  11715. onClick: prop_types_default.a.func,
  11716. /** The content of the non-toggle Button. */
  11717. title: prop_types_default.a.node.isRequired,
  11718. /** Disables the toggle NavLink */
  11719. disabled: prop_types_default.a.bool,
  11720. /** Style the toggle NavLink as active */
  11721. active: prop_types_default.a.bool,
  11722. /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
  11723. menuRole: prop_types_default.a.string,
  11724. /**
  11725. * Which event when fired outside the component will cause it to be closed.
  11726. *
  11727. * _see [DropdownMenu](#menu-props) for more details_
  11728. */
  11729. rootCloseEvent: prop_types_default.a.string,
  11730. /** @ignore */
  11731. bsPrefix: prop_types_default.a.string
  11732. };
  11733. var NavDropdown_NavDropdown =
  11734. /*#__PURE__*/
  11735. function (_React$Component) {
  11736. Object(inheritsLoose["a" /* default */])(NavDropdown, _React$Component);
  11737. function NavDropdown() {
  11738. return _React$Component.apply(this, arguments) || this;
  11739. }
  11740. var _proto = NavDropdown.prototype;
  11741. _proto.render = function render() {
  11742. var _this$props = this.props,
  11743. id = _this$props.id,
  11744. title = _this$props.title,
  11745. children = _this$props.children,
  11746. bsPrefix = _this$props.bsPrefix,
  11747. rootCloseEvent = _this$props.rootCloseEvent,
  11748. menuRole = _this$props.menuRole,
  11749. disabled = _this$props.disabled,
  11750. active = _this$props.active,
  11751. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["id", "title", "children", "bsPrefix", "rootCloseEvent", "menuRole", "disabled", "active"]);
  11752. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown, Object(esm_extends["a" /* default */])({}, props, {
  11753. as: src_NavItem,
  11754. __source: {
  11755. fileName: NavDropdown_jsxFileName,
  11756. lineNumber: 57
  11757. },
  11758. __self: this
  11759. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Toggle, {
  11760. id: id,
  11761. eventKey: null,
  11762. active: active,
  11763. disabled: disabled,
  11764. childBsPrefix: bsPrefix,
  11765. as: src_NavLink,
  11766. __source: {
  11767. fileName: NavDropdown_jsxFileName,
  11768. lineNumber: 58
  11769. },
  11770. __self: this
  11771. }, title), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Menu, {
  11772. role: menuRole,
  11773. rootCloseEvent: rootCloseEvent,
  11774. __source: {
  11775. fileName: NavDropdown_jsxFileName,
  11776. lineNumber: 69
  11777. },
  11778. __self: this
  11779. }, children));
  11780. };
  11781. return NavDropdown;
  11782. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  11783. NavDropdown_NavDropdown.propTypes = NavDropdown_propTypes;
  11784. NavDropdown_NavDropdown.Item = src_Dropdown.Item;
  11785. NavDropdown_NavDropdown.Divider = src_Dropdown.Divider;
  11786. NavDropdown_NavDropdown.Header = src_Dropdown.Header;
  11787. /* harmony default export */ var src_NavDropdown = (NavDropdown_NavDropdown);
  11788. // EXTERNAL MODULE: ./node_modules/react-overlays/Overlay.js
  11789. var Overlay = __webpack_require__(54);
  11790. var Overlay_default = /*#__PURE__*/__webpack_require__.n(Overlay);
  11791. // CONCATENATED MODULE: ./src/Overlay.js
  11792. var Overlay_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Overlay.js";
  11793. var Overlay_propTypes = {
  11794. /**
  11795. * A component instance, DOM node, or function that returns either.
  11796. * The `container` element will have the Overlay appended to it via a React portal.
  11797. */
  11798. container: prop_types_default.a.oneOfType([lib["componentOrElement"], prop_types_default.a.func]),
  11799. /**
  11800. * A component instance, DOM node, or function that returns either.
  11801. * The overlay will be positioned in relation to the `target`
  11802. */
  11803. target: prop_types_default.a.oneOfType([lib["componentOrElement"], prop_types_default.a.func]),
  11804. /**
  11805. * Set the visibility of the Overlay
  11806. */
  11807. show: prop_types_default.a.bool,
  11808. /**
  11809. * A set of popper options and props passed directly to react-popper's Popper component.
  11810. */
  11811. popperConfig: prop_types_default.a.object,
  11812. /**
  11813. * Specify whether the overlay should trigger onHide when the user clicks outside the overlay
  11814. */
  11815. rootClose: prop_types_default.a.bool,
  11816. /**
  11817. * Specify event for triggering a "root close" toggle.
  11818. */
  11819. rootCloseEvent: prop_types_default.a.oneOf(['click', 'mousedown']),
  11820. /**
  11821. * A callback invoked by the overlay when it wishes to be hidden. Required if
  11822. * `rootClose` is specified.
  11823. */
  11824. onHide: prop_types_default.a.func,
  11825. /**
  11826. * Animate the entering and exiting of the Ovelay. `true` will use the `<Fade>` transition,
  11827. * or a custom react-transition-group `<Transition>` component can be provided.
  11828. */
  11829. transition: prop_types_default.a.oneOfType([prop_types_default.a.bool, lib["elementType"]]),
  11830. /**
  11831. * Callback fired before the Overlay transitions in
  11832. */
  11833. onEnter: prop_types_default.a.func,
  11834. /**
  11835. * Callback fired as the Overlay begins to transition in
  11836. */
  11837. onEntering: prop_types_default.a.func,
  11838. /**
  11839. * Callback fired after the Overlay finishes transitioning in
  11840. */
  11841. onEntered: prop_types_default.a.func,
  11842. /**
  11843. * Callback fired right before the Overlay transitions out
  11844. */
  11845. onExit: prop_types_default.a.func,
  11846. /**
  11847. * Callback fired as the Overlay begins to transition out
  11848. */
  11849. onExiting: prop_types_default.a.func,
  11850. /**
  11851. * Callback fired after the Overlay finishes transitioning out
  11852. */
  11853. onExited: prop_types_default.a.func,
  11854. /**
  11855. * The placement of the Overlay in relation to it's `target`.
  11856. */
  11857. placement: prop_types_default.a.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'])
  11858. };
  11859. var Overlay_defaultProps = {
  11860. transition: src_Fade,
  11861. rootClose: false,
  11862. show: false,
  11863. placement: 'top'
  11864. };
  11865. function wrapRefs(props, arrowProps) {
  11866. var ref = props.ref;
  11867. var aRef = arrowProps.ref;
  11868. props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
  11869. return ref(Object(external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_["findDOMNode"])(r));
  11870. });
  11871. arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = function (r) {
  11872. return aRef(Object(external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_["findDOMNode"])(r));
  11873. });
  11874. }
  11875. function Overlay_Overlay(_ref) {
  11876. var overlay = _ref.children,
  11877. transition = _ref.transition,
  11878. outerProps = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["children", "transition"]);
  11879. transition = transition === true ? src_Fade : transition || null;
  11880. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Overlay_default.a, Object(esm_extends["a" /* default */])({}, outerProps, {
  11881. transition: transition,
  11882. __source: {
  11883. fileName: Overlay_jsxFileName,
  11884. lineNumber: 127
  11885. },
  11886. __self: this
  11887. }), function (_ref2) {
  11888. var overlayProps = _ref2.props,
  11889. arrowProps = _ref2.arrowProps,
  11890. show = _ref2.show,
  11891. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref2, ["props", "arrowProps", "show"]);
  11892. wrapRefs(overlayProps, arrowProps);
  11893. if (typeof overlay === 'function') return overlay(Object(esm_extends["a" /* default */])({}, props, {}, overlayProps, {
  11894. show: show,
  11895. arrowProps: arrowProps
  11896. }));
  11897. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(overlay, Object(esm_extends["a" /* default */])({}, props, {}, overlayProps, {
  11898. arrowProps: arrowProps,
  11899. className: classnames_default()(overlay.props.className, !transition && show && 'show'),
  11900. style: Object(esm_extends["a" /* default */])({}, overlay.props.style, {}, overlayProps.style)
  11901. }));
  11902. });
  11903. }
  11904. Overlay_Overlay.propTypes = Overlay_propTypes;
  11905. Overlay_Overlay.defaultProps = Overlay_defaultProps;
  11906. /* harmony default export */ var src_Overlay = (Overlay_Overlay);
  11907. // EXTERNAL MODULE: ./node_modules/dom-helpers/query/contains.js
  11908. var contains = __webpack_require__(22);
  11909. var contains_default = /*#__PURE__*/__webpack_require__.n(contains);
  11910. // CONCATENATED MODULE: ./src/OverlayTrigger.js
  11911. var OverlayTrigger_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/OverlayTrigger.js";
  11912. var OverlayTrigger_RefHolder =
  11913. /*#__PURE__*/
  11914. function (_React$Component) {
  11915. Object(inheritsLoose["a" /* default */])(RefHolder, _React$Component);
  11916. function RefHolder() {
  11917. return _React$Component.apply(this, arguments) || this;
  11918. }
  11919. var _proto = RefHolder.prototype;
  11920. _proto.render = function render() {
  11921. return this.props.children;
  11922. };
  11923. return RefHolder;
  11924. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  11925. var normalizeDelay = function normalizeDelay(delay) {
  11926. return delay && typeof delay === 'object' ? delay : {
  11927. show: delay,
  11928. hide: delay
  11929. };
  11930. };
  11931. var triggerType = prop_types_default.a.oneOf(['click', 'hover', 'focus']);
  11932. var OverlayTrigger_propTypes = {
  11933. children: prop_types_default.a.element.isRequired,
  11934. /**
  11935. * Specify which action or actions trigger Overlay visibility
  11936. *
  11937. * @type {'hover' | 'click' |'focus' | Array<'hover' | 'click' |'focus'>}
  11938. */
  11939. trigger: prop_types_default.a.oneOfType([triggerType, prop_types_default.a.arrayOf(triggerType)]),
  11940. /**
  11941. * A millisecond delay amount to show and hide the Overlay once triggered
  11942. */
  11943. delay: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.shape({
  11944. show: prop_types_default.a.number,
  11945. hide: prop_types_default.a.number
  11946. })]),
  11947. /**
  11948. * The initial visibility state of the Overlay. For more nuanced visibility
  11949. * control, consider using the Overlay component directly.
  11950. */
  11951. defaultShow: prop_types_default.a.bool,
  11952. /**
  11953. * An element or text to overlay next to the target.
  11954. */
  11955. overlay: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.element.isRequired]),
  11956. /**
  11957. * A Popper.js config object passed to the the underlying popper instance.
  11958. */
  11959. popperConfig: prop_types_default.a.object,
  11960. // Overridden props from `<Overlay>`.
  11961. /**
  11962. * @private
  11963. */
  11964. target: prop_types_default.a.oneOf([null]),
  11965. /**
  11966. * @private
  11967. */
  11968. onHide: prop_types_default.a.oneOf([null]),
  11969. /**
  11970. * @private
  11971. */
  11972. show: prop_types_default.a.oneOf([null])
  11973. };
  11974. var OverlayTrigger_defaultProps = {
  11975. defaultOverlayShown: false,
  11976. trigger: ['hover', 'focus']
  11977. }; // eslint-disable-next-line react/no-multi-comp
  11978. var OverlayTrigger_OverlayTrigger =
  11979. /*#__PURE__*/
  11980. function (_React$Component2) {
  11981. Object(inheritsLoose["a" /* default */])(OverlayTrigger, _React$Component2);
  11982. function OverlayTrigger(props, context) {
  11983. var _this;
  11984. _this = _React$Component2.call(this, props, context) || this;
  11985. _this.getTarget = function () {
  11986. return external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.findDOMNode(_this.trigger.current);
  11987. };
  11988. _this.handleShow = function () {
  11989. clearTimeout(_this._timeout);
  11990. _this._hoverState = 'show';
  11991. var delay = normalizeDelay(_this.props.delay);
  11992. if (!delay.show) {
  11993. _this.show();
  11994. return;
  11995. }
  11996. _this._timeout = setTimeout(function () {
  11997. if (_this._hoverState === 'show') _this.show();
  11998. }, delay.show);
  11999. };
  12000. _this.handleHide = function () {
  12001. clearTimeout(_this._timeout);
  12002. _this._hoverState = 'hide';
  12003. var delay = normalizeDelay(_this.props.delay);
  12004. if (!delay.hide) {
  12005. _this.hide();
  12006. return;
  12007. }
  12008. _this._timeout = setTimeout(function () {
  12009. if (_this._hoverState === 'hide') _this.hide();
  12010. }, delay.hide);
  12011. };
  12012. _this.handleFocus = function (e) {
  12013. var _this$getChildProps = _this.getChildProps(),
  12014. onFocus = _this$getChildProps.onFocus;
  12015. _this.handleShow(e);
  12016. if (onFocus) onFocus(e);
  12017. };
  12018. _this.handleBlur = function (e) {
  12019. var _this$getChildProps2 = _this.getChildProps(),
  12020. onBlur = _this$getChildProps2.onBlur;
  12021. _this.handleHide(e);
  12022. if (onBlur) onBlur(e);
  12023. };
  12024. _this.handleClick = function (e) {
  12025. var _this$getChildProps3 = _this.getChildProps(),
  12026. onClick = _this$getChildProps3.onClick;
  12027. if (_this.state.show) _this.hide();else _this.show();
  12028. if (onClick) onClick(e);
  12029. };
  12030. _this.handleMouseOver = function (e) {
  12031. _this.handleMouseOverOut(_this.handleShow, e, 'fromElement');
  12032. };
  12033. _this.handleMouseOut = function (e) {
  12034. return _this.handleMouseOverOut(_this.handleHide, e, 'toElement');
  12035. };
  12036. _this.trigger = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createRef();
  12037. _this.state = {
  12038. show: !!props.defaultShow
  12039. }; // We add aria-describedby in the case where the overlay is a role="tooltip"
  12040. // for other cases describedby isn't appropriate (e.g. a popover with inputs) so we don't add it.
  12041. _this.ariaModifier = {
  12042. enabled: true,
  12043. order: 900,
  12044. fn: function fn(data) {
  12045. var popper = data.instance.popper;
  12046. var target = _this.getTarget();
  12047. if (!_this.state.show || !target) return data;
  12048. var role = popper.getAttribute('role') || '';
  12049. if (popper.id && role.toLowerCase() === 'tooltip') {
  12050. target.setAttribute('aria-describedby', popper.id);
  12051. }
  12052. return data;
  12053. }
  12054. };
  12055. return _this;
  12056. }
  12057. var _proto2 = OverlayTrigger.prototype;
  12058. _proto2.componentWillUnmount = function componentWillUnmount() {
  12059. clearTimeout(this._timeout);
  12060. };
  12061. _proto2.getChildProps = function getChildProps() {
  12062. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(this.props.children).props;
  12063. };
  12064. // Simple implementation of mouseEnter and mouseLeave.
  12065. // React's built version is broken: https://github.com/facebook/react/issues/4251
  12066. // for cases when the trigger is disabled and mouseOut/Over can cause flicker
  12067. // moving from one child element to another.
  12068. _proto2.handleMouseOverOut = function handleMouseOverOut(handler, e, relatedNative) {
  12069. var target = e.currentTarget;
  12070. var related = e.relatedTarget || e.nativeEvent[relatedNative];
  12071. if ((!related || related !== target) && !contains_default()(target, related)) {
  12072. handler(e);
  12073. }
  12074. };
  12075. _proto2.hide = function hide() {
  12076. this.setState({
  12077. show: false
  12078. });
  12079. };
  12080. _proto2.show = function show() {
  12081. this.setState({
  12082. show: true
  12083. });
  12084. };
  12085. _proto2.render = function render() {
  12086. var _this$props = this.props,
  12087. trigger = _this$props.trigger,
  12088. overlay = _this$props.overlay,
  12089. children = _this$props.children,
  12090. _this$props$popperCon = _this$props.popperConfig,
  12091. popperConfig = _this$props$popperCon === void 0 ? {} : _this$props$popperCon,
  12092. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["trigger", "overlay", "children", "popperConfig"]);
  12093. delete props.delay;
  12094. delete props.defaultShow;
  12095. var child = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children);
  12096. var triggerProps = {};
  12097. var triggers = trigger == null ? [] : [].concat(trigger);
  12098. if (triggers.indexOf('click') !== -1) {
  12099. triggerProps.onClick = this.handleClick;
  12100. }
  12101. if (triggers.indexOf('focus') !== -1) {
  12102. triggerProps.onFocus = this.handleShow;
  12103. triggerProps.onBlur = this.handleHide;
  12104. }
  12105. if (triggers.indexOf('hover') !== -1) {
  12106. false ? undefined : void 0;
  12107. triggerProps.onMouseOver = this.handleMouseOver;
  12108. triggerProps.onMouseOut = this.handleMouseOut;
  12109. }
  12110. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(OverlayTrigger_RefHolder, {
  12111. ref: this.trigger,
  12112. __source: {
  12113. fileName: OverlayTrigger_jsxFileName,
  12114. lineNumber: 240
  12115. },
  12116. __self: this
  12117. }, Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["cloneElement"])(child, triggerProps)), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Overlay, Object(esm_extends["a" /* default */])({}, props, {
  12118. popperConfig: Object(esm_extends["a" /* default */])({}, popperConfig, {
  12119. modifiers: Object(esm_extends["a" /* default */])({}, popperConfig.modifiers, {
  12120. ariaModifier: this.ariaModifier
  12121. })
  12122. }),
  12123. show: this.state.show,
  12124. onHide: this.handleHide,
  12125. target: this.getTarget,
  12126. __source: {
  12127. fileName: OverlayTrigger_jsxFileName,
  12128. lineNumber: 243
  12129. },
  12130. __self: this
  12131. }), overlay));
  12132. };
  12133. return OverlayTrigger;
  12134. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  12135. OverlayTrigger_OverlayTrigger.propTypes = OverlayTrigger_propTypes;
  12136. OverlayTrigger_OverlayTrigger.defaultProps = OverlayTrigger_defaultProps;
  12137. /* harmony default export */ var src_OverlayTrigger = (OverlayTrigger_OverlayTrigger);
  12138. // CONCATENATED MODULE: ./src/PageItem.js
  12139. var PageItem_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/PageItem.js";
  12140. /* eslint-disable react/no-multi-comp */
  12141. var PageItem_propTypes = {
  12142. /** Disables the PageItem */
  12143. disabled: prop_types_default.a.bool,
  12144. /** Styles PageItem as active, and renders a `<span>` instead of an `<a>`. */
  12145. active: prop_types_default.a.bool,
  12146. /** An accessible label indicating the active state.. */
  12147. activeLabel: prop_types_default.a.string
  12148. };
  12149. var PageItem_defaultProps = {
  12150. active: false,
  12151. disabled: false,
  12152. activeLabel: '(current)'
  12153. };
  12154. function PageItem(_ref) {
  12155. var active = _ref.active,
  12156. disabled = _ref.disabled,
  12157. className = _ref.className,
  12158. style = _ref.style,
  12159. activeLabel = _ref.activeLabel,
  12160. children = _ref.children,
  12161. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["active", "disabled", "className", "style", "activeLabel", "children"]);
  12162. var Component = active || disabled ? 'span' : src_SafeAnchor;
  12163. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("li", {
  12164. style: style,
  12165. className: classnames_default()(className, 'page-item', {
  12166. active: active,
  12167. disabled: disabled
  12168. }),
  12169. __source: {
  12170. fileName: PageItem_jsxFileName,
  12171. lineNumber: 36
  12172. },
  12173. __self: this
  12174. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  12175. className: "page-link",
  12176. disabled: disabled
  12177. }, props, {
  12178. __source: {
  12179. fileName: PageItem_jsxFileName,
  12180. lineNumber: 40
  12181. },
  12182. __self: this
  12183. }), children, active && activeLabel && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  12184. className: "sr-only",
  12185. __source: {
  12186. fileName: PageItem_jsxFileName,
  12187. lineNumber: 43
  12188. },
  12189. __self: this
  12190. }, activeLabel)));
  12191. }
  12192. PageItem.propTypes = PageItem_propTypes;
  12193. PageItem.defaultProps = PageItem_defaultProps;
  12194. function createButton(name, defaultValue, label) {
  12195. var _class, _temp;
  12196. if (label === void 0) {
  12197. label = name;
  12198. }
  12199. return _temp = _class =
  12200. /*#__PURE__*/
  12201. function (_React$Component) {
  12202. Object(inheritsLoose["a" /* default */])(_class, _React$Component);
  12203. function _class() {
  12204. return _React$Component.apply(this, arguments) || this;
  12205. }
  12206. var _proto = _class.prototype;
  12207. _proto.render = function render() {
  12208. var _this$props = this.props,
  12209. children = _this$props.children,
  12210. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["children"]);
  12211. delete props.active;
  12212. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(PageItem, Object(esm_extends["a" /* default */])({}, props, {
  12213. __source: {
  12214. fileName: PageItem_jsxFileName,
  12215. lineNumber: 61
  12216. },
  12217. __self: this
  12218. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  12219. "aria-hidden": "true",
  12220. __source: {
  12221. fileName: PageItem_jsxFileName,
  12222. lineNumber: 62
  12223. },
  12224. __self: this
  12225. }, children || defaultValue), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  12226. className: "sr-only",
  12227. __source: {
  12228. fileName: PageItem_jsxFileName,
  12229. lineNumber: 63
  12230. },
  12231. __self: this
  12232. }, label));
  12233. };
  12234. return _class;
  12235. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component), _class.displayName = name, _temp;
  12236. }
  12237. var First = createButton('First', '«');
  12238. var Prev = createButton('Prev', '‹', 'Previous');
  12239. var Ellipsis = createButton('Ellipsis', '…', 'More');
  12240. var Next = createButton('Next', '›');
  12241. var Last = createButton('Last', '»');
  12242. // CONCATENATED MODULE: ./src/Pagination.js
  12243. var Pagination_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Pagination.js";
  12244. /**
  12245. * @property {PageItem} Item
  12246. * @property {PageItem} First
  12247. * @property {PageItem} Prev
  12248. * @property {PageItem} Ellipsis
  12249. * @property {PageItem} Next
  12250. * @property {PageItem} Last
  12251. */
  12252. var Pagination_Pagination =
  12253. /*#__PURE__*/
  12254. function (_React$Component) {
  12255. Object(inheritsLoose["a" /* default */])(Pagination, _React$Component);
  12256. function Pagination() {
  12257. return _React$Component.apply(this, arguments) || this;
  12258. }
  12259. var _proto = Pagination.prototype;
  12260. _proto.render = function render() {
  12261. var _this$props = this.props,
  12262. bsPrefix = _this$props.bsPrefix,
  12263. className = _this$props.className,
  12264. children = _this$props.children,
  12265. size = _this$props.size,
  12266. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["bsPrefix", "className", "children", "size"]);
  12267. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ul", Object(esm_extends["a" /* default */])({}, props, {
  12268. className: classnames_default()(className, bsPrefix, size && bsPrefix + "-" + size),
  12269. __source: {
  12270. fileName: Pagination_jsxFileName,
  12271. lineNumber: 33
  12272. },
  12273. __self: this
  12274. }), children);
  12275. };
  12276. return Pagination;
  12277. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  12278. Pagination_Pagination.propTypes = {
  12279. /** @default 'pagination' */
  12280. bsPrefix: prop_types_default.a.string.isRequired,
  12281. /**
  12282. * Set's the size of all PageItems.
  12283. *
  12284. * @type {('sm'|'lg')}
  12285. */
  12286. size: prop_types_default.a.string
  12287. };
  12288. var DecoratedPagination = createBootstrapComponent(Pagination_Pagination, 'pagination');
  12289. DecoratedPagination.First = First;
  12290. DecoratedPagination.Prev = Prev;
  12291. DecoratedPagination.Ellipsis = Ellipsis;
  12292. DecoratedPagination.Item = PageItem;
  12293. DecoratedPagination.Next = Next;
  12294. DecoratedPagination.Last = Last;
  12295. /* harmony default export */ var src_Pagination = (DecoratedPagination);
  12296. // CONCATENATED MODULE: ./src/PopoverTitle.js
  12297. var PopoverTitle_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/PopoverTitle.js";
  12298. var PopoverTitle_propTypes = {
  12299. /** Set a custom element for this component */
  12300. as: prop_types_default.a.elementType,
  12301. /** @default 'popover-header' */
  12302. bsPrefix: prop_types_default.a.string
  12303. };
  12304. var PopoverTitle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12305. var _ref$as = _ref.as,
  12306. Component = _ref$as === void 0 ? 'div' : _ref$as,
  12307. bsPrefix = _ref.bsPrefix,
  12308. className = _ref.className,
  12309. children = _ref.children,
  12310. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["as", "bsPrefix", "className", "children"]);
  12311. bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-header');
  12312. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  12313. ref: ref
  12314. }, props, {
  12315. className: classnames_default()(bsPrefix, className),
  12316. __source: {
  12317. fileName: PopoverTitle_jsxFileName,
  12318. lineNumber: 29
  12319. },
  12320. __self: this
  12321. }), children);
  12322. });
  12323. PopoverTitle.propTypes = PopoverTitle_propTypes;
  12324. /* harmony default export */ var src_PopoverTitle = (PopoverTitle);
  12325. // CONCATENATED MODULE: ./src/PopoverContent.js
  12326. var PopoverContent_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/PopoverContent.js";
  12327. var PopoverContent_propTypes = {
  12328. /** Set a custom element for this component */
  12329. as: prop_types_default.a.elementType,
  12330. /** @default 'popover-body' */
  12331. bsPrefix: prop_types_default.a.string
  12332. };
  12333. var PopoverContent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12334. var _ref$as = _ref.as,
  12335. Component = _ref$as === void 0 ? 'div' : _ref$as,
  12336. bsPrefix = _ref.bsPrefix,
  12337. className = _ref.className,
  12338. children = _ref.children,
  12339. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["as", "bsPrefix", "className", "children"]);
  12340. bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-body');
  12341. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  12342. ref: ref
  12343. }, props, {
  12344. className: classnames_default()(className, bsPrefix),
  12345. __source: {
  12346. fileName: PopoverContent_jsxFileName,
  12347. lineNumber: 29
  12348. },
  12349. __self: this
  12350. }), children);
  12351. });
  12352. PopoverContent.propTypes = PopoverContent_propTypes;
  12353. /* harmony default export */ var src_PopoverContent = (PopoverContent);
  12354. // CONCATENATED MODULE: ./src/Popover.js
  12355. var Popover_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Popover.js";
  12356. var Popover_propTypes = {
  12357. /**
  12358. * @default 'popover'
  12359. */
  12360. bsPrefix: prop_types_default.a.string,
  12361. /**
  12362. * An html id attribute, necessary for accessibility
  12363. * @type {string|number}
  12364. * @required
  12365. */
  12366. id: isRequiredForA11y_default()(prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.number])),
  12367. /**
  12368. * Sets the direction the Popover is positioned towards.
  12369. *
  12370. * > This is generally provided by the `Overlay` component positioning the popover
  12371. */
  12372. placement: prop_types_default.a.oneOf(['auto', 'top', 'bottom', 'left', 'right']),
  12373. /**
  12374. * An Overlay injected set of props for positioning the popover arrow.
  12375. *
  12376. * > This is generally provided by the `Overlay` component positioning the popover
  12377. */
  12378. arrowProps: prop_types_default.a.shape({
  12379. ref: prop_types_default.a.any,
  12380. style: prop_types_default.a.object
  12381. }),
  12382. /**
  12383. * When this prop is set, it creates a Popover with a Popover.Content inside
  12384. * passing the children directly to it
  12385. */
  12386. content: prop_types_default.a.bool,
  12387. /** @private */
  12388. innerRef: prop_types_default.a.any,
  12389. /** @private */
  12390. scheduleUpdate: prop_types_default.a.func,
  12391. /** @private */
  12392. outOfBoundaries: prop_types_default.a.bool
  12393. };
  12394. var Popover_defaultProps = {
  12395. placement: 'right'
  12396. };
  12397. function Popover(_ref) {
  12398. var bsPrefix = _ref.bsPrefix,
  12399. innerRef = _ref.innerRef,
  12400. placement = _ref.placement,
  12401. className = _ref.className,
  12402. style = _ref.style,
  12403. children = _ref.children,
  12404. content = _ref.content,
  12405. arrowProps = _ref.arrowProps,
  12406. _ = _ref.scheduleUpdate,
  12407. _1 = _ref.outOfBoundaries,
  12408. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "innerRef", "placement", "className", "style", "children", "content", "arrowProps", "scheduleUpdate", "outOfBoundaries"]);
  12409. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  12410. role: "tooltip",
  12411. ref: innerRef,
  12412. style: style,
  12413. "x-placement": placement,
  12414. className: classnames_default()(className, bsPrefix, "bs-popover-" + placement)
  12415. }, props, {
  12416. __source: {
  12417. fileName: Popover_jsxFileName,
  12418. lineNumber: 74
  12419. },
  12420. __self: this
  12421. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  12422. className: "arrow"
  12423. }, arrowProps, {
  12424. __source: {
  12425. fileName: Popover_jsxFileName,
  12426. lineNumber: 82
  12427. },
  12428. __self: this
  12429. })), content ? external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_PopoverContent, {
  12430. __source: {
  12431. fileName: Popover_jsxFileName,
  12432. lineNumber: 83
  12433. },
  12434. __self: this
  12435. }, children) : children);
  12436. }
  12437. Popover.propTypes = Popover_propTypes;
  12438. Popover.defaultProps = Popover_defaultProps;
  12439. var DecoratedPopover = createBootstrapComponent(Popover, 'popover');
  12440. DecoratedPopover.Title = src_PopoverTitle;
  12441. DecoratedPopover.Content = src_PopoverContent;
  12442. /* harmony default export */ var src_Popover = (DecoratedPopover);
  12443. // CONCATENATED MODULE: ./src/ProgressBar.js
  12444. var ProgressBar_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ProgressBar.js";
  12445. var ROUND_PRECISION = 1000;
  12446. /**
  12447. * Validate that children, if any, are instances of `<ProgressBar>`.
  12448. */
  12449. function onlyProgressBar(props, propName, componentName) {
  12450. var children = props[propName];
  12451. if (!children) {
  12452. return null;
  12453. }
  12454. var error = null;
  12455. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.forEach(children, function (child) {
  12456. if (error) {
  12457. return;
  12458. }
  12459. /**
  12460. * Compare types in a way that works with libraries that patch and proxy
  12461. * components like react-hot-loader.
  12462. *
  12463. * see https://github.com/gaearon/react-hot-loader#checking-element-types
  12464. */
  12465. var element = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(ProgressBar, {
  12466. __source: {
  12467. fileName: ProgressBar_jsxFileName,
  12468. lineNumber: 33
  12469. },
  12470. __self: this
  12471. });
  12472. if (child.type === element.type) return;
  12473. var childIdentifier = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child) ? child.type.displayName || child.type.name || child.type : child;
  12474. error = new Error("Children of " + componentName + " can contain only ProgressBar " + ("components. Found " + childIdentifier + "."));
  12475. });
  12476. return error;
  12477. }
  12478. var ProgressBar_propTypes = {
  12479. /**
  12480. * Minimum value progress can begin from
  12481. */
  12482. min: prop_types_default.a.number,
  12483. /**
  12484. * Current value of progress
  12485. */
  12486. now: prop_types_default.a.number,
  12487. /**
  12488. * Maximum value progress can reach
  12489. */
  12490. max: prop_types_default.a.number,
  12491. /**
  12492. * Show label that represents visual percentage.
  12493. * EG. 60%
  12494. */
  12495. label: prop_types_default.a.node,
  12496. /**
  12497. * Hide's the label visually.
  12498. */
  12499. srOnly: prop_types_default.a.bool,
  12500. /**
  12501. * Uses a gradient to create a striped effect.
  12502. */
  12503. striped: prop_types_default.a.bool,
  12504. /**
  12505. * Animate's the stripes from right to left
  12506. */
  12507. animated: prop_types_default.a.bool,
  12508. /**
  12509. * @private
  12510. * @default 'progress-bar'
  12511. */
  12512. bsPrefix: prop_types_default.a.string,
  12513. /**
  12514. * Sets the background class of the progress bar.
  12515. *
  12516. * @type ('success'|'danger'|'warning'|'info')
  12517. */
  12518. variant: prop_types_default.a.string,
  12519. /**
  12520. * Child elements (only allows elements of type <ProgressBar />)
  12521. */
  12522. children: onlyProgressBar,
  12523. /**
  12524. * @private
  12525. */
  12526. isChild: prop_types_default.a.bool
  12527. };
  12528. var ProgressBar_defaultProps = {
  12529. min: 0,
  12530. max: 100,
  12531. animated: false,
  12532. isChild: false,
  12533. srOnly: false,
  12534. striped: false
  12535. };
  12536. function getPercentage(now, min, max) {
  12537. var percentage = (now - min) / (max - min) * 100;
  12538. return Math.round(percentage * ROUND_PRECISION) / ROUND_PRECISION;
  12539. }
  12540. function renderProgressBar(_ref, ref) {
  12541. var _classNames;
  12542. var min = _ref.min,
  12543. now = _ref.now,
  12544. max = _ref.max,
  12545. label = _ref.label,
  12546. srOnly = _ref.srOnly,
  12547. striped = _ref.striped,
  12548. animated = _ref.animated,
  12549. className = _ref.className,
  12550. style = _ref.style,
  12551. variant = _ref.variant,
  12552. bsPrefix = _ref.bsPrefix,
  12553. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["min", "now", "max", "label", "srOnly", "striped", "animated", "className", "style", "variant", "bsPrefix"]);
  12554. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  12555. ref: ref
  12556. }, props, {
  12557. role: "progressbar",
  12558. className: classnames_default()(className, bsPrefix + "-bar", (_classNames = {}, _classNames["bg-" + variant] = variant, _classNames[bsPrefix + "-bar-animated"] = animated, _classNames[bsPrefix + "-bar-striped"] = animated || striped, _classNames)),
  12559. style: Object(esm_extends["a" /* default */])({
  12560. width: getPercentage(now, min, max) + "%"
  12561. }, style),
  12562. "aria-valuenow": now,
  12563. "aria-valuemin": min,
  12564. "aria-valuemax": max,
  12565. __source: {
  12566. fileName: ProgressBar_jsxFileName,
  12567. lineNumber: 141
  12568. },
  12569. __self: this
  12570. }), srOnly ? external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  12571. className: "sr-only",
  12572. __source: {
  12573. fileName: ProgressBar_jsxFileName,
  12574. lineNumber: 155
  12575. },
  12576. __self: this
  12577. }, label) : label);
  12578. }
  12579. renderProgressBar.propTypes = ProgressBar_propTypes;
  12580. var ProgressBar = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref2, ref) {
  12581. var isChild = _ref2.isChild,
  12582. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref2, ["isChild"]);
  12583. props.bsPrefix = useBootstrapPrefix(props.bsPrefix, 'progress');
  12584. if (isChild) {
  12585. return renderProgressBar(props, ref);
  12586. }
  12587. var min = props.min,
  12588. now = props.now,
  12589. max = props.max,
  12590. label = props.label,
  12591. srOnly = props.srOnly,
  12592. striped = props.striped,
  12593. animated = props.animated,
  12594. bsPrefix = props.bsPrefix,
  12595. variant = props.variant,
  12596. className = props.className,
  12597. children = props.children,
  12598. wrapperProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["min", "now", "max", "label", "srOnly", "striped", "animated", "bsPrefix", "variant", "className", "children"]);
  12599. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  12600. ref: ref
  12601. }, wrapperProps, {
  12602. className: classnames_default()(className, bsPrefix),
  12603. __source: {
  12604. fileName: ProgressBar_jsxFileName,
  12605. lineNumber: 185
  12606. },
  12607. __self: this
  12608. }), children ? map(children, function (child) {
  12609. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["cloneElement"])(child, {
  12610. isChild: true
  12611. });
  12612. }) : renderProgressBar({
  12613. min: min,
  12614. now: now,
  12615. max: max,
  12616. label: label,
  12617. srOnly: srOnly,
  12618. striped: striped,
  12619. animated: animated,
  12620. bsPrefix: bsPrefix,
  12621. variant: variant
  12622. }, ref));
  12623. });
  12624. ProgressBar.displayName = 'ProgressBar';
  12625. ProgressBar.propTypes = ProgressBar_propTypes;
  12626. ProgressBar.defaultProps = ProgressBar_defaultProps;
  12627. /* harmony default export */ var src_ProgressBar = (ProgressBar);
  12628. // CONCATENATED MODULE: ./src/ResponsiveEmbed.js
  12629. var ResponsiveEmbed_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ResponsiveEmbed.js";
  12630. var ResponsiveEmbed_propTypes = {
  12631. /**
  12632. * @default 'embed-responsive'
  12633. */
  12634. bsPrefix: prop_types_default.a.string,
  12635. /**
  12636. * This component requires a single child element
  12637. */
  12638. children: prop_types_default.a.element.isRequired,
  12639. /**
  12640. * Set the aspect ration of the embed
  12641. */
  12642. aspectRatio: prop_types_default.a.oneOf(['21by9', '16by9', '4by3', '1by1'])
  12643. };
  12644. var ResponsiveEmbed_defaultProps = {
  12645. aspectRatio: '1by1'
  12646. };
  12647. var ResponsiveEmbed_ResponsiveEmbed =
  12648. /*#__PURE__*/
  12649. function (_React$Component) {
  12650. Object(inheritsLoose["a" /* default */])(ResponsiveEmbed, _React$Component);
  12651. function ResponsiveEmbed() {
  12652. return _React$Component.apply(this, arguments) || this;
  12653. }
  12654. var _proto = ResponsiveEmbed.prototype;
  12655. _proto.render = function render() {
  12656. var _this$props = this.props,
  12657. bsPrefix = _this$props.bsPrefix,
  12658. className = _this$props.className,
  12659. children = _this$props.children,
  12660. aspectRatio = _this$props.aspectRatio,
  12661. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["bsPrefix", "className", "children", "aspectRatio"]);
  12662. var child = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children);
  12663. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({}, props, {
  12664. className: classnames_default()(bsPrefix, className, aspectRatio && bsPrefix + "-" + aspectRatio),
  12665. __source: {
  12666. fileName: ResponsiveEmbed_jsxFileName,
  12667. lineNumber: 33
  12668. },
  12669. __self: this
  12670. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, {
  12671. className: classnames_default()(child.props.className, bsPrefix + "-item")
  12672. }));
  12673. };
  12674. return ResponsiveEmbed;
  12675. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  12676. ResponsiveEmbed_ResponsiveEmbed.propTypes = ResponsiveEmbed_propTypes;
  12677. ResponsiveEmbed_ResponsiveEmbed.defaultProps = ResponsiveEmbed_defaultProps;
  12678. /* harmony default export */ var src_ResponsiveEmbed = (createBootstrapComponent(ResponsiveEmbed_ResponsiveEmbed, 'embed-responsive'));
  12679. // CONCATENATED MODULE: ./src/Row.js
  12680. var Row_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Row.js";
  12681. var Row_propTypes = {
  12682. /**
  12683. * @default 'row'
  12684. */
  12685. bsPrefix: prop_types_default.a.string,
  12686. /** Removes the gutter spacing between `Col`s as well as any added negative margins. */
  12687. noGutters: prop_types_default.a.bool.isRequired,
  12688. as: prop_types_default.a.elementType
  12689. };
  12690. var Row_defaultProps = {
  12691. noGutters: false
  12692. };
  12693. var Row = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  12694. var bsPrefix = props.bsPrefix,
  12695. noGutters = props.noGutters,
  12696. _props$as = props.as,
  12697. Component = _props$as === void 0 ? 'div' : _props$as,
  12698. className = props.className,
  12699. otherProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["bsPrefix", "noGutters", "as", "className"]);
  12700. var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');
  12701. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  12702. ref: ref
  12703. }, otherProps, {
  12704. className: classnames_default()(className, decoratedBsPrefix, noGutters && 'no-gutters'),
  12705. __source: {
  12706. fileName: Row_jsxFileName,
  12707. lineNumber: 36
  12708. },
  12709. __self: this
  12710. }));
  12711. });
  12712. Row.propTypes = Row_propTypes;
  12713. Row.defaultProps = Row_defaultProps;
  12714. /* harmony default export */ var src_Row = (Row);
  12715. // CONCATENATED MODULE: ./src/Spinner.js
  12716. var Spinner_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Spinner.js";
  12717. var Spinner_propTypes = {
  12718. /**
  12719. * @default 'spinner'
  12720. */
  12721. bsPrefix: prop_types_default.a.string,
  12722. /**
  12723. * The visual color style of the spinner
  12724. *
  12725. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'light'|'dark')}
  12726. */
  12727. variant: prop_types_default.a.string,
  12728. /**
  12729. * Changes the animation style of the spinner.
  12730. *
  12731. * @type {('border'|'grow')}
  12732. * @default true
  12733. */
  12734. animation: prop_types_default.a.oneOf(['border', 'grow']).isRequired,
  12735. /**
  12736. * Component size variations.
  12737. *
  12738. * @type {('sm')}
  12739. */
  12740. size: prop_types_default.a.string,
  12741. /**
  12742. * This component may be used to wrap child elements or components.
  12743. */
  12744. children: prop_types_default.a.element,
  12745. /**
  12746. * An ARIA accessible role applied to the Menu component. This should generally be set to 'status'
  12747. */
  12748. role: prop_types_default.a.string,
  12749. /**
  12750. * @default div
  12751. */
  12752. as: prop_types_default.a.elementType
  12753. };
  12754. var Spinner = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12755. var bsPrefix = _ref.bsPrefix,
  12756. variant = _ref.variant,
  12757. animation = _ref.animation,
  12758. size = _ref.size,
  12759. children = _ref.children,
  12760. _ref$as = _ref.as,
  12761. Component = _ref$as === void 0 ? 'div' : _ref$as,
  12762. className = _ref.className,
  12763. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "variant", "animation", "size", "children", "as", "className"]);
  12764. bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');
  12765. var bsSpinnerPrefix = bsPrefix + "-" + animation;
  12766. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({
  12767. ref: ref
  12768. }, props, {
  12769. className: classnames_default()(className, bsSpinnerPrefix, size && bsSpinnerPrefix + "-" + size, variant && "text-" + variant),
  12770. __source: {
  12771. fileName: Spinner_jsxFileName,
  12772. lineNumber: 70
  12773. },
  12774. __self: this
  12775. }), children);
  12776. });
  12777. Spinner.propTypes = Spinner_propTypes;
  12778. Spinner.displayName = 'Spinner';
  12779. /* harmony default export */ var src_Spinner = (Spinner);
  12780. // CONCATENATED MODULE: ./src/SplitButton.js
  12781. var SplitButton_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/SplitButton.js";
  12782. var SplitButton_propTypes = {
  12783. /**
  12784. * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
  12785. * @type {string|number}
  12786. * @required
  12787. */
  12788. id: prop_types_default.a.any,
  12789. /**
  12790. * Accessible label for the toggle; the value of `title` if not specified.
  12791. */
  12792. toggleLabel: prop_types_default.a.string,
  12793. /** An `href` passed to the non-toggle Button */
  12794. href: prop_types_default.a.string,
  12795. /** An anchor `target` passed to the non-toggle Button */
  12796. target: prop_types_default.a.string,
  12797. /** An `onClick` handler passed to the non-toggle Button */
  12798. onClick: prop_types_default.a.func,
  12799. /** The content of the non-toggle Button. */
  12800. title: prop_types_default.a.node.isRequired,
  12801. /** Disables both Buttons */
  12802. disabled: prop_types_default.a.bool,
  12803. /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
  12804. menuRole: prop_types_default.a.string,
  12805. /**
  12806. * Which event when fired outside the component will cause it to be closed.
  12807. *
  12808. * _see [DropdownMenu](#menu-props) for more details_
  12809. */
  12810. rootCloseEvent: prop_types_default.a.string,
  12811. /** @ignore */
  12812. bsPrefix: prop_types_default.a.string,
  12813. /** @ignore */
  12814. variant: prop_types_default.a.string,
  12815. /** @ignore */
  12816. size: prop_types_default.a.string
  12817. };
  12818. var SplitButton_defaultProps = {
  12819. toggleLabel: 'Toggle dropdown'
  12820. };
  12821. var SplitButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12822. var id = _ref.id,
  12823. bsPrefix = _ref.bsPrefix,
  12824. size = _ref.size,
  12825. variant = _ref.variant,
  12826. title = _ref.title,
  12827. toggleLabel = _ref.toggleLabel,
  12828. children = _ref.children,
  12829. onClick = _ref.onClick,
  12830. href = _ref.href,
  12831. target = _ref.target,
  12832. menuRole = _ref.menuRole,
  12833. rootCloseEvent = _ref.rootCloseEvent,
  12834. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["id", "bsPrefix", "size", "variant", "title", "toggleLabel", "children", "onClick", "href", "target", "menuRole", "rootCloseEvent"]);
  12835. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown, Object(esm_extends["a" /* default */])({
  12836. ref: ref
  12837. }, props, {
  12838. as: src_ButtonGroup,
  12839. __source: {
  12840. fileName: SplitButton_jsxFileName,
  12841. lineNumber: 76
  12842. },
  12843. __self: this
  12844. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Button, {
  12845. size: size,
  12846. variant: variant,
  12847. disabled: props.disabled,
  12848. bsPrefix: bsPrefix,
  12849. href: href,
  12850. target: target,
  12851. onClick: onClick,
  12852. __source: {
  12853. fileName: SplitButton_jsxFileName,
  12854. lineNumber: 77
  12855. },
  12856. __self: this
  12857. }, title), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Toggle, {
  12858. split: true,
  12859. id: id,
  12860. size: size,
  12861. variant: variant,
  12862. disabled: props.disabled,
  12863. childBsPrefix: bsPrefix,
  12864. __source: {
  12865. fileName: SplitButton_jsxFileName,
  12866. lineNumber: 88
  12867. },
  12868. __self: this
  12869. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  12870. className: "sr-only",
  12871. __source: {
  12872. fileName: SplitButton_jsxFileName,
  12873. lineNumber: 96
  12874. },
  12875. __self: this
  12876. }, toggleLabel)), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Menu, {
  12877. role: menuRole,
  12878. rootCloseEvent: rootCloseEvent,
  12879. __source: {
  12880. fileName: SplitButton_jsxFileName,
  12881. lineNumber: 99
  12882. },
  12883. __self: this
  12884. }, children));
  12885. });
  12886. SplitButton.propTypes = SplitButton_propTypes;
  12887. SplitButton.defaultProps = SplitButton_defaultProps;
  12888. SplitButton.displayName = 'SplitButton';
  12889. /* harmony default export */ var src_SplitButton = (SplitButton);
  12890. // CONCATENATED MODULE: ./src/TabContainer.js
  12891. var TabContainer_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/TabContainer.js";
  12892. /* eslint-disable react/no-unused-prop-types */
  12893. var TabContainer_propTypes = {
  12894. /**
  12895. * HTML id attribute, required if no `generateChildId` prop
  12896. * is specified.
  12897. *
  12898. * @type {string}
  12899. */
  12900. id: function id(props) {
  12901. var error = null;
  12902. if (!props.generateChildId) {
  12903. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  12904. args[_key - 1] = arguments[_key];
  12905. }
  12906. error = prop_types_default.a.string.apply(prop_types_default.a, [props].concat(args));
  12907. if (!error && !props.id) {
  12908. error = new Error('In order to properly initialize Tabs in a way that is accessible ' + 'to assistive technologies (such as screen readers) an `id` or a ' + '`generateChildId` prop to TabContainer is required');
  12909. }
  12910. }
  12911. return error;
  12912. },
  12913. /**
  12914. * Sets a default animation strategy for all children `<TabPane>`s. Use
  12915. * `false` to disable, `true` to enable the default `<Fade>` animation or
  12916. * a react-transition-group v2 `<Transition/>` component.
  12917. *
  12918. * @type {{Transition | false}}
  12919. * @default {Fade}
  12920. */
  12921. transition: prop_types_default.a.oneOfType([prop_types_default.a.oneOf([false]), prop_types_default.a.elementType]),
  12922. /**
  12923. * Wait until the first "enter" transition to mount tabs (add them to the DOM)
  12924. */
  12925. mountOnEnter: prop_types_default.a.bool,
  12926. /**
  12927. * Unmount tabs (remove it from the DOM) when they are no longer visible
  12928. */
  12929. unmountOnExit: prop_types_default.a.bool,
  12930. /**
  12931. * A function that takes an `eventKey` and `type` and returns a unique id for
  12932. * child tab `<NavItem>`s and `<TabPane>`s. The function _must_ be a pure
  12933. * function, meaning it should always return the _same_ id for the same set
  12934. * of inputs. The default value requires that an `id` to be set for the
  12935. * `<TabContainer>`.
  12936. *
  12937. * The `type` argument will either be `"tab"` or `"pane"`.
  12938. *
  12939. * @defaultValue (eventKey, type) => `${props.id}-${type}-${eventKey}`
  12940. */
  12941. generateChildId: prop_types_default.a.func,
  12942. /**
  12943. * A callback fired when a tab is selected.
  12944. *
  12945. * @controllable activeKey
  12946. */
  12947. onSelect: prop_types_default.a.func,
  12948. /**
  12949. * The `eventKey` of the currently active tab.
  12950. *
  12951. * @controllable onSelect
  12952. */
  12953. activeKey: prop_types_default.a.any
  12954. };
  12955. var TabContainer_TabContainer = function TabContainer(props) {
  12956. var _useUncontrolled = useUncontrolled(props, {
  12957. activeKey: 'onSelect'
  12958. }),
  12959. id = _useUncontrolled.id,
  12960. generateCustomChildId = _useUncontrolled.generateChildId,
  12961. onSelect = _useUncontrolled.onSelect,
  12962. activeKey = _useUncontrolled.activeKey,
  12963. transition = _useUncontrolled.transition,
  12964. mountOnEnter = _useUncontrolled.mountOnEnter,
  12965. unmountOnExit = _useUncontrolled.unmountOnExit,
  12966. children = _useUncontrolled.children;
  12967. var generateChildId = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  12968. return generateCustomChildId || function (key, type) {
  12969. return id ? id + "-" + type + "-" + key : null;
  12970. };
  12971. }, [id, generateCustomChildId]);
  12972. var tabContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  12973. return {
  12974. onSelect: onSelect,
  12975. activeKey: activeKey,
  12976. transition: transition,
  12977. mountOnEnter: mountOnEnter,
  12978. unmountOnExit: unmountOnExit,
  12979. getControlledId: function getControlledId(key) {
  12980. return generateChildId(key, 'tabpane');
  12981. },
  12982. getControllerId: function getControllerId(key) {
  12983. return generateChildId(key, 'tab');
  12984. }
  12985. };
  12986. }, [onSelect, activeKey, transition, mountOnEnter, unmountOnExit, generateChildId]);
  12987. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContext.Provider, {
  12988. value: tabContext,
  12989. __source: {
  12990. fileName: TabContainer_jsxFileName,
  12991. lineNumber: 124
  12992. },
  12993. __self: this
  12994. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  12995. value: onSelect,
  12996. __source: {
  12997. fileName: TabContainer_jsxFileName,
  12998. lineNumber: 125
  12999. },
  13000. __self: this
  13001. }, children));
  13002. };
  13003. TabContainer_TabContainer.propTypes = TabContainer_propTypes;
  13004. /* harmony default export */ var src_TabContainer = (TabContainer_TabContainer);
  13005. // CONCATENATED MODULE: ./src/TabContent.js
  13006. var TabContent_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/TabContent.js";
  13007. var TabContent_TabContent =
  13008. /*#__PURE__*/
  13009. function (_React$Component) {
  13010. Object(inheritsLoose["a" /* default */])(TabContent, _React$Component);
  13011. function TabContent() {
  13012. return _React$Component.apply(this, arguments) || this;
  13013. }
  13014. var _proto = TabContent.prototype;
  13015. _proto.render = function render() {
  13016. // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
  13017. var _this$props = this.props,
  13018. bsPrefix = _this$props.bsPrefix,
  13019. _this$props$as = _this$props.as,
  13020. Component = _this$props$as === void 0 ? 'div' : _this$props$as,
  13021. className = _this$props.className,
  13022. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["bsPrefix", "as", "className"]);
  13023. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, {
  13024. className: classnames_default()(className, bsPrefix),
  13025. __source: {
  13026. fileName: TabContent_jsxFileName,
  13027. lineNumber: 21
  13028. },
  13029. __self: this
  13030. }));
  13031. };
  13032. return TabContent;
  13033. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  13034. TabContent_TabContent.propTypes = {
  13035. /**
  13036. * @default 'tab-content'
  13037. */
  13038. bsPrefix: prop_types_default.a.string,
  13039. as: prop_types_default.a.elementType
  13040. };
  13041. /* harmony default export */ var src_TabContent = (createBootstrapComponent(TabContent_TabContent, 'tab-content'));
  13042. // CONCATENATED MODULE: ./src/TabPane.js
  13043. var TabPane_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/TabPane.js";
  13044. var TabPane_propTypes = {
  13045. /**
  13046. * @default 'tab-pane'
  13047. */
  13048. bsPrefix: prop_types_default.a.string,
  13049. as: prop_types_default.a.elementType,
  13050. /**
  13051. * A key that associates the `TabPane` with it's controlling `NavLink`.
  13052. */
  13053. eventKey: prop_types_default.a.any,
  13054. /**
  13055. * Toggles the active state of the TabPane, this is generally controlled by a
  13056. * TabContainer.
  13057. */
  13058. active: prop_types_default.a.bool,
  13059. /**
  13060. * Use animation when showing or hiding `<TabPane>`s. Use `false` to disable,
  13061. * `true` to enable the default `<Fade>` animation or
  13062. * a react-transition-group v2 `<Transition/>` component.
  13063. */
  13064. transition: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.elementType]),
  13065. /**
  13066. *
  13067. * @default 'tab-pane'
  13068. */
  13069. bsClass: prop_types_default.a.string,
  13070. /**
  13071. * Transition onEnter callback when animation is not `false`
  13072. */
  13073. onEnter: prop_types_default.a.func,
  13074. /**
  13075. * Transition onEntering callback when animation is not `false`
  13076. */
  13077. onEntering: prop_types_default.a.func,
  13078. /**
  13079. * Transition onEntered callback when animation is not `false`
  13080. */
  13081. onEntered: prop_types_default.a.func,
  13082. /**
  13083. * Transition onExit callback when animation is not `false`
  13084. */
  13085. onExit: prop_types_default.a.func,
  13086. /**
  13087. * Transition onExiting callback when animation is not `false`
  13088. */
  13089. onExiting: prop_types_default.a.func,
  13090. /**
  13091. * Transition onExited callback when animation is not `false`
  13092. */
  13093. onExited: prop_types_default.a.func,
  13094. /**
  13095. * Wait until the first "enter" transition to mount the tab (add it to the DOM)
  13096. */
  13097. mountOnEnter: prop_types_default.a.bool,
  13098. /**
  13099. * Unmount the tab (remove it from the DOM) when it is no longer visible
  13100. */
  13101. unmountOnExit: prop_types_default.a.bool,
  13102. /** @ignore * */
  13103. id: prop_types_default.a.string,
  13104. /** @ignore * */
  13105. 'aria-labelledby': prop_types_default.a.string
  13106. };
  13107. function useTabContext(props) {
  13108. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_TabContext);
  13109. if (!context) return props;
  13110. var activeKey = context.activeKey,
  13111. getControlledId = context.getControlledId,
  13112. getControllerId = context.getControllerId,
  13113. rest = Object(objectWithoutPropertiesLoose["a" /* default */])(context, ["activeKey", "getControlledId", "getControllerId"]);
  13114. var shouldTransition = props.transition !== false && rest.transition !== false;
  13115. var key = makeEventKey(props.eventKey);
  13116. return Object(esm_extends["a" /* default */])({}, props, {
  13117. active: props.active == null && key != null ? makeEventKey(activeKey) === key : props.active,
  13118. id: getControlledId(props.eventKey),
  13119. 'aria-labelledby': getControllerId(props.eventKey),
  13120. transition: shouldTransition && (props.transition || rest.transition || src_Fade),
  13121. mountOnEnter: props.mountOnEnter != null ? props.mountOnEnter : rest.mountOnEnter,
  13122. unmountOnExit: props.unmountOnExit != null ? props.unmountOnExit : rest.unmountOnExit
  13123. });
  13124. }
  13125. var TabPane = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  13126. var _useTabContext = useTabContext(props),
  13127. bsPrefix = _useTabContext.bsPrefix,
  13128. className = _useTabContext.className,
  13129. active = _useTabContext.active,
  13130. onEnter = _useTabContext.onEnter,
  13131. onEntering = _useTabContext.onEntering,
  13132. onEntered = _useTabContext.onEntered,
  13133. onExit = _useTabContext.onExit,
  13134. onExiting = _useTabContext.onExiting,
  13135. onExited = _useTabContext.onExited,
  13136. mountOnEnter = _useTabContext.mountOnEnter,
  13137. unmountOnExit = _useTabContext.unmountOnExit,
  13138. Transition = _useTabContext.transition,
  13139. _useTabContext$as = _useTabContext.as,
  13140. Component = _useTabContext$as === void 0 ? 'div' : _useTabContext$as,
  13141. _ = _useTabContext.eventKey,
  13142. rest = Object(objectWithoutPropertiesLoose["a" /* default */])(_useTabContext, ["bsPrefix", "className", "active", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "mountOnEnter", "unmountOnExit", "transition", "as", "eventKey"]);
  13143. var prefix = useBootstrapPrefix(bsPrefix, 'tab-pane');
  13144. if (!active && unmountOnExit) return null;
  13145. var pane = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, rest, {
  13146. ref: ref,
  13147. role: "tabpanel",
  13148. "aria-hidden": !active,
  13149. className: classnames_default()(className, prefix, {
  13150. active: active
  13151. }),
  13152. __source: {
  13153. fileName: TabPane_jsxFileName,
  13154. lineNumber: 142
  13155. },
  13156. __self: this
  13157. }));
  13158. if (Transition) pane = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, {
  13159. in: active,
  13160. onEnter: onEnter,
  13161. onEntering: onEntering,
  13162. onEntered: onEntered,
  13163. onExit: onExit,
  13164. onExiting: onExiting,
  13165. onExited: onExited,
  13166. mountOnEnter: mountOnEnter,
  13167. unmountOnExit: unmountOnExit,
  13168. __source: {
  13169. fileName: TabPane_jsxFileName,
  13170. lineNumber: 153
  13171. },
  13172. __self: this
  13173. }, pane); // We provide an empty the TabContext so `<Nav>`s in `<TabPane>`s don't
  13174. // conflict with the top level one.
  13175. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContext.Provider, {
  13176. value: null,
  13177. __source: {
  13178. fileName: TabPane_jsxFileName,
  13179. lineNumber: 171
  13180. },
  13181. __self: this
  13182. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  13183. value: null,
  13184. __source: {
  13185. fileName: TabPane_jsxFileName,
  13186. lineNumber: 172
  13187. },
  13188. __self: this
  13189. }, pane));
  13190. });
  13191. TabPane.displayName = 'TabPane';
  13192. TabPane.propTypes = TabPane_propTypes;
  13193. /* harmony default export */ var src_TabPane = (TabPane);
  13194. // CONCATENATED MODULE: ./src/Tab.js
  13195. /* eslint-disable react/require-render-return, react/no-unused-prop-types */
  13196. var Tab_Tab =
  13197. /*#__PURE__*/
  13198. function (_React$Component) {
  13199. Object(inheritsLoose["a" /* default */])(Tab, _React$Component);
  13200. function Tab() {
  13201. return _React$Component.apply(this, arguments) || this;
  13202. }
  13203. var _proto = Tab.prototype;
  13204. _proto.render = function render() {
  13205. throw new Error('ReactBootstrap: The `Tab` component is not meant to be rendered! ' + "It's an abstract component that is only valid as a direct Child of the `Tabs` Component. " + 'For custom tabs components use TabPane and TabsContainer directly');
  13206. };
  13207. return Tab;
  13208. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  13209. Tab_Tab.propTypes = {
  13210. title: prop_types_default.a.node.isRequired
  13211. };
  13212. Tab_Tab.Container = src_TabContainer;
  13213. Tab_Tab.Content = src_TabContent;
  13214. Tab_Tab.Pane = src_TabPane;
  13215. /* harmony default export */ var src_Tab = (Tab_Tab);
  13216. // CONCATENATED MODULE: ./src/Table.js
  13217. var Table_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Table.js";
  13218. var Table_Table =
  13219. /*#__PURE__*/
  13220. function (_React$Component) {
  13221. Object(inheritsLoose["a" /* default */])(Table, _React$Component);
  13222. function Table() {
  13223. return _React$Component.apply(this, arguments) || this;
  13224. }
  13225. var _proto = Table.prototype;
  13226. _proto.render = function render() {
  13227. var _this$props = this.props,
  13228. bsPrefix = _this$props.bsPrefix,
  13229. className = _this$props.className,
  13230. striped = _this$props.striped,
  13231. bordered = _this$props.bordered,
  13232. borderless = _this$props.borderless,
  13233. hover = _this$props.hover,
  13234. size = _this$props.size,
  13235. variant = _this$props.variant,
  13236. responsive = _this$props.responsive,
  13237. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["bsPrefix", "className", "striped", "bordered", "borderless", "hover", "size", "variant", "responsive"]);
  13238. var classes = classnames_default()(bsPrefix, className, variant && bsPrefix + "-" + variant, size && bsPrefix + "-" + size, striped && bsPrefix + "-striped", bordered && bsPrefix + "-bordered", borderless && bsPrefix + "-borderless", hover && bsPrefix + "-hover");
  13239. var table = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("table", Object(esm_extends["a" /* default */])({}, props, {
  13240. className: classes,
  13241. __source: {
  13242. fileName: Table_jsxFileName,
  13243. lineNumber: 83
  13244. },
  13245. __self: this
  13246. }));
  13247. if (responsive) {
  13248. var responsiveClass = bsPrefix + "-responsive";
  13249. if (typeof responsive === 'string') {
  13250. responsiveClass = responsiveClass + "-" + responsive;
  13251. }
  13252. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  13253. className: responsiveClass,
  13254. __source: {
  13255. fileName: Table_jsxFileName,
  13256. lineNumber: 91
  13257. },
  13258. __self: this
  13259. }, table);
  13260. }
  13261. return table;
  13262. };
  13263. return Table;
  13264. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  13265. Table_Table.propTypes = {
  13266. /**
  13267. * @default 'table'
  13268. */
  13269. bsPrefix: prop_types_default.a.string,
  13270. /**
  13271. * Adds zebra-striping to any table row within the `<tbody>`.
  13272. */
  13273. striped: prop_types_default.a.bool,
  13274. /**
  13275. * Adds borders on all sides of the table and cells.
  13276. */
  13277. bordered: prop_types_default.a.bool,
  13278. /**
  13279. * Removes all borders on the table and cells, including table header.
  13280. */
  13281. borderless: prop_types_default.a.bool,
  13282. /**
  13283. * Enable a hover state on table rows within a `<tbody>`.
  13284. */
  13285. hover: prop_types_default.a.bool,
  13286. /**
  13287. * Make tables more compact by cutting cell padding in half by setting
  13288. * size as `sm`.
  13289. */
  13290. size: prop_types_default.a.string,
  13291. /**
  13292. * Invert the colors of the table — with light text on dark backgrounds
  13293. * by setting variant as `dark`.
  13294. */
  13295. variant: prop_types_default.a.string,
  13296. /**
  13297. * Responsive tables allow tables to be scrolled horizontally with ease.
  13298. * Across every breakpoint, use `responsive` for horizontally
  13299. * scrolling tables. Responsive tables are wrapped automatically in a `div`.
  13300. * Use `responsive="sm"`, `responsive="md"`, `responsive="lg"`, or
  13301. * `responsive="xl"` as needed to create responsive tables up to
  13302. * a particular breakpoint. From that breakpoint and up, the table will
  13303. * behave normally and not scroll horizontally.
  13304. */
  13305. responsive: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.string])
  13306. };
  13307. /* harmony default export */ var src_Table = (createBootstrapComponent(Table_Table, 'table'));
  13308. // CONCATENATED MODULE: ./src/Tabs.js
  13309. var Tabs_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Tabs.js";
  13310. var Tabs_propTypes = {
  13311. /**
  13312. * Mark the Tab with a matching `eventKey` as active.
  13313. *
  13314. * @controllable onSelect
  13315. */
  13316. activeKey: prop_types_default.a.any,
  13317. /**
  13318. * Navigation style
  13319. *
  13320. * @type {('tabs'| 'pills')}
  13321. */
  13322. variant: prop_types_default.a.string,
  13323. /**
  13324. * Sets a default animation strategy for all children `<TabPane>`s. Use
  13325. * `false` to disable, `true` to enable the default `<Fade>` animation or
  13326. * a react-transition-group v2 `<Transition/>` component.
  13327. *
  13328. * @type {Transition | false}
  13329. * @default {Fade}
  13330. */
  13331. transition: prop_types_default.a.oneOfType([prop_types_default.a.oneOf([false]), prop_types_default.a.elementType]),
  13332. /**
  13333. * HTML id attribute, required if no `generateChildId` prop
  13334. * is specified.
  13335. *
  13336. * @type {string}
  13337. */
  13338. id: isRequiredForA11y_default()(prop_types_default.a.string),
  13339. /**
  13340. * Callback fired when a Tab is selected.
  13341. *
  13342. * ```js
  13343. * function (
  13344. * Any eventKey,
  13345. * SyntheticEvent event?
  13346. * )
  13347. * ```
  13348. *
  13349. * @controllable activeKey
  13350. */
  13351. onSelect: prop_types_default.a.func,
  13352. /**
  13353. * Wait until the first "enter" transition to mount tabs (add them to the DOM)
  13354. */
  13355. mountOnEnter: prop_types_default.a.bool,
  13356. /**
  13357. * Unmount tabs (remove it from the DOM) when it is no longer visible
  13358. */
  13359. unmountOnExit: prop_types_default.a.bool
  13360. };
  13361. var Tabs_defaultProps = {
  13362. variant: 'tabs',
  13363. mountOnEnter: false,
  13364. unmountOnExit: false
  13365. };
  13366. function getDefaultActiveKey(children) {
  13367. var defaultActiveKey;
  13368. forEach(children, function (child) {
  13369. if (defaultActiveKey == null) {
  13370. defaultActiveKey = child.props.eventKey;
  13371. }
  13372. });
  13373. return defaultActiveKey;
  13374. }
  13375. function renderTab(child) {
  13376. var _child$props = child.props,
  13377. title = _child$props.title,
  13378. eventKey = _child$props.eventKey,
  13379. disabled = _child$props.disabled,
  13380. tabClassName = _child$props.tabClassName;
  13381. if (title == null) {
  13382. return null;
  13383. }
  13384. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_NavItem, {
  13385. as: src_NavLink,
  13386. eventKey: eventKey,
  13387. disabled: disabled,
  13388. className: tabClassName,
  13389. __source: {
  13390. fileName: Tabs_jsxFileName,
  13391. lineNumber: 101
  13392. },
  13393. __self: this
  13394. }, title);
  13395. }
  13396. var Tabs = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  13397. var _useUncontrolled = useUncontrolled(props, {
  13398. activeKey: 'onSelect'
  13399. }),
  13400. id = _useUncontrolled.id,
  13401. onSelect = _useUncontrolled.onSelect,
  13402. transition = _useUncontrolled.transition,
  13403. mountOnEnter = _useUncontrolled.mountOnEnter,
  13404. unmountOnExit = _useUncontrolled.unmountOnExit,
  13405. children = _useUncontrolled.children,
  13406. _useUncontrolled$acti = _useUncontrolled.activeKey,
  13407. activeKey = _useUncontrolled$acti === void 0 ? getDefaultActiveKey(children) : _useUncontrolled$acti,
  13408. controlledProps = Object(objectWithoutPropertiesLoose["a" /* default */])(_useUncontrolled, ["id", "onSelect", "transition", "mountOnEnter", "unmountOnExit", "children", "activeKey"]);
  13409. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContainer, {
  13410. ref: ref,
  13411. id: id,
  13412. activeKey: activeKey,
  13413. onSelect: onSelect,
  13414. transition: transition,
  13415. mountOnEnter: mountOnEnter,
  13416. unmountOnExit: unmountOnExit,
  13417. __source: {
  13418. fileName: Tabs_jsxFileName,
  13419. lineNumber: 127
  13420. },
  13421. __self: this
  13422. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Nav, Object(esm_extends["a" /* default */])({}, controlledProps, {
  13423. role: "tablist",
  13424. as: "nav",
  13425. __source: {
  13426. fileName: Tabs_jsxFileName,
  13427. lineNumber: 136
  13428. },
  13429. __self: this
  13430. }), map(children, renderTab)), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContent, {
  13431. __source: {
  13432. fileName: Tabs_jsxFileName,
  13433. lineNumber: 140
  13434. },
  13435. __self: this
  13436. }, map(children, function (child) {
  13437. var childProps = Object(esm_extends["a" /* default */])({}, child.props);
  13438. delete childProps.title;
  13439. delete childProps.disabled;
  13440. delete childProps.tabClassName;
  13441. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabPane, Object(esm_extends["a" /* default */])({}, childProps, {
  13442. __source: {
  13443. fileName: Tabs_jsxFileName,
  13444. lineNumber: 148
  13445. },
  13446. __self: this
  13447. }));
  13448. })));
  13449. });
  13450. Tabs.propTypes = Tabs_propTypes;
  13451. Tabs.defaultProps = Tabs_defaultProps;
  13452. Tabs.displayName = 'Tabs';
  13453. /* harmony default export */ var src_Tabs = (Tabs);
  13454. // CONCATENATED MODULE: ./src/ToggleButton.js
  13455. var ToggleButton_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ToggleButton.js";
  13456. var ToggleButton_noop = function noop() {};
  13457. var ToggleButton_propTypes = {
  13458. /**
  13459. * The `<input>` element `type`
  13460. */
  13461. type: prop_types_default.a.oneOf(['checkbox', 'radio']),
  13462. /**
  13463. * The HTML input name, used to group like checkboxes or radio buttons together
  13464. * semantically
  13465. */
  13466. name: prop_types_default.a.string,
  13467. /**
  13468. * The checked state of the input, managed by `<ToggleButtonGroup>` automatically
  13469. */
  13470. checked: prop_types_default.a.bool,
  13471. /**
  13472. * The disabled state of both the label and input
  13473. */
  13474. disabled: prop_types_default.a.bool,
  13475. /**
  13476. * A callback fired when the underlying input element changes. This is passed
  13477. * directly to the `<input>` so shares the same signature as a native `onChange` event.
  13478. */
  13479. onChange: prop_types_default.a.func,
  13480. /**
  13481. * The value of the input, should be unique amongst it's siblings when nested in a
  13482. * `ToggleButtonGroup`.
  13483. */
  13484. value: prop_types_default.a.any.isRequired,
  13485. /**
  13486. * A ref attached to the `<input>` element
  13487. * @type {ReactRef}
  13488. */
  13489. inputRef: prop_types_default.a.any,
  13490. /** @ignore */
  13491. innerRef: prop_types_default.a.any
  13492. };
  13493. var ToggleButton_ToggleButton =
  13494. /*#__PURE__*/
  13495. function (_React$Component) {
  13496. Object(inheritsLoose["a" /* default */])(ToggleButton, _React$Component);
  13497. function ToggleButton() {
  13498. var _this;
  13499. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  13500. args[_key] = arguments[_key];
  13501. }
  13502. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  13503. _this.state = {
  13504. focused: false
  13505. };
  13506. _this.handleFocus = function (e) {
  13507. if (e.target.tagName === 'INPUT') _this.setState({
  13508. focused: true
  13509. });
  13510. };
  13511. _this.handleBlur = function (e) {
  13512. if (e.target.tagName === 'INPUT') _this.setState({
  13513. focused: false
  13514. });
  13515. };
  13516. return _this;
  13517. }
  13518. var _proto = ToggleButton.prototype;
  13519. _proto.render = function render() {
  13520. var _this$props = this.props,
  13521. children = _this$props.children,
  13522. name = _this$props.name,
  13523. className = _this$props.className,
  13524. checked = _this$props.checked,
  13525. type = _this$props.type,
  13526. onChange = _this$props.onChange,
  13527. value = _this$props.value,
  13528. disabled = _this$props.disabled,
  13529. inputRef = _this$props.inputRef,
  13530. innerRef = _this$props.innerRef,
  13531. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props, ["children", "name", "className", "checked", "type", "onChange", "value", "disabled", "inputRef", "innerRef"]);
  13532. var focused = this.state.focused;
  13533. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Button, Object(esm_extends["a" /* default */])({}, props, {
  13534. ref: innerRef,
  13535. className: classnames_default()(className, focused && 'focus', disabled && 'disabled'),
  13536. type: null,
  13537. active: !!checked,
  13538. as: "label",
  13539. __source: {
  13540. fileName: ToggleButton_jsxFileName,
  13541. lineNumber: 80
  13542. },
  13543. __self: this
  13544. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("input", {
  13545. name: name,
  13546. type: type,
  13547. value: value,
  13548. ref: inputRef,
  13549. autoComplete: "off",
  13550. checked: !!checked,
  13551. disabled: !!disabled,
  13552. onFocus: this.handleFocus,
  13553. onBlur: this.handleBlur,
  13554. onChange: onChange || ToggleButton_noop,
  13555. __source: {
  13556. fileName: ToggleButton_jsxFileName,
  13557. lineNumber: 92
  13558. },
  13559. __self: this
  13560. }), children);
  13561. };
  13562. return ToggleButton;
  13563. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  13564. ToggleButton_ToggleButton.propTypes = ToggleButton_propTypes;
  13565. /* harmony default export */ var src_ToggleButton = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  13566. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(ToggleButton_ToggleButton, Object(esm_extends["a" /* default */])({
  13567. innerRef: ref
  13568. }, props, {
  13569. __source: {
  13570. fileName: ToggleButton_jsxFileName,
  13571. lineNumber: 114
  13572. },
  13573. __self: this
  13574. }));
  13575. }));
  13576. // CONCATENATED MODULE: ./src/ToggleButtonGroup.js
  13577. var ToggleButtonGroup_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ToggleButtonGroup.js";
  13578. var ToggleButtonGroup_propTypes = {
  13579. /**
  13580. * An HTML `<input>` name for each child button.
  13581. *
  13582. * __Required if `type` is set to `'radio'`__
  13583. */
  13584. name: prop_types_default.a.string,
  13585. /**
  13586. * The value, or array of values, of the active (pressed) buttons
  13587. *
  13588. * @controllable onChange
  13589. */
  13590. value: prop_types_default.a.any,
  13591. /**
  13592. * Callback fired when a button is pressed, depending on whether the `type`
  13593. * is `'radio'` or `'checkbox'`, `onChange` will be called with the value or
  13594. * array of active values
  13595. *
  13596. * @controllable values
  13597. */
  13598. onChange: prop_types_default.a.func,
  13599. /**
  13600. * The input `type` of the rendered buttons, determines the toggle behavior
  13601. * of the buttons
  13602. */
  13603. type: prop_types_default.a.oneOf(['checkbox', 'radio']).isRequired
  13604. };
  13605. var ToggleButtonGroup_defaultProps = {
  13606. type: 'radio'
  13607. };
  13608. var ToggleButtonGroup_ToggleButtonGroup =
  13609. /*#__PURE__*/
  13610. function (_React$Component) {
  13611. Object(inheritsLoose["a" /* default */])(ToggleButtonGroup, _React$Component);
  13612. function ToggleButtonGroup() {
  13613. return _React$Component.apply(this, arguments) || this;
  13614. }
  13615. var _proto = ToggleButtonGroup.prototype;
  13616. _proto.getValues = function getValues() {
  13617. var value = this.props.value;
  13618. return value == null ? [] : [].concat(value);
  13619. };
  13620. _proto.handleToggle = function handleToggle(value, event) {
  13621. var _this$props = this.props,
  13622. type = _this$props.type,
  13623. onChange = _this$props.onChange;
  13624. var values = this.getValues();
  13625. var isActive = values.indexOf(value) !== -1;
  13626. if (type === 'radio') {
  13627. if (!isActive) onChange(value, event);
  13628. return;
  13629. }
  13630. if (isActive) {
  13631. onChange(values.filter(function (n) {
  13632. return n !== value;
  13633. }), event);
  13634. } else {
  13635. onChange([].concat(values, [value]), event);
  13636. }
  13637. };
  13638. _proto.render = function render() {
  13639. var _this = this;
  13640. var _this$props2 = this.props,
  13641. children = _this$props2.children,
  13642. type = _this$props2.type,
  13643. name = _this$props2.name,
  13644. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["children", "type", "name"]);
  13645. delete props.onChange;
  13646. delete props.value;
  13647. var values = this.getValues();
  13648. !(type !== 'radio' || !!name) ? false ? undefined : browser_default()(false) : void 0;
  13649. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_ButtonGroup, Object(esm_extends["a" /* default */])({}, props, {
  13650. toggle: true,
  13651. __source: {
  13652. fileName: ToggleButtonGroup_jsxFileName,
  13653. lineNumber: 84
  13654. },
  13655. __self: this
  13656. }), map(children, function (child) {
  13657. var _child$props = child.props,
  13658. value = _child$props.value,
  13659. onChange = _child$props.onChange;
  13660. var handler = function handler(e) {
  13661. return _this.handleToggle(value, e);
  13662. };
  13663. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, {
  13664. type: type,
  13665. name: child.name || name,
  13666. checked: values.indexOf(value) !== -1,
  13667. onChange: utils_createChainedFunction(onChange, handler)
  13668. });
  13669. }));
  13670. };
  13671. return ToggleButtonGroup;
  13672. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  13673. ToggleButtonGroup_ToggleButtonGroup.propTypes = ToggleButtonGroup_propTypes;
  13674. ToggleButtonGroup_ToggleButtonGroup.defaultProps = ToggleButtonGroup_defaultProps;
  13675. var UncontrolledToggleButtonGroup = uncontrollable(ToggleButtonGroup_ToggleButtonGroup, {
  13676. value: 'onChange'
  13677. });
  13678. UncontrolledToggleButtonGroup.Button = src_ToggleButton;
  13679. /* harmony default export */ var src_ToggleButtonGroup = (UncontrolledToggleButtonGroup);
  13680. // CONCATENATED MODULE: ./src/Tooltip.js
  13681. var Tooltip_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Tooltip.js";
  13682. var Tooltip_propTypes = {
  13683. /**
  13684. * @default 'tooltip'
  13685. */
  13686. bsPrefix: prop_types_default.a.string,
  13687. /**
  13688. * An html id attribute, necessary for accessibility
  13689. * @type {string|number}
  13690. * @required
  13691. */
  13692. id: isRequiredForA11y_default()(prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.number])),
  13693. /**
  13694. * Sets the direction the Tooltip is positioned towards.
  13695. *
  13696. * > This is generally provided by the `Overlay` component positioning the tooltip
  13697. */
  13698. placement: prop_types_default.a.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']),
  13699. /**
  13700. * An Overlay injected set of props for positioning the tooltip arrow.
  13701. *
  13702. * > This is generally provided by the `Overlay` component positioning the tooltip
  13703. *
  13704. * @type {{ ref: ReactRef, style: Object }}
  13705. */
  13706. arrowProps: prop_types_default.a.shape({
  13707. ref: prop_types_default.a.any,
  13708. style: prop_types_default.a.object
  13709. }),
  13710. /** @private */
  13711. scheduleUpdate: prop_types_default.a.func,
  13712. /** @private */
  13713. outOfBoundaries: prop_types_default.a.any
  13714. };
  13715. var Tooltip_defaultProps = {
  13716. placement: 'right'
  13717. };
  13718. var Tooltip = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  13719. var bsPrefix = _ref.bsPrefix,
  13720. placement = _ref.placement,
  13721. className = _ref.className,
  13722. style = _ref.style,
  13723. children = _ref.children,
  13724. arrowProps = _ref.arrowProps,
  13725. _ = _ref.scheduleUpdate,
  13726. _1 = _ref.outOfBoundaries,
  13727. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "placement", "className", "style", "children", "arrowProps", "scheduleUpdate", "outOfBoundaries"]);
  13728. bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');
  13729. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  13730. ref: ref,
  13731. style: style,
  13732. role: "tooltip",
  13733. "x-placement": placement,
  13734. className: classnames_default()(className, bsPrefix, "bs-tooltip-" + placement)
  13735. }, props, {
  13736. __source: {
  13737. fileName: Tooltip_jsxFileName,
  13738. lineNumber: 86
  13739. },
  13740. __self: this
  13741. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  13742. className: "arrow"
  13743. }, arrowProps, {
  13744. __source: {
  13745. fileName: Tooltip_jsxFileName,
  13746. lineNumber: 94
  13747. },
  13748. __self: this
  13749. })), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  13750. className: bsPrefix + "-inner",
  13751. __source: {
  13752. fileName: Tooltip_jsxFileName,
  13753. lineNumber: 95
  13754. },
  13755. __self: this
  13756. }, children));
  13757. });
  13758. Tooltip.propTypes = Tooltip_propTypes;
  13759. Tooltip.defaultProps = Tooltip_defaultProps;
  13760. Tooltip.displayName = 'Tooltip';
  13761. /* harmony default export */ var src_Tooltip = (Tooltip);
  13762. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useUpdatedRef.js
  13763. /**
  13764. * Returns a ref that is immediately updated with the new value
  13765. *
  13766. * @param value The Ref value
  13767. */
  13768. function useUpdatedRef(value) {
  13769. var valueRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(value);
  13770. valueRef.current = value;
  13771. return valueRef;
  13772. }
  13773. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useWillUnmount.js
  13774. /**
  13775. * Attach a callback that fires when a component unmounts
  13776. *
  13777. * @param fn Handler to run when the component unmounts
  13778. */
  13779. function useWillUnmount(fn) {
  13780. var onUnmount = useUpdatedRef(fn);
  13781. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  13782. return function () {
  13783. return onUnmount.current();
  13784. };
  13785. }, []);
  13786. }
  13787. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useMounted.js
  13788. /**
  13789. * Track whether a component is current mounted. Generally less preferable than
  13790. * properlly canceling effects so they don't run after a component is unmounted,
  13791. * but helpful in cases where that isn't feasible, such as a `Promise` resolution.
  13792. *
  13793. * @returns a function that returns the current isMounted state of the component
  13794. *
  13795. * ```ts
  13796. * const [data, setData] = useState(null)
  13797. * const isMounted = useMounted()
  13798. *
  13799. * useEffect(() => {
  13800. * fetchdata().then((newData) => {
  13801. * if (isMounted()) {
  13802. * setData(newData);
  13803. * }
  13804. * })
  13805. * })
  13806. * ```
  13807. */
  13808. function useMounted() {
  13809. var mounted = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(true);
  13810. var isMounted = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(function () {
  13811. return mounted.current;
  13812. });
  13813. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  13814. return function () {
  13815. mounted.current = false;
  13816. };
  13817. }, []);
  13818. return isMounted.current;
  13819. }
  13820. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useTimeout.js
  13821. /**
  13822. * Returns a controller object for setting a timeout that is properly cleaned up
  13823. * once the component unmounts. New timeouts cancel and replace existing ones.
  13824. */
  13825. function useTimeout() {
  13826. var isMounted = useMounted();
  13827. var handle = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  13828. var clear = function clear() {
  13829. return clearTimeout(handle.current);
  13830. };
  13831. useWillUnmount(clear);
  13832. return {
  13833. set: function set(fn, ms) {
  13834. if (!isMounted()) return;
  13835. clear();
  13836. handle.current = setTimeout(fn, ms);
  13837. },
  13838. clear: clear
  13839. };
  13840. }
  13841. // CONCATENATED MODULE: ./src/ToastContext.js
  13842. var ToastContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({
  13843. onClose: function onClose() {}
  13844. });
  13845. /* harmony default export */ var src_ToastContext = (ToastContext);
  13846. // CONCATENATED MODULE: ./src/ToastHeader.js
  13847. var ToastHeader_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/ToastHeader.js";
  13848. var ToastHeader_propTypes = {
  13849. bsPrefix: prop_types_default.a.string,
  13850. /**
  13851. * Provides an accessible label for the close
  13852. * button. It is used for Assistive Technology when the label text is not
  13853. * readable.
  13854. */
  13855. closeLabel: prop_types_default.a.string,
  13856. /**
  13857. * Specify whether the Component should contain a close button
  13858. */
  13859. closeButton: prop_types_default.a.bool
  13860. };
  13861. var ToastHeader_defaultProps = {
  13862. closeLabel: 'Close',
  13863. closeButton: true
  13864. };
  13865. var ToastHeader = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  13866. var bsPrefix = _ref.bsPrefix,
  13867. closeLabel = _ref.closeLabel,
  13868. closeButton = _ref.closeButton,
  13869. className = _ref.className,
  13870. children = _ref.children,
  13871. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "closeLabel", "closeButton", "className", "children"]);
  13872. bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-header');
  13873. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_ToastContext);
  13874. var handleClick = useEventCallback(function () {
  13875. if (context) {
  13876. context.onClose();
  13877. }
  13878. });
  13879. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({
  13880. ref: ref
  13881. }, props, {
  13882. className: classnames_default()(bsPrefix, className),
  13883. __source: {
  13884. fileName: ToastHeader_jsxFileName,
  13885. lineNumber: 47
  13886. },
  13887. __self: this
  13888. }), children, closeButton && external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_CloseButton, {
  13889. label: closeLabel,
  13890. onClick: handleClick,
  13891. className: "ml-2 mb-1",
  13892. "data-dismiss": "toast",
  13893. __source: {
  13894. fileName: ToastHeader_jsxFileName,
  13895. lineNumber: 51
  13896. },
  13897. __self: this
  13898. }));
  13899. });
  13900. ToastHeader.displayName = 'ToastHeader';
  13901. ToastHeader.propTypes = ToastHeader_propTypes;
  13902. ToastHeader.defaultProps = ToastHeader_defaultProps;
  13903. /* harmony default export */ var src_ToastHeader = (ToastHeader);
  13904. // CONCATENATED MODULE: ./src/ToastBody.js
  13905. /* harmony default export */ var ToastBody = (createWithBsPrefix('toast-body'));
  13906. // CONCATENATED MODULE: ./src/Toast.js
  13907. var Toast_jsxFileName = "/Users/jjia/vendor/react-bootstrap/src/Toast.js";
  13908. var Toast_propTypes = {
  13909. /**
  13910. * @default 'toast'
  13911. */
  13912. bsPrefix: prop_types_default.a.string,
  13913. /**
  13914. * Apply a CSS fade transition to the toast
  13915. */
  13916. animation: prop_types_default.a.bool,
  13917. /**
  13918. * Auto hide the toast
  13919. */
  13920. autohide: prop_types_default.a.bool,
  13921. /**
  13922. * Delay hiding the toast (ms)
  13923. */
  13924. delay: prop_types_default.a.number,
  13925. /**
  13926. * A Callback fired when the close button is clicked.
  13927. */
  13928. onClose: prop_types_default.a.func,
  13929. /**
  13930. * When `true` The modal will show itself.
  13931. */
  13932. show: prop_types_default.a.bool,
  13933. /**
  13934. * A `react-transition-group` Transition component used to animate the Toast on dismissal.
  13935. */
  13936. transition: prop_types_default.a.elementType,
  13937. /** @ignore */
  13938. innerRef: prop_types_default.a.any
  13939. };
  13940. var Toast_defaultProps = {
  13941. animation: true,
  13942. autohide: false,
  13943. delay: 3000,
  13944. show: true,
  13945. transition: src_Fade
  13946. };
  13947. var Toast = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  13948. var bsPrefix = _ref.bsPrefix,
  13949. className = _ref.className,
  13950. children = _ref.children,
  13951. Transition = _ref.transition,
  13952. show = _ref.show,
  13953. animation = _ref.animation,
  13954. delay = _ref.delay,
  13955. autohide = _ref.autohide,
  13956. onClose = _ref.onClose,
  13957. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_ref, ["bsPrefix", "className", "children", "transition", "show", "animation", "delay", "autohide", "onClose"]);
  13958. bsPrefix = useBootstrapPrefix('toast');
  13959. var delayRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(delay);
  13960. var onCloseRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(onClose);
  13961. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  13962. // We use refs for these, because we don't want to restart the autohide
  13963. // timer in case these values change.
  13964. delayRef.current = delay;
  13965. onCloseRef.current = onClose;
  13966. }, [delay, onClose]);
  13967. var autohideTimeout = useTimeout();
  13968. var autohideFunc = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  13969. if (!(autohide && show)) {
  13970. return;
  13971. }
  13972. onCloseRef.current();
  13973. }, [autohide, show]);
  13974. autohideTimeout.set(autohideFunc, delayRef.current);
  13975. var useAnimation = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  13976. return Transition && animation;
  13977. }, [Transition, animation]);
  13978. var toast = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", Object(esm_extends["a" /* default */])({}, props, {
  13979. ref: ref,
  13980. className: classnames_default()(bsPrefix, className, !useAnimation && show && 'show'),
  13981. role: "alert",
  13982. "aria-live": "assertive",
  13983. "aria-atomic": "true",
  13984. __source: {
  13985. fileName: Toast_jsxFileName,
  13986. lineNumber: 103
  13987. },
  13988. __self: this
  13989. }), children);
  13990. var toastContext = {
  13991. onClose: onClose
  13992. };
  13993. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_ToastContext.Provider, {
  13994. value: toastContext,
  13995. __source: {
  13996. fileName: Toast_jsxFileName,
  13997. lineNumber: 124
  13998. },
  13999. __self: this
  14000. }, useAnimation ? external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, {
  14001. in: show,
  14002. __source: {
  14003. fileName: Toast_jsxFileName,
  14004. lineNumber: 125
  14005. },
  14006. __self: this
  14007. }, toast) : toast);
  14008. });
  14009. Toast.propTypes = Toast_propTypes;
  14010. Toast.defaultProps = Toast_defaultProps;
  14011. Toast.displayName = 'Toast';
  14012. Toast.Body = ToastBody;
  14013. Toast.Header = src_ToastHeader;
  14014. /* harmony default export */ var src_Toast = (Toast);
  14015. // CONCATENATED MODULE: ./src/index.js
  14016. /* concated harmony reexport Accordion */__webpack_require__.d(__webpack_exports__, "Accordion", function() { return src_Accordion; });
  14017. /* concated harmony reexport AccordionToggle */__webpack_require__.d(__webpack_exports__, "AccordionToggle", function() { return src_AccordionToggle; });
  14018. /* concated harmony reexport useAccordionToggle */__webpack_require__.d(__webpack_exports__, "useAccordionToggle", function() { return useAccordionToggle; });
  14019. /* concated harmony reexport AccordionCollapse */__webpack_require__.d(__webpack_exports__, "AccordionCollapse", function() { return src_AccordionCollapse; });
  14020. /* concated harmony reexport Alert */__webpack_require__.d(__webpack_exports__, "Alert", function() { return src_Alert; });
  14021. /* concated harmony reexport Badge */__webpack_require__.d(__webpack_exports__, "Badge", function() { return src_Badge; });
  14022. /* concated harmony reexport Breadcrumb */__webpack_require__.d(__webpack_exports__, "Breadcrumb", function() { return src_Breadcrumb; });
  14023. /* concated harmony reexport BreadcrumbItem */__webpack_require__.d(__webpack_exports__, "BreadcrumbItem", function() { return src_BreadcrumbItem; });
  14024. /* concated harmony reexport Button */__webpack_require__.d(__webpack_exports__, "Button", function() { return src_Button; });
  14025. /* concated harmony reexport ButtonGroup */__webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return src_ButtonGroup; });
  14026. /* concated harmony reexport ButtonToolbar */__webpack_require__.d(__webpack_exports__, "ButtonToolbar", function() { return src_ButtonToolbar; });
  14027. /* concated harmony reexport Card */__webpack_require__.d(__webpack_exports__, "Card", function() { return src_Card; });
  14028. /* concated harmony reexport CardColumns */__webpack_require__.d(__webpack_exports__, "CardColumns", function() { return CardColumns; });
  14029. /* concated harmony reexport CardDeck */__webpack_require__.d(__webpack_exports__, "CardDeck", function() { return CardDeck; });
  14030. /* concated harmony reexport CardImg */__webpack_require__.d(__webpack_exports__, "CardImg", function() { return src_CardImg; });
  14031. /* concated harmony reexport CardGroup */__webpack_require__.d(__webpack_exports__, "CardGroup", function() { return CardGroup; });
  14032. /* concated harmony reexport Carousel */__webpack_require__.d(__webpack_exports__, "Carousel", function() { return src_Carousel; });
  14033. /* concated harmony reexport CarouselItem */__webpack_require__.d(__webpack_exports__, "CarouselItem", function() { return CarouselItem; });
  14034. /* concated harmony reexport CloseButton */__webpack_require__.d(__webpack_exports__, "CloseButton", function() { return src_CloseButton; });
  14035. /* concated harmony reexport Col */__webpack_require__.d(__webpack_exports__, "Col", function() { return src_Col; });
  14036. /* concated harmony reexport Collapse */__webpack_require__.d(__webpack_exports__, "Collapse", function() { return src_Collapse; });
  14037. /* concated harmony reexport Dropdown */__webpack_require__.d(__webpack_exports__, "Dropdown", function() { return src_Dropdown; });
  14038. /* concated harmony reexport DropdownButton */__webpack_require__.d(__webpack_exports__, "DropdownButton", function() { return src_DropdownButton; });
  14039. /* concated harmony reexport DropdownItem */__webpack_require__.d(__webpack_exports__, "DropdownItem", function() { return src_DropdownItem; });
  14040. /* concated harmony reexport Fade */__webpack_require__.d(__webpack_exports__, "Fade", function() { return src_Fade; });
  14041. /* concated harmony reexport Form */__webpack_require__.d(__webpack_exports__, "Form", function() { return src_Form; });
  14042. /* concated harmony reexport FormControl */__webpack_require__.d(__webpack_exports__, "FormControl", function() { return src_FormControl; });
  14043. /* concated harmony reexport FormCheck */__webpack_require__.d(__webpack_exports__, "FormCheck", function() { return src_FormCheck; });
  14044. /* concated harmony reexport Switch */__webpack_require__.d(__webpack_exports__, "Switch", function() { return src_Switch; });
  14045. /* concated harmony reexport FormGroup */__webpack_require__.d(__webpack_exports__, "FormGroup", function() { return src_FormGroup; });
  14046. /* concated harmony reexport FormLabel */__webpack_require__.d(__webpack_exports__, "FormLabel", function() { return src_FormLabel; });
  14047. /* concated harmony reexport FormText */__webpack_require__.d(__webpack_exports__, "FormText", function() { return src_FormText; });
  14048. /* concated harmony reexport Container */__webpack_require__.d(__webpack_exports__, "Container", function() { return src_Container; });
  14049. /* concated harmony reexport Image */__webpack_require__.d(__webpack_exports__, "Image", function() { return src_Image; });
  14050. /* concated harmony reexport Figure */__webpack_require__.d(__webpack_exports__, "Figure", function() { return src_Figure; });
  14051. /* concated harmony reexport InputGroup */__webpack_require__.d(__webpack_exports__, "InputGroup", function() { return src_InputGroup; });
  14052. /* concated harmony reexport Jumbotron */__webpack_require__.d(__webpack_exports__, "Jumbotron", function() { return src_Jumbotron; });
  14053. /* concated harmony reexport ListGroup */__webpack_require__.d(__webpack_exports__, "ListGroup", function() { return src_ListGroup; });
  14054. /* concated harmony reexport ListGroupItem */__webpack_require__.d(__webpack_exports__, "ListGroupItem", function() { return src_ListGroupItem; });
  14055. /* concated harmony reexport Media */__webpack_require__.d(__webpack_exports__, "Media", function() { return src_Media; });
  14056. /* concated harmony reexport Modal */__webpack_require__.d(__webpack_exports__, "Modal", function() { return src_Modal; });
  14057. /* concated harmony reexport ModalBody */__webpack_require__.d(__webpack_exports__, "ModalBody", function() { return ModalBody; });
  14058. /* concated harmony reexport ModalDialog */__webpack_require__.d(__webpack_exports__, "ModalDialog", function() { return src_ModalDialog; });
  14059. /* concated harmony reexport ModalFooter */__webpack_require__.d(__webpack_exports__, "ModalFooter", function() { return ModalFooter; });
  14060. /* concated harmony reexport ModalTitle */__webpack_require__.d(__webpack_exports__, "ModalTitle", function() { return ModalTitle; });
  14061. /* concated harmony reexport Nav */__webpack_require__.d(__webpack_exports__, "Nav", function() { return src_Nav; });
  14062. /* concated harmony reexport Navbar */__webpack_require__.d(__webpack_exports__, "Navbar", function() { return src_Navbar; });
  14063. /* concated harmony reexport NavbarBrand */__webpack_require__.d(__webpack_exports__, "NavbarBrand", function() { return src_NavbarBrand; });
  14064. /* concated harmony reexport NavDropdown */__webpack_require__.d(__webpack_exports__, "NavDropdown", function() { return src_NavDropdown; });
  14065. /* concated harmony reexport NavItem */__webpack_require__.d(__webpack_exports__, "NavItem", function() { return src_NavItem; });
  14066. /* concated harmony reexport Overlay */__webpack_require__.d(__webpack_exports__, "Overlay", function() { return src_Overlay; });
  14067. /* concated harmony reexport OverlayTrigger */__webpack_require__.d(__webpack_exports__, "OverlayTrigger", function() { return src_OverlayTrigger; });
  14068. /* concated harmony reexport PageItem */__webpack_require__.d(__webpack_exports__, "PageItem", function() { return PageItem; });
  14069. /* concated harmony reexport Pagination */__webpack_require__.d(__webpack_exports__, "Pagination", function() { return src_Pagination; });
  14070. /* concated harmony reexport Popover */__webpack_require__.d(__webpack_exports__, "Popover", function() { return src_Popover; });
  14071. /* concated harmony reexport PopoverContent */__webpack_require__.d(__webpack_exports__, "PopoverContent", function() { return src_PopoverContent; });
  14072. /* concated harmony reexport PopoverTitle */__webpack_require__.d(__webpack_exports__, "PopoverTitle", function() { return src_PopoverTitle; });
  14073. /* concated harmony reexport ProgressBar */__webpack_require__.d(__webpack_exports__, "ProgressBar", function() { return src_ProgressBar; });
  14074. /* concated harmony reexport ResponsiveEmbed */__webpack_require__.d(__webpack_exports__, "ResponsiveEmbed", function() { return src_ResponsiveEmbed; });
  14075. /* concated harmony reexport Row */__webpack_require__.d(__webpack_exports__, "Row", function() { return src_Row; });
  14076. /* concated harmony reexport SafeAnchor */__webpack_require__.d(__webpack_exports__, "SafeAnchor", function() { return src_SafeAnchor; });
  14077. /* concated harmony reexport Spinner */__webpack_require__.d(__webpack_exports__, "Spinner", function() { return src_Spinner; });
  14078. /* concated harmony reexport SplitButton */__webpack_require__.d(__webpack_exports__, "SplitButton", function() { return src_SplitButton; });
  14079. /* concated harmony reexport Tab */__webpack_require__.d(__webpack_exports__, "Tab", function() { return src_Tab; });
  14080. /* concated harmony reexport TabContainer */__webpack_require__.d(__webpack_exports__, "TabContainer", function() { return src_TabContainer; });
  14081. /* concated harmony reexport TabContent */__webpack_require__.d(__webpack_exports__, "TabContent", function() { return src_TabContent; });
  14082. /* concated harmony reexport Table */__webpack_require__.d(__webpack_exports__, "Table", function() { return src_Table; });
  14083. /* concated harmony reexport TabPane */__webpack_require__.d(__webpack_exports__, "TabPane", function() { return src_TabPane; });
  14084. /* concated harmony reexport Tabs */__webpack_require__.d(__webpack_exports__, "Tabs", function() { return src_Tabs; });
  14085. /* concated harmony reexport ThemeProvider */__webpack_require__.d(__webpack_exports__, "ThemeProvider", function() { return src_ThemeProvider; });
  14086. /* concated harmony reexport ToggleButton */__webpack_require__.d(__webpack_exports__, "ToggleButton", function() { return src_ToggleButton; });
  14087. /* concated harmony reexport ToggleButtonGroup */__webpack_require__.d(__webpack_exports__, "ToggleButtonGroup", function() { return src_ToggleButtonGroup; });
  14088. /* concated harmony reexport Tooltip */__webpack_require__.d(__webpack_exports__, "Tooltip", function() { return src_Tooltip; });
  14089. /* concated harmony reexport Toast */__webpack_require__.d(__webpack_exports__, "Toast", function() { return src_Toast; });
  14090. /* concated harmony reexport ToastBody */__webpack_require__.d(__webpack_exports__, "ToastBody", function() { return ToastBody; });
  14091. /* concated harmony reexport ToastHeader */__webpack_require__.d(__webpack_exports__, "ToastHeader", function() { return src_ToastHeader; });
  14092. /***/ }),
  14093. /* 79 */
  14094. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  14095. "use strict";
  14096. __webpack_require__.r(__webpack_exports__);
  14097. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
  14098. var esm_extends = __webpack_require__(2);
  14099. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
  14100. var objectWithoutPropertiesLoose = __webpack_require__(3);
  14101. // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
  14102. var inheritsLoose = __webpack_require__(5);
  14103. // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
  14104. var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(1);
  14105. var external_root_React_commonjs2_react_commonjs_react_amd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_);
  14106. // EXTERNAL MODULE: ./node_modules/invariant/browser.js
  14107. var browser = __webpack_require__(15);
  14108. var browser_default = /*#__PURE__*/__webpack_require__.n(browser);
  14109. // CONCATENATED MODULE: ./node_modules/react-overlays/node_modules/uncontrollable/esm/utils.js
  14110. var noop = function noop() {};
  14111. function readOnlyPropType(handler, name) {
  14112. return function (props, propName) {
  14113. if (props[propName] !== undefined) {
  14114. if (!props[handler]) {
  14115. return new Error("You have provided a `" + propName + "` prop to `" + name + "` " + ("without an `" + handler + "` handler prop. This will render a read-only field. ") + ("If the field should be mutable use `" + defaultKey(propName) + "`. ") + ("Otherwise, set `" + handler + "`."));
  14116. }
  14117. }
  14118. };
  14119. }
  14120. function uncontrolledPropTypes(controlledValues, displayName) {
  14121. var propTypes = {};
  14122. Object.keys(controlledValues).forEach(function (prop) {
  14123. // add default propTypes for folks that use runtime checks
  14124. propTypes[defaultKey(prop)] = noop;
  14125. if (false) { var handler; }
  14126. });
  14127. return propTypes;
  14128. }
  14129. function utils_isProp(props, prop) {
  14130. return props[prop] !== undefined;
  14131. }
  14132. function defaultKey(key) {
  14133. return 'default' + key.charAt(0).toUpperCase() + key.substr(1);
  14134. }
  14135. /**
  14136. * Copyright (c) 2013-present, Facebook, Inc.
  14137. * All rights reserved.
  14138. *
  14139. * This source code is licensed under the BSD-style license found in the
  14140. * LICENSE file in the root directory of this source tree. An additional grant
  14141. * of patent rights can be found in the PATENTS file in the same directory.
  14142. */
  14143. function utils_canAcceptRef(component) {
  14144. return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);
  14145. }
  14146. // CONCATENATED MODULE: ./node_modules/react-overlays/node_modules/uncontrollable/esm/hook.js
  14147. function _toPropertyKey(arg) {
  14148. var key = _toPrimitive(arg, "string");
  14149. return typeof key === "symbol" ? key : String(key);
  14150. }
  14151. function _toPrimitive(input, hint) {
  14152. if (typeof input !== "object" || input === null) return input;
  14153. var prim = input[Symbol.toPrimitive];
  14154. if (prim !== undefined) {
  14155. var res = prim.call(input, hint || "default");
  14156. if (typeof res !== "object") return res;
  14157. throw new TypeError("@@toPrimitive must return a primitive value.");
  14158. }
  14159. return (hint === "string" ? String : Number)(input);
  14160. }
  14161. function useUncontrolled(props, config) {
  14162. return Object.keys(config).reduce(function (result, fieldName) {
  14163. var _extends2;
  14164. var defaultValue = result[defaultKey(fieldName)],
  14165. propsValue = result[fieldName],
  14166. rest = Object(objectWithoutPropertiesLoose["a" /* default */])(result, [defaultKey(fieldName), fieldName].map(_toPropertyKey));
  14167. var handlerName = config[fieldName];
  14168. var prevProps = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])({});
  14169. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(defaultValue),
  14170. stateValue = _useState[0],
  14171. setState = _useState[1];
  14172. var isProp = utils_isProp(props, fieldName);
  14173. var wasProp = utils_isProp(prevProps.current, fieldName);
  14174. prevProps.current = props;
  14175. /**
  14176. * If a prop switches from controlled to Uncontrolled
  14177. * reset its value to the defaultValue
  14178. */
  14179. if (!isProp && wasProp) {
  14180. setState(defaultValue);
  14181. }
  14182. var propsHandler = props[handlerName];
  14183. var handler = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (value) {
  14184. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  14185. args[_key - 1] = arguments[_key];
  14186. }
  14187. if (propsHandler) propsHandler.apply(void 0, [value].concat(args));
  14188. setState(value);
  14189. }, [setState, propsHandler]);
  14190. return Object(esm_extends["a" /* default */])({}, rest, (_extends2 = {}, _extends2[fieldName] = isProp ? propsValue : stateValue, _extends2[handlerName] = handler, _extends2));
  14191. }, props);
  14192. }
  14193. // CONCATENATED MODULE: ./node_modules/react-overlays/node_modules/uncontrollable/esm/index.js
  14194. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uncontrollable", function() { return uncontrollable; });
  14195. /* concated harmony reexport useUncontrolled */__webpack_require__.d(__webpack_exports__, "useUncontrolled", function() { return useUncontrolled; });
  14196. function uncontrollable(Component, controlledValues, methods) {
  14197. if (methods === void 0) {
  14198. methods = [];
  14199. }
  14200. var displayName = Component.displayName || Component.name || 'Component';
  14201. var canAcceptRef = utils_canAcceptRef(Component);
  14202. var controlledProps = Object.keys(controlledValues);
  14203. var PROPS_TO_OMIT = controlledProps.map(defaultKey);
  14204. !(canAcceptRef || !methods.length) ? false ? undefined : browser_default()(false) : void 0;
  14205. var UncontrolledComponent =
  14206. /*#__PURE__*/
  14207. function (_React$Component) {
  14208. Object(inheritsLoose["a" /* default */])(UncontrolledComponent, _React$Component);
  14209. function UncontrolledComponent() {
  14210. var _this;
  14211. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  14212. args[_key] = arguments[_key];
  14213. }
  14214. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  14215. _this.handlers = Object.create(null);
  14216. controlledProps.forEach(function (propName) {
  14217. var handlerName = controlledValues[propName];
  14218. var handleChange = function handleChange(value) {
  14219. if (_this.props[handlerName]) {
  14220. var _this$props;
  14221. _this._notifying = true;
  14222. for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
  14223. args[_key2 - 1] = arguments[_key2];
  14224. }
  14225. (_this$props = _this.props)[handlerName].apply(_this$props, [value].concat(args));
  14226. _this._notifying = false;
  14227. }
  14228. _this._values[propName] = value;
  14229. if (!_this.unmounted) _this.forceUpdate();
  14230. };
  14231. _this.handlers[handlerName] = handleChange;
  14232. });
  14233. if (methods.length) _this.attachRef = function (ref) {
  14234. _this.inner = ref;
  14235. };
  14236. return _this;
  14237. }
  14238. var _proto = UncontrolledComponent.prototype;
  14239. _proto.shouldComponentUpdate = function shouldComponentUpdate() {
  14240. //let the forceUpdate trigger the update
  14241. return !this._notifying;
  14242. };
  14243. _proto.componentWillMount = function componentWillMount() {
  14244. var _this2 = this;
  14245. var props = this.props;
  14246. this._values = Object.create(null);
  14247. controlledProps.forEach(function (key) {
  14248. _this2._values[key] = props[defaultKey(key)];
  14249. });
  14250. };
  14251. _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
  14252. var _this3 = this;
  14253. var props = this.props;
  14254. controlledProps.forEach(function (key) {
  14255. /**
  14256. * If a prop switches from controlled to Uncontrolled
  14257. * reset its value to the defaultValue
  14258. */
  14259. if (!utils_isProp(nextProps, key) && utils_isProp(props, key)) {
  14260. _this3._values[key] = nextProps[defaultKey(key)];
  14261. }
  14262. });
  14263. };
  14264. _proto.componentWillUnmount = function componentWillUnmount() {
  14265. this.unmounted = true;
  14266. };
  14267. _proto.render = function render() {
  14268. var _this4 = this;
  14269. var _this$props2 = this.props,
  14270. innerRef = _this$props2.innerRef,
  14271. props = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["innerRef"]);
  14272. PROPS_TO_OMIT.forEach(function (prop) {
  14273. delete props[prop];
  14274. });
  14275. var newProps = {};
  14276. controlledProps.forEach(function (propName) {
  14277. var propValue = _this4.props[propName];
  14278. newProps[propName] = propValue !== undefined ? propValue : _this4._values[propName];
  14279. });
  14280. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, props, newProps, this.handlers, {
  14281. ref: innerRef || this.attachRef
  14282. }));
  14283. };
  14284. return UncontrolledComponent;
  14285. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  14286. UncontrolledComponent.displayName = "Uncontrolled(" + displayName + ")";
  14287. UncontrolledComponent.propTypes = Object(esm_extends["a" /* default */])({
  14288. innerRef: function innerRef() {}
  14289. }, uncontrolledPropTypes(controlledValues, displayName));
  14290. methods.forEach(function (method) {
  14291. UncontrolledComponent.prototype[method] = function $proxiedMethod() {
  14292. var _this$inner;
  14293. return (_this$inner = this.inner)[method].apply(_this$inner, arguments);
  14294. };
  14295. });
  14296. var WrappedComponent = UncontrolledComponent;
  14297. if (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef) {
  14298. WrappedComponent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  14299. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(UncontrolledComponent, Object(esm_extends["a" /* default */])({}, props, {
  14300. innerRef: ref
  14301. }));
  14302. });
  14303. WrappedComponent.propTypes = UncontrolledComponent.propTypes;
  14304. }
  14305. WrappedComponent.ControlledComponent = Component;
  14306. /**
  14307. * useful when wrapping a Component and you want to control
  14308. * everything
  14309. */
  14310. WrappedComponent.deferControlTo = function (newComponent, additions, nextMethods) {
  14311. if (additions === void 0) {
  14312. additions = {};
  14313. }
  14314. return uncontrollable(newComponent, Object(esm_extends["a" /* default */])({}, controlledValues, additions), nextMethods);
  14315. };
  14316. return WrappedComponent;
  14317. }
  14318. /* harmony default export */ var esm = __webpack_exports__["default"] = (uncontrollable);
  14319. /***/ })
  14320. /******/ ]);
  14321. });