PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/htlwork.com/www/dev/drishtigems/public/admin/LTE/plugins/fullcalendar-timegrid/
Upload File :
Current File : /home/htlwork.com/www/dev/drishtigems/public/admin/LTE/plugins/fullcalendar-timegrid/main.js.map
{"version":3,"file":"main.js","sources":["../../../tmp/tsc-output/packages/timegrid/src/TimeGridEventRenderer.js","../../../tmp/tsc-output/packages/timegrid/src/TimeGridMirrorRenderer.js","../../../tmp/tsc-output/packages/timegrid/src/TimeGridFillRenderer.js","../../../tmp/tsc-output/packages/timegrid/src/TimeGrid.js","../../../tmp/tsc-output/packages/timegrid/src/AllDaySplitter.js","../../../tmp/tsc-output/packages/timegrid/src/AbstractTimeGridView.js","../../../tmp/tsc-output/packages/timegrid/src/SimpleTimeGrid.js","../../../tmp/tsc-output/packages/timegrid/src/TimeGridView.js","../../../tmp/tsc-output/packages/timegrid/src/main.js"],"sourcesContent":["import * as tslib_1 from \"tslib\";\nimport { htmlEscape, cssToStr, removeElement, applyStyle, createFormatter, FgEventRenderer, buildSegCompareObj, isMultiDayRange, compareByFieldSpecs, computeEventDraggable, computeEventStartResizable, computeEventEndResizable } from '@fullcalendar/core';\n/*\nOnly handles foreground segs.\nDoes not own rendering. Use for low-level util methods by TimeGrid.\n*/\nvar TimeGridEventRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(TimeGridEventRenderer, _super);\n    function TimeGridEventRenderer(timeGrid) {\n        var _this = _super.call(this) || this;\n        _this.timeGrid = timeGrid;\n        return _this;\n    }\n    TimeGridEventRenderer.prototype.renderSegs = function (context, segs, mirrorInfo) {\n        _super.prototype.renderSegs.call(this, context, segs, mirrorInfo);\n        // TODO: dont do every time. memoize\n        this.fullTimeFormat = createFormatter({\n            hour: 'numeric',\n            minute: '2-digit',\n            separator: this.context.options.defaultRangeSeparator\n        });\n    };\n    // Given an array of foreground segments, render a DOM element for each, computes position,\n    // and attaches to the column inner-container elements.\n    TimeGridEventRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n        var segsByCol = this.timeGrid.groupSegsByCol(segs);\n        // order the segs within each column\n        // TODO: have groupSegsByCol do this?\n        for (var col = 0; col < segsByCol.length; col++) {\n            segsByCol[col] = this.sortEventSegs(segsByCol[col]);\n        }\n        this.segsByCol = segsByCol;\n        this.timeGrid.attachSegsByCol(segsByCol, this.timeGrid.fgContainerEls);\n    };\n    TimeGridEventRenderer.prototype.detachSegs = function (segs) {\n        segs.forEach(function (seg) {\n            removeElement(seg.el);\n        });\n        this.segsByCol = null;\n    };\n    TimeGridEventRenderer.prototype.computeSegSizes = function (allSegs) {\n        var _a = this, timeGrid = _a.timeGrid, segsByCol = _a.segsByCol;\n        var colCnt = timeGrid.colCnt;\n        timeGrid.computeSegVerticals(allSegs); // horizontals relies on this\n        if (segsByCol) {\n            for (var col = 0; col < colCnt; col++) {\n                this.computeSegHorizontals(segsByCol[col]); // compute horizontal coordinates, z-index's, and reorder the array\n            }\n        }\n    };\n    TimeGridEventRenderer.prototype.assignSegSizes = function (allSegs) {\n        var _a = this, timeGrid = _a.timeGrid, segsByCol = _a.segsByCol;\n        var colCnt = timeGrid.colCnt;\n        timeGrid.assignSegVerticals(allSegs); // horizontals relies on this\n        if (segsByCol) {\n            for (var col = 0; col < colCnt; col++) {\n                this.assignSegCss(segsByCol[col]);\n            }\n        }\n    };\n    // Computes a default event time formatting string if `eventTimeFormat` is not explicitly defined\n    TimeGridEventRenderer.prototype.computeEventTimeFormat = function () {\n        return {\n            hour: 'numeric',\n            minute: '2-digit',\n            meridiem: false\n        };\n    };\n    // Computes a default `displayEventEnd` value if one is not expliclty defined\n    TimeGridEventRenderer.prototype.computeDisplayEventEnd = function () {\n        return true;\n    };\n    // Renders the HTML for a single event segment's default rendering\n    TimeGridEventRenderer.prototype.renderSegHtml = function (seg, mirrorInfo) {\n        var eventRange = seg.eventRange;\n        var eventDef = eventRange.def;\n        var eventUi = eventRange.ui;\n        var allDay = eventDef.allDay;\n        var isDraggable = computeEventDraggable(this.context, eventDef, eventUi);\n        var isResizableFromStart = seg.isStart && computeEventStartResizable(this.context, eventDef, eventUi);\n        var isResizableFromEnd = seg.isEnd && computeEventEndResizable(this.context, eventDef, eventUi);\n        var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);\n        var skinCss = cssToStr(this.getSkinCss(eventUi));\n        var timeText;\n        var fullTimeText; // more verbose time text. for the print stylesheet\n        var startTimeText; // just the start time text\n        classes.unshift('fc-time-grid-event');\n        // if the event appears to span more than one day...\n        if (isMultiDayRange(eventRange.range)) {\n            // Don't display time text on segments that run entirely through a day.\n            // That would appear as midnight-midnight and would look dumb.\n            // Otherwise, display the time text for the *segment's* times (like 6pm-midnight or midnight-10am)\n            if (seg.isStart || seg.isEnd) {\n                var unzonedStart = seg.start;\n                var unzonedEnd = seg.end;\n                timeText = this._getTimeText(unzonedStart, unzonedEnd, allDay); // TODO: give the timezones\n                fullTimeText = this._getTimeText(unzonedStart, unzonedEnd, allDay, this.fullTimeFormat);\n                startTimeText = this._getTimeText(unzonedStart, unzonedEnd, allDay, null, false); // displayEnd=false\n            }\n        }\n        else {\n            // Display the normal time text for the *event's* times\n            timeText = this.getTimeText(eventRange);\n            fullTimeText = this.getTimeText(eventRange, this.fullTimeFormat);\n            startTimeText = this.getTimeText(eventRange, null, false); // displayEnd=false\n        }\n        return '<a class=\"' + classes.join(' ') + '\"' +\n            (eventDef.url ?\n                ' href=\"' + htmlEscape(eventDef.url) + '\"' :\n                '') +\n            (skinCss ?\n                ' style=\"' + skinCss + '\"' :\n                '') +\n            '>' +\n            '<div class=\"fc-content\">' +\n            (timeText ?\n                '<div class=\"fc-time\"' +\n                    ' data-start=\"' + htmlEscape(startTimeText) + '\"' +\n                    ' data-full=\"' + htmlEscape(fullTimeText) + '\"' +\n                    '>' +\n                    '<span>' + htmlEscape(timeText) + '</span>' +\n                    '</div>' :\n                '') +\n            (eventDef.title ?\n                '<div class=\"fc-title\">' +\n                    htmlEscape(eventDef.title) +\n                    '</div>' :\n                '') +\n            '</div>' +\n            /* TODO: write CSS for this\n            (isResizableFromStart ?\n              '<div class=\"fc-resizer fc-start-resizer\"></div>' :\n              ''\n              ) +\n            */\n            (isResizableFromEnd ?\n                '<div class=\"fc-resizer fc-end-resizer\"></div>' :\n                '') +\n            '</a>';\n    };\n    // Given an array of segments that are all in the same column, sets the backwardCoord and forwardCoord on each.\n    // Assumed the segs are already ordered.\n    // NOTE: Also reorders the given array by date!\n    TimeGridEventRenderer.prototype.computeSegHorizontals = function (segs) {\n        var levels;\n        var level0;\n        var i;\n        levels = buildSlotSegLevels(segs);\n        computeForwardSlotSegs(levels);\n        if ((level0 = levels[0])) {\n            for (i = 0; i < level0.length; i++) {\n                computeSlotSegPressures(level0[i]);\n            }\n            for (i = 0; i < level0.length; i++) {\n                this.computeSegForwardBack(level0[i], 0, 0);\n            }\n        }\n    };\n    // Calculate seg.forwardCoord and seg.backwardCoord for the segment, where both values range\n    // from 0 to 1. If the calendar is left-to-right, the seg.backwardCoord maps to \"left\" and\n    // seg.forwardCoord maps to \"right\" (via percentage). Vice-versa if the calendar is right-to-left.\n    //\n    // The segment might be part of a \"series\", which means consecutive segments with the same pressure\n    // who's width is unknown until an edge has been hit. `seriesBackwardPressure` is the number of\n    // segments behind this one in the current series, and `seriesBackwardCoord` is the starting\n    // coordinate of the first segment in the series.\n    TimeGridEventRenderer.prototype.computeSegForwardBack = function (seg, seriesBackwardPressure, seriesBackwardCoord) {\n        var forwardSegs = seg.forwardSegs;\n        var i;\n        if (seg.forwardCoord === undefined) { // not already computed\n            if (!forwardSegs.length) {\n                // if there are no forward segments, this segment should butt up against the edge\n                seg.forwardCoord = 1;\n            }\n            else {\n                // sort highest pressure first\n                this.sortForwardSegs(forwardSegs);\n                // this segment's forwardCoord will be calculated from the backwardCoord of the\n                // highest-pressure forward segment.\n                this.computeSegForwardBack(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord);\n                seg.forwardCoord = forwardSegs[0].backwardCoord;\n            }\n            // calculate the backwardCoord from the forwardCoord. consider the series\n            seg.backwardCoord = seg.forwardCoord -\n                (seg.forwardCoord - seriesBackwardCoord) / // available width for series\n                    (seriesBackwardPressure + 1); // # of segments in the series\n            // use this segment's coordinates to computed the coordinates of the less-pressurized\n            // forward segments\n            for (i = 0; i < forwardSegs.length; i++) {\n                this.computeSegForwardBack(forwardSegs[i], 0, seg.forwardCoord);\n            }\n        }\n    };\n    TimeGridEventRenderer.prototype.sortForwardSegs = function (forwardSegs) {\n        var objs = forwardSegs.map(buildTimeGridSegCompareObj);\n        var specs = [\n            // put higher-pressure first\n            { field: 'forwardPressure', order: -1 },\n            // put segments that are closer to initial edge first (and favor ones with no coords yet)\n            { field: 'backwardCoord', order: 1 }\n        ].concat(this.context.eventOrderSpecs);\n        objs.sort(function (obj0, obj1) {\n            return compareByFieldSpecs(obj0, obj1, specs);\n        });\n        return objs.map(function (c) {\n            return c._seg;\n        });\n    };\n    // Given foreground event segments that have already had their position coordinates computed,\n    // assigns position-related CSS values to their elements.\n    TimeGridEventRenderer.prototype.assignSegCss = function (segs) {\n        for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n            var seg = segs_1[_i];\n            applyStyle(seg.el, this.generateSegCss(seg));\n            if (seg.level > 0) {\n                seg.el.classList.add('fc-time-grid-event-inset');\n            }\n            // if the event is short that the title will be cut off,\n            // attach a className that condenses the title into the time area.\n            if (seg.eventRange.def.title && seg.bottom - seg.top < 30) {\n                seg.el.classList.add('fc-short'); // TODO: \"condensed\" is a better name\n            }\n        }\n    };\n    // Generates an object with CSS properties/values that should be applied to an event segment element.\n    // Contains important positioning-related properties that should be applied to any event element, customized or not.\n    TimeGridEventRenderer.prototype.generateSegCss = function (seg) {\n        var shouldOverlap = this.context.options.slotEventOverlap;\n        var backwardCoord = seg.backwardCoord; // the left side if LTR. the right side if RTL. floating-point\n        var forwardCoord = seg.forwardCoord; // the right side if LTR. the left side if RTL. floating-point\n        var props = this.timeGrid.generateSegVerticalCss(seg); // get top/bottom first\n        var isRtl = this.context.isRtl;\n        var left; // amount of space from left edge, a fraction of the total width\n        var right; // amount of space from right edge, a fraction of the total width\n        if (shouldOverlap) {\n            // double the width, but don't go beyond the maximum forward coordinate (1.0)\n            forwardCoord = Math.min(1, backwardCoord + (forwardCoord - backwardCoord) * 2);\n        }\n        if (isRtl) {\n            left = 1 - forwardCoord;\n            right = backwardCoord;\n        }\n        else {\n            left = backwardCoord;\n            right = 1 - forwardCoord;\n        }\n        props.zIndex = seg.level + 1; // convert from 0-base to 1-based\n        props.left = left * 100 + '%';\n        props.right = right * 100 + '%';\n        if (shouldOverlap && seg.forwardPressure) {\n            // add padding to the edge so that forward stacked events don't cover the resizer's icon\n            props[isRtl ? 'marginLeft' : 'marginRight'] = 10 * 2; // 10 is a guesstimate of the icon's width\n        }\n        return props;\n    };\n    return TimeGridEventRenderer;\n}(FgEventRenderer));\nexport default TimeGridEventRenderer;\n// Builds an array of segments \"levels\". The first level will be the leftmost tier of segments if the calendar is\n// left-to-right, or the rightmost if the calendar is right-to-left. Assumes the segments are already ordered by date.\nfunction buildSlotSegLevels(segs) {\n    var levels = [];\n    var i;\n    var seg;\n    var j;\n    for (i = 0; i < segs.length; i++) {\n        seg = segs[i];\n        // go through all the levels and stop on the first level where there are no collisions\n        for (j = 0; j < levels.length; j++) {\n            if (!computeSlotSegCollisions(seg, levels[j]).length) {\n                break;\n            }\n        }\n        seg.level = j;\n        (levels[j] || (levels[j] = [])).push(seg);\n    }\n    return levels;\n}\n// For every segment, figure out the other segments that are in subsequent\n// levels that also occupy the same vertical space. Accumulate in seg.forwardSegs\nfunction computeForwardSlotSegs(levels) {\n    var i;\n    var level;\n    var j;\n    var seg;\n    var k;\n    for (i = 0; i < levels.length; i++) {\n        level = levels[i];\n        for (j = 0; j < level.length; j++) {\n            seg = level[j];\n            seg.forwardSegs = [];\n            for (k = i + 1; k < levels.length; k++) {\n                computeSlotSegCollisions(seg, levels[k], seg.forwardSegs);\n            }\n        }\n    }\n}\n// Figure out which path forward (via seg.forwardSegs) results in the longest path until\n// the furthest edge is reached. The number of segments in this path will be seg.forwardPressure\nfunction computeSlotSegPressures(seg) {\n    var forwardSegs = seg.forwardSegs;\n    var forwardPressure = 0;\n    var i;\n    var forwardSeg;\n    if (seg.forwardPressure === undefined) { // not already computed\n        for (i = 0; i < forwardSegs.length; i++) {\n            forwardSeg = forwardSegs[i];\n            // figure out the child's maximum forward path\n            computeSlotSegPressures(forwardSeg);\n            // either use the existing maximum, or use the child's forward pressure\n            // plus one (for the forwardSeg itself)\n            forwardPressure = Math.max(forwardPressure, 1 + forwardSeg.forwardPressure);\n        }\n        seg.forwardPressure = forwardPressure;\n    }\n}\n// Find all the segments in `otherSegs` that vertically collide with `seg`.\n// Append into an optionally-supplied `results` array and return.\nfunction computeSlotSegCollisions(seg, otherSegs, results) {\n    if (results === void 0) { results = []; }\n    for (var i = 0; i < otherSegs.length; i++) {\n        if (isSlotSegCollision(seg, otherSegs[i])) {\n            results.push(otherSegs[i]);\n        }\n    }\n    return results;\n}\n// Do these segments occupy the same vertical space?\nfunction isSlotSegCollision(seg1, seg2) {\n    return seg1.bottom > seg2.top && seg1.top < seg2.bottom;\n}\nfunction buildTimeGridSegCompareObj(seg) {\n    var obj = buildSegCompareObj(seg);\n    obj.forwardPressure = seg.forwardPressure;\n    obj.backwardCoord = seg.backwardCoord;\n    return obj;\n}\n","import * as tslib_1 from \"tslib\";\nimport TimeGridEventRenderer from './TimeGridEventRenderer';\nvar TimeGridMirrorRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(TimeGridMirrorRenderer, _super);\n    function TimeGridMirrorRenderer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    TimeGridMirrorRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n        this.segsByCol = this.timeGrid.groupSegsByCol(segs);\n        this.timeGrid.attachSegsByCol(this.segsByCol, this.timeGrid.mirrorContainerEls);\n        this.sourceSeg = mirrorInfo.sourceSeg;\n    };\n    TimeGridMirrorRenderer.prototype.generateSegCss = function (seg) {\n        var props = _super.prototype.generateSegCss.call(this, seg);\n        var sourceSeg = this.sourceSeg;\n        if (sourceSeg && sourceSeg.col === seg.col) {\n            var sourceSegProps = _super.prototype.generateSegCss.call(this, sourceSeg);\n            props.left = sourceSegProps.left;\n            props.right = sourceSegProps.right;\n            props.marginLeft = sourceSegProps.marginLeft;\n            props.marginRight = sourceSegProps.marginRight;\n        }\n        return props;\n    };\n    return TimeGridMirrorRenderer;\n}(TimeGridEventRenderer));\nexport default TimeGridMirrorRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { FillRenderer } from '@fullcalendar/core';\nvar TimeGridFillRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(TimeGridFillRenderer, _super);\n    function TimeGridFillRenderer(timeGrid) {\n        var _this = _super.call(this) || this;\n        _this.timeGrid = timeGrid;\n        return _this;\n    }\n    TimeGridFillRenderer.prototype.attachSegs = function (type, segs) {\n        var timeGrid = this.timeGrid;\n        var containerEls;\n        // TODO: more efficient lookup\n        if (type === 'bgEvent') {\n            containerEls = timeGrid.bgContainerEls;\n        }\n        else if (type === 'businessHours') {\n            containerEls = timeGrid.businessContainerEls;\n        }\n        else if (type === 'highlight') {\n            containerEls = timeGrid.highlightContainerEls;\n        }\n        timeGrid.attachSegsByCol(timeGrid.groupSegsByCol(segs), containerEls);\n        return segs.map(function (seg) {\n            return seg.el;\n        });\n    };\n    TimeGridFillRenderer.prototype.computeSegSizes = function (segs) {\n        this.timeGrid.computeSegVerticals(segs);\n    };\n    TimeGridFillRenderer.prototype.assignSegSizes = function (segs) {\n        this.timeGrid.assignSegVerticals(segs);\n    };\n    return TimeGridFillRenderer;\n}(FillRenderer));\nexport default TimeGridFillRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { htmlEscape, htmlToElement, findElements, removeElement, applyStyle, createElement, PositionCache, createDuration, addDurations, multiplyDuration, wholeDivideDurations, asRoughMs, startOfDay, createFormatter, formatIsoTimeString, DateComponent, memoizeRendering, memoize } from '@fullcalendar/core';\nimport { DayBgRow } from '@fullcalendar/daygrid';\nimport TimeGridEventRenderer from './TimeGridEventRenderer';\nimport TimeGridMirrorRenderer from './TimeGridMirrorRenderer';\nimport TimeGridFillRenderer from './TimeGridFillRenderer';\n/* A component that renders one or more columns of vertical time slots\n----------------------------------------------------------------------------------------------------------------------*/\n// potential nice values for the slot-duration and interval-duration\n// from largest to smallest\nvar AGENDA_STOCK_SUB_DURATIONS = [\n    { hours: 1 },\n    { minutes: 30 },\n    { minutes: 15 },\n    { seconds: 30 },\n    { seconds: 15 }\n];\nvar TimeGrid = /** @class */ (function (_super) {\n    tslib_1.__extends(TimeGrid, _super);\n    function TimeGrid(el, renderProps) {\n        var _this = _super.call(this, el) || this;\n        _this.isSlatSizesDirty = false;\n        _this.isColSizesDirty = false;\n        _this.processOptions = memoize(_this._processOptions);\n        _this.renderSkeleton = memoizeRendering(_this._renderSkeleton);\n        _this.renderSlats = memoizeRendering(_this._renderSlats, null, [_this.renderSkeleton]);\n        _this.renderColumns = memoizeRendering(_this._renderColumns, _this._unrenderColumns, [_this.renderSkeleton]);\n        _this.renderProps = renderProps;\n        var renderColumns = _this.renderColumns;\n        var eventRenderer = _this.eventRenderer = new TimeGridEventRenderer(_this);\n        var fillRenderer = _this.fillRenderer = new TimeGridFillRenderer(_this);\n        _this.mirrorRenderer = new TimeGridMirrorRenderer(_this);\n        _this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderColumns]);\n        _this.renderDateSelection = memoizeRendering(_this._renderDateSelection, _this._unrenderDateSelection, [renderColumns]);\n        _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderColumns]);\n        _this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderColumns]);\n        _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);\n        _this.renderEventDrag = memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderColumns]);\n        _this.renderEventResize = memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderColumns]);\n        return _this;\n    }\n    /* Options\n    ------------------------------------------------------------------------------------------------------------------*/\n    // Parses various options into properties of this object\n    // MUST have context already set\n    TimeGrid.prototype._processOptions = function (options) {\n        var slotDuration = options.slotDuration, snapDuration = options.snapDuration;\n        var snapsPerSlot;\n        var input;\n        slotDuration = createDuration(slotDuration);\n        snapDuration = snapDuration ? createDuration(snapDuration) : slotDuration;\n        snapsPerSlot = wholeDivideDurations(slotDuration, snapDuration);\n        if (snapsPerSlot === null) {\n            snapDuration = slotDuration;\n            snapsPerSlot = 1;\n            // TODO: say warning?\n        }\n        this.slotDuration = slotDuration;\n        this.snapDuration = snapDuration;\n        this.snapsPerSlot = snapsPerSlot;\n        // might be an array value (for TimelineView).\n        // if so, getting the most granular entry (the last one probably).\n        input = options.slotLabelFormat;\n        if (Array.isArray(input)) {\n            input = input[input.length - 1];\n        }\n        this.labelFormat = createFormatter(input || {\n            hour: 'numeric',\n            minute: '2-digit',\n            omitZeroMinute: true,\n            meridiem: 'short'\n        });\n        input = options.slotLabelInterval;\n        this.labelInterval = input ?\n            createDuration(input) :\n            this.computeLabelInterval(slotDuration);\n    };\n    // Computes an automatic value for slotLabelInterval\n    TimeGrid.prototype.computeLabelInterval = function (slotDuration) {\n        var i;\n        var labelInterval;\n        var slotsPerLabel;\n        // find the smallest stock label interval that results in more than one slots-per-label\n        for (i = AGENDA_STOCK_SUB_DURATIONS.length - 1; i >= 0; i--) {\n            labelInterval = createDuration(AGENDA_STOCK_SUB_DURATIONS[i]);\n            slotsPerLabel = wholeDivideDurations(labelInterval, slotDuration);\n            if (slotsPerLabel !== null && slotsPerLabel > 1) {\n                return labelInterval;\n            }\n        }\n        return slotDuration; // fall back\n    };\n    /* Rendering\n    ------------------------------------------------------------------------------------------------------------------*/\n    TimeGrid.prototype.render = function (props, context) {\n        this.processOptions(context.options);\n        var cells = props.cells;\n        this.colCnt = cells.length;\n        this.renderSkeleton(context.theme);\n        this.renderSlats(props.dateProfile);\n        this.renderColumns(props.cells, props.dateProfile);\n        this.renderBusinessHours(context, props.businessHourSegs);\n        this.renderDateSelection(props.dateSelectionSegs);\n        this.renderFgEvents(context, props.fgEventSegs);\n        this.renderBgEvents(context, props.bgEventSegs);\n        this.renderEventSelection(props.eventSelection);\n        this.renderEventDrag(props.eventDrag);\n        this.renderEventResize(props.eventResize);\n    };\n    TimeGrid.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        // should unrender everything else too\n        this.renderSlats.unrender();\n        this.renderColumns.unrender();\n        this.renderSkeleton.unrender();\n    };\n    TimeGrid.prototype.updateSize = function (isResize) {\n        var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;\n        if (isResize || this.isSlatSizesDirty) {\n            this.buildSlatPositions();\n            this.isSlatSizesDirty = false;\n        }\n        if (isResize || this.isColSizesDirty) {\n            this.buildColPositions();\n            this.isColSizesDirty = false;\n        }\n        fillRenderer.computeSizes(isResize);\n        eventRenderer.computeSizes(isResize);\n        mirrorRenderer.computeSizes(isResize);\n        fillRenderer.assignSizes(isResize);\n        eventRenderer.assignSizes(isResize);\n        mirrorRenderer.assignSizes(isResize);\n    };\n    TimeGrid.prototype._renderSkeleton = function (theme) {\n        var el = this.el;\n        el.innerHTML =\n            '<div class=\"fc-bg\"></div>' +\n                '<div class=\"fc-slats\"></div>' +\n                '<hr class=\"fc-divider ' + theme.getClass('widgetHeader') + '\" style=\"display:none\" />';\n        this.rootBgContainerEl = el.querySelector('.fc-bg');\n        this.slatContainerEl = el.querySelector('.fc-slats');\n        this.bottomRuleEl = el.querySelector('.fc-divider');\n    };\n    TimeGrid.prototype._renderSlats = function (dateProfile) {\n        var theme = this.context.theme;\n        this.slatContainerEl.innerHTML =\n            '<table class=\"' + theme.getClass('tableGrid') + '\">' +\n                this.renderSlatRowHtml(dateProfile) +\n                '</table>';\n        this.slatEls = findElements(this.slatContainerEl, 'tr');\n        this.slatPositions = new PositionCache(this.el, this.slatEls, false, true // vertical\n        );\n        this.isSlatSizesDirty = true;\n    };\n    // Generates the HTML for the horizontal \"slats\" that run width-wise. Has a time axis on a side. Depends on RTL.\n    TimeGrid.prototype.renderSlatRowHtml = function (dateProfile) {\n        var _a = this.context, dateEnv = _a.dateEnv, theme = _a.theme, isRtl = _a.isRtl;\n        var html = '';\n        var dayStart = startOfDay(dateProfile.renderRange.start);\n        var slotTime = dateProfile.minTime;\n        var slotIterator = createDuration(0);\n        var slotDate; // will be on the view's first day, but we only care about its time\n        var isLabeled;\n        var axisHtml;\n        // Calculate the time for each slot\n        while (asRoughMs(slotTime) < asRoughMs(dateProfile.maxTime)) {\n            slotDate = dateEnv.add(dayStart, slotTime);\n            isLabeled = wholeDivideDurations(slotIterator, this.labelInterval) !== null;\n            axisHtml =\n                '<td class=\"fc-axis fc-time ' + theme.getClass('widgetContent') + '\">' +\n                    (isLabeled ?\n                        '<span>' + // for matchCellWidths\n                            htmlEscape(dateEnv.format(slotDate, this.labelFormat)) +\n                            '</span>' :\n                        '') +\n                    '</td>';\n            html +=\n                '<tr data-time=\"' + formatIsoTimeString(slotDate) + '\"' +\n                    (isLabeled ? '' : ' class=\"fc-minor\"') +\n                    '>' +\n                    (!isRtl ? axisHtml : '') +\n                    '<td class=\"' + theme.getClass('widgetContent') + '\"></td>' +\n                    (isRtl ? axisHtml : '') +\n                    '</tr>';\n            slotTime = addDurations(slotTime, this.slotDuration);\n            slotIterator = addDurations(slotIterator, this.slotDuration);\n        }\n        return html;\n    };\n    TimeGrid.prototype._renderColumns = function (cells, dateProfile) {\n        var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, theme = _a.theme, dateEnv = _a.dateEnv;\n        var bgRow = new DayBgRow(this.context);\n        this.rootBgContainerEl.innerHTML =\n            '<table class=\"' + theme.getClass('tableGrid') + '\">' +\n                bgRow.renderHtml({\n                    cells: cells,\n                    dateProfile: dateProfile,\n                    renderIntroHtml: this.renderProps.renderBgIntroHtml\n                }) +\n                '</table>';\n        this.colEls = findElements(this.el, '.fc-day, .fc-disabled-day');\n        for (var col = 0; col < this.colCnt; col++) {\n            calendar.publiclyTrigger('dayRender', [\n                {\n                    date: dateEnv.toDate(cells[col].date),\n                    el: this.colEls[col],\n                    view: view\n                }\n            ]);\n        }\n        if (isRtl) {\n            this.colEls.reverse();\n        }\n        this.colPositions = new PositionCache(this.el, this.colEls, true, // horizontal\n        false);\n        this.renderContentSkeleton();\n        this.isColSizesDirty = true;\n    };\n    TimeGrid.prototype._unrenderColumns = function () {\n        this.unrenderContentSkeleton();\n    };\n    /* Content Skeleton\n    ------------------------------------------------------------------------------------------------------------------*/\n    // Renders the DOM that the view's content will live in\n    TimeGrid.prototype.renderContentSkeleton = function () {\n        var isRtl = this.context.isRtl;\n        var parts = [];\n        var skeletonEl;\n        parts.push(this.renderProps.renderIntroHtml());\n        for (var i = 0; i < this.colCnt; i++) {\n            parts.push('<td>' +\n                '<div class=\"fc-content-col\">' +\n                '<div class=\"fc-event-container fc-mirror-container\"></div>' +\n                '<div class=\"fc-event-container\"></div>' +\n                '<div class=\"fc-highlight-container\"></div>' +\n                '<div class=\"fc-bgevent-container\"></div>' +\n                '<div class=\"fc-business-container\"></div>' +\n                '</div>' +\n                '</td>');\n        }\n        if (isRtl) {\n            parts.reverse();\n        }\n        skeletonEl = this.contentSkeletonEl = htmlToElement('<div class=\"fc-content-skeleton\">' +\n            '<table>' +\n            '<tr>' + parts.join('') + '</tr>' +\n            '</table>' +\n            '</div>');\n        this.colContainerEls = findElements(skeletonEl, '.fc-content-col');\n        this.mirrorContainerEls = findElements(skeletonEl, '.fc-mirror-container');\n        this.fgContainerEls = findElements(skeletonEl, '.fc-event-container:not(.fc-mirror-container)');\n        this.bgContainerEls = findElements(skeletonEl, '.fc-bgevent-container');\n        this.highlightContainerEls = findElements(skeletonEl, '.fc-highlight-container');\n        this.businessContainerEls = findElements(skeletonEl, '.fc-business-container');\n        if (isRtl) {\n            this.colContainerEls.reverse();\n            this.mirrorContainerEls.reverse();\n            this.fgContainerEls.reverse();\n            this.bgContainerEls.reverse();\n            this.highlightContainerEls.reverse();\n            this.businessContainerEls.reverse();\n        }\n        this.el.appendChild(skeletonEl);\n    };\n    TimeGrid.prototype.unrenderContentSkeleton = function () {\n        removeElement(this.contentSkeletonEl);\n    };\n    // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's col\n    TimeGrid.prototype.groupSegsByCol = function (segs) {\n        var segsByCol = [];\n        var i;\n        for (i = 0; i < this.colCnt; i++) {\n            segsByCol.push([]);\n        }\n        for (i = 0; i < segs.length; i++) {\n            segsByCol[segs[i].col].push(segs[i]);\n        }\n        return segsByCol;\n    };\n    // Given segments grouped by column, insert the segments' elements into a parallel array of container\n    // elements, each living within a column.\n    TimeGrid.prototype.attachSegsByCol = function (segsByCol, containerEls) {\n        var col;\n        var segs;\n        var i;\n        for (col = 0; col < this.colCnt; col++) { // iterate each column grouping\n            segs = segsByCol[col];\n            for (i = 0; i < segs.length; i++) {\n                containerEls[col].appendChild(segs[i].el);\n            }\n        }\n    };\n    /* Now Indicator\n    ------------------------------------------------------------------------------------------------------------------*/\n    TimeGrid.prototype.getNowIndicatorUnit = function () {\n        return 'minute'; // will refresh on the minute\n    };\n    TimeGrid.prototype.renderNowIndicator = function (segs, date) {\n        // HACK: if date columns not ready for some reason (scheduler)\n        if (!this.colContainerEls) {\n            return;\n        }\n        var top = this.computeDateTop(date);\n        var nodes = [];\n        var i;\n        // render lines within the columns\n        for (i = 0; i < segs.length; i++) {\n            var lineEl = createElement('div', { className: 'fc-now-indicator fc-now-indicator-line' });\n            lineEl.style.top = top + 'px';\n            this.colContainerEls[segs[i].col].appendChild(lineEl);\n            nodes.push(lineEl);\n        }\n        // render an arrow over the axis\n        if (segs.length > 0) { // is the current time in view?\n            var arrowEl = createElement('div', { className: 'fc-now-indicator fc-now-indicator-arrow' });\n            arrowEl.style.top = top + 'px';\n            this.contentSkeletonEl.appendChild(arrowEl);\n            nodes.push(arrowEl);\n        }\n        this.nowIndicatorEls = nodes;\n    };\n    TimeGrid.prototype.unrenderNowIndicator = function () {\n        if (this.nowIndicatorEls) {\n            this.nowIndicatorEls.forEach(removeElement);\n            this.nowIndicatorEls = null;\n        }\n    };\n    /* Coordinates\n    ------------------------------------------------------------------------------------------------------------------*/\n    TimeGrid.prototype.getTotalSlatHeight = function () {\n        return this.slatContainerEl.getBoundingClientRect().height;\n    };\n    // Computes the top coordinate, relative to the bounds of the grid, of the given date.\n    // A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.\n    TimeGrid.prototype.computeDateTop = function (when, startOfDayDate) {\n        if (!startOfDayDate) {\n            startOfDayDate = startOfDay(when);\n        }\n        return this.computeTimeTop(createDuration(when.valueOf() - startOfDayDate.valueOf()));\n    };\n    // Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).\n    TimeGrid.prototype.computeTimeTop = function (duration) {\n        var len = this.slatEls.length;\n        var dateProfile = this.props.dateProfile;\n        var slatCoverage = (duration.milliseconds - asRoughMs(dateProfile.minTime)) / asRoughMs(this.slotDuration); // floating-point value of # of slots covered\n        var slatIndex;\n        var slatRemainder;\n        // compute a floating-point number for how many slats should be progressed through.\n        // from 0 to number of slats (inclusive)\n        // constrained because minTime/maxTime might be customized.\n        slatCoverage = Math.max(0, slatCoverage);\n        slatCoverage = Math.min(len, slatCoverage);\n        // an integer index of the furthest whole slat\n        // from 0 to number slats (*exclusive*, so len-1)\n        slatIndex = Math.floor(slatCoverage);\n        slatIndex = Math.min(slatIndex, len - 1);\n        // how much further through the slatIndex slat (from 0.0-1.0) must be covered in addition.\n        // could be 1.0 if slatCoverage is covering *all* the slots\n        slatRemainder = slatCoverage - slatIndex;\n        return this.slatPositions.tops[slatIndex] +\n            this.slatPositions.getHeight(slatIndex) * slatRemainder;\n    };\n    // For each segment in an array, computes and assigns its top and bottom properties\n    TimeGrid.prototype.computeSegVerticals = function (segs) {\n        var options = this.context.options;\n        var eventMinHeight = options.timeGridEventMinHeight;\n        var i;\n        var seg;\n        var dayDate;\n        for (i = 0; i < segs.length; i++) {\n            seg = segs[i];\n            dayDate = this.props.cells[seg.col].date;\n            seg.top = this.computeDateTop(seg.start, dayDate);\n            seg.bottom = Math.max(seg.top + eventMinHeight, this.computeDateTop(seg.end, dayDate));\n        }\n    };\n    // Given segments that already have their top/bottom properties computed, applies those values to\n    // the segments' elements.\n    TimeGrid.prototype.assignSegVerticals = function (segs) {\n        var i;\n        var seg;\n        for (i = 0; i < segs.length; i++) {\n            seg = segs[i];\n            applyStyle(seg.el, this.generateSegVerticalCss(seg));\n        }\n    };\n    // Generates an object with CSS properties for the top/bottom coordinates of a segment element\n    TimeGrid.prototype.generateSegVerticalCss = function (seg) {\n        return {\n            top: seg.top,\n            bottom: -seg.bottom // flipped because needs to be space beyond bottom edge of event container\n        };\n    };\n    /* Sizing\n    ------------------------------------------------------------------------------------------------------------------*/\n    TimeGrid.prototype.buildPositionCaches = function () {\n        this.buildColPositions();\n        this.buildSlatPositions();\n    };\n    TimeGrid.prototype.buildColPositions = function () {\n        this.colPositions.build();\n    };\n    TimeGrid.prototype.buildSlatPositions = function () {\n        this.slatPositions.build();\n    };\n    /* Hit System\n    ------------------------------------------------------------------------------------------------------------------*/\n    TimeGrid.prototype.positionToHit = function (positionLeft, positionTop) {\n        var dateEnv = this.context.dateEnv;\n        var _a = this, snapsPerSlot = _a.snapsPerSlot, slatPositions = _a.slatPositions, colPositions = _a.colPositions;\n        var colIndex = colPositions.leftToIndex(positionLeft);\n        var slatIndex = slatPositions.topToIndex(positionTop);\n        if (colIndex != null && slatIndex != null) {\n            var slatTop = slatPositions.tops[slatIndex];\n            var slatHeight = slatPositions.getHeight(slatIndex);\n            var partial = (positionTop - slatTop) / slatHeight; // floating point number between 0 and 1\n            var localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat\n            var snapIndex = slatIndex * snapsPerSlot + localSnapIndex;\n            var dayDate = this.props.cells[colIndex].date;\n            var time = addDurations(this.props.dateProfile.minTime, multiplyDuration(this.snapDuration, snapIndex));\n            var start = dateEnv.add(dayDate, time);\n            var end = dateEnv.add(start, this.snapDuration);\n            return {\n                col: colIndex,\n                dateSpan: {\n                    range: { start: start, end: end },\n                    allDay: false\n                },\n                dayEl: this.colEls[colIndex],\n                relativeRect: {\n                    left: colPositions.lefts[colIndex],\n                    right: colPositions.rights[colIndex],\n                    top: slatTop,\n                    bottom: slatTop + slatHeight\n                }\n            };\n        }\n    };\n    /* Event Drag Visualization\n    ------------------------------------------------------------------------------------------------------------------*/\n    TimeGrid.prototype._renderEventDrag = function (state) {\n        if (state) {\n            this.eventRenderer.hideByHash(state.affectedInstances);\n            if (state.isEvent) {\n                this.mirrorRenderer.renderSegs(this.context, state.segs, { isDragging: true, sourceSeg: state.sourceSeg });\n            }\n            else {\n                this.fillRenderer.renderSegs('highlight', this.context, state.segs);\n            }\n        }\n    };\n    TimeGrid.prototype._unrenderEventDrag = function (state) {\n        if (state) {\n            this.eventRenderer.showByHash(state.affectedInstances);\n            if (state.isEvent) {\n                this.mirrorRenderer.unrender(this.context, state.segs, { isDragging: true, sourceSeg: state.sourceSeg });\n            }\n            else {\n                this.fillRenderer.unrender('highlight', this.context);\n            }\n        }\n    };\n    /* Event Resize Visualization\n    ------------------------------------------------------------------------------------------------------------------*/\n    TimeGrid.prototype._renderEventResize = function (state) {\n        if (state) {\n            this.eventRenderer.hideByHash(state.affectedInstances);\n            this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n        }\n    };\n    TimeGrid.prototype._unrenderEventResize = function (state) {\n        if (state) {\n            this.eventRenderer.showByHash(state.affectedInstances);\n            this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n        }\n    };\n    /* Selection\n    ------------------------------------------------------------------------------------------------------------------*/\n    // Renders a visual indication of a selection. Overrides the default, which was to simply render a highlight.\n    TimeGrid.prototype._renderDateSelection = function (segs) {\n        if (segs) {\n            if (this.context.options.selectMirror) {\n                this.mirrorRenderer.renderSegs(this.context, segs, { isSelecting: true });\n            }\n            else {\n                this.fillRenderer.renderSegs('highlight', this.context, segs);\n            }\n        }\n    };\n    TimeGrid.prototype._unrenderDateSelection = function (segs) {\n        if (segs) {\n            if (this.context.options.selectMirror) {\n                this.mirrorRenderer.unrender(this.context, segs, { isSelecting: true });\n            }\n            else {\n                this.fillRenderer.unrender('highlight', this.context);\n            }\n        }\n    };\n    return TimeGrid;\n}(DateComponent));\nexport default TimeGrid;\n","import * as tslib_1 from \"tslib\";\nimport { Splitter, hasBgRendering } from '@fullcalendar/core';\nvar AllDaySplitter = /** @class */ (function (_super) {\n    tslib_1.__extends(AllDaySplitter, _super);\n    function AllDaySplitter() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    AllDaySplitter.prototype.getKeyInfo = function () {\n        return {\n            allDay: {},\n            timed: {}\n        };\n    };\n    AllDaySplitter.prototype.getKeysForDateSpan = function (dateSpan) {\n        if (dateSpan.allDay) {\n            return ['allDay'];\n        }\n        else {\n            return ['timed'];\n        }\n    };\n    AllDaySplitter.prototype.getKeysForEventDef = function (eventDef) {\n        if (!eventDef.allDay) {\n            return ['timed'];\n        }\n        else if (hasBgRendering(eventDef)) {\n            return ['timed', 'allDay'];\n        }\n        else {\n            return ['allDay'];\n        }\n    };\n    return AllDaySplitter;\n}(Splitter));\nexport default AllDaySplitter;\n","import * as tslib_1 from \"tslib\";\nimport { findElements, createElement, htmlEscape, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, ScrollComponent, View, createFormatter, diffDays, buildGotoAnchorHtml, getAllDayHtml, memoizeRendering } from '@fullcalendar/core';\nimport { DayGrid } from '@fullcalendar/daygrid';\nimport TimeGrid from './TimeGrid';\nimport AllDaySplitter from './AllDaySplitter';\nvar TIMEGRID_ALL_DAY_EVENT_LIMIT = 5;\nvar WEEK_HEADER_FORMAT = createFormatter({ week: 'short' });\n/* An abstract class for all timegrid-related views. Displays one more columns with time slots running vertically.\n----------------------------------------------------------------------------------------------------------------------*/\n// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).\n// Responsible for managing width/height.\nvar AbstractTimeGridView = /** @class */ (function (_super) {\n    tslib_1.__extends(AbstractTimeGridView, _super);\n    function AbstractTimeGridView() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.splitter = new AllDaySplitter();\n        _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);\n        /* Header Render Methods\n        ------------------------------------------------------------------------------------------------------------------*/\n        // Generates the HTML that will go before the day-of week header cells\n        _this.renderHeadIntroHtml = function () {\n            var _a = _this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;\n            var range = _this.props.dateProfile.renderRange;\n            var dayCnt = diffDays(range.start, range.end);\n            var weekText;\n            if (options.weekNumbers) {\n                weekText = dateEnv.format(range.start, WEEK_HEADER_FORMAT);\n                return '' +\n                    '<th class=\"fc-axis fc-week-number ' + theme.getClass('widgetHeader') + '\" ' + _this.axisStyleAttr() + '>' +\n                    buildGotoAnchorHtml(// aside from link, important for matchCellWidths\n                    options, dateEnv, { date: range.start, type: 'week', forceOff: dayCnt > 1 }, htmlEscape(weekText) // inner HTML\n                    ) +\n                    '</th>';\n            }\n            else {\n                return '<th class=\"fc-axis ' + theme.getClass('widgetHeader') + '\" ' + _this.axisStyleAttr() + '></th>';\n            }\n        };\n        /* Time Grid Render Methods\n        ------------------------------------------------------------------------------------------------------------------*/\n        // Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column.\n        _this.renderTimeGridBgIntroHtml = function () {\n            var theme = _this.context.theme;\n            return '<td class=\"fc-axis ' + theme.getClass('widgetContent') + '\" ' + _this.axisStyleAttr() + '></td>';\n        };\n        // Generates the HTML that goes before all other types of cells.\n        // Affects content-skeleton, mirror-skeleton, highlight-skeleton for both the time-grid and day-grid.\n        _this.renderTimeGridIntroHtml = function () {\n            return '<td class=\"fc-axis\" ' + _this.axisStyleAttr() + '></td>';\n        };\n        /* Day Grid Render Methods\n        ------------------------------------------------------------------------------------------------------------------*/\n        // Generates the HTML that goes before the all-day cells\n        _this.renderDayGridBgIntroHtml = function () {\n            var _a = _this.context, theme = _a.theme, options = _a.options;\n            return '' +\n                '<td class=\"fc-axis ' + theme.getClass('widgetContent') + '\" ' + _this.axisStyleAttr() + '>' +\n                '<span>' + // needed for matchCellWidths\n                getAllDayHtml(options) +\n                '</span>' +\n                '</td>';\n        };\n        // Generates the HTML that goes before all other types of cells.\n        // Affects content-skeleton, mirror-skeleton, highlight-skeleton for both the time-grid and day-grid.\n        _this.renderDayGridIntroHtml = function () {\n            return '<td class=\"fc-axis\" ' + _this.axisStyleAttr() + '></td>';\n        };\n        return _this;\n    }\n    AbstractTimeGridView.prototype.render = function (props, context) {\n        _super.prototype.render.call(this, props, context);\n        this.renderSkeleton(context);\n    };\n    AbstractTimeGridView.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.renderSkeleton.unrender();\n    };\n    AbstractTimeGridView.prototype._renderSkeleton = function (context) {\n        this.el.classList.add('fc-timeGrid-view');\n        this.el.innerHTML = this.renderSkeletonHtml();\n        this.scroller = new ScrollComponent('hidden', // overflow x\n        'auto' // overflow y\n        );\n        var timeGridWrapEl = this.scroller.el;\n        this.el.querySelector('.fc-body > tr > td').appendChild(timeGridWrapEl);\n        timeGridWrapEl.classList.add('fc-time-grid-container');\n        var timeGridEl = createElement('div', { className: 'fc-time-grid' });\n        timeGridWrapEl.appendChild(timeGridEl);\n        this.timeGrid = new TimeGrid(timeGridEl, {\n            renderBgIntroHtml: this.renderTimeGridBgIntroHtml,\n            renderIntroHtml: this.renderTimeGridIntroHtml\n        });\n        if (context.options.allDaySlot) { // should we display the \"all-day\" area?\n            this.dayGrid = new DayGrid(// the all-day subcomponent of this view\n            this.el.querySelector('.fc-day-grid'), {\n                renderNumberIntroHtml: this.renderDayGridIntroHtml,\n                renderBgIntroHtml: this.renderDayGridBgIntroHtml,\n                renderIntroHtml: this.renderDayGridIntroHtml,\n                colWeekNumbersVisible: false,\n                cellWeekNumbersVisible: false\n            });\n            // have the day-grid extend it's coordinate area over the <hr> dividing the two grids\n            var dividerEl = this.el.querySelector('.fc-divider');\n            this.dayGrid.bottomCoordPadding = dividerEl.getBoundingClientRect().height;\n        }\n    };\n    AbstractTimeGridView.prototype._unrenderSkeleton = function () {\n        this.el.classList.remove('fc-timeGrid-view');\n        this.timeGrid.destroy();\n        if (this.dayGrid) {\n            this.dayGrid.destroy();\n        }\n        this.scroller.destroy();\n    };\n    /* Rendering\n    ------------------------------------------------------------------------------------------------------------------*/\n    // Builds the HTML skeleton for the view.\n    // The day-grid and time-grid components will render inside containers defined by this HTML.\n    AbstractTimeGridView.prototype.renderSkeletonHtml = function () {\n        var _a = this.context, theme = _a.theme, options = _a.options;\n        return '' +\n            '<table class=\"' + theme.getClass('tableGrid') + '\">' +\n            (options.columnHeader ?\n                '<thead class=\"fc-head\">' +\n                    '<tr>' +\n                    '<td class=\"fc-head-container ' + theme.getClass('widgetHeader') + '\">&nbsp;</td>' +\n                    '</tr>' +\n                    '</thead>' :\n                '') +\n            '<tbody class=\"fc-body\">' +\n            '<tr>' +\n            '<td class=\"' + theme.getClass('widgetContent') + '\">' +\n            (options.allDaySlot ?\n                '<div class=\"fc-day-grid\"></div>' +\n                    '<hr class=\"fc-divider ' + theme.getClass('widgetHeader') + '\" />' :\n                '') +\n            '</td>' +\n            '</tr>' +\n            '</tbody>' +\n            '</table>';\n    };\n    /* Now Indicator\n    ------------------------------------------------------------------------------------------------------------------*/\n    AbstractTimeGridView.prototype.getNowIndicatorUnit = function () {\n        return this.timeGrid.getNowIndicatorUnit();\n    };\n    // subclasses should implement\n    // renderNowIndicator(date: DateMarker) {\n    // }\n    AbstractTimeGridView.prototype.unrenderNowIndicator = function () {\n        this.timeGrid.unrenderNowIndicator();\n    };\n    /* Dimensions\n    ------------------------------------------------------------------------------------------------------------------*/\n    AbstractTimeGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {\n        _super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first\n        this.timeGrid.updateSize(isResize);\n        if (this.dayGrid) {\n            this.dayGrid.updateSize(isResize);\n        }\n    };\n    // Adjusts the vertical dimensions of the view to the specified values\n    AbstractTimeGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {\n        var _this = this;\n        var eventLimit;\n        var scrollerHeight;\n        var scrollbarWidths;\n        // make all axis cells line up\n        this.axisWidth = matchCellWidths(findElements(this.el, '.fc-axis'));\n        // hack to give the view some height prior to timeGrid's columns being rendered\n        // TODO: separate setting height from scroller VS timeGrid.\n        if (!this.timeGrid.colEls) {\n            if (!isAuto) {\n                scrollerHeight = this.computeScrollerHeight(viewHeight);\n                this.scroller.setHeight(scrollerHeight);\n            }\n            return;\n        }\n        // set of fake row elements that must compensate when scroller has scrollbars\n        var noScrollRowEls = findElements(this.el, '.fc-row').filter(function (node) {\n            return !_this.scroller.el.contains(node);\n        });\n        // reset all dimensions back to the original state\n        this.timeGrid.bottomRuleEl.style.display = 'none'; // will be shown later if this <hr> is necessary\n        this.scroller.clear(); // sets height to 'auto' and clears overflow\n        noScrollRowEls.forEach(uncompensateScroll);\n        // limit number of events in the all-day area\n        if (this.dayGrid) {\n            this.dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\n            eventLimit = this.context.options.eventLimit;\n            if (eventLimit && typeof eventLimit !== 'number') {\n                eventLimit = TIMEGRID_ALL_DAY_EVENT_LIMIT; // make sure \"auto\" goes to a real number\n            }\n            if (eventLimit) {\n                this.dayGrid.limitRows(eventLimit);\n            }\n        }\n        if (!isAuto) { // should we force dimensions of the scroll container?\n            scrollerHeight = this.computeScrollerHeight(viewHeight);\n            this.scroller.setHeight(scrollerHeight);\n            scrollbarWidths = this.scroller.getScrollbarWidths();\n            if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\n                // make the all-day and header rows lines up\n                noScrollRowEls.forEach(function (rowEl) {\n                    compensateScroll(rowEl, scrollbarWidths);\n                });\n                // the scrollbar compensation might have changed text flow, which might affect height, so recalculate\n                // and reapply the desired height to the scroller.\n                scrollerHeight = this.computeScrollerHeight(viewHeight);\n                this.scroller.setHeight(scrollerHeight);\n            }\n            // guarantees the same scrollbar widths\n            this.scroller.lockOverflow(scrollbarWidths);\n            // if there's any space below the slats, show the horizontal rule.\n            // this won't cause any new overflow, because lockOverflow already called.\n            if (this.timeGrid.getTotalSlatHeight() < scrollerHeight) {\n                this.timeGrid.bottomRuleEl.style.display = '';\n            }\n        }\n    };\n    // given a desired total height of the view, returns what the height of the scroller should be\n    AbstractTimeGridView.prototype.computeScrollerHeight = function (viewHeight) {\n        return viewHeight -\n            subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\n    };\n    /* Scroll\n    ------------------------------------------------------------------------------------------------------------------*/\n    // Computes the initial pre-configured scroll state prior to allowing the user to change it\n    AbstractTimeGridView.prototype.computeDateScroll = function (duration) {\n        var top = this.timeGrid.computeTimeTop(duration);\n        // zoom can give weird floating-point values. rather scroll a little bit further\n        top = Math.ceil(top);\n        if (top) {\n            top++; // to overcome top border that slots beyond the first have. looks better\n        }\n        return { top: top };\n    };\n    AbstractTimeGridView.prototype.queryDateScroll = function () {\n        return { top: this.scroller.getScrollTop() };\n    };\n    AbstractTimeGridView.prototype.applyDateScroll = function (scroll) {\n        if (scroll.top !== undefined) {\n            this.scroller.setScrollTop(scroll.top);\n        }\n    };\n    // Generates an HTML attribute string for setting the width of the axis, if it is known\n    AbstractTimeGridView.prototype.axisStyleAttr = function () {\n        if (this.axisWidth != null) {\n            return 'style=\"width:' + this.axisWidth + 'px\"';\n        }\n        return '';\n    };\n    return AbstractTimeGridView;\n}(View));\nexport default AbstractTimeGridView;\nAbstractTimeGridView.prototype.usesMinMaxTime = true; // indicates that minTime/maxTime affects rendering\n","import * as tslib_1 from \"tslib\";\nimport { DateComponent, memoize, intersectRanges, Slicer } from '@fullcalendar/core';\nvar SimpleTimeGrid = /** @class */ (function (_super) {\n    tslib_1.__extends(SimpleTimeGrid, _super);\n    function SimpleTimeGrid(timeGrid) {\n        var _this = _super.call(this, timeGrid.el) || this;\n        _this.buildDayRanges = memoize(buildDayRanges);\n        _this.slicer = new TimeGridSlicer();\n        _this.timeGrid = timeGrid;\n        return _this;\n    }\n    SimpleTimeGrid.prototype.firstContext = function (context) {\n        context.calendar.registerInteractiveComponent(this, {\n            el: this.timeGrid.el\n        });\n    };\n    SimpleTimeGrid.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.context.calendar.unregisterInteractiveComponent(this);\n    };\n    SimpleTimeGrid.prototype.render = function (props, context) {\n        var dateEnv = this.context.dateEnv;\n        var dateProfile = props.dateProfile, dayTable = props.dayTable;\n        var dayRanges = this.dayRanges = this.buildDayRanges(dayTable, dateProfile, dateEnv);\n        this.timeGrid.receiveProps(tslib_1.__assign({}, this.slicer.sliceProps(props, dateProfile, null, context.calendar, this.timeGrid, dayRanges), { dateProfile: dateProfile, cells: dayTable.cells[0] }), context);\n    };\n    SimpleTimeGrid.prototype.renderNowIndicator = function (date) {\n        this.timeGrid.renderNowIndicator(this.slicer.sliceNowDate(date, this.timeGrid, this.dayRanges), date);\n    };\n    SimpleTimeGrid.prototype.buildPositionCaches = function () {\n        this.timeGrid.buildPositionCaches();\n    };\n    SimpleTimeGrid.prototype.queryHit = function (positionLeft, positionTop) {\n        var rawHit = this.timeGrid.positionToHit(positionLeft, positionTop);\n        if (rawHit) {\n            return {\n                component: this.timeGrid,\n                dateSpan: rawHit.dateSpan,\n                dayEl: rawHit.dayEl,\n                rect: {\n                    left: rawHit.relativeRect.left,\n                    right: rawHit.relativeRect.right,\n                    top: rawHit.relativeRect.top,\n                    bottom: rawHit.relativeRect.bottom\n                },\n                layer: 0\n            };\n        }\n    };\n    return SimpleTimeGrid;\n}(DateComponent));\nexport default SimpleTimeGrid;\nexport function buildDayRanges(dayTable, dateProfile, dateEnv) {\n    var ranges = [];\n    for (var _i = 0, _a = dayTable.headerDates; _i < _a.length; _i++) {\n        var date = _a[_i];\n        ranges.push({\n            start: dateEnv.add(date, dateProfile.minTime),\n            end: dateEnv.add(date, dateProfile.maxTime)\n        });\n    }\n    return ranges;\n}\nvar TimeGridSlicer = /** @class */ (function (_super) {\n    tslib_1.__extends(TimeGridSlicer, _super);\n    function TimeGridSlicer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    TimeGridSlicer.prototype.sliceRange = function (range, dayRanges) {\n        var segs = [];\n        for (var col = 0; col < dayRanges.length; col++) {\n            var segRange = intersectRanges(range, dayRanges[col]);\n            if (segRange) {\n                segs.push({\n                    start: segRange.start,\n                    end: segRange.end,\n                    isStart: segRange.start.valueOf() === range.start.valueOf(),\n                    isEnd: segRange.end.valueOf() === range.end.valueOf(),\n                    col: col\n                });\n            }\n        }\n        return segs;\n    };\n    return TimeGridSlicer;\n}(Slicer));\nexport { TimeGridSlicer };\n","import * as tslib_1 from \"tslib\";\nimport { DayHeader, DaySeries, DayTable, memoize } from '@fullcalendar/core';\nimport { SimpleDayGrid } from '@fullcalendar/daygrid';\nimport SimpleTimeGrid from './SimpleTimeGrid';\nimport AbstractTimeGridView from './AbstractTimeGridView';\nvar TimeGridView = /** @class */ (function (_super) {\n    tslib_1.__extends(TimeGridView, _super);\n    function TimeGridView() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.buildDayTable = memoize(buildDayTable);\n        return _this;\n    }\n    TimeGridView.prototype.render = function (props, context) {\n        _super.prototype.render.call(this, props, context); // for flags for updateSize. also _renderSkeleton/_unrenderSkeleton\n        var _a = this.props, dateProfile = _a.dateProfile, dateProfileGenerator = _a.dateProfileGenerator;\n        var nextDayThreshold = context.nextDayThreshold;\n        var dayTable = this.buildDayTable(dateProfile, dateProfileGenerator);\n        var splitProps = this.splitter.splitProps(props);\n        if (this.header) {\n            this.header.receiveProps({\n                dateProfile: dateProfile,\n                dates: dayTable.headerDates,\n                datesRepDistinctDays: true,\n                renderIntroHtml: this.renderHeadIntroHtml\n            }, context);\n        }\n        this.simpleTimeGrid.receiveProps(tslib_1.__assign({}, splitProps['timed'], { dateProfile: dateProfile,\n            dayTable: dayTable }), context);\n        if (this.simpleDayGrid) {\n            this.simpleDayGrid.receiveProps(tslib_1.__assign({}, splitProps['allDay'], { dateProfile: dateProfile,\n                dayTable: dayTable,\n                nextDayThreshold: nextDayThreshold, isRigid: false }), context);\n        }\n        this.startNowIndicator(dateProfile, dateProfileGenerator);\n    };\n    TimeGridView.prototype._renderSkeleton = function (context) {\n        _super.prototype._renderSkeleton.call(this, context);\n        if (context.options.columnHeader) {\n            this.header = new DayHeader(this.el.querySelector('.fc-head-container'));\n        }\n        this.simpleTimeGrid = new SimpleTimeGrid(this.timeGrid);\n        if (this.dayGrid) {\n            this.simpleDayGrid = new SimpleDayGrid(this.dayGrid);\n        }\n    };\n    TimeGridView.prototype._unrenderSkeleton = function () {\n        _super.prototype._unrenderSkeleton.call(this);\n        if (this.header) {\n            this.header.destroy();\n        }\n        this.simpleTimeGrid.destroy();\n        if (this.simpleDayGrid) {\n            this.simpleDayGrid.destroy();\n        }\n    };\n    TimeGridView.prototype.renderNowIndicator = function (date) {\n        this.simpleTimeGrid.renderNowIndicator(date);\n    };\n    return TimeGridView;\n}(AbstractTimeGridView));\nexport default TimeGridView;\nexport function buildDayTable(dateProfile, dateProfileGenerator) {\n    var daySeries = new DaySeries(dateProfile.renderRange, dateProfileGenerator);\n    return new DayTable(daySeries, false);\n}\n","import { createPlugin } from '@fullcalendar/core';\nimport AbstractTimeGridView from './AbstractTimeGridView';\nimport TimeGridView, { buildDayTable } from './TimeGridView';\nimport { TimeGridSlicer, buildDayRanges } from './SimpleTimeGrid';\nexport { TimeGridView, AbstractTimeGridView, buildDayTable, buildDayRanges, TimeGridSlicer };\nexport { default as TimeGrid } from './TimeGrid';\nexport default createPlugin({\n    defaultView: 'timeGridWeek',\n    views: {\n        timeGrid: {\n            class: TimeGridView,\n            allDaySlot: true,\n            slotDuration: '00:30:00',\n            slotEventOverlap: true // a bad name. confused with overlap/constraint system\n        },\n        timeGridDay: {\n            type: 'timeGrid',\n            duration: { days: 1 }\n        },\n        timeGridWeek: {\n            type: 'timeGrid',\n            duration: { weeks: 1 }\n        }\n    }\n});\n"],"names":["tslib_1.__extends","tslib_1.__assign"],"mappings":"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"}