From be643a9935936cb6b97e9d578e1904c5aff70b94 Mon Sep 17 00:00:00 2001 From: Bruce Date: Mon, 6 Apr 2026 13:13:54 +0800 Subject: [PATCH] Not use WinJS 3.0. --- shared/html/libs/winjs/3.0.7z | Bin 0 -> 1200290 bytes shared/html/libs/winjs/3.0/License.txt | 7 - shared/html/libs/winjs/3.0/css/ui-dark.css | 7969 -- .../html/libs/winjs/3.0/css/ui-dark.min.css | 2 - shared/html/libs/winjs/3.0/css/ui-light.css | 7969 -- .../html/libs/winjs/3.0/css/ui-light.min.css | 2 - shared/html/libs/winjs/3.0/fonts/Symbols.ttf | Bin 57592 -> 0 bytes shared/html/libs/winjs/3.0/js/WinJS.js | 73635 ---------------- shared/html/libs/winjs/3.0/js/WinJS.min.js | 35 - .../html/libs/winjs/3.0/js/WinJS.min.js.map | 1 - shared/html/libs/winjs/3.0/js/base.js | 24880 ------ shared/html/libs/winjs/3.0/js/base.min.js | 12 - shared/html/libs/winjs/3.0/js/base.min.js.map | 1 - .../libs/winjs/3.0/js/en-US/ui.strings.js | 460 - shared/html/libs/winjs/3.0/js/ui.js | 48796 ---------- shared/html/libs/winjs/3.0/js/ui.min.js | 26 - shared/html/libs/winjs/3.0/js/ui.min.js.map | 1 - shared/version | 2 +- 18 files changed, 1 insertion(+), 163797 deletions(-) create mode 100644 shared/html/libs/winjs/3.0.7z delete mode 100644 shared/html/libs/winjs/3.0/License.txt delete mode 100644 shared/html/libs/winjs/3.0/css/ui-dark.css delete mode 100644 shared/html/libs/winjs/3.0/css/ui-dark.min.css delete mode 100644 shared/html/libs/winjs/3.0/css/ui-light.css delete mode 100644 shared/html/libs/winjs/3.0/css/ui-light.min.css delete mode 100644 shared/html/libs/winjs/3.0/fonts/Symbols.ttf delete mode 100644 shared/html/libs/winjs/3.0/js/WinJS.js delete mode 100644 shared/html/libs/winjs/3.0/js/WinJS.min.js delete mode 100644 shared/html/libs/winjs/3.0/js/WinJS.min.js.map delete mode 100644 shared/html/libs/winjs/3.0/js/base.js delete mode 100644 shared/html/libs/winjs/3.0/js/base.min.js delete mode 100644 shared/html/libs/winjs/3.0/js/base.min.js.map delete mode 100644 shared/html/libs/winjs/3.0/js/en-US/ui.strings.js delete mode 100644 shared/html/libs/winjs/3.0/js/ui.js delete mode 100644 shared/html/libs/winjs/3.0/js/ui.min.js delete mode 100644 shared/html/libs/winjs/3.0/js/ui.min.js.map diff --git a/shared/html/libs/winjs/3.0.7z b/shared/html/libs/winjs/3.0.7z new file mode 100644 index 0000000000000000000000000000000000000000..6a812846b16584f91d70fe8c20997daf393feee2 GIT binary patch literal 1200290 zcmV(!K;^$Tdc3bE8~_Avh@`h(P!a$D0000a000000002B{l^UNN&dh=T>y8k)8g6C zG=-g5nT3YIZH@*bh|~8{o}d@-4zP;~Q7#z?I=f8fDWtib99_u-Nvk9j{`?VJe+CL( z#ATy`3lVhrK8M*#hp_vnE+>%(P{;}zy5^G%=DSP}74%kjbA6S06!;_E;H@>`_kl#W z;L92yTU9L4o*`)X2j?ydIt~XTHoS>@W~FTBW&%&D>5i9aOt#EFknrAfTFwjYe8cD) zyai{OWEPovPx7Z&dOaSCE)i7BFA6X65($ zBqm|qX&^tr`DQ$v7bE0wXV6h6RfMZUqezlg9usjcSwCONW+UI~7IV&BQ@7%!gt$4G z=4z`28H5dfL-$Z8M6w>a$1rEfa?cTX;1o;(-P&sZQ?|TU!LU&oS zTK}50sY5(2`-lWf*{wNHt@GIQtl9EQTF~3dJWI%&OI&j>Y37lMr&yk*KmUA>|xw!88$T}#_L#7Z| zuspH9KaHRaN~@>$;QMpDx3Ko}d0K}&aH64Rs%OCgS9F!;#0;emnn5uFl1&ZmR5_*= z{p3=|K-a;ezOK0S*>y4j39qcY92JOv4OA-N!U#uXhq+}Bp`s>zoCI5z>65W1tYxA) zP0J!C)}`p&4iN3V%hQ%PNv8fEzC@B&OBYTL?^`+_h20C22(rk+Cn6O4xw_2T#&*3I zmY3A=h=d?B?=_d67)xdEixcI-mKRvedrt-ONv9Sd!woHEUYYwE&m-58!o7V5lwZl> zqRuX2cOAMn9~Zd8gc&jvhYyUe@_f^er;s!63PiDv=Ii=f)29 zHj(TlD^ZwwJnLsrmh|&2V>zkAVT`_|kfP6MI{TxM)|r=(d&H^oTq>8LUv}a4-F2+BJFB zksrP<0$b4D&Oc4#!z?jk%z^ucDIM7A=IuKSxoUQ_E$skj8ibNpmGos-SHeW*5xFL7 zihhRhf=MW%-Wxv|?%Dz!k!avYgMI<_csW~PylT|R%!Q<*?++@8LA~O*lvfbhf(9n&Z-AIGTLf|{ zloCGUsJxcF$HR)<_p{!Hm=JD* zSSmnoC^?rVoo~C3(W~NMp@7}3pW;Vux)E@90bpTMRiQ4Pw1UFTR7nRwEs!WYPVmBm z5rAGN*M4?HcjqNZ5F`)3@%?6W$02N>xO&;lPZ@?Id@UG=KD~!>g+V$Aj>UCS9nH#n zof-Sv1oNXDmVFJbDK<$6(#sk#^wJnLxkr|HD@Qc@;5)lXp=u2F`t}5iq3fZQ!Ve+r z*|KEoOu*QkGMzdn>wbFWgYYMYR`96Wr`Pm;qm%0*cV??C?e#K0@RpNO1ku{M4p!pc zYLBspU#GSJmq~TG=LSQB-P-B(T?(O0z%S=p5*zsvv_gQfXjtjxyiJ^KphL=(cjP|9 zxVxMv^;0DfR8HOZi2`2$0A1&uqUs+>(0xpdU1|br&`}eswi2iDF_2FxQ0{%9@n38u`oDrN z+M;x?QC;1E`vsy9@4mC>I4xNF8aNd;sfaEp^p~jSwz-JE!L6!-1hq>DZ~4GS!#heI zAEV?4Gz3Qma;_;ohtFyhcOV8Php;ghwNUkul#PwUQ z+khv*k7Lsr8Y_U=$CO)A~bg|&WjzKbkv9aS;)Z%J`<2`qFs#YuuGN>#p2u%Cj<6S&FF^exp!lCCGS{< zLl#v2jv>sb*YyM`&kYy8qg(^ziMw=;Mk4qb(P$ZC7Z1_RI$<8U&21xMaL41t$$*-i zmWl{ZscZtuIBhw4IA_h+QXlyRRQamWG*@t&_g0KqXAS$3k`X*vbM#jR+_hjQPjT~i zFyB7(f7%`rubtwtnYtPWxMt+_r_rw~1{u4CXTn@v22GwzS?kOx6iE`f5JW{a=M~2t zF!mVhOhT~`40q8C2Gip7TznyE znHBu&isl;3CEzT#R-8;R_2N3oj2&kP7Pm}ugM}N`4~~E-i-){icV+BC;V~|C@NAu? zzBQS5s*uPB5OAZp$N1f7vZ9``25N}Dy=~1eblJ%+b0V-T?Nb=6?a~EAC71AdTLed5 zR1HW1qGhP^1z0z(7>&%-+R7O-8f>WrTju;6i)oW!Gc2Gdg`2Qf`aZvs<}yU!fm=&4 zj>ue+)^nAORSoZ6<$HP5obLxfxvy!54ojj>KAO#g_CW=L}y&)T;f(rmRC zNNs)KnRg7Boy6ys3N82n^mb9+-u4$&^i}ao*%J4(1F7k;^wukXrejSmV_NlCNh9Kd zGE3aT;j9K5JBfZNtK|nui<6h*ZXyiv{ZuQx$H0LfdhL;K(ANi00hR&j6#j~1!;ha8 zb7s9}9F+b(?ZJ}~#ID3Y zOSicG2GRe<-upjN)A3Fkc6=^zQ^;xozduK~36dMUL}BFvcVM2^V2a|=AB5eVFH0b> zDj#s*gzPlXHFL3{(9rot100khtTw*DbV~V!Qo1+H4LsEPXW8OSMxUJM5nCoInQ8i^ zllwa#86D-KNcw3ft6sJJgOeMr<+v^|vrBj8HrC*QW2D)6UaqNmCatGfSG*G1-q`KW zVu!+Ev~WlXC)j zaF(ZQ_81XpGOS7Z-XySX7@&Mm=A3$2kj#yKB7cxa?w^}PJjv)8ie*_C=&D_qGOXB( z*0DGxBphz{2t=9d5}kXv8yLB|lDHZJx-a2=~mb%KI@NU z+%3k-)k6hmDBCcUN|3#4*gD#pl~Ny@=iZoTH_mZce{qG9bwL8HSS3E#Ct--}MRzU| z-!S@1HuE+ZC1dbwX#Be*^EtrRl6^ruUhX7Fl0;)aJ1Wy1F|&OQWGX-7 z#-5|KTQd3FdS?*TV3p%}$M6(Ctbf^x~YzW(~!A!4hF<}IJ)75fPz#HxF_ z&7~HP%v;ICQZ=-lo`@xH8H)XHAz4y=`fFh)ps3f@%1Kz7&J<|)oSc;>5>b!`VWH9r zM=D+$#6p?21Kf z&b#z6!GF<{iJRt4YU~iA?#U$I(cV`OQYcd0+JLm_#h^Hv{btcYzN1Rmsil}!6ijsO zPiQuNVQOV5Oo=YQB7qu9sF;zX^tXUFC7qDYB{Zjr2XGCejMSQezqY`ujjTwbw@g>WzEX4cfz`a?-U(%1W^s~`cw1szn{8IWy zJUDm$pVUwo1$^;Dm0zV0p`dc|#GzaXKf)T#dUJ$5Wb$6)^3`@C#jshfW(pgm0s~_6 zaQKFU>WqZV4NU9SuWegJu5bU~=G#Oi^rnR>CnM=hBR1qL-M06?ti3fq{{p+KxWBp> z%^|)7-GC^5rmNIB0AQ4 z_^H3W->a`(;qo84%>tN}q2;2^1UUn8lLsE+>3@EQIdTPfp;Oj#0i_EZ?&gej zK5OiD`=YSaEGZkHY;fq7@YeE3OZ}wsexrqec`s^fsDeL2&T=w^r@0jBdgl5ul#1fN z`15InfUF}%XiLFKao=)|bLIA3AP2D|$S=_D_WIJQ4)lE2dIq)~v$D9DMlQ;E!Q)Y5 zrrZY7^7A7CqSoih{F=|qImAUWvgEnF#PO}q>&mznA!{rl=44xoLzwp7hVb z`s#5BEtR@vnI9Poo%~EeAL#MFicJc;S5^XlUfCgRq0E=fu}H!i(>7sJ(y@HrDrlYw z8%Sv6koy?l64L&@D=~+e7i!tsG;#vzn7UZ*7+sb#pQ;?#jP&3?l-ERo1T>MzvJV_xKPD zMkdx)ud-dXlfP_oQdW|XpCO$#im3b{zmt*#In^6bXlrZ^#E3$Bh&8;y-US#W>Y>yL zg>uN}r#2!fUK(+*VyugaLlox6j6wfWlbtg`_SV6?D>h?~^R>*d@Oqn+%9*j-)hb-Nu^ z{Zw|;^j*AekE-2+0C%_1dyxFaE!7#68@k!-8ckgsE1z4~^NiqJ3uEKF<)f8SP3l%QY^1S7E2yFLr+;KAwVtiF|7F_p$xYn>e zfQ)R+xpQbGTmf7lpheP*C$Y=K3~eiw!Y(LkI+|h^hw_{A-1W*&_eInGm7{L`wZx)b z%UTUzQKs3i-@tlx3Z3i4+1+3OAVcLke9tz5Yt>~1WdzrW`db8xzce>ktw``PN=% zvPdj?4ix?s0%-nWG-0;>M!{Ha#!Vn7)+Xa#HNO1go*`E1{FI8s_%MCVuHu+x$f7c? z6k+T$@Af7teP%R?7jQnykOwB4t;LE%Rn*oE*`f&WA(nj5yPIN_Y~&ory@X&)=Pp;? zOQEmn*BjxA;VA&*q^Ee%!EJxGH+xzfvJ||6(ro+0I!VeSXc>xR=t0` z09_VWJyu~4iC6sdH&`K+*dZ4eUWM$50+t601kuRre&xy<`-QxmY zlTuKZNDmPPG-;vVu&S(y_b;p;35~z;*hc!BA=1pMKZx`ee(9WSBT4j1LSd!^i?L@R z!vR|QCFS8tnLiHPtsH-CXSZ7pfy$*0j+EAEBzlgnPoDev(2Ixe@Uysq-r6)+7lPe8 z&v|2GbFtOzk`#&2qdc?9IeFww6Qh3gh8-v6ee$5RH1i8T8#JL!6xYA;Oe6IK*LJtWD!Bj6G3BpiMUfiUR5=k}EeFf?JS*} zM}r#981gg)T^_dYd_7>9Z*|7lH>QTL#JIH#$rmkWNr70_BA;fDju==*>qxtG+jj28*{Avc^hW-WYNA*||9@)%{9FxT@c-ypJHS9960(0?+;3IN0vO^@*y|ttJ@?I-9igVTp9I%p~gN*OF`>`#=tH??#8yn^)>rc8q#m zn*GSMqrLk2O8UzFtZ%>y-eHKcMq(Fg>7AQSlV>#I|X<|`DtX+Ft)-56V zfWcu8K~t1WT{HeY&S&k^REzE(AwD)TutKKAsQcKfO(t}pNNDydsh9qMjX!GQM3mYG zLiHfA$$;kpJs_Z0D|PTHVz?5%t#^5iBUfSo?kRP4hbi=)YLb!)BtA@@ zrl^-CQ-Ky{Ivk4IYLrWQpX#b>O6B9x@_=`-oghKPm145%PPJw1io9Ft#HB!W$%2z6={ z6{(cD42dE!AK2GYHn;oIT5RsS+pKHx?(`NG1bt?;=B~W6a(QkO0`OA!A;QIc=cp;x z)Qumc`2uc&v_!w&Sw?8$6rnwUd^t0Y_ zYtT<0eJ^Vn{-|jvq&PMex(9mOn>XSDR*l!R;Ru<#_nRZ#>SIjHJf?B@!1oCE6+{J3 zAR7nmmRX(?f5sGhdq*)$Jl^&A6|Z9V)Sin!_W3KHyQpb2HoSltzz{l z_`N?R9HLgd65lnIp;1ek-B!~$)AZw2bNfA&6?3ovKEVZv51AsYmEcT({xgw7$)hLF zYdCMqq{q1>^8kdYL7q;KHxcJT8O*(4r((uG)6FX?J%k2nvm0C+N#*iP901=E^RWS= zm*Sii%h&76je4C)ZRCim+Dl%fVrkNYeRpc?ad3=f1tq0N3n%8A|< z?2zE;G7EkLBT@Qt$J=OBN-l1e6u3VLccb^s(7NjzKZ@2zSJyy}MmG@8)riw+5XS2K zPO1(*>w*D}#MfX5`p;d8Gh`>r7xB-2C3YDX^a_&OZGz`+2IaH;E$15^Mifx&J&U?R zNTdfU?QfG}!60mWMehJ3+0;W>n)GZC>B`BsSfV3Em2?*2DqL6c!o^Q@?u|u;I*vDN zjmt&`D=d(*)MX^7V+D^2OwsSyc`ZhDCJycIsunKx{=x70##TB(P;uEO{h_%lHdJkh z(Y6W`mZ|6szl(wA%?$ara&T?k7OsBtISw)VL0$8a&TKgvab*rJHrOARLlrER@B>n2 z6%yWQHCQNdnSS~Vy%+QWb!ShJU^mVn7H>vf3KD{#)wGSiEfvf%2+yZoUu5W?JRz7| z%W!)(3UH_750<%xbYe%bf?yfK$ewkCYCtba>qhY@l95br%W=8hmepD{n+gz)1=E=Dzb_HV_)C~`WIZB;Ty2ya^Yi# z^G-VWROlT45jdqt{<9a!LEV5Goa)g25gIUX!j}O(JwAD*lRdhMsoaGv7jM%Sx~&k) zVt4sU9#`|N&5BI2T_(G_uR!uTwz-Xq%r}S_VP7eKecPqx%(LwAy;i#3j*ZBBQ5bKC z^S&Ffg^cJs0V3h%h&>z=)qQ4UQtHQXah)%qm)c@!aywabdC7T7&I-sv)dVvB%eh;! za`9C`V7=6_19HTSS6G*hd*rO3s9oUg&nE(2WrryqqIDV|Rx1M__0?&jP&2NYy%FQ8 za}O-5PqGEz2EPKN-o|Cet(w$t&LgV+-E2056|1DNmFp%U?NLJgI_w9dKmC*AW#3Mh z^Zy6b)kZq(b;?2gWrbE674^#kg6&GwDw0g6RD^l<>#t7#aQ^3ESZ1=iR}rJoMQ?A{ z8&??_23@4Ve?OUv&M|y3Sz7e4ApCxfhq0V(i_g3B^RVdQ!=L51-Pow#I@Q;&Slrmz zrc$lPY{hsJ-| z9W^kuD+&lhinmy6pCICNkEp^Ke(zhkx$>7Bb&WK~TlHmSBl@QLu_IXS_K7Nk`}sdO zupAA<58WZ~q3fRqd9b-<1)}3hP}s`i(%ND^=i2IygCQjv!TN~Gx$x-xf@gIZzB+Gw zNhWkO?-HRS$o{rog$|&;(k!7Pfqpv3*Vjrr455NvyndHfAbO+9J+Gl)3 z>pA^q)ih`?ii%Y`$M8JiR4e)Lv*yGd3ZuH#luyJFpFG0P)&mb_ic-}yvPtH2jOvXo z#XU;e>QwBWVnK_=M|tPQ2fQD34i?pXd8%E)?OiqR*?*B-UBGnDu16f!FSs4VT@+h&z7iVLC znY*&K`#8ZHq_P2696ekj+q}hyu$?ShNAcQ*p){EtTz{20Jk|m{2hC%u4^`tW zO5CGz?9BhK3k$gcF$3wj>z1d`pp_Alix6qr&tqM)E@R$vzh?ydoNL!b%6A2oNI_+eFmnbqAO{ zcJz=HlIYYJbK?US@_`JKoSWLm7{Y8rVCMo?7au9R{O=S!DiL|_$}7=L@l{%;2pL^ z#tbF$C?da zH8*(%?tQV($4(uxYQkOHlev=|5O*6d2_id2)x7ipkPHHhtsu4@qeV|HQ8h8*1pEso z1Ic+%od66+il^5P1rNaYp|Fn?7$eqp?GOiRucI;)r*EoU3EoiO&x3H2O)7OEuiSL& zXuf-aZ+R=9jPwP^PUlsnF@Mc5lVNar8~N70yABN>R3#%2&K@!jf9}>X0%KwBi+=n? zR7IJEC=f-dR3?g}cD8*aBPU4pNcX-6M4n!h4^l$2yF1F6Ohj1lhrYr+sK;q8|yB9WQynq>RUP&c8U}(yJ2DQbI%mHc8#i){7L&QjErld_I3bD(`M2h;LYW}=+gq_i`IV%6pZeqCGID~A@jM%-a zv>unI`)}>sO5z~0t9Qc=^Ay7}d!sSP%KxvnmX~<}08U=-90Z56jW=RDO$wFv0hSVP zDXZJP80e8!mq)cp@YF5GZcGMg1C7ruX52MNq=#|M<;DQHCld}E{GO`qpX!X+K?5i3 z)I7%p%uGtLe{BGu;k&*SQu`0fWEAHdj>SeZ8lH*lVC_Idv3$>wPH#+jNraY=QNHh^4(f9QxfZI+jQZdWR z{kxiog}_Ch0|6ZRLPlK5e1V7nA6_%p_=oed;R^^{&`V=J^?-@AIt52(4&+_*V~mCv zS9_nzL)-J>vefrl8Yf<3QmA*WQjxM=pv1T}-Kv~pG+QVl<4YU0qI`~1qvu{s+vI5J z$3;2X>~2MjG6ad+o0u~2LR88oGx}`IJJ9mKz{<)w^6*zl&zlkTj%UyQNw7P0_&!YYPsqqeMu5SVInFdcZnk+PIPd2Z|SdC?3BO9$`BR2alUNzDf%a%2AJzhrp09T9Rv^dkVk!Z>F z!$Rjf38@#UDW7~SlQMts@UqZHPZ@<;T5BmzeTlTz+q(fG18v^oV#8+Rp(bV_o>-aO zBP0KX#qajH4miMLI*=0*qrW@s#|h0_hL=zm;f+fC=^&*dWC-V^8-R)uv*bx8@=3IT z=K>F!^(KlV+7T}Fi=T*GT;%>B;n6db7c0Vs!|!=pa$2>hNF}(xj5*B0B-vVO5ZfoH z7B7L;_w73jI%V5t|Xv)6e1XRxd?kj7L9gkx6I){V9>6yXg%x^#9@SgZ-*UXOsw z;^gYPg#iADfx~PZj?>sG!%;{E=)YAVY}k6*yiXUD_BTe1YldaE=7pyqZXBPWUJ%|{ zxzeT{W<2Cb>2+2E?0m;XPumf0#vM0$zWcf*mtx|NfTbHnB122=O+&3DuV=lko4xQV zEf2-heOt#51mLJiiy602`XGU+?FD2A~IRhg4In z-^3zxg@_d&jWyhF9I1>OyQ#Cc)Bm}JZ?j$QVSN3icnORxNkNK9SP$y4mnoEzi&YW{ zDE%L1UEeb%^k~sSpP?!?qx2P zdCG_CCwT1V9wT+;%r3w(e(6Lvlf0ux)H!v)4si6zDNIMy0+!!PlL+qxH0R2lny_TJ zk7m*Jne&drKOXzp9)OfNl${gc#M7TU62rpt>qexlbz#wDmHm9V!!5gQ#fiMMhu-zGRkhI>lo#H$k;+*?! z1EwmHF&%0L&A`K8vg9pP&i0c4SXuEPhu-#7{3~1xD_|c@%o7RdCW+UzdDq3W{a>6a z(0QJBcJg~e5{|;quLwZwwz)F^VSZ7=hJ`XerJSc}WJ*!LVME6U6jP(0O{cT{<;lV~ z%G-OKNcsVW%@z~!$~hX!F-`V81uUwlf{X8~sMZ%O_;M0ep)*&;2mdw~^sJz11N4+O@bspMX~%392RSeeZlz~lea6Ae@`t3)a&Ro< zMJZL6nKoqV-WR8X9RVx4Sb4LJLX4pa0qilq z#v>%C`nm4U=Am)~rEMs_kHuc4f(}v2ehNQD3kYcc(;RzDBC3Ne=MJEv_3NxxCVU5@sH5`e+3UJoHt~jl`wwx((B(kV0 z@!ve!6YJ*A*?)vBwiduW7BO5WxBE7awdQYA6~FN8|6}%fC}ZG-aSoK zV8>F)urD6f+7(({dkUMcR`PBw^@T^Fk3O5=Top0(x!0v^e=`CjI8f?;pN+R2NChv>> zFJ>~BwMih4NEa`Ywi{To+Tx*bu!&g!UyCUKV6Zz|U@?q+dj%p1l1<#w7oybYs`GIPa;bK#~ zHb2l_M@#*wdE(3WPn^BBlaj>dg7FN_VI#VvGu+R3KIRz^cHf%)8T@3LF&8=H&Grg6 z$WqSoc=n83?}AG`3Us*yeR2Km^`EmMz2gElO`wg#wZex<`qzKP)6%=ewJL#nG@^s~ zMzg>o)Ar9;%Hjx@+Y_-7T;TKFozatBM8veKxUidVSISn3Y#n}?@CO+Wy4u?7KqI`v zBnWve84&3cU?aB`q;lh@o!K5I57PRiM6W+m@E$8D^giu%2`cL@`0%3lsWRJFqkL{$ z)@gp5Jv!WAO}ZnWrgWo^iU9xtbHT#&9bm1f#L`b1yvW?gb+_F*YqhO* zoo8L?51TiFw?11}=?5O@02VKcJ;fO=HB2$TqF)(L~KY=_;?@&^{EMV~jgn zc3>HawN19AQv4XhL_K13L~R z#L-wJEcP0Q3v}uFO9kh#pkAD5dMaMS0w1kt|K70Xf?`LEdY#6;&S;(HPiO8L6P{j5 ziQ{+BNQY|ZZsg+g#jcssEAv9kQMXcRKLu|!0pFO8TDQ=`vt?6 zX{{lfLD+c|h7wl>`AnB~tvsce_zR8wAe+Ju038%GAf8}$OT_L!8OgIxLl6lR4@hf& zui8gFRI^4>08VTF?W^8uobQHh?Hc8of&>az*6?mexj6;0A1w4i#_~ylAJ`R1_sjOG zRI~U=`B*>HSLpB3iEuNMPgk>x=AtY{?nyA|@2^kk7~kg!qx1Evk99m>>@&LZKwaQI z_xFKME&5Vc-z$4 zVc3IP`1KqeP~CXMDw*2D_6!(CZpWb)n;H=E=NkibI`-o1jXuxzAq5`TtXGbPeQpQ74F1HM(KKFBM`6VRP|f3#qb> zg#ayyO?3o|)VE>$>2RJpH=60%a8bc-H{zW{V3ih`O#We2G^@nsv##VlD# zODPQl1a4I0B2p&$=;5eD6>c5*7M3=Xvg_r8Q<$dv0}*(Z*>vv0I@Wr{>B%A>M3tw? zB+mV9E{|-jJDOo)H$24GAk<8fI%f;>tYL?ks#)#b;7|ro1Qcl?SZqqw|Kb@eif*S<2J~BUm==}6LdPP!=a~o z2TO#77m)}0>l>{M6Z3-oqXY>a6VTVlE2aIcWyP!ggp_~4-{vhp2JUN!0z*tUdBH}O zg3g+*O_Rn)^a)ReO8qJa{5?pl*M=GqOinF52`#X=e-prx62->16{!c-}|?akvO25%0EyL|M9MfufMMJ)3|55)c`4)$a4o z;sA`7TcArKiA}0pt3%SvP%Q?OAXP#(?*K-z41L(!HYyp9h$VmH!~>3fSmguZbfRI6 z`W##eucr~@JF@@$Uf+wzdlU_;f%;BUFw+>|N90nBbmg1Jle;z4Ud02&(4_;XLqnhy z&3b#-xlDbt&khUSc1>>_kkp#v5nSOxta^ex6+03(P>0oy(jAhZN@;AEqRn{KJG3=G zD0F83HRTL^aMV~6{RJni>+txoQX__*TSL|^FlS7Hu^o`=eNAKI?D}JdtdP19xFd39 z<<>fMHyeNo6M{?M$t9wET|bUB|9M)U0)F+=x_TXUQP&ajvC<{bWD-|cCO7#+E)*cc zCHK1DD|N$KNAkNl{qC?zE4zz|V-1bX z9PnPo+L0Fg)tnoJYNgY7-t{sf*O2}4Y=g_&{A~jG4c9Ego0=8apK=vwSyadzxN^z= z=jkj2?^e1Bi?#Oi3-#K%ME9OJo%^*CRQOB6x9h3>CgOjQy?F5>U>}B_wsM63Vc_ zqhpnbHTnnyK5Xi~X5K66hRM=vgMcII_Xykp5P4{|V%pl>W0MNq$q9(gbI^{*<`?~U5l|GU|Q1l@81$-o(y*l|y zMVM6N3F>65EdA(VEaS1+_~&w~yVFxKnS$zqEFZ2aS8e&|N`g6uW!3HbWBc!@kI>%; z?8;~t>#c7|@EyomLIjqeXqJ`2Z?N3oupjkXE>uJ{?05GJ(at zNZd%FgAIby*Uw^e z0|e=X!>_Sqv(QP2uVzZ9{4 zLMkvJVh9igUA*HN)^m5V%?@P3N4c)uUk9JX}xU zjV>|DgN>2!P>qXIW3T03_N!*6?rd}X7OAoVTNzNbU}DY2OsW6hN?Y&D!t#yW?)l$q z?hqMEPi`P~VE$ukgsyeJn``deP6ldN$$)uv;)*VF3X&~GLJ$9~!G3%YK^ zChleS?LROFX4LHI_)$KnB^nsRl1U@4{Ydos1#8P%Y&6dNM!?tH=_***7!CV~3 zIQ&jC{Z^L#;*y0dwxHmec5oVZ03dk5ZAKi;njN5n{w*>P4+t=N_x2btM41(H@EXg+ zm-(e#erY8Ka&76R#ynGHozJ=D5;lNVU$2p~LWA?7isjf0r3Xzq@{l{hLCWdfx2zXj z5K1g-zy)$;kkvb94;((7L$5c>yrKLbOkJ<;$tefPawDQE;V8zUkE~7?=N~NpN-oRf z`bP(*rqJEOe*m54l9@VqnpJ)iXMn%O%o$iCL^AKPBWsQYv|Zn-Z)O;jd$;ply$vXm z@d#`4MS*SSbk%IybzkCIqOM-E*O!`O8^!4bC9@^VabWO-8G=oj2S5#AYL-97TiJK zPzTosAEGy}ySsFxp~LpFnFQ%Cv!9ygrSdm&+>OJWCg`S(MgS~8)4#ReU3qrth!GPJ zW|S+&f+{TSM4D)wilvF&V{zL6zu&s9)&bt#xY=E<*<9GjUQB!`aUmiTyV5^TAt%pI zKypTZU3ETiN^}B+priAoup%vxq?DtRQgo38yKyq+sAOp=WIRaT6>_Z~oIm7B_a_p# zH09ZADHZ=DYF}OXdw%u~sbO$>pG*ToK3!Y~N0DP}@U{1qy4dXY9!mZHQg zF3Zwp-PXTum2YG#F=df_b3c|9IN$VseaDb%Ez!B``T~%UREYI`L}2%ekd91v*J{eV zFLSP}N?wFsE;zmbhB7PfY$p^BLTA|v0Oftb_^kOQo*zLC@AmHhaYe!192Ev=d*-;B zY=2*!PGN4;Ddn0=DYRsdoK)=q;7E&3CTX2sS0#L=GE>k7fJR2#tzN?;8<+rHKQZYn zZ}cz3DtZcW6yh8pXiErBsw>E0Dw_LlL-cMmw-*F>Khnx*IocjFS~^N|BG09>I2}$_ z!&+b9zX7G&EmB+FW3Y)M2^}F4L5QwxC}Z47tcaiSJloKZ zN;I0G9cY}wJ^Am6Tg^7Dfr4KAuT_{cyFjmA8kftExf>>xl z51VQVX1=#7uf20k<{zYj=*8+Zztg&*BPcc9#b>?s)QW+M+%2wt;=sKvPjX`h#t!Sj zSu)o%gm%%&2uKGI9{}7R4$uqcl}SZ0C=gt|XKCf8UQ^nywwMj@C>g#_u`8Vx2PLSGtTiclTL*(WU0r?3vSJW}IcB^*^9j}DD}JM!uG4%$C|;!wFH~EA zlI*-SNqe8SbrSKOCWdl=eTYXn;~Fx4_!220?j4xx6x8&AFQSEI%*WtWg6GH8Vzuhj z_ir@g!0ko-v9S)L)u$OzFcyjqy>v%$i$#HxwOH~Mg!DM6W{fear&blFDV(*Q3+OX% zrWX@!GAs%8fUjzLq5lLg%G?k$#eoq6#(R<`?GSo23%OS1HVmH)N`+rY({c_!xC0dw=Wbf!`rj7hp!^EBSK?wh%e1kKjZ&Sc_*$%ra?e4dCoazGiv zExzFYkdDHi%5xRI={H)C%5-OU>|M<1RLAZplGoOLwwPv*t4d}EmE2X*lH(}4xjIS? z?G$~F0N@zt3Ib)5Qs+PFnH7E4kOarhf)4FS^^mT#l0+TA1I? zlCRlI`1mAFW`+nXAAP=dvLM@O(3mZU5FqU27YFH~rNmLR0{PVQk4;~vZL@)y5Hw2~ zF1b-|$?{BR*?hA~v6cG(XXe!&n7|315NA z6YZJ>wZMJff}`(3__k)%RY!AQ-y`otAJP(@LL*DvjK&8)6(-^%{Chzyox?*R04!7l zwm=B!9yNMrCf1}VJa_>BfRWgAGADok=tgjidn!Pd$0~d)`hb1b6`k$@HMO4QD5nz! zPy5kkiE-g$eUua96iYtjPd1U@)fxRcO;Oq2) z^r=JF{`5BdKS)vvr;%YTyQX2Tv3CYU3-#C*rlaI*bXe#z3Lz;HhC-s!b(iEpzB;QE z>y+7kImBZCYeE?f}F0qH>O+4o0&bk51vZa3c!l3X{v2Z~Zr;M!~MYF_CkNsLb zA|m<@JpNMg_Z}m;)1aM#KbqFIFv`($aP%EmVm#_2{$&6rs6iN${Pp|+z|Hw{Fyi(R z6RFrC1X(nA1Khf?FgZ zEp6W_zM3&U;||$fBelObrL~OnIvwWgacKU#(}a#3)w+L)2$+0H471s=U=E$H$u!k4 zkw1nq$zjEsItkEo#xZdI%#7e^=5dK5lNR zW1+Er4QDLaq*AL~Oty(I%P-th79B%_tJ#z~G3@v`M1T$cyC^>}+-A7i@$1_&rrCa9 zwfSqDUyo&!enYU4Q`3UKyvsWdO|uY~v7r zGTLa#^gE;ol_k#eQn-5!!8kji-XU}bTTpbC%O!F+hx={1D|st$=N8aji>KmxlGS4Y zH_#yP+hte*{YioMQ2ErJhy^PSVL2QvPha2v`WXzzdn)Ffi8Y=!HhE7o8vQWa4&6kC zk(u!n*mM~N0-H0}cr0B;H2o9$q_LZlnMw?$8Or9((W(|ojvxm0t)+%XC~+sr!77by zU3?#3JrUpRW|8ve1e_JuWnrP9EavJj^5Cjfd=WG#pOnu9rzoor0lMw)^96fCuCHC| z8l1$cx+dAj``L@vJeMFQhd`zQif2v>bGaCZYnB*tDS-3Jo0vf21s2tVek!cGx0qW+ z&ZUcXd29_h!Jn!)H?YIG)Pd#Udv*b_2>TV0sy}p;;l_XQHJ;4Mwt8pRJ%s*^Y+l4P zp;Bi%1PNAzLslN#B|#Suep@)A&dwlosG(nPKXUei7XN3axHU>Q1(xhWp#HBf#EmX* zTRhRW!DZr21}P0b;IFJBHGqOvntk1?1a*IQYKcew0YMJEHTRF872T$#Crz7OEtWEr zcVx?DYl0Wi`~m0YCVl5~D0A9#%1(~%MBI4y_YL&Lf4KMF1Eyi_&H}bp4%@rcINA_g zUWLp^w?HQhEi#FZYSlA*8kQ=7F;C1%S&7cp_5$_Boeh-xCWc!oEm6!$&CUqHtWPiq zcX4|tB>X77MJ&sRZieF!7W*38AgxxnRAY7GWQekh{sk8bd9g#Z)T}rctP_&#RaN|` zuZp0V3fm{dUkM=PL&Gq48#w;=h;?<03nLzxnnk zdu_GOxtmpnp;YA5?8|}-t@8j_$S`H}<5SLoa;8cZ5e%quR8T#{QgRLQy#Ew&oij@AVCVUsAsGue(aHG)Bx&Dt^M>mVRwdBXI1?}x zp0<7Py%19t(8pzH@d6ofz^$Ru=4aX_JCnVtBgTUd$PyduABbm*y%vz>X>0UZeb~=# zQno_Tsk%BtjqDfy4M4S}Omum(-Pxi?BfJkY$X{|~WBFh3KqJ->0IgE3id>1h%_CLhSP>fv`B}1X z=)N<$j7Tt6-e@fkl5I{xiX%}9t&M-NG@o>RG5Xfx0Q_>7gpj~*>NU_dhYj_l!ahYnTMql_xaU()ZSU#;iq9Mso18b0?(MCtQ5M8bUe~ zjTFF}xQ9kFJr^Jd2f`nV6KhzrRwLrY2kY15^g4T=c}}KGg2r13Gk+rz_g&ZLsoU{t z3=|yjO#r=N=wjKkI+wZa*RN0$5=pzlTLbpUMp#}1CWLFxN|SkHwr1aHF=*QIy2B69 z429r!*i|UlTyP$TYs0%2)uoAu{s21X2wClq$)4oFiKdWqf|dnI^jzE+D`?P^F8dTG zJUr``+8+_-I_qG0Kujjw!H9Y#bn%l@jaJSa)P1mYxd0~OX-|pX#8_RdPaAMZK`7w~ zSY&l1?NHOUU40t*iJ+AT1O10>+~VQv3F8@yABe%Nv=;je2e}%(Cg6}XHi_KsPqudF z+fkL&)wa8E_|@gzdK$WrRME)R$HGHA7e;pO<-GXl370GV+JVH7lDs*GwGvIXq}wZv zFZr2owp)_(wfuWmLCOlm^CH!?(h^kcU2^DQ*Y>`dm(|_pLw`Br+FlIaqu8n{Hv8QR z|8bvjUPr57Xs+Z=%UDyS1p)@L5oGa&s^Eat!BM2M1k52?ZUQjE$@YVY+DgzUQDD&y z;Y+1zH~k4m=UZ{2`D#>Li3ntK%nVw+8+4l_Z)M%?@H1&3SZs>Al86vN`eRCnEmTOS z_+n^k5s^g^9VRy&8PH5lgxvcAm<=Oe5$dHNVrp8;0#r*P0 z?vGtel=rZf%JX7)glmYPm6Q0cC;c{rKNm-KH>tr!ub}87K+X3@gn$SMB*fL-XuLii zKUX9NBr?i5Of5-!W`1wNF=wVlGJ(woo6_G7OT-VJIw@-3GUS*8 z>A-HF&JmESD?4-}QZ($wc?O2It{L-C^Rm7#@T@}zv1;o|X#3cO-&a^t`6cZW|L{!~ zdrz-^FrQ=(Lugz0XLFk74aLdkdS$*8MUGs4j0|*G)O5dti0Y!NCG^(<(&Bl)#poew>SJ-obv^%?=u@Yr`=JrpP{h`J3e@nV5W5a9P6h4mhQ zGOK&B8Sb9}I$V3(Yq^M-IBZ^c<2aPy7@u`XfEP1Y-zX$n=7=i^e(8>zR74<@%Zhyw{As5aVF& z*aEkaCg8-gWs=u_f3)1)hOZvH%-#qjca4_9X#XROVr)qpXHi1BY49OxL@p-28 zKkDuwA&0Rw-vh84`OoI^zex=bR;i$8^Q4*+ni%JJBtWqIi+0DbhtMS81HtK+ zy?-a<;?vbqfq28GHfON392gwEGw-;+toIoWnf8iXO~?l}B{(KQN?wI%N1e$kEW}zk z3wOR~JXU1>c~3(G81Dg}ml=h0RUd)$y@i7W-F7WiGE=zhO^N8|tf{ zl0vPolQ1T`8tx}Z18iw;>(3Ql3^DgjRGj!BxX3Cg{}}T8+p8-t83uBiBaFS4$tpn* zY3{v9+$}C-x-p)^^8#3v6;c@iW2(?dkxWblIm2D$h|HD&-9B|fBfhZ;meh*kL3*IW z<1S$6ikq1eX}rP=gG6A#Dq^s|W$RmpsLPj9f?UKg3e}!cMoE`k1#zx8Z}SbP9CsyM z7azJu8KimOhiMy<_Yp_aSY3|aV@ifAF=ig2v;2W#QA-CbWzCpw)oA2ns!@cXK2U&) z#}0ls%)eFc6Ya@lIFE3pW+saFl^}Hx&(QG?$SZS2e=$kav!jk>-u`OxMzP4HPK>pGq`c6-DryR^{p*g(01X|u{t$*qGP{^r_S`J?byJ2< zizgs+rP9U%C4Ac6T!sVx%O-3wTWgHJQY+_>&DJL?O^1;ocVe+rm0Hw6mi2?XK<5gqd5Qv?1vKL86AP?K)+K2Zr_ljn(-MXVPrIu!2}en7oiYzq z((0R-!{x}eusK3p>4>noAy&5Ye~A_X8OP8n35Jw>3`OMSP|n(ShaLI?KV=Ig(2sx= z;zI0$$@t~et#SfYB2V=3UL5RC(;wafH!-CxY|AKia}ZL!2a?QCXRP#yFdK`5UY~BZ2ar2V6R{} zVp8G-1XfYwcw4#u-*xaqY-EJc>a~IM!?ifZ{=y{%9m!S8nE|E5+i8^(e<`y|JDg# zS>tlfQ-4csU$Guy$&^ie3M#o#MpuNM9+vYHZ-gUx@8lD~u5Rz=_ex&2VFd&pwwUVV zsA(2XqJGCTnd&@!%b#V`O9>X>ED4XcwIX?7=8G#kp94_m%JoUyaA(`Ne96n$NBC(l z1IRy+k3`4jJF;1pC9>?BwmJP0&W@m3Cv1r~3BZq=i)WcmRTbd*%l%gEyRS9@!+|9KnGjUiA|%ls(LzAxv8G;DB3UPBG1yC!y= zF8f@$i zchG0_gtAOJfz|H(kjZoC+Nb804bYa9UXrjF{+})iEoJKtr6R!nTbkiFpT7vZ{N|Hp z#-Axqi~s|z25n5$w@=EZqU4i~VfPoRR`OY=kI&DBH=m}Lb2wIqYsS6F$3x#$uS-~04voF z?a`ixPKJIHR;n=JX6mol755R7!-@}Db)@>;SjjNxaI2a$V>1vC;hJe5b4dL_pdmF7 zZ__2dqEJ@`q3qXlmMTI>%T)@#3FEd_QgO=SLBB>Yt^U>Ly888KrqdM`lL<4=)W6iI+;@R2F zg;3@s`jgcQijUvsp!ukYNB66i5>tr5CD6-`JyDygH$jdtZRNq2#jHBvvt|kE-UXv^ zYWF)@w2o0$1pzz`Qx{~U(xp1w zkcQqyH&exWb!gCv;F)CRN6u@LWa=`w{09H+La5@IzkuEH42vOB zs_M8XNyYx`aHqq4Ice0TfEVKvZL|^hKZ$|9Q4LV74!80|&`OPc$+f7t-Wy7K^E#b# z*YI-*M>(trq0%;gvEB?(pEXph(b{W19@V2;B(qY=cnvXP6_nSqmDi9%(~K4nxwb{3IR&&^SO_&eIqDe3U!oPMBorsS@D7R`@)a-7h1xl;I~PdaD7NE% z*cAZR6BU#;!TN|{i7LI@Z*Y>}iVe~As=#HsVshD&vx?e6g$bq!`nNiJa2TAtSX{C=6|XwKMJZ~0&FX_<^1LXj&M;Pm;jh3r9{e#>i?%h(Wsd<_8@d8bT3&ux8~;L zoij^*E!emdMDus5fw7U1CYG{*#pB242}mlW3$7^vx3H9c`z;ABU6UCXgB)|qN87NS zL(YPl+P`#8EAyTmP1F7Z;}*vK&r( zEt24sRJ3e62Hw3Jn=R-(8$Z`y))T(IWs>Q0@%sKX@|(3@m7cAzCVgm5fR+^QZYBeX z`oQXS4xb7PdZJw4 zwJInNT+;yUQf?GL+I((9nT2JGcv!-DmV5-nnRWG_iw>upEbCYV$7tz@T|^8mf-Qy5 zTRX>&{WrgFqvX%an8K7Bmeug6>uXNn-6Pnei7fbc(M#N6jxEpWqJFbItsz#2u7h|| z3n><{4)<1b6R-C`--}XcNx7(%*RfBLJN?LLF1-~Q6tv5uyZ@2A<`uOi-{um!)S+F^ zX%`T3oY((4*-CD~?^bp%qmq8=!P3VT{tAbF&0)7X70v9gV-yvVr|bc1W-ZG%x6$2iPQVl8OBx7vF1FWhQyE{M(THk z!-n!6jqB+*sgn$Q0K9bJ0sG%7d(#u2AIy6RgB>H+-wp?_@9@M?su5SpJgk^JyY?c z_fY-X|Iv0W93UDl9{xxXBCj!p(!Q6sXuK#w#SbiBrHyiu4eVqV8qF|U$LykajH^`4bA;+xos_(;mHBJqplH&ndr{UnMKax}(dA{_a=lG@94QPi)Ob07U zjA;LTQ&AVi4Gy`5*`L-%uN!nrek|Rz57UAVC|KHzX28T&BCVqA&Sz$)>Zs&5f_k=U zBT7R~DU+~f=c(%G{0+j2=q3L@&QroOROj{Ak(#Zn#mf@}c9y0^(WxHs7E%$=CXlwm zF1o86mXys=+PeRH=YpxZ^Ux^Z%}{D5o6xsfnLLAj;Ti^^ZBIaHi@yvi8F-K|C^VbH zM|B$4u9myH1(kD$$*H8E)n(louMl`j!VQiF79gd$9(gmGA{JS2Kfnl*LC?W2o;Z`O zdJt8&uoOw@;bOEkCIBIlKoPuCH3tqSjBfPVaV-1@=J zA?}-zNF1ftdpUf0}Esu?24=dQ$A?8u||NsF+l){TpFUtJQOwB4;dhx#phy zOnecnpbp0D&jcn@wKAPi!F2=r_I*s$xf6_3g5^mXz>%36V_K>yqejC(kuhzNr{d8! zDOx|l5^DXl= zQmNMr|CF;}gYB%#w_iTEXD;woaz!7&Kr2H-5()Bh;Kx+851Wr7$W7#ouGG~FY≺ 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 i%XX7|8{>Va0;ta zP^mdtTb&*2i<~*UEI1Lg2m-mrn|sDJUU94Z`V}qf3hW^}G(@(8CIsIlniDX6p;**U z)p9+wsH^^-e8*=i0OM3GvUbCgqCbN)lhF=sZM)Ke)(MS>YJuIa_*9OIBQyzJ#=8dn zI{+zR)8y83PibOC5nX48Q`1j6Sg>bn3%zdrca(GZjm$)!O2-c^N#g#34h6{h^7Y%I zE;t{6Rk)w2Ht^jTj5TYC7;G(ikM}@^vu?C_yuFF?ddXX@E9PKNlWF`Y%rw`HslL(` z-%*-*yXyIIxC z#CBKI6-GjpEqOa_+o@qz&WuDB<8q%8Y&4m6KQts%`)Tw$v`PGpT$9;P$R!dEFGW5t z>jW*`&JXB;BUi%XXI03;br?*g5I*(asS$M#XaJf|sBb4&9_19TVc_0qI86GEb?IPw zSK{)VR{=}!88)x?LtTN27TjkMJb+j@9Gb?+jFPS3o+*u>&_J>E}zM9pr^pY z%XVb|-bQwfu98276GPvzSlzYfh)}oWXQy%jRmp=3Sf2q6>Vn!4VF*(WIBPxd+)Aa5 z@k-UB;Dj$|f`DnmGpo2#h645zsCU+Qqcf_PqkSfS$r$G>du4hA12wm75K$g+Ys0&G~B<2Z!W(4$l7u# z9@QO`(h}8ya_0(T-2Q8h8X#6ygX@!9d>Q^k{Hnyi_%GZ7FO@{v4fw;09FS*CxUb3u z-P)ZWh6GW;G613jZ<&{gWknc``f!~f`2+_a(21y^5w^n$H!pLRB6h3@{wQ3f7v-Ve z>=%ytbU@4Br4RC`<-i$35UaNnB>VAKyOUHWZ}+BSnZVm&?LZg}Kg%~R981R0n_bv~ zG(}FYlJHtXm}IyA z=L{A_D{}J*@HmO77x&?dv5{4&VFHixy}o!7SsxXCSlG7}{tlrYa>+r#-o)4^=g@v> zwroHb4!c;l32nzD;#yIKxn7ycl?vXzoBjK9v7S6Crd_$1WzrYOzh1m zm$QlBR&$D&%onpXq!D^~%Md@jY_{M?Lid}D`pl#{1d`v-vFTTnr8LXMBK zH!oC|EctV}rtt!KeMRQB>w^W@!_g^um1<)~C$bJ}_TifsbIse>$^q{oHu8_`G*GKP zY=urMgpjAgolV33HzvP2!RFaA73aviOK4&5HqkUk^GfDUp3+rq&E}?qJ$yk#CSNF^ zn9-2h4Sk#XGB6c~L{1~@$$M(E*Z|MkO*i!}`?R`ZVWH!v%1TKXK+Y$91HHn1Z`0M@ zoBO&3%S9jwJ$+7H+EnrfZdf7~sOZiN)t{B4Vd#o$_zVcB_^82Q8WC(0@Cw!5rY6W> zl9OwIo&Y@o!1~+X2CUDnooQE74~V>v&lXyyH(0_#T&YC`e|rt|_BQVOmDR@t?$ zGIJ0nKq9ifvv zT|={6L~Pe<6%t}RfmNHq;uq*$=mXy~FNU=>7bZ8uSn$SW*fJ^_&VpV3H;trYF8LCA zNH;xGf3tTQhf*b3|2vklIm2mH=g5n) z;xctZg}iP|K1E>mo{_9ZdOd86SIQ!Y50(|GcPdmI#Msep)QHT~#!Adhd;w3);{Chn z%SpOM-Bgo>ch3x&nD=ipsCQ-8OM!i37&Iud9<7C^GQc?iOz;D(fa^>PXyBf$WR4}S zn=ZR)RVd!SK=a;LTT^(+{(m(7i4^x6R=129$E&SfPDBe8zy;i&!VxPYN+R9~FzBpO z^V>-h2IAc1sr|s59MGFuH2N_PD-0oMj4u!ZF+KDF+4fyDw9`O@Yg?j>+v4%moU(*4 zXdXhMkXjLHi|W?hS{v8&o-7wIw`=|tCcTlimsc@E?3hT=jzX6O5eB?;h`@ZY2A&Bd z^a}g>D-OOqzzK55L>w%q%e?!ctFvSywMYT>aHqCG9HoGgjy%!Vuimt$uMEDZK$H)o z%#kF-6T0o$X3ARk075{$zp$a2@jO?NP()zIFBc+8G5K@B)(NS6%aV@GnuEOsmkjX> zG*QVYt8$4~mF=ozx&w!@OLZAa-~K582fMzr!n~U}kZ5o#x*K;~Gr`RqB*O>J!Le`E ztk(TI)??EOz2DsU8>SWZdPvGD-xlegggRN( zD-*3XI!_`YR$iXeC^xEfhaPC2)oU z)6@u?x}wa8{{xpGqNP>uQ1zx=Eikp8#?#g)DAx`EAIYDNiIXo)mgME_e!k>C=CkOt ztfV4Yn_YD8pAL2(#$Q7vQJJP)Tl_KQ_(wRt(+!U{T9OVhuOgzmdiY+9h(!u+q*#X8 zVKC5$Vw>>M?u2cm(?0n@6RDF>gOJDPw$U?~od1*DDosQ}jvWlGRyz%{_ZtO#5aSbG zQAI=7brfI5Ew0bd2!)Jq>RSc(W?yc*aF$e9Rby1t-xK5<7*(gs%NSCa{UH!5JjwIF z5=4Xnbxy6B405olH@C~vDPQWrS9y49m_DQB0U0jy*=w(qPa?cE!*L8eNdpaPQ)qyA zTk)BY6jm1R<}}}uJbGqz*F93`kVU=cdc31XO&jh)&x+|y{U{kMH)9=&O234Q!p`*= zWLodlf9Y+71)Ig|!}Wrv{!xr1!(z%*!B^`E?G17x%5yJw8$p@ODjj2M}SaQxt}M7^#c3%ESp67RCTS*m46cgn;y)7I2% zTLAp3fWS#xU*_uxZt6RLvBo9;&{{UVo9LkZ5{u2C|2KfdJ>Db)$q5vGss(b2?vV?l zirto?xw+PiTD8-pUAh>)ffPj98*T92LPMdv0Up$@Q)ya@kQqZxtrr6M&#FJo4=fPa zDE{o>p^(R+qAYS>cEwejHDGhpF}SJ_sL7U2CC|1#_K{OXQUqn8A? zKD+Hqr{S~tE2%4XxaZuTd5*)o@dlDW6DxK0$l*Z%b{;g3$~ z=Wt;CAJSQ5%II$2@&Z-4Q)!K5{Uy5As3o#pn)OM@BNV4UDI4D=Ca%UI{M$NF?S^nS zGH}cckdB{g22wZ#$D*J|DmU0!X!2A)KHy*YE+BYpBs51z^vuX+qpGZ(#ulpkGh28# z-W|gz5zi^)N4?kZ3fqrUcU;HU5R%>y&1Zc3j0^~mg3dZJok)1}bsWa7S!6qPZlUk& zMD0@@lQIqA*ai?W92jF5F^Sp5C3IQ{`_R{>%5NNAq*)Y!dv%Og`x#M6JchO80!D>E zZx8B^9^6^nqW5$Zrj?>5%$$H?amw-?!wj>%`LftqIX4z7YFD=oUzWLI#|sT#rqg9+ z)~e(*5PG@mVk{3!ZbYq;jU@!fS=?C7WjbQi330CcWG`DY&9;)>AMY^hqqV~~Py0UE zQ2sE2Qu7F-l=fWggeB(|#gnxyI# zmS1F;l?dd5&L<1p*)jHH+xP1m5TwnqJ%Mbe=+WG;m2qN3eCT7Ah1pK-N{z)(0euKm zsO3Qhwa(NBTQg7d&V5t&T&cfyvLU>3o69 zRDF~3AhI??`$|4*o7F%yJ&stSMZJP~s`CJVBvq$6eq)+xuU{@y0uI|lk8ZE=k{*`( zquY(v+Ct`=IPN}?PF0Mf=uX~fg$@|PYI@cKVpdDV2W{^?fid5U+9RtyEQYbTB2QGa znaa&!cDP-V3vB(?mDyztRHM}Jcc4M5qyha%qITP}YhKGT%AHuZTy*1HuFm4#vO?(^ zpZPzjf(9tXDBh(q(02P^R6XBmXUK<>c4tM89Fv#yLSn7NeTmLi9~Xlff@WhOMBsc)GMHn%}m+Pn-EM_QE4Ok_c3zZT~wT}Hf3#!6YP zu4?hg%!llFt!~{G7a{NF?4vH@cN!xEC`@^z`M#H#B2bi}bg2XUFZweiRD3w!41nS# z(8Hn&d2v4q^tzR7B-GW8omb1=m}huF6Ki0^kCAb~P)I87z5+ zQ5%~;Hho#?thm4zYxzh&pEbYkwW)J4xFeFnMqvcRetjyiZ&ZU2d>Z_pIU#56zW{=F z%zq#cd{)_*xTl*skx&_FP z$VI8s5k*h3g3w<}z$AuElmyqaGcViQ;k|I-F_I`r&RJl66yb|K1^K1#g}%qc zvOX?B^+v8zR(ziA4U$w+*`c-P8Iw(r@~s6*y7;{wdSg<>N;n^dV{1eq%p?qY3yqEl zbaL3vY19dLIeGeT$XSYVL5Zzmsp_W2_v+hSV%El_ydoQ;QGsZ1Pz0+{>?06#m0 z{r^(hUBQ2wc+jREM>sD>Q~nZ}3S4+;kcd8BNNM{rwT8q99xZK? zjxZPB9yZ`{>7q+K7-$Pg-#STCxq8aA%5$R=F5pA2K+9qU1XaV}4UJN#sRq{b!nbK; zW*QA{-(ymM3xRmdo@>-W9pb?;iT` z;9Tz!3O|qy|8rKwxv^0EGX^J^L#}Vx3Q@D_AsNzf8KV$pZIt{gducBLm8{s9uLkCEu?k%nCQ{|zfHO0ZtN+ih)x zH^8pCxH9E%ospM$`;mKoKr;a`YqDGJV@UASUX&hm0gf)DqavYz<&oAbXWv(EN_6KE z=TwN5?V6tmAOT)ol9HU@J^E+d1e_r$jAyP*xY79fO(z@~4&bh1aDnb`NC8CZ*$(7q zjo#(xbY?&3Z zjsu-p*5vL-eTVI(iRKF^7}LG8_HT>5gGRV2nB~9b8weLG^O`ER^-ea?lH8fK%-p9& zg`1F$Fk77>_!4AI0xM)i3Ert73l44=NqV9D`WP`?)xqL@UcosRiIehIZVqt4*%^=76Z{Thz#s&d}3hkxIByCke!{pN*1CME@-+S zQ?ar*F&A;^X$hPSGi7xglKF`~`5SY^QRP`Ht7d!oBvjUtTKIO_AIU&tY18NC z&SX}rqeiMaGN(Zd$8?z@>Q!{{*cw^K8f!=03~e-Q&)*0rfZV+KoEO^Ui?49$Zv1aZ z7#ij~le~elHt)2C#5m&*oI(X#YUXzz^fzXLTb+M4B=vbwAKm`NLN}#C@{iK|p$0tp-{@ZQa@M=@`KGQ8s{ky{8J?CdOjzRl=IRe`dJi!+8S4-8#h90Fhyg>MXrlx#&|i>Vi&qSLL*apYsVyzWD1;Ag5J$ zpjUocg%We!l?IZ`&aSmYMIsHZWuyal{0DRafp>MVn>qbn-^gw!n9R{$z$b0lJmd8Y zbGH=@PfqBGkrOvdmTxm6wacf*c(?r2Cwu}Bs;K;mYo_TeN5tCP8r%zHDa&TUgpI>8 zsI+oEy)o00b*})nRhDhvt#K}{27x8y92?e#;7RM2p>L7KMnGb;nyld+UUi)lXc~02 ze@ce7_AO_&dB?^eU~XM|I8v7;D|*0(l*ohscP3S1FD>x>#Nww=qkL)uDmoTxa6~tG zh)9OtFtDC9@!uA(}Nzi$$_3d@e!a%f5bbMNAW`TpzIAaDvpbX$xOk)vx|272j)S75 zEsVLOuqnW0>g1;5!U&Jq%2AheZn8eraNHX7HCs#LF`K?h43G*Q_>DH0Oc|V{_5_fw zh2O##_t$2{T69>l(OTn)L+=eSfKTXL@U+o))?@a6=lvRSR`&|`%b;%hIjlTFjcH-a z^fM=zK-hL_(cj_X3j6-Lkb-*`u8W1w#}!g^`|_6w>_Qo(D>?B}5&tt!xU<}~LNMs4 z8+l_4^`8J-d(96C<5-6Hp&l<{Yv+oKcqGUru}Y!j5odIl+!Du`BDQ$3UtOUGua*ad z!4TR9m-i3c!fUc&K8`Jdy_OM7Q944L0Q|F%&4?kw+2s#ERhD8vT`P_X#|4|R3~b8A zFwFBIIQnGf?l$`J{juujiqR{*WVtOQ<4_Y)AZ?Gbcf^tLl_LkO4}fGi z%3Fi($uKh20v&xxRtc9~M1AfaRu^8XFqG;HIGX+hCPnYfdgc={95jS!L%3FGoaxb#Fnu`!c1u6TX=Ljz8f+-TYF#-4nfND^X<>Z~!uY8~yxU!BcCz zmf;jwTq%{@u`On{(D1DHX~%deQb*Nn*)}Iu$m=}DG_Y%c{JemMiJLA2+H@m0M!j%u z;0(p_Z&tnaU{NT`zA{KdwJdtag&e6NV{{h?2Q?2a(ZmTw(-SslggodXs)~L&23MIb zp^W-mgJX870AE4(#t1p!XH5VLB>@=RZn`x9@)gD6mYuMauTzm_LWbk{YY@JEp;x$+ zlstO$m>VW5LhFIMt19Lz-3)Z-tW{WYoXGSou29<1kU25enB0IC*gZmd{Gz8;3K?Tg zb7Rhj4T6543agndsM}nC2?op>98c`a>!*{ybd;V07SQ>+ye5aB!4+*8qgfP9aJ=$X zW`95fvB168dkl%Sj=BBxK9tgVefHyQ%ZrD^Ymf%*rpAb#!THEY1Rfot`6HI!gdLb; zEFbJM<%({+z=&p!myFebxRe$BRNOZ#Q1g^bnXN)mc&^C`A<3yYWeJf!eW0i~ffzL( zZbAQ6)n9#Gd!X!k0&;jF z-@2?pxGkeedfLzt_jBKHy7!;jf^^NUw>?jjId{AvFP_zGN?eccCbKeH-|BOBF-?%RsSAf8b!xJLu0PgpkhfT1Xfr1oMpi<>penIyNt? zq_gRG*AD&l{u3_0WztLL$yU?P2N4>5%li z>3^2vT#B*Fic88<9RP@_?OzhGCU49P&fC{j)lS^kvXCD1LU2uQ@oVW(Yh=*c&xr}Y zLi2X(-nrEY#`X9?p49{No*7&mOzzlgInZ%P+&pL=-~gSL!)W4=0{3il(vkX z;f=Q87M#` z!nC+a2qSrkKEe9)&7XXia1%wXiMISWt43qvB`i2|sWf7w)Q4lMp)P^C+;q4;wX#Fr z_}%S|x5@u;M^3o+UUF#DB@jDg4&a%m1mYJqKYIwe$IGUXJdGKgQFi8G=4ndvooVu- zfair#iOo&lvGMmNF7mS}ynNqtbO(o)z z>X)NytTzHNHEE|`$XJ-N=%qSc+4-WA_*~e$Hkdu` z#F(-mED0(FH#QWKxU^+nA(fkd#z4KDE_tLXdJA}ThF2&K4I-Jdh_25gF$d9cC?5`$ z20BwOAWuP_sD0ox6Zrtqw+BSsv_SOcdz;E%EQ*tkIo^+GfpBb7rbgtc3c`|sSD?Fb zZ^O7o1HsIdBaS)=gntLzDS^9x0E8iN3;#3&AE}h-7FQumfU!!Ka%+v$zQfc6ZD!B2tuurD$cJ6r6oXt*zz z2W{;9)aMSl&O1x)thgVn?$jdbF@B8O$34}?HT}EllkmKeGn}>&>4#*@JH9KGZ?2u$ zX`1G;O|TIm^N=M+Af)L8#qIf55hqJ(iBoxG=3}DFa4O*OHQN{L4RC%m%kA&9VwN)X z5wBn~vRs@LqNH6H4@?)iHI++_8{<9QX!JpdIs@ta{K0dIinz1kjvuQy}RSV>_<(Zki}j$HPT_gb-!27pX28HK7Ye#n-M z4x8okiVN#~eVQ7J8ihQ~oEl0inG<5I=kPhsM5`F_+or@X0)|i^^)k73vL@XhR>8JO zN4=&EE?JsN?bFA4$=As18u>kSHveV_6B%@U@0%b<)uIf_d!+YE$1B)_K5Var?B#!dU?c5e^e|#qr=|^b%&|5Z=#4g3tAwGN zA*|JzF|sBV@>4T_jTv^eHyX$=qVy%O+BIB<2aw2|ad}m@iMwm+it64#l^*$@+^+1l zLs(F>aP-a^L|}SKAjiFabFGxdf|w&Lr+h_G-?now*CV~~2=eZY2Icm3fE_u5CLZ5B z-8ww`?%9)zqf91Cy)h4M0KS|CzcoVstTdnE*&^dMeD)`40?^B zgro?IWxz^`+8#_aqt3aHG7?rlxq_bvlFQSQM=E(G=Jn~AIDw^;m?L_%Ill<2W#y?l6FFI3q*ASJrCY}P`!}p+|lEN)$5*X zMZ*S!i9-KigQ`5BxakjyI=={^0FBIYAGl4gK)YU=xW#RZ=<-7){9me>0F0*hSe3wbQk{c?^NDep*T3 zSDh~zxHf7eZaJ`+*@(feO%?Tia3I6C4q~h1W+P=am5;_pqqiwml-^_dsVE%JK9NDl zEw6cAdT*l)QUaGy@766hB<)oynt+5tK2e$>(S;&Kx%|gu>m7u zs7}@GKygCU#7#=Vv^wBfVKp*oEyjazCrUX-jf2(|W5;m27`VOu9z-Xwz~3l4(7uAh z>M<_&S~GKwX_Y&hk}Est<1Ek?YJ%AKF>u7`fCa`xKFk^KcO)$0n2Ig~>_yH+Fx){#< z+`3Yv<}v)VKWh-bOHeiSTD!r6SJ(RGa|%Q`yX(X=Tn}|9FNFq5heqRes=-C)zIQq9rJwN}fhFv*S;oBp}b&h9wf9^O0KqoPA#|^*@)85y^hfsOxgs^J;|+H zPa7?e3dQM)uw%=)r4sOoV|Y-_`Px-VYTN?8h6II1J4vln=I^q0;*o*WN|SuTKee=B z;VXCeHk|W%+*?9`{H8wo$&+Ef6PO&xOCnko?ZV(?z*_e2b-!tiO!S&XWjTb1&8>4g zL(71IfHzumi%O=JtE?x1O@3exT!|%>yp%%37Y_q0H43%J{gLZ z7mixx62p6Je|6y26`I4x-t9(vwMNDQ>qMT7L-g=funFY*a}fP*6GYxoJq{i$7GvgH z77=G*PSLIKe7$8;?7^k1&)KA$qiMi;)G#0<3?Xq{bZx56`29G|^+BdP5s}6Toox-^ zec_iQG(uIIkZ_AE$Eh==G_Jjh@h@d2Y?GFN3={PWtgtV^=J|YtVxd5bNX52f#Yu1r zb)r2v6MgS@i0+zrp9Z;FHOUjDFgNWC=*TFFIk?m3goI*r;;}@PA6?K}0Nth>J6jD> z!U*_^Nz&sCG|9>E4mANcKVmQAq##nJ?48`cXwz5hx;KM^r7Kte!ypir!nW0>QkfzO zmk-FnsG5jTLQ$`uh-rUo+ey5}Y~A1(p^pDl$ywzK+;G#87$NcF8~->rTe5YCB?`gx zQoz!rJOb-8m`h}|t?AzdT<9&ArAV>c4irVNQdnEPE(LZo8 zS#JeMn&xG3)>SIpy@3pAoav^DJ(RQMY9FEbLt{J9nIv`uKv-1;w`Y3ewoPPR8Gv*u zEH-78Pr{?}PrSJmNKTqmJ|uzrmf7Uly6hOp83y4!4KINR?ga#EVGAJ(d9y~s^K*Xj2MKy)O>f!JG5s${4L2vxyn8vH^r&aMiufA2~ zZz|en4_bb~Cog&q8bG z^|{+Enw)hS28J#fX_xzuTv6n?rMwXA;^lof3NGiNnyCq%nL{LduHZ98dkU#t40j}Ji(Y;1T?Gv$(6gNIW(|6gcmC|P z2Q^*dEc*>N4-ru0h<1YyH5`|(PNaQ+5O_BjI-`*wwM&|8IM^Q`Mj;C)GNex}CcKAF z?XA{xB3oiZQh}E`&@P~7=3qOTIaBNej6qx?t(yT6rPz7Ru{u)8mY3D9N6`?2zV|+= zk!+!5^uOYkYE_RMV{-BZ_@na2m=G-+n1|MjHElG=LGw%;yz{#*?RE@sgk3b!6%D#J zy*@^5{#9>1(dh0eiYmg)K$3lU7c?5IoEAJX-<2EB`E*2YmsKC->pArXqPzvd&v zpHIJ*zM|Bkvt-$>x*{>gPVE5a>b>3j5o|MffZc!KyTTUh;!=%~CG{+Ddt@q2bJ)kf zqN=z-Y^Y;5U|%GCbgFCmw{)7+5ceovRe7EK`&L)dnBxkN9@o?Ya1_`U1JQKTub0qK z4cIdMrFj+)27*#;k2keL+Pi**lGVSkk)2pl>vuiPFQ2G47!@cGvoRypU4eUk8NUO|GSQU4gFvl&8HXNhQi;yj(WMH7U; zXI;*4Gd1W3t++;|E)IwBl4@*75(Bzfkksjhf6zrMJ87a$O_+E^cF=fmLp4`uHR7kf zA`oWf(dO)NMJIZ5RsX#!!<1cYKAZ5XjXf$WK`bn~(@}U36v=j%Yo;}>Y91{&Q-y3q zQxdqyqKq$t1_l-_q9&*W{~(1HQh za8~^vy?$@{yrw}-`FLbLy%yU@2W;YU0Y`-p5O}7Y&qae9DT+Xc{g|homFTz37B&!qPH(UlP7|J+2vVq%JIkX@SX~=} z;+iS+ot_7Y4nqw4r>j$gt#Lg^6@6E;DveXJF*|HTCgl* z)2{k0klIP=EgI%Ezq_{hVcme?d+?5{q;7RkM;me)F1#WM>4v$1WNArZGO7ZO3TLzE z>xkbsUAj`26YtQKP>f7wbW557bUM76O?iLDcb&lUH%mbT5&hz^SPk>du7^nF|H7Y6 z?VyGK_>>BWl&F}M7ptr~z$+GAP*DPSv~HjpV70VG&v4O3n5bFP$2Z2QRX8CYQ!hAe zYbiNbrZVV$=-dA?x2Ha8G(PAi*lP9Sjv9qg^F@`kY&6ns-|2 z6aX;P^a+_t&KT5aW_4pW;xXYok|1FNSulL684s@vHWk^HtCtUJ3UWX7vh~~Iki5;Z zgWC$D?pt)L@!r_i6wlQd!+ozgA-Y0YC7@u0?IdQZP*L@1Eu&O(DLWn!QdDo9i1b?s zVtsL0=cM+76!gbp9@)c&f9FnEx(kSF*iwz`ZM$WoFE3)N=G^f*<|<)Ag0ml>ITfzr z_f#u9JaVum82N(zU5yX@jKTdk_B9)a`ORomp>=e_JTKN+;PyEUMB81pknQxwO&eD} zk`Xqvnn{{EJ;3DIT$OD<{s^Ac@(U+;cKdTSG@%$=0G%E z0rwPI4r6#o(8X>~)bS_nBWU{>vw>roi-CB#7%QBx_$^%?y}I~R(e9k2Antbi`VH>i zod3`Y@b$jUK$XB8o({{Br$Tmw3<>99r4{Sce$~hkcSg316O$wV0stbLUf%~lJ4Arw zDY-^YwcKvrGw&S_;hj*mR&Xh^#GZS^?~uFFcf0Y`t>C zuQPW$9wu9Hpo=4i-Ir3sbtMqJRI$(a2D5H;jtrIiI~OJ6o(ua;@kV^diy!QS!sIgz z3X%2-p~Md+Y#jeJII}p-9kURIKKpl#Mp6-w2D^{t$3u?K?+AQOBv4*}$%Y*qW>lpE zHuyWk;24eXu@xk@i&v8~68x5Bz8@e=5;+Vh+leHN1kQlW1)BVLBKsFy&m&6~oLPl_ z;I(61E~)G(CoL2Fy2`XW`z;I@Sj>^*LHfV(_aFcEp|;%(j%1|;vc27r5&u4K!$JOu z3~;fYs6T-+5w~#R<@$mns0^!5(dP;D3IS$=5;SP3JHVJ#E-xs7XHat3Lmo(u&|ZNg z(V1aqYr|@~t4e@lMAs23vs@4QV;@|9lYBht^^OR05N|b(fKCE|X1&R;M|FteSZ+-Z z%(yvjwqD2$ZS->(ELYyn0R_?nDVu*N^7`dRv@b#=kQSl%_87*-vWm4~z+4+gizq@n zfcX_laomSxYv_yZU24(GHVyim9-LxPgQVQ^LjrgiPH*QhZk@Xf zV0wBYLeea=R2BhoB3bvMW`76b1*hH;GWc@?j@5N?b|Ne>ot^m+xeP3YeV3CKmg5WSTE*@^UTMf@Cb_i< z5@r~}bsvjs~+6c6sHmqVr2pN4-az`;CQ@rbS( zPv$R=6`}4wV}m(J4aq`KJ6dYC8F3~_XafVQ>8SgEb>onxP6s^^__;cWha}`+Ue>(( zARCU&irB^Xk`l?lW0v!oCQ$b_31Cv>AGARE%l;t?vlu12m5%@Q1IsKx!W|@ z{9E}n0YI_bW^%Ggk8?VI2ld2qO8yICM0WC2bK~w~C_@$W`AnR0t*PvtVp*1WPCWm$ z)?$l(xfC@~hm}S6i5+m0k|!~zQ>y28Tq|!$=zFu4w~Uf-NOEJXTfw46DL(|Cng{Cy z=hK7->zDK}oWge;R)8lIcMai?!`Z048caKulq@w%iP)!(uP%1E-pp1>wdF@9-PPzp zeEmLrhtTW!Q`dp4keU|vQang{`lRUW!V0EsDh^LwZsvYv+Ig2{mryAm`1nwdj*DS zacbX4((k~sCkXd^H0Zd0{Thv91EszvdK4WyF>nGH{0X~Bw~{4*s~A@u;y@iBHfzgE zyaB%7*(-KIdM8%yt7gL^FtgaL!E8eUm8AjXAjrwBTES!{kaEl$dr7EVg2W93i~{zd zEnp^1Z9(xfUyWDh8wp^2x%bJf(Xed-+GkX`1V11c!^L+a+t6diTQa7NrxTXd zym6sdI%p5|l`hP~6*kG}{~hgHb)UOwS|kL0)Wt8mX#O5&e_O+iP9`oLUC*MDXVZE|{-#m7V=I#H3!nJm3akYTBx!OO=Rh?updP0&!A+EL_~Tx+tY zYb|B4G8vwnJf|bbHeX^9`sJILugxcqbCUr9g)FN0Fai~(Pre6o9-%sCI{#G*n$?hb zB81c78xA*eszr+oT|~w$6kk5?L10AMJb^&aH%Epd1`N?1#F+;LpUK2?G^7#v()wOh zp7m*G&e?p>QXUiu6R{vNCAS` z5+rXKUk^eEG$&$8IpU&p{t=_t(1006p$3czB?JxhQe}?qF?k7+VqKV?$L?t9&uWY5 zVbB`dZE>Qs=w5c<=|YBL5FVhb>Y6YZ%WLZ>k7}tiZW2&CP({5GY6(>XNuNltU0$FC zktRSN32X`O0beOyaS;>Z#dARQ9@De%He8v!q_HEofP*}5F@yPu$U+rGRAGW(B8rP_ z@ky9)5>gf^Va$&d$Bx_kFQ=ayiy`oXc%6pOqv56#EW@NmtbZ8w5kL^dj7hGwvN!!? zz>1O9G?S#Ylwt%xf+ZNN)YUIQ4qeGI%#`xcYn4sBR*d-UZ*iOR`_vsJK%{9TsAYLx z+Jvsd!=Cs9QLF_Sd(o`|(Df0?+Mm;N-Vp|$*ugV^of{(yh&On#A|?#nF>vNG9k4zM za*9N#Yrnd8r*UKf5rq%e?MsWcvkoLLm4-5n#OWAdV}tC;CI{N`?GNBC96ynbdB$GY zq*MCo6$_)tW|&ZbQ6QM-{^#C!^opVyQ8##3%%W}UY@XZOK3R8h0ruw)^xV#&^w?p| zsw=FXGiGAQ1&>|-6Y!mBD~}px6%vl{i(4!ldAvt#(*NcyBQ|>eHXI$=*giy<^9?>2 zdTquzS*2iWr?#w$Vp-a{k2E0%IAb_b_m_dkV-8TS$&ub#LzY3ltZ!l+0lZgp_|mGv z6CUYy&52yHzSkFRWA$1ibZH^@=)Gkw(w0r#WXA?q@62Q=TW!Ti+ZcGps9@nVOAy5t z#&GP`FYqU!8BLCtv9Tp`i@R7+I3ob59scGnr0≪bexl;IbB^z* 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
q)k#J);RIjlK0g4ws-S$0-aGcR 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 z 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�JELjXFro3fxc5epZ*Naw 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%0AEMCwD=liVS)c{wl};Ok)wraS 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

TQjSAQQ7!XidKuq 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

P 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

iUzzBF}pXR5@mwezJ`Q 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 z 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 z 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

0H=U;PLf&J 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 Zb4>S5<73!+LcVl2WPH1Xeuu)CbUcSct2{;a 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%0A?qoZXBAtNa>shC<0UW0pAZq*KIxU%eYs({`? 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%0D2buH=KMX!5UA6m>C=*c@4cS$v9B+2 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

- /// Creates a new BackButton control - /// - /// - /// The DOM element that will host the control. If this parameter is null, this constructor creates one for you. - /// - /// - /// An object that contains one or more property/value pairs to apply to the new control. Each property of the options object corresponds to - /// one of the control's properties or events. - /// - /// - /// A BackButton control. - /// - /// - /// - - // Check to make sure we weren't duplicated - if (element && element.winControl) { - throw new _ErrorFromName("WinJS.UI.BackButton.DuplicateConstruction", strings.duplicateConstruction); - } - - this._element = element || _Global.document.createElement("button"); - options = options || {}; - - this._initializeButton(); // This will also set the aria-label and tooltip - - this._disposed = false; - - // Remember ourselves - this._element.winControl = this; - - _Control.setOptions(this, options); - - // Add event handlers for this back button instance - this._buttonClickHandler = this._handleBackButtonClick.bind(this); - this._element.addEventListener('click', this._buttonClickHandler, false); - this._navigatedHandler = this._handleNavigatedEvent.bind(this); - Navigation.addEventListener('navigated', this._navigatedHandler, false); - - // Increment reference count / manage add global event handlers - singleton.addRef(); - }, { - - /// - element: { - get: function () { - return this._element; - } - }, - - dispose: function () { - /// - /// - /// Disposes this control. - /// - /// - /// - if (this._disposed) { - return; - } - this._disposed = true; // Mark this control as disposed. - - // Remove 'navigated' eventhandler for this BackButton - Navigation.removeEventListener('navigated', this._navigatedHandler, false); - - singleton.release(); // Decrement reference count. - - }, - - refresh: function () { - /// - /// - /// Sets the 'disabled' attribute to correct the value based on the current navigation history stack. - /// - /// - /// - if (Navigation.canGoBack) { - this._element.disabled = false; - } else { - this._element.disabled = true; - } - }, - - _initializeButton: function () { - //Final EN-US HTML should be: - // - //Button will automatically be disabled if WinJS.Navigation.history.canGoBack is false. - - // Verify the HTML is a button - if (this._element.tagName !== "BUTTON") { - throw new _ErrorFromName("WinJS.UI.BackButton.BadButtonElement", strings.badButtonElement); - } - - // Attach our css classes - _ElementUtilities.addClass(this._element, navigationBackButtonClass); - - // Attach disposable class. - _ElementUtilities.addClass(this._element, "win-disposable"); - - // Create inner glyph element - this._element.innerHTML = ''; - - // Set the 'disabled' property to the correct value based on the current navigation history stack. - this.refresh(); - - // Set Aria-label and native tooltip to the same localized string equivalent of "Back" - this._element.setAttribute("aria-label", strings.ariaLabel); - this._element.setAttribute("title", strings.ariaLabel); - - // Explicitly set type attribute to avoid the default '; - this._headerTabStopElement = this._headerElement.firstElementChild; - // The purpose of headerWrapperElement is to lay out its children in a flexbox. Ideally, this flexbox would - // be on headerTabStopElement. However, firefox lays out flexboxes with display:flex differently. - // Firefox bug 1014285 (Button with display:inline-flex doesn't layout properly) - // https://bugzilla.mozilla.org/show_bug.cgi?id=1014285 - this._headerWrapperElement = this._headerTabStopElement.firstElementChild; - this._headerContentElement = this._headerWrapperElement.firstElementChild; - this._headerChevronElement = this._headerWrapperElement.lastElementChild; - element.appendChild(this._headerElement); - - this._winKeyboard = new _KeyboardBehavior._WinKeyboard(this._headerElement); - - this._contentElement = _Global.document.createElement("DIV"); - this._contentElement.className = HubSection._ClassName.hubSectionContent; - this._contentElement.style.visibility = "hidden"; - element.appendChild(this._contentElement); - - // Reparent any existing elements inside the new hub section content element. - var elementToMove = this.element.firstChild; - while (elementToMove !== this._headerElement) { - var nextElement = elementToMove.nextSibling; - this._contentElement.appendChild(elementToMove); - elementToMove = nextElement; - } - - this._processors = [ControlProcessor.processAll]; - - _Control.setOptions(this, options); - }, { - /// - element: { - get: function () { - return this._element; - } - }, - /// - /// Gets or sets a value that specifies whether the header is static. Set this value to true to disable clicks and other interactions. - /// - /// - isHeaderStatic: { - get: function () { - return this._isHeaderStatic; - }, - set: function (value) { - this._isHeaderStatic = value; - if (!this._isHeaderStatic) { - this._headerTabStopElement.setAttribute("role", "link"); - _ElementUtilities.addClass(this._headerTabStopElement, HubSection._ClassName.hubSectionInteractive); - } else { - this._headerTabStopElement.setAttribute("role", "heading"); - _ElementUtilities.removeClass(this._headerTabStopElement, HubSection._ClassName.hubSectionInteractive); - } - } - }, - /// - /// Gets the DOM element that hosts the HubSection's content. - /// - /// - contentElement: { - get: function () { - return this._contentElement; - } - }, - /// - /// Get or set the HubSection's header. After you set this property, the Hub renders the header again. - /// - /// - header: { - get: function () { - return this._header; - }, - set: function (value) { - // Render again even if it is equal to itself. - this._header = value; - this._renderHeader(); - } - }, - _setHeaderTemplate: function HubSection_setHeaderTemplate(template) { - this._template = _ElementUtilities._syncRenderer(template); - this._renderHeader(); - }, - _renderHeader: function HubSection_renderHeader() { - if (this._template) { - _Dispose._disposeElement(this._headerContentElement); - _ElementUtilities.empty(this._headerContentElement); - this._template(this, this._headerContentElement); - } - }, - _process: function HubSection_process() { - var that = this; - - this._processed = (this._processors || []).reduce(function (promise, processor) { - return promise.then(function () { - return processor(that.contentElement); - }); - }, this._processed || Promise.as()); - this._processors = null; - - return this._processed; - }, - dispose: function HubSection_dispose() { - /// - /// - /// Disposes this control. - /// - /// - /// - if (this._disposed) { - return; - } - this._disposed = true; - this._processors = null; - - _Dispose._disposeElement(this._headerContentElement); - _Dispose.disposeSubTree(this.contentElement); - } - }, { - // Names of classes used by the HubSection. - _ClassName: { - hubSection: "win-hub-section", - hubSectionHeader: "win-hub-section-header", - hubSectionHeaderTabStop: "win-hub-section-header-tabstop", - hubSectionHeaderWrapper: "win-hub-section-header-wrapper", - hubSectionInteractive: "win-hub-section-header-interactive", - hubSectionHeaderContent: "win-hub-section-header-content", - hubSectionHeaderChevron: "win-hub-section-header-chevron", - hubSectionContent: "win-hub-section-content" - }, - _Constants: { - ellipsisTypeClassName: "win-type-ellipsis", - xLargeTypeClassName: "win-type-x-large" - }, - isDeclarativeControlContainer: _BaseUtils.markSupportedForProcessing(function (section, callback) { - if (callback === ControlProcessor.processAll) { - return; - } - - section._processors = section._processors || []; - section._processors.push(callback); - - // Once processed the first time synchronously queue up new processors as they come in - if (section._processed) { - section._process(); - } - }) - }); - - return HubSection; - }) - }); - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/Hub',[ - '../Core/_Global', - '../Core/_Base', - '../Core/_BaseUtils', - '../Core/_ErrorFromName', - '../Core/_Events', - '../Core/_Log', - '../Core/_Resources', - '../Core/_WriteProfilerMark', - '../Animations', - '../Animations/_TransitionAnimation', - '../BindingList', - '../ControlProcessor', - '../Promise', - '../_Signal', - '../Scheduler', - '../Utilities/_Control', - '../Utilities/_ElementUtilities', - '../Utilities/_Hoverable', - '../Utilities/_UI', - './Hub/_Section', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls' - ], function hubInit(_Global, _Base, _BaseUtils, _ErrorFromName, _Events, _Log, _Resources, _WriteProfilerMark, Animations, _TransitionAnimation, BindingList, ControlProcessor, Promise, _Signal, Scheduler, _Control, _ElementUtilities, _Hoverable, _UI, _Section) { - "use strict"; - - _Base.Namespace.define("WinJS.UI", { - /// - /// - /// Displays sections of content. - /// - /// - /// - /// - /// - /// - ///
HubSection Content
- /// ]]>
- /// Raised when the Hub is about to play an entrance or a transition animation. - /// Raised when a header is invoked. - /// Raised when the loading state changes. - /// The entire Hub control. - /// The progress indicator for the Hub. - /// The viewport of the Hub. - /// The scrollable region of the Hub. - /// - /// - /// - Hub: _Base.Namespace._lazy(function () { - var Key = _ElementUtilities.Key; - - function hubDefaultHeaderTemplate(section) { - var element = _Global.document.createTextNode(typeof section.header === "object" ? JSON.stringify(section.header) : ('' + section.header)); - return element; - } - - var createEvent = _Events._createEventProperty; - var eventNames = { - contentAnimating: "contentanimating", - headerInvoked: "headerinvoked", - loadingStateChanged: "loadingstatechanged" - }; - - // Delay time before progress dots are shown when loading hub section(s) on screen. - var progressDelay = 500; - - var verticalNames = { - scrollPos: "scrollTop", - scrollSize: "scrollHeight", - offsetPos: "offsetTop", - offsetSize: "offsetHeight", - oppositeOffsetSize: "offsetWidth", - marginStart: "marginTop", - marginEnd: "marginBottom", - borderStart: "borderTopWidth", - borderEnd: "borderBottomWidth", - paddingStart: "paddingTop", - paddingEnd: "paddingBottom" - }; - var rtlHorizontalNames = { - scrollPos: "scrollLeft", - scrollSize: "scrollWidth", - offsetPos: "offsetLeft", - offsetSize: "offsetWidth", - oppositeOffsetSize: "offsetHeight", - marginStart: "marginRight", - marginEnd: "marginLeft", - borderStart: "borderRightWidth", - borderEnd: "borderLeftWidth", - paddingStart: "paddingRight", - paddingEnd: "paddingLeft" - }; - var ltrHorizontalNames = { - scrollPos: "scrollLeft", - scrollSize: "scrollWidth", - offsetPos: "offsetLeft", - offsetSize: "offsetWidth", - oppositeOffsetSize: "offsetHeight", - marginStart: "marginLeft", - marginEnd: "marginRight", - borderStart: "borderLeftWidth", - borderEnd: "borderRightWidth", - paddingStart: "paddingLeft", - paddingEnd: "paddingRight" - }; - - var Hub = _Base.Class.define(function Hub_ctor(element, options) { - /// - /// - /// Creates a new Hub control. - /// - /// - /// The DOM element that hosts the Hub control. - /// - /// - /// An object that contains one or more property/value pairs to apply to the new control. - /// Each property of the options object corresponds to one of the control's properties or events. - /// Event names must begin with "on". For example, to provide a handler for the contentanimating event, - /// add a property named "oncontentanimating" to the options object and set its value to the event handler. - /// - /// - /// The new Hub. - /// - /// - /// - element = element || _Global.document.createElement("DIV"); - options = options || {}; - - if (element.winControl) { - throw new _ErrorFromName("WinJS.UI.Hub.DuplicateConstruction", strings.duplicateConstruction); - } - - this._id = element.id || _ElementUtilities._uniqueID(element); - this._writeProfilerMark("constructor,StartTM"); - - this._windowKeyDownHandlerBound = this._windowKeyDownHandler.bind(this); - _Global.addEventListener('keydown', this._windowKeyDownHandlerBound); - - // Attaching JS control to DOM element - element.winControl = this; - this._element = element; - _ElementUtilities.addClass(this.element, Hub._ClassName.hub); - _ElementUtilities.addClass(this.element, "win-disposable"); - - this._viewportElement = _Global.document.createElement("DIV"); - this._viewportElement.className = Hub._ClassName.hubViewport; - this._element.appendChild(this._viewportElement); - this._viewportElement.setAttribute("role", "group"); - this._viewportElement.setAttribute("aria-label", strings.hubViewportAriaLabel); - - this._surfaceElement = _Global.document.createElement("DIV"); - this._surfaceElement.className = Hub._ClassName.hubSurface; - this._viewportElement.appendChild(this._surfaceElement); - - // Start invisible so that you do not see the content loading until the sections are ready. - this._visible = false; - this._viewportElement.style.opacity = 0; - - if (!options.orientation) { - this._orientation = _UI.Orientation.horizontal; - _ElementUtilities.addClass(this.element, Hub._ClassName.hubHorizontal); - } - - this._fireEntrance = true; - this._animateEntrance = true; - this._loadId = 0; - this.runningAnimations = new Promise.wrap(); - this._currentIndexForSezo = 0; - - // This internally assigns this.sections which causes section to be used (even from options) before - // scrollPosition or sectionOnScreen. - this._parse(); - - _Control.setOptions(this, options); - - _ElementUtilities._addEventListener(this.element, "focusin", this._focusin.bind(this), false); - this.element.addEventListener("keydown", this._keyDownHandler.bind(this)); - this.element.addEventListener("click", this._clickHandler.bind(this)); - this._resizeHandlerBound = this._resizeHandler.bind(this); - this.element.addEventListener("mselementresize", this._resizeHandlerBound); - _ElementUtilities._resizeNotifier.subscribe(this.element, this._resizeHandlerBound); - this._viewportElement.addEventListener("scroll", this._scrollHandler.bind(this)); - this._surfaceElement.addEventListener("mselementresize", this._contentResizeHandler.bind(this)); - - this._handleSectionChangedBind = this._handleSectionChanged.bind(this); - this._handleSectionInsertedBind = this._handleSectionInserted.bind(this); - this._handleSectionMovedBind = this._handleSectionMoved.bind(this); - this._handleSectionRemovedBind = this._handleSectionRemoved.bind(this); - this._handleSectionReloadBind = this._handleSectionReload.bind(this); - - this._refresh(); - - this._writeProfilerMark("constructor,StopTM"); - }, { - /// - element: { - get: function () { - return this._element; - } - }, - /// - /// Gets or sets the orientation of sections within the Hub. - /// - /// - orientation: { - get: function () { - return this._orientation; - }, - set: function (value) { - if (value === this._orientation) { - return; - } - this._measured = false; - // clear existing scroll before we switch orientation - if (this._names) { // handle setting orientation before we measure - var newScrollPos = {}; - newScrollPos[this._names.scrollPos] = 0; - _ElementUtilities.setScrollPosition(this._viewportElement, newScrollPos); - } - if (value === _UI.Orientation.vertical) { - _ElementUtilities.removeClass(this.element, Hub._ClassName.hubHorizontal); - _ElementUtilities.addClass(this.element, Hub._ClassName.hubVertical); - } else { - value = _UI.Orientation.horizontal; - _ElementUtilities.removeClass(this.element, Hub._ClassName.hubVertical); - _ElementUtilities.addClass(this.element, Hub._ClassName.hubHorizontal); - } - this._orientation = value; - Scheduler.schedule(this._updateSnapList.bind(this), Scheduler.Priority.idle); - } - }, - /// - /// Gets or sets the WinJS.Binding.List of HubSection objects that belong to this Hub. - /// - /// - sections: { - get: function () { - if (this._pendingSections) { - return this._pendingSections; - } - return this._sections; - }, - set: function (value) { - var resetScrollPosition = !this._pendingSections; - this._pendingSections = value; - this._refresh(); - if (resetScrollPosition) { - this.scrollPosition = 0; - } - } - }, - /// - /// Gets or sets the WinJS.Binding.Template or template function that creates the DOM elements - /// which represent the header for each HubSection. Each header can - /// contain multiple DOM elements, but we recommend that it have a single - /// root element. - /// - /// - headerTemplate: { - get: function () { - if (this._pendingHeaderTemplate) { - return this._pendingHeaderTemplate; - } - - if (!this._headerTemplate) { - this._headerTemplate = hubDefaultHeaderTemplate; - } - - return this._headerTemplate; - }, - set: function (value) { - this._pendingHeaderTemplate = value || hubDefaultHeaderTemplate; - this._refresh(); - } - }, - /// - /// Gets or sets the position of the Hub's scrollbar. - /// - /// - scrollPosition: { - get: function () { - if (+this._pendingScrollLocation === this._pendingScrollLocation) { - return this._pendingScrollLocation; - } - - this._measure(); - return this._scrollPosition; - }, - set: function (value) { - value = Math.max(0, value); - if (this._pendingRefresh) { - // Unable to constrain length because sections may have changed. - this._pendingScrollLocation = value; - this._pendingSectionOnScreen = null; - } else { - this._measure(); - var targetScrollPos = Math.max(0, Math.min(this._scrollLength - this._viewportSize, value)); - this._scrollPosition = targetScrollPos; - var newScrollPos = {}; - newScrollPos[this._names.scrollPos] = targetScrollPos; - _ElementUtilities.setScrollPosition(this._viewportElement, newScrollPos); - } - } - }, - - /// - /// Gets or sets the index of first section in view. This property is useful for restoring a previous view when your app launches or resumes. - /// - /// - sectionOnScreen: { - get: function () { - if (+this._pendingSectionOnScreen === this._pendingSectionOnScreen) { - return this._pendingSectionOnScreen; - } - - this._measure(); - for (var i = 0; i < this._sectionSizes.length; i++) { - var sectionSize = this._sectionSizes[i]; - if ((sectionSize.offset + sectionSize.size - sectionSize.borderEnd - sectionSize.paddingEnd) > (this._scrollPosition + this._startSpacer + sectionSize.borderStart + sectionSize.paddingStart)) { - return i; - } - } - return -1; - }, - set: function (value) { - value = Math.max(0, value); - if (this._pendingRefresh) { - this._pendingSectionOnScreen = value; - this._pendingScrollLocation = null; - } else { - this._measure(); - if (value >= 0 && value < this._sectionSizes.length) { - this._scrollToSection(value); - } - } - } - }, - /// - /// Gets or sets the index of first section at least partially in view. Use for animations. - /// - /// - indexOfFirstVisible: { - get: function () { - this._measure(); - for (var i = 0; i < this._sectionSizes.length; i++) { - var sectionSize = this._sectionSizes[i]; - if ((sectionSize.offset + sectionSize.size - sectionSize.borderEnd - sectionSize.paddingEnd) > this._scrollPosition) { - return i; - } - } - return -1; - } - }, - /// - /// Gets or sets the index of last section at least partially in view. Use for animations. - /// - /// - indexOfLastVisible: { - get: function () { - this._measure(); - for (var i = this._sectionSizes.length - 1; i >= 0; i--) { - var sectionSize = this._sectionSizes[i]; - if ((sectionSize.offset + sectionSize.paddingStart + sectionSize.borderStart) < (this._scrollPosition + this._viewportSize)) { - return i; - } - } - return -1; - } - }, - - /// - /// Raised when the user clicks on an interactive header. - /// - /// - onheaderinvoked: createEvent(eventNames.headerInvoked), - - /// - /// Raised when the loadingState of the Hub changes. - /// - /// - onloadingstatechanged: createEvent(eventNames.loadingStateChanged), - - /// - /// Raised when Hub is about to play entrance, contentTransition, insert, or remove animations. - /// - /// - oncontentanimating: createEvent(eventNames.contentAnimating), - - _refresh: function hub_refresh() { - if (this._pendingRefresh) { - return; - } - - this._loadId++; - this._setState(Hub.LoadingState.loading); - // This is to coalesce property setting operations such as sections and scrollPosition. - this._pendingRefresh = true; - - Scheduler.schedule(this._refreshImpl.bind(this), Scheduler.Priority.high); - }, - _refreshImpl: function hub_refreshImpl() { - if (this._disposed) { - return; - } - - var fadeOutAnimation = Promise.wrap(); - if (this._pendingSections) { - this._animateEntrance = true; - this._fireEntrance = !this._visible; - if (!this._fireEntrance) { - this._visible = false; - this._viewportElement.style.opacity = 0; - - if (_TransitionAnimation.isAnimationEnabled()) { - var animateTransition = this._fireEvent(Hub._EventName.contentAnimating, { - type: Hub.AnimationType.contentTransition - }); - - if (animateTransition) { - this._viewportElement.style["-ms-overflow-style"] = "none"; - fadeOutAnimation = Animations.fadeOut(this._viewportElement).then(function () { - this._viewportElement.style["-ms-overflow-style"] = ""; - }.bind(this)); - } - this._animateEntrance = animateTransition; - } - } - } - - fadeOutAnimation.done(this._applyProperties.bind(this)); - }, - _applyProperties: function hub_applyProperties() { - if (this._disposed) { - return; - } - - this._pendingRefresh = false; - - var needsToLoadSections = false; - if (this._pendingSections) { - needsToLoadSections = true; - this._updateEvents(this._sections, this._pendingSections); - this._sections = this._pendingSections; - this._pendingSections = null; - // Remove any declaratively specified hub sections before attachSections. - while (this.element.firstElementChild !== this._viewportElement) { - var toRemove = this.element.firstElementChild; - toRemove.parentNode.removeChild(toRemove); - } - _ElementUtilities.empty(this._surfaceElement); - } - - if (this._pendingHeaderTemplate) { - this._headerTemplate = this._pendingHeaderTemplate; - this._pendingHeaderTemplate = null; - } - - this._assignHeaderTemplate(); - - if (needsToLoadSections) { - this._attachSections(); - } - - // Scroll after headers are rendered and sections are attached so the scroll thumb is correct. - if (+this._pendingSectionOnScreen === this._pendingSectionOnScreen) { - // If there are both pending section on screen and scroll location use section on screen. - this.sectionOnScreen = this._pendingSectionOnScreen; - } else if (+this._pendingScrollLocation === this._pendingScrollLocation) { - this.scrollPosition = this._pendingScrollLocation; - } else { - // Sections reset without sectionOnScreen or scrollPosition APIs. - this.scrollPosition = 0; - } - - this._pendingSectionOnScreen = null; - this._pendingScrollLocation = null; - - // Using current (or new) scroll location load the sections - this._setState(Hub.LoadingState.loading); - this._loadSections(); - }, - _handleSectionChanged: function hub_handleSectionChanged(ev) { - // Change is triggered by binding list setAt() API. - if (this._pendingSections) { - return; - } - - var newSection = ev.detail.newValue; - var oldSection = ev.detail.oldValue; - newSection._setHeaderTemplate(this.headerTemplate); - if (newSection.element !== oldSection.element) { - if (newSection.element.parentNode === this._surfaceElement) { - throw new _ErrorFromName("WinJS.UI.Hub.DuplicateSection", strings.duplicateSection); - } - - this._surfaceElement.insertBefore(newSection.element, oldSection.element); - this._surfaceElement.removeChild(oldSection.element); - this._measured = false; - - this._setState(Hub.LoadingState.loading); - this._loadSections(); - } - }, - _handleSectionInserted: function hub_handleSectionInserted(ev) { - // Insert is triggered by binding list insert APIs such as splice(), push(), and unshift(). - if (this._pendingSections) { - return; - } - - var index = ev.detail.index; - var section = ev.detail.value; - - if (section._animation) { - section._animation.cancel(); - } - - var animation; - var result = this._fireEvent(Hub._EventName.contentAnimating, { - type: Hub.AnimationType.insert, - index: index, - section: section - }); - - if (result) { - - var affectedElements = []; - - for (var i = index + 1; i < this.sections.length; i++) { - affectedElements.push(this.sections.getAt(i).element); - } - - animation = new Animations._createUpdateListAnimation([section.element], [], affectedElements); - } - - if (section.element.parentNode === this._surfaceElement) { - throw new _ErrorFromName("WinJS.UI.Hub.DuplicateSection", strings.duplicateSection); - } - - section._setHeaderTemplate(this.headerTemplate); - if (index < this.sections.length - 1) { - this._surfaceElement.insertBefore(section.element, this.sections.getAt(index + 1).element); - } else { - this._surfaceElement.appendChild(section.element); - } - this._measured = false; - - if (animation) { - var insertAnimation = animation.execute(); - this.runningAnimations = Promise.join([this.runningAnimations, insertAnimation]); - } - - this._setState(Hub.LoadingState.loading); - this._loadSections(); - }, - _handleSectionMoved: function hub_handleSectionMoved(ev) { - // Move is triggered by binding list move() API. - if (this._pendingSections) { - return; - } - - var newIndex = ev.detail.newIndex; - var section = ev.detail.value; - - if (newIndex < this.sections.length - 1) { - this._surfaceElement.insertBefore(section.element, this.sections.getAt(newIndex + 1).element); - } else { - this._surfaceElement.appendChild(section.element); - } - this._measured = false; - - this._setState(Hub.LoadingState.loading); - this._loadSections(); - }, - _handleSectionRemoved: function hub_handleSectionRemoved(ev) { - // Removed is triggered by binding list removal APIs such as splice(), pop(), and shift(). - if (this._pendingSections) { - return; - } - - var section = ev.detail.value; - var index = ev.detail.index; - - var animationPromise = Promise.wrap(); - var result = this._fireEvent(Hub._EventName.contentAnimating, { - type: Hub.AnimationType.remove, - index: index, - section: section - }); - - if (result) { - var affectedElements = []; - - for (var i = index; i < this.sections.length; i++) { - affectedElements.push(this.sections.getAt(i).element); - } - - var animation = new Animations._createUpdateListAnimation([], [section.element], affectedElements); - - this._measure(); - var offsetTop = section.element.offsetTop; - var offsetLeft = section.element.offsetLeft; - section.element.style.position = "absolute"; - section.element.style.top = offsetTop; - section.element.style.left = offsetLeft; - section.element.style.opacity = 0; - this._measured = false; - - animationPromise = animation.execute().then(function () { - section.element.style.position = ""; - section.element.style.top = ""; - section.element.style.left = ""; - section.element.style.opacity = 1; - }.bind(this)); - } - - animationPromise.done(function () { - if (!this._disposed) { - this._surfaceElement.removeChild(section.element); - this._measured = false; - } - }.bind(this)); - - // Store animation promise in case it is inserted before remove animation finishes. - section._animation = animationPromise; - this.runningAnimations = Promise.join([this.runningAnimations, animationPromise]); - - this._setState(Hub.LoadingState.loading); - this._loadSections(); - }, - _handleSectionReload: function hub_handleSectionReload() { - // Reload is triggered by large operations on the binding list such as reverse(). This causes - // _pendingSections to be true which ignores future insert/remove/modified/moved events until the new - // sections list is applied. - this.sections = this.sections; - }, - _updateEvents: function hub_updateEvents(oldSections, newSections) { - if (oldSections) { - oldSections.removeEventListener("itemchanged", this._handleSectionChangedBind); - oldSections.removeEventListener("iteminserted", this._handleSectionInsertedBind); - oldSections.removeEventListener("itemmoved", this._handleSectionMovedBind); - oldSections.removeEventListener("itemremoved", this._handleSectionRemovedBind); - oldSections.removeEventListener("reload", this._handleSectionReloadBind); - } - - if (newSections) { - newSections.addEventListener("itemchanged", this._handleSectionChangedBind); - newSections.addEventListener("iteminserted", this._handleSectionInsertedBind); - newSections.addEventListener("itemmoved", this._handleSectionMovedBind); - newSections.addEventListener("itemremoved", this._handleSectionRemovedBind); - newSections.addEventListener("reload", this._handleSectionReloadBind); - } - }, - _attachSections: function hub_attachSections() { - this._measured = false; - for (var i = 0; i < this.sections.length; i++) { - var section = this._sections.getAt(i); - if (section._animation) { - section._animation.cancel(); - } - if (section.element.parentNode === this._surfaceElement) { - throw new _ErrorFromName("WinJS.UI.Hub.DuplicateSection", strings.duplicateSection); - } - this._surfaceElement.appendChild(section.element); - } - }, - _assignHeaderTemplate: function hub_assignHeaderTemplate() { - this._measured = false; - for (var i = 0; i < this.sections.length; i++) { - var section = this._sections.getAt(i); - section._setHeaderTemplate(this.headerTemplate); - } - }, - _loadSection: function hub_loadSection(index) { - var section = this._sections.getAt(index); - return section._process().then(function resetVisibility() { - var style = section.contentElement.style; - if (style.visibility !== "") { - style.visibility = ""; - } - }); - }, - _loadSections: function hub_loadSections() { - // Used to know if another load has interrupted this one. - this._loadId++; - var loadId = this._loadId; - var that = this; - var onScreenItemsAnimatedPromise = Promise.wrap(); - var sectionIndicesToLoad = []; - var allSectionsLoadedPromise = Promise.wrap(); - - function loadNextSectionAfterPromise(promise) { - promise.then(function () { - Scheduler.schedule(loadNextSection, Scheduler.Priority.idle); - }); - } - - function loadNextSection() { - if (loadId === that._loadId && !that._disposed) { - if (sectionIndicesToLoad.length) { - var index = sectionIndicesToLoad.shift(); - var loadedPromise = that._loadSection(index); - loadNextSectionAfterPromise(loadedPromise); - } else { - allSectionsLoadedSignal.complete(); - } - } - } - - if (!this._showProgressPromise) { - this._showProgressPromise = Promise.timeout(progressDelay).then(function () { - if (this._disposed) { - return; - } - - if (!this._progressBar) { - this._progressBar = _Global.document.createElement("progress"); - _ElementUtilities.addClass(this._progressBar, Hub._ClassName.hubProgress); - this._progressBar.max = 100; - } - if (!this._progressBar.parentNode) { - this.element.insertBefore(this._progressBar, this._viewportElement); - } - this._showProgressPromise = null; - }.bind(this), function () { - this._showProgressPromise = null; - }.bind(this)); - } - - if (this.sections.length) { - var allSectionsLoadedSignal = new _Signal(); - allSectionsLoadedPromise = allSectionsLoadedSignal.promise; - // Synchronously load the sections on screen. - var synchronousProcessPromises = []; - var start = Math.max(0, this.indexOfFirstVisible); - var end = Math.max(0, this.indexOfLastVisible); - for (var i = start; i <= end; i++) { - synchronousProcessPromises.push(this._loadSection(i)); - } - - // Determine the order to load the rest of the sections. - start--; - end++; - while (start >= 0 || end < this.sections.length) { - if (end < this.sections.length) { - sectionIndicesToLoad.push(end); - end++; - } - if (start >= 0) { - sectionIndicesToLoad.push(start); - start--; - } - } - - var onScreenSectionsLoadedPromise = Promise.join(synchronousProcessPromises); - - // In case there are overlapping load calls - onScreenSectionsLoadedPromise.done(function () { - if (loadId === this._loadId && !that._disposed) { - if (this._showProgressPromise) { - this._showProgressPromise.cancel(); - } - - if (this._progressBar && this._progressBar.parentNode) { - this._progressBar.parentNode.removeChild(this._progressBar); - } - - Scheduler.schedule(function Hub_entranceAnimation() { - if (loadId === this._loadId && !that._disposed) { - if (!this._visible) { - this._visible = true; - this._viewportElement.style.opacity = 1; - - if (this._animateEntrance && _TransitionAnimation.isAnimationEnabled()) { - var eventDetail = { - type: Hub.AnimationType.entrance - }; - - if (!this._fireEntrance || this._fireEvent(Hub._EventName.contentAnimating, eventDetail)) { - this._viewportElement.style["-ms-overflow-style"] = "none"; - onScreenItemsAnimatedPromise = Animations.enterContent(this._viewportElement, [{ left: this._fireEntrance ? "100px" : "40px", top: "0px", rtlflip: true }], { mechanism: "transition" }).then(function () { - this._viewportElement.style["-ms-overflow-style"] = ""; - }.bind(this)); - } - } - if (this._element === _Global.document.activeElement) { - this._moveFocusIn(this.sectionOnScreen); - } - } - } - }, Scheduler.Priority.high, this, "WinJS.UI.Hub.entranceAnimation"); - } - }.bind(this)); - - loadNextSectionAfterPromise(onScreenSectionsLoadedPromise); - } else { - if (this._showProgressPromise) { - this._showProgressPromise.cancel(); - } - - if (this._progressBar && this._progressBar.parentNode) { - this._progressBar.parentNode.removeChild(this._progressBar); - } - } - - Promise.join([this.runningAnimations, onScreenItemsAnimatedPromise, allSectionsLoadedPromise]).done(function () { - if (loadId === this._loadId && !that._disposed) { - this.runningAnimations = Promise.wrap(); - this._setState(Hub.LoadingState.complete); - Scheduler.schedule(this._updateSnapList.bind(this), Scheduler.Priority.idle); - } - }.bind(this)); - }, - /// - loadingState: { - get: function () { - return this._loadingState; - } - }, - _setState: function Hub_setState(state) { - if (state !== this._loadingState) { - this._writeProfilerMark("loadingStateChanged:" + state + ",info"); - this._loadingState = state; - var eventObject = _Global.document.createEvent("CustomEvent"); - eventObject.initCustomEvent(Hub._EventName.loadingStateChanged, true, false, { loadingState: state }); - this._element.dispatchEvent(eventObject); - } - }, - _parse: function hub_parse() { - var hubSections = []; - var hubSectionEl = this.element.firstElementChild; - - while (hubSectionEl !== this._viewportElement) { - ControlProcessor.processAll(hubSectionEl); - - var hubSectionContent = hubSectionEl.winControl; - if (hubSectionContent) { - hubSections.push(hubSectionContent); - } else { - throw new _ErrorFromName("WinJS.UI.Hub.InvalidContent", strings.invalidContent); - } - - var nextSectionEl = hubSectionEl.nextElementSibling; - hubSectionEl = nextSectionEl; - } - - this.sections = new BindingList.List(hubSections); - }, - _fireEvent: function hub_fireEvent(type, detail) { - // Returns true if ev.preventDefault() was not called - var event = _Global.document.createEvent("CustomEvent"); - event.initCustomEvent(type, true, true, detail); - return this.element.dispatchEvent(event); - }, - - _findHeaderTabStop: function hub_findHeaderTabStop(element) { - if (element.parentNode) { - if (_ElementUtilities._matchesSelector(element, ".win-hub-section-header-tabstop, .win-hub-section-header-tabstop *")) { - while (!_ElementUtilities.hasClass(element, "win-hub-section-header-tabstop")) { - element = element.parentElement; - } - return element; - } - } - return null; - }, - _isHeaderInteractive: function hub_isHeaderInteractive(element) { - // Helper method to skip keyboarding and clicks with a header's sub interactive content - if (element.parentNode) { - return _ElementUtilities._matchesSelector(element, ".win-interactive, .win-interactive *"); - } - return false; - }, - _clickHandler: function hub_clickHandler(ev) { - var headerTabStopElement = this._findHeaderTabStop(ev.target); - if (headerTabStopElement && !this._isHeaderInteractive(ev.target)) { - var section = headerTabStopElement.parentElement.parentElement.winControl; - if (!section.isHeaderStatic) { - var sectionIndex = this.sections.indexOf(section); - this._fireEvent(Hub._EventName.headerInvoked, { - index: sectionIndex, - section: section - }); - } - } - }, - _resizeHandler: function hub_resizeHandler() { - // Viewport needs to be measured - this._measured = false; - Scheduler.schedule(this._updateSnapList.bind(this), Scheduler.Priority.idle); - }, - _contentResizeHandler: function hub_contentResizeHandler() { - // Sections and scroll length need to be measured - this._measured = false; - Scheduler.schedule(this._updateSnapList.bind(this), Scheduler.Priority.idle); - }, - _scrollHandler: function hub_scrollHandler() { - // Scroll location needs to be retrieved - this._measured = false; - - if (this._pendingSections) { - return; - } - - // Scroll events caused by users overwrite pending API modifications to scrollposition. - this._pendingScrollLocation = null; - this._pendingSectionOnScreen = null; - - if (!this._pendingScrollHandler) { - this._pendingScrollHandler = _BaseUtils._requestAnimationFrame(function () { - this._pendingScrollHandler = null; - - if (this._pendingSections) { - return; - } - - if (this.loadingState !== Hub.LoadingState.complete) { - this._loadSections(); - } - }.bind(this)); - } - }, - _measure: function hub_measure() { - // Any time a size changes (section growing, window resizing, etc) cachedSizes should be set to false - // and any time the variables need to be read again we should measure the variables. To avoid a lot of - // seperate layouts we measure the variables in a single batch. - if (!this._measured || this._scrollLength === 0) { - this._writeProfilerMark("measure,StartTM"); - this._measured = true; - - this._rtl = _Global.getComputedStyle(this._element, null).direction === "rtl"; - - if (this.orientation === _UI.Orientation.vertical) { - this._names = verticalNames; - } else { - if (this._rtl) { - this._names = rtlHorizontalNames; - } else { - this._names = ltrHorizontalNames; - } - } - - this._viewportSize = this._viewportElement[this._names.offsetSize]; - this._viewportOppositeSize = this._viewportElement[this._names.oppositeOffsetSize]; - this._scrollPosition = _ElementUtilities.getScrollPosition(this._viewportElement)[this._names.scrollPos]; - this._scrollLength = this._viewportElement[this._names.scrollSize]; - - var surfaceElementComputedStyle = _Global.getComputedStyle(this._surfaceElement); - this._startSpacer = parseFloat(surfaceElementComputedStyle[this._names.marginStart]) + parseFloat(surfaceElementComputedStyle[this._names.borderStart]) + parseFloat(surfaceElementComputedStyle[this._names.paddingStart]); - this._endSpacer = parseFloat(surfaceElementComputedStyle[this._names.marginEnd]) + parseFloat(surfaceElementComputedStyle[this._names.borderEnd]) + parseFloat(surfaceElementComputedStyle[this._names.paddingEnd]); - - this._sectionSizes = []; - for (var i = 0; i < this.sections.length; i++) { - var section = this.sections.getAt(i); - var computedSectionStyle = _Global.getComputedStyle(section.element); - this._sectionSizes[i] = { - offset: section.element[this._names.offsetPos], - // Reminder: offsetWidth doesn't include margins and also rounds. - size: section.element[this._names.offsetSize], - marginStart: parseFloat(computedSectionStyle[this._names.marginStart]), - marginEnd: parseFloat(computedSectionStyle[this._names.marginEnd]), - borderStart: parseFloat(computedSectionStyle[this._names.borderStart]), - borderEnd: parseFloat(computedSectionStyle[this._names.borderEnd]), - paddingStart: parseFloat(computedSectionStyle[this._names.paddingStart]), - paddingEnd: parseFloat(computedSectionStyle[this._names.paddingEnd]) - }; - - if (this._rtl && this.orientation === _UI.Orientation.horizontal) { - this._sectionSizes[i].offset = this._viewportSize - (this._sectionSizes[i].offset + this._sectionSizes[i].size); - } - } - - this._writeProfilerMark("measure,StopTM"); - } - }, - _updateSnapList: function hub_updateSnapList() { - this._writeProfilerMark("updateSnapList,StartTM"); - this._measure(); - - var snapList = "snapList("; - for (var i = 0; i < this._sectionSizes.length; i++) { - if (i > 0) { - snapList += ","; - } - var sectionSize = this._sectionSizes[i]; - snapList += (sectionSize.offset - sectionSize.marginStart - this._startSpacer) + "px"; - } - snapList += ")"; - - var snapListY = ""; - var snapListX = ""; - if (this.orientation === _UI.Orientation.vertical) { - snapListY = snapList; - } else { - snapListX = snapList; - } - - if (this._lastSnapPointY !== snapListY) { - this._lastSnapPointY = snapListY; - this._viewportElement.style['-ms-scroll-snap-points-y'] = snapListY; - } - - if (this._lastSnapPointX !== snapListX) { - this._lastSnapPointX = snapListX; - this._viewportElement.style['-ms-scroll-snap-points-x'] = snapListX; - } - - this._writeProfilerMark("updateSnapList,StopTM"); - }, - _scrollToSection: function Hub_scrollToSection(index, withAnimation) { - this._measure(); - var sectionSize = this._sectionSizes[index]; - var scrollPositionToShowStartMargin = Math.min(this._scrollLength - this._viewportSize, sectionSize.offset - sectionSize.marginStart - this._startSpacer); - - this._scrollTo(scrollPositionToShowStartMargin, withAnimation); - }, - _ensureVisible: function hub_ensureVisible(index, withAnimation) { - this._measure(); - var targetScrollPos = this._ensureVisibleMath(index, this._scrollPosition); - this._scrollTo(targetScrollPos, withAnimation); - }, - _ensureVisibleMath: function hub_ensureVisibleMath(index, targetScrollPos) { - this._measure(); - var sectionSize = this._sectionSizes[index]; - - var scrollPositionToShowStartMargin = Math.min(this._scrollLength - this._viewportSize, sectionSize.offset - sectionSize.marginStart - this._startSpacer); - var scrollPositionToShowEndMargin = Math.max(0, sectionSize.offset + sectionSize.size + sectionSize.marginEnd + this._endSpacer - this._viewportSize + 1); - if (targetScrollPos > scrollPositionToShowStartMargin) { - targetScrollPos = scrollPositionToShowStartMargin; - } else if (targetScrollPos < scrollPositionToShowEndMargin) { - targetScrollPos = Math.min(scrollPositionToShowStartMargin, scrollPositionToShowEndMargin); - } - - return targetScrollPos; - }, - _scrollTo: function hub_scrollTo(scrollPos, withAnimation) { - this._scrollPosition = scrollPos; - if (withAnimation) { - if (this.orientation === _UI.Orientation.vertical) { - _ElementUtilities._zoomTo(this._viewportElement, { contentX: 0, contentY: this._scrollPosition, viewportX: 0, viewportY: 0 }); - } else { - _ElementUtilities._zoomTo(this._viewportElement, { contentX: this._scrollPosition, contentY: 0, viewportX: 0, viewportY: 0 }); - } - } else { - var newScrollPos = {}; - newScrollPos[this._names.scrollPos] = this._scrollPosition; - _ElementUtilities.setScrollPosition(this._viewportElement, newScrollPos); - } - }, - _windowKeyDownHandler: function hub_windowKeyDownHandler(ev) { - // Include tab and shift tab. Note: Alt Key + Tab and Windows Key + Tab do not fire keydown with ev.key === "Tab". - if (ev.keyCode === Key.tab) { - this._tabSeenLast = true; - - var that = this; - _BaseUtils._yieldForEvents(function () { - that._tabSeenLast = false; - }); - } - }, - _focusin: function hub_focusin(ev) { - // On focus we call ensureVisible to handle the tab or shift/tab to header. However if the - // focus was caused by a pointer down event we skip the focus. - if (this._tabSeenLast) { - var headerTabStopElement = this._findHeaderTabStop(ev.target); - if (headerTabStopElement && !this._isHeaderInteractive(ev.target)) { - var sectionIndex = this.sections.indexOf(headerTabStopElement.parentElement.parentElement.winControl); - if (sectionIndex > -1) { - this._ensureVisible(sectionIndex, true); - } - } - } - - // Always remember the focused section for SemanticZoom. - var sectionElement = ev.target; - while (sectionElement && !_ElementUtilities.hasClass(sectionElement, _Section.HubSection._ClassName.hubSection)) { - sectionElement = sectionElement.parentElement; - } - if (sectionElement) { - var sectionIndex = this.sections.indexOf(sectionElement.winControl); - if (sectionIndex > -1) { - this._currentIndexForSezo = sectionIndex; - } - } - - if (ev.target === this.element) { - var indexToFocus; - if (+this._sectionToFocus === this._sectionToFocus && this._sectionToFocus >= 0 && this._sectionToFocus < this.sections.length) { - indexToFocus = this._sectionToFocus; - this._sectionToFocus = null; - } else { - indexToFocus = this.sectionOnScreen; - } - - this._moveFocusIn(indexToFocus); - } - }, - _moveFocusIn: function hub_moveFocusIn(indexToFocus) { - if (indexToFocus >= 0) { - for (var i = indexToFocus; i < this.sections.length; i++) { - var section = this.sections.getAt(i); - - var focusAttempt = _ElementUtilities._trySetActive(section._headerTabStopElement, this._viewportElement); - - if (focusAttempt) { - return; - } - - if (_ElementUtilities._setActiveFirstFocusableElement(section.contentElement, this._viewportElement)) { - return; - } - } - - for (var i = indexToFocus - 1; i >= 0; i--) { - var section = this.sections.getAt(i); - - if (_ElementUtilities._setActiveFirstFocusableElement(section.contentElement, this._viewportElement)) { - return; - } - - var focusAttempt = _ElementUtilities._trySetActive(section._headerTabStopElement, this._viewportElement); - - if (focusAttempt) { - return; - } - } - } - }, - _keyDownHandler: function hub_keyDownHandler(ev) { - var leftKey = this._rtl ? Key.rightArrow : Key.leftArrow; - var rightKey = this._rtl ? Key.leftArrow : Key.rightArrow; - - if (ev.keyCode === Key.upArrow || ev.keyCode === Key.downArrow || ev.keyCode === Key.leftArrow || ev.keyCode === Key.rightArrow || ev.keyCode === Key.pageUp || ev.keyCode === Key.pageDown) { - var headerTabStopElement = this._findHeaderTabStop(ev.target); - if (headerTabStopElement && !this._isHeaderInteractive(ev.target)) { - var currentSection = this.sections.indexOf(headerTabStopElement.parentElement.parentElement.winControl); - var targetSectionIndex; - var useEnsureVisible = false; - // Page up/down go to the next/previous header and line it up with the app header. Up/Right/Down/Left - // move focus to the next/previous header and move it on screen (app header distance from either edge). - if (ev.keyCode === Key.pageDown || - (this.orientation === _UI.Orientation.horizontal && ev.keyCode === rightKey) || - (this.orientation === _UI.Orientation.vertical && ev.keyCode === Key.downArrow)) { - // Do not include hidden headers. - for (var i = currentSection + 1; i < this.sections.length; i++) { - if (this._tryFocus(i)) { - targetSectionIndex = i; - break; - } - } - } else if (ev.keyCode === Key.pageUp || - (this.orientation === _UI.Orientation.horizontal && ev.keyCode === leftKey) || - (this.orientation === _UI.Orientation.vertical && ev.keyCode === Key.upArrow)) { - // Do not include hidden headers. - for (var i = currentSection - 1; i >= 0; i--) { - if (this._tryFocus(i)) { - targetSectionIndex = i; - break; - } - } - } - if (ev.keyCode === Key.upArrow || ev.keyCode === Key.downArrow || ev.keyCode === Key.leftArrow || ev.keyCode === Key.rightArrow) { - useEnsureVisible = true; - } - - if (+targetSectionIndex === targetSectionIndex) { - if (useEnsureVisible) { - this._ensureVisible(targetSectionIndex, true); - } else { - this._scrollToSection(targetSectionIndex, true); - } - } - - ev.preventDefault(); - } - } else if (ev.keyCode === Key.home || ev.keyCode === Key.end) { - // Home/End scroll to start/end and leave focus where it is. - this._measure(); - var maxScrollPos = Math.max(0, this._scrollLength - this._viewportSize); - this._scrollTo(ev.keyCode === Key.home ? 0 : maxScrollPos, true); - ev.preventDefault(); - } - }, - _tryFocus: function hub_tryFocus(index) { - var targetSection = this.sections.getAt(index); - - _ElementUtilities._setActive(targetSection._headerTabStopElement, this._viewportElement); - - return _Global.document.activeElement === targetSection._headerTabStopElement; - }, - /// - /// Gets a ZoomableView. This API supports the SemanticZoom infrastructure - /// and is not intended to be used directly from your code. - /// - /// - zoomableView: { - get: function zoomableView_get() { - if (!this._zoomableView) { - this._zoomableView = new ZoomableView(this); - } - - return this._zoomableView; - } - }, - _getPanAxis: function hub_getPanAxis() { - return this.orientation === _UI.Orientation.horizontal ? "horizontal" : "vertical"; - }, - _configureForZoom: function hub_configureForZoom() { - // Nothing to configure. - }, - _setCurrentItem: function hub_setCurrentItem(x, y) { - var offset; - if (this.orientation === _UI.Orientation.horizontal) { - offset = x; - } else { - offset = y; - } - - this._measure(); - offset = offset + this._scrollPosition; - this._currentIndexForSezo = this._sectionSizes.length - 1; - for (var i = 1; i < this._sectionSizes.length; i++) { - var sectionSize = this._sectionSizes[i]; - if (sectionSize.offset - sectionSize.marginStart > offset) { - this._currentIndexForSezo = i - 1; - break; - } - } - }, - _getCurrentItem: function hub_getCurrentItem() { - var itemPosition; - if (this._sectionSizes.length > 0) { - this._measure(); - var index = Math.max(0, Math.min(this._currentIndexForSezo, this._sectionSizes.length)); - var sectionSize = this._sectionSizes[index]; - if (this.orientation === _UI.Orientation.horizontal) { - itemPosition = { - left: Math.max(0, sectionSize.offset - sectionSize.marginStart - this._scrollPosition), - top: 0, - width: sectionSize.size, - height: this._viewportOppositeSize - }; - } else { - itemPosition = { - left: 0, - top: Math.max(0, sectionSize.offset - sectionSize.marginStart - this._scrollPosition), - width: this._viewportOppositeSize, - height: sectionSize.size, - }; - } - - var section = this.sections.getAt(index); - // BUGBUG: 53301 ListView and Hub should document what they expect to be returned from the - // getCurrentItem so that positionItem apis line up. ListView zoomed out expects an object with - // groupIndexHint, groupKey, or groupDescription. Hub expects an object with index. - return Promise.wrap({ item: { data: section, index: index, groupIndexHint: index }, position: itemPosition }); - } - }, - _beginZoom: function hub_beginZoom() { - // Hide scroll thumb. - this._viewportElement.style["-ms-overflow-style"] = "none"; - }, - _positionItem: function hub_positionItem(item, position) { - if (item.index >= 0 && item.index < this._sectionSizes.length) { - this._measure(); - var sectionSize = this._sectionSizes[item.index]; - - var offsetFromViewport; - if (this.orientation === _UI.Orientation.horizontal) { - offsetFromViewport = position.left; - } else { - offsetFromViewport = position.top; - } - - this._sectionToFocus = item.index; - - var targetScrollPosition = sectionSize.offset - offsetFromViewport; - // clamp section: - var targetScrollPosition = this._ensureVisibleMath(item.index, targetScrollPosition); - - this._scrollPosition = targetScrollPosition; - var newScrollPos = {}; - newScrollPos[this._names.scrollPos] = this._scrollPosition; - _ElementUtilities.setScrollPosition(this._viewportElement, newScrollPos); - } - }, - _endZoom: function hub_endZoom() { - // Show scroll thumb. - this._viewportElement.style["-ms-overflow-style"] = ""; - }, - _writeProfilerMark: function hub_writeProfilerMark(text) { - var message = "WinJS.UI.Hub:" + this._id + ":" + text; - _WriteProfilerMark(message); - _Log.log && _Log.log(message, null, "hubprofiler"); - }, - dispose: function hub_dispose() { - /// - /// - /// Disposes this control. - /// - /// - /// - if (this._disposed) { - return; - } - this._disposed = true; - - _Global.removeEventListener('keydown', this._windowKeyDownHandlerBound); - _ElementUtilities._resizeNotifier.unsubscribe(this.element, this._resizeHandlerBound); - - this._updateEvents(this._sections); - - for (var i = 0; i < this.sections.length; i++) { - this.sections.getAt(i).dispose(); - } - } - }, { - /// - /// Specifies whether the Hub animation is an entrance animation or a transition animation. - /// - /// - AnimationType: { - /// - /// The animation plays when the Hub is first displayed. - /// - /// - entrance: "entrance", - /// - /// The animation plays when the Hub is changing its content. - /// - /// - contentTransition: "contentTransition", - /// - /// The animation plays when a section is inserted into the Hub. - /// - /// - insert: "insert", - /// - /// The animation plays when a section is removed into the Hub. - /// - /// - remove: "remove", - }, - /// - /// Gets the current loading state of the Hub. - /// - /// - LoadingState: { - /// - /// The Hub is loading sections. - /// - /// - loading: "loading", - /// - /// All sections are loaded and animations are complete. - /// - /// - complete: "complete" - }, - // Names of classes used by the Hub. - _ClassName: { - hub: "win-hub", - hubSurface: "win-hub-surface", - hubProgress: "win-hub-progress", - hubViewport: "win-hub-viewport", - hubVertical: "win-hub-vertical", - hubHorizontal: "win-hub-horizontal", - }, - // Names of events fired by the Hub. - _EventName: { - contentAnimating: eventNames.contentAnimating, - headerInvoked: eventNames.headerInvoked, - loadingStateChanged: eventNames.loadingStateChanged - }, - }); - - _Base.Class.mix(Hub, _Control.DOMEventMixin); - - var ZoomableView = _Base.Class.define(function ZoomableView_ctor(hub) { - this._hub = hub; - }, { - getPanAxis: function () { - return this._hub._getPanAxis(); - }, - configureForZoom: function (isZoomedOut, isCurrentView, triggerZoom, prefetchedPages) { - this._hub._configureForZoom(isZoomedOut, isCurrentView, triggerZoom, prefetchedPages); - }, - setCurrentItem: function (x, y) { - this._hub._setCurrentItem(x, y); - }, - getCurrentItem: function () { - return this._hub._getCurrentItem(); - }, - beginZoom: function () { - this._hub._beginZoom(); - }, - positionItem: function (item, position) { - return this._hub._positionItem(item, position); - }, - endZoom: function (isCurrentView) { - this._hub._endZoom(isCurrentView); - } - }); - - var strings = { - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; }, - get duplicateSection() { return "Hub duplicate sections: Each HubSection must be unique"; }, - get invalidContent() { return "Invalid content: Hub content must be made up of HubSections."; }, - get hubViewportAriaLabel() { return _Resources._getWinJSString("ui/hubViewportAriaLabel").value; } - }; - - return Hub; - }) - }); - -}); -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/AppBar/_Constants',[ - 'exports', - '../../Core/_Base', -], function appBarConstantsInit(exports, _Base) { - "use strict"; - - _Base.Namespace._moduleDefine(exports, null, { - // AppBar class names. - appBarClass: "win-appbar", - firstDivClass: "win-firstdiv", - finalDivClass: "win-finaldiv", - invokeButtonClass: "win-appbar-invokebutton", - ellipsisClass: "win-appbar-ellipsis", - primaryCommandsClass: "win-primarygroup", - secondaryCommandsClass: "win-secondarygroup", - reducedClass: "win-reduced", - commandLayoutClass: "win-commandlayout", - topClass: "win-top", - bottomClass: "win-bottom", - showingClass : "win-appbar-showing", - shownClass : "win-appbar-shown", - hidingClass : "win-appbar-hiding", - hiddenClass: "win-appbar-hidden", - minimalClass: "win-appbar-minimal", - - // Constants for AppBar placement - appBarPlacementTop: "top", - appBarPlacementBottom: "bottom", - - // Constants for AppBar layouts - appBarLayoutCustom: "custom", - appBarLayoutCommands: "commands", - - // Constant for AppBar invokebutton width - appBarInvokeButtonWidth: 60, - - // Constants for Commands - typeSeparator: "separator", - typeContent: "content", - typeButton: "button", - typeToggle: "toggle", - typeFlyout: "flyout", - menuCommandClass: "win-command", - appBarCommandClass: "win-command", - appBarCommandGlobalClass: "win-global", - appBarCommandSelectionClass: "win-selection", - sectionSelection: "selection", - sectionGlobal: "global", - - // Prevents the element from showing a focus rect - hideFocusClass: "win-hidefocus", - - // Other class names - overlayClass: "win-overlay", - flyoutClass: "win-flyout", - flyoutLightClass: "win-ui-light", - menuClass: "win-menu", - menuToggleClass: "win-menu-toggle", - settingsFlyoutClass: "win-settingsflyout", - scrollsClass: "win-scrolls", - - // Constants for AppBarCommand full-size widths. - separatorWidth: 60, - buttonWidth: 100, - - narrowClass: "win-narrow", - wideClass: "win-wide", - _clickEatingAppBarClass: "win-appbarclickeater", - _clickEatingFlyoutClass: "win-flyoutmenuclickeater", - _visualViewportClass: "win-visualviewport-space", - }); -}); -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -/// animatable,appbar,appbars,divs,Flyout,Flyouts,iframe,Statics,unfocus,unselectable -define('WinJS/Controls/Flyout/_Overlay',[ - 'exports', - '../../Core/_Global', - '../../Core/_WinRT', - '../../Core/_Base', - '../../Core/_BaseUtils', - '../../Core/_ErrorFromName', - '../../Core/_Events', - '../../Core/_Resources', - '../../Core/_WriteProfilerMark', - '../../Animations', - '../../ControlProcessor', - '../../Promise', - '../../Scheduler', - '../../Utilities/_Control', - '../../Utilities/_ElementUtilities', - '../AppBar/_Constants' -], function overlayInit(exports, _Global, _WinRT, _Base, _BaseUtils, _ErrorFromName, _Events, _Resources, _WriteProfilerMark, Animations, ControlProcessor, Promise, Scheduler, _Control, _ElementUtilities, _Constants) { - "use strict"; - - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - _Overlay: _Base.Namespace._lazy(function () { - var createEvent = _Events._createEventProperty; - - // Event Names - var BEFORESHOW = "beforeshow"; - var AFTERSHOW = "aftershow"; - var BEFOREHIDE = "beforehide"; - var AFTERHIDE = "afterhide"; - - // Helper to get DOM elements from input single object or array or IDs/toolkit/dom elements - function _resolveElements(elements) { - // No input is just an empty array - if (!elements) { - return []; - } - - // Make sure it's in array form. - if (typeof elements === "string" || !elements || !elements.length) { - elements = [elements]; - } - - // Make sure we have a DOM element for each one, (could be string id name or toolkit object) - var i, - realElements = []; - for (i = 0; i < elements.length; i++) { - if (elements[i]) { - if (typeof elements[i] === "string") { - var element = _Global.document.getElementById(elements[i]); - if (element) { - realElements.push(element); - } - } else if (elements[i].element) { - realElements.push(elements[i].element); - } else { - realElements.push(elements[i]); - } - } - } - - return realElements; - } - - // Helpers for keyboard showing related events - function _allOverlaysCallback(event, command) { - var elements = _Global.document.querySelectorAll("." + _Constants.overlayClass); - if (elements) { - var len = elements.length; - for (var i = 0; i < len; i++) { - var element = elements[i]; - var control = element.winControl; - if (!control._disposed) { - if (control) { - control[command](event); - } - } - } - } - } - - function _edgyMayHideFlyouts() { - // Flyouts and SettingsFlyouts should not light dismiss when they are the target of a right click. - if (!_Overlay._rightMouseMightEdgy) { - _Overlay._hideAllFlyouts(); - } - } - - var strings = { - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; }, - get mustContainCommands() { return "Invalid HTML: AppBars/Menus must contain only AppBarCommands/MenuCommands"; }, - get closeOverlay() { return _Resources._getWinJSString("ui/closeOverlay").value; }, - }; - - var _Overlay = _Base.Class.define(function _Overlay_ctor(element, options) { - /// - /// - /// Constructs the Overlay control and associates it with the underlying DOM element. - /// - /// - /// The DOM element to be associated with the Overlay control. - /// - /// - /// The set of options to be applied initially to the Overlay control. - /// - /// A fully constructed Overlay control. - /// - this._baseOverlayConstructor(element, options); - }, { - // Functions/properties - _baseOverlayConstructor: function _Overlay_baseOverlayConstructor(element, options) { - this._disposed = false; - - // Make sure there's an input element - if (!element) { - element = _Global.document.createElement("div"); - } - - // Check to make sure we weren't duplicated - var overlay = element.winControl; - if (overlay) { - throw new _ErrorFromName("WinJS.UI._Overlay.DuplicateConstruction", strings.duplicateConstruction); - } - - if (!this._element) { - this._element = element; - } - this._sticky = false; - this._doNext = ""; - - this._element.style.visibility = "hidden"; - this._element.style.opacity = 0; - - // Remember ourselves - element.winControl = this; - - // Attach our css class - _ElementUtilities.addClass(this._element, _Constants.overlayClass); - _ElementUtilities.addClass(this._element, "win-disposable"); - - // We don't want to be selectable, set UNSELECTABLE - var unselectable = this._element.getAttribute("unselectable"); - if (unselectable === null || unselectable === undefined) { - this._element.setAttribute("unselectable", "on"); - } - - // Base animation is popIn/popOut - this._currentAnimateIn = this._baseAnimateIn; - this._currentAnimateOut = this._baseAnimateOut; - this._animationPromise = Promise.as(); - - // Command Animations to Queue - this._queuedToShow = []; - this._queuedToHide = []; - this._queuedCommandAnimation = false; - - if (options) { - _Control.setOptions(this, options); - } - }, - - /// - element: { - get: function () { - return this._element; - } - }, - - /// Disable an Overlay, setting or getting the HTML disabled attribute. When disabled the Overlay will no longer display with show(), and will hide if currently visible. - disabled: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return !!this._element.disabled; - }, - set: function (value) { - // Force this check into a boolean because our current state could be a bit confused since we tie to the DOM element - value = !!value; - var oldValue = !!this._element.disabled; - if (oldValue !== value) { - this._element.disabled = value; - if (!this.hidden && this._element.disabled) { - this._hideOrDismiss(); - } - } - } - }, - - /// - /// Occurs immediately before the control is shown. - /// - onbeforeshow: createEvent(BEFORESHOW), - - /// - /// Occurs immediately after the control is shown. - /// - onaftershow: createEvent(AFTERSHOW), - - /// - /// Occurs immediately before the control is hidden. - /// - onbeforehide: createEvent(BEFOREHIDE), - - /// - /// Occurs immediately after the control is hidden. - /// - onafterhide: createEvent(AFTERHIDE), - - dispose: function () { - /// - /// - /// Disposes this Overlay. - /// - /// - if (this._disposed) { - return; - } - - this._disposed = true; - this._dispose(); - }, - - _dispose: function _Overlay_dispose() { - // To be overridden by subclasses - }, - - show: function () { - /// - /// - /// Shows the Overlay, if hidden, regardless of other state - /// - /// - // call private show to distinguish it from public version - this._show(); - }, - - _show: function _Overlay_show() { - // We call our base _baseShow because AppBar may need to override show - this._baseShow(); - }, - - hide: function () { - /// - /// - /// Hides the Overlay, if visible, regardless of other state - /// - /// - // call private hide to distinguish it from public version - this._hide(); - }, - - _hide: function _Overlay_hide() { - // We call our base _baseHide because AppBar may need to override hide - this._baseHide(); - }, - - // Is the overlay "hidden"? - /// - hidden: { - get: function () { - return (this._element.style.visibility === "hidden" || - this._element.winAnimating === "hiding" || - this._doNext === "hide"); - } - }, - - addEventListener: function (type, listener, useCapture) { - /// - /// - /// Add an event listener to the DOM element for this Overlay - /// - /// Required. Event type to add, "beforehide", "afterhide", "beforeshow", or "aftershow" - /// Required. The event handler function to associate with this event. - /// Optional. True, register for the event capturing phase. False for the event bubbling phase. - /// - return this._element.addEventListener(type, listener, useCapture); - }, - - removeEventListener: function (type, listener, useCapture) { - /// - /// - /// Remove an event listener to the DOM element for this Overlay - /// - /// Required. Event type to remove, "beforehide", "afterhide", "beforeshow", or "aftershow" - /// Required. The event handler function to associate with this event. - /// Optional. True, register for the event capturing phase. False for the event bubbling phase. - /// - return this._element.removeEventListener(type, listener, useCapture); - }, - - _baseShow: function _Overlay_baseShow() { - // If we are already animating, just remember this for later - if (this._animating || this._needToHandleShowingKeyboard || this._needToHandleHidingKeyboard) { - this._doNext = "show"; - return false; - } - - // Each overlay tracks the size of the element for triggering light-dismiss in the window resize handler. - this._cachedDocumentSize = this._cachedDocumentSize || _Overlay._sizeOfDocument(); - - // "hiding" would need to cancel. - if (this._element.style.visibility !== "visible") { - // Let us know we're showing. - this._element.winAnimating = "showing"; - - // Hiding, but not none - this._element.style.display = ""; - this._element.style.visibility = "hidden"; - - // In case their event is going to manipulate commands, see if there are - // any queued command animations we can handle while we're still hidden. - if (this._queuedCommandAnimation) { - this._showAndHideFast(this._queuedToShow, this._queuedToHide); - this._queuedToShow = []; - this._queuedToHide = []; - } - - // Send our "beforeShow" event - this._sendEvent(_Overlay.beforeShow); - - // Need to measure - this._findPosition(); - - // Make sure it's visible, and fully opaque. - // Do the popup thing, sending event afterward. - var that = this; - this._animationPromise = this._currentAnimateIn(). - then(function () { - that._baseEndShow(); - }, function () { - that._baseEndShow(); - }); - return true; - } - return false; - }, - - // Flyout in particular will need to measure our positioning. - _findPosition: function _Overlay_findPosition() { - }, - - _baseEndShow: function _Overlay_baseEndShow() { - if (this._disposed) { - return; - } - - // Make sure it's visible after showing - this._element.setAttribute("aria-hidden", "false"); - - this._element.winAnimating = ""; - - // Do our derived classes show stuff - this._endShow(); - - // We're shown now - if (this._doNext === "show") { - this._doNext = ""; - } - - // After showing, send the after showing event - this._sendEvent(_Overlay.afterShow); - this._writeProfilerMark("show,StopTM"); // Overlay writes the stop profiler mark for all of its derived classes. - - // If we had something queued, do that - Scheduler.schedule(this._checkDoNext, Scheduler.Priority.normal, this, "WinJS.UI._Overlay._checkDoNext"); - - }, - - _endShow: function _Overlay_endShow() { - // Nothing by default - }, - - _baseHide: function _Overlay_baseHide() { - // If we are already animating, just remember this for later - if (this._animating || this._needToHandleShowingKeyboard) { - this._doNext = "hide"; - return false; - } - - // In the unlikely event we're between the hiding keyboard and the resize events, just snap it away: - if (this._needToHandleHidingKeyboard) { - // use the "uninitialized" flag - this._element.style.visibility = ""; - } - - // "showing" would need to queue up. - if (this._element.style.visibility !== "hidden") { - // Let us know we're hiding, accessibility as well. - this._element.winAnimating = "hiding"; - this._element.setAttribute("aria-hidden", "true"); - - // Send our "beforeHide" event - this._sendEvent(_Overlay.beforeHide); - - // If our visibility is empty, then this is the first time, just hide it - if (this._element.style.visibility === "") { - // Initial hiding, just hide it - this._element.style.opacity = 0; - this._baseEndHide(); - } else { - // Make sure it's hidden, and fully transparent. - var that = this; - this._animationPromise = this._currentAnimateOut(). - then(function () { - that._baseEndHide(); - }, function () { - that._baseEndHide(); - }); - } - return true; - } - - return false; - }, - - _baseEndHide: function _Overlay_baseEndHide() { - if (this._disposed) { - return; - } - - // Make sure animation is finished. - this._element.style.visibility = "hidden"; - this._element.style.display = "none"; - this._element.winAnimating = ""; - - // In case their event is going to manipulate commands, see if there - // are any queued command animations we can handle now we're hidden. - if (this._queuedCommandAnimation) { - this._showAndHideFast(this._queuedToShow, this._queuedToHide); - this._queuedToShow = []; - this._queuedToHide = []; - } - - // We're hidden now - if (this._doNext === "hide") { - this._doNext = ""; - } - - // After hiding, send our "afterHide" event - this._sendEvent(_Overlay.afterHide); - this._writeProfilerMark("hide,StopTM"); // Overlay writes the stop profiler mark for all of its derived classes. - - - // If we had something queued, do that. This has to be after - // the afterHide event in case it triggers a show() and they - // have something to do in beforeShow that requires afterHide first. - Scheduler.schedule(this._checkDoNext, Scheduler.Priority.normal, this, "WinJS.UI._Overlay._checkDoNext"); - }, - - _checkDoNext: function _Overlay_checkDoNext() { - // Do nothing if we're still animating - if (this._animating || this._needToHandleShowingKeyboard || this._needToHandleHidingKeyboard || this._disposed) { - return; - } - - if (this._doNext === "hide") { - // Do hide first because animating commands would be easier - this._hide(); - this._doNext = ""; - } else if (this._queuedCommandAnimation) { - // Do queued commands before showing if possible - this._showAndHideQueue(); - } else if (this._doNext === "show") { - // Show last so that we don't unnecessarily animate commands - this._show(); - this._doNext = ""; - } - }, - - // Default animations - _baseAnimateIn: function _Overlay_baseAnimateIn() { - this._element.style.opacity = 0; - this._element.style.visibility = "visible"; - // touch opacity so that IE fades from the 0 we just set to 1 - _Global.getComputedStyle(this._element, null).opacity; - return Animations.fadeIn(this._element); - }, - - _baseAnimateOut: function _Overlay_baseAnimateOut() { - this._element.style.opacity = 1; - // touch opacity so that IE fades from the 1 we just set to 0 - _Global.getComputedStyle(this._element, null).opacity; - return Animations.fadeOut(this._element); - }, - - _animating: { - get: function _Overlay_animating_get() { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return !!this._element.winAnimating; - } - }, - - // Send one of our events - _sendEvent: function _Overlay_sendEvent(eventName, detail) { - if (this._disposed) { - return; - } - var event = _Global.document.createEvent("CustomEvent"); - event.initEvent(eventName, true, true, (detail || {})); - this._element.dispatchEvent(event); - }, - - // Show commands - _showCommands: function _Overlay_showCommands(commands, immediate) { - var showHide = this._resolveCommands(commands); - this._showAndHideCommands(showHide.commands, [], immediate); - }, - - // Hide commands - _hideCommands: function _Overlay_hideCommands(commands, immediate) { - var showHide = this._resolveCommands(commands); - this._showAndHideCommands([], showHide.commands, immediate); - }, - - // Hide commands - _showOnlyCommands: function _Overlay_showOnlyCommands(commands, immediate) { - var showHide = this._resolveCommands(commands); - this._showAndHideCommands(showHide.commands, showHide.others, immediate); - }, - - _showAndHideCommands: function _Overlay_showAndHideCommands(showCommands, hideCommands, immediate) { - // Immediate is "easy" - if (immediate || (this.hidden && !this._animating)) { - // Immediate mode (not animated) - this._showAndHideFast(showCommands, hideCommands); - // Need to remove them from queues, but others could be queued - this._removeFromQueue(showCommands, this._queuedToShow); - this._removeFromQueue(hideCommands, this._queuedToHide); - } else { - - // Queue Commands - this._updateAnimateQueue(showCommands, this._queuedToShow, this._queuedToHide); - this._updateAnimateQueue(hideCommands, this._queuedToHide, this._queuedToShow); - } - }, - - _removeFromQueue: function _Overlay_removeFromQueue(commands, queue) { - // remove commands from queue. - var count; - for (count = 0; count < commands.length; count++) { - // Remove if it was in queue - var countQ; - for (countQ = 0; countQ < queue.length; countQ++) { - if (queue[countQ] === commands[count]) { - queue.splice(countQ, 1); - break; - } - } - } - }, - - _updateAnimateQueue: function _Overlay_updateAnimateQueue(addCommands, toQueue, fromQueue) { - if (this._disposed) { - return; - } - - // Add addCommands to toQueue and remove addCommands from fromQueue. - var count; - for (count = 0; count < addCommands.length; count++) { - // See if it's already in toQueue - var countQ; - for (countQ = 0; countQ < toQueue.length; countQ++) { - if (toQueue[countQ] === addCommands[count]) { - break; - } - } - if (countQ === toQueue.length) { - // Not found, add it - toQueue[countQ] = addCommands[count]; - } - // Remove if it was in fromQueue - for (countQ = 0; countQ < fromQueue.length; countQ++) { - if (fromQueue[countQ] === addCommands[count]) { - fromQueue.splice(countQ, 1); - break; - } - } - } - // If we haven't queued the actual animation - if (!this._queuedCommandAnimation) { - // If not already animating, we'll need to call _checkDoNext - if (!this._animating) { - Scheduler.schedule(this._checkDoNext, Scheduler.Priority.normal, this, "WinJS.UI._Overlay._checkDoNext"); - } - this._queuedCommandAnimation = true; - } - }, - - // show/hide commands without doing any animation. - _showAndHideFast: function _Overlay_showAndHideFast(showCommands, hideCommands) { - var count; - var command; - for (count = 0; count < showCommands.length; count++) { - command = showCommands[count]; - if (command && command.style) { - command.style.visibility = ""; - command.style.display = ""; - } - } - for (count = 0; count < hideCommands.length; count++) { - command = hideCommands[count]; - if (command && command.style) { - command.style.visibility = "hidden"; - command.style.display = "none"; - } - } - - this._commandsUpdated(); - - }, - - // show and hide the queued commands, perhaps animating if overlay isn't hidden. - _showAndHideQueue: function _Overlay_showAndHideQueue() { - // Only called if not currently animating. - // We'll be done with the queued stuff when we return. - this._queuedCommandAnimation = false; - - // Shortcut if hidden - if (this.hidden) { - this._showAndHideFast(this._queuedToShow, this._queuedToHide); - // Might be something else to do - Scheduler.schedule(this._checkDoNext, Scheduler.Priority.normal, this, "WinJS.UI._Overlay._checkDoNext"); - } else { - // Animation has 3 parts: "hiding", "showing", and "moving" - // PVL has "addToList" and "deleteFromList", both of which allow moving parts. - // So we'll set up "add" for showing, and use "delete" for "hiding" + moving, - // then trigger both at the same time. - var showCommands = this._queuedToShow; - var hideCommands = this._queuedToHide; - var siblings = this._findSiblings(showCommands.concat(hideCommands)); - - // Filter out the commands queued for animation that don't need to be animated. - var count; - for (count = 0; count < showCommands.length; count++) { - // If this one's not real or not attached, skip it - if (!showCommands[count] || - !showCommands[count].style || - !_Global.document.body.contains(showCommands[count])) { - // Not real, skip it - showCommands.splice(count, 1); - count--; - } else if (showCommands[count].style.visibility !== "hidden" && showCommands[count].style.opacity !== "0") { - // Don't need to animate showing this one, already visible, so now it's a sibling - siblings.push(showCommands[count]); - showCommands.splice(count, 1); - count--; - } - } - for (count = 0; count < hideCommands.length; count++) { - // If this one's not real or not attached, skip it - if (!hideCommands[count] || - !hideCommands[count].style || - !_Global.document.body.contains(hideCommands[count]) || - hideCommands[count].style.visibility === "hidden" || - hideCommands[count].style.opacity === "0") { - // Don't need to animate hiding this one, not real, or it's hidden, - // so don't even need it as a sibling. - hideCommands.splice(count, 1); - count--; - } - } - - // Start command animations. - var commandsAnimationPromise = this._baseBeginAnimateCommands(showCommands, hideCommands, siblings); - - // Hook end animations - var that = this; - if (commandsAnimationPromise) { - // Needed to animate - commandsAnimationPromise.done( - function () { that._baseEndAnimateCommands(hideCommands); }, - function () { that._baseEndAnimateCommands(hideCommands); } - ); - } else { - // Already positioned correctly - Scheduler.schedule(function Overlay_async_baseEndAnimationCommands() { that._baseEndAnimateCommands([]); }, - Scheduler.Priority.normal, null, - "WinJS.UI._Overlay._endAnimateCommandsWithoutAnimation"); - } - } - - // Done, clear queues - this._queuedToShow = []; - this._queuedToHide = []; - }, - - _baseBeginAnimateCommands: function _Overlay_baseBeginAnimateCommands(showCommands, hideCommands, siblings) { - // The parameters are 3 mutually exclusive arrays of win-command elements contained in this Overlay. - // 1) showCommands[]: All of the HIDDEN win-command elements that ARE scheduled to show. - // 2) hideCommands[]: All of the VISIBLE win-command elements that ARE shceduled to hide. - // 3) siblings[]: i. All VISIBLE win-command elements that ARE NOT scheduled to hide. - // ii. All HIDDEN win-command elements that ARE NOT scheduled to hide OR show. - this._beginAnimateCommands(showCommands, hideCommands, this._getVisibleCommands(siblings)); - - var showAnimated = null, - hideAnimated = null; - - // Hide commands first, with siblings if necessary, - // so that the showing commands don't disrupt the hiding commands position. - if (hideCommands.length > 0) { - hideAnimated = Animations.createDeleteFromListAnimation(hideCommands, showCommands.length === 0 ? siblings : undefined); - } - if (showCommands.length > 0) { - showAnimated = Animations.createAddToListAnimation(showCommands, siblings); - } - - // Update hiding commands - for (var count = 0, len = hideCommands.length; count < len; count++) { - // Need to fix our position - var rectangle = hideCommands[count].getBoundingClientRect(), - style = _Global.getComputedStyle(hideCommands[count]); - - // Use the bounding box, adjusting for margins - hideCommands[count].style.top = (rectangle.top - parseFloat(style.marginTop)) + "px"; - hideCommands[count].style.left = (rectangle.left - parseFloat(style.marginLeft)) + "px"; - hideCommands[count].style.opacity = 0; - hideCommands[count].style.position = "fixed"; - } - - // Mark as animating - this._element.winAnimating = "rearranging"; - - // Start hiding animations - // Hide needs extra cleanup when done - var promise = null; - if (hideAnimated) { - promise = hideAnimated.execute(); - } - - // Update showing commands, - // After hiding commands so that the hiding ones fade in the right place. - for (count = 0; count < showCommands.length; count++) { - showCommands[count].style.visibility = ""; - showCommands[count].style.display = ""; - showCommands[count].style.opacity = 1; - } - - // Start showing animations - if (showAnimated) { - var newPromise = showAnimated.execute(); - if (promise) { - promise = Promise.join([promise, newPromise]); - } else { - promise = newPromise; - } - } - - return promise; - }, - - _beginAnimateCommands: function _Overlay_beginAnimateCommands() { - // Nothing by default - }, - - _getVisibleCommands: function _Overlay_getVisibleCommands(commandSubSet) { - var command, - commands = commandSubSet, - visibleCommands = []; - - if (!commands) { - // Crawl the inner HTML for the commands. - commands = this.element.querySelectorAll(".win-command"); - } - - for (var i = 0, len = commands.length; i < len; i++) { - command = commands[i].winControl || commands[i]; - if (!command.hidden) { - visibleCommands.push(command); - } - } - - return visibleCommands; - }, - - // Once animation is complete, ensure that the commands are display:none - // and check if there's another animation to start. - _baseEndAnimateCommands: function _Overlay_baseEndAnimateCommands(hideCommands) { - if (this._disposed) { - return; - } - - // Update us - var count; - for (count = 0; count < hideCommands.length; count++) { - // Force us back into our appbar so that we can show again correctly - hideCommands[count].style.position = ""; - hideCommands[count].getBoundingClientRect(); - // Now make us really hidden - hideCommands[count].style.visibility = "hidden"; - hideCommands[count].style.display = "none"; - hideCommands[count].style.opacity = 1; - } - // Done animating - this._element.winAnimating = ""; - - this._endAnimateCommands(); - - // Might be something else to do - this._checkDoNext(); - }, - - _endAnimateCommands: function _Overlay_endAnimateCommands() { - // Nothing by default - }, - - // Resolves our commands - _resolveCommands: function _Overlay_resolveCommands(commands) { - // First make sure they're all DOM elements. - commands = _resolveElements(commands); - - // Now make sure they're all in this container - var result = {}; - result.commands = []; - result.others = []; - var allCommands = this.element.querySelectorAll(".win-command"); - var countAll, countIn; - for (countAll = 0; countAll < allCommands.length; countAll++) { - var found = false; - for (countIn = 0; countIn < commands.length; countIn++) { - if (commands[countIn] === allCommands[countAll]) { - result.commands.push(allCommands[countAll]); - commands.splice(countIn, 1); - found = true; - break; - } - } - if (!found) { - result.others.push(allCommands[countAll]); - } - } - return result; - }, - - // Find siblings, all DOM elements now. - // Returns all .win-commands in this Overlay that are NOT in the passed in 'commands' array. - _findSiblings: function _Overlay_findSiblings(commands) { - // Now make sure they're all in this container - var siblings = []; - var allCommands = this.element.querySelectorAll(".win-command"); - var countAll, countIn; - for (countAll = 0; countAll < allCommands.length; countAll++) { - var found = false; - for (countIn = 0; countIn < commands.length; countIn++) { - if (commands[countIn] === allCommands[countAll]) { - commands.splice(countIn, 1); - found = true; - break; - } - } - if (!found) { - siblings.push(allCommands[countAll]); - } - } - return siblings; - }, - - _baseResize: function _Overlay_baseResize(event) { - // Avoid the cost of a resize if the Overlay is hidden. - if (this._cachedDocumentSize) { - if (this.hidden) { - this._cachedDocumentSize = null; - } else { - // Overlays will light dismiss on resize. - var newDocSize = _Overlay._sizeOfDocument(); - if (this._cachedDocumentSize.width !== newDocSize.width || this._cachedDocumentSize.height !== newDocSize.height) { - this._cachedDocumentSize = newDocSize; - if (!this._sticky) { - this._hideOrDismiss(); - } - } - } - } - - // Call specific resize - this._resize(event); - }, - - _hideOrDismiss: function _Overlay_hideOrDismiss() { - var element = this._element; - if (element && _ElementUtilities.hasClass(element, _Constants.settingsFlyoutClass)) { - this._dismiss(); - } else { - this.hide(); - } - }, - - _resize: function _Overlay_resize() { - // Nothing by default - }, - - _commandsUpdated: function _Overlay_commandsUpdated() { - // Nothing by default - }, - - _checkScrollPosition: function _Overlay_checkScrollPosition() { - // Nothing by default - }, - - _showingKeyboard: function _Overlay_showingKeyboard() { - // Nothing by default - }, - - _hidingKeyboard: function _Overlay_hidingKeyboard() { - // Nothing by default - }, - - // Verify that this HTML AppBar only has AppBar/MenuCommands. - _verifyCommandsOnly: function _Overlay_verifyCommandsOnly(element, type) { - var children = element.children; - var commands = new Array(children.length); - for (var i = 0; i < children.length; i++) { - // If constructed they have win-command class, otherwise they have data-win-control - if (!_ElementUtilities.hasClass(children[i], "win-command") && - children[i].getAttribute("data-win-control") !== type) { - // Wasn't tagged with class or AppBar/MenuCommand, not an AppBar/MenuCommand - throw new _ErrorFromName("WinJS.UI._Overlay.MustContainCommands", strings.mustContainCommands); - } else { - // Instantiate the commands. - ControlProcessor.processAll(children[i]); - commands[i] = children[i].winControl; - } - } - return commands; - }, - - // Sets focus on what we think is the last tab stop. If nothing is focusable will - // try to set focus on itself. - _focusOnLastFocusableElementOrThis: function _Overlay_focusOnLastFocusableElementOrThis() { - if (!this._focusOnLastFocusableElement()) { - // Nothing is focusable. Set focus to this. - _Overlay._trySetActive(this._element); - } - }, - - // Sets focus to what we think is the last tab stop. This element must have - // a firstDiv with tabIndex equal to the lowest tabIndex in the element - // and a finalDiv with tabIndex equal to the highest tabIndex in the element. - // Also the firstDiv must be its first child and finalDiv be its last child. - // Returns true if successful, false otherwise. - _focusOnLastFocusableElement: function _Overlay_focusOnLastFocusableElement() { - if (this._element.firstElementChild) { - var oldFirstTabIndex = this._element.firstElementChild.tabIndex; - var oldLastTabIndex = this._element.lastElementChild.tabIndex; - this._element.firstElementChild.tabIndex = -1; - this._element.lastElementChild.tabIndex = -1; - - var tabResult = _ElementUtilities._focusLastFocusableElement(this._element); - - if (tabResult) { - _Overlay._trySelect(_Global.document.activeElement); - } - - this._element.firstElementChild.tabIndex = oldFirstTabIndex; - this._element.lastElementChild.tabIndex = oldLastTabIndex; - - return tabResult; - } else { - return false; - } - }, - - - // Sets focus on what we think is the first tab stop. If nothing is focusable will - // try to set focus on itself. - _focusOnFirstFocusableElementOrThis: function _Overlay_focusOnFirstFocusableElementOrThis() { - if (!this._focusOnFirstFocusableElement()) { - // Nothing is focusable. Set focus to this. - _Overlay._trySetActive(this._element); - } - }, - - // Sets focus to what we think is the first tab stop. This element must have - // a firstDiv with tabIndex equal to the lowest tabIndex in the element - // and a finalDiv with tabIndex equal to the highest tabIndex in the element. - // Also the firstDiv must be its first child and finalDiv be its last child. - // Returns true if successful, false otherwise. - _focusOnFirstFocusableElement: function _Overlay__focusOnFirstFocusableElement() { - if (this._element.firstElementChild) { - var oldFirstTabIndex = this._element.firstElementChild.tabIndex; - var oldLastTabIndex = this._element.lastElementChild.tabIndex; - this._element.firstElementChild.tabIndex = -1; - this._element.lastElementChild.tabIndex = -1; - - var tabResult = _ElementUtilities._focusFirstFocusableElement(this._element); - - if (tabResult) { - _Overlay._trySelect(_Global.document.activeElement); - } - - this._element.firstElementChild.tabIndex = oldFirstTabIndex; - this._element.lastElementChild.tabIndex = oldLastTabIndex; - - return tabResult; - } else { - return false; - } - }, - - _addOverlayEventHandlers: function _Overlay_addOverlayEventHandlers(isFlyoutOrSettingsFlyout) { - // Set up global event handlers for all overlays - if (!_Overlay._flyoutEdgeLightDismissEvent) { - // Dismiss on blur & resize - // Focus handlers generally use WinJS.Utilities._addEventListener with focusout/focusin. This - // uses the browser's blur event directly beacuse _addEventListener doesn't support focusout/focusin - // on window. - _Global.addEventListener("blur", _Overlay._checkBlur, false); - - var that = this; - - // Be careful so it behaves in designer as well. - if (_WinRT.Windows.UI.Input.EdgeGesture) { - // Catch edgy events too - var commandUI = _WinRT.Windows.UI.Input.EdgeGesture.getForCurrentView(); - commandUI.addEventListener("starting", _Overlay._hideAllFlyouts); - commandUI.addEventListener("completed", _edgyMayHideFlyouts); - } - - if (_WinRT.Windows.UI.ViewManagement.InputPane) { - // React to Soft Keyboard events - var inputPane = _WinRT.Windows.UI.ViewManagement.InputPane.getForCurrentView(); - inputPane.addEventListener("showing", function (event) { - that._writeProfilerMark("_showingKeyboard,StartTM"); - _allOverlaysCallback(event, "_showingKeyboard"); - that._writeProfilerMark("_showingKeyboard,StopTM"); - }); - inputPane.addEventListener("hiding", function (event) { - that._writeProfilerMark("_hidingKeyboard,StartTM"); - _allOverlaysCallback(event, "_hidingKeyboard"); - that._writeProfilerMark("_hidingKeyboard,StopTM"); - }); - // Document scroll event - _Global.document.addEventListener("scroll", function (event) { - that._writeProfilerMark("_checkScrollPosition,StartTM"); - _allOverlaysCallback(event, "_checkScrollPosition"); - that._writeProfilerMark("_checkScrollPosition,StopTM"); - }); - } - - // Window resize event - _Global.addEventListener("resize", function (event) { - that._writeProfilerMark("_baseResize,StartTM"); - _allOverlaysCallback(event, "_baseResize"); - that._writeProfilerMark("_baseResize,StopTM"); - }); - - _Overlay._flyoutEdgeLightDismissEvent = true; - } - - // Individual handlers for Flyouts only - if (isFlyoutOrSettingsFlyout) { - this._handleEventsForFlyoutOrSettingsFlyout(); - } - }, - - _handleEventsForFlyoutOrSettingsFlyout: function _Overlay_handleEventsForFlyoutOrSettingsFlyout() { - var that = this; - // Need to hide ourselves if we lose focus - _ElementUtilities._addEventListener(this._element, "focusout", function (e) { _Overlay._hideIfLostFocus(that, e); }, false); - - // Attempt to flag right clicks that may turn into edgy - _ElementUtilities._addEventListener(this._element, "pointerdown", _Overlay._checkRightClickDown, true); - _ElementUtilities._addEventListener(this._element, "pointerup", _Overlay._checkRightClickUp, true); - }, - - _writeProfilerMark: function _Overlay_writeProfilerMark(text) { - _WriteProfilerMark("WinJS.UI._Overlay:" + this._id + ":" + text); - } - }, - { - // Statics - _clickEatingAppBarDiv: false, - _clickEatingFlyoutDiv: false, - _flyoutEdgeLightDismissEvent: false, - - _hideFlyouts: function (testElement, notSticky) { - var elements = testElement.querySelectorAll("." + _Constants.flyoutClass); - var len = elements.length; - for (var i = 0; i < len; i++) { - var element = elements[i]; - if (element.style.visibility !== "hidden") { - var flyout = element.winControl; - if (flyout && (!notSticky || !flyout._sticky)) { - flyout._hideOrDismiss(); - } - } - } - }, - - _hideSettingsFlyouts: function (testElement, notSticky) { - var elements = testElement.querySelectorAll("." + _Constants.settingsFlyoutClass); - var len = elements.length; - for (var i = 0; i < len; i++) { - var element = elements[i]; - if (element.style.visibility !== "hidden") { - var settingsFlyout = element.winControl; - if (settingsFlyout && (!notSticky || !settingsFlyout._sticky)) { - settingsFlyout._hideOrDismiss(); - } - } - } - }, - - _hideAllFlyouts: function () { - _Overlay._hideFlyouts(_Global.document, true); - _Overlay._hideSettingsFlyouts(_Global.document, true); - }, - - _createClickEatingDivTemplate: function (divClass, hideClickEatingDivFunction) { - var clickEatingDiv = _Global.document.createElement("section"); - clickEatingDiv._winHideClickEater = hideClickEatingDivFunction; - _ElementUtilities.addClass(clickEatingDiv, divClass); - _ElementUtilities._addEventListener(clickEatingDiv, "pointerup", function (event) { _Overlay._checkSameClickEatingPointerUp(event, true); }, true); - _ElementUtilities._addEventListener(clickEatingDiv, "pointerdown", function (event) { _Overlay._checkClickEatingPointerDown(event, true); }, true); - clickEatingDiv.addEventListener("click", function (event) { clickEatingDiv._winHideClickEater(event); }, true); - // Tell Aria that it's clickable - clickEatingDiv.setAttribute("role", "menuitem"); - clickEatingDiv.setAttribute("aria-label", strings.closeOverlay); - // Prevent CED from removing any current selection - clickEatingDiv.setAttribute("unselectable", "on"); - _Global.document.body.appendChild(clickEatingDiv); - return clickEatingDiv; - }, - - // Used by AppBar, and Settings Pane - _createClickEatingDivAppBar: function () { - if (!_Overlay._clickEatingAppBarDiv) { - _Overlay._clickEatingAppBarDiv = _Overlay._createClickEatingDivTemplate(_Constants._clickEatingAppBarClass, _Overlay._handleAppBarClickEatingClick); - } - }, - - // Used by Flyout and Menu - _createClickEatingDivFlyout: function () { - if (!_Overlay._clickEatingFlyoutDiv) { - _Overlay._clickEatingFlyoutDiv = _Overlay._createClickEatingDivTemplate(_Constants._clickEatingFlyoutClass, _Overlay._handleFlyoutClickEatingClick); - } - }, - - // All click-eaters eat "down" clicks so that we can still eat - // the "up" click that'll come later. - _checkClickEatingPointerDown: function (event, stopPropagation) { - var target = event.currentTarget; - if (target) { - try { - // Remember pointer id and remember right mouse - target._winPointerId = event.pointerId; - // Cache right mouse if that was what happened - target._winRightMouse = (event.button === 2); - } catch (e) { } - } - - if (stopPropagation && !target._winRightMouse) { - event.stopPropagation(); - event.preventDefault(); - } - }, - - // Make sure that if we have an up we had an earlier down of the same kind - _checkSameClickEatingPointerUp: function (event, stopPropagation) { - var result = false, - rightMouse = false, - target = event.currentTarget; - - // Same pointer we were watching? - try { - if (target && target._winPointerId === event.pointerId) { - // Same pointer - result = true; - rightMouse = target._winRightMouse; - // For click-eaters, don't count right click the same because edgy will dismiss - if (rightMouse && stopPropagation) { - result = false; - } - } - } catch (e) { } - - if (stopPropagation && !rightMouse) { - event.stopPropagation(); - event.preventDefault(); - target._winHideClickEater(event); - } - - return result; - }, - - // If they click on a click eating div, even with a right click, - // touch or anything, then we want to light dismiss that layer. - _handleAppBarClickEatingClick: function (event) { - event.stopPropagation(); - event.preventDefault(); - - _Overlay._hideLightDismissAppBars(null, false); - _Overlay._hideClickEatingDivAppBar(); - _Overlay._hideAllFlyouts(); - }, - - // If they click on a click eating div, even with a right click, - // touch or anything, then we want to light dismiss that layer. - _handleFlyoutClickEatingClick: function (event) { - event.stopPropagation(); - event.preventDefault(); - - // Don't light dismiss AppBars because edgy will do that as needed, - // so flyouts only. - _Overlay._hideClickEatingDivFlyout(); - _Overlay._hideFlyouts(_Global.document, true); - }, - - _checkRightClickDown: function (event) { - _Overlay._checkClickEatingPointerDown(event, false); - }, - - _checkRightClickUp: function (event) { - if (_Overlay._checkSameClickEatingPointerUp(event, false)) { - // It was a right click we may want to eat. - _Overlay._rightMouseMightEdgy = true; - _BaseUtils._yieldForEvents(function () { _Overlay._rightMouseMightEdgy = false; }); - } - }, - - _showClickEatingDivAppBar: function () { - Scheduler.schedule(function Overlay_async_showClickEatingDivAppBar() { - if (_Overlay._clickEatingAppBarDiv) { - _Overlay._clickEatingAppBarDiv.style.display = "block"; - } - }, Scheduler.Priority.high, null, "WinJS.UI._Overlay._showClickEatingDivAppBar"); - }, - - _hideClickEatingDivAppBar: function () { - Scheduler.schedule(function Overlay_async_hideClickEatingDivAppBar() { - if (_Overlay._clickEatingAppBarDiv) { - _Overlay._clickEatingAppBarDiv.style.display = "none"; - } - }, Scheduler.Priority.high, null, "WinJS.UI._Overlay._hideClickEatingDivAppBar"); - }, - - _showClickEatingDivFlyout: function () { - Scheduler.schedule(function Overlay_async_showClickEatingDivFlyout() { - if (_Overlay._clickEatingFlyoutDiv) { - _Overlay._clickEatingFlyoutDiv.style.display = "block"; - } - }, Scheduler.Priority.high, null, "WinJS.UI._Overlay._showClickEatingDivFlyout"); - }, - - _hideClickEatingDivFlyout: function () { - Scheduler.schedule(function Overlay_async_hideClickEatingDivFlyout() { - if (_Overlay._clickEatingFlyoutDiv) { - _Overlay._clickEatingFlyoutDiv.style.display = "none"; - } - }, Scheduler.Priority.high, null, "WinJS.UI._Overlay._hideClickEatingDivFlyout"); - }, - - _isFlyoutVisible: function () { - if (!_Overlay._clickEatingFlyoutDiv) { - return false; - } - return (_Overlay._clickEatingFlyoutDiv.style.display === "block"); - }, - - _hideIfLostFocus: function (overlay) { - // If we're still showing we haven't really lost focus - if (overlay.hidden || overlay.element.winAnimating === "showing" || overlay._sticky) { - return; - } - // If the active thing is within our element, we haven't lost focus - var active = _Global.document.activeElement; - if (overlay._element && overlay._element.contains(active)) { - return; - } - // SettingFlyouts don't dismiss if they spawned a flyout - if (_ElementUtilities.hasClass(overlay._element, _Constants.settingsFlyoutClass)) { - var settingsFlyout = overlay; - var flyoutControl = _Overlay._getParentControlUsingClassName(active, "win-flyout"); - if (flyoutControl && flyoutControl._previousFocus && settingsFlyout.element.contains(flyoutControl._previousFocus)) { - _ElementUtilities._addEventListener(flyoutControl.element, 'focusout', function focusOut(event) { - // When the Flyout closes, hide the SetingsFlyout if it didn't regain focus. - _Overlay._hideIfLostFocus(settingsFlyout, event); - _ElementUtilities._removeEventListener(flyoutControl.element, 'focusout', focusOut, false); - }, false); - return; - } - } - // Do not hide focus if focus moved to a CED. Let the click handler on the CED take care of hiding us. - if (active && - (_ElementUtilities.hasClass(active, _Constants._clickEatingFlyoutClass) || - _ElementUtilities.hasClass(active, _Constants._clickEatingAppBarClass))) { - return; - } - - overlay._hideOrDismiss(); - }, - - // Want to hide flyouts on blur. - // We get blur if we click off the window, including to an iframe within our window. - // Both blurs call this function, but fortunately document.hasFocus is true if either - // the document window or our iframe window has focus. - _checkBlur: function () { - if (!_Global.document.hasFocus()) { - // The document doesn't have focus, so they clicked off the app, so light dismiss. - _Overlay._hideAllFlyouts(); - _Overlay._hideLightDismissAppBars(null, false); - } else { - if ((_Overlay._clickEatingFlyoutDiv && - _Overlay._clickEatingFlyoutDiv.style.display === "block") || - (_Overlay._clickEatingAppBarDiv && - _Overlay._clickEatingAppBarDiv.style.display === "block")) { - // We were trying to unfocus the window, but document still has focus, - // so make sure the iframe that took the focus will check for blur next time. - // We don't have to do this if the click eating div is hidden because then - // there would be no flyout or appbar needing light dismiss. - var active = _Global.document.activeElement; - if (active && active.tagName === "IFRAME" && !active.msLightDismissBlur) { - // - This will go away when the IFRAME goes away, and we only create one. - // - This only works in IE because other browsers don't fire focus events on iframe elements. - // - Can't use WinJS.Utilities._addEventListener's focusout because it doesn't fire when an - // iframe loses focus due to changing windows. - active.addEventListener("blur", _Overlay._checkBlur, false); - active.msLightDismissBlur = true; - } - } - } - }, - - // Try to set us as active - _trySetActive: function (element) { - if (!element || !_Global.document.body || !_Global.document.body.contains(element)) { - return false; - } - if (!_ElementUtilities._setActive(element)) { - return false; - } - return (element === _Global.document.activeElement); - }, - - // Try to select the text so keyboard can be used. - _trySelect: function (element) { - try { - if (element && element.select) { - element.select(); - } - } catch (e) { } - }, - - // Prevent the document.activeElement from showing focus - _addHideFocusClass: function (element) { - if (element) { - _ElementUtilities.addClass(element, _Constants.hideFocusClass); - _ElementUtilities._addEventListener(element, "focusout", _Overlay._removeHideFocusClass, false); - } - }, - - // Allow the event.target (element that is losing focus) to show focus next time it gains focus - _removeHideFocusClass: function (event) { - // Make sure we really lost focus and was not just an App switch - var target = event.target; - if (target && target !== _Global.document.activeElement) { - _ElementUtilities.removeClass(target, _Constants.hideFocusClass); - _ElementUtilities._removeEventListener(event.target, "focusout", _Overlay._removeHideFocusClass, false); - } - }, - - _sizeOfDocument: function () { - return { - width: _Global.document.documentElement.offsetWidth, - height: _Global.document.documentElement.offsetHeight, - }; - }, - - _getParentControlUsingClassName: function (element, className) { - while (element && element !== _Global.document.body) { - if (_ElementUtilities.hasClass(element, className)) { - return element.winControl; - } - element = element.parentNode; - } - return null; - }, - - // Hide all light dismiss AppBars if what has focus is not part of a AppBar or flyout. - _hideIfAllAppBarsLostFocus: function _hideIfAllAppBarsLostFocus() { - if (!_Overlay._isAppBarOrChild(_Global.document.activeElement)) { - _Overlay._hideLightDismissAppBars(null, false); - // Ensure that sticky appbars clear cached focus after light dismiss are dismissed, which moved focus. - _Overlay._ElementWithFocusPreviousToAppBar = null; - } - }, - - _hideLightDismissAppBars: function (event, keyboardInvoked) { - var elements = _Global.document.querySelectorAll("." + _Constants.appBarClass); - var len = elements.length; - var AppBars = []; - for (var i = 0; i < len; i++) { - var AppBar = elements[i].winControl; - if (AppBar && !AppBar.sticky && !AppBar.hidden) { - AppBars.push(AppBar); - } - } - - _Overlay._hideAllBars(AppBars, keyboardInvoked); - }, - - // Show/Hide all bars - _hideAllBars: function _Overlay_hideAllBars(bars, keyboardInvoked) { - var allBarsAnimationPromises = bars.map(function (bar) { - bar._keyboardInvoked = keyboardInvoked; - bar.hide(); - return bar._animationPromise; - }); - return Promise.join(allBarsAnimationPromises); - }, - - _showAllBars: function _Overlay_showAllBars(bars, keyboardInvoked) { - var allBarsAnimationPromises = bars.map(function (bar) { - bar._keyboardInvoked = keyboardInvoked; - bar._doNotFocus = false; - bar._show(); - return bar._animationPromise; - }); - return Promise.join(allBarsAnimationPromises); - }, - - // Returns appbar element (or CED/sentinal) if the element or what had focus before the element (if a Flyout) is either: - // 1) an AppBar, - // 2) OR in the subtree of an AppBar, - // 3) OR an AppBar click eating div. - // Returns null otherwise. - _isAppBarOrChild: function (element) { - // If it's null, we can't do this - if (!element) { - return null; - } - - // Intrinsic components of the AppBar count as the AppBar - if (_ElementUtilities.hasClass(element, _Constants._clickEatingAppBarClass) || - _ElementUtilities.hasClass(element, _Constants._clickEatingFlyoutClass) || - _ElementUtilities.hasClass(element, _Constants.firstDivClass) || - _ElementUtilities.hasClass(element, _Constants.finalDivClass) || - _ElementUtilities.hasClass(element, _Constants.invokeButtonClass)) { - return element; - } - - while (element && element !== _Global.document) { - if (_ElementUtilities.hasClass(element, _Constants.appBarClass)) { - return element; - } - if (_ElementUtilities.hasClass(element, "win-flyout") - && element !== element.winControl._previousFocus) { - var flyoutControl = element.winControl; - // If _previousFocus was in a light dismissable AppBar, then this Flyout is considered of an extension of it and that AppBar should not hide. - // Hook up a 'focusout' listener to this Flyout element to make sure that light dismiss AppBars hide if focus moves anywhere other than back to an AppBar. - var appBarElement = _Overlay._isAppBarOrChild(flyoutControl._previousFocus); - if (appBarElement) { - _ElementUtilities._addEventListener(flyoutControl.element, 'focusout', function focusOut() { - // Hides any shown AppBars if the new activeElement is not in an AppBar. - _Overlay._hideIfAllAppBarsLostFocus(); - _ElementUtilities._removeEventListener(flyoutControl.element, 'focusout', focusOut, false); - }, false); - } - return appBarElement; - } - - element = element.parentNode; - } - - return null; - }, - - // WWA Soft Keyboard offsets - _keyboardInfo: { - // Determine if the keyboard is visible or not. - get _visible() { - - try { - return ( - _WinRT.Windows.UI.ViewManagement.InputPane && - _WinRT.Windows.UI.ViewManagement.InputPane.getForCurrentView().occludedRect.height > 0 - ); - } catch (e) { - return false; - } - - }, - - // See if we have to reserve extra space for the IHM - get _extraOccluded() { - var occluded; - if (_WinRT.Windows.UI.ViewManagement.InputPane) { - try { - occluded = _WinRT.Windows.UI.ViewManagement.InputPane.getForCurrentView().occludedRect.height; - } catch (e) { - } - } - - // Nothing occluded if not visible. - if (occluded && !_Overlay._keyboardInfo._isResized) { - // View hasn't been resized, need to return occluded height. - return occluded; - } - - // View already has space for keyboard or there's no keyboard - return 0; - - }, - - // See if the view has been resized to fit a keyboard - get _isResized() { - // Compare ratios. Very different includes IHM space. - var heightRatio = _Global.document.documentElement.clientHeight / _Global.innerHeight, - widthRatio = _Global.document.documentElement.clientWidth / _Global.innerWidth; - - // If they're nearly identical, then the view hasn't been resized for the IHM - // Only check one bound because we know the IHM will make it shorter, not skinnier. - return (widthRatio / heightRatio < 0.99); - - }, - - // Get the bottom of our visible area. - get _visibleDocBottom() { - return _Overlay._keyboardInfo._visibleDocTop + _Overlay._keyboardInfo._visibleDocHeight; - - }, - - // Get the height of the visible document, e.g. the height of the visual viewport minus any IHM occlusion. - get _visibleDocHeight() { - return _Overlay._keyboardInfo._visualViewportHeight - _Overlay._keyboardInfo._extraOccluded; - - }, - - // Get total length of the IHM showPanel animation - get _animationShowLength() { - if (_WinRT.Windows.UI.Core.AnimationMetrics) { - var a = _WinRT.Windows.UI.Core.AnimationMetrics, - animationDescription = new a.AnimationDescription(a.AnimationEffect.showPanel, a.AnimationEffectTarget.primary); - var animations = animationDescription.animations; - var max = 0; - for (var i = 0; i < animations.size; i++) { - var animation = animations[i]; - max = Math.max(max, animation.delay + animation.duration); - } - return max; - } else { - return 0; - } - }, - }, - - _ElementWithFocusPreviousToAppBar: null, - - // for tests - _clickEatingAppBarClass: _Constants._clickEatingAppBarClass, - _clickEatingFlyoutClass: _Constants._clickEatingFlyoutClass, - - // Padding for IHM timer to allow for first scroll event - _scrollTimeout: 150, - - // Events - beforeShow: BEFORESHOW, - beforeHide: BEFOREHIDE, - afterShow: AFTERSHOW, - afterHide: AFTERHIDE, - - commonstrings: { - get cannotChangeCommandsWhenVisible() { return "Invalid argument: You must call hide() before changing {0} commands"; }, - get cannotChangeHiddenProperty() { return "Unable to set hidden property while parent {0} is visible."; } - } - }); - - // Mixin for WWA's Soft Keyboard offsets when -ms-device-fixed CSS positioning is supported, or for general _Overlay positioning whenever we are in a web browser outside of WWA. - // If we are in an instance of WWA, all _Overlay elements will use -ms-device-fixed positioning which fixes them to the visual viewport directly. - var _keyboardInfo_Mixin = { - - // Get the top offset of our visible area, aka the top of the visual viewport. - // This is always 0 when _Overlay elements use -ms-device-fixed positioning. - _visibleDocTop: function _visibleDocTop() { - return 0; - }, - - // Get the bottom offset of the visual viewport, plus any IHM occlusion. - _visibleDocBottomOffset: function _visibleDocBottomOffset() { - // For -ms-device-fixed positioned elements, the bottom is just 0 when there's no IHM. - // When the IHM appears, the text input that invoked it may be in a position on the page that is occluded by the IHM. - // In that instance, the default browser behavior is to resize the visual viewport and scroll the input back into view. - // However, if the viewport resize is prevented by an IHM event listener, the keyboard will still occlude - // -ms-device-fixed elements, so we adjust the bottom offset of the appbar by the height of the occluded rect of the IHM. - return (_Overlay._keyboardInfo._isResized) ? 0 : _Overlay._keyboardInfo._extraOccluded; - }, - - // Get the visual viewport height. window.innerHeight doesn't return floating point values which are present with high DPI. - _visualViewportHeight: function _visualViewportHeight() { - var boundingRect = _Overlay._keyboardInfo._visualViewportSpace; - return boundingRect.bottom - boundingRect.top; - }, - - // Get the visual viewport width. window.innerWidth doesn't return floating point values which are present with high DPI. - _visualViewportWidth: function _visualViewportWidth() { - var boundingRect = _Overlay._keyboardInfo._visualViewportSpace; - return boundingRect.right - boundingRect.left; - }, - - _visualViewportSpace: function _visualViewportSpace() { - var visualViewportSpace = _Global.document.body.querySelector("." + _Constants._visualViewportClass); - if (!visualViewportSpace) { - visualViewportSpace = _Global.document.createElement("DIV"); - visualViewportSpace.className = _Constants._visualViewportClass; - _Global.document.body.appendChild(visualViewportSpace); - } - return visualViewportSpace.getBoundingClientRect(); - }, - }; - - // Mixin for WWA's Soft Keyboard offsets in IE10 mode, where -ms-device-fixed positioning is not available. - // In that instance, all _Overlay elements fall back to using CSS fixed positioning. - // This is for backwards compatibility with Apache Cordova Apps targeting WWA since they target IE10. - // This is essentially the original logic for WWA _Overlay / Soft Keyboard interactions we used when windows 8 first launched. - var _keyboardInfo_Windows8WWA_Mixin = { - // Get the top of our visible area in terms of its absolute distance from the top of document.documentElement. - // Normalizes any offsets which have have occured between the visual viewport and the layout viewport due to resizing the viewport to fit the IHM and/or optical zoom. - _visibleDocTop: function _visibleDocTop_Windows8WWA() { - return _Global.window.pageYOffset - _Global.document.documentElement.scrollTop; - }, - - // Get the bottom offset of the visual viewport from the bottom of the layout viewport, plus any IHM occlusion. - _visibleDocBottomOffset: function _visibleDocBottomOffset_Windows8WWA() { - return _Global.document.documentElement.clientHeight - _Overlay._keyboardInfo._visibleDocBottom; - }, - - _visualViewportHeight: function _visualViewportHeight_Windows8WWA() { - return _Global.window.innerHeight; - }, - - _visualViewportWidth: function _visualViewportWidth_Windows8WWA() { - return _Global.window.innerWidth; - }, - }; - - _Base.Class.mix(_Overlay, _Control.DOMEventMixin); - - // Feature detect for -ms-device-fixed positioning and fill out the - // remainder of our WWA Soft KeyBoard handling logic with mixins. - var visualViewportSpace = _Global.document.createElement("DIV"); - visualViewportSpace.className = _Constants._visualViewportClass; - _Global.document.body.appendChild(visualViewportSpace); - - var propertiesMixin, - hasDeviceFixed = _Global.getComputedStyle(visualViewportSpace).position === "-ms-device-fixed"; - if (!hasDeviceFixed && _WinRT.Windows.UI.ViewManagement.InputPane) { - // If we are in WWA with IE 10 mode, use special keyboard handling knowledge for IE10 IHM. - propertiesMixin = _keyboardInfo_Windows8WWA_Mixin; - _Global.document.body.removeChild(visualViewportSpace); - } else { - // If we are in WWA on IE 11 or outside of WWA on any web browser use general positioning logic. - propertiesMixin = _keyboardInfo_Mixin; - } - - for (var propertyName in propertiesMixin) { - Object.defineProperty(_Overlay._keyboardInfo, propertyName, { - get: propertiesMixin[propertyName], - }); - } - - return _Overlay; - }) - }); - -}); - - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -/// appbar,Flyout,Flyouts,Statics -define('WinJS/Controls/Flyout',[ - 'exports', - '../Core/_Global', - '../Core/_Base', - '../Core/_BaseUtils', - '../Core/_ErrorFromName', - '../Core/_Resources', - '../Core/_WriteProfilerMark', - '../Animations', - '../Utilities/_Dispose', - '../Utilities/_ElementUtilities', - '../Utilities/_Hoverable', - './AppBar/_Constants', - './Flyout/_Overlay', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls' - ], function flyoutInit(exports, _Global, _Base, _BaseUtils, _ErrorFromName, _Resources, _WriteProfilerMark, Animations, _Dispose, _ElementUtilities, _Hoverable, _Constants, _Overlay) { - "use strict"; - - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - /// - /// - /// Displays lightweight UI that is either informational, or requires user interaction. - /// Unlike a dialog, a Flyout can be light dismissed by clicking or tapping off of it. - /// - /// - /// - /// Flyout - /// - /// - /// ]]> - /// Raised just before showing a flyout. - /// Raised immediately after a flyout is fully shown. - /// Raised just before hiding a flyout. - /// Raised immediately after a flyout is fully hidden. - /// The Flyout control itself. - /// - /// - /// - Flyout: _Base.Namespace._lazy(function () { - var Key = _ElementUtilities.Key; - - function getDimension(element, property) { - return parseFloat(element, _Global.getComputedStyle(element, null)[property]); - } - - var strings = { - get ariaLabel() { return _Resources._getWinJSString("ui/flyoutAriaLabel").value; }, - get noAnchor() { return "Invalid argument: Showing flyout requires a DOM element as its parameter."; }, - get badPlacement() { return "Invalid argument: Flyout placement should be 'top' (default), 'bottom', 'left', 'right', or 'auto'."; }, - get badAlignment() { return "Invalid argument: Flyout alignment should be 'center' (default), 'left', or 'right'."; } - }; - - var Flyout = _Base.Class.derive(_Overlay._Overlay, function Flyout_ctor(element, options) { - /// - /// - /// Creates a new Flyout control. - /// - /// - /// The DOM element that hosts the control. - /// - /// - /// The set of properties and values to apply to the new Flyout. - /// - /// The new Flyout control. - /// - /// - - // Simplify checking later - options = options || {}; - - // Make sure there's an input element - this._element = element || _Global.document.createElement("div"); - this._id = this._element.id || _ElementUtilities._uniqueID(this._element); - this._writeProfilerMark("constructor,StartTM"); - - this._baseFlyoutConstructor(this._element, options); - - var _elms = this._element.getElementsByTagName("*"); - var firstDiv = this._addFirstDiv(); - firstDiv.tabIndex = _ElementUtilities._getLowestTabIndexInList(_elms); - var finalDiv = this._addFinalDiv(); - finalDiv.tabIndex = _ElementUtilities._getHighestTabIndexInList(_elms); - - // Handle "esc" & "tab" key presses - this._element.addEventListener("keydown", this._handleKeyDown, true); - - this._writeProfilerMark("constructor,StopTM"); - return this; - }, { - _lastMaxHeight: null, - - _baseFlyoutConstructor: function Flyout_baseFlyoutContstructor(element, options) { - // Flyout constructor - - // We have some options with defaults - this._placement = "auto"; - this._alignment = "center"; - - // Call the base overlay constructor helper - this._baseOverlayConstructor(element, options); - - // Make a click eating div - _Overlay._Overlay._createClickEatingDivFlyout(); - - // Start flyouts hidden - this._element.style.visibilty = "hidden"; - this._element.style.display = "none"; - - // Attach our css class - _ElementUtilities.addClass(this._element, _Constants.flyoutClass); - _ElementUtilities.addClass(this._element, _Constants.flyoutLightClass); - - // Make sure we have an ARIA role - var role = this._element.getAttribute("role"); - if (role === null || role === "" || role === undefined) { - if (_ElementUtilities.hasClass(this._element, _Constants.menuClass)) { - this._element.setAttribute("role", "menu"); - } else { - this._element.setAttribute("role", "dialog"); - } - } - var label = this._element.getAttribute("aria-label"); - if (label === null || label === "" || label === undefined) { - this._element.setAttribute("aria-label", strings.ariaLabel); - } - - // Base animation is popIn, but our flyout has different arguments - this._currentAnimateIn = this._flyoutAnimateIn; - this._currentAnimateOut = this._flyoutAnimateOut; - - // Make sure _Overlay event handlers are hooked up - this._addOverlayEventHandlers(true); - }, - - /// - /// Gets or sets the Flyout control's anchor. The anchor element is the HTML element which the Flyout originates from and is positioned relative to. - /// (This setting can be overridden when you call the show method.) - /// - /// - anchor: { - get: function () { - return this._anchor; - }, - set: function (value) { - this._anchor = value; - } - }, - - /// - /// Gets or sets the default placement of this Flyout. (This setting can be overridden when you call the show method.) - /// - /// - placement: { - get: function () { - return this._placement; - }, - set: function (value) { - if (value !== "top" && value !== "bottom" && value !== "left" && value !== "right" && value !== "auto") { - // Not a legal placement value - throw new _ErrorFromName("WinJS.UI.Flyout.BadPlacement", strings.badPlacement); - } - this._placement = value; - } - }, - - /// - /// Gets or sets the default alignment for this Flyout. (This setting can be overridden when you call the show method.) - /// - /// - alignment: { - get: function () { - return this._alignment; - }, - set: function (value) { - if (value !== "right" && value !== "left" && value !== "center") { - // Not a legal alignment value - throw new _ErrorFromName("WinJS.UI.Flyout.BadAlignment", strings.badAlignment); - } - this._alignment = value; - } - }, - - _dispose: function Flyout_dispose() { - _Dispose.disposeSubTree(this.element); - this._hide(); - this.anchor = null; - }, - - show: function (anchor, placement, alignment) { - /// - /// - /// Shows the Flyout, if hidden, regardless of other states. - /// - /// - /// The DOM element, or ID of a DOM element to anchor the Flyout, overriding the anchor property for this time only. - /// - /// - /// The placement of the Flyout to the anchor: 'auto' (default), 'top', 'bottom', 'left', or 'right'. This parameter overrides the placement property for this show only. - /// - /// - /// For 'top' or 'bottom' placement, the alignment of the Flyout to the anchor's edge: 'center' (default), 'left', or 'right'. - /// This parameter overrides the alignment property for this show only. - /// - /// - /// - this._writeProfilerMark("show,StartTM"); // The corresponding "stop" profiler mark is handled in _Overlay._baseEndShow(). - // Just call private version to make appbar flags happy - this._show(anchor, placement, alignment); - }, - - _show: function Flyout_show(anchor, placement, alignment) { - this._baseFlyoutShow(anchor, placement, alignment); - }, - - hide: function () { - /// - /// - /// Hides the Flyout, if visible, regardless of other states. - /// - /// - /// - // Just wrap the private one, turning off keyboard invoked flag - this._writeProfilerMark("hide,StartTM"); // The corresponding "stop" profiler mark is handled in _Overlay._baseEndHide(). - this._keyboardInvoked = false; - this._hide(); - }, - - _hide: function Flyout_hide() { - if (this._baseHide()) { - // Return focus if this or the flyout CED has focus - var active = _Global.document.activeElement; - if (this._previousFocus - && active - && (this._element.contains(active) - || _ElementUtilities.hasClass(active, _Overlay._Overlay._clickEatingFlyoutClass)) - && this._previousFocus.focus !== undefined) { - - // _isAppBarOrChild may return a CED or sentinal - var appBar = _Overlay._Overlay._isAppBarOrChild(this._previousFocus); - if (!appBar || (appBar.winControl && !appBar.winControl.hidden && !appBar.winAnimating)) { - // Don't move focus back to a appBar that is hidden - // We cannot rely on element.style.visibility because it will be visible while animating - var role = this._previousFocus.getAttribute("role"); - var fHideRole = _Overlay._Overlay._keyboardInfo._visible && !this._keyboardWasUp; - if (fHideRole) { - // Convince IHM to dismiss because it only came up after the flyout was up. - // Change aria role and back to get IHM to dismiss. - this._previousFocus.setAttribute("role", ""); - } - - if (this._keyboardInvoked) { - this._previousFocus.focus(); - } else { - _Overlay._Overlay._trySetActive(this._previousFocus); - } - active = _Global.document.activeElement; - - if (fHideRole) { - // Restore the role so that css is applied correctly - var previousFocus = this._previousFocus; - if (previousFocus) { - _BaseUtils._yieldForDomModification(function () { - previousFocus.setAttribute("role", role); - }); - } - } - } - - // If the anchor gained focus we want to hide the focus in the non-keyboarding scenario - if (!this._keyboardInvoked && (this._previousFocus === active) && appBar && active) { - _Overlay._Overlay._addHideFocusClass(active); - } - } - - this._previousFocus = null; - - // Need click-eating div to be hidden if there are no other visible flyouts - if (!this._isThereVisibleFlyout()) { - _Overlay._Overlay._hideClickEatingDivFlyout(); - } - } - }, - - _baseFlyoutShow: function Flyout_baseFlyoutShow(anchor, placement, alignment) { - // Don't do anything if disabled - if (this.disabled) { - return; - } - // Pick up defaults - if (!anchor) { - anchor = this._anchor; - } - if (!placement) { - placement = this._placement; - } - if (!alignment) { - alignment = this._alignment; - } - - // Dereference the anchor if necessary - if (typeof anchor === "string") { - anchor = _Global.document.getElementById(anchor); - } else if (anchor && anchor.element) { - anchor = anchor.element; - } - - // We expect an anchor - if (!anchor) { - // If we have _nextLeft, etc., then we were continuing an old animation, so that's OK - if (!this._retryLast) { - throw new _ErrorFromName("WinJS.UI.Flyout.NoAnchor", strings.noAnchor); - } - // Last call was incomplete, so use the previous _current values. - this._retryLast = null; - } else { - // Remember the anchor so that if we lose focus we can go back - this._currentAnchor = anchor; - // Remember current values - this._currentPlacement = placement; - this._currentAlignment = alignment; - } - - // Need click-eating div to be visible, no matter what - if (!this._sticky) { - _Overlay._Overlay._showClickEatingDivFlyout(); - } - - // If we're animating (eg baseShow is going to fail), then don't mess up our current state. - // Queue us up to wait for current animation to finish first. - if (this._element.winAnimating) { - this._doNext = "show"; - this._retryLast = true; - return; - } - - // We call our base _baseShow to handle the actual animation - if (this._baseShow()) { - // (_baseShow shouldn't ever fail because we tested winAnimating above). - if (!_ElementUtilities.hasClass(this.element, "win-menu")) { - // Verify that the firstDiv is in the correct location. - // Move it to the correct location or add it if not. - var _elms = this._element.getElementsByTagName("*"); - var firstDiv = this.element.querySelectorAll(".win-first"); - if (this.element.children.length && !_ElementUtilities.hasClass(this.element.children[0], _Constants.firstDivClass)) { - if (firstDiv && firstDiv.length > 0) { - firstDiv.item(0).parentNode.removeChild(firstDiv.item(0)); - } - - firstDiv = this._addFirstDiv(); - } - firstDiv.tabIndex = _ElementUtilities._getLowestTabIndexInList(_elms); - - // Verify that the finalDiv is in the correct location. - // Move it to the correct location or add it if not. - var finalDiv = this.element.querySelectorAll(".win-final"); - if (!_ElementUtilities.hasClass(this.element.children[this.element.children.length - 1], _Constants.finalDivClass)) { - if (finalDiv && finalDiv.length > 0) { - finalDiv.item(0).parentNode.removeChild(finalDiv.item(0)); - } - - finalDiv = this._addFinalDiv(); - } - finalDiv.tabIndex = _ElementUtilities._getHighestTabIndexInList(_elms); - } - - // Hide all other flyouts - this._hideAllOtherFlyouts(this); - - // Store what had focus before showing the Flyout. - // This must happen after we hide all other flyouts so that we store the correct element. - this._previousFocus = _Global.document.activeElement; - } - }, - - _endShow: function Flyout_endShow() { - // Remember if the IHM was up since we may need to hide it when the flyout hides. - // This check needs to happen after the IHM has a chance to hide itself after we force hide - // all other visible Flyouts. - this._keyboardWasUp = _Overlay._Overlay._keyboardInfo._visible; - - if (!_ElementUtilities.hasClass(this.element, _Constants.menuClass)) { - // Put focus on the first child in the Flyout - this._focusOnFirstFocusableElementOrThis(); - - // Prevent what is gaining focus from showing that it has focus - _Overlay._Overlay._addHideFocusClass(_Global.document.activeElement); - } else { - // Make sure the menu has focus, but don't show a focus rect - _Overlay._Overlay._trySetActive(this._element); - } - }, - - // Find our new flyout position. - _findPosition: function Flyout_findPosition() { - this._nextHeight = null; - this._keyboardMovedUs = false; - this._hasScrolls = false; - this._keyboardSquishedUs = 0; - - // Make sure menu toggles behave - if (this._checkToggle) { - this._checkToggle(); - } - - // Update margins for this alignment and remove old scrolling - this._updateAdjustments(this._currentAlignment); - - // Set up the new position, and prep the offset for showPopup - this._getTopLeft(); - // Panning top offset is calculated top - this._scrollTop = this._nextTop - _Overlay._Overlay._keyboardInfo._visibleDocTop; - - // Adjust position - if (this._nextTop < 0) { - // Need to attach to bottom - this._element.style.bottom = "0px"; - this._element.style.top = "auto"; - } else { - // Normal, attach to top - this._element.style.top = this._nextTop + "px"; - this._element.style.bottom = "auto"; - } - if (this._nextLeft < 0) { - // Overran right, attach to right - this._element.style.right = "0px"; - this._element.style.left = "auto"; - } else { - // Normal, attach to left - this._element.style.left = this._nextLeft + "px"; - this._element.style.right = "auto"; - } - - // Adjust height/scrollbar - if (this._nextHeight !== null) { - _ElementUtilities.addClass(this._element, _Constants.scrollsClass); - this._lastMaxHeight = this._element.style.maxHeight; - this._element.style.maxHeight = this._nextHeight + "px"; - this._nextBottom = this._nextTop + this._nextHeight; - this._hasScrolls = true; - } - - // May need to adjust if the IHM is showing. - if (_Overlay._Overlay._keyboardInfo._visible) { - // Use keyboard logic - this._checkKeyboardFit(); - - if (this._keyboardMovedUs) { - this._adjustForKeyboard(); - } - } - }, - - // This determines our positioning. We have 5 modes, the 1st four are explicit, the last is automatic: - // * top - position explicitly on the top of the anchor, shrinking and adding scrollbar as needed. - // * bottom - position explicitly below the anchor, shrinking and adding scrollbar as needed. - // * left - position left of the anchor, shrinking and adding a vertical scrollbar as needed. - // * right - position right of the anchor, shrinking and adding a vertical scroolbar as needed. - // * auto - Automatic placement. - // Auto tests the height of the anchor and the flyout. For consistency in orientation, we imagine - // that the anchor is placed in the vertical center of the display. If the flyout would fit above - // that centered anchor, then we will place the flyout vertically in relation to the anchor, otherwise - // placement will be horizontal. - // Vertical auto placement will be positioned on top of the anchor if room, otherwise below the anchor. - // - this is because touch users would be more likely to obscure flyouts below the anchor. - // Horizontal auto placement will be positioned to the left of the anchor if room, otherwise to the right. - // - this is because right handed users would be more likely to obscure a flyout on the right of the anchor. - // Auto placement will add a vertical scrollbar if necessary. - _getTopLeft: function Flyout_getTopLeft() { - var anchorRawRectangle = this._currentAnchor.getBoundingClientRect(), - flyout = {}, - anchor = {}; - - // Adjust for the anchor's margins. - anchor.top = anchorRawRectangle.top; - anchor.bottom = anchorRawRectangle.bottom; - anchor.left = anchorRawRectangle.left; - anchor.right = anchorRawRectangle.right; - anchor.height = anchor.bottom - anchor.top; - anchor.width = anchor.right - anchor.left; - - // Get our flyout and margins, note that getDimension calls - // window.getComputedStyle, which ensures layout is updated. - flyout.marginTop = getDimension(this._element, "marginTop"); - flyout.marginBottom = getDimension(this._element, "marginBottom"); - flyout.marginLeft = getDimension(this._element, "marginLeft"); - flyout.marginRight = getDimension(this._element, "marginRight"); - flyout.width = _ElementUtilities.getTotalWidth(this._element); - flyout.height = _ElementUtilities.getTotalHeight(this._element); - flyout.innerWidth = _ElementUtilities.getContentWidth(this._element); - flyout.innerHeight = _ElementUtilities.getContentHeight(this._element); - this._nextMarginPadding = (flyout.height - flyout.innerHeight); - - // Check fit for requested this._currentPlacement, doing fallback if necessary - switch (this._currentPlacement) { - case "top": - if (!this._fitTop(anchor, flyout)) { - // Didn't fit, needs scrollbar - this._nextTop = _Overlay._Overlay._keyboardInfo._visibleDocTop; - this._nextHeight = anchor.top - _Overlay._Overlay._keyboardInfo._visibleDocTop - this._nextMarginPadding; - } - this._centerHorizontally(anchor, flyout, this._currentAlignment); - break; - case "bottom": - if (!this._fitBottom(anchor, flyout)) { - // Didn't fit, needs scrollbar - this._nextTop = -1; - this._nextHeight = _Overlay._Overlay._keyboardInfo._visibleDocHeight - (anchor.bottom - _Overlay._Overlay._keyboardInfo._visibleDocTop) - this._nextMarginPadding; - } - this._centerHorizontally(anchor, flyout, this._currentAlignment); - break; - case "left": - if (!this._fitLeft(anchor, flyout)) { - // Didn't fit, just shove it to edge - this._nextLeft = 0; - } - this._centerVertically(anchor, flyout); - break; - case "right": - if (!this._fitRight(anchor, flyout)) { - // Didn't fit,just shove it to edge - this._nextLeft = -1; - } - this._centerVertically(anchor, flyout); - break; - case "auto": - // Auto, if the anchor was in the vertical center of the display would we fit above it? - if (this._sometimesFitsAbove(anchor, flyout)) { - // It will fit above or below the anchor - if (!this._fitTop(anchor, flyout)) { - // Didn't fit above (preferred), so go below. - this._fitBottom(anchor, flyout); - } - this._centerHorizontally(anchor, flyout, this._currentAlignment); - } else { - // Won't fit above or below, try a side - if (!this._fitLeft(anchor, flyout) && - !this._fitRight(anchor, flyout)) { - // Didn't fit left or right either, is top or bottom bigger? - if (this._topHasMoreRoom(anchor)) { - // Top, won't fit, needs scrollbar - this._nextTop = _Overlay._Overlay._keyboardInfo._visibleDocTop; - this._nextHeight = anchor.top - _Overlay._Overlay._keyboardInfo._visibleDocTop - this._nextMarginPadding; - } else { - // Bottom, won't fit, needs scrollbar - this._nextTop = -1; - this._nextHeight = _Overlay._Overlay._keyboardInfo._visibleDocHeight - (anchor.bottom - _Overlay._Overlay._keyboardInfo._visibleDocTop) - this._nextMarginPadding; - } - this._centerHorizontally(anchor, flyout, this._currentAlignment); - } else { - this._centerVertically(anchor, flyout); - } - } - break; - default: - // Not a legal this._currentPlacement value - throw new _ErrorFromName("WinJS.UI.Flyout.BadPlacement", strings.badPlacement); - } - - // Remember "bottom" in case we need to consider keyboard later, only tested for top-pinned bars - this._nextBottom = this._nextTop + flyout.height; - }, - - // If the anchor is centered vertically, would the flyout fit above it? - _sometimesFitsAbove: function Flyout_sometimesFitsAbove(anchor, flyout) { - return ((_Overlay._Overlay._keyboardInfo._visibleDocHeight - anchor.height) / 2) >= flyout.height; - }, - - _topHasMoreRoom: function Flyout_topHasMoreRoom(anchor) { - return anchor.top > _Overlay._Overlay._keyboardInfo._visibleDocHeight - anchor.bottom; - }, - - // See if we can fit in various places, fitting in the main view, - // ignoring viewport changes, like for the IHM. - _fitTop: function Flyout_fitTop(anchor, flyout) { - this._nextTop = anchor.top - flyout.height; - this._nextAnimOffset = { top: "50px", left: "0px", keyframe: "WinJS-showFlyoutTop" }; - return (this._nextTop >= _Overlay._Overlay._keyboardInfo._visibleDocTop && - this._nextTop + flyout.height <= _Overlay._Overlay._keyboardInfo._visibleDocBottom); - }, - - _fitBottom: function Flyout_fitBottom(anchor, flyout) { - this._nextTop = anchor.bottom; - this._nextAnimOffset = { top: "-50px", left: "0px", keyframe: "WinJS-showFlyoutBottom" }; - return (this._nextTop >= _Overlay._Overlay._keyboardInfo._visibleDocTop && - this._nextTop + flyout.height <= _Overlay._Overlay._keyboardInfo._visibleDocBottom); - }, - - _fitLeft: function Flyout_fitLeft(anchor, flyout) { - this._nextLeft = anchor.left - flyout.width; - this._nextAnimOffset = { top: "0px", left: "50px", keyframe: "WinJS-showFlyoutLeft" }; - return (this._nextLeft >= 0 && this._nextLeft + flyout.width <= _Overlay._Overlay._keyboardInfo._visualViewportWidth); - }, - - _fitRight: function Flyout_fitRight(anchor, flyout) { - this._nextLeft = anchor.right; - this._nextAnimOffset = { top: "0px", left: "-50px", keyframe: "WinJS-showFlyoutRight" }; - return (this._nextLeft >= 0 && this._nextLeft + flyout.width <= _Overlay._Overlay._keyboardInfo._visualViewportWidth); - }, - - _centerVertically: function Flyout_centerVertically(anchor, flyout) { - this._nextTop = anchor.top + anchor.height / 2 - flyout.height / 2; - if (this._nextTop < _Overlay._Overlay._keyboardInfo._visibleDocTop) { - this._nextTop = _Overlay._Overlay._keyboardInfo._visibleDocTop; - } else if (this._nextTop + flyout.height >= _Overlay._Overlay._keyboardInfo._visibleDocBottom) { - // Flag to put on bottom - this._nextTop = -1; - } - }, - - _centerHorizontally: function Flyout_centerHorizontally(anchor, flyout, alignment) { - if (alignment === "center") { - this._nextLeft = anchor.left + anchor.width / 2 - flyout.width / 2; - } else if (alignment === "left") { - this._nextLeft = anchor.left; - } else if (alignment === "right") { - this._nextLeft = anchor.right - flyout.width; - } else { - throw new _ErrorFromName("WinJS.UI.Flyout.BadAlignment", strings.badAlignment); - } - if (this._nextLeft < 0) { - this._nextLeft = 0; - } else if (this._nextLeft + flyout.width >= _Global.document.documentElement.clientWidth) { - // flag to put on right - this._nextLeft = -1; - } - }, - - _updateAdjustments: function Flyout_updateAdjustments(alignment) { - // Move to 0,0 in case it is off screen, so that it lays out at a reasonable size - this._element.style.top = "0px"; - this._element.style.bottom = "auto"; - this._element.style.left = "0px"; - this._element.style.right = "auto"; - - // Scrolling may not be necessary - _ElementUtilities.removeClass(this._element, _Constants.scrollsClass); - if (this._lastMaxHeight !== null) { - this._element.style.maxHeight = this._lastMaxHeight; - this._lastMaxHeight = null; - } - // Alignment - if (alignment === "center") { - _ElementUtilities.removeClass(this._element, "win-leftalign"); - _ElementUtilities.removeClass(this._element, "win-rightalign"); - } else if (alignment === "left") { - _ElementUtilities.addClass(this._element, "win-leftalign"); - _ElementUtilities.removeClass(this._element, "win-rightalign"); - } else if (alignment === "right") { - _ElementUtilities.addClass(this._element, "win-rightalign"); - _ElementUtilities.removeClass(this._element, "win-leftalign"); - } - }, - - _showingKeyboard: function Flyout_showingKeyboard(event) { - if (this.hidden) { - return; - } - - // The only way that we can be showing a keyboard when a flyout is up is because the input was - // in the flyout itself, in which case we'll be moving ourselves. There is no practical way - // for the application to override this as the focused element is in our flyout. - event.ensuredFocusedElementInView = true; - - // See if the keyboard is going to force us to move - this._checkKeyboardFit(); - - if (this._keyboardMovedUs) { - // Pop out immediately, then move to new spot - this._element.style.opacity = 0; - var that = this; - _Global.setTimeout(function () { that._adjustForKeyboard(); that._baseAnimateIn(); }, _Overlay._Overlay._keyboardInfo._animationShowLength); - } - }, - - _resize: function Flyout_resize() { - // If hidden and not busy animating, then nothing to do - if (this.hidden && !this._animating) { - return; - } - - // This should only happen if the IHM is dismissing, - // the only other way is for viewstate changes, which - // would dismiss any flyout. - if (this._needToHandleHidingKeyboard) { - // Hiding keyboard, update our position, giving the anchor a chance to update first. - var that = this; - _BaseUtils._setImmediate(function () { that._findPosition(); }); - this._needToHandleHidingKeyboard = false; - } - }, - - _checkKeyboardFit: function Flyout_checkKeyboardFit() { - // Check for moving to fit keyboard: - // - Too Tall, above top, or below bottom. - var height = _ElementUtilities.getTotalHeight(this._element); - var viewportHeight = _Overlay._Overlay._keyboardInfo._visibleDocHeight - this._nextMarginPadding; - if (height > viewportHeight) { - // Too Tall, pin to top with max height - this._keyboardMovedUs = true; - this._scrollTop = 0; - this._keyboardSquishedUs = viewportHeight; - } else if (this._nextTop === -1) { - // Pinned to bottom counts as moved - this._keyboardMovedUs = true; - } else if (this._nextTop < _Overlay._Overlay._keyboardInfo._visibleDocTop) { - // Above the top of the viewport - this._scrollTop = 0; - this._keyboardMovedUs = true; - } else if (this._nextBottom > _Overlay._Overlay._keyboardInfo._visibleDocBottom) { - // Below the bottom of the viewport - this._scrollTop = -1; - this._keyboardMovedUs = true; - } - }, - - _adjustForKeyboard: function Flyout_adjustForKeyboard() { - // Keyboard moved us, update our metrics as needed - if (this._keyboardSquishedUs) { - // Add scrollbar if we didn't already have scrollsClass - if (!this._hasScrolls) { - _ElementUtilities.addClass(this._element, _Constants.scrollsClass); - this._lastMaxHeight = this._element.style.maxHeight; - } - // Adjust height - this._element.style.maxHeight = this._keyboardSquishedUs + "px"; - } - - // Update top/bottom - this._checkScrollPosition(true); - }, - - _hidingKeyboard: function Flyout_hidingKeyboard() { - // If we aren't visible and not animating, or haven't been repositioned, then nothing to do - // We don't know if the keyboard moved the anchor, so _keyboardMovedUs doesn't help here - if (this.hidden && !this._animating) { - return; - } - - // Snap to the final position - // We'll either just reveal the current space or resize the window - if (_Overlay._Overlay._keyboardInfo._isResized) { - // Flag resize that we'll need an updated position - this._needToHandleHidingKeyboard = true; - } else { - // Not resized, update our final position, giving the anchor a chance to update first. - var that = this; - _BaseUtils._setImmediate(function () { that._findPosition(); }); - } - }, - - _checkScrollPosition: function Flyout_checkScrollPosition(showing) { - if (this.hidden && !showing) { - return; - } - - // May need to adjust top by viewport offset - if (this._scrollTop < 0) { - // Need to attach to bottom - this._element.style.bottom = _Overlay._Overlay._keyboardInfo._visibleDocBottomOffset + "px"; - this._element.style.top = "auto"; - } else { - // Normal, attach to top - this._element.style.top = _Overlay._Overlay._keyboardInfo._visibleDocTop + "px"; - this._element.style.bottom = "auto"; - } - }, - - // AppBar flyout animations - _flyoutAnimateIn: function Flyout_flyoutAnimateIn() { - if (this._keyboardMovedUs) { - return this._baseAnimateIn(); - } else { - this._element.style.opacity = 1; - this._element.style.visibility = "visible"; - return Animations.showPopup(this._element, this._nextAnimOffset); - } - }, - - _flyoutAnimateOut: function Flyout_flyoutAnimateOut() { - if (this._keyboardMovedUs) { - return this._baseAnimateOut(); - } else { - this._element.style.opacity = 0; - return Animations.hidePopup(this._element, this._nextAnimOffset); - } - }, - - // Hide all other flyouts besides this one - _hideAllOtherFlyouts: function Flyout_hideAllOtherFlyouts(thisFlyout) { - var flyouts = _Global.document.querySelectorAll("." + _Constants.flyoutClass); - for (var i = 0; i < flyouts.length; i++) { - var flyoutControl = flyouts[i].winControl; - if (flyoutControl && !flyoutControl.hidden && (flyoutControl !== thisFlyout)) { - flyoutControl.hide(); - } - } - }, - - // Returns true if there is a flyout in the DOM that is not hidden - _isThereVisibleFlyout: function Flyout_isThereVisibleFlyout() { - var flyouts = _Global.document.querySelectorAll("." + _Constants.flyoutClass); - for (var i = 0; i < flyouts.length; i++) { - var flyoutControl = flyouts[i].winControl; - if (flyoutControl && !flyoutControl.hidden) { - return true; - } - } - - return false; - }, - - _handleKeyDown: function Flyout_handleKeyDown(event) { - // Escape closes flyouts but if the user has a text box with an IME candidate - // window open, we want to skip the ESC key event since it is handled by the IME. - // When the IME handles a key it sets event.keyCode === Key.IME for an easy check. - if (event.keyCode === Key.escape && event.keyCode !== Key.IME) { - // Show a focus rect on what we move focus to - event.preventDefault(); - event.stopPropagation(); - this.winControl._keyboardInvoked = true; - this.winControl._hide(); - } else if ((event.keyCode === Key.space || event.keyCode === Key.enter) - && (this === _Global.document.activeElement)) { - event.preventDefault(); - event.stopPropagation(); - this.winControl.hide(); - } else if (event.shiftKey && event.keyCode === Key.tab - && this === _Global.document.activeElement - && !event.altKey && !event.ctrlKey && !event.metaKey) { - event.preventDefault(); - event.stopPropagation(); - this.winControl._focusOnLastFocusableElementOrThis(); - } - }, - - // Create and add a new first div as the first child - _addFirstDiv: function Flyout_addFirstDiv() { - var firstDiv = _Global.document.createElement("div"); - firstDiv.className = _Constants.firstDivClass; - firstDiv.style.display = "inline"; - firstDiv.setAttribute("role", "menuitem"); - firstDiv.setAttribute("aria-hidden", "true"); - - // add to beginning - if (this._element.children[0]) { - this._element.insertBefore(firstDiv, this._element.children[0]); - } else { - this._element.appendChild(firstDiv); - } - - var that = this; - _ElementUtilities._addEventListener(firstDiv, "focusin", function () { that._focusOnLastFocusableElementOrThis(); }, false); - - return firstDiv; - }, - - // Create and add a new final div as the last child - _addFinalDiv: function Flyout_addFinalDiv() { - var finalDiv = _Global.document.createElement("div"); - finalDiv.className = _Constants.finalDivClass; - finalDiv.style.display = "inline"; - finalDiv.setAttribute("role", "menuitem"); - finalDiv.setAttribute("aria-hidden", "true"); - - this._element.appendChild(finalDiv); - var that = this; - _ElementUtilities._addEventListener(finalDiv, "focusin", function () { that._focusOnFirstFocusableElementOrThis(); }, false); - - return finalDiv; - }, - - _writeProfilerMark: function Flyout_writeProfilerMark(text) { - _WriteProfilerMark("WinJS.UI.Flyout:" + this._id + ":" + text); - } - }); - return Flyout; - }) - }); - -}); -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -// Glyph Enumeration -/// Segoe -define('WinJS/Controls/AppBar/_Icon',[ - 'exports', - '../../Core/_Base', - '../../Core/_Resources' - ], function appBarIconInit(exports, _Base, _Resources) { - "use strict"; - - var glyphs = ["previous", - "next", - "play", - "pause", - "edit", - "save", - "clear", - "delete", - "remove", - "add", - "cancel", - "accept", - "more", - "redo", - "undo", - "home", - "up", - "forward", - "right", - "back", - "left", - "favorite", - "camera", - "settings", - "video", - "sync", - "download", - "mail", - "find", - "help", - "upload", - "emoji", - "twopage", - "leavechat", - "mailforward", - "clock", - "send", - "crop", - "rotatecamera", - "people", - "closepane", - "openpane", - "world", - "flag", - "previewlink", - "globe", - "trim", - "attachcamera", - "zoomin", - "bookmarks", - "document", - "protecteddocument", - "page", - "bullets", - "comment", - "mail2", - "contactinfo", - "hangup", - "viewall", - "mappin", - "phone", - "videochat", - "switch", - "contact", - "rename", - "pin", - "musicinfo", - "go", - "keyboard", - "dockleft", - "dockright", - "dockbottom", - "remote", - "refresh", - "rotate", - "shuffle", - "list", - "shop", - "selectall", - "orientation", - "import", - "importall", - "browsephotos", - "webcam", - "pictures", - "savelocal", - "caption", - "stop", - "showresults", - "volume", - "repair", - "message", - "page2", - "calendarday", - "calendarweek", - "calendar", - "characters", - "mailreplyall", - "read", - "link", - "accounts", - "showbcc", - "hidebcc", - "cut", - "attach", - "paste", - "filter", - "copy", - "emoji2", - "important", - "mailreply", - "slideshow", - "sort", - "manage", - "allapps", - "disconnectdrive", - "mapdrive", - "newwindow", - "openwith", - "contactpresence", - "priority", - "uploadskydrive", - "gototoday", - "font", - "fontcolor", - "contact2", - "folder", - "audio", - "placeholder", - "view", - "setlockscreen", - "settile", - "cc", - "stopslideshow", - "permissions", - "highlight", - "disableupdates", - "unfavorite", - "unpin", - "openlocal", - "mute", - "italic", - "underline", - "bold", - "movetofolder", - "likedislike", - "dislike", - "like", - "alignright", - "aligncenter", - "alignleft", - "zoom", - "zoomout", - "openfile", - "otheruser", - "admin", - "street", - "map", - "clearselection", - "fontdecrease", - "fontincrease", - "fontsize", - "cellphone", - "reshare", - "tag", - "repeatone", - "repeatall", - "outlinestar", - "solidstar", - "calculator", - "directions", - "target", - "library", - "phonebook", - "memo", - "microphone", - "postupdate", - "backtowindow", - "fullscreen", - "newfolder", - "calendarreply", - "unsyncfolder", - "reporthacked", - "syncfolder", - "blockcontact", - "switchapps", - "addfriend", - "touchpointer", - "gotostart", - "zerobars", - "onebar", - "twobars", - "threebars", - "fourbars", - "scan", - "preview"]; - - // Provide properties to grab resources for each of the icons - /// - /// The AppBarIcon enumeration provides a set of glyphs for use with the AppBarCommand icon property. - /// - var icons = glyphs.reduce(function (fixedIcons, item) { - fixedIcons[item] = { get: function () { return _Resources._getWinJSString("ui/appBarIcons/" + item).value; } }; - return fixedIcons; - }, {}); - - _Base.Namespace._moduleDefine(exports, "WinJS.UI.AppBarIcon", icons); -}); -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -// AppBarCommand -/// appbar,appbars,Flyout,Flyouts,onclick,Statics -define('WinJS/Controls/AppBar/_Command',[ - 'exports', - '../../Core/_Global', - '../../Core/_WinRT', - '../../Core/_Base', - '../../Core/_ErrorFromName', - '../../Core/_Resources', - '../../Utilities/_Control', - '../../Utilities/_Dispose', - '../../Utilities/_ElementUtilities', - '../Flyout/_Overlay', - '../Tooltip', - './_Constants', - './_Icon' - ], function appBarCommandInit(exports, _Global, _WinRT, _Base, _ErrorFromName, _Resources, _Control, _Dispose, _ElementUtilities, _Overlay, Tooltip, _Constants, _Icon) { - "use strict"; - - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - /// - /// - /// Represents a command to display in an AppBar. - /// - /// - /// - /// - /// ]]> - /// The AppBarCommand control itself. - /// The AppBarCommand's icon box. - /// The AppBarCommand's icon's image formatting. - /// The AppBarCommand's icon's ring. - /// The AppBarCommand's label - /// - /// - /// - AppBarCommand: _Base.Namespace._lazy(function () { - - - function _handleClick(event) { - /*jshint validthis: true */ - var command = this.winControl; - if (command) { - if (command._type === _Constants.typeToggle) { - command.selected = !command.selected; - } else if (command._type === _Constants.typeFlyout && command._flyout) { - var parentAppBar = _Overlay._Overlay._getParentControlUsingClassName(this, _Constants.appBarClass); - var placement = "top"; - if (parentAppBar && parentAppBar.placement === "top") { - placement = "bottom"; - } - var flyout = command._flyout; - // Flyout may not have processAll'd, so this may be a DOM object - if (typeof flyout === "string") { - flyout = _Global.document.getElementById(flyout); - } - if (!flyout.show) { - flyout = flyout.winControl; - } - if (flyout && flyout.show) { - flyout.show(this, placement); - } - } - if (command.onclick) { - command.onclick(event); - } - } - } - - var strings = { - get ariaLabel() { return _Resources._getWinJSString("ui/appBarCommandAriaLabel").value; }, - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; }, - get badClick() { return "Invalid argument: The onclick property for an {0} must be a function"; }, - get badDivElement() { return "Invalid argument: For a content command, the element must be null or a div element"; }, - get badHrElement() { return "Invalid argument: For a separator, the element must be null or an hr element"; }, - get badButtonElement() { return "Invalid argument: For a button, toggle, or flyout command, the element must be null or a button element"; } - }; - - return _Base.Class.define(function AppBarCommand_ctor(element, options) { - /// - /// - /// Creates a new AppBarCommand control. - /// - /// - /// The DOM element that will host the control. AppBarCommand will create one if null. - /// - /// - /// The set of properties and values to apply to the new AppBarCommand. - /// - /// - /// The new AppBarCommand control. - /// - /// - - // Check to make sure we weren't duplicated - if (element && element.winControl) { - throw new _ErrorFromName("WinJS.UI.AppBarCommand.DuplicateConstruction", strings.duplicateConstruction); - } - - this._disposed = false; - - // Don't blow up if they didn't pass options - if (!options) { - options = {}; - } - - // Need a type before we can create our element - if (!options.type) { - this._type = _Constants.typeButton; - } - - options.section = options.section || _Constants.sectionGlobal; - - // Go ahead and create it, separator and content types look different than buttons - // Don't forget to use passed in element if one was provided. - this._element = element; - - if (options.type === _Constants.typeContent) { - this._createContent(); - } else if (options.type === _Constants.typeSeparator) { - this._createSeparator(); - } else { - // This will also set the icon & label - this._createButton(); - } - _ElementUtilities.addClass(this._element, "win-disposable"); - - // Remember ourselves - this._element.winControl = this; - - // Attach our css class - _ElementUtilities.addClass(this._element, _Constants.appBarCommandClass); - - if (options.onclick) { - this.onclick = options.onclick; - } - // We want to handle some clicks - options.onclick = _handleClick; - - _Control.setOptions(this, options); - - if (this._type === _Constants.typeToggle && !options.selected) { - this.selected = false; - } - - // Set up pointerdown handler and clean up ARIA if needed - if (this._type !== _Constants.typeSeparator) { - - // Hide the modern focus rect on click or touch - var that = this; - _ElementUtilities._addEventListener(this._element, "pointerdown", function () { _Overlay._Overlay._addHideFocusClass(that._element); }, false); - - // Make sure we have an ARIA role - var role = this._element.getAttribute("role"); - if (role === null || role === "" || role === undefined) { - if (this._type === _Constants.typeToggle) { - role = "menuitemcheckbox"; - } else if (this._type === _Constants.typeContent) { - role = "group"; - } else { - role = "menuitem"; - } - this._element.setAttribute("role", role); - if (this._type === _Constants.typeFlyout) { - this._element.setAttribute("aria-haspopup", true); - } - } - // Label should've been set by label, but if it was missed for some reason: - var label = this._element.getAttribute("aria-label"); - if (label === null || label === "" || label === undefined) { - this._element.setAttribute("aria-label", strings.ariaLabel); - } - } - }, { - /// - /// Gets or sets the ID of the AppBarCommand. - /// - id: { - get: function () { - return this._element.id; - }, - - set: function (value) { - // we allow setting first time only. otherwise we ignore it. - if (value && !this._element.id) { - this._element.id = value; - } - } - }, - - /// - /// Gets or sets the type of the AppBarCommand. Possible values are "button", "toggle", "flyout", "content" or "separator". - /// - type: { - get: function () { - return this._type; - }, - set: function (value) { - // we allow setting first time only. otherwise we ignore it. - if (!this._type) { - if (value !== _Constants.typeContent && value !== _Constants.typeFlyout && value !== _Constants.typeToggle && value !== _Constants.typeSeparator) { - this._type = _Constants.typeButton; - } else { - this._type = value; - } - } - } - }, - - /// - /// Gets or sets the label of the AppBarCommand. - /// - label: { - get: function () { - return this._label; - }, - set: function (value) { - this._label = value; - if (this._labelSpan) { - this._labelSpan.textContent = this.label; - } - - // Ensure that we have a tooltip, by updating already-constructed tooltips. Separators won't have these: - if (!this.tooltip && this._tooltipControl) { - this._tooltip = this.label; - this._tooltipControl.innerHTML = this.label; - } - - // Update aria-label - this._element.setAttribute("aria-label", this.label); - - // Check if we need to suppress the tooltip - this._testIdenticalTooltip(); - } - }, - - /// - /// Gets or sets the icon of the AppBarCommand. - /// - icon: { - get: function () { - return this._icon; - }, - set: function (value) { - - this._icon = _Icon[value] || value; - - if (this._imageSpan) { - // If the icon's a single character, presume a glyph - if (this._icon && this._icon.length === 1) { - // Set the glyph - this._imageSpan.textContent = this._icon; - this._imageSpan.style.backgroundImage = ""; - this._imageSpan.style.msHighContrastAdjust = ""; - } else { - // Must be an image, set that - this._imageSpan.textContent = ""; - this._imageSpan.style.backgroundImage = this._icon; - this._imageSpan.style.msHighContrastAdjust = "none"; - } - } - } - }, - - /// - /// Gets or sets the function to invoke when the command is clicked. - /// - onclick: { - get: function () { - return this._onclick; - }, - set: function (value) { - if (value && typeof value !== "function") { - throw new _ErrorFromName("WinJS.UI.AppBarCommand.BadClick", _Resources._formatString(strings.badClick, "AppBarCommand")); - } - this._onclick = value; - } - }, - - /// - /// For flyout-type AppBarCommands, this property returns the WinJS.UI.Flyout that this command invokes. - /// When setting this property, you may also use the String ID of the flyout to invoke, the DOM object - /// for the flyout, or the WinJS.UI.Flayout object itself. - /// - flyout: { - get: function () { - // Resolve it to the flyout - var flyout = this._flyout; - if (typeof flyout === "string") { - flyout = _Global.document.getElementById(flyout); - } - // If it doesn't have a .element, then we need to getControl on it - if (flyout && !flyout.element) { - flyout = flyout.winControl; - } - - return flyout; - }, - set: function (value) { - // Need to update aria-owns with the new ID. - var id = value; - if (id && typeof id !== "string") { - // Our controls have .element properties - if (id.element) { - id = id.element; - } - // Hope it's a DOM element, get ID from DOM element - if (id) { - if (id.id) { - id = id.id; - } else { - // No id, have to fake one - id.id = _ElementUtilities._uniqueID(id); - id = id.id; - } - } - } - if (typeof id === "string") { - this._element.setAttribute("aria-owns", id); - } - - // Remember it - this._flyout = value; - } - }, - - /// - /// Gets or sets the section that the AppBarCommand is in. Possible values are "selection" and "global". - /// - section: { - get: function () { - return this._section; - }, - set: function (value) { - // we allow settings section only one time - if (!this._section || _WinRT.Windows.ApplicationModel.DesignMode.designModeEnabled) { - this._setSection(value); - } - } - }, - - /// Gets or sets the tooltip text of the AppBarCommand. - tooltip: { - get: function () { - return this._tooltip; - }, - set: function (value) { - this._tooltip = value; - - // Update already-constructed tooltips. Separators and content commands won't have these: - if (this._tooltipControl) { - this._tooltipControl.innerHTML = this._tooltip; - } - - // Check if we need to suppress the tooltip - this._testIdenticalTooltip(); - } - }, - - /// Set or get the selected state of a toggle button. - selected: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return this._element.getAttribute("aria-checked") === "true"; - }, - set: function (value) { - this._element.setAttribute("aria-checked", value); - } - }, - - /// - element: { - get: function () { - return this._element; - } - }, - - /// - /// Gets or sets a value that indicates whether the AppBarCommand is disabled. A value of true disables the AppBarCommand, and a value of false enables it. - /// - disabled: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return !!this._element.disabled; - }, - set: function (value) { - this._element.disabled = value; - } - }, - - /// - hidden: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return this._element.style.visibility === "hidden"; - }, - set: function (value) { - var appbarControl = _Overlay._Overlay._getParentControlUsingClassName(this._element, _Constants.appBarClass); - if (appbarControl && !appbarControl.hidden) { - throw new _ErrorFromName("WinJS.UI.AppBarCommand.CannotChangeHiddenProperty", _Resources._formatString(_Overlay._Overlay.commonstrings.cannotChangeHiddenProperty, "AppBar")); - } - - if (value === this.hidden) { - // No changes to make. - return; - } - - var style = this._element.style; - - if (value) { - style.visibility = "hidden"; - style.display = "none"; - } else { - style.visibility = ""; - style.display = "inline-block"; - } - if (appbarControl) { - appbarControl._commandsUpdated(); - } - } - }, - - /// - /// Gets or sets the HTMLElement within a "content" type AppBarCommand that should receive focus whenever focus moves via Home or the arrow keys, - /// from the previous AppBarCommand to the this AppBarCommand. Returns the AppBarCommand object's host element by default. - /// - firstElementFocus: { - get: function () { - return this._firstElementFocus || this._lastElementFocus || this._element; - }, - set: function (element) { - // Arguments of null and this.element should treated the same to ensure that this.element is never a tabstop when either focus property has been set. - this._firstElementFocus = (element === this.element) ? null : element; - this._updateTabStop(); - } - }, - - /// - /// Gets or sets the HTMLElement within a "content" type AppBarCommand that should receive focus whenever focus would move, via End or arrow keys, - /// from the next AppBarCommand to this AppBarCommand. Returns this AppBarCommand object's host element by default. - /// - lastElementFocus: { - get: function () { - return this._lastElementFocus || this._firstElementFocus || this._element; - }, - set: function (element) { - // Arguments of null and this.element should treated the same to ensure that this.element is never a tabstop when either focus property has been set. - this._lastElementFocus = (element === this.element) ? null : element; - this._updateTabStop(); - } - }, - - dispose: function () { - /// - /// - /// Disposes this control. - /// - /// - if (this._disposed) { - return; - } - this._disposed = true; - - if (this._tooltipControl) { - this._tooltipControl.dispose(); - } - - if (this._type === _Constants.typeContent) { - _Dispose.disposeSubTree(this.element); - } - }, - - addEventListener: function (type, listener, useCapture) { - /// - /// - /// Registers an event handler for the specified event. - /// - /// - /// Required. The name of the event to register. It must be "beforeshow", "beforehide", "aftershow", or "afterhide". - /// - /// Required. The event handler function to associate with this event. - /// - /// Optional. Set to true to register the event handler for the capturing phase; otherwise, set to false to register the event handler for the bubbling phase. - /// - /// - return this._element.addEventListener(type, listener, useCapture); - }, - - removeEventListener: function (type, listener, useCapture) { - /// - /// - /// Removes an event handler that the addEventListener method registered. - /// - /// Required. The name of the event to remove. - /// Required. The event handler function to remove. - /// - /// Optional. Set to true to remove the capturing phase event handler; otherwise, set to false to remove the bubbling phase event handler. - /// - /// - return this._element.removeEventListener(type, listener, useCapture); - }, - - /// Adds an extra CSS class during construction. - extraClass: { - get: function () { - return this._extraClass; - }, - set: function (value) { - if (this._extraClass) { - _ElementUtilities.removeClass(this._element, this._extraClass); - } - this._extraClass = value; - _ElementUtilities.addClass(this._element, this._extraClass); - } - }, - - // Private - _testIdenticalTooltip: function AppBarCommand_testIdenticalToolTip() { - this._hideIfFullSize = (this._label === this._tooltip); - }, - - _createContent: function AppBarCommand_createContent() { - // Make sure there's an element - if (!this._element) { - this._element = _Global.document.createElement("div"); - } else { - // Verify the element was a div - if (this._element.tagName !== "DIV") { - throw new _ErrorFromName("WinJS.UI.AppBarCommand.BadDivElement", strings.badDivElement); - } - } - - // If a tabIndex isnt set, default to 0; - if (parseInt(this._element.getAttribute("tabIndex"), 10) !== this._element.tabIndex) { - this._element.tabIndex = 0; - } - }, - - _createSeparator: function AppBarCommand_createSeparator() { - // Make sure there's an element - if (!this._element) { - this._element = _Global.document.createElement("hr"); - } else { - // Verify the element was an hr - if (this._element.tagName !== "HR") { - throw new _ErrorFromName("WinJS.UI.AppBarCommand.BadHrElement", strings.badHrElement); - } - } - }, - - _createButton: function AppBarCommand_createButton() { - // Make sure there's an element - if (!this._element) { - this._element = _Global.document.createElement("button"); - } else { - // Verify the element was a button - if (this._element.tagName !== "BUTTON") { - throw new _ErrorFromName("WinJS.UI.AppBarCommand.BadButtonElement", strings.badButtonElement); - } - // Make sure it has a type="button" - var type = this._element.getAttribute("type"); - if (type === null || type === "" || type === undefined) { - this._element.setAttribute("type", "button"); - } - this._element.innerHTML = ""; - } - - // AppBarCommand buttons need to look like this: - //// - this._element.type = "button"; - this._iconSpan = _Global.document.createElement("span"); - this._iconSpan.setAttribute("aria-hidden", "true"); - this._iconSpan.className = "win-commandicon win-commandring"; - this._iconSpan.tabIndex = -1; - this._element.appendChild(this._iconSpan); - this._imageSpan = _Global.document.createElement("span"); - this._imageSpan.setAttribute("aria-hidden", "true"); - this._imageSpan.className = "win-commandimage"; - this._imageSpan.tabIndex = -1; - this._iconSpan.appendChild(this._imageSpan); - this._labelSpan = _Global.document.createElement("span"); - this._labelSpan.setAttribute("aria-hidden", "true"); - this._labelSpan.className = "win-label"; - this._labelSpan.tabIndex = -1; - this._element.appendChild(this._labelSpan); - // 'win-global' or 'win-selection' are added later by caller. - // Label and icon are added later by caller. - - // Attach a tooltip - Note: we're going to stomp on it's setControl so we don't have to make another DOM element to hang it off of. - // This private _tooltipControl attribute is used by other pieces, changing the name could break them. - this._tooltipControl = new Tooltip.Tooltip(this._element); - var that = this; - this._tooltipControl.addEventListener("beforeopen", function () { - if (that._hideIfFullSize && !_Overlay._Overlay._getParentControlUsingClassName(that._element.parentElement, _Constants.reducedClass)) { - that._tooltipControl.close(); - } - }, false); - }, - - _setSection: function AppBarCommand_setSection(section) { - if (!section) { - section = _Constants.sectionGlobal; - } - if (this._section) { - // Remove the old section class - if (this._section === _Constants.sectionGlobal) { - _ElementUtilities.removeClass(this._element, _Constants.appBarCommandGlobalClass); - } else if (this.section === _Constants.sectionSelection) { - _ElementUtilities.removeClass(this._element, _Constants.appBarCommandSelectionClass); - } - } - // Add the new section class - this._section = section; - if (section === _Constants.sectionGlobal) { - _ElementUtilities.addClass(this._element, _Constants.appBarCommandGlobalClass); - } else if (section === _Constants.sectionSelection) { - _ElementUtilities.addClass(this._element, _Constants.appBarCommandSelectionClass); - } - }, - - _updateTabStop: function AppBarCommand_updateTabStop() { - // Whenever the firstElementFocus or lastElementFocus properties are set for content type AppBarCommands, - // the containing command element is no longer a tabstop. - - if (this._firstElementFocus || this._lastElementFocus) { - this.element.tabIndex = -1; - } else { - this.element.tabIndex = 0; - } - }, - - _isFocusable: function AppBarCommand_isFocusable() { - return (!this.hidden && this._type !== _Constants.typeSeparator && !this.element.disabled && - (this.firstElementFocus.tabIndex >= 0 || this.lastElementFocus.tabIndex >= 0)); - }, - }); - }) - }); - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/AppBar/_Layouts',[ - 'exports', - '../../Core/_Global', - '../../Core/_Base', - '../../Core/_ErrorFromName', - '../../Core/_Resources', - '../../Scheduler', - '../../Utilities/_Control', - '../../Utilities/_Dispose', - '../../Utilities/_ElementUtilities', - './_Command', - './_Constants' -], function appBarLayoutsInit(exports, _Global, _Base, _ErrorFromName, _Resources, Scheduler, _Control, _Dispose, _ElementUtilities, _Command, _Constants) { - "use strict"; - - // AppBar will use this when AppBar.layout property is set to "custom" - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - _AppBarBaseLayout: _Base.Namespace._lazy(function () { - var baseType = _Constants.appBarLayoutCustom; - - var strings = { - get nullCommand() { return "Invalid argument: command must not be null"; } - }; - - var _AppBarBaseLayout = _Base.Class.define(function _AppBarBaseLayout_ctor(appBarEl, options) { - this._disposed = false; - - options = options || {}; - _Control.setOptions(this, options); - - if (appBarEl) { - this.connect(appBarEl); - } - }, { - // Members - className: { - get: function _AppBarBaseLayout_get_className() { - return this._className; - }, - }, - type: { - get: function _AppBarBaseLayout_get_className() { - return this._type || baseType; - }, - }, - commandsInOrder: { - get: function _AppBarBaseLayout_get_commandsInOrder() { - // Gets a DOM ordered Array of the AppBarCommand elements in the AppBar. - var commands = this.appBarEl.querySelectorAll("." + _Constants.appBarCommandClass); - - // Needs to be an array, in case these are getting passed to a new layout. - // The new layout will invoke the AppBar._layoutCommands, and it expects an - // Array. - return Array.prototype.slice.call(commands); - } - }, - connect: function _AppBarBaseLayout_connect(appBarEl) { - if (this.className) { - _ElementUtilities.addClass(appBarEl, this.className); - } - this.appBarEl = appBarEl; - }, - disconnect: function _AppBarBaseLayout_disconnect() { - if (this.className) { - _ElementUtilities.removeClass(this.appBarEl, this.className); - } - this.appBarEl = null; - this.dispose(); - }, - layout: function _AppBarBaseLayout_layout(commands) { - // Append commands to the DOM. - var len = commands.length; - for (var i = 0; i < len; i++) { - var command = this.sanitizeCommand(commands[i]); - this.appBarEl.appendChild(command._element); - } - }, - sanitizeCommand: function _AppBarBaseLayout_sanitizeCommand(command) { - if (!command) { - throw new _ErrorFromName("WinJS.UI.AppBar.NullCommand", strings.nullCommand); - } - // See if it's a command already - command = command.winControl || command; - if (!command._element) { - // Not a command, so assume it is options for the command's constructor. - command = new _Command.AppBarCommand(null, command); - } - // If we were attached somewhere else, detach us - if (command._element.parentElement) { - command._element.parentElement.removeChild(command._element); - } - - return command; - }, - dispose: function _AppBarBaseLayout_dispose() { - this._disposed = true; - }, - disposeChildren: function _AppBarBaseLayout_disposeChildren() { - var appBarFirstDiv = this.appBarEl.querySelectorAll("." + _Constants.firstDivClass); - appBarFirstDiv = appBarFirstDiv.length >= 1 ? appBarFirstDiv[0] : null; - var appBarFinalDiv = this.appBarEl.querySelectorAll("." + _Constants.finalDivClass); - appBarFinalDiv = appBarFinalDiv.length >= 1 ? appBarFinalDiv[0] : null; - - var children = this.appBarEl.children; - var length = children.length; - for (var i = 0; i < length; i++) { - var element = children[i]; - if (element === appBarFirstDiv || element === appBarFinalDiv) { - continue; - } else { - _Dispose.disposeSubTree(element); - } - } - }, - handleKeyDown: function _AppBarBaseLayout_handleKeyDown() { - // NOP - }, - commandsUpdated: function _AppBarBaseLayout_commandsUpdated() { - // NOP - }, - beginAnimateCommands: function _AppBarBaseLayout_beginAnimateCommands() { - // The parameters are 3 mutually exclusive arrays of win-command elements contained in this Overlay. - // 1) showCommands[]: All of the HIDDEN win-command elements that ARE scheduled to show. - // 2) hideCommands[]: All of the VISIBLE win-command elements that ARE scheduled to hide. - // 3) otherVisibleCommands[]: All VISIBLE win-command elements that ARE NOT scheduled to hide. - - // NOP - }, - endAnimateCommands: function _AppBarBaseLayout_endAnimateCommands() { - // NOP - }, - scale: function _AppBarBaseLayout_scale() { - // NOP - }, - resize: function _AppBarBaseLayout_resize() { - // NOP - }, - }); - return _AppBarBaseLayout; - }), - }); - - // AppBar will use this when AppBar.layout property is set to "commands" - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - _AppBarCommandsLayout: _Base.Namespace._lazy(function () { - var layoutClassName = _Constants.commandLayoutClass; - var layoutType = _Constants.appBarLayoutCommands; - - var _AppBarCommandsLayout = _Base.Class.derive(exports._AppBarBaseLayout, function _AppBarCommandsLayout_ctor(appBarEl) { - exports._AppBarBaseLayout.call(this, appBarEl, { _className: layoutClassName, _type: layoutType }); - this._commandLayoutsInit(appBarEl); - }, { - _getWidthOfFullSizeCommands: function _AppBarCommandsLayout_getWidthOfFullSizeCommands(commands) { - // Commands layout puts primary commands and secondary commands into the primary row. - // Return the total width of all visible primary and secondary commands as if they were full-size. - - // Perform any pending measurements on "content" type AppBarCommands. - if (this._needToMeasureNewCommands) { - this._measureContentCommands(); - } - var accumulatedWidth = 0; - var separatorsCount = 0; - var buttonsCount = 0; - - if (!commands) { - // Return the cached full size width of the last known visible commands in the AppBar. - return this._fullSizeWidthOfLastKnownVisibleCommands; - } else { - // Return the width of the specified commands. - var command; - for (var i = 0, len = commands.length; i < len; i++) { - command = commands[i].winControl || commands[i]; - if (command._type === _Constants.typeSeparator) { - separatorsCount++; - } else if (command._type !== _Constants.typeContent) { - // button, toggle, and flyout types all have the same width. - buttonsCount++; - } else { - accumulatedWidth += command._fullSizeWidth; - } - } - } - return accumulatedWidth += (separatorsCount * _Constants.separatorWidth) + (buttonsCount * _Constants.buttonWidth); - }, - _getFocusableCommandsInLogicalOrder: function _AppBarCommandsLayout_getCommandsInLogicalOrder() { - // Function returns an array of all the contained AppBarCommands which are reachable by left/right arrows. - - var selectionCommands = this._secondaryCommands.children, - globalCommands = this._primaryCommands.children, - focusedIndex = -1; - - var getFocusableCommandsHelper = function (commandsInReach) { - var focusableCommands = []; - for (var i = 0, len = commandsInReach.length; i < len; i++) { - var element = commandsInReach[i]; - if (_ElementUtilities.hasClass(element, _Constants.appBarCommandClass) && element.winControl) { - var containsFocus = element.contains(_Global.document.activeElement); - // With the inclusion of content type commands, it may be possible to tab to elements in AppBarCommands that are not reachable by arrow keys. - // Regardless, when an AppBarCommand contains the element with focus, we just include the whole command so that we can determine which - // commands are adjacent to it when looking for the next focus destination. - if (element.winControl._isFocusable() || containsFocus) { - focusableCommands.push(element); - if (containsFocus) { - focusedIndex = focusableCommands.length - 1; - } - } - } - } - return focusableCommands; - }; - - // Determines which set of commands the user could potentially reach through Home, End, and arrow keys. - // All commands in the commands layout AppBar, from left to right are in reach. Selection then Global. - var commandsInReach = Array.prototype.slice.call(selectionCommands).concat(Array.prototype.slice.call(globalCommands)); - - var focusableCommands = getFocusableCommandsHelper(commandsInReach); - focusableCommands.focusedIndex = focusedIndex; - return focusableCommands; - }, - }); - - // Override some our base implementations and expand our API surface with the commandLayoutsMixin object. - _Base.Class.mix(_AppBarCommandsLayout, _commandLayoutsMixin); - return _AppBarCommandsLayout; - }), - }); - - // These are functions and properties that any new command layout would want to share with our existing "commands" layout. - var _commandLayoutsMixin = { - layout: function _commandLayoutsMixin_layout(commands) { - // Insert commands and other layout specific DOM into the AppBar element. - - // Empty our tree. - _ElementUtilities.empty(this._primaryCommands); - _ElementUtilities.empty(this._secondaryCommands); - - // Keep track of the order we receive the commands in. - this._commandsInOriginalOrder = []; - - // Layout commands - for (var i = 0, len = commands.length; i < len; i++) { - var command = this.sanitizeCommand(commands[i]); - - this._commandsInOriginalOrder.push(command.element); - - if ("global" === command.section) { - this._primaryCommands.appendChild(command._element); - } else { - this._secondaryCommands.appendChild(command._element); - } - } - - // Append layout containers to AppBar element. - // Secondary Commands should come first in Tab Order. - this.appBarEl.appendChild(this._secondaryCommands); - this.appBarEl.appendChild(this._primaryCommands); - - - // Need to measure all content commands after they have been added to the AppBar to make sure we allow - // user defined CSS rules based on the ancestor of the content command to take affect. - this._needToMeasureNewCommands = true; - - // In case this is called from the constructor before the AppBar element has been appended to the DOM, - // we schedule the initial scaling of commands, with the expectation that the element will be added - // synchronously, in the same block of code that called the constructor. - Scheduler.schedule(function () { - if (this._needToMeasureNewCommands && !this._disposed) { - this.scale(); - } - }.bind(this), Scheduler.Priority.idle, this, "WinJS._commandLayoutsMixin._scaleNewCommands"); - - }, - commandsInOrder: { - get: function () { - return this._commandsInOriginalOrder.filter(function (command) { - // Make sure the element is still in the AppBar. - return this.appBarEl.contains(command); - }, this); - } - }, - disposeChildren: function _commandLayoutsMixin_disposeChildren() { - _Dispose.disposeSubTree(this._primaryCommands); - _Dispose.disposeSubTree(this._secondaryCommands); - }, - handleKeyDown: function _commandLayoutsMixin_handleKeyDown(event) { - var Key = _ElementUtilities.Key; - - if (_ElementUtilities._matchesSelector(event.target, ".win-interactive, .win-interactive *")) { - return; // Ignore left, right, home & end keys if focused element has win-interactive class. - } - var rtl = _Global.getComputedStyle(this.appBarEl).direction === "rtl"; - var leftKey = rtl ? Key.rightArrow : Key.leftArrow; - var rightKey = rtl ? Key.leftArrow : Key.rightArrow; - - if (event.keyCode === leftKey || event.keyCode === rightKey || event.keyCode === Key.home || event.keyCode === Key.end) { - - var globalCommandHasFocus = this._primaryCommands.contains(_Global.document.activeElement); - var focusableCommands = this._getFocusableCommandsInLogicalOrder(globalCommandHasFocus); - var targetCommand; - - if (focusableCommands.length) { - switch (event.keyCode) { - case leftKey: - // Arrowing past the last command wraps back around to the first command. - var index = Math.max(-1, focusableCommands.focusedIndex - 1) + focusableCommands.length; - targetCommand = focusableCommands[index % focusableCommands.length].winControl.lastElementFocus; - break; - - case rightKey: - // Arrowing previous to the first command wraps back around to the last command. - var index = focusableCommands.focusedIndex + 1 + focusableCommands.length; - targetCommand = focusableCommands[index % focusableCommands.length].winControl.firstElementFocus; - break; - - case Key.home: - var index = 0; - targetCommand = focusableCommands[index].winControl.firstElementFocus; - break; - - case Key.end: - var index = focusableCommands.length - 1; - targetCommand = focusableCommands[index].winControl.lastElementFocus; - break; - } - } - - if (targetCommand) { - targetCommand.focus(); - // Prevent default so that the browser doesn't also evaluate the keydown event on the newly focused element. - event.preventDefault(); - } - } - }, - commandsUpdated: function _commandLayoutsMixin_commandsUpdated(newSetOfVisibleCommands) { - // Whenever new commands are set or existing commands are hiding/showing in the AppBar, this - // function is called to update the cached width measurement of all visible AppBarCommands. - - var visibleCommands = (newSetOfVisibleCommands) ? newSetOfVisibleCommands : this.commandsInOrder.filter(function (command) { - return !command.winControl.hidden; - }); - this._fullSizeWidthOfLastKnownVisibleCommands = this._getWidthOfFullSizeCommands(visibleCommands); - }, - beginAnimateCommands: function _commandLayoutsMixin_beginAnimateCommands(showCommands, hideCommands, otherVisibleCommands) { - // The parameters are 3 mutually exclusive arrays of win-command elements contained in this Overlay. - // 1) showCommands[]: All of the HIDDEN win-command elements that ARE scheduled to show. - // 2) hideCommands[]: All of the VISIBLE win-command elements that ARE scheduled to hide. - // 3) otherVisibleCommands[]: All VISIBLE win-command elements that ARE NOT scheduled to hide. - - this._scaleAfterAnimations = false; - - // Determine if the overall width of visible commands in the primary row will be increasing OR decreasing. - var changeInWidth = this._getWidthOfFullSizeCommands(showCommands) - this._getWidthOfFullSizeCommands(hideCommands); - if (changeInWidth > 0) { - // Width of contents is going to increase, update our command counts now, to what they will be after we complete the animations. - var visibleCommandsAfterAnimations = otherVisibleCommands.concat(showCommands); - this.commandsUpdated(visibleCommandsAfterAnimations); - // Make sure we will have enough room to fit everything on a single row. - this.scale(); - } else if (changeInWidth < 0) { - // Width of contents is going to decrease. Once animations are complete, check if - // there is enough available space to make the remaining commands full size. - this._scaleAfterAnimations = true; - } - }, - endAnimateCommands: function _commandLayoutsMixin_endAnimateCommands() { - if (this._scaleAfterAnimations) { - this.commandsUpdated(); - this.scale(); - } - }, - scale: function _commandLayoutsMixin_scale() { - // If the total width of all AppBarCommands in the primary row is greater than the - // width of the AppBar, add the win-reduced class to the AppBar element and all - // AppBarCommands will reduce in size. - - // Measure the width all visible commands in AppBar's primary row, the AppBar's offsetWidth and the AppBar horizontal padding: - var fullSizeWidthOfVisibleContent = this._getWidthOfFullSizeCommands(); - if (this._appBarTotalKnownWidth !== +this._appBarTotalKnownWidth) { - this._appBarTotalKnownWidth = this._scaleHelper(); - } - - if (fullSizeWidthOfVisibleContent <= this._appBarTotalKnownWidth) { - // Full size commands - _ElementUtilities.removeClass(this.appBarEl, _Constants.reducedClass); - } else { - // Reduced size commands - _ElementUtilities.addClass(this.appBarEl, _Constants.reducedClass); - } - }, - resize: function _commandLayoutsMixin_resize() { - if (!this._disposed) { - // Check for horizontal window resizes. - this._appBarTotalKnownWidth = null; - if (!this.appBarEl.winControl.hidden) { - this.scale(); - } - } - }, - disconnect: function _commandLayoutsMixin_disconnect() { - _ElementUtilities.removeClass(this.appBarEl, _Constants.reducedClass); - exports._AppBarBaseLayout.prototype.disconnect.call(this); - }, - _commandLayoutsInit: function _commandLayoutsMixin_commandLayoutsInit() { - // Create layout infrastructure - this._primaryCommands = _Global.document.createElement("DIV"); - this._secondaryCommands = _Global.document.createElement("DIV"); - _ElementUtilities.addClass(this._primaryCommands, _Constants.primaryCommandsClass); - _ElementUtilities.addClass(this._secondaryCommands, _Constants.secondaryCommandsClass); - }, - _scaleHelper: function _commandLayoutsMixin_scaleHelper() { - // This exists as a single line function so that unit tests can - // overwrite it since they can't resize the WWA window. - - // It is expected that AppBar is an immediate child of the and will have 100% width. - // We measure the clientWidth of the documentElement so that we can scale the AppBar lazily - // even while its element is display: 'none' - var extraPadding = this.appBarEl.winControl.closedDisplayMode === "minimal" ? _Constants.appBarInvokeButtonWidth : 0; - return _Global.document.documentElement.clientWidth - extraPadding; - }, - _measureContentCommands: function _commandLayoutsMixin_measureContentCommands() { - // AppBar measures the width of content commands when they are first added - // and then caches that value to avoid additional layouts in the future. - - // Can't measure unless We're in the document body - if (_Global.document.body.contains(this.appBarEl)) { - this._needToMeasureNewCommands = false; - - // Remove the reducedClass from AppBar to ensure fullsize measurements - var hadReducedClass = _ElementUtilities.hasClass(this.appBarEl, _Constants.reducedClass); - _ElementUtilities.removeClass(this.appBarEl, _Constants.reducedClass); - - var hadHiddenClass = _ElementUtilities.hasClass(this.appBarEl, _Constants.hiddenClass); - _ElementUtilities.removeClass(this.appBarEl, _Constants.hiddenClass); - - // Make sure AppBar and children have width dimensions. - var prevAppBarDisplay = this.appBarEl.style.display; - this.appBarEl.style.display = ""; - var prevCommandDisplay; - - var contentElements = this.appBarEl.querySelectorAll("div." + _Constants.appBarCommandClass); - var element; - for (var i = 0, len = contentElements.length; i < len; i++) { - element = contentElements[i]; - if (element.winControl && element.winControl._type === _Constants.typeContent) { - // Make sure command has width dimensions before we measure. - prevCommandDisplay = element.style.display; - element.style.display = ""; - element.winControl._fullSizeWidth = _ElementUtilities.getTotalWidth(element) || 0; - element.style.display = prevCommandDisplay; - } - } - - // Restore state to AppBar. - this.appBarEl.style.display = prevAppBarDisplay; - if (hadReducedClass) { - _ElementUtilities.addClass(this.appBarEl, _Constants.reducedClass); - } - if (hadHiddenClass) { - _ElementUtilities.addClass(this.appBarEl, _Constants.hiddenClass); - } - - this.commandsUpdated(); - } - }, - }; -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -// AppBar -/// appbar,appBars,Flyout,Flyouts,iframe,Statics,unfocus,WinJS -define('WinJS/Controls/AppBar',[ - 'exports', - '../Core/_Global', - '../Core/_WinRT', - '../Core/_Base', - '../Core/_BaseUtils', - '../Core/_ErrorFromName', - '../Core/_Resources', - '../Core/_WriteProfilerMark', - '../Animations', - '../Promise', - '../Scheduler', - '../Utilities/_Control', - '../Utilities/_Dispose', - '../Utilities/_ElementUtilities', - '../Utilities/_Hoverable', - '../Utilities/_KeyboardBehavior', - './AppBar/_Constants', - './AppBar/_Layouts', - './AppBar/_Command', - './AppBar/_Icon', - './Flyout/_Overlay', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls' -], function appBarInit(exports, _Global, _WinRT, _Base, _BaseUtils, _ErrorFromName, _Resources, _WriteProfilerMark, Animations, Promise, Scheduler, _Control, _Dispose, _ElementUtilities, _Hoverable, _KeyboardBehavior, _Constants, _Layouts, _Command, _Icon, _Overlay) { - "use strict"; - - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - /// - /// - /// Represents an application toolbar for display commands. - /// - /// - /// - /// - /// - /// - /// ]]> - /// Raised just before showing the AppBar. - /// Raised immediately after the AppBar is fully shown. - /// Raised just before hiding the AppBar. - /// Raised immediately after the AppBar is fully hidden. - /// The AppBar control itself. - /// Style for a custom layout AppBar. - /// - /// - /// - AppBar: _Base.Namespace._lazy(function () { - var Key = _ElementUtilities.Key; - - // Enum of known constant pixel values for display modes. - var knownVisibleHeights = { - disabled: 0, - none: 0, - hidden: 0, - minimal: 25, - }; - - // Maps each notion of a display modes to the corresponding visible position - var displayModeVisiblePositions = { - disabled: "hidden", - none: "hidden", - hidden: "hidden", - minimal: "minimal", - shown: "shown", - }; - - // Enum of closedDisplayMode constants - var closedDisplayModes = { - none: "none", - minimal: "minimal", - }; - - // Constants shown/hidden states - var appbarShownState = "shown", - appbarHiddenState = "hidden"; - - // Hook into event - var appBarCommandEvent = false; - var edgyHappening = null; - - // Handler for the edgy starting/completed/cancelled events - function _completedEdgy(e) { - // If we had a right click on a flyout, ignore it. - if (_Overlay._Overlay._rightMouseMightEdgy && - e.kind === _WinRT.Windows.UI.Input.EdgeGestureKind.mouse) { - return; - } - if (edgyHappening) { - // Edgy was happening, just skip it - edgyHappening = null; - } else { - // Edgy wasn't happening, so toggle - var keyboardInvoked = e.kind === _WinRT.Windows.UI.Input.EdgeGestureKind.keyboard; - AppBar._toggleAllAppBarsState(keyboardInvoked); - } - } - - function _startingEdgy() { - if (!edgyHappening) { - // Edgy wasn't happening, so toggle & start it - edgyHappening = AppBar._toggleAllAppBarsState(false); - } - } - - function _canceledEdgy() { - // Shouldn't get here unless edgy was happening. - // Undo whatever we were doing. - var bars = _getDynamicBarsForEdgy(); - if (edgyHappening === "showing") { - _Overlay._Overlay._hideAllBars(bars, false); - } else if (edgyHappening === "hiding") { - _Overlay._Overlay._showAllBars(bars, false); - } - edgyHappening = null; - } - - function _allManipulationChanged(event) { - var elements = _Global.document.querySelectorAll("." + _Constants.appBarClass); - if (elements) { - var len = elements.length; - for (var i = 0; i < len; i++) { - var element = elements[i]; - var appbar = element.winControl; - if (appbar && !element.disabled) { - appbar._manipulationChanged(event); - } - } - } - } - - // Get all the non-sticky bars and return them. - // Returns array of AppBar objects. - // The array also has _hidden and/or _shown set if ANY are hidden or shown. - function _getDynamicBarsForEdgy() { - var elements = _Global.document.querySelectorAll("." + _Constants.appBarClass); - var len = elements.length; - var AppBars = []; - AppBars._shown = false; - AppBars._hidden = false; - for (var i = 0; i < len; i++) { - var element = elements[i]; - if (element.disabled) { - // Skip disabled AppBars - continue; - } - var AppBar = element.winControl; - if (AppBar) { - AppBars.push(AppBar); - if (_ElementUtilities.hasClass(AppBar._element, _Constants.hiddenClass) || _ElementUtilities.hasClass(AppBar._element, _Constants.hidingClass)) { - AppBars._hidden = true; - } else { - AppBars._shown = true; - } - } - } - - return AppBars; - } - - // Sets focus to the last AppBar in the provided appBars array with given placement. - // Returns true if focus was set. False otherwise. - function _setFocusToPreviousAppBarHelper(startIndex, appBarPlacement, appBars) { - var appBar; - for (var i = startIndex; i >= 0; i--) { - appBar = appBars[i].winControl; - if (appBar - && appBar.placement === appBarPlacement - && !appBar.hidden - && appBar._focusOnLastFocusableElement - && appBar._focusOnLastFocusableElement()) { - return true; - } - } - return false; - } - - // Sets focus to the last tab stop of the previous AppBar - // AppBar tabbing order: - // 1) Bottom AppBars - // 2) Top AppBars - // DOM order is respected, because an AppBar should not have a defined tabIndex - function _setFocusToPreviousAppBar() { - /*jshint validthis: true */ - var appBars = _Global.document.querySelectorAll("." + _Constants.appBarClass); - if (!appBars.length) { - return; - } - - var thisAppBarIndex = 0; - for (var i = 0; i < appBars.length; i++) { - if (appBars[i] === this.parentElement) { - thisAppBarIndex = i; - break; - } - } - - var appBarControl = this.parentElement.winControl; - if (appBarControl.placement === _Constants.appBarPlacementBottom) { - // Bottom appBar: Focus order: (1)previous bottom appBars (2)top appBars (3)bottom appBars - if (thisAppBarIndex && _setFocusToPreviousAppBarHelper(thisAppBarIndex - 1, _Constants.appBarPlacementBottom, appBars)) { return; } - if (_setFocusToPreviousAppBarHelper(appBars.length - 1, _Constants.appBarPlacementTop, appBars)) { return; } - if (_setFocusToPreviousAppBarHelper(appBars.length - 1, _Constants.appBarPlacementBottom, appBars)) { return; } - } else if (appBarControl.placement === _Constants.appBarPlacementTop) { - // Top appBar: Focus order: (1)previous top appBars (2)bottom appBars (3)top appBars - if (thisAppBarIndex && _setFocusToPreviousAppBarHelper(thisAppBarIndex - 1, _Constants.appBarPlacementTop, appBars)) { return; } - if (_setFocusToPreviousAppBarHelper(appBars.length - 1, _Constants.appBarPlacementBottom, appBars)) { return; } - if (_setFocusToPreviousAppBarHelper(appBars.length - 1, _Constants.appBarPlacementTop, appBars)) { return; } - } - } - - // Sets focus to the first AppBar in the provided appBars array with given placement. - // Returns true if focus was set. False otherwise. - function _setFocusToNextAppBarHelper(startIndex, appBarPlacement, appBars) { - var appBar; - for (var i = startIndex; i < appBars.length; i++) { - appBar = appBars[i].winControl; - if (appBar - && appBar.placement === appBarPlacement - && !appBar.hidden - && appBar._focusOnFirstFocusableElement - && appBar._focusOnFirstFocusableElement()) { - return true; - } - } - return false; - } - - // Sets focus to the first tab stop of the next AppBar - // AppBar tabbing order: - // 1) Bottom AppBars - // 2) Top AppBars - // DOM order is respected, because an AppBar should not have a defined tabIndex - function _setFocusToNextAppBar() { - /*jshint validthis: true */ - var appBars = _Global.document.querySelectorAll("." + _Constants.appBarClass); - - var thisAppBarIndex = 0; - for (var i = 0; i < appBars.length; i++) { - if (appBars[i] === this.parentElement) { - thisAppBarIndex = i; - break; - } - } - - if (this.parentElement.winControl.placement === _Constants.appBarPlacementBottom) { - // Bottom appBar: Focus order: (1)next bottom appBars (2)top appBars (3)bottom appBars - if (_setFocusToNextAppBarHelper(thisAppBarIndex + 1, _Constants.appBarPlacementBottom, appBars)) { return; } - if (_setFocusToNextAppBarHelper(0, _Constants.appBarPlacementTop, appBars)) { return; } - if (_setFocusToNextAppBarHelper(0, _Constants.appBarPlacementBottom, appBars)) { return; } - } else if (this.parentElement.winControl.placement === _Constants.appBarPlacementTop) { - // Top appBar: Focus order: (1)next top appBars (2)bottom appBars (3)top appBars - if (_setFocusToNextAppBarHelper(thisAppBarIndex + 1, _Constants.appBarPlacementTop, appBars)) { return; } - if (_setFocusToNextAppBarHelper(0, _Constants.appBarPlacementBottom, appBars)) { return; } - if (_setFocusToNextAppBarHelper(0, _Constants.appBarPlacementTop, appBars)) { return; } - } - } - - // Updates the firstDiv & finalDiv of all shown AppBars - function _updateAllAppBarsFirstAndFinalDiv() { - var appBars = _Global.document.querySelectorAll("." + _Constants.appBarClass); - var appBar; - for (var i = 0; i < appBars.length; i++) { - appBar = appBars[i].winControl; - if (appBar - && !appBar.hidden - && appBar._updateFirstAndFinalDiv) { - appBar._updateFirstAndFinalDiv(); - } - } - } - - // Returns true if a visible non-sticky (light dismiss) AppBar is found in the document - function _isThereVisibleNonStickyBar() { - var appBars = _Global.document.querySelectorAll("." + _Constants.appBarClass); - for (var i = 0; i < appBars.length; i++) { - var appBarControl = appBars[i].winControl; - if (appBarControl && !appBarControl.sticky && - (!appBarControl.hidden || appBarControl._element.winAnimating === displayModeVisiblePositions.shown)) { - return true; - } - } - return false; - } - - // If the previous focus was not a AppBar or CED, store it in the cache - // (_isAppBarOrChild tests CED for us). - function _checkStorePreviousFocus(focusEvent) { - if (focusEvent.relatedTarget - && focusEvent.relatedTarget.focus - && !_Overlay._Overlay._isAppBarOrChild(focusEvent.relatedTarget)) { - _storePreviousFocus(focusEvent.relatedTarget); - } - } - - // Cache the previous focus information - function _storePreviousFocus(element) { - if (element) { - _Overlay._Overlay._ElementWithFocusPreviousToAppBar = element; - } - } - - // Try to return focus to what had focus before. - // If successfully return focus to a textbox, restore the selection too. - function _restorePreviousFocus() { - _Overlay._Overlay._trySetActive(_Overlay._Overlay._ElementWithFocusPreviousToAppBar); - } - - var strings = { - get ariaLabel() { return _Resources._getWinJSString("ui/appBarAriaLabel").value; }, - get requiresCommands() { return "Invalid argument: commands must not be empty"; }, - get cannotChangePlacementWhenVisible() { return "Invalid argument: The placement property cannot be set when the AppBar is visible, call hide() first"; }, - get badLayout() { return "Invalid argument: The layout property must be 'custom' or 'commands'"; }, - get cannotChangeLayoutWhenVisible() { return "Invalid argument: The layout property cannot be set when the AppBar is visible, call hide() first"; } - }; - - var AppBar = _Base.Class.derive(_Overlay._Overlay, function AppBar_ctor(element, options) { - /// - /// - /// Creates a new AppBar control. - /// - /// - /// The DOM element that will host the control. - /// - /// - /// The set of properties and values to apply to the new AppBar control. - /// - /// - /// The new AppBar control. - /// - /// - - this._initializing = true; - - // Simplify checking later - options = options || {}; - - // Make sure there's an element - this._element = element || _Global.document.createElement("div"); - this._id = this._element.id || _ElementUtilities._uniqueID(this._element); - this._writeProfilerMark("constructor,StartTM"); - - if (!this._element.hasAttribute("tabIndex")) { - this._element.tabIndex = -1; - } - - // Attach our css class. - _ElementUtilities.addClass(this._element, _Constants.appBarClass); - - // Make sure we have an ARIA role - var role = this._element.getAttribute("role"); - if (!role) { - this._element.setAttribute("role", "menubar"); - } - var label = this._element.getAttribute("aria-label"); - if (!label) { - this._element.setAttribute("aria-label", strings.ariaLabel); - } - - // Call the _Overlay constructor helper to finish setting up our element. - // Don't pass constructor options, AppBar needs to set those itself specific order. - this._baseOverlayConstructor(this._element); - - // Start off hidden - this._lastPositionVisited = displayModeVisiblePositions.none; - _ElementUtilities.addClass(this._element, _Constants.hiddenClass); - - // validate that if they didn't set commands, but want command - // layout that the HTML only contains commands. Do this first - // so that we don't leave partial AppBars in the DOM. - if (options.layout !== _Constants.appBarLayoutCustom && !options.commands && this._element) { - // Shallow copy object so we can modify it. - options = _BaseUtils._shallowCopy(options); - options.commands = this._verifyCommandsOnly(this._element, "WinJS.UI.AppBarCommand"); - } - - // Add Invoke button. - this._invokeButton = _Global.document.createElement("button"); - this._invokeButton.tabIndex = 0; - this._invokeButton.innerHTML = ""; - _ElementUtilities.addClass(this._invokeButton, _Constants.invokeButtonClass); - this._element.appendChild(this._invokeButton); - var that = this; - _ElementUtilities._addEventListener(this._invokeButton, "pointerdown", function () { _Overlay._Overlay._addHideFocusClass(that._invokeButton); }, false); - this._invokeButton.addEventListener("click", function () { AppBar._toggleAllAppBarsState(_KeyboardBehavior._keyboardSeenLast, that); }, false); - - // Run layout setter immediately. We need to know our layout in order to correctly - // position any commands that may be getting set through the constructor. - this.layout = options.layout || _Constants.appBarLayoutCommands; - delete options.layout; - - // Need to set placement before closedDisplayMode, closedDisplayMode sets our starting position, which is dependant on placement. - this.placement = options.placement || _Constants.appBarPlacementBottom; - this.closedDisplayMode = options.closedDisplayMode || closedDisplayModes.minimal; - - _Control.setOptions(this, options); - - this._initializing = false; - - // Make a click eating div - _Overlay._Overlay._createClickEatingDivAppBar(); - - // Handle key down (esc) and (left & right) - this._element.addEventListener("keydown", this._handleKeyDown.bind(this), false); - - // Attach event handler - if (!appBarCommandEvent) { - // We'll trigger on invoking. Could also have invoked or canceled - // Eventually we may want click up on invoking and drop back on invoked. - // Check for namespace so it'll behave in the designer. - if (_WinRT.Windows.UI.Input.EdgeGesture) { - var commandUI = _WinRT.Windows.UI.Input.EdgeGesture.getForCurrentView(); - commandUI.addEventListener("starting", _startingEdgy); - commandUI.addEventListener("completed", _completedEdgy); - commandUI.addEventListener("canceled", _canceledEdgy); - } - - // Need to know if the IHM is done scrolling - _Global.document.addEventListener("MSManipulationStateChanged", _allManipulationChanged, false); - - appBarCommandEvent = true; - } - - // Make sure _Overlay event handlers are hooked up (this aids light dismiss) - this._addOverlayEventHandlers(false); - - // Need to store what had focus before - _ElementUtilities._addEventListener(this._element, "focusin", function (event) { _checkStorePreviousFocus(event); }, false); - - // Need to hide ourselves if we lose focus - _ElementUtilities._addEventListener(this._element, "focusout", function () { _Overlay._Overlay._hideIfAllAppBarsLostFocus(); }, false); - - - if (this.closedDisplayMode === closedDisplayModes.none && this.layout === _Constants.appBarLayoutCommands) { - // Remove the commands layout AppBar from the layout tree at this point so we don't cause unnecessary layout costs whenever - // the window resizes or when CSS changes are applied to the commands layout AppBar's parent element. - this._element.style.display = "none"; - } - - this._writeProfilerMark("constructor,StopTM"); - - return this; - }, { - // Public Properties - - /// The placement of the AppBar on the display. Values are "top" or "bottom". - placement: { - get: function AppBar_get_placement() { - return this._placement; - }, - set: function AppBar_set_placement(value) { - // In designer we may have to move it - var wasShown = false; - if (_WinRT.Windows.ApplicationModel.DesignMode.designModeEnabled) { - this._hide(); - wasShown = true; - } - - if (!this.hidden) { - throw new _ErrorFromName("WinJS.UI.AppBar.CannotChangePlacementWhenVisible", strings.cannotChangePlacementWhenVisible); - } - - // Set placement, coerce invalid values to 'bottom' - this._placement = (value === _Constants.appBarPlacementTop) ? _Constants.appBarPlacementTop : _Constants.appBarPlacementBottom; - - // Clean up win-top, win-bottom styles - if (this._placement === _Constants.appBarPlacementTop) { - _ElementUtilities.addClass(this._element, _Constants.topClass); - _ElementUtilities.removeClass(this._element, _Constants.bottomClass); - } else if (this._placement === _Constants.appBarPlacementBottom) { - _ElementUtilities.removeClass(this._element, _Constants.topClass); - _ElementUtilities.addClass(this._element, _Constants.bottomClass); - } - - // Show again if we hid ourselves for the designer - if (wasShown) { - this._show(); - } - } - }, - - /// - /// Gets or sets the layout of the AppBar contents to either "commands" or "custom". - /// - layout: { - get: function AppBar_get_layout() { - return this._layout.type; - }, - set: function (layout) { - if (layout !== _Constants.appBarLayoutCommands && layout !== _Constants.appBarLayoutCustom) { - throw new _ErrorFromName("WinJS.UI.AppBar.BadLayout", strings.badLayout); - } - - // In designer we may have to redraw it - var wasShown = false; - if (_WinRT.Windows.ApplicationModel.DesignMode.designModeEnabled) { - this._hide(); - wasShown = true; - } - - if (!this.hidden) { - throw new _ErrorFromName("WinJS.UI.AppBar.CannotChangeLayoutWhenVisible", strings.cannotChangeLayoutWhenVisible); - } - - var commands; - if (!this._initializing) { - // Gather commands in preparation for hand off to new layout. - // We expect prev layout to return commands in the order they were set in, - // not necessarily the current DOM order the layout is using. - commands = this._layout.commandsInOrder; - this._layout.disconnect(); - } - - // Set layout - if (layout === _Constants.appBarLayoutCommands) { - this._layout = new _Layouts._AppBarCommandsLayout(); - } else { - // Custom layout uses Base AppBar Layout class. - this._layout = new _Layouts._AppBarBaseLayout(); - } - this._layout.connect(this._element); - - if (commands && commands.length) { - // Reset AppBar since layout changed. - this._layoutCommands(commands); - } - this._layout.connect(this._element); - - if (commands && commands.length) { - // Reset AppBar since layout changed. - this._layoutCommands(commands); - } - - // Show again if we hid ourselves for the designer - if (wasShown) { - this._show(); - } - }, - configurable: true - }, - - /// - /// Gets or sets value that indicates whether the AppBar is sticky. - /// This value is true if the AppBar is sticky; otherwise, it's false. - /// - sticky: { - get: function AppBar_get_sticky() { - return this._sticky; - }, - set: function AppBar_set_sticky(value) { - // If it doesn't change, do nothing - if (this._sticky === !!value) { - return; - } - - this._sticky = !!value; - - // Note: caller still has to call .show() if also want it shown. - - // Show or hide the click eating div based on sticky value - if (!this.hidden && this._element.style.visibility === "visible") { - // May have changed sticky state for keyboard navigation - _updateAllAppBarsFirstAndFinalDiv(); - - // Ensure that the click eating div is in the correct state - if (this._sticky) { - if (!_isThereVisibleNonStickyBar()) { - _Overlay._Overlay._hideClickEatingDivAppBar(); - } - } else { - _Overlay._Overlay._showClickEatingDivAppBar(); - - if (this._shouldStealFocus()) { - _storePreviousFocus(_Global.document.activeElement); - this._setFocusToAppBar(); - } - } - } - } - }, - - /// - /// Sets the AppBarCommands in the AppBar. This property accepts an array of AppBarCommand objects. - /// - commands: { - set: function AppBar_set_commands(commands) { - // Fail if trying to set when shown - if (!this.hidden) { - throw new _ErrorFromName("WinJS.UI.AppBar.CannotChangeCommandsWhenVisible", _Resources._formatString(_Overlay._Overlay.commonstrings.cannotChangeCommandsWhenVisible, "AppBar")); - } - - // Dispose old commands before tossing them out. - if (!this._initializing) { - // AppBarCommands defined in markup don't want to be disposed during initialization. - this._disposeChildren(); - } - this._layoutCommands(commands); - } - }, - - _layoutCommands: function AppBar_layoutCommands(commands) { - // Function precondition: AppBar must not be shown. - - // Empties AppBar HTML and repopulates with passed in commands. - _ElementUtilities.empty(this._element); - this._element.appendChild(this._invokeButton); // Keep our Show/Hide button. - - // In case they had only one command to set... - if (!Array.isArray(commands)) { - commands = [commands]; - } - - this._layout.layout(commands); - }, - - /// - /// Gets/Sets how AppBar will display itself while hidden. Values are "none" and "minimal". - /// - closedDisplayMode: { - get: function AppBar_get_closedDisplayMode() { - return this._closedDisplayMode; - }, - set: function AppBar_set_closedDisplayMode(value) { - var oldValue = this._closedDisplayMode; - - if (oldValue !== value) { - if (value === closedDisplayModes.none) { - this._closedDisplayMode = closedDisplayModes.none; - _ElementUtilities.removeClass(this._element, _Constants.minimalClass); - } else { - // Minimal is default fallback. - this._closedDisplayMode = closedDisplayModes.minimal; - _ElementUtilities.addClass(this._element, _Constants.minimalClass); - } - - // The invoke button has changed the amount of available space in the AppBar. Layout might need to scale. - this._layout.resize(); - - if (_ElementUtilities.hasClass(this._element, _Constants.hiddenClass) || _ElementUtilities.hasClass(this._element, _Constants.hidingClass)) { - // If the value is being set while we are not showing, change to our new position. - this._changeVisiblePosition(displayModeVisiblePositions[this._closedDisplayMode]); - } - } - }, - }, - - /// - /// Disable an AppBar, setting or getting the HTML disabled attribute. While disabled, the AppBar is hidden completely, and will not respond to attempts to show it. - /// - disabled: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return !!this._element.disabled; - }, - set: function (disable) { - var disable = !!disable; - if (this.disabled !== disable) { - this._element.disabled = disable; - var toPosition; - if (disable) { - // Disabling. Move to the position mapped to the disabled state. - toPosition = displayModeVisiblePositions.disabled; - } else { - // Enabling. Move to the position mapped to our closedDisplayMode. - toPosition = displayModeVisiblePositions[this.closedDisplayMode]; - } - this._hide(toPosition); - } - }, - }, - - /// - hidden: { - get: function () { - // Returns true if AppBar is 'hidden'. - return _ElementUtilities.hasClass(this._element, _Constants.hiddenClass) || - _ElementUtilities.hasClass(this._element, _Constants.hidingClass) || - this._doNext === displayModeVisiblePositions.minimal || - this._doNext === displayModeVisiblePositions.none; - }, - }, - - getCommandById: function (id) { - /// - /// - /// Retrieves the command with the specified ID from this AppBar. - /// If more than one command is found, this method returns them all. - /// - /// Id of the command to return. - /// - /// The command found, an array of commands if more than one have the same ID, or null if no command is found. - /// - /// - var commands = this.element.querySelectorAll("#" + id); - var newCommands = []; - for (var count = 0, len = commands.length; count < len; count++) { - if (commands[count].winControl) { - newCommands.push(commands[count].winControl); - } - } - - if (newCommands.length === 1) { - return newCommands[0]; - } else if (newCommands.length === 0) { - return null; - } - - return newCommands; - }, - - showCommands: function (commands) { - /// - /// - /// Show the specified commands of the AppBar. - /// - /// - /// An array of the commands to show. The array elements may be AppBarCommand objects, or the string identifiers (IDs) of commands. - /// - /// - if (!commands) { - throw new _ErrorFromName("WinJS.UI.AppBar.RequiresCommands", strings.requiresCommands); - } - - this._showCommands(commands); - }, - - hideCommands: function (commands) { - /// - /// - /// Hides the specified commands of the AppBar. - /// - /// Required. Command or Commands to hide, either String, DOM elements, or WinJS objects. - /// - if (!commands) { - throw new _ErrorFromName("WinJS.UI.AppBar.RequiresCommands", strings.requiresCommands); - } - - this._hideCommands(commands); - }, - - showOnlyCommands: function (commands) { - /// - /// - /// Show the specified commands, hiding all of the others in the AppBar. - /// - /// - /// An array of the commands to show. The array elements may be AppBarCommand objects, or the string identifiers (IDs) of commands. - /// - /// - if (!commands) { - throw new _ErrorFromName("WinJS.UI.AppBar.RequiresCommands", strings.requiresCommands); - } - - this._showOnlyCommands(commands); - }, - - show: function () { - /// - /// - /// Shows the AppBar, if hidden and not disabled, regardless of other state. - /// - /// - // Just wrap the private one, turning off keyboard invoked flag - this._writeProfilerMark("show,StartTM"); - this._keyboardInvoked = false; - this._doNotFocus = !!this.sticky; - this._show(); - }, - - _show: function AppBar_show() { - - var toPosition = displayModeVisiblePositions.shown; - var showing = null; - - // If we're already shown, we are just going to animate our position, not fire events or manage focus. - if (!this.disabled && (_ElementUtilities.hasClass(this._element, _Constants.hiddenClass) || _ElementUtilities.hasClass(this._element, _Constants.hidingClass))) { - showing = appbarShownState; - } - - this._changeVisiblePosition(toPosition, showing); - - if (showing) { - // Configure shown state for lightdismiss & sticky appbars. - if (!this.sticky) { - // Need click-eating div to be visible ASAP. - _Overlay._Overlay._showClickEatingDivAppBar(); - } - - // Clean up tabbing behavior by making sure first and final divs are correct after showing. - if (!this.sticky && _isThereVisibleNonStickyBar()) { - _updateAllAppBarsFirstAndFinalDiv(); - } else { - this._updateFirstAndFinalDiv(); - } - - // Check if we should steal focus - if (!this._doNotFocus && this._shouldStealFocus()) { - // Store what had focus if nothing currently is stored - if (!_Overlay._Overlay._ElementWithFocusPreviousToAppBar) { - _storePreviousFocus(_Global.document.activeElement); - } - - this._setFocusToAppBar(); - } - } - }, - - hide: function () { - /// - /// - /// Hides the AppBar. - /// - /// - // Just wrap the private one - this._writeProfilerMark("hide,StartTM"); - this._hide(); - }, - - _hide: function AppBar_hide(toPosition) { - - var toPosition = toPosition || displayModeVisiblePositions[this.closedDisplayMode]; - var hiding = null; - - // If were already hidden, we are just going to animate our position, not fire events or manage focus again. - if (!_ElementUtilities.hasClass(this._element, _Constants.hiddenClass) && !_ElementUtilities.hasClass(this._element, _Constants.hidingClass)) { - hiding = appbarHiddenState; - } - - this._changeVisiblePosition(toPosition, hiding); - if (hiding) { - // Determine if there are any AppBars that are shown. - // Set the focus to the next shown AppBar. - // If there are none, set the focus to the control stored in the cache, which - // is what had focus before the AppBars were given focus. - var appBars = _Global.document.querySelectorAll("." + _Constants.appBarClass); - var areOtherAppBars = false; - var areOtherNonStickyAppBars = false; - var i; - for (i = 0; i < appBars.length; i++) { - var appBarControl = appBars[i].winControl; - if (appBarControl && !appBarControl.hidden && (appBarControl !== this)) { - areOtherAppBars = true; - - if (!appBarControl.sticky) { - areOtherNonStickyAppBars = true; - break; - } - } - } - - var settingsFlyouts = _Global.document.querySelectorAll("." + _Constants.settingsFlyoutClass); - var areVisibleSettingsFlyouts = false; - for (i = 0; i < settingsFlyouts.length; i++) { - var settingsFlyoutControl = settingsFlyouts[i].winControl; - if (settingsFlyoutControl && !settingsFlyoutControl.hidden) { - areVisibleSettingsFlyouts = true; - break; - } - } - - if (!areOtherNonStickyAppBars && !areVisibleSettingsFlyouts) { - // Hide the click eating div because there are no other AppBars showing - _Overlay._Overlay._hideClickEatingDivAppBar(); - } - - var that = this; - if (!areOtherAppBars) { - // Set focus to what had focus before showing the AppBar - if (_Overlay._Overlay._ElementWithFocusPreviousToAppBar && - (!_Global.document.activeElement || _Overlay._Overlay._isAppBarOrChild(_Global.document.activeElement))) { - _restorePreviousFocus(); - } - // Always clear the previous focus (to prevent temporary leaking of element) - _Overlay._Overlay._ElementWithFocusPreviousToAppBar = null; - } else if (AppBar._isWithinAppBarOrChild(_Global.document.activeElement, that.element)) { - // Set focus to next visible AppBar in DOM - - var foundCurrentAppBar = false; - for (i = 0; i <= appBars.length; i++) { - if (i === appBars.length) { - i = 0; - } - - var appBar = appBars[i]; - if (appBar === this.element) { - foundCurrentAppBar = true; - } else if (foundCurrentAppBar && !appBar.winControl.hidden) { - appBar.winControl._keyboardInvoked = !!this._keyboardInvoked; - appBar.winControl._setFocusToAppBar(); - break; - } - } - } - - // If we are hiding the last lightDismiss AppBar, - // then we need to update the tabStops of the other AppBars - if (!this.sticky && !_isThereVisibleNonStickyBar()) { - _updateAllAppBarsFirstAndFinalDiv(); - } - - // Reset these values - this._keyboardInvoked = false; - this._doNotFocus = false; - } - }, - - _dispose: function AppBar_dispose() { - _Dispose.disposeSubTree(this.element); - this._layout.dispose(); - this.disabled = true; - - }, - - _disposeChildren: function AppBar_disposeChildren() { - // Be purposeful about what we dispose. - this._layout.disposeChildren(); - }, - - _handleKeyDown: function AppBar_handleKeyDown(event) { - // On Left/Right arrow keys, moves focus to previous/next AppbarCommand element. - // On "Esc" key press hide flyouts and hide light dismiss AppBars. - - // Esc hides light-dismiss AppBars in all layouts but if the user has a text box with an IME - // candidate window open, we want to skip the ESC key event since it is handled by the IME. - // When the IME handles a key it sets event.keyCode === Key.IME for an easy check. - if (event.keyCode === Key.escape && event.keyCode !== Key.IME) { - event.preventDefault(); - event.stopPropagation(); - _Overlay._Overlay._hideAllFlyouts(); - _Overlay._Overlay._hideLightDismissAppBars(null, true); - } - - // If the current active element isn't an intrinsic part of the AppBar, - // Layout might want to handle additional keys. - if (!this._invokeButton.contains(_Global.document.activeElement)) { - this._layout.handleKeyDown(event); - } - }, - - _visiblePixels: { - get: function () { - // Returns object containing pixel height of each visible position - return { - hidden: knownVisibleHeights.hidden, - minimal: knownVisibleHeights.minimal, - // Element can change size as content gets added or removed or if it - // experinces style changes. We have to look this up at run time. - shown: this._element.offsetHeight, - }; - } - }, - - _visiblePosition: { - // Returns string value of our nearest, stationary, visible position. - get: function () { - // If we're animating into a new posistion, return the position we're animating into. - if (this._animating && displayModeVisiblePositions[this._element.winAnimating]) { - return this._element.winAnimating; - } else { - return this._lastPositionVisited; - } - } - }, - - _visible: { - // Returns true if our visible position is not completely hidden, else false. - get: function () { - return (this._visiblePosition !== displayModeVisiblePositions.none); - } - }, - - _changeVisiblePosition: function (toPosition, newState) { - /// - /// - /// Changes the visible position of the AppBar. - /// - /// - /// Name of the visible position we want to move to. - /// - /// - /// Name of the state we are entering. Values can be "showing", "hiding" or null. - /// If the value is null, then we are not changing states, only changing visible position. - /// - /// - - if ((this._visiblePosition === toPosition && !this._keyboardObscured) || - (this.disabled && toPosition !== displayModeVisiblePositions.disabled)) { - // If we want to go where we already are, or we're disabled, return false. - this._afterPositionChange(null); - } else if (this._animating || this._needToHandleShowingKeyboard || this._needToHandleHidingKeyboard) { - // Only do one thing at a time. If we are already animating, - // or the IHM is animating, schedule this for later. - this._doNext = toPosition; - this._afterPositionChange(null); - } else { - // Begin position changing sequence. - - // Set the animating flag to block any queued position changes until we're done. - this._element.winAnimating = toPosition; - var performAnimation = this._initializing ? false : true; - - // Assume we are animating from the last position visited. - var fromPosition = this._lastPositionVisited; - - // We'll need to measure our element to determine how far we need to animate. - // Make sure we have accurate dimensions. - this._element.style.display = ""; - - // Are we hiding completely, or about to become visible? - var hidingCompletely = (toPosition === displayModeVisiblePositions.hidden); - - if (this._keyboardObscured) { - // We're changing position while covered by the IHM. - if (hidingCompletely) { - // If we're covered by the IHM we already look hidden. - // We can skip our animation and just hide. - performAnimation = false; - } else { - // Some portion of the AppBar should be visible to users after its position changes. - - // Un-obscure ourselves and become visible to the user again. - // Need to animate to our desired position as if we were coming up from behind the keyboard. - fromPosition = displayModeVisiblePositions.hidden; - } - this._keyboardObscured = false; - } - - // Fire "before" event if we are changing state. - if (newState === appbarShownState) { - this._beforeShow(); - } else if (newState === appbarHiddenState) { - this._beforeHide(); - } - - // Position our element into the correct "end of animation" position, - // also accounting for any viewport scrolling or soft keyboard positioning. - this._ensurePosition(); - - this._element.style.opacity = 1; - this._element.style.visibility = "visible"; - - this._animationPromise = (performAnimation) ? this._animatePositionChange(fromPosition, toPosition) : Promise.wrap(); - this._animationPromise.then( - function () { this._afterPositionChange(toPosition, newState); }.bind(this), - function () { this._afterPositionChange(toPosition, newState); }.bind(this) - ); - } - }, - - _afterPositionChange: function AppBar_afterPosiitonChange(newPosition, newState) { - // Defines body of work to perform after changing positions. - if (this._disposed) { - return; - } - - if (newPosition) { - // Clear animation flag and record having visited this position. - this._element.winAnimating = ""; - this._lastPositionVisited = newPosition; - - if (this._doNext === this._lastPositionVisited) { - this._doNext = ""; - } - - if (newPosition === displayModeVisiblePositions.hidden) { - // Make sure animation is finished. - this._element.style.visibility = "hidden"; - this._element.style.display = "none"; - } - - // Clean up animation transforms. - var transformProperty = _BaseUtils._browserStyleEquivalents["transform"].scriptName; - this._element.style[transformProperty] = ""; - - // Fire "after" event if we changed state. - if (newState === appbarShownState) { - this._afterShow(); - } else if (newState === appbarHiddenState) { - this._afterHide(); - } - - // If we had something queued, do that - Scheduler.schedule(this._checkDoNext, Scheduler.Priority.normal, this, "WinJS.UI.AppBar._checkDoNext"); - } - - this._afterPositionChangeCallBack(); - }, - - _afterPositionChangeCallBack: function () { - // Leave this blank for unit tests to overwrite. - }, - - _beforeShow: function AppBar_beforeShow() { - // Each overlay tracks the size of the element for triggering light-dismiss in the window resize handler. - this._cachedDocumentSize = this._cachedDocumentSize || _Overlay._Overlay._sizeOfDocument(); - - // In case their event 'beforeshow' event listener is going to manipulate commands, - // first see if there are any queued command animations we can handle while we're still hidden. - if (this._queuedCommandAnimation) { - this._showAndHideFast(this._queuedToShow, this._queuedToHide); - this._queuedToShow = []; - this._queuedToHide = []; - } - - // Make sure everything fits before showinging - this._layout.scale(); - - _ElementUtilities.removeClass(this._element, _Constants.hiddenClass); - _ElementUtilities.addClass(this._element, _Constants.showingClass); - - // Send our "beforeShow" event - this._sendEvent(_Overlay._Overlay.beforeShow); - }, - - _afterShow: function AppBar_afterShow() { - _ElementUtilities.removeClass(this._element, _Constants.showingClass); - _ElementUtilities.addClass(this._element, _Constants.shownClass); - - // Send our "afterShow" event - this._sendEvent(_Overlay._Overlay.afterShow); - this._writeProfilerMark("show,StopTM"); - }, - - _beforeHide: function AppBar_beforeHide() { - - _ElementUtilities.removeClass(this._element, _Constants.shownClass); - _ElementUtilities.addClass(this._element, _Constants.hidingClass); - - // Send our "beforeHide" event - this._sendEvent(_Overlay._Overlay.beforeHide); - }, - - _afterHide: function AppBar_afterHide() { - - // In case their 'afterhide' event handler is going to manipulate commands, - // first see if there are any queued command animations we can handle now we're hidden. - if (this._queuedCommandAnimation) { - this._showAndHideFast(this._queuedToShow, this._queuedToHide); - this._queuedToShow = []; - this._queuedToHide = []; - } - - _ElementUtilities.removeClass(this._element, _Constants.hidingClass); - _ElementUtilities.addClass(this._element, _Constants.hiddenClass); - - // Send our "afterHide" event - this._sendEvent(_Overlay._Overlay.afterHide); - this._writeProfilerMark("hide,StopTM"); - }, - - _animatePositionChange: function AppBar_animatePositionChange(fromPosition, toPosition) { - // Determines and executes the proper transition between visible positions - - // Get values in terms of pixels to perform animation. - var beginningVisiblePixelHeight = this._visiblePixels[fromPosition], - endingVisiblePixelHeight = this._visiblePixels[toPosition], - distance = Math.abs(endingVisiblePixelHeight - beginningVisiblePixelHeight), - offsetTop = (this._placement === _Constants.appBarPlacementTop) ? -distance : distance; - - // Animate - if (endingVisiblePixelHeight > beginningVisiblePixelHeight) { - var fromOffset = { top: offsetTop + "px", left: "0px" }; - return Animations.showEdgeUI(this._element, fromOffset, { mechanism: "transition" }); - } else { - var toOffset = { top: offsetTop + "px", left: "0px" }; - return Animations.hideEdgeUI(this._element, toOffset, { mechanism: "transition" }); - } - }, - - _checkDoNext: function AppBar_checkDoNext() { - // Do nothing if we're still animating - if (this._animating || this._needToHandleShowingKeyboard || this._needToHandleHidingKeyboard || this._disposed) { - return; - } - - if (this._doNext === displayModeVisiblePositions.disabled || - this._doNext === displayModeVisiblePositions.hidden || - this._doNext === displayModeVisiblePositions.minimal) { - // Do hide first because animating commands would be easier - this._hide(this._doNext); - this._doNext = ""; - } else if (this._queuedCommandAnimation) { - // Do queued commands before showing if possible - this._showAndHideQueue(); - } else if (this._doNext === displayModeVisiblePositions.shown) { - // Show last so that we don't unnecessarily animate commands - this._show(); - this._doNext = ""; - } - }, - - _isABottomAppBarInTheProcessOfShowing: function AppBar_isABottomAppBarInTheProcessOfShowing() { - var appbars = _Global.document.querySelectorAll("." + _Constants.appBarClass + "." + _Constants.bottomClass); - for (var i = 0; i < appbars.length; i++) { - if (appbars[i].winAnimating === displayModeVisiblePositions.shown) { - return true; - } - } - - return false; - }, - - // Returns true if - // 1) This is a bottom appbar - // 2) No appbar has focus and a bottom appbar is not in the process of showing - // 3) What currently has focus is neither a bottom appbar nor a top appbar - // AND a bottom appbar is not in the process of showing. - // Otherwise Returns false - _shouldStealFocus: function AppBar_shouldStealFocus() { - var activeElementAppBar = _Overlay._Overlay._isAppBarOrChild(_Global.document.activeElement); - if (this._element === activeElementAppBar) { - // This appbar already has focus and we don't want to move focus - // from where it currently is in this appbar. - return false; - } - if (this._placement === _Constants.appBarPlacementBottom) { - // This is a bottom appbar - return true; - } - - var isBottomAppBarShowing = this._isABottomAppBarInTheProcessOfShowing(); - if (!activeElementAppBar) { - // Currently no appbar has focus. - // Return true if a bottom appbar is not in the process of showing. - return !isBottomAppBarShowing; - } - if (!activeElementAppBar.winControl) { - // This should not happen, but if it does we want to make sure - // that an AppBar ends up with focus. - return true; - } - if ((activeElementAppBar.winControl._placement !== _Constants.appBarPlacementBottom) - && (activeElementAppBar.winControl._placement !== _Constants.appBarPlacementTop) - && !isBottomAppBarShowing) { - // What currently has focus is neither a bottom appbar nor a top appbar - // -and- - // a bottom appbar is not in the process of showing. - return true; - } - return false; - }, - - // Set focus to the passed in AppBar - _setFocusToAppBar: function AppBar_setFocusToAppBar() { - if (this._focusOnFirstFocusableElement()) { - // Prevent what is gaining focus from showing that it has focus, - // but only in the non-keyboard scenario. - if (!this._keyboardInvoked) { - _Overlay._Overlay._addHideFocusClass(_Global.document.activeElement); - } - } else { - // No first element, set it to appbar itself - _Overlay._Overlay._trySetActive(this._element); - } - }, - - _commandsUpdated: function AppBar_commandsUpdated() { - // If we are still initializing then we don't have a layout yet so it doesn't need updating. - if (!this._initializing) { - this._layout.commandsUpdated(); - this._layout.scale(); - } - }, - - _beginAnimateCommands: function AppBar_beginAnimateCommands(showCommands, hideCommands, otherVisibleCommands) { - // The parameters are 3 mutually exclusive arrays of win-command elements contained in this Overlay. - // 1) showCommands[]: All of the HIDDEN win-command elements that ARE scheduled to show. - // 2) hideCommands[]: All of the VISIBLE win-command elements that ARE scheduled to hide. - // 3) otherVisibleCommands[]: All VISIBLE win-command elements that ARE NOT scheduled to hide. - this._layout.beginAnimateCommands(showCommands, hideCommands, otherVisibleCommands); - }, - - _endAnimateCommands: function AppBar_endAnimateCommands() { - this._layout.endAnimateCommands(); - this._endAnimateCommandsCallBack(); - }, - - _endAnimateCommandsCallBack: function AppBar_endAnimateCommandsCallBack() { - // Leave this blank for unit tests to overwrite. - }, - - // Get the top offset for top appbars. - _getTopOfVisualViewport: function AppBar_getTopOfVisualViewPort() { - return _Overlay._Overlay._keyboardInfo._visibleDocTop; - }, - - // Get the bottom offset for bottom appbars. - _getAdjustedBottom: function AppBar_getAdjustedBottom() { - // Need the distance the IHM moved as well. - return _Overlay._Overlay._keyboardInfo._visibleDocBottomOffset; - }, - - _showingKeyboard: function AppBar_showingKeyboard(event) { - // Remember keyboard showing state. - this._keyboardObscured = false; - this._needToHandleHidingKeyboard = false; - - // If we're already moved, then ignore the whole thing - if (_Overlay._Overlay._keyboardInfo._visible && this._alreadyInPlace()) { - return; - } - - this._needToHandleShowingKeyboard = true; - // If focus is in the appbar, don't cause scrolling. - if (!this.hidden && this._element.contains(_Global.document.activeElement)) { - event.ensuredFocusedElementInView = true; - } - - // Check if appbar moves or if we're ok leaving it obscured instead. - if (this._visible && this._placement !== _Constants.appBarPlacementTop && _Overlay._Overlay._isFlyoutVisible()) { - // Remember that we're obscured - this._keyboardObscured = true; - } else { - // Don't be obscured, clear _scrollHappened flag to give us inference later on when to re-show ourselves. - this._scrollHappened = false; - } - - // Also set timeout regardless, so we can clean up our _keyboardShowing flag. - var that = this; - _Global.setTimeout(function (e) { that._checkKeyboardTimer(e); }, _Overlay._Overlay._keyboardInfo._animationShowLength + _Overlay._Overlay._scrollTimeout); - }, - - _hidingKeyboard: function AppBar_hidingKeyboard() { - // We'll either just reveal the current space under the IHM or restore the window height. - - // We won't be obscured - this._keyboardObscured = false; - this._needToHandleShowingKeyboard = false; - this._needToHandleHidingKeyboard = true; - - // We'll either just reveal the current space or resize the window - if (!_Overlay._Overlay._keyboardInfo._isResized) { - // If we're not completely hidden, only fake hiding under keyboard, or already animating, - // then snap us to our final position. - if (this._visible || this._animating) { - // Not resized, update our final position immediately - this._checkScrollPosition(); - this._element.style.display = ""; - } - this._needToHandleHidingKeyboard = false; - } - // Else resize should clear keyboardHiding. - }, - - _resize: function AppBar_resize(event) { - // If we're hidden by the keyboard, then hide bottom appbar so it doesn't pop up twice when it scrolls - if (this._needToHandleShowingKeyboard) { - // Top is allowed to scroll off the top, but we don't want bottom to peek up when - // scrolled into view since we'll show it ourselves and don't want a stutter effect. - if (this._visible) { - if (this._placement !== _Constants.appBarPlacementTop && !this._keyboardObscured) { - // If viewport doesn't match window, need to vanish momentarily so it doesn't scroll into view, - // however we don't want to toggle the visibility="hidden" hidden flag. - this._element.style.display = "none"; - } - } - // else if we're top we stay, and if there's a flyout, stay obscured by the keyboard. - } else if (this._needToHandleHidingKeyboard) { - this._needToHandleHidingKeyboard = false; - if (this._visible || this._animating) { - // Snap to final position - this._checkScrollPosition(); - this._element.style.display = ""; - } - } - - // Make sure everything still fits. - if (!this._initializing) { - this._layout.resize(event); - } - }, - - _checkKeyboardTimer: function AppBar_checkKeyboardTimer() { - if (!this._scrollHappened) { - this._mayEdgeBackIn(); - } - }, - - _manipulationChanged: function AppBar_manipulationChanged(event) { - // See if we're at the not manipulating state, and we had a scroll happen, - // which is implicitly after the keyboard animated. - if (event.currentState === 0 && this._scrollHappened) { - this._mayEdgeBackIn(); - } - }, - - _mayEdgeBackIn: function AppBar_mayEdgeBackIn() { - // May need to react to IHM being resized event - if (this._needToHandleShowingKeyboard) { - // If not top appbar or viewport isn't still at top, then need to show again - this._needToHandleShowingKeyboard = false; - // If obscured (IHM + flyout showing), it's ok to stay obscured. - // If bottom we have to move, or if top scrolled off screen. - if (!this._keyboardObscured && - (this._placement !== _Constants.appBarPlacementTop || _Overlay._Overlay._keyboardInfo._visibleDocTop !== 0)) { - var toPosition = this._visiblePosition; - this._lastPositionVisited = displayModeVisiblePositions.hidden; - this._changeVisiblePosition(toPosition, false); - } else { - // Ensure any animations dropped during the showing keyboard are caught up. - this._checkDoNext(); - } - } - this._scrollHappened = false; - }, - - _ensurePosition: function AppBar_ensurePosition() { - // Position the AppBar element relative to the top or bottom edge of the visible - // document, based on the the visible position we think we need to be in. - var offSet = this._computePositionOffset(); - this._element.style.bottom = offSet.bottom; - this._element.style.top = offSet.top; - - }, - - _computePositionOffset: function AppBar_computePositionOffset() { - // Calculates and returns top and bottom offsets for the AppBar element, relative to the top or bottom edge of the visible - // document. - var positionOffSet = {}; - - if (this._placement === _Constants.appBarPlacementBottom) { - // If the IHM is open, the bottom of the visual viewport may or may not be obscured - // Use _getAdjustedBottom to account for the IHM if it is covering the bottom edge. - positionOffSet.bottom = this._getAdjustedBottom() + "px"; - positionOffSet.top = ""; - } else if (this._placement === _Constants.appBarPlacementTop) { - positionOffSet.bottom = ""; - positionOffSet.top = this._getTopOfVisualViewport() + "px"; - } - - return positionOffSet; - }, - - _checkScrollPosition: function AppBar_checkScrollPosition() { - // If IHM has appeared, then remember we may come in - if (this._needToHandleShowingKeyboard) { - // Tag that it's OK to edge back in. - this._scrollHappened = true; - return; - } - - // We only need to update if we're not completely hidden. - if (this._visible || this._animating) { - this._ensurePosition(); - // Ensure any animations dropped during the showing keyboard are caught up. - this._checkDoNext(); - } - }, - - _alreadyInPlace: function AppBar_alreadyInPlace() { - // See if we're already where we're supposed to be. - var offSet = this._computePositionOffset(); - return (offSet.top === this._element.style.top && offSet.bottom === this._element.style.bottom); - }, - - // If there is a shown non-sticky AppBar then it sets the firstDiv tabIndex to - // the minimum tabIndex found in the AppBars and finalDiv to the max found. - // Otherwise sets their tabIndex to -1 so they are not tab stops. - _updateFirstAndFinalDiv: function AppBar_updateFirstAndFinalDiv() { - var appBarFirstDiv = this._element.querySelectorAll("." + _Constants.firstDivClass); - appBarFirstDiv = appBarFirstDiv.length >= 1 ? appBarFirstDiv[0] : null; - - var appBarFinalDiv = this._element.querySelectorAll("." + _Constants.finalDivClass); - appBarFinalDiv = appBarFinalDiv.length >= 1 ? appBarFinalDiv[0] : null; - - // Remove the firstDiv & finalDiv if they are not at the appropriate locations - if (appBarFirstDiv && (this._element.children[0] !== appBarFirstDiv)) { - appBarFirstDiv.parentNode.removeChild(appBarFirstDiv); - appBarFirstDiv = null; - } - if (appBarFinalDiv && (this._element.children[this._element.children.length - 1] !== appBarFinalDiv)) { - appBarFinalDiv.parentNode.removeChild(appBarFinalDiv); - appBarFinalDiv = null; - } - - // Create and add the firstDiv & finalDiv if they don't already exist - if (!appBarFirstDiv) { - // Add a firstDiv that will be the first child of the appBar. - // On focus set focus to the previous appBar. - // The div should only be focusable if there are shown non-sticky AppBars. - appBarFirstDiv = _Global.document.createElement("div"); - // display: inline is needed so that the div doesn't take up space and cause the page to scroll on focus - appBarFirstDiv.style.display = "inline"; - appBarFirstDiv.className = _Constants.firstDivClass; - appBarFirstDiv.tabIndex = -1; - appBarFirstDiv.setAttribute("aria-hidden", "true"); - _ElementUtilities._addEventListener(appBarFirstDiv, "focusin", _setFocusToPreviousAppBar, false); - // add to beginning - if (this._element.children[0]) { - this._element.insertBefore(appBarFirstDiv, this._element.children[0]); - } else { - this._element.appendChild(appBarFirstDiv); - } - } - if (!appBarFinalDiv) { - // Add a finalDiv that will be the last child of the appBar. - // On focus set focus to the next appBar. - // The div should only be focusable if there are shown non-sticky AppBars. - appBarFinalDiv = _Global.document.createElement("div"); - // display: inline is needed so that the div doesn't take up space and cause the page to scroll on focus - appBarFinalDiv.style.display = "inline"; - appBarFinalDiv.className = _Constants.finalDivClass; - appBarFinalDiv.tabIndex = -1; - appBarFinalDiv.setAttribute("aria-hidden", "true"); - _ElementUtilities._addEventListener(appBarFinalDiv, "focusin", _setFocusToNextAppBar, false); - this._element.appendChild(appBarFinalDiv); - } - - - // invokeButton should be the second to last element in the AppBar's tab order. Second to the finalDiv. - if (this._element.children[this._element.children.length - 2] !== this._invokeButton) { - this._element.insertBefore(this._invokeButton, appBarFinalDiv); - } - var elms = this._element.getElementsByTagName("*"); - var highestTabIndex = _ElementUtilities._getHighestTabIndexInList(elms); - this._invokeButton.tabIndex = highestTabIndex; - - // Update the tabIndex of the firstDiv & finalDiv - if (_isThereVisibleNonStickyBar()) { - - if (appBarFirstDiv) { - appBarFirstDiv.tabIndex = _ElementUtilities._getLowestTabIndexInList(elms); - } - if (appBarFinalDiv) { - appBarFinalDiv.tabIndex = highestTabIndex; - } - } else { - if (appBarFirstDiv) { - appBarFirstDiv.tabIndex = -1; - } - if (appBarFinalDiv) { - appBarFinalDiv.tabIndex = -1; - } - } - }, - - _writeProfilerMark: function AppBar_writeProfilerMark(text) { - _WriteProfilerMark("WinJS.UI.AppBar:" + this._id + ":" + text); - } - }, { - // Statics - _appBarsSynchronizationPromise: Promise.as(), - - // Returns true if the element or what had focus before the element (if a Flyout) is either: - // 1) the appBar or subtree - // 2) OR in a flyout spawned by the appBar - // Returns false otherwise. - _isWithinAppBarOrChild: function (element, appBar) { - if (!element || !appBar) { - return false; - } - if (appBar.contains(element)) { - return true; - } - var flyout = _Overlay._Overlay._getParentControlUsingClassName(element, _Constants.flyoutClass); - return (flyout && appBar.contains(flyout._previousFocus)); - }, - - // Callback for AppBar invokeButton and Edgy Event Command - _toggleAllAppBarsState: function (keyboardInvoked, sourceAppBar) { - var bars = _getDynamicBarsForEdgy(); - - var hiding; - if (sourceAppBar) { - // If the sourceAppBar is shown, hide all AppBars, else show all AppBars. - hiding = _ElementUtilities.hasClass(sourceAppBar._element, _Constants.showingClass) || _ElementUtilities.hasClass(sourceAppBar._element, _Constants.shownClass); - } else { - // EDGY event behavior. No sourceAppBar specified. - // If every AppBar is shown, hide them. Otherwise show them all. - hiding = bars._shown && !bars._hidden; - } - - if (hiding) { - AppBar._appBarsSynchronizationPromise = AppBar._appBarsSynchronizationPromise.then(function () { - return _Overlay._Overlay._hideAllBars(bars, keyboardInvoked); - }); - return "hiding"; - } else { - AppBar._appBarsSynchronizationPromise = AppBar._appBarsSynchronizationPromise.then(function () { - return _Overlay._Overlay._showAllBars(bars, keyboardInvoked); - }); - return "showing"; - } - }, - }); - - return AppBar; - }) - }); - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -// Menu Command -/// appbar,appbars,Flyout,Flyouts,onclick,Statics -define('WinJS/Controls/Menu/_Command',[ - 'exports', - '../../Core/_Global', - '../../Core/_Base', - '../../Core/_ErrorFromName', - '../../Core/_Resources', - '../../Utilities/_Control', - '../../Utilities/_ElementUtilities', - '../AppBar/_Constants', - '../Flyout/_Overlay' - ], function menuCommandInit(exports, _Global, _Base, _ErrorFromName, _Resources, _Control, _ElementUtilities, _Constants, _Overlay) { - "use strict"; - - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - /// - /// - /// Represents a command to be displayed in a Menu. MenuCommand objects provide button, toggle button, flyout button, - /// or separator functionality for Menu controls. - /// - /// - /// - /// - /// - /// ]]> - /// The MenuCommand control itself - /// - /// - /// - MenuCommand: _Base.Namespace._lazy(function () { - - function _handleMenuClick(event) { - /*jshint validthis: true */ - var command = this.winControl; - if (command) { - var hideParent = true; - if (command._type === _Constants.typeToggle) { - command.selected = !command.selected; - } else if (command._type === _Constants.typeFlyout && command._flyout) { - var flyout = command._flyout; - // Flyout may not have processAll'd, so this may be a DOM object - if (typeof flyout === "string") { - flyout = _Global.document.getElementById(flyout); - } - if (!flyout.show) { - flyout = flyout.winControl; - } - if (flyout && flyout.show) { - if (command._parentFlyout) { - hideParent = false; - flyout.show(command._parentFlyout._currentAnchor, command._parentFlyout._currentPlacement, command._parentFlyout._currentAlignment); - } else { - flyout.show(this); - } - } - } - if (command.onclick) { - command.onclick(event); - } - // Dismiss parent flyout - if (hideParent && command._parentFlyout) { - command._parentFlyout.hide(); - } - } - } - - function _handleMouseOver() { - /*jshint validthis: true */ - if (this && this.focus) { - this.focus(); - - this.addEventListener("mousemove", _handleMouseMove, false); - } - } - - function _handleMouseMove() { - /*jshint validthis: true */ - if (this && this.focus && this !== _Global.document.activeElement) { - this.focus(); - } - } - - function _handleMouseOut() { - /*jshint validthis: true */ - var that = this; - var parentFlyout = _getParentFlyout(that); - if (parentFlyout - && this === _Global.document.activeElement - && _ElementUtilities.hasClass(parentFlyout, _Constants.menuClass) - && parentFlyout.focus) { - // Menu gives focus to the menu itself - parentFlyout.focus(); - } else if (parentFlyout - && this === _Global.document.activeElement - && parentFlyout.children - && parentFlyout.children.length > 0 - && parentFlyout.children[0] - && _ElementUtilities.hasClass(parentFlyout.children[0], _Constants.firstDivClass) - && parentFlyout.children[0].focus) { - // Flyout gives focus to firstDiv - parentFlyout.children[0].focus(); - } - - this.removeEventListener("mousemove", _handleMouseMove, false); - } - - function _getParentFlyout(element) { - while (element && !_ElementUtilities.hasClass(element, _Constants.flyoutClass)) { - element = element.parentElement; - } - - return element; - } - - var strings = { - get ariaLabel() { return _Resources._getWinJSString("ui/menuCommandAriaLabel").value; }, - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; }, - get badClick() { return "Invalid argument: The onclick property for an {0} must be a function"; }, - get badHrElement() { return "Invalid argument: For a separator, the element must be null or an hr element"; }, - get badButtonElement() { return "Invalid argument: For a button, toggle, or flyout command, the element must be null or a button element"; } - }; - - return _Base.Class.define(function MenuCommand_ctor(element, options) { - /// - /// - /// Creates a new MenuCommand object. - /// - /// - /// The DOM element that will host the control. - /// - /// - /// The set of properties and values to apply to the new MenuCommand. - /// - /// - /// A MenuCommand control. - /// - /// - /// - - // Check to make sure we weren't duplicated - if (element && element.winControl) { - throw new _ErrorFromName("WinJS.UI.MenuCommand.DuplicateConstruction", strings.duplicateConstruction); - } - - this._disposed = false; - - // Don't blow up if they didn't pass options - if (!options) { - options = {}; - } - - // Need a type before we can create our element - if (!options.type) { - this._type = _Constants.typeButton; - } - - // Go ahead and create it, separator types look different than buttons - // Don't forget to use passed in element if one was provided. - this._element = element; - if (options.type === _Constants.typeSeparator) { - this._createSeparator(); - } else { - // This will also set the icon & label - this._createButton(); - } - _ElementUtilities.addClass(this._element, "win-disposable"); - - // Remember ourselves - this._element.winControl = this; - - // Attach our css class - _ElementUtilities.addClass(this._element, _Constants.menuCommandClass); - - if (!options.selected && options.type === _Constants.typeToggle) { - // Make sure toggle's have selected false for CSS - this.selected = false; - } - if (options.onclick) { - this.onclick = options.onclick; - } - options.onclick = _handleMenuClick; - - _Control.setOptions(this, options); - - // Set our options - if (this._type !== _Constants.typeSeparator) { - // Make sure we have an ARIA role - var role = this._element.getAttribute("role"); - if (role === null || role === "" || role === undefined) { - role = "menuitem"; - if (this._type === _Constants.typeToggle) { - role = "menuitemcheckbox"; - } - this._element.setAttribute("role", role); - if (this._type === _Constants.typeFlyout) { - this._element.setAttribute("aria-haspopup", true); - } - } - var label = this._element.getAttribute("aria-label"); - if (label === null || label === "" || label === undefined) { - this._element.setAttribute("aria-label", strings.ariaLabel); - } - } - - this._element.addEventListener("mouseover", _handleMouseOver, false); - this._element.addEventListener("mouseout", _handleMouseOut, false); - }, { - /// - /// Gets the ID of the MenuCommand. - /// - /// - id: { - get: function () { - return this._element.id; - }, - set: function (value) { - // we allow setting first time only. otherwise we ignore it. - if (!this._element.id) { - this._element.id = value; - } - } - }, - - /// - /// Gets the type of the MenuCommand. Possible values are "button", "toggle", "flyout", or "separator". - /// - /// - type: { - get: function () { - return this._type; - }, - set: function (value) { - // we allow setting first time only. otherwise we ignore it. - if (!this._type) { - if (value !== _Constants.typeButton && value !== _Constants.typeFlyout && value !== _Constants.typeToggle && value !== _Constants.typeSeparator) { - this._type = _Constants.typeButton; - } else { - this._type = value; - } - } - } - }, - - /// - /// The label of the MenuCommand - /// - /// - label: { - get: function () { - return this._label; - }, - set: function (value) { - this._label = value; - this._element.textContent = this.label; - - // Update aria-label - this._element.setAttribute("aria-label", this.label); - } - }, - - /// - /// Gets or sets the function to invoke when the command is clicked. - /// - /// - onclick: { - get: function () { - return this._onclick; - }, - set: function (value) { - if (value && typeof value !== "function") { - throw new _ErrorFromName("WinJS.UI.MenuCommand.BadClick", _Resources._formatString(strings.badClick, "MenuCommand")); - } - this._onclick = value; - } - }, - - /// - /// For flyout type MenuCommands, this property returns the WinJS.UI.Flyout that this command invokes. When setting this property, you can set - /// it to the string ID of the Flyout, the DOM object that hosts the Flyout, or the Flyout object itself. - /// - /// - flyout: { - get: function () { - // Resolve it to the flyout - var flyout = this._flyout; - if (typeof flyout === "string") { - flyout = _Global.document.getElementById(flyout); - } - // If it doesn't have a .element, then we need to getControl on it - if (flyout && !flyout.element) { - flyout = flyout.winControl; - } - - return flyout; - }, - set: function (value) { - // Need to update aria-owns with the new ID. - var id = value; - if (id && typeof id !== "string") { - // Our controls have .element properties - if (id.element) { - id = id.element; - } - // Hope it's a DOM element, get ID from DOM element - if (id) { - if (id.id) { - id = id.id; - } else { - // No id, have to fake one - id.id = _ElementUtilities._uniqueID(id); - id = id.id; - } - } - } - if (typeof id === "string") { - this._element.setAttribute("aria-owns", id); - } - - // Remember it - this._flyout = value; - } - }, - - /// - /// Gets or sets the selected state of a toggle button. This property is true if the toggle button is selected; otherwise, it's false. - /// - /// - selected: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return this._element.getAttribute("aria-checked") === "true"; - }, - set: function (value) { - this._element.setAttribute("aria-checked", !!value); - } - }, - - /// - element: { - get: function () { - return this._element; - } - }, - - /// - /// Gets or sets a value that indicates whether the MenuCommand is disabled. This value is true if the MenuCommand is disabled; otherwise, false. - /// - /// - disabled: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return !!this._element.disabled; - }, - set: function (value) { - this._element.disabled = !!value; - } - }, - - /// - hidden: { - get: function () { - // Ensure it's a boolean because we're using the DOM element to keep in-sync - return this._element.style.visibility === "hidden"; - }, - set: function (value) { - var menuControl = _Overlay._Overlay._getParentControlUsingClassName(this._element, _Constants.menuClass); - if (menuControl && !menuControl.hidden) { - throw new _ErrorFromName("WinJS.UI.MenuCommand.CannotChangeHiddenProperty", _Resources._formatString(_Overlay._Overlay.commonstrings.cannotChangeHiddenProperty, "Menu")); - } - - var style = this._element.style; - if (value) { - style.visibility = "hidden"; - style.display = "none"; - } else { - style.visibility = ""; - style.display = "block"; - } - } - }, - - /// - /// Gets or sets the extra CSS class that is applied to the host DOM element. - /// - /// - extraClass: { - get: function () { - return this._extraClass; - }, - set: function (value) { - if (this._extraClass) { - _ElementUtilities.removeClass(this._element, this._extraClass); - } - this._extraClass = value; - _ElementUtilities.addClass(this._element, this._extraClass); - } - }, - - - dispose: function () { - /// - /// - /// Disposes this control. - /// - /// - /// - if (this._disposed) { - return; - } - this._disposed = true; - - if (this._flyout) { - this._flyout.dispose(); - } - }, - - addEventListener: function (type, listener, useCapture) { - /// - /// - /// Registers an event handler for the specified event. - /// - /// The name of the event to register. - /// The function that handles the event. - /// - /// Set to true to register the event handler for the capturing phase; otherwise, set to false to register the event handler for the bubbling phase. - /// - /// - /// - return this._element.addEventListener(type, listener, useCapture); - }, - - removeEventListener: function (type, listener, useCapture) { - /// - /// - /// Removes the specified event handler that the addEventListener method registered. - /// - /// The name of the event to remove. - /// The event handler function to remove. - /// - /// Set to true to remove the capturing phase event handler; set to false to remove the bubbling phase event handler. - /// - /// - /// - return this._element.removeEventListener(type, listener, useCapture); - }, - - // Private properties - _createSeparator: function MenuCommand_createSeparator() { - // Make sure there's an input element - if (!this._element) { - this._element = _Global.document.createElement("hr"); - } else { - // Verify the input was an hr - if (this._element.tagName !== "HR") { - throw new _ErrorFromName("WinJS.UI.MenuCommand.BadHrElement", strings.badHrElement); - } - } - }, - - _createButton: function MenuCommand_createButton() { - // Make sure there's an input element - if (!this._element) { - this._element = _Global.document.createElement("button"); - } else { - // Verify the input was a button - if (this._element.tagName !== "BUTTON") { - throw new _ErrorFromName("WinJS.UI.MenuCommand.BadButtonElement", strings.badButtonElement); - } - this._element.innerHTML = ""; - } - - // MenuCommand buttons need to look like this: - //// - this._element.type = "button"; - - // 'textContent' label is added later by caller - } - }); - }) - }); - -}); - - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -// Menu -/// Menu,Menus,Flyout,Flyouts,Statics -define('WinJS/Controls/Menu',[ - '../Core/_Global', - '../Core/_Base', - '../Core/_BaseUtils', - '../Core/_ErrorFromName', - '../Core/_Resources', - '../Core/_WriteProfilerMark', - '../Utilities/_ElementUtilities', - '../Utilities/_Hoverable', - './AppBar/_Constants', - './Flyout', - './Flyout/_Overlay', - './Menu/_Command', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls' - ], function menuInit(_Global,_Base, _BaseUtils, _ErrorFromName, _Resources, _WriteProfilerMark, _ElementUtilities, _Hoverable, _Constants, Flyout, _Overlay, _Command) { - "use strict"; - - _Base.Namespace.define("WinJS.UI", { - /// - /// Represents a menu flyout for displaying commands. - /// - /// - /// Menu - /// - /// - /// - /// - /// ]]> - /// Raised just before showing a menu. - /// Raised immediately after a menu is fully shown. - /// Raised just before hiding a menu. - /// Raised immediately after a menu is fully hidden. - /// The Menu control itself - /// - /// - /// - Menu: _Base.Namespace._lazy(function () { - var Key = _ElementUtilities.Key; - - var strings = { - get ariaLabel() { return _Resources._getWinJSString("ui/menuAriaLabel").value; }, - get requiresCommands() { return "Invalid argument: commands must not be empty"; }, - get nullCommand() { return "Invalid argument: command must not be null"; }, - }; - - var Menu = _Base.Class.derive(Flyout.Flyout, function Menu_ctor(element, options) { - /// - /// - /// Creates a new Menu control. - /// - /// - /// The DOM element that will host the control. - /// - /// - /// The set of properties and values to apply to the control. - /// - /// The new Menu control. - /// - /// - - // We need to be built on top of a Flyout, so stomp on the user's input - options = options || {}; - - // Make sure there's an input element - this._element = element || _Global.document.createElement("div"); - this._id = this._element.id || _ElementUtilities._uniqueID(this._element); - this._writeProfilerMark("constructor,StartTM"); - - // validate that if they didn't set commands, in which - // case any HTML only contains commands. Do this first - // so that we don't leave partial Menus in the DOM. - if (!options.commands && this._element) { - // Shallow copy object so we can modify it. - options = _BaseUtils._shallowCopy(options); - options.commands = this._verifyCommandsOnly(this._element, "WinJS.UI.MenuCommand"); - } - - // Remember aria role in case base constructor changes it - var role = this._element ? this._element.getAttribute("role") : null; - var label = this._element ? this._element.getAttribute("aria-label") : null; - - // Call the base overlay constructor helper - this._baseFlyoutConstructor(this._element, options); - - // Make sure we have an ARIA role - if (role === null || role === "" || role === undefined) { - this._element.setAttribute("role", "menu"); - } - if (label === null || label === "" || label === undefined) { - this._element.setAttribute("aria-label", strings.ariaLabel); - } - - // Handle "esc" & "up/down" key presses - this._element.addEventListener("keydown", this._handleKeyDown, true); - - // Attach our css class - _ElementUtilities.addClass(this._element, _Constants.menuClass); - - // Need to set our commands, making sure we're hidden first - this.hide(); - this._writeProfilerMark("constructor,StopTM"); - }, { - // Public Properties - - /// - /// Sets the MenuCommand objects that appear in the Menu. You can set this to a single MenuCommand or an array of MenuCommand objects. - /// - /// - commands: { - set: function (value) { - // Fail if trying to set when visible - if (!this.hidden) { - throw new _ErrorFromName("WinJS.UI.Menu.CannotChangeCommandsWhenVisible", _Resources._formatString(_Overlay._Overlay.commonstrings.cannotChangeCommandsWhenVisible, "Menu")); - } - - // Start from scratch - _ElementUtilities.empty(this._element); - - // In case they had only one... - if (!Array.isArray(value)) { - value = [value]; - } - - // Add commands - var len = value.length; - for (var i = 0; i < len; i++) { - this._addCommand(value[i]); - } - } - }, - - getCommandById: function (id) { - /// - /// - /// Retrieve the command with the specified ID from this Menu. If more than one command is found, all are returned. - /// - /// The ID of the command to find. - /// - /// The command found, an array of commands if more than one have the same ID, or null if no command is found. - /// - /// - /// - var commands = this.element.querySelectorAll("#" + id); - var newCommands = []; - for (var count = 0, len = commands.length; count < len; count++) { - if (commands[count].winControl) { - newCommands.push(commands[count].winControl); - } - } - - if (newCommands.length === 1) { - return newCommands[0]; - } else if (newCommands.length === 0) { - return null; - } - - return newCommands; - }, - - - showCommands: function (commands) { - /// - /// - /// Shows the specified commands of the Menu. - /// - /// - /// The commands to show. The array elements may be Menu objects, or the string identifiers (IDs) of commands. - /// - /// - /// - if (!commands) { - throw new _ErrorFromName("WinJS.UI.Menu.RequiresCommands", strings.requiresCommands); - } - - this._showCommands(commands, true); - }, - - hideCommands: function (commands) { - /// - /// - /// Hides the Menu. - /// - /// - /// Required. Command or Commands to hide, either String, DOM elements, or WinJS objects. - /// - /// - /// - if (!commands) { - throw new _ErrorFromName("WinJS.UI.Menu.RequiresCommands", strings.requiresCommands); - } - - this._hideCommands(commands, true); - }, - - showOnlyCommands: function (commands) { - /// - /// - /// Shows the specified commands of the Menu while hiding all other commands. - /// - /// - /// The commands to show. The array elements may be MenuCommand objects, or the string identifiers (IDs) of commands. - /// - /// - /// - if (!commands) { - throw new _ErrorFromName("WinJS.UI.Menu.RequiresCommands", strings.requiresCommands); - } - - this._showOnlyCommands(commands, true); - }, - - show: function (anchor, placement, alignment) { - /// - /// - /// Shows the Menu, if hidden, regardless of other states. - /// - /// - /// The DOM element, or ID of a DOM element, to anchor the Menu. This parameter overrides the anchor property for this method call only. - /// - /// - /// The placement of the Menu to the anchor: 'auto' (default), 'top', 'bottom', 'left', or 'right'. This parameter overrides the placement - /// property for this method call only. - /// - /// - /// For 'top' or 'bottom' placement, the alignment of the Menu to the anchor's edge: 'center' (default), 'left', or 'right'. This parameter - /// overrides the alignment property for this method call only. - /// - /// - /// - // Just call private version to make appbar flags happy - this._writeProfilerMark("show,StartTM"); // The corresponding "stop" profiler mark is handled in _Overlay._baseEndShow(). - this._show(anchor, placement, alignment); - }, - - _show: function Menu_show(anchor, placement, alignment) { - // Before we show, we also need to check for children flyouts needing anchors - this._checkForFlyoutCommands(); - - // Call flyout show - this._baseFlyoutShow(anchor, placement, alignment); - - // We need to check for toggles after we send the beforeshow event, - // so the developer has a chance to show or hide more commands. - // Flyout's _findPosition will make that call. - }, - - _addCommand: function Menu_addCommand(command) { - if (!command) { - throw new _ErrorFromName("WinJS.UI.Menu.NullCommand", strings.nullCommand); - } - // See if it's a command already - if (!command._element) { - // Not a command, so assume it's options for a command - command = new _Command.MenuCommand(null, command); - } - // If we were attached somewhere else, detach us - if (command._element.parentElement) { - command._element.parentElement.removeChild(command._element); - } - - // Reattach us - this._element.appendChild(command._element); - }, - - // Called by flyout's _findPosition so that application can update it status - // we do the test and we can then fix this last-minute before showing. - _checkToggle: function Menu_checkToggle() { - var toggles = this._element.querySelectorAll(".win-command[aria-checked]"); - var hasToggle = false; - if (toggles) { - for (var i = 0; i < toggles.length; i++) { - if (toggles[i] && toggles[i].winControl && !toggles[i].winControl.hidden) { - // Found a visible toggle control - hasToggle = true; - break; - } - } - } - if (hasToggle) { - _ElementUtilities.addClass(this._element, _Constants.menuToggleClass); - } else { - _ElementUtilities.removeClass(this._element, _Constants.menuToggleClass); - } - }, - - _checkForFlyoutCommands: function Menu_checkForFlyoutCommands() { - var commands = this._element.querySelectorAll(".win-command"); - for (var count = 0; count < commands.length; count++) { - if (commands[count].winControl) { - // Remember our anchor in case it's a flyout - commands[count].winControl._parentFlyout = this; - } - } - }, - - _handleKeyDown: function Menu_handleKeyDown(event) { - var that = this; - if (event.keyCode === Key.escape) { - // Show a focus rect on what we move focus to - this.winControl._keyboardInvoked = true; - this.winControl._hide(); - } else if ((event.keyCode === Key.space || event.keyCode === Key.enter) - && (this === _Global.document.activeElement)) { - event.preventDefault(); - this.winControl.hide(); - } else if (event.keyCode === Key.upArrow) { - Menu._focusOnPreviousElement(that); - - // Prevent the page from scrolling - event.preventDefault(); - } else if (event.keyCode === Key.downArrow) { - Menu._focusOnNextElement(that); - - // Prevent the page from scrolling - event.preventDefault(); - } else if (event.keyCode === Key.tab) { - event.preventDefault(); - } - }, - - _writeProfilerMark: function Menu_writeProfilerMark(text) { - _WriteProfilerMark("WinJS.UI.Menu:" + this._id + ":" + text); - } - }); - - // Statics - - // Set focus to next focusable element in the menu (loop if necessary). - // Note: The loop works by first setting focus to the menu itself. If the menu is - // what had focus before, then we break. Otherwise we try the first child next. - // Focus remains on the menu if nothing is focusable. - Menu._focusOnNextElement = function (menu) { - var _currentElement = _Global.document.activeElement; - - do { - if (_currentElement === menu) { - _currentElement = _currentElement.firstElementChild; - } else { - _currentElement = _currentElement.nextElementSibling; - } - - if (_currentElement) { - _currentElement.focus(); - } else { - _currentElement = menu; - } - - } while (_currentElement !== _Global.document.activeElement); - }; - - // Set focus to previous focusable element in the menu (loop if necessary). - // Note: The loop works by first setting focus to the menu itself. If the menu is - // what had focus before, then we break. Otherwise we try the last child next. - // Focus remains on the menu if nothing is focusable. - Menu._focusOnPreviousElement = function (menu) { - var _currentElement = _Global.document.activeElement; - - do { - if (_currentElement === menu) { - _currentElement = _currentElement.lastElementChild; - } else { - _currentElement = _currentElement.previousElementSibling; - } - - if (_currentElement) { - _currentElement.focus(); - } else { - _currentElement = menu; - } - - } while (_currentElement !== _Global.document.activeElement); - }; - - return Menu; - }) - }); - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/SearchBox/_SearchSuggestionManagerShim',[ - 'exports', - '../../_Signal', - '../../Core/_Base', - '../../Core/_BaseUtils', - '../../Core/_Events', - '../../BindingList', -], function SearchSuggestionManagerShimInit(exports, _Signal, _Base, _BaseUtils, _Events, BindingList) { - "use strict"; - - var CollectionChange = { - reset: 0, - itemInserted: 1, - itemRemoved: 2, - itemChanged: 3 - }; - var SearchSuggestionKind = { - Query: 0, - Result: 1, - Separator: 2 - }; - - var SuggestionVectorShim = _Base.Class.derive(Array, function SuggestionVectorShim_ctor() { - }, { - reset: function () { - this.length = 0; - this.dispatchEvent("vectorchanged", { collectionChange: CollectionChange.reset, index: 0 }); - }, - - insert: function (index, data) { - this.splice(index, 0, data); - this.dispatchEvent("vectorchanged", { collectionChange: CollectionChange.itemInserted, index: index }); - }, - - remove: function (index) { - this.splice(index, 1); - this.dispatchEvent("vectorchanged", { collectionChange: CollectionChange.itemRemoved, index: index }); - }, - }); - _Base.Class.mix(SuggestionVectorShim, _Events.eventMixin); - - var SearchSuggestionCollectionShim = _Base.Class.define(function SearchSuggestionCollectionShim_ctor() { - this._data = []; - }, { - size: { - get: function () { - return this._data.length; - } - }, - - appendQuerySuggestion: function (text) { - this._data.push({ kind: SearchSuggestionKind.Query, text: text }); - }, - appendQuerySuggestions: function (suggestions) { - suggestions.forEach(this.appendQuerySuggestion.bind(this)); - }, - appendResultSuggestion: function (text, detailText, tag, imageUrl, imageAlternateText) { - // 'image' must be null (not undefined) for SearchBox to fallback to use imageUrl instead - this._data.push({ kind: SearchSuggestionKind.Result, text: text, detailText: detailText, tag: tag, imageUrl: imageUrl, imageAlternateText: imageAlternateText, image: null }); - }, - appendSearchSeparator: function (label) { - this._data.push({ kind: SearchSuggestionKind.Separator, text: label }); - } - }); - - var SuggestionsRequestedEventArgShim = _Base.Class.define(function SuggestionsRequestedEventArgShim_ctor(queryText, language, linguisticDetails) { - this._queryText = queryText; - this._language = language; - this._linguisticDetails = linguisticDetails; - this._searchSuggestionCollection = new SearchSuggestionCollectionShim(); - }, { - language: { - get: function () { - return this._language; - } - }, - linguisticDetails: { - get: function () { - return this._linguisticDetails; - } - }, - queryText: { - get: function () { - return this._queryText; - } - }, - searchSuggestionCollection: { - get: function () { - return this._searchSuggestionCollection; - } - }, - getDeferral: function () { - return this._deferralSignal || (this._deferralSignal = new _Signal()); - }, - - _deferralSignal: null, - }); - - var SearchSuggestionManagerShim = _Base.Class.define(function SearchSuggestionManagerShim_ctor() { - this._updateVector = this._updateVector.bind(this); - - this._suggestionVector = new SuggestionVectorShim(); - this._query = ""; - this._history = { "": [] }; - - this._dataSource = []; - - this.searchHistoryContext = ""; - this.searchHistoryEnabled = true; - }, { - addToHistory: function (queryText /*, language */) { - if (!queryText || !queryText.trim()) { - return; - } - - var history = this._history[this.searchHistoryContext]; - var dupeIndex = -1; - for (var i = 0, l = history.length; i < l; i++) { - var item = history[i]; - if (item.text.toLowerCase() === queryText.toLowerCase()) { - dupeIndex = i; - break; - } - } - if (dupeIndex >= 0) { - history.splice(dupeIndex, 1); - } - - history.splice(0, 0, { text: queryText, kind: SearchSuggestionKind.Query }); - this._updateVector(); - }, - - clearHistory: function () { - this._history[this.searchHistoryContext] = []; - this._updateVector(); - }, - - setLocalContentSuggestionSettings: function (settings) { - }, - - setQuery: function (queryText) { - var that = this; - function update(arr) { - that._dataSource = arr; - that._updateVector(); - } - - this._query = queryText; - var arg = new SuggestionsRequestedEventArgShim(queryText); - this.dispatchEvent("suggestionsrequested", { request: arg }); - if (arg._deferralSignal) { - arg._deferralSignal.promise.then(update.bind(this, arg.searchSuggestionCollection._data)); - } else { - update(arg.searchSuggestionCollection._data); - } - }, - - searchHistoryContext: { - get: function () { - return "" + this._searchHistoryContext; - }, - set: function (value) { - value = "" + value; - if (!this._history[value]) { - this._history[value] = []; - } - this._searchHistoryContext = value; - } - }, - - searchHistoryEnabled: { - get: function () { - return this._searchHistoryEnabled; - }, - set: function (value) { - this._searchHistoryEnabled = value; - } - }, - - suggestions: { - get: function () { - return this._suggestionVector; - } - }, - - _updateVector: function () { - // Can never clear the entire suggestions list or it will cause a visual flash because - // the SearchBox control removes the suggestions list UI when the SSM fires vectorChanged - // with size === 0, then re-renders it when the first suggestion is added. - // Workaround is to insert a dummy entry, remove all old entries, add the new set of - // eligible suggestions, then remove the dummy entry. - this.suggestions.insert(this.suggestions.length, { text: "", kind: SearchSuggestionKind.Query }); - - while (this.suggestions.length > 1) { - this.suggestions.remove(0); - } - - var index = 0; - var added = {}; - if (this.searchHistoryEnabled) { - var q = this._query.toLowerCase(); - this._history[this.searchHistoryContext].forEach(function (item) { - var text = item.text.toLowerCase(); - if (text.indexOf(q) === 0) { - this.suggestions.insert(index, item); - added[text] = true; - index++; - } - }, this); - } - this._dataSource.forEach(function (item) { - if (item.kind === SearchSuggestionKind.Query) { - if (!added[item.text.toLowerCase()]) { - this.suggestions.insert(index, item); - index++; - } - } else { - this.suggestions.insert(index, item); - index++; - } - }, this); - - this.suggestions.remove(this.suggestions.length - 1); - }, - }); - _Base.Class.mix(SearchSuggestionManagerShim, _Events.eventMixin); - - _Base.Namespace._moduleDefine(exports, null, { - _CollectionChange: CollectionChange, - _SearchSuggestionKind: SearchSuggestionKind, - _SearchSuggestionManagerShim: SearchSuggestionManagerShim, - }); -}); -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/SearchBox',[ - '../Core/_Global', - '../Core/_WinRT', - '../Core/_Base', - '../Core/_ErrorFromName', - '../Core/_Events', - '../Core/_Resources', - '../Animations', - '../BindingList', - '../Controls/Repeater', - '../Utilities/_Control', - '../Utilities/_ElementListUtilities', - '../Utilities/_ElementUtilities', - '../Utilities/_Hoverable', - './SearchBox/_SearchSuggestionManagerShim', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls', -], function searchboxInit(_Global, _WinRT, _Base, _ErrorFromName, _Events, _Resources, Animations, BindingList, Repeater, _Control, _ElementListUtilities, _ElementUtilities, _Hoverable, _SearchSuggestionManagerShim) { - "use strict"; - - _Base.Namespace.define("WinJS.UI", { - /// - /// - /// Enables the user to perform search queries and select suggestions. - /// - /// - /// - /// - /// - /// ]]> - /// Raised when user or app changes the query text. - /// Raised when user clicks on search glyph or presses Enter. - /// Raised when user clicks one of the displayed suggestions. - /// Raised when the system requests search suggestions from this app. - /// - /// Raised when the app automatically redirects focus to the search box. This event can only be raised when the focusOnKeyboardInput property is set to true. - /// - /// Styles the entire Search box control. - /// Styles the query input box. - /// Styles the search button. - /// Styles the result suggestions flyout. - /// Styles the result type suggestion. - /// Styles the query type suggestion. - /// - /// Styles the separator type suggestion. - /// - /// - /// Styles the currently selected suggestion. - /// - /// - /// - /// - SearchBox: _Base.Namespace._lazy(function () { - var createEvent = _Events._createEventProperty; - var Key = _ElementUtilities.Key; - - // Enums - var ClassName = { - searchBox: "win-searchbox", - searchBoxInput: "win-searchbox-input", - searchBoxButton: "win-searchbox-button", - searchBoxFlyout: "win-searchbox-flyout", - searchBoxSuggestionResult: "win-searchbox-suggestion-result", - searchBoxSuggestionQuery: "win-searchbox-suggestion-query", - searchBoxSuggestionSeparator: "win-searchbox-suggestion-separator", - searchBoxSuggestionSelected: "win-searchbox-suggestion-selected", - searchBoxFlyoutHighlightText: "win-searchbox-flyout-highlighttext", - searchBoxButtonInputFocus: "win-searchbox-button-input-focus", - searchBoxInputFocus: "win-searchbox-input-focus", - searchBoxSuggestionResultText: "win-searchbox-suggestion-result-text", - searchBoxSuggestionResultDetailedText: "win-searchbox-suggestion-result-detailed-text", - searchboxDisabled: "win-searchbox-disabled", - searchboxHitHighlightSpan: "win-searchbox-hithighlight-span", - }; - - var EventName = { - querychanged: "querychanged", - querysubmitted: "querysubmitted", - resultsuggestionchosen: "resultsuggestionchosen", - suggestionsrequested: "suggestionsrequested", - receivingfocusonkeyboardinput: "receivingfocusonkeyboardinput" - }; - - var strings = { - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; }, - get invalidSearchBoxSuggestionKind() { return "Error: Invalid search suggestion kind."; }, - get ariaLabel() { return _Resources._getWinJSString("ui/searchBoxAriaLabel").value; }, - get ariaLabelInputNoPlaceHolder() { return _Resources._getWinJSString("ui/searchBoxAriaLabelInputNoPlaceHolder").value; }, - get ariaLabelInputPlaceHolder() { return _Resources._getWinJSString("ui/searchBoxAriaLabelInputPlaceHolder").value; }, - get ariaLabelButton() { return _Resources._getWinJSString("ui/searchBoxAriaLabelButton").value; }, - get ariaLabelQuery() { return _Resources._getWinJSString("ui/searchBoxAriaLabelQuery").value; }, - get ariaLabelSeparator() { return _Resources._getWinJSString("ui/searchBoxAriaLabelSeparator").value; }, - get ariaLabelResult() { return _Resources._getWinJSString("ui/searchBoxAriaLabelResult").value; } - }; - - var SearchBox = _Base.Class.define(function SearchBox_ctor(element, options) { - /// - /// - /// Creates a new SearchBox. - /// - /// - /// The DOM element that hosts the SearchBox. - /// - /// - /// An object that contains one or more property/value pairs to apply to the new control. - /// Each property of the options object corresponds to one of the control's properties or events. - /// Event names must begin with "on". For example, to provide a handler for the querychanged event, - /// add a property named "onquerychanged" to the options object and set its value to the event handler. - /// This parameter is optional. - /// - /// - /// The new SearchBox. - /// - /// - /// - - element = element || _Global.document.createElement("div"); - - if (element.winControl) { - throw new _ErrorFromName("WinJS.UI.SearchBox.DuplicateConstruction", strings.duplicateConstruction); - } - element.winControl = this; - - // Elements - this._domElement = null; - this._inputElement = null; - this._buttonElement = null; - this._flyout = null; - this._flyoutDivElement = null; - this._repeaterDivElement = null; - this._repeater = null; - - // Variables - this._disposed = false; - this._focusOnKeyboardInput = false; - this._chooseSuggestionOnEnter = false; - this._lastKeyPressLanguage = ""; - - // These are used to eliminate redundant query submitted events - this._prevQueryText = ""; - this._prevLinguisticDetails = this._createSearchQueryLinguisticDetails([], 0, 0, "", ""); - this._prevCompositionStart = 0; - this._prevCompositionLength = 0; - this._isProcessingDownKey = false; - this._isProcessingUpKey = false; - this._isProcessingTabKey = false; - this._isProcessingEnterKey = false; - this._isFlyoutPointerDown = false; - this._reflowImeOnPointerRelease = false; - - // Focus and selection related variables - this._currentFocusedIndex = -1; - this._currentSelectedIndex = -1; - - this._suggestionRendererBind = this._suggestionRenderer.bind(this); - this._requestingFocusOnKeyboardInputHandlerBind = this._requestingFocusOnKeyboardInputHandler.bind(this); - this._suggestionsRequestedHandlerBind = this._suggestionsRequestedHandler.bind(this); - this._suggestionsChangedHandlerBind = this._suggestionsChangedHandler.bind(this); - this._keydownCaptureHandlerBind = this._keydownCaptureHandler.bind(this); - this._frameLoadCaptureHandlerBind = this._frameLoadCaptureHandler.bind(this); - - // Find out if we are in local compartment and if search APIs are available. - this._searchSuggestionManager = null; - this._searchSuggestions = null; - - // Get the search suggestion provider if it is available - if (_WinRT.Windows.ApplicationModel.Search.Core.SearchSuggestionManager) { - this._searchSuggestionManager = new _WinRT.Windows.ApplicationModel.Search.Core.SearchSuggestionManager(); - } else { - this._searchSuggestionManager = new _SearchSuggestionManagerShim._SearchSuggestionManagerShim(); - } - this._searchSuggestions = this._searchSuggestionManager.suggestions; - - this._hitFinder = null; - this._setElement(element); - _Control.setOptions(this, options); - this._setAccessibilityProperties(); - _ElementUtilities.addClass(element, "win-disposable"); - }, { - - /// - element: { - get: function () { - return this._domElement; - } - }, - - /// - /// Gets or sets the placeholder text for the SearchBox. This text is displayed if there is no - /// other text in the input box. - /// - /// - placeholderText: { - get: function () { - return this._inputElement.placeholder; - }, - set: function (value) { - this._inputElement.placeholder = value; - this._updateInputElementAriaLabel(); - } - }, - - /// - /// Gets or sets the query text for the SearchBox. - /// - /// - queryText: { - get: function () { - return this._inputElement.value; - }, - set: function (value) { - this._inputElement.value = value; - } - }, - - /// - /// Gets or sets a value that specifies whether search history is disabled for the SearchBox. The default value is false. - /// - /// - searchHistoryDisabled: { - get: function () { - if (this._searchSuggestionManager) { - return !this._searchSuggestionManager.searchHistoryEnabled; - } else { - return true; - } - }, - set: function (value) { - if (this._searchSuggestionManager) { - this._searchSuggestionManager.searchHistoryEnabled = !value; - } - } - }, - - /// - /// Gets or sets the search history context for the SearchBox. The search history context string is used as a secondary key for storing search history. - /// (The primary key is the AppId.) An app can use the search history context string to store different search histories based on the context of the application. - /// If you don't set this property, the system assumes that all searches in your app occur in the same context. - /// If you update this property while the search pane is open with suggestions showing, the changes won't take effect until the user enters the next character. - /// - /// - searchHistoryContext: { - get: function () { - if (this._searchSuggestionManager) { - return this._searchSuggestionManager.searchHistoryContext; - } else { - return ""; - } - }, - set: function (value) { - if (this._searchSuggestionManager) { - this._searchSuggestionManager.searchHistoryContext = value; - } - } - }, - - /// - /// Enable automatically focusing the search box when the user types into the app window (off by default) While this is enabled, - /// input on the current thread will be intercepted and redirected to the search box. Only textual input will trigger the search box to focus. - /// The caller will continue to receive non-text keys (such as arrows, tab, etc - /// This will also not affect WIN/CTRL/ALT key combinations (except for Ctrl-V for paste). - /// If the client needs more to happen than just set focus in the box (make control visible, etc.), they will need to handle the event. - /// If enabled, the app must be sure to disable this if the user puts focus in some other edit field. - /// - /// - focusOnKeyboardInput: { - get: function () { - return this._focusOnKeyboardInput; - }, - set: function (value) { - if (this._focusOnKeyboardInput && !value) { - if (!(this._searchSuggestionManager instanceof _SearchSuggestionManagerShim._SearchSuggestionManagerShim)) { - this._searchSuggestionManager.removeEventListener("requestingfocusonkeyboardinput", this._requestingFocusOnKeyboardInputHandlerBind); - } else { - this._updateKeydownCaptureListeners(_Global.top, false /*add*/); - } - - } else if (!this._focusOnKeyboardInput && !!value) { - if (!(this._searchSuggestionManager instanceof _SearchSuggestionManagerShim._SearchSuggestionManagerShim)) { - this._searchSuggestionManager.addEventListener("requestingfocusonkeyboardinput", this._requestingFocusOnKeyboardInputHandlerBind); - } else { - this._updateKeydownCaptureListeners(_Global.top, true /*add*/); - } - - } - this._focusOnKeyboardInput = !!value; - } - }, - - /// - /// Gets or sets whether the first suggestion is chosen when the user presses Enter. - /// When set to true, as the user types in the search box, a focus rectangle is drawn on the first search suggestion - /// (if present and no IME composition in progress). Pressing enter will behave the same as if clicked on the focused suggestion, - /// and the down arrow key press will put real focus to the second suggestion and the up arrow key will remove focus. - /// - /// - chooseSuggestionOnEnter: { - get: function () { - return this._chooseSuggestionOnEnter; - }, - set: function (value) { - this._chooseSuggestionOnEnter = !!value; - this._updateSearchButtonClass(); - } - }, - - /// - /// Gets or sets a value that specifies whether the SearchBox is disabled. - /// - /// - disabled: { - get: function () { - return this._inputElement.disabled; - }, - set: function (value) { - if (this._inputElement.disabled === !!value) { - return; - } - - if (!value) { - // Enable control - this._inputElement.disabled = false; - this._buttonElement.disabled = false; - this._domElement.disabled = false; - _ElementUtilities.removeClass(this.element, ClassName.searchboxDisabled); - if (_Global.document.activeElement === this.element) { - _ElementUtilities._setActive(this._inputElement); - } - } else { - // Disable control - if (this._isFlyoutShown) { - this._hideFlyout(); - } - _ElementUtilities.addClass(this.element, ClassName.searchboxDisabled); - this._inputElement.disabled = true; - this._buttonElement.disabled = true; - this._domElement.disabled = true; - } - } - }, - - // Methods - setLocalContentSuggestionSettings: function SearchBox_setLocalContentSuggestionSettings(settings) { - /// - /// - /// Specifies whether suggestions based on local files are automatically displayed in the search pane, and defines the criteria that - /// the system uses to locate and filter these suggestions. - /// - /// - /// The new settings for local content suggestions. - /// - /// - /// - if (this._searchSuggestionManager) { - this._searchSuggestionManager.setLocalContentSuggestionSettings(settings); - } - }, - - dispose: function SearchBox() { - /// - /// - /// Disposes this control. - /// - /// - /// - if (this._disposed) { - return; - } - - // Cancel pending promises. - if (this._flyoutOpenPromise) { - this._flyoutOpenPromise.cancel(); - } - - // Detach winrt events. - if (this._focusOnKeyboardInput) { - if (!(this._searchSuggestionManager instanceof _SearchSuggestionManagerShim._SearchSuggestionManagerShim)) { - this._searchSuggestionManager.removeEventListener("requestingfocusonkeyboardinput", this._requestingFocusOnKeyboardInputHandlerBind); - } else { - this._updateKeydownCaptureListeners(_Global.top, false /*add*/); - } - - } - this._searchSuggestions.removeEventListener("vectorchanged", this._suggestionsChangedHandlerBind); - this._searchSuggestionManager.removeEventListener("suggestionsrequested", this._suggestionsRequestedHandlerBind); - - this._searchSuggestionManager = null; - this._searchSuggestions = null; - this._hitFinder = null; - - this._disposed = true; - - }, - - /// - /// Raised when user or app changes the query text. - /// - /// - onquerychanged: createEvent(EventName.querychanged), - - /// - /// Raised when user clicks on search glyph or presses enter button. - /// - /// - onquerysubmitted: createEvent(EventName.querysubmitted), - - /// - /// Raised when user clicks on one of the suggestions displayed. - /// - /// - onresultsuggestionchosen: createEvent(EventName.resultsuggestionchosen), - - /// - /// Raised when Windows requests search suggestions from the app. - /// - /// - onsuggestionsrequested: createEvent(EventName.suggestionsrequested), - - // Private methods - _isFlyoutShown: function SearchBox_isFlyoutShown() { - return (this._flyoutDivElement.style.display !== "none"); - }, - - _isFlyoutBelow: function SearchBox_isFlyoutBelow() { - if (this._flyoutDivElement.getBoundingClientRect().top > this._inputElement.getBoundingClientRect().top) { - return true; - } - return false; - }, - - _getFlyoutTop: function SearchBox_getFlyoutTop() { - if (this._isFlyoutBelow()) { - return this._inputElement.getBoundingClientRect().bottom; - } - var popupHeight = this._flyoutDivElement.getBoundingClientRect().bottom - this._flyoutDivElement.getBoundingClientRect().top; - return this._inputElement.getBoundingClientRect().top - popupHeight; - }, - - _getFlyoutBottom: function SearchBox_getFlyoutBottom() { - if (this._isFlyoutBelow()) { - var popupHeight = this._flyoutDivElement.getBoundingClientRect().bottom - this._flyoutDivElement.getBoundingClientRect().top; - return this._inputElement.getBoundingClientRect().bottom + popupHeight; - } - return this._inputElement.getBoundingClientRect().top; - }, - - _updateFlyoutTopAndTouchAction: function SearchBox_updateFlyoutTopAndTouchAction() { - var popupHeight = this._flyoutDivElement.getBoundingClientRect().bottom - this._flyoutDivElement.getBoundingClientRect().top; - if (!this._isFlyoutBelow()) { - this._flyoutDivElement.style.top = "-" + popupHeight + "px"; - } - - // ms-scroll-chaining:none will still chain scroll parent element if child div does - // not have a scroll bar. Prevent this by setting and updating touch action - if (this._flyoutDivElement.scrollHeight > popupHeight) { - this._flyoutDivElement.style.touchAction = "pan-y"; - } else { - this._flyoutDivElement.style.touchAction = "none"; - } - }, - - _showFlyout: function SearchBox_showFlyout() { - - if (this._isFlyoutShown()) { - return; - } - - if (this._suggestionsData.length === 0) { - return; - } - - this._flyoutDivElement.style.display = "block"; - - // Display above vs below - var minPopupHeight = this._flyoutDivElement.clientHeight; - if (minPopupHeight < SearchBox._Constants.MIN_POPUP_HEIGHT) { - minPopupHeight = SearchBox._Constants.MIN_POPUP_HEIGHT; - } - var flyoutRect = this._flyoutDivElement.getBoundingClientRect(); - var searchBoxRect = this.element.getBoundingClientRect(); - var popupHeight = flyoutRect.bottom - flyoutRect.top; - var popupWidth = flyoutRect.right - flyoutRect.left; - var searchBoxWidth = searchBoxRect.right - searchBoxRect.left; - var documentClientHeight = _Global.document.documentElement.clientHeight; - var documentClientWidth = _Global.document.documentElement.clientWidth; - var searchBoxClientHeight = this.element.clientHeight; - var searchBoxClientLeft = this.element.clientLeft; - - var flyoutBelowSearchBox = true; - if ((searchBoxRect.bottom + minPopupHeight) <= documentClientHeight) { - // There is enough space below. Show below - this._flyoutDivElement.style.top = searchBoxClientHeight + "px"; - } else if ((searchBoxRect.top - minPopupHeight) >= 0) { - // There is enough space above. Show above - this._flyoutDivElement.style.top = "-" + popupHeight + "px"; - flyoutBelowSearchBox = false; - } else { - // Not enough space above or below. Show below. - this._flyoutDivElement.style.top = searchBoxClientHeight + "px"; - } - - // Align left vs right edge - var alignRight; - if (_Global.getComputedStyle(this._flyoutDivElement).direction === "rtl") { - // RTL: Align to the right edge if there is enough space to the left of the search box's - // right edge, or if there is not enough space to fit the flyout aligned to either edge. - alignRight = ((searchBoxRect.right - popupWidth) >= 0) || ((searchBoxRect.left + popupWidth) > documentClientWidth); - - } else { - // LTR: Align to the right edge if there isn't enough space to the right of the search box's - // left edge, but there is enough space to the left of the search box's right edge. - alignRight = ((searchBoxRect.left + popupWidth) > documentClientWidth) && ((searchBoxRect.right - popupWidth) >= 0); - } - - if (alignRight) { - this._flyoutDivElement.style.left = (searchBoxWidth - popupWidth - searchBoxClientLeft) + "px"; - } else { - this._flyoutDivElement.style.left = "-" + searchBoxClientLeft + "px"; - } - - // ms-scroll-chaining:none will still chain scroll parent element if child div does - // not have a scroll bar. Prevent this by setting and updating touch action - if (this._flyoutDivElement.scrollHeight > popupHeight) { - this._flyoutDivElement.style.touchAction = "pan-y"; - } else { - this._flyoutDivElement.style.touchAction = "none"; - } - - this._addFlyoutIMEPaddingIfRequired(); - - if (this._flyoutOpenPromise) { - this._flyoutOpenPromise.cancel(); - this._flyoutOpenPromise = null; - } - var animationKeyframe = flyoutBelowSearchBox ? "WinJS-flyoutBelowSearchBox-showPopup" : "WinJS-flyoutAboveSearchBox-showPopup"; - this._flyoutOpenPromise = Animations.showPopup(this._flyoutDivElement, { top: "0px", left: "0px", keyframe: animationKeyframe }); - }, - - _hideFlyout: function SearchBox_hideFlyout() { - if (this._isFlyoutShown()) { - this._flyoutDivElement.style.display = "none"; - this._updateSearchButtonClass(); - } - }, - - _addNewSpan: function SearchBox_addNewSpan(element, textContent, insertBefore) { - // Adds new span element with specified inner text as child to element, placed before insertBefore - var spanElement = _Global.document.createElement("span"); - spanElement.textContent = textContent; - spanElement.setAttribute("aria-hidden", "true"); - _ElementUtilities.addClass(spanElement, ClassName.searchboxHitHighlightSpan); - element.insertBefore(spanElement, insertBefore); - return spanElement; - }, - - _addHitHighlightedText: function SearchBox_addHitHighlightedText(element, item, text) { - if (text) { - // Remove any existing hit highlighted text spans - _ElementListUtilities.query("." + ClassName.searchboxHitHighlightSpan, element).forEach(function (childElement) { - childElement.parentNode.removeChild(childElement); - }); - - // Insert spans at the front of element - var firstChild = element.firstChild; - - var hitsProvided = item.hits; - if ((!hitsProvided) && (this._hitFinder !== null) && (item.kind !== _SearchSuggestionManagerShim._SearchSuggestionKind.Separator)) { - hitsProvided = this._hitFinder.find(text); - } - - var hits = SearchBox._sortAndMergeHits(hitsProvided); - - var lastPosition = 0; - for (var i = 0; i < hits.length; i++) { - var hit = hits[i]; - - // Add previous normal text - this._addNewSpan(element, text.substring(lastPosition, hit.startPosition), firstChild); - - lastPosition = hit.startPosition + hit.length; - - // Add hit highlighted text - var spanHitHighlightedText = this._addNewSpan(element, text.substring(hit.startPosition, lastPosition), firstChild); - _ElementUtilities.addClass(spanHitHighlightedText, ClassName.searchBoxFlyoutHighlightText); - } - - // Add final normal text - if (lastPosition < text.length) { - this._addNewSpan(element, text.substring(lastPosition), firstChild); - } - } - }, - - _findSuggestionElementIndex: function SearchBox_findSuggestionElementIndex(curElement) { - if (curElement) { - for (var i = 0; i < this._suggestionsData.length; i++) { - if (this._repeater.elementFromIndex(i) === curElement) { - return i; - } - } - } - return -1; - }, - - _isSuggestionSelectable: function SearchBox_isSuggestionSelectable(suggestion) { - return ((suggestion.kind === _SearchSuggestionManagerShim._SearchSuggestionKind.Query) || - (suggestion.kind === _SearchSuggestionManagerShim._SearchSuggestionKind.Result)); - }, - - _findNextSuggestionElementIndex: function SearchBox_findNextSuggestionElementIndex(curIndex) { - // Returns -1 if there are no focusable elements after curIndex - // Returns first element if curIndex < 0 - var startIndex = curIndex + 1; - if (startIndex < 0) { - startIndex = 0; - } - - for (var i = startIndex; i < this._suggestionsData.length; i++) { - if ((this._repeater.elementFromIndex(i)) && (this._isSuggestionSelectable(this._suggestionsData.getAt(i)))) { - return i; - } - } - return -1; - }, - - _findPreviousSuggestionElementIndex: function SearchBox_findPreviousSuggestionElementIndex(curIndex) { - // Returns -1 if there are no focusable elements before curIndex - // Returns last element if curIndex >= suggestionsdata.length - var startIndex = curIndex - 1; - if (startIndex >= this._suggestionsData.length) { - startIndex = this._suggestionsData.length - 1; - } - - for (var i = startIndex; i >= 0; i--) { - if ((this._repeater.elementFromIndex(i)) && (this._isSuggestionSelectable(this._suggestionsData.getAt(i)))) { - return i; - } - } - return -1; - }, - - _trySetFocusOnSuggestionIndex: function SearchBox_trySetFocusOnSuggestionIndex(index) { - try { - this._repeater.elementFromIndex(index).focus(); - } catch (e) { - } - }, - - _updateFakeFocus: function SearchBox_updateFakeFocus() { - var firstElementIndex; - if (this._isFlyoutShown() && (this._chooseSuggestionOnEnter)) { - firstElementIndex = this._findNextSuggestionElementIndex(-1); - } else { - // This will clear the fake focus. - firstElementIndex = -1; - } - - this._selectSuggestionAtIndex(firstElementIndex); - }, - - _updateSearchButtonClass: function SearchBox_updateSearchButtonClass() { - if ((this._currentSelectedIndex !== -1) || (_Global.document.activeElement !== this._inputElement)) { - // Focus is not in input. remove class - _ElementUtilities.removeClass(this._buttonElement, ClassName.searchBoxButtonInputFocus); - } else if (_Global.document.activeElement === this._inputElement) { - _ElementUtilities.addClass(this._buttonElement, ClassName.searchBoxButtonInputFocus); - } - }, - - _selectSuggestionAtIndex: function SearchBox_selectSuggestionAtIndex(indexToSelect) { - // Sets focus on the specified element and removes focus from others. - // Clears selection if index is outside of suggestiondata index range. - var curElement = null; - for (var i = 0; i < this._suggestionsData.length; i++) { - curElement = this._repeater.elementFromIndex(i); - if (i !== indexToSelect) { - _ElementUtilities.removeClass(curElement, ClassName.searchBoxSuggestionSelected); - curElement.setAttribute("aria-selected", "false"); - } else { - _ElementUtilities.addClass(curElement, ClassName.searchBoxSuggestionSelected); - this._scrollToView(curElement); - curElement.setAttribute("aria-selected", "true"); - } - } - this._updateSearchButtonClass(); - this._currentSelectedIndex = indexToSelect; - if (curElement) { - this._inputElement.setAttribute("aria-activedescendant", this._repeaterDivElement.id + indexToSelect); - } else if (this._inputElement.hasAttribute("aria-activedescendant")) { - this._inputElement.removeAttribute("aria-activedescendant"); - } - }, - - _scrollToView: function SearchBox_scrollToView(targetElement) { - var popupHeight = this._flyoutDivElement.getBoundingClientRect().bottom - this._flyoutDivElement.getBoundingClientRect().top; - if ((targetElement.offsetTop + targetElement.offsetHeight) > (this._flyoutDivElement.scrollTop + popupHeight)) { - // Element to scroll is below popup visible area - var scrollDifference = (targetElement.offsetTop + targetElement.offsetHeight) - (this._flyoutDivElement.scrollTop + popupHeight); - _ElementUtilities._zoomTo(this._flyoutDivElement, { contentX: 0, contentY: (this._flyoutDivElement.scrollTop + scrollDifference), viewportX: 0, viewportY: 0 }); - } else if (targetElement.offsetTop < this._flyoutDivElement.scrollTop) { - // Element to scroll is above popup visible area - _ElementUtilities._zoomTo(this._flyoutDivElement, { contentX: 0, contentY: targetElement.offsetTop, viewportX: 0, viewportY: 0 }); - } - }, - - _querySuggestionRenderer: function SearchBox_querySuggestionRenderer(item) { - var root = _Global.document.createElement("div"); - - this._addHitHighlightedText(root, item, item.text); - root.title = item.text; - - _ElementUtilities.addClass(root, ClassName.searchBoxSuggestionQuery); - - var that = this; - _ElementUtilities._addEventListener(root, "pointerup", function (ev) { - that._inputElement.focus(); - that._processSuggestionChosen(item, ev); - }); - - root.setAttribute("role", "option"); - var ariaLabel = _Resources._formatString(strings.ariaLabelQuery, item.text); - root.setAttribute("aria-label", ariaLabel); - return root; - }, - - _separatorSuggestionRenderer: function SearchBox_separatorSuggestionRenderer(item) { - var root = _Global.document.createElement("div"); - if (item.text.length > 0) { - var textElement = _Global.document.createElement("div"); - textElement.textContent = item.text; - textElement.title = item.text; - textElement.setAttribute("aria-hidden", "true"); - root.appendChild(textElement); - } - root.insertAdjacentHTML("beforeend", "
"); - _ElementUtilities.addClass(root, ClassName.searchBoxSuggestionSeparator); - root.setAttribute("role", "separator"); - var ariaLabel = _Resources._formatString(strings.ariaLabelSeparator, item.text); - root.setAttribute("aria-label", ariaLabel); - return root; - }, - - _resultSuggestionRenderer: function SearchBox_resultSuggestionRenderer(item) { - var root = _Global.document.createElement("div"); - var image = new _Global.Image(); - image.style.opacity = 0; - var loadImage = function (url) { - function onload() { - image.removeEventListener("load", onload, false); - Animations.fadeIn(image); - } - image.addEventListener("load", onload, false); - image.src = url; - }; - - if (item.image !== null) { - item.image.openReadAsync().then(function (streamWithContentType) { - if (streamWithContentType !== null) { - loadImage(_Global.URL.createObjectURL(streamWithContentType, { oneTimeOnly: true })); - } - }); - } else if (item.imageUrl !== null) { - loadImage(item.imageUrl); - } - image.setAttribute("aria-hidden", "true"); - root.appendChild(image); - - var divElement = _Global.document.createElement("div"); - _ElementUtilities.addClass(divElement, ClassName.searchBoxSuggestionResultText); - this._addHitHighlightedText(divElement, item, item.text); - divElement.title = item.text; - divElement.setAttribute("aria-hidden", "true"); - root.appendChild(divElement); - - var brElement = _Global.document.createElement("br"); - divElement.appendChild(brElement); - - var divDetailElement = _Global.document.createElement("span"); - _ElementUtilities.addClass(divDetailElement, ClassName.searchBoxSuggestionResultDetailedText); - this._addHitHighlightedText(divDetailElement, item, item.detailText); - divDetailElement.title = item.detailText; - divDetailElement.setAttribute("aria-hidden", "true"); - divElement.appendChild(divDetailElement); - - _ElementUtilities.addClass(root, ClassName.searchBoxSuggestionResult); - - var that = this; - _ElementUtilities._addEventListener(root, "pointerup", function (ev) { - that._inputElement.focus(); - that._processSuggestionChosen(item, ev); - }); - - root.setAttribute("role", "option"); - var ariaLabel = _Resources._formatString(strings.ariaLabelResult, item.text, item.detailText); - root.setAttribute("aria-label", ariaLabel); - return root; - }, - - _suggestionRenderer: function SearchBox_suggestionRenderer(item) { - var root = null; - if (!item) { - return root; - } - if (item.kind === _SearchSuggestionManagerShim._SearchSuggestionKind.Query) { - root = this._querySuggestionRenderer(item); - } else if (item.kind === _SearchSuggestionManagerShim._SearchSuggestionKind.Separator) { - root = this._separatorSuggestionRenderer(item); - } else if (item.kind === _SearchSuggestionManagerShim._SearchSuggestionKind.Result) { - root = this._resultSuggestionRenderer(item); - } else { - throw new _ErrorFromName("WinJS.UI.SearchBox.invalidSearchBoxSuggestionKind", strings.invalidSearchBoxSuggestionKind); - } - - return root; - }, - - _setElement: function SearchBox_setElement(element) { - this._domElement = element; - _ElementUtilities.addClass(this._domElement, ClassName.searchBox); - - this._inputElement = _Global.document.createElement("input"); - this._inputElement.type = "search"; - _ElementUtilities.addClass(this._inputElement, ClassName.searchBoxInput); - - this._buttonElement = _Global.document.createElement("div"); - this._buttonElement.tabIndex = -1; - _ElementUtilities.addClass(this._buttonElement, ClassName.searchBoxButton); - - this._flyoutDivElement = _Global.document.createElement('div'); - _ElementUtilities.addClass(this._flyoutDivElement, ClassName.searchBoxFlyout); - - this._repeaterDivElement = _Global.document.createElement('div'); - this._suggestionsData = new BindingList.List(); - this._repeater = new Repeater.Repeater(this._repeaterDivElement, { data: this._suggestionsData, template: this._suggestionRendererBind }); - - this._domElement.appendChild(this._inputElement); - this._domElement.appendChild(this._buttonElement); - this._domElement.appendChild(this._flyoutDivElement); - this._flyoutDivElement.appendChild(this._repeaterDivElement); - this._hideFlyout(); - - this._wireupUserEvents(); - this._wireupWinRTEvents(); - this._wireupRepeaterEvents(); - }, - - _setAccessibilityProperties: function Searchbox_setAccessibilityProperties() { - // Set up accessibility properties - var label = this._domElement.getAttribute("aria-label"); - if (!label) { - this._domElement.setAttribute("aria-label", strings.ariaLabel); - } - this._domElement.setAttribute("role", "group"); - this._updateInputElementAriaLabel(); - this._inputElement.setAttribute("role", "textbox"); - this._buttonElement.setAttribute("role", "button"); - this._buttonElement.setAttribute("aria-label", strings.ariaLabelButton); - this._repeaterDivElement.setAttribute("role", "listbox"); - _ElementUtilities._ensureId(this._repeaterDivElement); - this._inputElement.setAttribute("aria-controls", this._repeaterDivElement.id); - this._repeaterDivElement.setAttribute("aria-live", "polite"); - }, - - _updateInputElementAriaLabel: function Searchbox_updateInputElementAriaLabel() { - var ariaLabel = strings.ariaLabelInputNoPlaceHolder; - if (this._inputElement.placeholder && this._inputElement.placeholder) { - ariaLabel = _Resources._formatString(strings.ariaLabelInputPlaceHolder, this._inputElement.placeholder); - } - this._inputElement.setAttribute("aria-label", ariaLabel); - }, - - _submitQuery: function Searchbox_submitQuery(queryText, fillLinguisticDetails, event) { - if (this._disposed) { - return; - } - - // get the most up to date value of the input langauge from WinRT if available - if (_WinRT.Windows.Globalization.Language) { - this._lastKeyPressLanguage = _WinRT.Windows.Globalization.Language.currentInputMethodLanguageTag; - } - - this._fireEvent(SearchBox._EventName.querysubmitted, { - language: this._lastKeyPressLanguage, - linguisticDetails: this._getLinguisticDetails(true /*useCache*/, fillLinguisticDetails), // allow caching, but generate empty linguistic details if suggestion is used - queryText: queryText, - keyModifiers: SearchBox._getKeyModifiers(event) - }); - - if (this._searchSuggestionManager) { - this._searchSuggestionManager.addToHistory( - this._inputElement.value, - this._lastKeyPressLanguage - ); - } - }, - - _processSuggestionChosen: function Searchbox_processSuggestionChosen(item, event) { - this.queryText = item.text; - if (item.kind === _SearchSuggestionManagerShim._SearchSuggestionKind.Query) { - this._submitQuery(item.text, false /*fillLinguisticDetails*/, event); // force empty linguistic details since explicitly chosen suggestion from list - } else if (item.kind === _SearchSuggestionManagerShim._SearchSuggestionKind.Result) { - this._fireEvent(SearchBox._EventName.resultsuggestionchosen, { - tag: item.tag, - keyModifiers: SearchBox._getKeyModifiers(event), - storageFile: null - }); - } - this._hideFlyout(); - }, - - _buttonClickHandler: function SearchBox_buttonClickHandler(event) { - this._inputElement.focus(); - this._submitQuery(this._inputElement.value, true /*fillLinguisticDetails*/, event); - this._hideFlyout(); - }, - - _inputOrImeChangeHandler: function SearchBox_inputImeChangeHandler() { - var isButtonDown = _ElementUtilities._matchesSelector(this._buttonElement, ":active"); - // swallow the IME change event that gets fired when composition is ended due to keyboarding down to the suggestion list & mouse down on the button - if (!this._isProcessingImeFocusLossKey() && !isButtonDown && !this._isFlyoutPointerDown) { - var linguisticDetails = this._getLinguisticDetails(false /*useCache*/, true /*createFilled*/); // never cache on explicit user changes - var hasLinguisticDetailsChanged = this._hasLinguisticDetailsChanged(linguisticDetails); // updates this._prevLinguisticDetails - - // Keep the previous composition cache up to date, execpt when composition ended with no text change and alternatives are kept. - // In that case, we need to use the cached values to correctly generate the query prefix/suffix for substituting alternatives, but still report to the client that the composition has ended (via start & length of composition of 0) - if ((this._inputElement.value !== this._prevQueryText) || (this._prevCompositionLength === 0) || (linguisticDetails.queryTextCompositionLength > 0)) { - this._prevCompositionStart = linguisticDetails.queryTextCompositionStart; - this._prevCompositionLength = linguisticDetails.queryTextCompositionLength; - } - - if ((this._prevQueryText === this._inputElement.value) && !hasLinguisticDetailsChanged) { - // Sometimes the input change is fired even if there is no change in input. - // Swallow event in those cases. - return; - } - this._prevQueryText = this._inputElement.value; - - // get the most up to date value of the input langauge from WinRT if available - if (_WinRT.Windows.Globalization.Language) { - this._lastKeyPressLanguage = _WinRT.Windows.Globalization.Language.currentInputMethodLanguageTag; - } - - if (_WinRT.Windows.Data.Text.SemanticTextQuery) { - if (this._inputElement.value !== "") { - this._hitFinder = new _WinRT.Windows.Data.Text.SemanticTextQuery(this._inputElement.value, this._lastKeyPressLanguage); - } else { - this._hitFinder = null; - } - } - - this._fireEvent(SearchBox._EventName.querychanged, { - language: this._lastKeyPressLanguage, - queryText: this._inputElement.value, - linguisticDetails: linguisticDetails - }); - if (this._searchSuggestionManager) { - this._searchSuggestionManager.setQuery( - this._inputElement.value, - this._lastKeyPressLanguage, - linguisticDetails - ); - } - } - }, - - _createSearchQueryLinguisticDetails: function SearchBox_createSearchQueryLinguisticDetails(compositionAlternatives, compositionStartOffset, compositionLength, queryTextPrefix, queryTextSuffix) { - var linguisticDetails = null; - - // The linguistic alternatives we receive are only for the composition string being composed. We need to provide the linguistic alternatives - // in the form of the full query text with alternatives embedded. - var fullCompositionAlternatives = []; - for (var i = 0; i < compositionAlternatives.length; i++) { - fullCompositionAlternatives[i] = queryTextPrefix + compositionAlternatives[i] + queryTextSuffix; - } - - if (_WinRT.Windows.ApplicationModel.Search.SearchQueryLinguisticDetails) { - linguisticDetails = new _WinRT.Windows.ApplicationModel.Search.SearchQueryLinguisticDetails(fullCompositionAlternatives, compositionStartOffset, compositionLength); - } else { - // If we're in web compartment, create a script version of the WinRT SearchQueryLinguisticDetails object - linguisticDetails = { - queryTextAlternatives: fullCompositionAlternatives, - queryTextCompositionStart: compositionStartOffset, - queryTextCompositionLength: compositionLength - }; - } - return linguisticDetails; - }, - - _getLinguisticDetails: function SearchBox_getLinguisticDetails(useCache, createFilled) { // createFilled=false always creates an empty linguistic details object, otherwise generate it or use the cache - var linguisticDetails = null; - if ((this._inputElement.value === this._prevQueryText) && useCache && this._prevLinguisticDetails && createFilled) { - linguisticDetails = this._prevLinguisticDetails; - } else { - var compositionAlternatives = []; - var compositionStartOffset = 0; - var compositionLength = 0; - var queryTextPrefix = ""; - var queryTextSuffix = ""; - if (createFilled && this._inputElement.msGetInputContext && this._inputElement.msGetInputContext().getCompositionAlternatives) { - var context = this._inputElement.msGetInputContext(); - compositionAlternatives = context.getCompositionAlternatives(); - compositionStartOffset = context.compositionStartOffset; - compositionLength = context.compositionEndOffset - context.compositionStartOffset; - - if ((this._inputElement.value !== this._prevQueryText) || (this._prevCompositionLength === 0) || (compositionLength > 0)) { - queryTextPrefix = this._inputElement.value.substring(0, compositionStartOffset); - queryTextSuffix = this._inputElement.value.substring(compositionStartOffset + compositionLength); - } else { - // composition ended, but alternatives have been kept, need to reuse the previous query prefix/suffix, but still report to the client that the composition has ended (start & length of composition of 0) - queryTextPrefix = this._inputElement.value.substring(0, this._prevCompositionStart); - queryTextSuffix = this._inputElement.value.substring(this._prevCompositionStart + this._prevCompositionLength); - } - } - linguisticDetails = this._createSearchQueryLinguisticDetails(compositionAlternatives, compositionStartOffset, compositionLength, queryTextPrefix, queryTextSuffix); - } - return linguisticDetails; - }, - - _handleTabKeyDown: function SearchBox_handleTabKeyDown(event) { - var closeFlyout = true; - if (event.shiftKey) { - // If focus is not in input - if (this._currentFocusedIndex !== -1) { - // Remove selection. - this._currentFocusedIndex = -1; - this._selectSuggestionAtIndex(this._currentFocusedIndex); - this._updateSearchButtonClass(); - event.preventDefault(); - event.stopPropagation(); - closeFlyout = false; - } - } else if (this._currentFocusedIndex === -1) { - if (this._isFlyoutBelow()) { - // Move to first element - this._currentFocusedIndex = this._findNextSuggestionElementIndex(this._currentFocusedIndex); - } else { - // Move to last element - this._currentFocusedIndex = this._findPreviousSuggestionElementIndex(this._suggestionsData.length); - } - if (this._currentFocusedIndex !== -1) { - this._selectSuggestionAtIndex(this._currentFocusedIndex); - this._updateQueryTextWithSuggestionText(this._currentFocusedIndex); - this._updateSearchButtonClass(); - event.preventDefault(); - event.stopPropagation(); - closeFlyout = false; - } - } - - if (closeFlyout) { - this._hideFlyout(); - } - }, - - _keyDownHandler: function SearchBox_keyDownHandler(event) { - this._lastKeyPressLanguage = event.locale; - if (event.keyCode === Key.tab) { - this._isProcessingTabKey = true; - } else if (event.keyCode === Key.upArrow) { - this._isProcessingUpKey = true; - } else if (event.keyCode === Key.downArrow) { - this._isProcessingDownKey = true; - } else if ((event.keyCode === Key.enter) && (event.locale === "ko")) { - this._isProcessingEnterKey = true; - } - // Ignore keys handled by ime. - if (event.keyCode !== Key.IME) { - if (event.keyCode === Key.tab) { - this._handleTabKeyDown(event); - } else if (event.keyCode === Key.escape) { - // If focus is not in input - if (this._currentFocusedIndex !== -1) { - this.queryText = this._prevQueryText; - this._currentFocusedIndex = -1; - this._selectSuggestionAtIndex(this._currentFocusedIndex); - this._updateSearchButtonClass(); - event.preventDefault(); - event.stopPropagation(); - } else if (this.queryText !== "") { - this.queryText = ""; - this._inputOrImeChangeHandler(null); - this._updateSearchButtonClass(); - event.preventDefault(); - event.stopPropagation(); - } - } else if (event.keyCode === Key.upArrow) { - var prevIndex; - if (this._currentSelectedIndex !== -1) { - prevIndex = this._findPreviousSuggestionElementIndex(this._currentSelectedIndex); - // Restore user entered query when user navigates back to input. - if (prevIndex === -1) { - this.queryText = this._prevQueryText; - } - } else { - prevIndex = this._findPreviousSuggestionElementIndex(this._suggestionsData.length); - } - this._currentFocusedIndex = prevIndex; - this._selectSuggestionAtIndex(prevIndex); - this._updateQueryTextWithSuggestionText(this._currentFocusedIndex); - this._updateSearchButtonClass(); - event.preventDefault(); - event.stopPropagation(); - } else if (event.keyCode === Key.downArrow) { - var nextIndex = this._findNextSuggestionElementIndex(this._currentSelectedIndex); - // Restore user entered query when user navigates back to input. - if ((this._currentSelectedIndex !== -1) && (nextIndex === -1)) { - this.queryText = this._prevQueryText; - } - this._currentFocusedIndex = nextIndex; - this._selectSuggestionAtIndex(nextIndex); - this._updateQueryTextWithSuggestionText(this._currentFocusedIndex); - this._updateSearchButtonClass(); - event.preventDefault(); - event.stopPropagation(); - } else if (event.keyCode === Key.enter) { - if (this._currentSelectedIndex === -1) { - this._submitQuery(this._inputElement.value, true /*fillLinguisticDetails*/, event); - } else { - this._processSuggestionChosen(this._suggestionsData.getAt(this._currentSelectedIndex), event); - } - this._hideFlyout(); - } else if (SearchBox._isTypeToSearchKey(event)) { - // Type to search on suggestions scenario. - if (this._currentFocusedIndex !== -1) { - this._currentFocusedIndex = -1; - this._selectSuggestionAtIndex(-1); - this._updateFakeFocus(); - } - } - } - }, - - _keyPressHandler: function SearchBox_keyPressHandler(event) { - this._lastKeyPressLanguage = event.locale; - }, - - _keyUpHandler: function SearchBox_keyUpHandler(event) { - if (event.keyCode === Key.tab) { - this._isProcessingTabKey = false; - } else if (event.keyCode === Key.upArrow) { - this._isProcessingUpKey = false; - } else if (event.keyCode === Key.downArrow) { - this._isProcessingDownKey = false; - } else if (event.keyCode === Key.enter) { - this._isProcessingEnterKey = false; - } - }, - - _inputFocusHandler: function SearchBox_inputFocusHandler(event) { - // Refresh hit highlighting if text has changed since focus was present - // This can happen if the user committed a suggestion previously. - if (this._inputElement.value !== this._prevQueryText) { - if (_WinRT.Windows.Data.Text.SemanticTextQuery) { - if (this._inputElement.value !== "") { - this._hitFinder = new _WinRT.Windows.Data.Text.SemanticTextQuery(this._inputElement.value, this._inputElement.lang); - } else { - this._hitFinder = null; - } - } - } - - // If focus is returning to the input box from outside the search control, show the flyout and refresh the suggestions - if ((event.target === this._inputElement) && !this._internalFocusMove) { - this._showFlyout(); - // If focus is not in input - if (this._currentFocusedIndex !== -1) { - this._selectSuggestionAtIndex(this._currentFocusedIndex); - } else { - this._updateFakeFocus(); - } - - if (this._searchSuggestionManager) { - this._searchSuggestionManager.setQuery( - this._inputElement.value, - this._lastKeyPressLanguage, - this._getLinguisticDetails(true /*useCache*/, true /*createFilled*/) - ); - } - } - - this._internalFocusMove = false; - _ElementUtilities.addClass(this.element, ClassName.searchBoxInputFocus); - this._updateSearchButtonClass(); - }, - - _flyoutBlurHandler: function SearchBox_flyoutBlurHandler() { - if (this._isElementInSearchControl(_Global.document.activeElement)) { - this._internalFocusMove = true; - } else { - this._hideFlyout(); - _ElementUtilities.removeClass(this.element, ClassName.searchBoxInputFocus); - } - }, - - _inputBlurHandler: function SearchBox_inputBlurHandler(event) { - if (!this._isElementInSearchControl(_Global.document.activeElement)) { - this._hideFlyout(); - _ElementUtilities.removeClass(this.element, ClassName.searchBoxInputFocus); - } - this._updateSearchButtonClass(); - this._isProcessingDownKey = false; - this._isProcessingUpKey = false; - this._isProcessingTabKey = false; - this._isProcessingEnterKey = false; - }, - - _isIMEOccludingFlyout: function SearchBox_isIMEOccludingFlyout(imeRect) { - var flyoutTop = this._getFlyoutTop(); - var flyoutBottom = this._getFlyoutBottom(); - if (((imeRect.top >= flyoutTop) && (imeRect.top <= flyoutBottom)) || - ((imeRect.bottom >= flyoutTop) && (imeRect.bottom <= flyoutBottom))) { - return true; - } - return false; - }, - - _addFlyoutIMEPaddingIfRequired: function SearchBox_addFlyoutIMEPaddingIfRequired() { - if (this._isFlyoutShown() && this._isFlyoutBelow() && this._inputElement.msGetInputContext && this._inputElement.msGetInputContext()) { - var context = this._inputElement.msGetInputContext(); - var rect = context.getCandidateWindowClientRect(); - if (this._isIMEOccludingFlyout(rect)) { - var animation = Animations.createRepositionAnimation(this._flyoutDivElement.children); - this._flyoutDivElement.style.paddingTop = (rect.bottom - rect.top) + "px"; - animation.execute(); - } - } - }, - - _msCandidateWindowShowHandler: function SearchBox_msCandidateWindowShowHandler() { - this._addFlyoutIMEPaddingIfRequired(); - this._reflowImeOnPointerRelease = false; - }, - - _msCandidateWindowHideHandler: function SearchBox_msCandidateWindowHideHandler() { - if (!this._isFlyoutPointerDown) { - var animation = Animations.createRepositionAnimation(this._flyoutDivElement.children); - this._flyoutDivElement.style.paddingTop = ""; - animation.execute(); - } else { - this._reflowImeOnPointerRelease = true; - } - }, - - _wireupUserEvents: function SearchBox_wireupUserEvents() { - var inputOrImeChangeHandler = this._inputOrImeChangeHandler.bind(this); - this._buttonElement.addEventListener("click", this._buttonClickHandler.bind(this)); - this._inputElement.addEventListener("input", inputOrImeChangeHandler); - this._inputElement.addEventListener("keydown", this._keyDownHandler.bind(this)); - this._inputElement.addEventListener("keypress", this._keyPressHandler.bind(this)); - this._inputElement.addEventListener("keyup", this._keyUpHandler.bind(this)); - this._inputElement.addEventListener("focus", this._inputFocusHandler.bind(this)); - this._inputElement.addEventListener("blur", this._inputBlurHandler.bind(this)); - _ElementUtilities._addEventListener(this._inputElement, "pointerdown", this._inputPointerDownHandler.bind(this)); - - this._flyoutDivElement.addEventListener("blur", this._flyoutBlurHandler.bind(this)); - _ElementUtilities._addEventListener(this._flyoutDivElement, "pointerdown", this._flyoutPointerDownHandler.bind(this)); - _ElementUtilities._addEventListener(this._flyoutDivElement, "pointerup", this._flyoutPointerReleasedHandler.bind(this)); - _ElementUtilities._addEventListener(this._flyoutDivElement, "pointercancel", this._flyoutPointerReleasedHandler.bind(this)); - _ElementUtilities._addEventListener(this._flyoutDivElement, "pointerout", this._flyoutPointerReleasedHandler.bind(this)); - - this._inputElement.addEventListener("compositionstart", inputOrImeChangeHandler); - this._inputElement.addEventListener("compositionupdate", inputOrImeChangeHandler); - this._inputElement.addEventListener("compositionend", inputOrImeChangeHandler); - - if (this._inputElement.msGetInputContext && this._inputElement.msGetInputContext()) { - var context = this._inputElement.msGetInputContext(); - context.addEventListener("MSCandidateWindowShow", this._msCandidateWindowShowHandler.bind(this)); - context.addEventListener("MSCandidateWindowHide", this._msCandidateWindowHideHandler.bind(this)); - } - }, - - _repeaterChangedHandler: function SearchBox_repeaterChangedHandler() { - this._updateFlyoutTopAndTouchAction(); - if (this._isFlyoutShown()) { - this._repeaterDivElement.style.display = "none"; - this._repeaterDivElement.style.display = "block"; - } - }, - - _wireupRepeaterEvents: function SearchBox_wireupRepeaterEvents() { - var repeaterChangeHandler = this._repeaterChangedHandler.bind(this); - this._repeater.addEventListener("itemchanged", repeaterChangeHandler); - this._repeater.addEventListener("iteminserted", repeaterChangeHandler); - this._repeater.addEventListener("itemremoved", repeaterChangeHandler); - this._repeater.addEventListener("itemsreloaded", repeaterChangeHandler); - }, - - _inputPointerDownHandler: function SearchBox_inputPointerDownHandler() { - if ((_Global.document.activeElement === this._inputElement) && (this._currentSelectedIndex !== -1)) { - this._currentFocusedIndex = -1; - this._selectSuggestionAtIndex(this._currentFocusedIndex); - } - }, - - _flyoutPointerDownHandler: function SearchBox_flyoutPointerDownHandler(ev) { - this._isFlyoutPointerDown = true; - var srcElement = ev.target; - while (srcElement && (srcElement.parentNode !== this._repeaterDivElement)) { - srcElement = srcElement.parentNode; - } - var index = this._findSuggestionElementIndex(srcElement); - if ((index >= 0) && (index < this._suggestionsData.length) && (this._currentFocusedIndex !== index)) { - if (this._isSuggestionSelectable(this._suggestionsData.getAt(index))) { - this._currentFocusedIndex = index; - this._selectSuggestionAtIndex(index); - this._updateQueryTextWithSuggestionText(this._currentFocusedIndex); - } - } - // Prevent default so focus does not leave input element. - ev.preventDefault(); - }, - - _flyoutPointerReleasedHandler: function SearchBox_flyoutPointerReleasedHandler() { - this._isFlyoutPointerDown = false; - - if (this._reflowImeOnPointerRelease) { - this._reflowImeOnPointerRelease = false; - var animation = Animations.createRepositionAnimation(this._flyoutDivElement.children); - this._flyoutDivElement.style.paddingTop = ""; - animation.execute(); - } - }, - - _isElementInSearchControl: function SearchBox_isElementInSearchControl(targetElement) { - return this.element.contains(targetElement) || (this.element === targetElement); - }, - - _hideFlyoutIfLeavingSearchControl: function SearchBox_hideFlyoutIfLeavingSearchControl(targetElement) { - if (!this._isFlyoutShown()) { - return; - } - if (!this._isElementInSearchControl(targetElement)) { - this._hideFlyout(); - } - }, - - _wireupWinRTEvents: function SearchBox_wireupWinRTEvents() { - this._searchSuggestions.addEventListener("vectorchanged", this._suggestionsChangedHandlerBind); - this._searchSuggestionManager.addEventListener("suggestionsrequested", this._suggestionsRequestedHandlerBind); - }, - - _suggestionsChangedHandler: function SearchBox_suggestionsChangedHandler(event) { - var collectionChange = event.collectionChange || event.detail.collectionChange; - var changeIndex = (+event.index === event.index) ? event.index : event.detail.index; - var ChangeEnum = _SearchSuggestionManagerShim._CollectionChange; - if (collectionChange === ChangeEnum.reset) { - if (this._isFlyoutShown()) { - this._hideFlyout(); - } - this._suggestionsData.splice(0, this._suggestionsData.length); - } else if (collectionChange === ChangeEnum.itemInserted) { - var suggestion = this._searchSuggestions[changeIndex]; - this._suggestionsData.splice(changeIndex, 0, suggestion); - - this._showFlyout(); - - } else if (collectionChange === ChangeEnum.itemRemoved) { - if ((this._suggestionsData.length === 1)) { - _ElementUtilities._setActive(this._inputElement); - - this._hideFlyout(); - } - this._suggestionsData.splice(changeIndex, 1); - } else if (collectionChange === ChangeEnum.itemChanged) { - var suggestion = this._searchSuggestions[changeIndex]; - if (suggestion !== this._suggestionsData.getAt(changeIndex)) { - this._suggestionsData.setAt(changeIndex, suggestion); - } else { - // If the suggestions manager gives us an identical item, it means that only the hit highlighted text has changed. - var existingElement = this._repeater.elementFromIndex(changeIndex); - if (_ElementUtilities.hasClass(existingElement, ClassName.searchBoxSuggestionQuery)) { - this._addHitHighlightedText(existingElement, suggestion, suggestion.text); - } else { - var resultSuggestionDiv = existingElement.querySelector("." + ClassName.searchBoxSuggestionResultText); - if (resultSuggestionDiv) { - this._addHitHighlightedText(resultSuggestionDiv, suggestion, suggestion.text); - var resultSuggestionDetailDiv = existingElement.querySelector("." + ClassName.searchBoxSuggestionResultDetailedText); - if (resultSuggestionDetailDiv) { - this._addHitHighlightedText(resultSuggestionDetailDiv, suggestion, suggestion.detailText); - } - } - } - } - } - - if (_Global.document.activeElement === this._inputElement) { - this._updateFakeFocus(); - } - }, - - _suggestionsRequestedHandler: function SearchBox_suggestionsRequestedHandler(event) { - // get the most up to date value of the input langauge from WinRT if available - if (_WinRT.Windows.Globalization.Language) { - this._lastKeyPressLanguage = _WinRT.Windows.Globalization.Language.currentInputMethodLanguageTag; - } - - var request = event.request || event.detail.request; - var deferral; - this._fireEvent(SearchBox._EventName.suggestionsrequested, { - setPromise: function (promise) { - deferral = request.getDeferral(); - promise.then(function () { - deferral.complete(); - }); - }, - searchSuggestionCollection: request.searchSuggestionCollection, - language: this._lastKeyPressLanguage, - linguisticDetails: this._getLinguisticDetails(true /*useCache*/, true /*createFilled*/), - queryText: this._inputElement.value - }); - }, - - _fireEvent: function SearchBox_fireEvent(type, detail) { - // Returns true if ev.preventDefault() was not called - var event = _Global.document.createEvent("CustomEvent"); - event.initCustomEvent(type, true, true, detail); - return this.element.dispatchEvent(event); - }, - - _requestingFocusOnKeyboardInputHandler: function SearchBox_requestingFocusOnKeyboardInputHandler() { - this._fireEvent(SearchBox._EventName.receivingfocusonkeyboardinput, null); - if (_Global.document.activeElement !== this._inputElement) { - try { - this._inputElement.focus(); - } catch (e) { - } - } - }, - - _keydownCaptureHandler: function SearchBox_keydownCaptureHandler(event) { - if (this._focusOnKeyboardInput && this._shouldKeyTriggerTypeToSearch(event)) { - this._requestingFocusOnKeyboardInputHandler(event); - } - }, - - _frameLoadCaptureHandler: function SearchBox_frameLoadCaptureHandler(event) { - if (this._focusOnKeyboardInput) { - this._updateKeydownCaptureListeners(event.target.contentWindow, true /*add*/); - } - }, - - _updateKeydownCaptureListeners: function SearchBox_updateTypeToSearchListeners(win, add) { - // Register for child frame keydown events in order to support FocusOnKeyboardInput - // when focus is in a child frame. Also register for child frame load events so - // it still works after frame navigations. - // Note: This won't catch iframes added programmatically later, but that can be worked - // around by toggling FocusOnKeyboardInput off/on after the new iframe is added. - try { - if (add) { - win.document.addEventListener('keydown', this._keydownCaptureHandlerBind, true); - } else { - win.document.removeEventListener('keydown', this._keydownCaptureHandlerBind, true); - } - } catch (e) { // if the IFrame crosses domains, we'll get a permission denied error - } - - if (win.frames) { - for (var i = 0, l = win.frames.length; i < l; i++) { - var childWin = win.frames[i]; - this._updateKeydownCaptureListeners(childWin, add); - - try { - if (add) { - if (childWin.frameElement) { - childWin.frameElement.addEventListener('load', this._frameLoadCaptureHandlerBind, true); - } - } else { - if (childWin.frameElement) { - childWin.frameElement.removeEventListener('load', this._frameLoadCaptureHandlerBind, true); - } - } - } catch (e) { // if the IFrame crosses domains, we'll get a permission denied error - } - } - } - }, - - _shouldKeyTriggerTypeToSearch: function SearchBox_shouldKeyTriggerTypeToSearch(event) { - var shouldTrigger = false; - // First, check if a metaKey is pressed (only applies to MacOS). If so, do nothing here. - if (!event.metaKey) { - // We also don't handle CTRL/ALT combinations, unless ALTGR is also set. Since there is no shortcut for checking AltGR, - // we need to use getModifierState, however, Safari currently doesn't support this. - if ((!event.ctrlKey && !event.altKey) || (event.getModifierState && event.getModifierState("AltGraph"))) { - // Show on most keys for visible characters like letters, numbers, etc. - switch (event.keyCode) { - case 0x30: //0x30 0 key - case 0x31: //0x31 1 key - case 0x32: //0x32 2 key - case 0x33: //0x33 3 key - case 0x34: //0x34 4 key - case 0x35: //0x35 5 key - case 0x36: //0x36 6 key - case 0x37: //0x37 7 key - case 0x38: //0x38 8 key - case 0x39: //0x39 9 key - - case 0x41: //0x41 A key - case 0x42: //0x42 B key - case 0x43: //0x43 C key - case 0x44: //0x44 D key - case 0x45: //0x45 E key - case 0x46: //0x46 F key - case 0x47: //0x47 G key - case 0x48: //0x48 H key - case 0x49: //0x49 I key - case 0x4A: //0x4A J key - case 0x4B: //0x4B K key - case 0x4C: //0x4C L key - case 0x4D: //0x4D M key - case 0x4E: //0x4E N key - case 0x4F: //0x4F O key - case 0x50: //0x50 P key - case 0x51: //0x51 Q key - case 0x52: //0x52 R key - case 0x53: //0x53 S key - case 0x54: //0x54 T key - case 0x55: //0x55 U key - case 0x56: //0x56 V key - case 0x57: //0x57 W key - case 0x58: //0x58 X key - case 0x59: //0x59 Y key - case 0x5A: //0x5A Z key - - case 0x60: // VK_NUMPAD0, //0x60 Numeric keypad 0 key - case 0x61: // VK_NUMPAD1, //0x61 Numeric keypad 1 key - case 0x62: // VK_NUMPAD2, //0x62 Numeric keypad 2 key - case 0x63: // VK_NUMPAD3, //0x63 Numeric keypad 3 key - case 0x64: // VK_NUMPAD4, //0x64 Numeric keypad 4 key - case 0x65: // VK_NUMPAD5, //0x65 Numeric keypad 5 key - case 0x66: // VK_NUMPAD6, //0x66 Numeric keypad 6 key - case 0x67: // VK_NUMPAD7, //0x67 Numeric keypad 7 key - case 0x68: // VK_NUMPAD8, //0x68 Numeric keypad 8 key - case 0x69: // VK_NUMPAD9, //0x69 Numeric keypad 9 key - case 0x6A: // VK_MULTIPLY, //0x6A Multiply key - case 0x6B: // VK_ADD, //0x6B Add key - case 0x6C: // VK_SEPARATOR, //0x6C Separator key - case 0x6D: // VK_SUBTRACT, //0x6D Subtract key - case 0x6E: // VK_DECIMAL, //0x6E Decimal key - case 0x6F: // VK_DIVIDE, //0x6F Divide key - - case 0xBA: // VK_OEM_1, //0xBA Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key - case 0xBB: // VK_OEM_PLUS, //0xBB For any country/region, the '+' key - case 0xBC: // VK_OEM_COMMA, //0xBC For any country/region, the ',' key - case 0xBD: // VK_OEM_MINUS, //0xBD For any country/region, the '-' key - case 0xBE: // VK_OEM_PERIOD, //0xBE For any country/region, the '.' key - case 0xBF: // VK_OEM_2, //0xBF Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key - case 0xC0: // VK_OEM_3, //0xC0 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '`~' key - - case 0xDB: // VK_OEM_4, //0xDB Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key - case 0xDC: // VK_OEM_5, //0xDC Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\|' key - case 0xDD: // VK_OEM_6, //0xDD Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key - case 0xDE: // VK_OEM_7, //0xDE Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the 'single-quote/double-quote' key - case 0xDF: // VK_OEM_8, //0xDF Used for miscellaneous characters; it can vary by keyboard. - - case 0xE2: // VK_OEM_102, //0xE2 Either the angle bracket key or the backslash key on the RT 102-key keyboard - - case 0xE5: // VK_PROCESSKEY, //0xE5 IME PROCESS key - - case 0xE7: // VK_PACKET, //0xE7 Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP - shouldTrigger = true; - break; - } - } - } - return shouldTrigger; - }, - - _hasLinguisticDetailsChanged: function SearchBox_hasLinguisticDetailsChanged(newLinguisticDetails) { - var hasLinguisticDetailsChanged = false; - if ((this._prevLinguisticDetails.queryTextCompositionStart !== newLinguisticDetails.queryTextCompositionStart) || - (this._prevLinguisticDetails.queryTextCompositionLength !== newLinguisticDetails.queryTextCompositionLength) || - (this._prevLinguisticDetails.queryTextAlternatives.length !== newLinguisticDetails.queryTextAlternatives.length)) { - hasLinguisticDetailsChanged = true; - } - this._prevLinguisticDetails = newLinguisticDetails; - return hasLinguisticDetailsChanged; - }, - - _isProcessingImeFocusLossKey: function SearchBox_isProcessingImeFocusLossKey() { - return this._isProcessingDownKey || this._isProcessingUpKey || this._isProcessingTabKey || this._isProcessingEnterKey; - }, - - _updateQueryTextWithSuggestionText: function SearchBox_updateQueryTextWithSuggestionText(suggestionIndex) { - if ((suggestionIndex >= 0) && (suggestionIndex < this._suggestionsData.length)) { - this.queryText = this._suggestionsData.getAt(suggestionIndex).text; - } - } - - }, { - _EventName: { - querychanged: EventName.querychanged, - querysubmitted: EventName.querysubmitted, - resultsuggestionchosen: EventName.resultsuggestionchosen, - suggestionsrequested: EventName.suggestionsrequested, - receivingfocusonkeyboardinput: EventName.receivingfocusonkeyboardinput - }, - - _Constants: { - MIN_POPUP_HEIGHT: 152, - }, - - createResultSuggestionImage: function SearchBox_createResultSuggestionImage(url) { - /// - /// - /// Creates the image argument for SearchSuggestionCollection.appendResultSuggestion. - /// - /// - /// The url of the image. - /// - /// - /// - if (_WinRT.Windows.Foundation.Uri && _WinRT.Windows.Storage.Streams.RandomAccessStreamReference) { - return _WinRT.Windows.Storage.Streams.RandomAccessStreamReference.createFromUri(new _WinRT.Windows.Foundation.Uri(url)); - } - return url; - }, - - _getKeyModifiers: function SearchBox_getKeyModifiers(ev) { - - // Returns the same value as http://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.system.virtualkeymodifiers - var VirtualKeys = { - ctrlKey: 1, - altKey: 2, - shiftKey: 4 - }; - - var keyModifiers = 0; - if (ev.ctrlKey) { - keyModifiers |= VirtualKeys.ctrlKey; - } - if (ev.altKey) { - keyModifiers |= VirtualKeys.altKey; - } - if (ev.shiftKey) { - keyModifiers |= VirtualKeys.shiftKey; - } - return keyModifiers; - }, - - _sortAndMergeHits: function searchBox_sortAndMergeHits(hitsProvided) { - var reducedHits = []; - if (hitsProvided) { - // Copy hitsprovided array as winrt objects are immutable. - var hits = new Array(hitsProvided.length); - for (var i = 0; i < hitsProvided.length; i++) { - hits.push({ startPosition: hitsProvided[i].startPosition, length: hitsProvided[i].length }); - } - hits.sort(SearchBox._hitStartPositionAscendingSorter); - hits.reduce(SearchBox._hitIntersectionReducer, reducedHits); - } - return reducedHits; - }, - - _hitStartPositionAscendingSorter: function searchBox_hitStartPositionAscendingSorter(firstHit, secondHit) { - var returnValue = 0; - if (firstHit.startPosition < secondHit.startPosition) { - returnValue = -1; - } else if (firstHit.startPosition > secondHit.startPosition) { - returnValue = 1; - } - return returnValue; - }, - - _hitIntersectionReducer: function searchBox_hitIntersectionReducer(reducedHits, nextHit, currentIndex) { - if (currentIndex === 0) { - reducedHits.push(nextHit); - } else { - var curHit = reducedHits[reducedHits.length - 1]; - var curHitEndPosition = curHit.startPosition + curHit.length; - if (nextHit.startPosition <= curHitEndPosition) { - // The next hit intersects or is next to current hit. Merge it. - var nextHitEndPosition = nextHit.startPosition + nextHit.length; - if (nextHitEndPosition > curHitEndPosition) { - curHit.length = nextHitEndPosition - curHit.startPosition; - } - } else { - // No intersection, simply add to reduced list. - reducedHits.push(nextHit); - } - } - return reducedHits; - }, - - _isTypeToSearchKey: function searchBox_isTypeToSearchKey(event) { - if (event.shiftKey || event.ctrlKey || event.altKey) { - return false; - } - return true; - } - }); - _Base.Class.mix(SearchBox, _Control.DOMEventMixin); - return SearchBox; - }) - }); - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -/// appbar,Flyout,Flyouts,registeredforsettings,SettingsFlyout,Statics,Syriac -define('WinJS/Controls/SettingsFlyout',[ - '../Core/_Global', - '../Core/_WinRT', - '../Core/_Base', - '../Core/_BaseUtils', - '../Core/_ErrorFromName', - '../Core/_Resources', - '../Core/_WriteProfilerMark', - '../Animations', - '../Pages', - '../Promise', - '../Utilities/_Dispose', - '../Utilities/_ElementUtilities', - '../Utilities/_ElementListUtilities', - '../Utilities/_Hoverable', - './AppBar/_Constants', - './Flyout/_Overlay', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls' - ], function settingsFlyoutInit(_Global,_WinRT, _Base, _BaseUtils, _ErrorFromName, _Resources, _WriteProfilerMark, Animations, Pages, Promise, _Dispose, _ElementUtilities, _ElementListUtilities, _Hoverable, _Constants, _Overlay) { - "use strict"; - - _Base.Namespace.define("WinJS.UI", { - /// - /// Provides users with fast, in-context access to settings that affect the current app. - /// - /// - /// Settings Flyout - /// - /// - /// - ///
- /// - ///
Custom Settings
- ///
- ///
- /// {Your Content Here} - ///
- /// ]]>
- /// Raised just before showing a SettingsFlyout. - /// Raised immediately after a SettingsFlyout is fully shown. - /// Raised just before hiding a SettingsFlyout. - /// Raised immediately after a SettingsFlyout is fully hidden. - /// The SettingsFlyout control itself. - /// - /// - /// - SettingsFlyout: _Base.Namespace._lazy(function () { - var Key = _ElementUtilities.Key; - - var settingsPageIsFocusedOnce; - - // Constants for width - var settingsNarrow = "narrow", - settingsWide = "wide"; - - // Determine if the settings pane (system language) is RTL or not. - function _shouldAnimateFromLeft() { - if (_WinRT.Windows.UI.ApplicationSettings.SettingsEdgeLocation) { - var appSettings = _WinRT.Windows.UI.ApplicationSettings; - return (appSettings.SettingsPane.edge === appSettings.SettingsEdgeLocation.left); - } else { - return false; - } - } - - // Get the settings control by matching the settingsCommandId - // if no match we'll try to match element id - function _getChildSettingsControl(parentElement, id) { - var settingElements = parentElement.querySelectorAll("." + _Constants.settingsFlyoutClass); - var retValue, - control; - for (var i = 0; i < settingElements.length; i++) { - control = settingElements[i].winControl; - if (control) { - if (control.settingsCommandId === id) { - retValue = control; - break; - } - if (settingElements[i].id === id) { - retValue = retValue || control; - } - } - } - - return retValue; - } - - var SettingsFlyout = _Base.Class.derive(_Overlay._Overlay, function SettingsFlyout_ctor(element, options) { - /// - /// Creates a new SettingsFlyout control. - /// - /// The DOM element that will host the control. - /// - /// - /// The set of properties and values to apply to the new SettingsFlyout. - /// - /// The new SettingsFlyout control. - /// - /// - - // Make sure there's an input element - this._element = element || _Global.document.createElement("div"); - this._id = this._element.id || _ElementUtilities._uniqueID(this._element); - this._writeProfilerMark("constructor,StartTM"); - - // Call the base overlay constructor helper - this._baseOverlayConstructor(this._element, options); - - this._addFirstDiv(); - this._addFinalDiv(); - - // Handle "esc" & "tab" key presses - this._element.addEventListener("keydown", this._handleKeyDown, true); - - // Make a click eating div - _Overlay._Overlay._createClickEatingDivAppBar(); - - // Start settings hidden - this._element.style.visibilty = "hidden"; - this._element.style.display = "none"; - - // Attach our css class - _ElementUtilities.addClass(this._element, _Constants.settingsFlyoutClass); - - // apply the light theme styling to the win-content elements inside the SettingsFlyout - _ElementListUtilities.query("div.win-content", this._element). - forEach(function (e) { - if (!_ElementUtilities._matchesSelector(e, '.win-ui-dark, .win-ui-dark *')){ - _ElementUtilities.addClass(e, _Constants.flyoutLightClass); - } - }); - - // Make sure we have an ARIA role - var role = this._element.getAttribute("role"); - if (role === null || role === "" || role === undefined) { - this._element.setAttribute("role", "dialog"); - } - var label = this._element.getAttribute("aria-label"); - if (label === null || label === "" || label === undefined) { - this._element.setAttribute("aria-label", strings.ariaLabel); - } - - // Make sure _Overlay event handlers are hooked up - this._addOverlayEventHandlers(true); - - // Make sure animations are hooked up - this._currentAnimateIn = this._animateSlideIn; - this._currentAnimateOut = this._animateSlideOut; - this._writeProfilerMark("constructor,StopTM"); - }, { - // Public Properties - - /// - /// Width of the SettingsFlyout, "narrow", or "wide". - /// - /// SettingsFlyout.width may be altered or unavailable in future versions. Instead, style the CSS width property on elements with the .win-settingsflyout class. - /// - /// - /// - width: { - get: function () { - return this._width; - }, - - set: function (value) { - _ElementUtilities._deprecated(strings.widthDeprecationMessage); - if (value === this._width) { - return; - } - // Get rid of old class - if (this._width === settingsNarrow) { - _ElementUtilities.removeClass(this._element, _Constants.narrowClass); - } else if (this._width === settingsWide) { - _ElementUtilities.removeClass(this._element, _Constants.wideClass); - } - this._width = value; - - // Attach our new css class - if (this._width === settingsNarrow) { - _ElementUtilities.addClass(this._element, _Constants.narrowClass); - } else if (this._width === settingsWide) { - _ElementUtilities.addClass(this._element, _Constants.wideClass); - } - } - }, - - /// - /// Define the settings command Id for the SettingsFlyout control. - /// - /// - settingsCommandId: { - get: function () { - return this._settingsCommandId; - }, - - set: function (value) { - this._settingsCommandId = value; - } - }, - - show: function () { - /// - /// - /// Shows the SettingsFlyout, if hidden. - /// - /// - /// - // Just call private version to make appbar flags happy - - // Don't do anything if disabled - if (this.disabled) { - return; - } - this._writeProfilerMark("show,StartTM"); // The corresponding "stop" profiler mark is handled in _Overlay._baseEndShow(). - this._show(); - }, - - _dispose: function SettingsFlyout_dispose() { - _Dispose.disposeSubTree(this.element); - this._dismiss(); - }, - - _show: function SettingsFlyout_show() { - // We call our base "_baseShow" because SettingsFlyout overrides show - this._baseShow(); - // Need click-eating div to be visible, - // (even if now hiding, we'll show and need click eater) - _Overlay._Overlay._showClickEatingDivAppBar(); - }, - - _endShow: function SettingsFlyout_endShow() { - // Clean up after showing - this._initAfterAnimation(); - }, - - _initAfterAnimation: function SettingsFlyout_initAfterAnimation() { - settingsPageIsFocusedOnce = 0; - - // Verify that the firstDiv and finalDiv are in the correct location. - // Move them to the correct location or add them if they are not. - if (!_ElementUtilities.hasClass(this.element.children[0], _Constants.firstDivClass)) { - var firstDiv = this.element.querySelectorAll(".win-first"); - if (firstDiv && firstDiv.length > 0) { - firstDiv.item(0).parentNode.removeChild(firstDiv.item(0)); - } - - this._addFirstDiv(); - } - - // Set focus to the firstDiv - if (this.element.children[0]) { - _ElementUtilities._addEventListener(this.element.children[0], "focusout", function () { settingsPageIsFocusedOnce = 1; }, false); - this.element.children[0].focus(); - } - - if (!_ElementUtilities.hasClass(this.element.children[this.element.children.length - 1], _Constants.finalDivClass)) { - var finalDiv = this.element.querySelectorAll(".win-final"); - if (finalDiv && finalDiv.length > 0) { - finalDiv.item(0).parentNode.removeChild(finalDiv.item(0)); - } - - this._addFinalDiv(); - } - - this._setBackButtonsAriaLabel(); - }, - - _setBackButtonsAriaLabel: function SettingsFlyout_setBackButtonsAriaLabel() { - var backbuttons = this.element.querySelectorAll(".win-backbutton"); - var label; - for (var i = 0; i < backbuttons.length; i++) { - label = backbuttons[i].getAttribute("aria-label"); - if (label === null || label === "" || label === undefined) { - backbuttons[i].setAttribute("aria-label", strings.backbuttonAriaLabel); - } - } - }, - - hide: function () { - /// - /// - /// Hides the SettingsFlyout, if visible, regardless of other state. - /// - /// - /// - // Just call private version to make appbar flags happy - this._writeProfilerMark("hide,StartTM"); // The corresponding "stop" profiler mark is handled in _Overlay._baseEndHide(). - this._hide(); - }, - - _hide: function SettingsFlyout_hide() { - if (this._baseHide()) { - // Need click-eating div to be hidden - _Overlay._Overlay._hideClickEatingDivAppBar(); - } - }, - - // SettingsFlyout animations - _animateSlideIn: function SettingsFlyout_animateSlideIn() { - var animateFromLeft = _shouldAnimateFromLeft(); - var offset = animateFromLeft ? "-100px" : "100px"; - _ElementListUtilities.query("div.win-content", this._element). - forEach(function (e) { Animations.enterPage(e, { left: offset }); }); - - var where, - width = this._element.offsetWidth; - // Slide in from right side or left side? - if (animateFromLeft) { - // RTL - where = { top: "0px", left: "-" + width + "px" }; - this._element.style.right = "auto"; - this._element.style.left = "0px"; - } else { - // From right side - where = { top: "0px", left: width + "px" }; - this._element.style.right = "0px"; - this._element.style.left = "auto"; - } - - this._element.style.opacity = 1; - this._element.style.visibility = "visible"; - - return Animations.showPanel(this._element, where); - }, - - _animateSlideOut: function SettingsFlyout_animateSlideOut() { - var where, - width = this._element.offsetWidth; - if (_shouldAnimateFromLeft()) { - // RTL - where = { top: "0px", left: width + "px" }; - this._element.style.right = "auto"; - this._element.style.left = "-" + width + "px"; - } else { - // From right side - where = { top: "0px", left: "-" + width + "px" }; - this._element.style.right = "-" + width + "px"; - this._element.style.left = "auto"; - } - - return Animations.showPanel(this._element, where); - }, - - _fragmentDiv: { - get: function SettingsFlyout_fragmentDiv_get() { - return this._fragDiv; - }, - - set: function SettingsFlyout_fragmentDiv_set(value) { - this._fragDiv = value; - } - }, - - _unloadPage: function SettingsFlyout_unloadPage(event) { - var settingsControl = event.currentTarget.winControl; - settingsControl.removeEventListener(_Overlay._Overlay.afterHide, this._unloadPage, false); - - Promise.as().then(function () { - if (settingsControl._fragmentDiv) { - _Global.document.body.removeChild(settingsControl._fragmentDiv); - settingsControl._fragmentDiv = null; - } - }); - }, - - _dismiss: function SettingsFlyout_dismiss() { - this.addEventListener(_Overlay._Overlay.afterHide, this._unloadPage, false); - this._hide(); - }, - - _handleKeyDown: function SettingsFlyout_handleKeyDown(event) { - if (event.keyCode === Key.escape) { - event.preventDefault(); - event.stopPropagation(); - this.winControl._dismiss(); - } else if ((event.keyCode === Key.space || event.keyCode === Key.enter) - && (this.children[0] === _Global.document.activeElement)) { - event.preventDefault(); - event.stopPropagation(); - this.winControl._dismiss(); - } else if (event.shiftKey && event.keyCode === Key.tab - && this.children[0] === _Global.document.activeElement) { - event.preventDefault(); - event.stopPropagation(); - var _elms = this.getElementsByTagName("*"); - - for (var i = _elms.length - 2; i >= 0; i--) { - _elms[i].focus(); - - if (_elms[i] === _Global.document.activeElement) { - break; - } - } - } - }, - - _focusOnLastFocusableElementFromParent: function SettingsFlyout_focusOnLastFocusableElementFromParent() { - var active = _Global.document.activeElement; - if (!settingsPageIsFocusedOnce || !active || !_ElementUtilities.hasClass(active, _Constants.firstDivClass)) { - return; - } - - var _elms = this.parentElement.getElementsByTagName("*"); - - // There should be at least 1 element in addition to the firstDiv & finalDiv - if (_elms.length <= 2) { - return; - } - - // Get the tabIndex set to the finalDiv (which is the highest) - var _highestTabIndex = _elms[_elms.length - 1].tabIndex; - - // If there are positive tabIndices, set focus to the element with the highest tabIndex. - // Otherwise set focus to the last focusable element in DOM order. - var i; - if (_highestTabIndex) { - for (i = _elms.length - 2; i > 0; i--) { - if (_elms[i].tabIndex === _highestTabIndex) { - _elms[i].focus(); - break; - } - } - } else { - for (i = _elms.length - 2; i > 0; i--) { - // Skip
with undefined tabIndex (To work around Win8 bug #622245) - if ((_elms[i].tagName !== "DIV") || (_elms[i].getAttribute("tabIndex") !== null)) { - _elms[i].focus(); - - if (_elms[i] === _Global.document.activeElement) { - break; - } - } - } - } - }, - - _focusOnFirstFocusableElementFromParent: function SettingsFlyout_focusOnFirstFocusableElementFromParent() { - var active = _Global.document.activeElement; - if (!active || !_ElementUtilities.hasClass(active, _Constants.finalDivClass)) { - return; - } - var _elms = this.parentElement.getElementsByTagName("*"); - - // There should be at least 1 element in addition to the firstDiv & finalDiv - if (_elms.length <= 2) { - return; - } - - // Get the tabIndex set to the firstDiv (which is the lowest) - var _lowestTabIndex = _elms[0].tabIndex; - - // If there are positive tabIndices, set focus to the element with the lowest tabIndex. - // Otherwise set focus to the first focusable element in DOM order. - var i; - if (_lowestTabIndex) { - for (i = 1; i < _elms.length - 1; i++) { - if (_elms[i].tabIndex === _lowestTabIndex) { - _elms[i].focus(); - break; - } - } - } else { - for (i = 1; i < _elms.length - 1; i++) { - // Skip
with undefined tabIndex (To work around Win8 bug #622245) - if ((_elms[i].tagName !== "DIV") || (_elms[i].getAttribute("tabIndex") !== null)) { - _elms[i].focus(); - - if (_elms[i] === _Global.document.activeElement) { - break; - } - } - } - } - }, - - // Create and add a new first div to the beginning of the list - _addFirstDiv: function SettingsFlyout_addFirstDiv() { - var _elms = this._element.getElementsByTagName("*"); - var _minTab = 0; - for (var i = 0; i < _elms.length; i++) { - if ((0 < _elms[i].tabIndex) && (_minTab === 0 || _elms[i].tabIndex < _minTab)) { - _minTab = _elms[i].tabIndex; - } - } - var firstDiv = _Global.document.createElement("div"); - firstDiv.className = _Constants.firstDivClass; - firstDiv.style.display = "inline"; - firstDiv.setAttribute("role", "menuitem"); - firstDiv.setAttribute("aria-hidden", "true"); - firstDiv.tabIndex = _minTab; - _ElementUtilities._addEventListener(firstDiv, "focusin", this._focusOnLastFocusableElementFromParent, false); - - // add to beginning - if (this._element.children[0]) { - this._element.insertBefore(firstDiv, this._element.children[0]); - } else { - this._element.appendChild(firstDiv); - } - }, - - // Create and add a new final div to the end of the list - _addFinalDiv: function SettingsFlyout_addFinalDiv() { - var _elms = this._element.getElementsByTagName("*"); - var _maxTab = 0; - for (var i = 0; i < _elms.length; i++) { - if (_elms[i].tabIndex > _maxTab) { - _maxTab = _elms[i].tabIndex; - } - } - var finalDiv = _Global.document.createElement("div"); - finalDiv.className = _Constants.finalDivClass; - finalDiv.style.display = "inline"; - finalDiv.setAttribute("role", "menuitem"); - finalDiv.setAttribute("aria-hidden", "true"); - finalDiv.tabIndex = _maxTab; - _ElementUtilities._addEventListener(finalDiv, "focusin", this._focusOnFirstFocusableElementFromParent, false); - - this._element.appendChild(finalDiv); - }, - - _writeProfilerMark: function SettingsFlyout_writeProfilerMark(text) { - _WriteProfilerMark("WinJS.UI.SettingsFlyout:" + this._id + ":" + text); - } - }); - - // Statics - SettingsFlyout.show = function () { - /// - /// - /// Shows the SettingsPane UI, if hidden, regardless of other states. - /// - /// - /// - /// Show the main settings pane - if (_WinRT.Windows.UI.ApplicationSettings.SettingsPane) { - _WinRT.Windows.UI.ApplicationSettings.SettingsPane.show(); - } - // And hide the WWA one - var elements = _Global.document.querySelectorAll('div[data-win-control="WinJS.UI.SettingsFlyout"]'); - var len = elements.length; - for (var i = 0; i < len; i++) { - var settingsFlyout = elements[i].winControl; - if (settingsFlyout) { - settingsFlyout._dismiss(); - } - } - }; - - var _settingsEvent = { event: undefined }; - SettingsFlyout.populateSettings = function (e) { - /// - /// - /// Loads a portion of the SettingsFlyout. Your app calls this when the user invokes a settings command and the WinJS.Application.onsettings event occurs. - /// - /// - /// An object that contains information about the event, received from the WinJS.Application.onsettings event. The detail property of this object contains - /// the applicationcommands sub-property that you set to an array of settings commands. - /// - /// - /// - _settingsEvent.event = e.detail; - - if (_settingsEvent.event.applicationcommands) { - var n = _WinRT.Windows.UI.ApplicationSettings; - Object.keys(_settingsEvent.event.applicationcommands).forEach(function (name) { - var setting = _settingsEvent.event.applicationcommands[name]; - if (!setting.title) { setting.title = name; } - var command = new n.SettingsCommand(name, setting.title, SettingsFlyout._onSettingsCommand); - _settingsEvent.event.e.request.applicationCommands.append(command); - }); - } - }; - - SettingsFlyout._onSettingsCommand = function (command) { - var id = command.id; - if (_settingsEvent.event.applicationcommands && _settingsEvent.event.applicationcommands[id]) { - SettingsFlyout.showSettings(id, _settingsEvent.event.applicationcommands[id].href); - } - }; - - SettingsFlyout.showSettings = function (id, path) { - /// - /// - /// Show the SettingsFlyout using the settings element identifier (ID) and the path of the page that contains the settings element. - /// - /// - /// The ID of the settings element. - /// - /// - /// The path of the page that contains the settings element. - /// - /// - /// - var control = _getChildSettingsControl(_Global.document, id); - if (control) { - control.show(); - } else if (path) { - var divElement = _Global.document.createElement("div"); - divElement = _Global.document.body.appendChild(divElement); - Pages.render(path, divElement).then(function () { - control = _getChildSettingsControl(divElement, id); - if (control) { - control._fragmentDiv = divElement; - control.show(); - } else { - _Global.document.body.removeChild(divElement); - } - }); - } else { - throw new _ErrorFromName("WinJS.UI.SettingsFlyout.BadReference", strings.badReference); - } - }; - - var strings = { - get ariaLabel() { return _Resources._getWinJSString("ui/settingsFlyoutAriaLabel").value; }, - get badReference() { return "Invalid argument: Invalid href to settings flyout fragment"; }, - get backbuttonAriaLabel() { return _Resources._getWinJSString("ui/backbuttonarialabel").value; }, - get widthDeprecationMessage() { return "SettingsFlyout.width may be altered or unavailable in future versions. Instead, style the CSS width property on elements with the .win-settingsflyout class."; }, - }; - - return SettingsFlyout; - }) - }); - - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/NavBar/_Command',[ - 'exports', - '../../Core/_Global', - '../../Core/_Base', - '../../Core/_ErrorFromName', - '../../Core/_Resources', - '../../ControlProcessor', - '../../Navigation', - '../../Utilities/_Control', - '../../Utilities/_ElementUtilities', - '../AppBar/_Icon' - ], function NavBarCommandInit(exports, _Global, _Base, _ErrorFromName, _Resources, ControlProcessor, Navigation, _Control, _ElementUtilities, _Icon) { - "use strict"; - - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - _WinPressed: _Base.Namespace._lazy(function () { - var WinPressed = _Base.Class.define(function _WinPressed_ctor(element) { - // WinPressed is the combination of :hover:active - // :hover is delayed by trident for touch by 300ms so if you want :hover:active to work quickly you need to - // use this behavior. - // :active does not bubble to its parent like :hover does so this is also useful for that scenario. - this._element = element; - _ElementUtilities._addEventListener(this._element, "pointerdown", this._MSPointerDownButtonHandler.bind(this)); - }, { - _MSPointerDownButtonHandler: function _WinPressed_MSPointerDownButtonHandler(ev) { - if (!this._pointerUpBound) { - this._pointerUpBound = this._MSPointerUpHandler.bind(this); - this._pointerCancelBound = this._MSPointerCancelHandler.bind(this); - this._pointerOverBound = this._MSPointerOverHandler.bind(this); - this._pointerOutBound = this._MSPointerOutHandler.bind(this); - } - - if (ev.isPrimary) { - if (this._pointerId) { - this._resetPointer(); - } - - if (!_ElementUtilities._matchesSelector(ev.target, ".win-interactive, .win-interactive *")) { - this._pointerId = ev.pointerId; - - _ElementUtilities._addEventListener(_Global, "pointerup", this._pointerUpBound, true); - _ElementUtilities._addEventListener(_Global, "pointercancel", this._pointerCancelBound), true; - _ElementUtilities._addEventListener(this._element, "pointerover", this._pointerOverBound, true); - _ElementUtilities._addEventListener(this._element, "pointerout", this._pointerOutBound, true); - - _ElementUtilities.addClass(this._element, WinPressed.winPressed); - } - } - }, - - _MSPointerOverHandler: function _WinPressed_MSPointerOverHandler(ev) { - if (this._pointerId === ev.pointerId) { - _ElementUtilities.addClass(this._element, WinPressed.winPressed); - } - }, - - _MSPointerOutHandler: function _WinPressed_MSPointerOutHandler(ev) { - if (this._pointerId === ev.pointerId) { - _ElementUtilities.removeClass(this._element, WinPressed.winPressed); - } - }, - - _MSPointerCancelHandler: function _WinPressed_MSPointerCancelHandler(ev) { - if (this._pointerId === ev.pointerId) { - this._resetPointer(); - } - }, - - _MSPointerUpHandler: function _WinPressed_MSPointerUpHandler(ev) { - if (this._pointerId === ev.pointerId) { - this._resetPointer(); - } - }, - - _resetPointer: function _WinPressed_resetPointer() { - this._pointerId = null; - - _ElementUtilities._removeEventListener(_Global, "pointerup", this._pointerUpBound, true); - _ElementUtilities._removeEventListener(_Global, "pointercancel", this._pointerCancelBound, true); - _ElementUtilities._removeEventListener(this._element, "pointerover", this._pointerOverBound, true); - _ElementUtilities._removeEventListener(this._element, "pointerout", this._pointerOutBound, true); - - _ElementUtilities.removeClass(this._element, WinPressed.winPressed); - }, - - dispose: function _WinPressed_dispose() { - if (this._disposed) { - return; - } - this._disposed = true; - - this._resetPointer(); - } - }, { - winPressed: "win-pressed" - }); - - return WinPressed; - }), - /// - /// - /// Represents a navigation command in an NavBarContainer. - /// - /// - /// - /// - /// - ///
]]> - /// Styles the entire NavBarCommand control. - /// Styles the main button in a NavBarCommand. - /// Styles the split button in a NavBarCommand - /// Styles the icon in the main button of a NavBarCommand. - /// Styles the label in the main button of a NavBarCommand. - /// - /// - /// - NavBarCommand: _Base.Namespace._lazy(function () { - var Key = _ElementUtilities.Key; - - var strings = { - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; } - }; - - var NavBarCommand = _Base.Class.define(function NavBarCommand_ctor(element, options) { - /// - /// - /// Creates a new NavBarCommand. - /// - /// - /// The DOM element that will host the new NavBarCommand control. - /// - /// - /// An object that contains one or more property/value pairs to apply to the new control. - /// Each property of the options object corresponds to one of the control's properties or events. - /// Event names must begin with "on". - /// - /// - /// The new NavBarCommand. - /// - /// - /// - element = element || _Global.document.createElement("DIV"); - options = options || {}; - - if (element.winControl) { - throw new _ErrorFromName("WinJS.UI.NavBarCommand.DuplicateConstruction", strings.duplicateConstruction); - } - - // Attaching JS control to DOM element - element.winControl = this; - this._element = element; - _ElementUtilities.addClass(this.element, NavBarCommand._ClassName.navbarcommand); - _ElementUtilities.addClass(this.element, "win-disposable"); - - this._tooltip = null; - this._splitOpened = false; - this._buildDom(); - element.addEventListener('keydown', this._keydownHandler.bind(this)); - - _Control.setOptions(this, options); - }, { - /// - element: { - get: function () { - return this._element; - } - }, - - /// - /// Gets or sets the label of the NavBarCommand. - /// - /// - label: { - get: function () { - return this._label; - }, - set: function (value) { - this._label = value; - this._labelEl.textContent = value; - } - }, - - /// - /// Gets or sets the tooltip of the NavBarCommand. - /// - /// - tooltip: { - get: function () { - return this._tooltip; - }, - set: function (value) { - this._tooltip = value; - if (this._tooltip || this._tooltip === "") { - this._element.setAttribute('title', this._tooltip); - } else { - this._element.removeAttribute('title'); - } - } - }, - - /// - /// Gets or sets the icon of the NavBarCommand. This value is either one of the values of the AppBarIcon enumeration or the path of a custom PNG file. - /// - /// - icon: { - get: function () { - return this._icon; - }, - set: function (value) { - this._icon = (_Icon[value] || value); - - // If the icon's a single character, presume a glyph - if (this._icon && this._icon.length === 1) { - // Set the glyph - this._imageSpan.textContent = this._icon; - this._imageSpan.style.backgroundImage = ""; - this._imageSpan.style.msHighContrastAdjust = ""; - this._imageSpan.style.display = ""; - } else if (this._icon && this._icon.length > 1) { - // Must be an image, set that - this._imageSpan.textContent = ""; - this._imageSpan.style.backgroundImage = this._icon; - this._imageSpan.style.msHighContrastAdjust = "none"; - this._imageSpan.style.display = ""; - } else { - this._imageSpan.textContent = ""; - this._imageSpan.style.backgroundImage = ""; - this._imageSpan.style.msHighContrastAdjust = ""; - this._imageSpan.style.display = "none"; - } - } - }, - - /// - /// Gets or sets the command's target location. - /// - /// - location: { - get: function () { - return this._location; - }, - set: function (value) { - this._location = value; - } - }, - - /// - /// Gets or sets the state value used for navigation. The command passes this object to the WinJS.Navigation.navigate function. - /// - /// - state: { - get: function () { - return this._state; - }, - set: function (value) { - this._state = value; - } - }, - - /// - /// Gets or sets a value that specifies whether the NavBarCommand has a split button. - /// - /// - splitButton: { - get: function () { - return this._split; - }, - set: function (value) { - this._split = value; - if (this._split) { - this._splitButtonEl.style.display = ""; - } else { - this._splitButtonEl.style.display = "none"; - } - } - }, - - /// - splitOpened: { - get: function () { - return this._splitOpened; - }, - set: function (value) { - if (this._splitOpened !== !!value) { - this._toggleSplit(); - } - } - }, - - _toggleSplit: function NavBarCommand_toggleSplit() { - this._splitOpened = !this._splitOpened; - if (this._splitOpened) { - _ElementUtilities.addClass(this._splitButtonEl, NavBarCommand._ClassName.navbarcommandsplitbuttonopened); - this._splitButtonEl.setAttribute("aria-expanded", "true"); - } else { - _ElementUtilities.removeClass(this._splitButtonEl, NavBarCommand._ClassName.navbarcommandsplitbuttonopened); - this._splitButtonEl.setAttribute("aria-expanded", "false"); - } - this._fireEvent(NavBarCommand._EventName._splitToggle); - }, - - _rtl: { - get: function () { - return _Global.getComputedStyle(this.element).direction === "rtl"; - } - }, - - _keydownHandler: function NavBarCommand_keydownHandler(ev) { - if (_ElementUtilities._matchesSelector(ev.target, ".win-interactive, .win-interactive *")) { - return; - } - - var leftStr = this._rtl ? Key.rightArrow : Key.leftArrow; - var rightStr = this._rtl ? Key.leftArrow : Key.rightArrow; - - if (!ev.altKey && (ev.keyCode === leftStr || ev.keyCode === Key.home || ev.keyCode === Key.end) && ev.target === this._splitButtonEl) { - _ElementUtilities._setActive(this._buttonEl); - if (ev.keyCode === leftStr) { - ev.stopPropagation(); - } - ev.preventDefault(); - } else if (!ev.altKey && ev.keyCode === rightStr && this.splitButton && (ev.target === this._buttonEl || this._buttonEl.contains(ev.target))) { - _ElementUtilities._setActive(this._splitButtonEl); - if (ev.keyCode === rightStr) { - ev.stopPropagation(); - } - ev.preventDefault(); - } else if ((ev.keyCode === Key.space || ev.keyCode === Key.enter) && (ev.target === this._buttonEl || this._buttonEl.contains(ev.target))) { - if (this.location) { - Navigation.navigate(this.location, this.state); - } - this._fireEvent(NavBarCommand._EventName._invoked); - } else if ((ev.keyCode === Key.space || ev.keyCode === Key.enter) && ev.target === this._splitButtonEl) { - this._toggleSplit(); - } - }, - - _getFocusInto: function NavBarCommand_getFocusInto(keyCode) { - var leftStr = this._rtl ? Key.rightArrow : Key.leftArrow; - if ((keyCode === leftStr) && this.splitButton) { - return this._splitButtonEl; - } else { - return this._buttonEl; - } - }, - - _buildDom: function NavBarCommand_buildDom() { - var markup = - '' + - ''; - this.element.insertAdjacentHTML("afterBegin", markup); - - this._buttonEl = this.element.firstElementChild; - this._buttonPressedBehavior = new exports._WinPressed(this._buttonEl); - this._contentEl = this._buttonEl.firstElementChild; - this._imageSpan = this._contentEl.firstElementChild; - this._imageSpan.style.display = "none"; - this._labelEl = this._imageSpan.nextElementSibling; - this._splitButtonEl = this._buttonEl.nextElementSibling; - this._splitButtonPressedBehavior = new exports._WinPressed(this._splitButtonEl); - this._splitButtonEl.style.display = "none"; - - _ElementUtilities._ensureId(this._buttonEl); - this._splitButtonEl.setAttribute("aria-labelledby", this._buttonEl.id); - - this._buttonEl.addEventListener("click", this._handleButtonClick.bind(this)); - - var mutationObserver = new _ElementUtilities._MutationObserver(this._splitButtonAriaExpandedPropertyChangeHandler.bind(this)); - mutationObserver.observe(this._splitButtonEl, { attributes: true, attributeFilter: ["aria-expanded"] }); - this._splitButtonEl.addEventListener("click", this._handleSplitButtonClick.bind(this)); - - // reparent any other elements. - var tempEl = this._splitButtonEl.nextSibling; - while (tempEl) { - this._buttonEl.insertBefore(tempEl, this._contentEl); - if (tempEl.nodeName !== "#text") { - ControlProcessor.processAll(tempEl); - } - tempEl = this._splitButtonEl.nextSibling; - } - }, - - _handleButtonClick: function NavBarCommand_handleButtonClick(ev) { - var srcElement = ev.target; - if (!_ElementUtilities._matchesSelector(srcElement, ".win-interactive, .win-interactive *")) { - if (this.location) { - Navigation.navigate(this.location, this.state); - } - this._fireEvent(NavBarCommand._EventName._invoked); - } - }, - - _splitButtonAriaExpandedPropertyChangeHandler: function NavBarCommand_splitButtonAriaExpandedPropertyChangeHandler() { - if ((this._splitButtonEl.getAttribute("aria-expanded") === "true") !== this._splitOpened) { - this._toggleSplit(); - } - }, - - _handleSplitButtonClick: function NavBarCommand_handleSplitButtonClick() { - this._toggleSplit(); - }, - - _fireEvent: function NavBarCommand_fireEvent(type, detail) { - var event = _Global.document.createEvent("CustomEvent"); - event.initCustomEvent(type, true, false, detail); - this.element.dispatchEvent(event); - }, - - dispose: function NavBarCommand_dispose() { - /// - /// - /// Disposes this control. - /// - /// - /// - if (this._disposed) { - return; - } - this._disposed = true; - - this._buttonPressedBehavior.dispose(); - this._splitButtonPressedBehavior.dispose(); - } - }, { - _ClassName: { - navbarcommand: "win-navbarcommand", - navbarcommandbutton: "win-navbarcommand-button", - navbarcommandbuttoncontent: "win-navbarcommand-button-content", - navbarcommandsplitbutton: "win-navbarcommand-splitbutton", - navbarcommandsplitbuttonopened: "win-navbarcommand-splitbutton-opened", - navbarcommandicon: "win-navbarcommand-icon", - navbarcommandlabel: "win-navbarcommand-label" - }, - _EventName: { - _invoked: "_invoked", - _splitToggle: "_splittoggle" - } - }); - _Base.Class.mix(NavBarCommand, _Control.DOMEventMixin); - return NavBarCommand; - }) - }); - -}); -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/NavBar/_Container',[ - 'exports', - '../../Core/_Global', - '../../Core/_Base', - '../../Core/_BaseUtils', - '../../Core/_ErrorFromName', - '../../Core/_Events', - '../../Core/_Log', - '../../Core/_Resources', - '../../Core/_WriteProfilerMark', - '../../Animations', - '../../Animations/_TransitionAnimation', - '../../BindingList', - '../../ControlProcessor', - '../../Navigation', - '../../Promise', - '../../Scheduler', - '../../Utilities/_Control', - '../../Utilities/_ElementUtilities', - '../../Utilities/_KeyboardBehavior', - '../../Utilities/_UI', - '../AppBar/_Constants', - '../Repeater', - './_Command' - ], function NavBarContainerInit(exports, _Global, _Base, _BaseUtils, _ErrorFromName, _Events, _Log, _Resources, _WriteProfilerMark, Animations, _TransitionAnimation, BindingList, ControlProcessor, Navigation, Promise, Scheduler, _Control, _ElementUtilities, _KeyboardBehavior, _UI, _Constants, Repeater, _Command) { - "use strict"; - - function nobodyHasFocus() { - return _Global.document.activeElement === null || _Global.document.activeElement === _Global.document.body; - } - - _Base.Namespace._moduleDefine(exports, "WinJS.UI", { - /// - /// - /// Contains a group of NavBarCommand objects in a NavBar. - /// - /// - /// - /// - /// - /// - ///
- ///
]]> - /// Raised when a NavBarCommand is invoked. - /// Raised when the split button on a NavBarCommand is toggled. - /// Styles the entire NavBarContainer control. - /// - /// Styles the page indication for the NavBarContainer. - /// - /// Styles the page indication for each page. - /// - /// Styles the indication of the current page. - /// - /// Styles the area that contains items for the NavBarContainer. - /// Styles left and right navigation arrows. - /// Styles the left navigation arrow. - /// Styles the right navigation arrow. - /// - /// - /// - NavBarContainer: _Base.Namespace._lazy(function () { - var Key = _ElementUtilities.Key; - - var buttonFadeDelay = 3000; - var PT_TOUCH = _ElementUtilities._MSPointerEvent.MSPOINTER_TYPE_TOUCH || "touch"; - var MS_MANIPULATION_STATE_STOPPED = 0; - - var createEvent = _Events._createEventProperty; - var eventNames = { - invoked: "invoked", - splittoggle: "splittoggle" - }; - - var strings = { - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; }, - get navBarContainerViewportAriaLabel() { return _Resources._getWinJSString("ui/navBarContainerViewportAriaLabel").value; } - }; - - var NavBarContainer = _Base.Class.define(function NavBarContainer_ctor(element, options) { - /// - /// - /// Creates a new NavBarContainer. - /// - /// - /// The DOM element that will host the NavBarContainer control. - /// - /// - /// An object that contains one or more property/value pairs to apply to the new control. - /// Each property of the options object corresponds to one of the control's properties or events. - /// Event names must begin with "on". - /// - /// - /// The new NavBarContainer. - /// - /// - /// - - element = element || _Global.document.createElement("DIV"); - this._id = element.id || _ElementUtilities._uniqueID(element); - this._writeProfilerMark("constructor,StartTM"); - - options = options || {}; - - if (element.winControl) { - throw new _ErrorFromName("WinJS.UI.NavBarContainer.DuplicateConstruction", strings.duplicateConstruction); - } - - // Attaching JS control to DOM element - element.winControl = this; - this._element = element; - _ElementUtilities.addClass(this.element, NavBarContainer._ClassName.navbarcontainer); - _ElementUtilities.addClass(this.element, "win-disposable"); - if (!element.getAttribute("tabIndex")) { - element.tabIndex = -1; - } - - this._focusCurrentItemPassivelyBound = this._focusCurrentItemPassively.bind(this); - this._closeSplitAndResetBound = this._closeSplitAndReset.bind(this); - this._currentManipulationState = MS_MANIPULATION_STATE_STOPPED; - - this._panningDisabled = !_ElementUtilities._supportsSnapPoints; - this._fixedSize = false; - this._maxRows = 1; - this._sizes = {}; - - this._setupTree(); - - this._duringConstructor = true; - - this._dataChangingBound = this._dataChanging.bind(this); - this._dataChangedBound = this._dataChanged.bind(this); - - Navigation.addEventListener('navigated', this._closeSplitAndResetBound); - - // Don't use set options for the properties so we can control the ordering to avoid rendering multiple times. - this.layout = options.layout || _UI.Orientation.horizontal; - if (options.maxRows) { - this.maxRows = options.maxRows; - } - if (options.template) { - this.template = options.template; - } - if (options.data) { - this.data = options.data; - } - if (options.fixedSize) { - this.fixedSize = options.fixedSize; - } - - // Events only - _Control._setOptions(this, options, true); - - this._duringConstructor = false; - - if (options.currentIndex) { - this.currentIndex = options.currentIndex; - } - - this._updatePageUI(); - - Scheduler.schedule(function NavBarContainer_async_initialize() { - this._updateAppBarReference(); - }, Scheduler.Priority.normal, this, "WinJS.UI.NavBarContainer_async_initialize"); - - this._writeProfilerMark("constructor,StopTM"); - }, { - /// - element: { - get: function () { - return this._element; - } - }, - - /// - /// Gets or sets a Template or custom rendering function that defines the HTML of each item within the NavBarContainer. - /// - /// - template: { - get: function () { - return this._template; - }, - set: function (value) { - this._template = value; - if (this._repeater) { - var hadFocus = this.element.contains(_Global.document.activeElement); - - if (!this._duringConstructor) { - this._closeSplitIfOpen(); - } - - // the repeater's template is wired up to this._render() so just resetting it will rebuild the tree. - this._repeater.template = this._repeater.template; - - if (!this._duringConstructor) { - this._measured = false; - this._sizes.itemMeasured = false; - this._reset(); - if (hadFocus) { - this._keyboardBehavior._focus(0); - } - } - } - } - }, - - _render: function NavBarContainer_render(item) { - var navbarCommandEl = _Global.document.createElement('div'); - - var template = this._template; - if (template) { - if (template.render) { - template.render(item, navbarCommandEl); - } else if (template.winControl && template.winControl.render) { - template.winControl.render(item, navbarCommandEl); - } else { - navbarCommandEl.appendChild(template(item)); - } - } - - // Create the NavBarCommand after calling render so that the reparenting in navbarCommand works. - var navbarCommand = new _Command.NavBarCommand(navbarCommandEl, item); - return navbarCommand._element; - }, - - /// - /// Gets or sets the WinJS.Binding.List that provides the NavBarContainer with items to display. - /// - /// - data: { - get: function () { - return this._repeater && this._repeater.data; - }, - set: function (value) { - if (!value) { - value = new BindingList.List(); - } - - if (!this._duringConstructor) { - this._closeSplitIfOpen(); - } - - this._removeDataChangingEvents(); - this._removeDataChangedEvents(); - - var hadFocus = this.element.contains(_Global.document.activeElement); - - if (!this._repeater) { - this._surfaceEl.innerHTML = ""; - this._repeater = new Repeater.Repeater(this._surfaceEl, { - template: this._render.bind(this) - }); - } - - this._addDataChangingEvents(value); - this._repeater.data = value; - this._addDataChangedEvents(value); - - if (!this._duringConstructor) { - this._measured = false; - this._sizes.itemMeasured = false; - this._reset(); - if (hadFocus) { - this._keyboardBehavior._focus(0); - } - } - } - }, - - /// - /// Gets or sets the number of rows allowed to be used before items are placed on additional pages. - /// - /// - maxRows: { - get: function () { - return this._maxRows; - }, - set: function (value) { - value = (+value === value) ? value : 1; - this._maxRows = Math.max(1, value); - - if (!this._duringConstructor) { - this._closeSplitIfOpen(); - - this._measured = false; - this._reset(); - } - } - }, - - /// - /// Gets or sets a value that specifies whether the NavBarContainer has a horizontal or vertical layout. The default is "horizontal". - /// - /// - layout: { - get: function () { - return this._layout; - }, - set: function (value) { - if (value === _UI.Orientation.vertical) { - this._layout = _UI.Orientation.vertical; - _ElementUtilities.removeClass(this.element, NavBarContainer._ClassName.horizontal); - _ElementUtilities.addClass(this.element, NavBarContainer._ClassName.vertical); - } else { - this._layout = _UI.Orientation.horizontal; - _ElementUtilities.removeClass(this.element, NavBarContainer._ClassName.vertical); - _ElementUtilities.addClass(this.element, NavBarContainer._ClassName.horizontal); - } - - this._viewportEl.style.msScrollSnapType = ""; - this._zooming = false; - - if (!this._duringConstructor) { - this._measured = false; - this._sizes.itemMeasured = false; - this._ensureVisible(this._keyboardBehavior.currentIndex, true); - this._updatePageUI(); - this._closeSplitIfOpen(); - } - } - }, - - /// - currentIndex: { - get: function () { - return this._keyboardBehavior.currentIndex; - }, - set: function (value) { - if (value === +value) { - var hadFocus = this.element.contains(_Global.document.activeElement); - - this._keyboardBehavior.currentIndex = value; - - this._ensureVisible(this._keyboardBehavior.currentIndex, true); - - if (hadFocus) { - this._keyboardBehavior._focus(); - } - } - } - }, - - /// - /// Gets or sets a value that specifies whether child NavBarCommand objects should be a fixed width when there are multiple pages. A value of true indicates - /// that the NavBarCommand objects use a fixed width; a value of false indicates that they use a dynamic width. - /// - /// - fixedSize: { - get: function () { - return this._fixedSize; - }, - set: function (value) { - this._fixedSize = !!value; - - if (!this._duringConstructor) { - this._closeSplitIfOpen(); - - if (!this._measured) { - this._measure(); - } else if (this._surfaceEl.children.length > 0) { - this._updateGridStyles(); - } - } - } - }, - - /// - /// Raised when a NavBarCommand has been invoked. - /// - /// - oninvoked: createEvent(eventNames.invoked), - - /// - /// Raised when the split button on a NavBarCommand is toggled. - /// - /// - onsplittoggle: createEvent(eventNames.splittoggle), - - forceLayout: function NavBarContainer_forceLayout() { - /// - /// - /// Forces the NavBarContainer to update scroll positions and if the NavBar has changed size, it will also re-measure. - /// Use this function when making the NavBarContainer visible again after you set its style.display property to "none". - /// - /// - /// - this._resizeHandler(); - if (this._measured) { - this._scrollPosition = _ElementUtilities.getScrollPosition(this._viewportEl)[(this.layout === _UI.Orientation.horizontal ? "scrollLeft" : "scrollTop")]; - } - - this._duringForceLayout = true; - this._ensureVisible(this._keyboardBehavior.currentIndex, true); - this._updatePageUI(); - this._duringForceLayout = false; - }, - - _updateAppBarReference: function NavBarContainer_updateAppBarReference() { - if (!this._appBarEl || !this._appBarEl.contains(this.element)) { - if (this._appBarEl) { - this._appBarEl.removeEventListener('beforeshow', this._closeSplitAndResetBound); - this._appBarEl.removeEventListener('beforeshow', this._resizeImplBound); - this._appBarEl.removeEventListener('aftershow', this._focusCurrentItemPassivelyBound); - } - - var appBarEl = this.element.parentNode; - while (appBarEl && !_ElementUtilities.hasClass(appBarEl, _Constants.appBarClass)) { - appBarEl = appBarEl.parentNode; - } - this._appBarEl = appBarEl; - - if (this._appBarEl) { - this._appBarEl.addEventListener('beforeshow', this._closeSplitAndResetBound); - this._appBarEl.addEventListener('aftershow', this._focusCurrentItemPassivelyBound); - } - } - }, - - _closeSplitAndReset: function NavBarContainer_closeSplitAndReset() { - this._closeSplitIfOpen(); - this._reset(); - }, - - _dataChanging: function NavBarContainer_dataChanging(ev) { - // Store the element that was active so that we can detect - // if the focus went away because of the data change. - this._elementHadFocus = _Global.document.activeElement; - - if (this._currentSplitNavItem && this._currentSplitNavItem.splitOpened) { - if (ev.type === "itemremoved") { - if (this._surfaceEl.children[ev.detail.index].winControl === this._currentSplitNavItem) { - this._closeSplitIfOpen(); - } - } else if (ev.type === "itemchanged") { - if (this._surfaceEl.children[ev.detail.index].winControl === this._currentSplitNavItem) { - this._closeSplitIfOpen(); - } - } else if (ev.type === "itemmoved") { - if (this._surfaceEl.children[ev.detail.oldIndex].winControl === this._currentSplitNavItem) { - this._closeSplitIfOpen(); - } - } else if (ev.type === "reload") { - this._closeSplitIfOpen(); - } - } - }, - - _dataChanged: function NavBarContainer_dataChanged(ev) { - this._measured = false; - - if (ev.type === "itemremoved") { - if (ev.detail.index < this._keyboardBehavior.currentIndex) { - this._keyboardBehavior.currentIndex--; - } else if (ev.detail.index === this._keyboardBehavior.currentIndex) { - // This clamps if the item being removed was the last item in the list - this._keyboardBehavior.currentIndex = this._keyboardBehavior.currentIndex; - if (nobodyHasFocus() && this._elementHadFocus) { - this._keyboardBehavior._focus(); - } - } - } else if (ev.type === "itemchanged") { - if (ev.detail.index === this._keyboardBehavior.currentIndex) { - if (nobodyHasFocus() && this._elementHadFocus) { - this._keyboardBehavior._focus(); - } - } - } else if (ev.type === "iteminserted") { - if (ev.detail.index <= this._keyboardBehavior.currentIndex) { - this._keyboardBehavior.currentIndex++; - } - } else if (ev.type === "itemmoved") { - if (ev.detail.oldIndex === this._keyboardBehavior.currentIndex) { - this._keyboardBehavior.currentIndex = ev.detail.newIndex; - if (nobodyHasFocus() && this._elementHadFocus) { - this._keyboardBehavior._focus(); - } - } - } else if (ev.type === "reload") { - this._keyboardBehavior.currentIndex = 0; - if (nobodyHasFocus() && this._elementHadFocus) { - this._keyboardBehavior._focus(); - } - } - - this._ensureVisible(this._keyboardBehavior.currentIndex, true); - this._updatePageUI(); - }, - - _focusCurrentItemPassively: function NavBarContainer_focusCurrentItemPassively() { - if (this.element.contains(_Global.document.activeElement)) { - this._keyboardBehavior._focus(); - } - }, - - _reset: function NavBarContainer_reset() { - this._keyboardBehavior.currentIndex = 0; - - if (this.element.contains(_Global.document.activeElement)) { - this._keyboardBehavior._focus(0); - } - - this._viewportEl.style.msScrollSnapType = ""; - this._zooming = false; - - this._ensureVisible(0, true); - this._updatePageUI(); - }, - - _removeDataChangedEvents: function NavBarContainer_removeDataChangedEvents() { - if (this._repeater) { - this._repeater.data.removeEventListener("itemchanged", this._dataChangedBound); - this._repeater.data.removeEventListener("iteminserted", this._dataChangedBound); - this._repeater.data.removeEventListener("itemmoved", this._dataChangedBound); - this._repeater.data.removeEventListener("itemremoved", this._dataChangedBound); - this._repeater.data.removeEventListener("reload", this._dataChangedBound); - } - }, - - _addDataChangedEvents: function NavBarContainer_addDataChangedEvents() { - if (this._repeater) { - this._repeater.data.addEventListener("itemchanged", this._dataChangedBound); - this._repeater.data.addEventListener("iteminserted", this._dataChangedBound); - this._repeater.data.addEventListener("itemmoved", this._dataChangedBound); - this._repeater.data.addEventListener("itemremoved", this._dataChangedBound); - this._repeater.data.addEventListener("reload", this._dataChangedBound); - } - }, - - _removeDataChangingEvents: function NavBarContainer_removeDataChangingEvents() { - if (this._repeater) { - this._repeater.data.removeEventListener("itemchanged", this._dataChangingBound); - this._repeater.data.removeEventListener("iteminserted", this._dataChangingBound); - this._repeater.data.removeEventListener("itemmoved", this._dataChangingBound); - this._repeater.data.removeEventListener("itemremoved", this._dataChangingBound); - this._repeater.data.removeEventListener("reload", this._dataChangingBound); - } - }, - - _addDataChangingEvents: function NavBarContainer_addDataChangingEvents(bindingList) { - bindingList.addEventListener("itemchanged", this._dataChangingBound); - bindingList.addEventListener("iteminserted", this._dataChangingBound); - bindingList.addEventListener("itemmoved", this._dataChangingBound); - bindingList.addEventListener("itemremoved", this._dataChangingBound); - bindingList.addEventListener("reload", this._dataChangingBound); - }, - - _mouseleave: function NavBarContainer_mouseleave() { - if (this._mouseInViewport) { - this._mouseInViewport = false; - this._updateArrows(); - } - }, - - _MSPointerDown: function NavBarContainer_MSPointerDown(ev) { - if (ev.pointerType === PT_TOUCH) { - if (this._mouseInViewport) { - this._mouseInViewport = false; - this._updateArrows(); - } - } - }, - - _MSPointerMove: function NavBarContainer_MSPointerMove(ev) { - if (ev.pointerType !== PT_TOUCH) { - if (!this._mouseInViewport) { - this._mouseInViewport = true; - this._updateArrows(); - } - } - }, - - _setupTree: function NavBarContainer_setupTree() { - this._animateNextPreviousButtons = Promise.wrap(); - this._element.addEventListener('mouseleave', this._mouseleave.bind(this)); - _ElementUtilities._addEventListener(this._element, 'pointerdown', this._MSPointerDown.bind(this)); - _ElementUtilities._addEventListener(this._element, 'pointermove', this._MSPointerMove.bind(this)); - _ElementUtilities._addEventListener(this._element, "focusin", this._focusHandler.bind(this), false); - - this._pageindicatorsEl = _Global.document.createElement('div'); - _ElementUtilities.addClass(this._pageindicatorsEl, NavBarContainer._ClassName.pageindicators); - this._element.appendChild(this._pageindicatorsEl); - - this._ariaStartMarker = _Global.document.createElement("div"); - this._element.appendChild(this._ariaStartMarker); - - this._viewportEl = _Global.document.createElement('div'); - _ElementUtilities.addClass(this._viewportEl, NavBarContainer._ClassName.viewport); - this._element.appendChild(this._viewportEl); - this._viewportEl.setAttribute("role", "group"); - this._viewportEl.setAttribute("aria-label", strings.navBarContainerViewportAriaLabel); - - this._boundResizeHandler = this._resizeHandler.bind(this); - _ElementUtilities._resizeNotifier.subscribe(this._element, this._boundResizeHandler); - this._viewportEl.addEventListener("mselementresize", this._resizeHandler.bind(this)); - this._viewportEl.addEventListener("scroll", this._scrollHandler.bind(this)); - this._viewportEl.addEventListener("MSManipulationStateChanged", this._MSManipulationStateChangedHandler.bind(this)); - - this._ariaEndMarker = _Global.document.createElement("div"); - this._element.appendChild(this._ariaEndMarker); - - this._surfaceEl = _Global.document.createElement('div'); - _ElementUtilities.addClass(this._surfaceEl, NavBarContainer._ClassName.surface); - this._viewportEl.appendChild(this._surfaceEl); - - this._surfaceEl.addEventListener("_invoked", this._navbarCommandInvokedHandler.bind(this)); - this._surfaceEl.addEventListener("_splittoggle", this._navbarCommandSplitToggleHandler.bind(this)); - _ElementUtilities._addEventListener(this._surfaceEl, "focusin", this._itemsFocusHandler.bind(this), false); - this._surfaceEl.addEventListener("keydown", this._keyDownHandler.bind(this)); - - // Reparent NavBarCommands which were in declarative markup - var tempEl = this.element.firstElementChild; - while (tempEl !== this._pageindicatorsEl) { - this._surfaceEl.appendChild(tempEl); - ControlProcessor.process(tempEl); - tempEl = this.element.firstElementChild; - } - - this._leftArrowEl = _Global.document.createElement('div'); - _ElementUtilities.addClass(this._leftArrowEl, NavBarContainer._ClassName.navleftarrow); - _ElementUtilities.addClass(this._leftArrowEl, NavBarContainer._ClassName.navarrow); - this._element.appendChild(this._leftArrowEl); - this._leftArrowEl.addEventListener('click', this._goLeft.bind(this)); - this._leftArrowEl.style.opacity = 0; - this._leftArrowEl.style.visibility = 'hidden'; - this._leftArrowFadeOut = Promise.wrap(); - - this._rightArrowEl = _Global.document.createElement('div'); - _ElementUtilities.addClass(this._rightArrowEl, NavBarContainer._ClassName.navrightarrow); - _ElementUtilities.addClass(this._rightArrowEl, NavBarContainer._ClassName.navarrow); - this._element.appendChild(this._rightArrowEl); - this._rightArrowEl.addEventListener('click', this._goRight.bind(this)); - this._rightArrowEl.style.opacity = 0; - this._rightArrowEl.style.visibility = 'hidden'; - this._rightArrowFadeOut = Promise.wrap(); - - this._keyboardBehavior = new _KeyboardBehavior._KeyboardBehavior(this._surfaceEl, { - scroller: this._viewportEl - }); - this._winKeyboard = new _KeyboardBehavior._WinKeyboard(this._surfaceEl); - }, - - _goRight: function NavBarContainer_goRight() { - if (this._sizes.rtl) { - this._goPrev(); - } else { - this._goNext(); - } - }, - - _goLeft: function NavBarContainer_goLeft() { - if (this._sizes.rtl) { - this._goNext(); - } else { - this._goPrev(); - } - }, - - _goNext: function NavBarContainer_goNext() { - this._measure(); - var itemsPerPage = this._sizes.rowsPerPage * this._sizes.columnsPerPage; - var targetPage = Math.min(Math.floor(this._keyboardBehavior.currentIndex / itemsPerPage) + 1, this._sizes.pages - 1); - this._keyboardBehavior.currentIndex = Math.min(itemsPerPage * targetPage, this._surfaceEl.children.length); - this._keyboardBehavior._focus(); - }, - - _goPrev: function NavBarContainer_goPrev() { - this._measure(); - var itemsPerPage = this._sizes.rowsPerPage * this._sizes.columnsPerPage; - var targetPage = Math.max(0, Math.floor(this._keyboardBehavior.currentIndex / itemsPerPage) - 1); - this._keyboardBehavior.currentIndex = Math.max(itemsPerPage * targetPage, 0); - this._keyboardBehavior._focus(); - }, - - _currentPage: { - get: function () { - if (this.layout === _UI.Orientation.horizontal) { - this._measure(); - if (this._sizes.viewportOffsetWidth > 0) { - return Math.min(this._sizes.pages - 1, Math.round(this._scrollPosition / this._sizes.viewportOffsetWidth)); - } - } - return 0; - } - }, - - _resizeHandler: function NavBarContainer_resizeHandler() { - if (this._disposed) { return; } - if (!this._measured) { return; } - var viewportResized = this.layout === _UI.Orientation.horizontal - ? this._sizes.viewportOffsetWidth !== parseFloat(_Global.getComputedStyle(this._viewportEl).width) - : this._sizes.viewportOffsetHeight !== parseFloat(_Global.getComputedStyle(this._viewportEl).height); - if (!viewportResized) { return; } - - this._measured = false; - - if (!this._pendingResize) { - this._pendingResize = true; - - this._resizeImplBound = this._resizeImplBound || this._resizeImpl.bind(this); - - this._updateAppBarReference(); - - if (this._appBarEl && this._appBarEl.winControl && this._appBarEl.winControl.hidden) { - // Do resize lazily. - Scheduler.schedule(this._resizeImplBound, Scheduler.Priority.idle, null, "WinJS.UI.NavBarContainer._resizeImpl"); - this._appBarEl.addEventListener('beforeshow', this._resizeImplBound); - } else { - // Do resize now - this._resizeImpl(); - } - } - }, - - _resizeImpl: function NavBarContainer_resizeImpl() { - if (!this._disposed && this._pendingResize) { - this._pendingResize = false; - if (this._appBarEl) { - this._appBarEl.removeEventListener('beforeshow', this._resizeImplBound); - } - - this._keyboardBehavior.currentIndex = 0; - if (this.element.contains(_Global.document.activeElement)) { - this._keyboardBehavior._focus(this._keyboardBehavior.currentIndex); - } - this._closeSplitIfOpen(); - this._ensureVisible(this._keyboardBehavior.currentIndex, true); - this._updatePageUI(); - } - }, - - _keyDownHandler: function NavBarContainer_keyDownHandler(ev) { - var keyCode = ev.keyCode; - if (!ev.altKey && (keyCode === Key.pageUp || keyCode === Key.pageDown)) { - var srcElement = ev.target; - if (_ElementUtilities._matchesSelector(srcElement, ".win-interactive, .win-interactive *")) { - return; - } - - var index = this._keyboardBehavior.currentIndex; - this._measure(); - - var sizes = this._sizes; - var page = Math.floor(index / (sizes.columnsPerPage * sizes.rowsPerPage)); - - var scrollPositionTarget = null; - if (keyCode === Key.pageUp) { - if (this.layout === _UI.Orientation.horizontal) { - var indexOfFirstItemOnPage = page * sizes.columnsPerPage * sizes.rowsPerPage; - if (index === indexOfFirstItemOnPage && this._surfaceEl.children[index].winControl._buttonEl === _Global.document.activeElement) { - // First item on page so go back 1 page. - index = index - sizes.columnsPerPage * sizes.rowsPerPage; - } else { - // Not first item on page so go to the first item on page. - index = indexOfFirstItemOnPage; - } - } else { - var currentItem = this._surfaceEl.children[index]; - var top = currentItem.offsetTop; - var bottom = top + currentItem.offsetHeight; - var scrollPosition = this._zooming ? this._zoomPosition : this._scrollPosition; - - if (top >= scrollPosition && bottom < scrollPosition + sizes.viewportOffsetHeight) { - // current item is fully on screen. - while (index > 0 && - this._surfaceEl.children[index - 1].offsetTop > scrollPosition) { - index--; - } - } - - if (this._keyboardBehavior.currentIndex === index) { - var scrollPositionForOnePageAboveItem = bottom - sizes.viewportOffsetHeight; - index = Math.max(0, index - 1); - while (index > 0 && - this._surfaceEl.children[index - 1].offsetTop > scrollPositionForOnePageAboveItem) { - index--; - } - if (index > 0) { - scrollPositionTarget = this._surfaceEl.children[index].offsetTop - this._sizes.itemMarginTop; - } else { - scrollPositionTarget = 0; - } - } - } - - index = Math.max(index, 0); - this._keyboardBehavior.currentIndex = index; - - var element = this._surfaceEl.children[index].winControl._buttonEl; - - if (scrollPositionTarget !== null) { - this._scrollTo(scrollPositionTarget); - } - - _ElementUtilities._setActive(element, this._viewportEl); - } else { - if (this.layout === _UI.Orientation.horizontal) { - var indexOfLastItemOnPage = (page + 1) * sizes.columnsPerPage * sizes.rowsPerPage - 1; - - if (index === indexOfLastItemOnPage) { - // Last item on page so go forward 1 page. - index = index + sizes.columnsPerPage * sizes.rowsPerPage; - } else { - // Not Last item on page so go to last item on page. - index = indexOfLastItemOnPage; - } - } else { - var currentItem = this._surfaceEl.children[this._keyboardBehavior.currentIndex]; - var top = currentItem.offsetTop; - var bottom = top + currentItem.offsetHeight; - var scrollPosition = this._zooming ? this._zoomPosition : this._scrollPosition; - - if (top >= scrollPosition && bottom < scrollPosition + sizes.viewportOffsetHeight) { - // current item is fully on screen. - while (index < this._surfaceEl.children.length - 1 && - this._surfaceEl.children[index + 1].offsetTop + this._surfaceEl.children[index + 1].offsetHeight < scrollPosition + sizes.viewportOffsetHeight) { - index++; - } - } - - if (index === this._keyboardBehavior.currentIndex) { - var scrollPositionForOnePageBelowItem = top + sizes.viewportOffsetHeight; - index = Math.min(this._surfaceEl.children.length - 1, index + 1); - while (index < this._surfaceEl.children.length - 1 && - this._surfaceEl.children[index + 1].offsetTop + this._surfaceEl.children[index + 1].offsetHeight < scrollPositionForOnePageBelowItem) { - index++; - } - - if (index < this._surfaceEl.children.length - 1) { - scrollPositionTarget = this._surfaceEl.children[index + 1].offsetTop - this._sizes.viewportOffsetHeight; - } else { - scrollPositionTarget = this._scrollLength - this._sizes.viewportOffsetHeight; - } - } - } - - index = Math.min(index, this._surfaceEl.children.length - 1); - this._keyboardBehavior.currentIndex = index; - - var element = this._surfaceEl.children[index].winControl._buttonEl; - - if (scrollPositionTarget !== null) { - this._scrollTo(scrollPositionTarget); - } - - try { - _ElementUtilities._setActive(element, this._viewportEl); - } catch (e) { - } - } - } - }, - - _focusHandler: function NavBarContainer_focusHandler(ev) { - var srcElement = ev.target; - if (!this._surfaceEl.contains(srcElement)) { - // Forward focus from NavBarContainer, viewport or surface to the currentIndex. - this._skipEnsureVisible = true; - this._keyboardBehavior._focus(this._keyboardBehavior.currentIndex); - } - }, - - _itemsFocusHandler: function NavBarContainer_itemsFocusHandler(ev) { - // Find the item which is being focused and scroll it to view. - var srcElement = ev.target; - if (srcElement === this._surfaceEl) { - return; - } - - while (srcElement.parentNode !== this._surfaceEl) { - srcElement = srcElement.parentNode; - } - - var index = -1; - while (srcElement) { - index++; - srcElement = srcElement.previousSibling; - } - - if (this._skipEnsureVisible) { - this._skipEnsureVisible = false; - } else { - this._ensureVisible(index); - } - }, - - _ensureVisible: function NavBarContainer_ensureVisible(index, withoutAnimation) { - this._measure(); - - if (this.layout === _UI.Orientation.horizontal) { - var page = Math.floor(index / (this._sizes.rowsPerPage * this._sizes.columnsPerPage)); - this._scrollTo(page * this._sizes.viewportOffsetWidth, withoutAnimation); - } else { - var element = this._surfaceEl.children[index]; - var maxScrollPosition; - if (index > 0) { - maxScrollPosition = element.offsetTop - this._sizes.itemMarginTop; - } else { - maxScrollPosition = 0; - } - var minScrollPosition; - if (index < this._surfaceEl.children.length - 1) { - minScrollPosition = this._surfaceEl.children[index + 1].offsetTop - this._sizes.viewportOffsetHeight; - } else { - minScrollPosition = this._scrollLength - this._sizes.viewportOffsetHeight; - } - - var newScrollPosition = this._zooming ? this._zoomPosition : this._scrollPosition; - newScrollPosition = Math.max(newScrollPosition, minScrollPosition); - newScrollPosition = Math.min(newScrollPosition, maxScrollPosition); - this._scrollTo(newScrollPosition, withoutAnimation); - } - }, - - _scrollTo: function NavBarContainer_scrollTo(targetScrollPosition, withoutAnimation) { - this._measure(); - if (this.layout === _UI.Orientation.horizontal) { - targetScrollPosition = Math.max(0, Math.min(this._scrollLength - this._sizes.viewportOffsetWidth, targetScrollPosition)); - } else { - targetScrollPosition = Math.max(0, Math.min(this._scrollLength - this._sizes.viewportOffsetHeight, targetScrollPosition)); - } - - if (withoutAnimation) { - if (Math.abs(this._scrollPosition - targetScrollPosition) > 1) { - this._zooming = false; - - this._scrollPosition = targetScrollPosition; - this._updatePageUI(); - if (!this._duringForceLayout) { - this._closeSplitIfOpen(); - } - - var newScrollPos = {}; - newScrollPos[(this.layout === _UI.Orientation.horizontal ? "scrollLeft" : "scrollTop")] = targetScrollPosition; - _ElementUtilities.setScrollPosition(this._viewportEl, newScrollPos); - } - } else { - if ((!this._zooming && Math.abs(this._scrollPosition - targetScrollPosition) > 1) || (this._zooming && Math.abs(this._zoomPosition - targetScrollPosition) > 1)) { - this._zoomPosition = targetScrollPosition; - - this._zooming = true; - - if (this.layout === _UI.Orientation.horizontal) { - this._viewportEl.style.msScrollSnapType = "none"; - _ElementUtilities._zoomTo(this._viewportEl, { contentX: targetScrollPosition, contentY: 0, viewportX: 0, viewportY: 0 }); - } else { - _ElementUtilities._zoomTo(this._viewportEl, { contentX: 0, contentY: targetScrollPosition, viewportX: 0, viewportY: 0 }); - } - - this._closeSplitIfOpen(); - } - } - }, - - _MSManipulationStateChangedHandler: function NavBarContainer_MSManipulationStateChangedHandler(e) { - this._currentManipulationState = e.currentState; - - if (e.currentState === e.MS_MANIPULATION_STATE_ACTIVE) { - this._viewportEl.style.msScrollSnapType = ""; - this._zooming = false; - } - - _Global.clearTimeout(this._manipulationStateTimeoutId); - // The extra stop event is firing when an zoomTo is called during another zoomTo and - // also the first zoomTo after a resize. - if (e.currentState === e.MS_MANIPULATION_STATE_STOPPED) { - this._manipulationStateTimeoutId = _Global.setTimeout(function () { - this._viewportEl.style.msScrollSnapType = ""; - this._zooming = false; - this._updateCurrentIndexIfPageChanged(); - }.bind(this), 100); - } - }, - - _scrollHandler: function NavBarContainer_scrollHandler() { - if (this._disposed) { return; } - - this._measured = false; - if (!this._checkingScroll) { - var that = this; - this._checkingScroll = _BaseUtils._requestAnimationFrame(function () { - if (that._disposed) { return; } - that._checkingScroll = null; - - var newScrollPosition = _ElementUtilities.getScrollPosition(that._viewportEl)[(that.layout === _UI.Orientation.horizontal ? "scrollLeft" : "scrollTop")]; - if (newScrollPosition !== that._scrollPosition) { - that._scrollPosition = newScrollPosition; - that._closeSplitIfOpen(); - } - that._updatePageUI(); - - if (!that._zooming && that._currentManipulationState === MS_MANIPULATION_STATE_STOPPED) { - that._updateCurrentIndexIfPageChanged(); - } - }); - } - }, - - _updateCurrentIndexIfPageChanged: function NavBarContainer_updateCurrentIndexIfPageChanged() { - // If you change pages via pagination arrows, mouse wheel, or panning we need to update the current - // item to be the first item on the new page. - if (this.layout === _UI.Orientation.horizontal) { - this._measure(); - var currentPage = this._currentPage; - var firstIndexOnPage = currentPage * this._sizes.rowsPerPage * this._sizes.columnsPerPage; - var lastIndexOnPage = (currentPage + 1) * this._sizes.rowsPerPage * this._sizes.columnsPerPage - 1; - - if (this._keyboardBehavior.currentIndex < firstIndexOnPage || this._keyboardBehavior.currentIndex > lastIndexOnPage) { - // Page change occurred. - this._keyboardBehavior.currentIndex = firstIndexOnPage; - - if (this.element.contains(_Global.document.activeElement)) { - this._keyboardBehavior._focus(this._keyboardBehavior.currentIndex); - } - } - } - }, - - _measure: function NavBarContainer_measure() { - if (!this._measured) { - this._resizeImpl(); - this._writeProfilerMark("measure,StartTM"); - - var sizes = this._sizes; - - sizes.rtl = _Global.getComputedStyle(this._element).direction === "rtl"; - - var itemCount = this._surfaceEl.children.length; - if (itemCount > 0) { - if (!this._sizes.itemMeasured) { - this._writeProfilerMark("measureItem,StartTM"); - - var elementToMeasure = this._surfaceEl.firstElementChild; - // Clear inline margins set by NavBarContainer before measuring. - elementToMeasure.style.margin = ""; - elementToMeasure.style.width = ""; - var elementComputedStyle = _Global.getComputedStyle(elementToMeasure); - sizes.itemOffsetWidth = parseFloat(_Global.getComputedStyle(elementToMeasure).width); - if (elementToMeasure.offsetWidth === 0) { - sizes.itemOffsetWidth = 0; - } - sizes.itemMarginLeft = parseFloat(elementComputedStyle.marginLeft); - sizes.itemMarginRight = parseFloat(elementComputedStyle.marginRight); - sizes.itemWidth = sizes.itemOffsetWidth + sizes.itemMarginLeft + sizes.itemMarginRight; - sizes.itemOffsetHeight = parseFloat(_Global.getComputedStyle(elementToMeasure).height); - if (elementToMeasure.offsetHeight === 0) { - sizes.itemOffsetHeight = 0; - } - sizes.itemMarginTop = parseFloat(elementComputedStyle.marginTop); - sizes.itemMarginBottom = parseFloat(elementComputedStyle.marginBottom); - sizes.itemHeight = sizes.itemOffsetHeight + sizes.itemMarginTop + sizes.itemMarginBottom; - if (sizes.itemOffsetWidth > 0 && sizes.itemOffsetHeight > 0) { - sizes.itemMeasured = true; - } - this._writeProfilerMark("measureItem,StopTM"); - } - - sizes.viewportOffsetWidth = parseFloat(_Global.getComputedStyle(this._viewportEl).width); - if (this._viewportEl.offsetWidth === 0) { - sizes.viewportOffsetWidth = 0; - } - sizes.viewportOffsetHeight = parseFloat(_Global.getComputedStyle(this._viewportEl).height); - if (this._viewportEl.offsetHeight === 0) { - sizes.viewportOffsetHeight = 0; - } - - if (sizes.viewportOffsetWidth === 0 || sizes.itemOffsetHeight === 0) { - this._measured = false; - } else { - this._measured = true; - } - - if (this.layout === _UI.Orientation.horizontal) { - this._scrollPosition = _ElementUtilities.getScrollPosition(this._viewportEl).scrollLeft; - - sizes.leadingEdge = this._leftArrowEl.offsetWidth + parseInt(_Global.getComputedStyle(this._leftArrowEl).marginLeft) + parseInt(_Global.getComputedStyle(this._leftArrowEl).marginRight); - var usableSpace = sizes.viewportOffsetWidth - sizes.leadingEdge * 2; - sizes.maxColumns = sizes.itemWidth ? Math.max(1, Math.floor(usableSpace / sizes.itemWidth)) : 1; - sizes.rowsPerPage = Math.min(this.maxRows, Math.ceil(itemCount / sizes.maxColumns)); - sizes.columnsPerPage = Math.min(sizes.maxColumns, itemCount); - sizes.pages = Math.ceil(itemCount / (sizes.columnsPerPage * sizes.rowsPerPage)); - sizes.trailingEdge = sizes.leadingEdge; - sizes.extraSpace = usableSpace - (sizes.columnsPerPage * sizes.itemWidth); - - this._scrollLength = sizes.viewportOffsetWidth * sizes.pages; - - this._keyboardBehavior.fixedSize = sizes.rowsPerPage; - this._keyboardBehavior.fixedDirection = _KeyboardBehavior._KeyboardBehavior.FixedDirection.height; - - this._surfaceEl.style.height = (sizes.itemHeight * sizes.rowsPerPage) + "px"; - this._surfaceEl.style.width = this._scrollLength + "px"; - } else { - this._scrollPosition = this._viewportEl.scrollTop; - - sizes.leadingEdge = 0; - sizes.rowsPerPage = itemCount; - sizes.columnsPerPage = 1; - sizes.pages = 1; - sizes.trailingEdge = 0; - - // Reminder there is margin collapsing so just use scrollHeight instead of itemHeight * itemCount - this._scrollLength = this._viewportEl.scrollHeight; - - this._keyboardBehavior.fixedSize = sizes.columnsPerPage; - this._keyboardBehavior.fixedDirection = _KeyboardBehavior._KeyboardBehavior.FixedDirection.width; - - this._surfaceEl.style.height = ""; - this._surfaceEl.style.width = ""; - } - - this._updateGridStyles(); - } else { - sizes.pages = 1; - this._hasPreviousContent = false; - this._hasNextContent = false; - this._surfaceEl.style.height = ""; - this._surfaceEl.style.width = ""; - } - - this._writeProfilerMark("measure,StopTM"); - } - }, - - _updateGridStyles: function NavBarContainer_updateGridStyles() { - var sizes = this._sizes; - var itemCount = this._surfaceEl.children.length; - - for (var index = 0; index < itemCount; index++) { - var itemEl = this._surfaceEl.children[index]; - - var marginRight; - var marginLeft; - var width = ""; - - if (this.layout === _UI.Orientation.horizontal) { - var column = Math.floor(index / sizes.rowsPerPage); - var isFirstColumnOnPage = column % sizes.columnsPerPage === 0; - var isLastColumnOnPage = column % sizes.columnsPerPage === sizes.columnsPerPage - 1; - - var extraTrailingMargin = sizes.trailingEdge; - if (this.fixedSize) { - extraTrailingMargin += sizes.extraSpace; - } else { - var spaceToDistribute = sizes.extraSpace - (sizes.maxColumns - sizes.columnsPerPage) * sizes.itemWidth; - width = (sizes.itemOffsetWidth + (spaceToDistribute / sizes.maxColumns)) + "px"; - } - - var extraMarginRight; - var extraMarginLeft; - - if (sizes.rtl) { - extraMarginRight = (isFirstColumnOnPage ? sizes.leadingEdge : 0); - extraMarginLeft = (isLastColumnOnPage ? extraTrailingMargin : 0); - } else { - extraMarginRight = (isLastColumnOnPage ? extraTrailingMargin : 0); - extraMarginLeft = (isFirstColumnOnPage ? sizes.leadingEdge : 0); - } - - marginRight = extraMarginRight + sizes.itemMarginRight + "px"; - marginLeft = extraMarginLeft + sizes.itemMarginLeft + "px"; - } else { - marginRight = ""; - marginLeft = ""; - } - - if (itemEl.style.marginRight !== marginRight) { - itemEl.style.marginRight = marginRight; - } - if (itemEl.style.marginLeft !== marginLeft) { - itemEl.style.marginLeft = marginLeft; - } - if (itemEl.style.width !== width) { - itemEl.style.width = width; - } - } - }, - - _updatePageUI: function NavBarContainer_updatePageUI() { - this._measure(); - var currentPage = this._currentPage; - - this._hasPreviousContent = (currentPage !== 0); - this._hasNextContent = (currentPage < this._sizes.pages - 1); - this._updateArrows(); - - // Always output the pagination indicators so they reserves up space. - if (this._indicatorCount !== this._sizes.pages) { - this._indicatorCount = this._sizes.pages; - this._pageindicatorsEl.innerHTML = new Array(this._sizes.pages + 1).join(''); - } - - for (var i = 0; i < this._pageindicatorsEl.children.length; i++) { - if (i === currentPage) { - _ElementUtilities.addClass(this._pageindicatorsEl.children[i], NavBarContainer._ClassName.currentindicator); - } else { - _ElementUtilities.removeClass(this._pageindicatorsEl.children[i], NavBarContainer._ClassName.currentindicator); - } - } - - if (this._sizes.pages > 1) { - this._viewportEl.style.overflowX = this._panningDisabled ? "hidden" : ""; - this._pageindicatorsEl.style.visibility = ""; - } else { - this._viewportEl.style.overflowX = "hidden"; - this._pageindicatorsEl.style.visibility = "hidden"; - } - - if (this._sizes.pages <= 1 || this._layout !== _UI.Orientation.horizontal) { - this._ariaStartMarker.removeAttribute("aria-flowto"); - this._ariaEndMarker.removeAttribute("x-ms-aria-flowfrom"); - } else { - var firstIndexOnCurrentPage = currentPage * this._sizes.rowsPerPage * this._sizes.columnsPerPage; - var firstItem = this._surfaceEl.children[firstIndexOnCurrentPage].winControl._buttonEl; - _ElementUtilities._ensureId(firstItem); - this._ariaStartMarker.setAttribute("aria-flowto", firstItem.id); - - var lastIndexOnCurrentPage = Math.min(this._surfaceEl.children.length - 1, (currentPage + 1) * this._sizes.rowsPerPage * this._sizes.columnsPerPage - 1); - var lastItem = this._surfaceEl.children[lastIndexOnCurrentPage].winControl._buttonEl; - _ElementUtilities._ensureId(lastItem); - this._ariaEndMarker.setAttribute("x-ms-aria-flowfrom", lastItem.id); - } - }, - - _closeSplitIfOpen: function NavBarContainer_closeSplitIfOpen() { - if (this._currentSplitNavItem) { - if (this._currentSplitNavItem.splitOpened) { - this._currentSplitNavItem._toggleSplit(); - } - this._currentSplitNavItem = null; - } - }, - - _updateArrows: function NavBarContainer_updateArrows() { - var hasLeftContent = this._sizes.rtl ? this._hasNextContent : this._hasPreviousContent; - var hasRightContent = this._sizes.rtl ? this._hasPreviousContent : this._hasNextContent; - - var that = this; - // Previous and next are the arrows, not states. On mouse hover the arrows fade in immediately. If you - // mouse out the arrows fade out after a delay. When you reach the last/first page, the corresponding - // arrow fades out immediately as well. - if ((this._mouseInViewport || this._panningDisabled) && hasLeftContent) { - this._leftArrowWaitingToFadeOut && this._leftArrowWaitingToFadeOut.cancel(); - this._leftArrowWaitingToFadeOut = null; - this._leftArrowFadeOut && this._leftArrowFadeOut.cancel(); - this._leftArrowFadeOut = null; - this._leftArrowEl.style.visibility = ''; - this._leftArrowFadeIn = this._leftArrowFadeIn || Animations.fadeIn(this._leftArrowEl); - } else { - if (hasLeftContent) { - // If we need a delayed fade out and we are already running a delayed fade out just use that one, don't extend it. - // Otherwise create a delayed fade out. - this._leftArrowWaitingToFadeOut = this._leftArrowWaitingToFadeOut || Promise.timeout(_TransitionAnimation._animationTimeAdjustment(buttonFadeDelay)); - } else { - // If we need a immediate fade out and already have a delayed fade out cancel that one and create an immediate one. - this._leftArrowWaitingToFadeOut && this._leftArrowWaitingToFadeOut.cancel(); - this._leftArrowWaitingToFadeOut = Promise.wrap(); - } - this._leftArrowWaitingToFadeOut.then(function () { - // After the delay cancel any fade in if running. If we already were fading out continue it otherwise start the fade out. - this._leftArrowFadeIn && this._leftArrowFadeIn.cancel(); - this._leftArrowFadeIn = null; - this._leftArrowFadeOut = this._leftArrowFadeOut || Animations.fadeOut(this._leftArrowEl).then(function () { - that._leftArrowEl.style.visibility = 'hidden'; - }); - }.bind(this)); - } - - // Same pattern for Next arrow. - if ((this._mouseInViewport || this._panningDisabled) && hasRightContent) { - this._rightArrowWaitingToFadeOut && this._rightArrowWaitingToFadeOut.cancel(); - this._rightArrowWaitingToFadeOut = null; - this._rightArrowFadeOut && this._rightArrowFadeOut.cancel(); - this._rightArrowFadeOut = null; - this._rightArrowEl.style.visibility = ''; - this._rightArrowFadeIn = this._rightArrowFadeIn || Animations.fadeIn(this._rightArrowEl); - } else { - if (hasRightContent) { - this._rightArrowWaitingToFadeOut = this._rightArrowWaitingToFadeOut || Promise.timeout(_TransitionAnimation._animationTimeAdjustment(buttonFadeDelay)); - } else { - this._rightArrowWaitingToFadeOut && this._rightArrowWaitingToFadeOut.cancel(); - this._rightArrowWaitingToFadeOut = Promise.wrap(); - } - this._rightArrowWaitingToFadeOut.then(function () { - this._rightArrowFadeIn && this._rightArrowFadeIn.cancel(); - this._rightArrowFadeIn = null; - this._rightArrowFadeOut = this._rightArrowFadeOut || Animations.fadeOut(this._rightArrowEl).then(function () { - that._rightArrowEl.style.visibility = 'hidden'; - }); - }.bind(this)); - } - }, - - _navbarCommandInvokedHandler: function NavBarContainer_navbarCommandInvokedHandler(ev) { - var srcElement = ev.target; - var index = -1; - while (srcElement) { - index++; - srcElement = srcElement.previousSibling; - } - - this._fireEvent(NavBarContainer._EventName.invoked, { - index: index, - navbarCommand: ev.target.winControl, - data: this._repeater ? this._repeater.data.getAt(index) : null - }); - }, - - _navbarCommandSplitToggleHandler: function NavBarContainer_navbarCommandSplitToggleHandler(ev) { - var srcElement = ev.target; - var index = -1; - while (srcElement) { - index++; - srcElement = srcElement.previousSibling; - } - - var navbarCommand = ev.target.winControl; - - this._closeSplitIfOpen(); - - if (navbarCommand.splitOpened) { - this._currentSplitNavItem = navbarCommand; - } - - this._fireEvent(NavBarContainer._EventName.splitToggle, { - opened: navbarCommand.splitOpened, - index: index, - navbarCommand: navbarCommand, - data: this._repeater ? this._repeater.data.getAt(index) : null - }); - }, - - _fireEvent: function NavBarContainer_fireEvent(type, detail) { - var event = _Global.document.createEvent("CustomEvent"); - event.initCustomEvent(type, true, false, detail); - this.element.dispatchEvent(event); - }, - - _writeProfilerMark: function NavBarContainer_writeProfilerMark(text) { - var message = "WinJS.UI.NavBarContainer:" + this._id + ":" + text; - _WriteProfilerMark(message); - _Log.log && _Log.log(message, null, "navbarcontainerprofiler"); - }, - - dispose: function NavBarContainer_dispose() { - /// - /// - /// Disposes this control. - /// - /// - /// - if (this._disposed) { - return; - } - this._disposed = true; - - if (this._appBarEl) { - this._appBarEl.removeEventListener('beforeshow', this._closeSplitAndResetBound); - this._appBarEl.removeEventListener('beforeshow', this._resizeImplBound); - } - - Navigation.removeEventListener('navigated', this._closeSplitAndResetBound); - - this._leftArrowWaitingToFadeOut && this._leftArrowWaitingToFadeOut.cancel(); - this._leftArrowFadeOut && this._leftArrowFadeOut.cancel(); - this._leftArrowFadeIn && this._leftArrowFadeIn.cancel(); - this._rightArrowWaitingToFadeOut && this._rightArrowWaitingToFadeOut.cancel(); - this._rightArrowFadeOut && this._rightArrowFadeOut.cancel(); - this._rightArrowFadeIn && this._rightArrowFadeIn.cancel(); - - _ElementUtilities._resizeNotifier.unsubscribe(this._element, this._boundResizeHandler); - - this._removeDataChangingEvents(); - this._removeDataChangedEvents(); - } - }, { - // Names of classes used by the NavBarContainer. - _ClassName: { - navbarcontainer: "win-navbarcontainer", - pageindicators: "win-navbarcontainer-pageindicator-box", - indicator: "win-navbarcontainer-pageindicator", - currentindicator: "win-navbarcontainer-pageindicator-current", - vertical: "win-navbarcontainer-vertical", - horizontal: "win-navbarcontainer-horizontal", - viewport: "win-navbarcontainer-viewport", - surface: "win-navbarcontainer-surface", - navarrow: "win-navbarcontainer-navarrow", - navleftarrow: "win-navbarcontainer-navleft", - navrightarrow: "win-navbarcontainer-navright" - }, - _EventName: { - invoked: eventNames.invoked, - splitToggle: eventNames.splittoggle - } - }); - _Base.Class.mix(NavBarContainer, _Control.DOMEventMixin); - return NavBarContainer; - }) - }); - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS/Controls/NavBar',[ - '../Core/_Global', - '../Core/_WinRT', - '../Core/_Base', - '../Core/_BaseUtils', - '../Core/_Events', - '../Core/_WriteProfilerMark', - '../Promise', - '../Scheduler', - '../Utilities/_ElementUtilities', - '../Utilities/_Hoverable', - './AppBar', - './NavBar/_Command', - './NavBar/_Container', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls' -], function NavBarInit(_Global,_WinRT, _Base, _BaseUtils, _Events, _WriteProfilerMark, Promise, Scheduler, _ElementUtilities, _Hoverable, AppBar, _Command, _Container) { - "use strict"; - - var customLayout = "custom"; - - _Base.Namespace.define("WinJS.UI", { - /// - /// - /// Displays navigation commands in a toolbar that the user can show or hide. - /// - /// - /// - /// - /// - /// - ///
- ///
- ///
- /// ]]>
- /// Raised just before showing the NavBar. - /// Raised immediately after an NavBar is fully shown. - /// Raised just before hiding the NavBar. - /// Raised immediately after the NavBar is fully hidden. - /// Fired when children of NavBar control have been processed from a WinJS.UI.processAll call. - /// Styles the entire NavBar. - /// - /// - /// - NavBar: _Base.Namespace._lazy(function () { - var childrenProcessedEventName = "childrenprocessed"; - var createEvent = _Events._createEventProperty; - - var NavBar = _Base.Class.derive(AppBar.AppBar, function NavBar_ctor(element, options) { - /// - /// - /// Creates a new NavBar. - /// - /// - /// The DOM element that will host the new NavBar control. - /// - /// - /// An object that contains one or more property/value pairs to apply to the new control. Each property of the options object corresponds to one of the control's - /// properties or events. - /// - /// - /// The new NavBar control. - /// - /// - /// - - options = options || {}; - - // Shallow copy object so we can modify it. - options = _BaseUtils._shallowCopy(options); - - // Default to Placement = Top and Layout = Custom - options.placement = options.placement || "top"; - options.layout = customLayout; - - AppBar.AppBar.call(this, element, options); - - this._element.addEventListener("beforeshow", this._handleBeforeShow.bind(this)); - - _ElementUtilities.addClass(this.element, NavBar._ClassName.navbar); - - if (_WinRT.Windows.ApplicationModel.DesignMode.designModeEnabled) { - this._processChildren(); - } else { - Scheduler.schedule(this._processChildren.bind(this), Scheduler.Priority.idle, null, "WinJS.UI.NavBar.processChildren"); - } - }, { - // Block others from setting the layout property. - - /// - /// The layout of the NavBar contents. - /// - /// - layout: { - get: function () { - return customLayout; - }, - set: function () { - Object.getOwnPropertyDescriptor(AppBar.AppBar.prototype, "layout").set.call(this, customLayout); - }, - }, - - /// - /// Raised when children of NavBar control have been processed by a WinJS.UI.processAll call. - /// - /// - onchildrenprocessed: createEvent(childrenProcessedEventName), - - _processChildren: function NavBar_processChildren() { - // The NavBar control schedules processAll on its children at idle priority to avoid hurting startup - // performance. If the NavBar is shown before the scheduler gets to the idle job, the NavBar will - // immediately call processAll on its children. If your app needs the children to be processed before - // the scheduled job executes, you may call processChildren to force the processAll call. - if (!this._processed) { - this._processed = true; - - this._writeProfilerMark("processChildren,StartTM"); - var that = this; - var processed = Promise.as(); - if (this._processors) { - this._processors.forEach(function (processAll) { - for (var i = 0, len = that.element.children.length; i < len; i++) { - (function (child) { - processed = processed.then(function () { - processAll(child); - }); - }(that.element.children[i])); - } - }); - } - return processed.then( - function () { - that._writeProfilerMark("processChildren,StopTM"); - that._fireEvent(NavBar._EventName.childrenProcessed); - }, - function () { - that._writeProfilerMark("processChildren,StopTM"); - that._fireEvent(NavBar._EventName.childrenProcessed); - } - ); - } - return Promise.wrap(); - }, - - _show: function NavBar_show() { - // Override _show to call processChildren first. - // - if (this.disabled) { - return; - } - var that = this; - this._processChildren().then(function () { - AppBar.AppBar.prototype._show.call(that); - }); - }, - - _handleBeforeShow: function NavBar_handleBeforeShow() { - // Navbar needs to ensure its elements to have their correct height and width after AppBar changes display="none" - // to display="" and AppBar needs the elements to have their final height before it measures its own element height - // to do the slide in animation over the correct amount of pixels. - if (this._disposed) { - return; - } - - var navbarcontainerEls = this.element.querySelectorAll('.win-navbarcontainer'); - for (var i = 0; i < navbarcontainerEls.length; i++) { - navbarcontainerEls[i].winControl.forceLayout(); - } - }, - - _fireEvent: function NavBar_fireEvent(type, detail) { - var event = _Global.document.createEvent("CustomEvent"); - event.initCustomEvent(type, true, false, detail || {}); - this.element.dispatchEvent(event); - }, - - _writeProfilerMark: function NavBar_writeProfilerMark(text) { - _WriteProfilerMark("WinJS.UI.NavBar:" + this._id + ":" + text); - } - }, { - _ClassName: { - navbar: "win-navbar" - }, - _EventName: { - childrenProcessed: childrenProcessedEventName - }, - isDeclarativeControlContainer: _BaseUtils.markSupportedForProcessing(function (navbar, callback) { - if (navbar._processed) { - for (var i = 0, len = navbar.element.children.length; i < len; i++) { - callback(navbar.element.children[i]); - } - } else { - navbar._processors = navbar._processors || []; - navbar._processors.push(callback); - } - }) - }); - - return NavBar; - }) - }); - -}); -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -// ViewBox control -define('WinJS/Controls/ViewBox',[ - '../Core/_Global', - '../Core/_Base', - '../Core/_BaseUtils', - '../Core/_ErrorFromName', - '../Core/_Resources', - '../Scheduler', - '../Utilities/_Control', - '../Utilities/_Dispose', - '../Utilities/_ElementUtilities', - '../Utilities/_Hoverable', - 'require-style!less/desktop/controls', - 'require-style!less/phone/controls' - ], function viewboxInit(_Global, _Base, _BaseUtils, _ErrorFromName, _Resources, Scheduler, _Control, _Dispose, _ElementUtilities, _Hoverable) { - "use strict"; - - _Base.Namespace.define("WinJS.UI", { - /// - /// - /// Scales a single child element to fill the available space without - /// resizing it. This control reacts to changes in the size of the container as well as - /// changes in size of the child element. For example, a media query may result in - /// a change in aspect ratio. - /// - /// - /// View Box - /// - /// - ///
ViewBox
]]>
- /// - /// - /// - ViewBox: _Base.Namespace._lazy(function () { - - var strings = { - get invalidViewBoxChildren() { return "ViewBox expects to only have one child element"; }, - }; - - function onresize(control) { - if (control && !control._resizing) { - control._resizing = control._resizing || 0; - control._resizing++; - try { - control._updateLayout(); - } finally { - control._resizing--; - } - } - } - - function onresizeBox(ev) { - if (ev.target) { - onresize(ev.target.winControl); - } - } - - function onresizeSizer(ev) { - if (ev.target) { - onresize(ev.target.parentElement.winControl); - } - } - - var ViewBox = _Base.Class.define(function ViewBox_ctor(element) { - /// - /// Initializes a new instance of the ViewBox control - /// - /// The DOM element that functions as the scaling box. This element fills 100% of the width and height allotted to it. - /// - /// - /// The set of options to be applied initially to the ViewBox control. - /// - /// A constructed ViewBox control. - /// - this._disposed = false; - - this._element = element || _Global.document.createElement("div"); - var box = this.element; - box.winControl = this; - _ElementUtilities.addClass(box, "win-disposable"); - _ElementUtilities.addClass(box, "win-viewbox"); - this.forceLayout(); - }, { - _sizer: null, - _element: null, - - /// - element: { - get: function () { return this._element; } - }, - - _rtl: { - get: function () { - return _Global.getComputedStyle(this.element).direction === "rtl"; - } - }, - - _initialize: function () { - var box = this.element; - if (box.firstElementChild !== this._sizer) { - if (_BaseUtils.validation) { - if (box.childElementCount !== 1) { - throw new _ErrorFromName("WinJS.UI.ViewBox.InvalidChildren", strings.invalidViewBoxChildren); - } - } - if (this._sizer) { - this._sizer.onresize = null; - } - var sizer = box.firstElementChild; - this._sizer = sizer; - if (sizer) { - _ElementUtilities._resizeNotifier.subscribe(box, onresizeBox); - box.addEventListener("mselementresize", onresizeBox); - _ElementUtilities._resizeNotifier.subscribe(sizer, onresizeSizer); - sizer.addEventListener("mselementresize", onresizeSizer); - } - if (box.clientWidth === 0 && box.clientHeight === 0) { - var that = this; - // Wait for the viewbox to get added to the DOM. It should be added - // in the synchronous block in which _initialize was called. - Scheduler.schedule(function ViewBox_async_initialize() { - that._updateLayout(); - }, Scheduler.Priority.normal, null, "WinJS.UI.ViewBox._updateLayout"); - } - } - }, - _updateLayout: function () { - var sizer = this._sizer; - if (sizer) { - var box = this.element; - var w = sizer.clientWidth; - var h = sizer.clientHeight; - var bw = box.clientWidth; - var bh = box.clientHeight; - var wRatio = bw / w; - var hRatio = bh / h; - var mRatio = Math.min(wRatio, hRatio); - var transX = Math.abs(bw - (w * mRatio)) / 2; - var transY = Math.abs(bh - (h * mRatio)) / 2; - var rtl = this._rtl; - this._sizer.style[_BaseUtils._browserStyleEquivalents["transform"].scriptName] = "translate(" + (rtl ? "-" : "") + transX + "px," + transY + "px) scale(" + mRatio + ")"; - this._sizer.style[_BaseUtils._browserStyleEquivalents["transform-origin"].scriptName] = rtl ? "top right" : "top left"; - } - }, - - dispose: function () { - /// - /// - /// Disposes this ViewBox. - /// - /// - if (this._disposed) { - return; - } - - if (this.element) { - _ElementUtilities._resizeNotifier.unsubscribe(this.element, onresizeBox); - } - if (this._sizer) { - _ElementUtilities._resizeNotifier.unsubscribe(this._sizer, onresizeSizer); - } - - this._disposed = true; - _Dispose.disposeSubTree(this._element); - }, - - forceLayout: function () { - this._initialize(); - this._updateLayout(); - } - }); - _Base.Class.mix(ViewBox, _Control.DOMEventMixin); - return ViewBox; - }) - }); - -}); - -// Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -define('WinJS',[ - 'WinJS/Core/_WinJS', - 'WinJS/Core', - 'WinJS/Promise', - 'WinJS/_Signal', - 'WinJS/Scheduler', - 'WinJS/Utilities', - 'WinJS/Fragments', - 'WinJS/Application', - 'WinJS/Navigation', - 'WinJS/Animations', - 'WinJS/Binding', - 'WinJS/BindingTemplate', - 'WinJS/BindingList', - 'WinJS/Res', - 'WinJS/Pages', - 'WinJS/ControlProcessor', - 'WinJS/Controls/HtmlControl', - 'WinJS/VirtualizedDataSource', - 'WinJS/Controls/IntrinsicControls', - 'WinJS/Controls/ListView', - 'WinJS/Controls/FlipView', - 'WinJS/Controls/ItemContainer', - 'WinJS/Controls/Repeater', - 'WinJS/Controls/DatePicker', - 'WinJS/Controls/TimePicker', - 'WinJS/Controls/BackButton', - 'WinJS/Controls/Rating', - 'WinJS/Controls/ToggleSwitch', - 'WinJS/Controls/SemanticZoom', - 'WinJS/Controls/Pivot', - 'WinJS/Controls/Hub', - 'WinJS/Controls/Flyout', - 'WinJS/Controls/AppBar', - 'WinJS/Controls/Menu', - 'WinJS/Controls/SearchBox', - 'WinJS/Controls/SettingsFlyout', - 'WinJS/Controls/NavBar', - 'WinJS/Controls/Tooltip', - 'WinJS/Controls/ViewBox' - ], function (_WinJS) { - "use strict"; - - return _WinJS; -}); - - require(['WinJS/Core/_WinJS', 'WinJS'], function (_WinJS) { - global.WinJS = _WinJS; - return _WinJS; - }); - })); -}(this)); - diff --git a/shared/html/libs/winjs/3.0/js/WinJS.min.js b/shared/html/libs/winjs/3.0/js/WinJS.min.js deleted file mode 100644 index d3dc846..0000000 --- a/shared/html/libs/winjs/3.0/js/WinJS.min.js +++ /dev/null @@ -1,35 +0,0 @@ -/*! Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See https://github.com/winjs/winjs/blob/master/License.txt for license information. */ -!function(global){!function(a){"function"==typeof define&&define.amd?define([],a):(global.msWriteProfilerMark&&msWriteProfilerMark("WinJS.3.0 3.0.0.winjs.2014.10.2 WinJS.js,StartTM"),a(global.WinJS),global.msWriteProfilerMark&&msWriteProfilerMark("WinJS.3.0 3.0.0.winjs.2014.10.2 WinJS.js,StopTM"))}(function(WinJS){var require,define;!function(){"use strict";function a(a,b){var c=a.split("/");return c.pop(),b.map(function(a){if("."===a[0]){var b=a.split("/"),d=c.slice(0);return b.forEach(function(a){".."===a?d.pop():"."!==a&&d.push(a)}),d.join("/")}return a})}function b(a,b){return a.map(function(a){if("exports"===a)return b;var e=d[a];if(!e)throw new Error("Undefined dependency: "+a);return e.resolved||(e.resolved=c(e.dependencies,e.factory,e.exports),e.exports&&(e.resolved=e.exports)),e.resolved})}function c(a,c,d){var e=b(a,d);return c&&c.apply?c.apply(null,e):c}var d={};define=function(b,c,e){Array.isArray(c)||(e=c,c=[]);var f={dependencies:a(b,c),factory:e};-1!==c.indexOf("exports")&&(f.exports={}),d[b]=f},require=function(a,b){Array.isArray(a)||(a=[a]),c(a,b)}}(),define("amd",function(){}),define("WinJS/Core/_WinJS",{}),function(a){"use strict";define("WinJS/Core/_Global",a)}(this),define("WinJS/Core/_BaseCoreUtils",["./_Global"],function(a){"use strict";function b(a){return a.supportedForProcessing=!0,a}var c=!!a.Windows;return{hasWinRT:c,markSupportedForProcessing:b,_setImmediate:a.setImmediate?a.setImmediate.bind(a):function(b){a.setTimeout(b,0)}}}),define("WinJS/Core/_WriteProfilerMark",["./_Global"],function(a){"use strict";return a.msWriteProfilerMark||function(){}}),define("WinJS/Core/_Base",["./_WinJS","./_Global","./_BaseCoreUtils","./_WriteProfilerMark"],function(a,b,c,d){"use strict";function e(a,b,c){var d,e,f,g=Object.keys(b),h=Array.isArray(a);for(e=0,f=g.length;f>e;e++){var i=g[e],j=95!==i.charCodeAt(0),k=b[i];!k||"object"!=typeof k||void 0===k.value&&"function"!=typeof k.get&&"function"!=typeof k.set?j?h?a.forEach(function(a){a[i]=k}):a[i]=k:(d=d||{},d[i]={value:k,enumerable:j,configurable:!0,writable:!0}):(void 0===k.enumerable&&(k.enumerable=j),c&&k.setName&&"function"==typeof k.setName&&k.setName(c+"."+i),d=d||{},d[i]=k)}d&&(h?a.forEach(function(a){Object.defineProperties(a,d)}):Object.defineProperties(a,d))}return function(){function c(c,d){var e=c||{};if(d){var f=d.split(".");e===b&&"WinJS"===f[0]&&(e=a,f.splice(0,1));for(var g=0,h=f.length;h>g;g++){var i=f[g];e[i]||Object.defineProperty(e,i,{value:{},writable:!1,enumerable:!0,configurable:!0}),e=e[i]}}return e}function f(a,b,d){var f=c(a,b);return d&&e(f,d,b||""),f}function g(a,c){return f(b,a,c)}function h(a){var b,c,e=k.uninitialized;return{setName:function(a){b=a},get:function(){switch(e){case k.initialized:return c;case k.uninitialized:e=k.working;try{d("WinJS.Namespace._lazy:"+b+",StartTM"),c=a()}finally{d("WinJS.Namespace._lazy:"+b+",StopTM"),e=k.uninitialized}return a=null,e=k.initialized,c;case k.working:throw"Illegal: reentrancy on initialization";default:throw"Illegal"}},set:function(a){switch(e){case k.working:throw"Illegal: reentrancy on initialization";default:e=k.initialized,c=a}},enumerable:!0,configurable:!0}}function i(a,d,f){var g=[a],h=null;return d&&(h=c(b,d),g.push(h)),e(g,f,d||""),h}var j=a;j.Namespace||(j.Namespace=Object.create(Object.prototype));var k={uninitialized:1,working:2,initialized:3};Object.defineProperties(j.Namespace,{defineWithParent:{value:f,writable:!0,enumerable:!0,configurable:!0},define:{value:g,writable:!0,enumerable:!0,configurable:!0},_lazy:{value:h,writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:i,writable:!0,enumerable:!0,configurable:!0}})}(),function(){function b(a,b,d){return a=a||function(){},c.markSupportedForProcessing(a),b&&e(a.prototype,b),d&&e(a,d),a}function d(a,d,f,g){if(a){d=d||function(){};var h=a.prototype;return d.prototype=Object.create(h),c.markSupportedForProcessing(d),Object.defineProperty(d.prototype,"constructor",{value:d,writable:!0,configurable:!0,enumerable:!0}),f&&e(d.prototype,f),g&&e(d,g),d}return b(d,f,g)}function f(a){a=a||function(){};var b,c;for(b=1,c=arguments.length;c>b;b++)e(a.prototype,arguments[b]);return a}a.Namespace.define("WinJS.Class",{define:b,derive:d,mix:f})}(),{Namespace:a.Namespace,Class:a.Class}}),define("WinJS/Core/_ErrorFromName",["./_Base"],function(a){"use strict";var b=a.Class.derive(Error,function(a,b){this.name=a,this.message=b||a},{},{supportedForProcessing:!1});return a.Namespace.define("WinJS",{ErrorFromName:b}),b}),define("WinJS/Core/_WinRT",["exports","./_Global","./_Base"],function(a,b,c){"use strict";a.msGetWeakWinRTProperty=b.msGetWeakWinRTProperty,a.msSetWeakWinRTProperty=b.msSetWeakWinRTProperty;var d=["Windows.ApplicationModel.DesignMode.designModeEnabled","Windows.ApplicationModel.Resources.Core.ResourceContext","Windows.ApplicationModel.Resources.Core.ResourceManager","Windows.ApplicationModel.Search.Core.SearchSuggestionManager","Windows.ApplicationModel.Search.SearchQueryLinguisticDetails","Windows.Data.Text.SemanticTextQuery","Windows.Foundation.Collections.CollectionChange","Windows.Foundation.Uri","Windows.Globalization.ApplicationLanguages","Windows.Globalization.Calendar","Windows.Globalization.DateTimeFormatting","Windows.Globalization.Language","Windows.Phone.UI.Input.HardwareButtons","Windows.Storage.ApplicationData","Windows.Storage.CreationCollisionOption","Windows.Storage.BulkAccess.FileInformationFactory","Windows.Storage.FileIO","Windows.Storage.FileProperties.ThumbnailType","Windows.Storage.FileProperties.ThumbnailMode","Windows.Storage.FileProperties.ThumbnailOptions","Windows.Storage.KnownFolders","Windows.Storage.Search.FolderDepth","Windows.Storage.Search.IndexerOption","Windows.Storage.Streams.RandomAccessStreamReference","Windows.UI.ApplicationSettings.SettingsEdgeLocation","Windows.UI.ApplicationSettings.SettingsCommand","Windows.UI.ApplicationSettings.SettingsPane","Windows.UI.Core.AnimationMetrics","Windows.UI.Input.EdgeGesture","Windows.UI.Input.EdgeGestureKind","Windows.UI.Input.PointerPoint","Windows.UI.ViewManagement.HandPreference","Windows.UI.ViewManagement.InputPane","Windows.UI.ViewManagement.UISettings","Windows.UI.WebUI.Core.WebUICommandBar","Windows.UI.WebUI.Core.WebUICommandBarBitmapIcon","Windows.UI.WebUI.Core.WebUICommandBarClosedDisplayMode","Windows.UI.WebUI.Core.WebUICommandBarIconButton","Windows.UI.WebUI.Core.WebUICommandBarSymbolIcon","Windows.UI.WebUI.WebUIApplication"];d.forEach(function(d){var e=d.split("."),f={};f[e[e.length-1]]={get:function(){return e.reduce(function(a,b){return a?a[b]:null},b)}},c.Namespace.defineWithParent(a,e.slice(0,-1).join("."),f)})}),define("WinJS/Core/_Events",["exports","./_Base"],function(a,b){"use strict";function c(a){var b="_on"+a+"state";return{get:function(){var a=this[b];return a&&a.userHandler},set:function(c){var d=this[b];c?(d||(d={wrapper:function(a){return d.userHandler(a)},userHandler:c},Object.defineProperty(this,b,{value:d,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(a,d.wrapper,!1)),d.userHandler=c):d&&(this.removeEventListener(a,d.wrapper,!1),this[b]=null)},enumerable:!0}}function d(){for(var a={},b=0,d=arguments.length;d>b;b++){var e=arguments[b];a["on"+e]=c(e)}return a}var e=b.Class.define(function(a,b,c){this.detail=b,this.target=c,this.timeStamp=Date.now(),this.type=a},{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),f={_listeners:null,addEventListener:function(a,b,c){c=c||!1,this._listeners=this._listeners||{};for(var d=this._listeners[a]=this._listeners[a]||[],e=0,f=d.length;f>e;e++){var g=d[e];if(g.useCapture===c&&g.listener===b)return}d.push({listener:b,useCapture:c})},dispatchEvent:function(a,b){var c=this._listeners&&this._listeners[a];if(c){var d=new e(a,b,this);c=c.slice(0,c.length);for(var f=0,g=c.length;g>f&&!d._stopImmediatePropagationCalled;f++)c[f].listener(d);return d.defaultPrevented||!1}return!1},removeEventListener:function(a,b,c){c=c||!1;var d=this._listeners&&this._listeners[a];if(d)for(var e=0,f=d.length;f>e;e++){var g=d[e];if(g.listener===b&&g.useCapture===c){d.splice(e,1),0===d.length&&delete this._listeners[a];break}}}};b.Namespace._moduleDefine(a,"WinJS.Utilities",{_createEventProperty:c,createEventProperties:d,eventMixin:f})}),define("require-json",{load:function(a){throw new Error("Dynamic load not allowed: "+a)}}),define("require-json!en-US/ui.resjson",{appBarAriaLabel:"App Bar",appBarCommandAriaLabel:"App Bar Item",averageRating:"Average Rating",backbuttonarialabel:"Back",clearYourRating:"Clear your rating",closeOverlay:"Close",datePicker:"Date Picker",flipViewPanningContainerAriaLabel:"Scrolling Container",flyoutAriaLabel:"Flyout",hubViewportAriaLabel:"Scrolling Container",listViewViewportAriaLabel:"Scrolling Container",menuCommandAriaLabel:"Menu Item",menuAriaLabel:"Menu",navBarContainerViewportAriaLabel:"Scrolling Container",off:"Off",on:"On",pivotAriaLabel:"Pivot",pivotViewportAriaLabel:"Scrolling Container",searchBoxAriaLabel:"Searchbox",searchBoxAriaLabelInputNoPlaceHolder:"Searchbox, enter to submit query, esc to clear text",searchBoxAriaLabelInputPlaceHolder:"Searchbox, {0}, enter to submit query, esc to clear text",searchBoxAriaLabelButton:"Click to submit query",searchBoxAriaLabelQuery:"Suggestion: {0}","_searchBoxAriaLabelQuery.comment":"Suggestion: query text (example: Suggestion: contoso)",searchBoxAriaLabelSeparator:"Separator: {0}","_searchBoxAriaLabelSeparator.comment":"Separator: separator text (example: Separator: People or Separator: Apps)",searchBoxAriaLabelResult:"Result: {0}, {1}","_searchBoxAriaLabelResult.comment":"Result: text, detailed text (example: Result: contoso, www.contoso.com)",selectAMPM:"Select A.M P.M",selectDay:"Select Day",selectHour:"Select Hour",selectMinute:"Select Minute",selectMonth:"Select Month",selectYear:"Select Year",settingsFlyoutAriaLabel:"Settings Flyout",tentativeRating:"Tentative Rating",timePicker:"Time Picker",unrated:"Unrated",userRating:"User Rating","appBarIcons\\previous":"","_appBarIcons\\previous.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\next":"","_appBarIcons\\next.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\play":"","_appBarIcons\\play.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\pause":"","_appBarIcons\\pause.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\edit":"","_appBarIcons\\edit.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\save":"","_appBarIcons\\save.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\clear":"","_appBarIcons\\clear.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\delete":"","_appBarIcons\\delete.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\remove":"","_appBarIcons\\remove.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\add":"","_appBarIcons\\add.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\cancel":"","_appBarIcons\\cancel.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\accept":"","_appBarIcons\\accept.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\more":"","_appBarIcons\\more.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\redo":"","_appBarIcons\\redo.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\undo":"","_appBarIcons\\undo.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\home":"","_appBarIcons\\home.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\up":"","_appBarIcons\\up.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\forward":"","_appBarIcons\\forward.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\right":"","_appBarIcons\\right.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\back":"","_appBarIcons\\back.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\left":"","_appBarIcons\\left.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\favorite":"","_appBarIcons\\favorite.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\camera":"","_appBarIcons\\camera.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\settings":"","_appBarIcons\\settings.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\video":"","_appBarIcons\\video.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\sync":"","_appBarIcons\\sync.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\download":"","_appBarIcons\\download.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mail":"","_appBarIcons\\mail.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\find":"","_appBarIcons\\find.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\help":"","_appBarIcons\\help.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\upload":"","_appBarIcons\\upload.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\emoji":"","_appBarIcons\\emoji.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\twopage":"","_appBarIcons\\twopage.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\leavechat":"","_appBarIcons\\leavechat.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mailforward":"","_appBarIcons\\mailforward.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\clock":"","_appBarIcons\\clock.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\send":"","_appBarIcons\\send.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\crop":"","_appBarIcons\\crop.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\rotatecamera":"","_appBarIcons\\rotatecamera.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\people":"","_appBarIcons\\people.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\closepane":"","_appBarIcons\\closepane.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\openpane":"","_appBarIcons\\openpane.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\world":"","_appBarIcons\\world.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\flag":"","_appBarIcons\\flag.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\previewlink":"","_appBarIcons\\previewlink.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\globe":"","_appBarIcons\\globe.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\trim":"","_appBarIcons\\trim.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\attachcamera":"","_appBarIcons\\attachcamera.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\zoomin":"","_appBarIcons\\zoomin.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\bookmarks":"","_appBarIcons\\bookmarks.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\document":"","_appBarIcons\\document.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\protecteddocument":"","_appBarIcons\\protecteddocument.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\page":"","_appBarIcons\\page.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\bullets":"","_appBarIcons\\bullets.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\comment":"","_appBarIcons\\comment.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mail2":"","_appBarIcons\\mail2.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\contactinfo":"","_appBarIcons\\contactinfo.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\hangup":"","_appBarIcons\\hangup.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\viewall":"","_appBarIcons\\viewall.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mappin":"","_appBarIcons\\mappin.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\phone":"","_appBarIcons\\phone.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\videochat":"","_appBarIcons\\videochat.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\switch":"","_appBarIcons\\switch.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\contact":"","_appBarIcons\\contact.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\rename":"","_appBarIcons\\rename.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\pin":"","_appBarIcons\\pin.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\musicinfo":"","_appBarIcons\\musicinfo.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\go":"","_appBarIcons\\go.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\keyboard":"","_appBarIcons\\keyboard.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\dockleft":"","_appBarIcons\\dockleft.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\dockright":"","_appBarIcons\\dockright.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\dockbottom":"","_appBarIcons\\dockbottom.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\remote":"","_appBarIcons\\remote.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\refresh":"","_appBarIcons\\refresh.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\rotate":"","_appBarIcons\\rotate.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\shuffle":"","_appBarIcons\\shuffle.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\list":"","_appBarIcons\\list.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\shop":"","_appBarIcons\\shop.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\selectall":"","_appBarIcons\\selectall.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\orientation":"","_appBarIcons\\orientation.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\import":"","_appBarIcons\\import.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\importall":"","_appBarIcons\\importall.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\browsephotos":"","_appBarIcons\\browsephotos.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\webcam":"","_appBarIcons\\webcam.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\pictures":"","_appBarIcons\\pictures.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\savelocal":"","_appBarIcons\\savelocal.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\caption":"","_appBarIcons\\caption.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\stop":"","_appBarIcons\\stop.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\showresults":"","_appBarIcons\\showresults.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\volume":"","_appBarIcons\\volume.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\repair":"","_appBarIcons\\repair.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\message":"","_appBarIcons\\message.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\page2":"","_appBarIcons\\page2.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\calendarday":"","_appBarIcons\\calendarday.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\calendarweek":"","_appBarIcons\\calendarweek.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\calendar":"","_appBarIcons\\calendar.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\characters":"","_appBarIcons\\characters.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mailreplyall":"","_appBarIcons\\mailreplyall.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\read":"","_appBarIcons\\read.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\link":"","_appBarIcons\\link.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\accounts":"","_appBarIcons\\accounts.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\showbcc":"","_appBarIcons\\showbcc.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\hidebcc":"","_appBarIcons\\hidebcc.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\cut":"","_appBarIcons\\cut.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\attach":"","_appBarIcons\\attach.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\paste":"","_appBarIcons\\paste.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\filter":"","_appBarIcons\\filter.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\copy":"","_appBarIcons\\copy.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\emoji2":"","_appBarIcons\\emoji2.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\important":"","_appBarIcons\\important.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mailreply":"","_appBarIcons\\mailreply.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\slideshow":"","_appBarIcons\\slideshow.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\sort":"","_appBarIcons\\sort.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\manage":"","_appBarIcons\\manage.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\allapps":"","_appBarIcons\\allapps.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\disconnectdrive":"","_appBarIcons\\disconnectdrive.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mapdrive":"","_appBarIcons\\mapdrive.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\newwindow":"","_appBarIcons\\newwindow.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\openwith":"","_appBarIcons\\openwith.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\contactpresence":"","_appBarIcons\\contactpresence.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\priority":"","_appBarIcons\\priority.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\uploadskydrive":"","_appBarIcons\\uploadskydrive.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\gototoday":"","_appBarIcons\\gototoday.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\font":"","_appBarIcons\\font.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\fontcolor":"","_appBarIcons\\fontcolor.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\contact2":"","_appBarIcons\\contact2.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\folder":"","_appBarIcons\\folder.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\audio":"","_appBarIcons\\audio.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\placeholder":"","_appBarIcons\\placeholder.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\view":"","_appBarIcons\\view.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\setlockscreen":"","_appBarIcons\\setlockscreen.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\settile":"","_appBarIcons\\settile.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\cc":"","_appBarIcons\\cc.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\stopslideshow":"","_appBarIcons\\stopslideshow.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\permissions":"","_appBarIcons\\permissions.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\highlight":"","_appBarIcons\\highlight.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\disableupdates":"","_appBarIcons\\disableupdates.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\unfavorite":"","_appBarIcons\\unfavorite.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\unpin":"","_appBarIcons\\unpin.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\openlocal":"","_appBarIcons\\openlocal.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\mute":"","_appBarIcons\\mute.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\italic":"","_appBarIcons\\italic.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\underline":"","_appBarIcons\\underline.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\bold":"","_appBarIcons\\bold.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\movetofolder":"","_appBarIcons\\movetofolder.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\likedislike":"","_appBarIcons\\likedislike.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\dislike":"","_appBarIcons\\dislike.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\like":"","_appBarIcons\\like.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\alignright":"","_appBarIcons\\alignright.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\aligncenter":"","_appBarIcons\\aligncenter.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\alignleft":"","_appBarIcons\\alignleft.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\zoom":"","_appBarIcons\\zoom.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\zoomout":"","_appBarIcons\\zoomout.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\openfile":"","_appBarIcons\\openfile.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\otheruser":"","_appBarIcons\\otheruser.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\admin":"","_appBarIcons\\admin.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\street":"","_appBarIcons\\street.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\map":"","_appBarIcons\\map.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\clearselection":"","_appBarIcons\\clearselection.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\fontdecrease":"","_appBarIcons\\fontdecrease.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\fontincrease":"","_appBarIcons\\fontincrease.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\fontsize":"","_appBarIcons\\fontsize.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\cellphone":"","_appBarIcons\\cellphone.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\reshare":"","_appBarIcons\\reshare.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\tag":"","_appBarIcons\\tag.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\repeatone":"","_appBarIcons\\repeatone.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\repeatall":"","_appBarIcons\\repeatall.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\outlinestar":"","_appBarIcons\\outlinestar.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\solidstar":"","_appBarIcons\\solidstar.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\calculator":"","_appBarIcons\\calculator.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\directions":"","_appBarIcons\\directions.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\target":"","_appBarIcons\\target.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\library":"","_appBarIcons\\library.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\phonebook":"","_appBarIcons\\phonebook.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\memo":"","_appBarIcons\\memo.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\microphone":"","_appBarIcons\\microphone.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\postupdate":"","_appBarIcons\\postupdate.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\backtowindow":"","_appBarIcons\\backtowindow.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\fullscreen":"","_appBarIcons\\fullscreen.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\newfolder":"","_appBarIcons\\newfolder.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\calendarreply":"","_appBarIcons\\calendarreply.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\unsyncfolder":"","_appBarIcons\\unsyncfolder.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\reporthacked":"","_appBarIcons\\reporthacked.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\syncfolder":"","_appBarIcons\\syncfolder.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\blockcontact":"","_appBarIcons\\blockcontact.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\switchapps":"","_appBarIcons\\switchapps.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\addfriend":"","_appBarIcons\\addfriend.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\touchpointer":"","_appBarIcons\\touchpointer.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\gotostart":"","_appBarIcons\\gotostart.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\zerobars":"","_appBarIcons\\zerobars.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\onebar":"","_appBarIcons\\onebar.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\twobars":"","_appBarIcons\\twobars.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\threebars":"","_appBarIcons\\threebars.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\fourbars":"","_appBarIcons\\fourbars.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\scan":"","_appBarIcons\\scan.comment":"{Locked:qps-ploc,qps-plocm}","appBarIcons\\preview":"","_appBarIcons\\preview.comment":"{Locked:qps-ploc,qps-plocm}"}),define("WinJS/Core/_Resources",["exports","./_Global","./_WinRT","./_Base","./_Events","require-json!en-US/ui.resjson"],function(a,b,c,d,e,f){"use strict";function g(a){var b=u("ms-resource://"+j+"/"+a);return b.empty&&(b=h(a)),b}function h(a){var b=a.split("/");b.shift();var c=f[b.join("\\")];return"string"==typeof c&&(c={value:c}),c||{value:a,empty:!0}}function i(a){var b=arguments;return b.length>1&&(a=a.replace(/({{)|(}})|{(\d+)}|({)|(})/g,function(a,c,d,e,f,g){if(f||g)throw i(s.malformedFormatStringInput,f||g);return c&&"{"||d&&"}"||b[(0|e)+1]})),a}var j="WinJS.3.0",k="Developer.";0===j.indexOf(k)&&(j=j.substring(k.length));var l,m,n=!1,o="contextchanged",p=d.Class.mix(d.Class.define(null,{},{supportedForProcessing:!1}),e.eventMixin),q=new p,r=e._createEventProperty,s={get malformedFormatStringInput(){return"Malformed, did you mean to escape your '{0}'?"}};d.Namespace.define("WinJS.Resources",{_getWinJSString:g}),d.Namespace._moduleDefine(a,"WinJS.Resources",{addEventListener:function(b,d,e){if(c.Windows.ApplicationModel.Resources.Core.ResourceManager&&!n&&b===o)try{var f=a._getResourceContext();f?f.qualifierValues.addEventListener("mapchanged",function(b){a.dispatchEvent(o,{qualifier:b.key,changed:b.target[b.key]})},!1):c.Windows.ApplicationModel.Resources.Core.ResourceManager.current.defaultContext.qualifierValues.addEventListener("mapchanged",function(b){a.dispatchEvent(o,{qualifier:b.key,changed:b.target[b.key]})},!1),n=!0}catch(g){}q.addEventListener(b,d,e)},removeEventListener:q.removeEventListener.bind(q),dispatchEvent:q.dispatchEvent.bind(q),_formatString:i,_getStringWinRT:function(b){if(!l){var d=c.Windows.ApplicationModel.Resources.Core.ResourceManager.current.mainResourceMap;try{l=d.getSubtree("Resources")}catch(e){}l||(l=d)}var f,g,h;try{var i=a._getResourceContext();h=i?l.getValue(b,i):l.getValue(b),h&&(f=h.valueAsString,void 0===f&&(f=h.toString()))}catch(e){}if(!f)return a._getStringJS(b);try{g=h.getQualifierValue("Language")}catch(e){return{value:f}}return{value:f,lang:g}},_getStringJS:function(a){var c=b.strings&&b.strings[a];return"string"==typeof c&&(c={value:c}),c||{value:a,empty:!0}},_getResourceContext:function(){if(b.document&&"undefined"==typeof m){var a=c.Windows.ApplicationModel.Resources.Core.ResourceContext;m=a.getForCurrentView?a.getForCurrentView():null}return m},oncontextchanged:r(o)});var t=c.Windows.ApplicationModel.Resources.Core.ResourceManager?a._getStringWinRT:a._getStringJS,u=function(a){return t(a)};d.Namespace._moduleDefine(a,null,{_formatString:i,_getWinJSString:g}),d.Namespace._moduleDefine(a,"WinJS.Resources",{getString:{get:function(){return u},set:function(a){u=a}}})}),define("WinJS/Core/_Trace",["./_Global"],function(a){"use strict";function b(a){return a}return{_traceAsyncOperationStarting:a.Debug&&a.Debug.msTraceAsyncOperationStarting&&a.Debug.msTraceAsyncOperationStarting.bind(a.Debug)||b,_traceAsyncOperationCompleted:a.Debug&&a.Debug.msTraceAsyncOperationCompleted&&a.Debug.msTraceAsyncOperationCompleted.bind(a.Debug)||b,_traceAsyncCallbackStarting:a.Debug&&a.Debug.msTraceAsyncCallbackStarting&&a.Debug.msTraceAsyncCallbackStarting.bind(a.Debug)||b,_traceAsyncCallbackCompleted:a.Debug&&a.Debug.msTraceAsyncCallbackCompleted&&a.Debug.msTraceAsyncCallbackCompleted.bind(a.Debug)||b}}),define("WinJS/Promise/_StateMachine",["../Core/_Global","../Core/_BaseCoreUtils","../Core/_Base","../Core/_ErrorFromName","../Core/_Events","../Core/_Trace"],function(a,b,c,d,e,f){"use strict";function g(){}function h(a,b){var c;c=b&&"object"==typeof b&&"function"==typeof b.then?I:M,a._value=b,a._setState(c)}function i(a,b,c,d,e,f){return{exception:a,error:b,promise:c,handler:f,id:d,parent:e}}function j(a,b,c,d){var e=c._isException,f=c._errorId;return i(e?b:null,e?null:b,a,f,c,d)}function k(a,b,c){var d=c._isException,e=c._errorId;return u(a,e,d),i(d?b:null,d?null:b,a,e,c)}function l(a,b){var c=++Q;return u(a,c),i(null,b,a,c)}function m(a,b){var c=++Q;return u(a,c,!0),i(b,null,a,c) -}function n(a,b,c,d){var e=f._traceAsyncOperationStarting("WinJS.Promise.done");t(a,{c:b,e:c,p:d,asyncOpID:e})}function o(a,b,c,d){a._value=b,r(a,b,c,d),a._setState(O)}function p(b,c){var d=b._value,e=b._listeners;if(e){b._listeners=null;var g,h;for(g=0,h=Array.isArray(e)?e.length:1;h>g;g++){var i=1===h?e:e[g],j=i.c,k=i.promise;if(f._traceAsyncOperationCompleted(i.asyncOpID,a.Debug&&a.Debug.MS_ASYNC_OP_STATUS_SUCCESS),k){f._traceAsyncCallbackStarting(i.asyncOpID);try{k._setCompleteValue(j?j(d):d)}catch(l){k._setExceptionValue(l)}finally{f._traceAsyncCallbackCompleted()}k._state!==I&&k._listeners&&c.push(k)}else W.prototype.done.call(b,j)}}}function q(b,c){var d=b._value,e=b._listeners;if(e){b._listeners=null;var g,h;for(g=0,h=Array.isArray(e)?e.length:1;h>g;g++){var i=1===h?e:e[g],k=i.e,l=i.promise,m=a.Debug&&(d&&d.name===D?a.Debug.MS_ASYNC_OP_STATUS_CANCELED:a.Debug.MS_ASYNC_OP_STATUS_ERROR);if(f._traceAsyncOperationCompleted(i.asyncOpID,m),l){var n=!1;try{k?(f._traceAsyncCallbackStarting(i.asyncOpID),n=!0,k.handlesOnError||r(l,d,j,b,k),l._setCompleteValue(k(d))):l._setChainedErrorValue(d,b)}catch(o){l._setExceptionValue(o)}finally{n&&f._traceAsyncCallbackCompleted()}l._state!==I&&l._listeners&&c.push(l)}else U.prototype.done.call(b,null,k)}}}function r(a,b,c,d,e){if(B._listeners[C]){if(b instanceof Error&&b.message===D)return;B.dispatchEvent(C,c(a,b,d,e))}}function s(a,b){var c=a._listeners;if(c){var d,e;for(d=0,e=Array.isArray(c)?c.length:1;e>d;d++){var f=1===e?c:c[d],g=f.p;if(g)try{g(b)}catch(h){}f.c||f.e||!f.promise||f.promise._progress(b)}}}function t(a,b){var c=a._listeners;c?(c=Array.isArray(c)?c:[c],c.push(b)):c=b,a._listeners=c}function u(a,b,c){a._isException=c||!1,a._errorId=b}function v(a,b,c,d){a._value=b,r(a,b,c,d),a._setState(P)}function w(a,b){var c;c=b&&"object"==typeof b&&"function"==typeof b.then?I:N,a._value=b,a._setState(c)}function x(a,b,c,d){var e=new T(a),g=f._traceAsyncOperationStarting("WinJS.Promise.then");return t(a,{promise:e,c:b,e:c,p:d,asyncOpID:g}),e}function y(c){var d;return new X(function(e){c?d=a.setTimeout(e,c):b._setImmediate(e)},function(){d&&a.clearTimeout(d)})}function z(a,b){var c=function(){b.cancel()},d=function(){a.cancel()};return a.then(c),b.then(d,d),b}a.Debug&&(a.Debug.setNonUserCodeExceptions=!0);var A=c.Class.mix(c.Class.define(null,{},{supportedForProcessing:!1}),e.eventMixin),B=new A;B._listeners={};var C="error",D="Canceled",E=!1,F={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};F.all=F.promise|F.thenPromise|F.errorPromise|F.exceptionPromise|F.completePromise;var G,H,I,J,K,L,M,N,O,P,Q=1;G={name:"created",enter:function(a){a._setState(H)},cancel:g,done:g,then:g,_completed:g,_error:g,_notify:g,_progress:g,_setCompleteValue:g,_setErrorValue:g},H={name:"working",enter:g,cancel:function(a){a._setState(K)},done:n,then:x,_completed:h,_error:o,_notify:g,_progress:s,_setCompleteValue:w,_setErrorValue:v},I={name:"waiting",enter:function(a){var b=a._value;if(b instanceof T&&b._state!==P&&b._state!==N)t(b,{promise:a});else{var c=function(d){b._errorId?a._chainedError(d,b):(r(a,d,j,b,c),a._error(d))};c.handlesOnError=!0,b.then(a._completed.bind(a),c,a._progress.bind(a))}},cancel:function(a){a._setState(J)},done:n,then:x,_completed:h,_error:o,_notify:g,_progress:s,_setCompleteValue:w,_setErrorValue:v},J={name:"waiting_canceled",enter:function(a){a._setState(L);var b=a._value;b.cancel&&b.cancel()},cancel:g,done:n,then:x,_completed:h,_error:o,_notify:g,_progress:s,_setCompleteValue:w,_setErrorValue:v},K={name:"canceled",enter:function(a){a._setState(L),a._cancelAction()},cancel:g,done:n,then:x,_completed:h,_error:o,_notify:g,_progress:s,_setCompleteValue:w,_setErrorValue:v},L={name:"canceling",enter:function(a){var b=new Error(D);b.name=b.message,a._value=b,a._setState(O)},cancel:g,done:g,then:g,_completed:g,_error:g,_notify:g,_progress:g,_setCompleteValue:g,_setErrorValue:g},M={name:"complete_notify",enter:function(a){if(a.done=W.prototype.done,a.then=W.prototype.then,a._listeners)for(var b,c=[a];c.length;)b=c.shift(),b._state._notify(b,c);a._setState(N)},cancel:g,done:null,then:null,_completed:g,_error:g,_notify:p,_progress:g,_setCompleteValue:g,_setErrorValue:g},N={name:"success",enter:function(a){a.done=W.prototype.done,a.then=W.prototype.then,a._cleanupAction()},cancel:g,done:null,then:null,_completed:g,_error:g,_notify:p,_progress:g,_setCompleteValue:g,_setErrorValue:g},O={name:"error_notify",enter:function(a){if(a.done=U.prototype.done,a.then=U.prototype.then,a._listeners)for(var b,c=[a];c.length;)b=c.shift(),b._state._notify(b,c);a._setState(P)},cancel:g,done:null,then:null,_completed:g,_error:g,_notify:q,_progress:g,_setCompleteValue:g,_setErrorValue:g},P={name:"error",enter:function(a){a.done=U.prototype.done,a.then=U.prototype.then,a._cleanupAction()},cancel:g,done:null,then:null,_completed:g,_error:g,_notify:q,_progress:g,_setCompleteValue:g,_setErrorValue:g};var R,S=c.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(a,b,c){this._state.done(this,a,b,c)},then:function(a,b,c){return this._state.then(this,a,b,c)},_chainedError:function(a,b){var c=this._state._error(this,a,k,b);return this._run(),c},_completed:function(a){var b=this._state._completed(this,a);return this._run(),b},_error:function(a){var b=this._state._error(this,a,l);return this._run(),b},_progress:function(a){this._state._progress(this,a)},_setState:function(a){this._nextState=a},_setCompleteValue:function(a){this._state._setCompleteValue(this,a),this._run()},_setChainedErrorValue:function(a,b){var c=this._state._setErrorValue(this,a,k,b);return this._run(),c},_setExceptionValue:function(a){var b=this._state._setErrorValue(this,a,m);return this._run(),b},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1}),T=c.Class.derive(S,function(a){E&&(E===!0||E&F.thenPromise)&&(this._stack=X._getStack()),this._creator=a,this._setState(G),this._run()},{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),U=c.Class.define(function(a){E&&(E===!0||E&F.errorPromise)&&(this._stack=X._getStack()),this._value=a,r(this,a,l)},{cancel:function(){},done:function(a,b){var c=this._value;if(b)try{b.handlesOnError||r(null,c,j,this,b);var d=b(c);return void(d&&"object"==typeof d&&"function"==typeof d.done&&d.done())}catch(e){c=e}c instanceof Error&&c.message===D||X._doneHandler(c)},then:function(a,b){if(!b)return this;var c,d=this._value;try{b.handlesOnError||r(null,d,j,this,b),c=new W(b(d))}catch(e){c=e===d?this:new V(e)}return c}},{supportedForProcessing:!1}),V=c.Class.derive(U,function(a){E&&(E===!0||E&F.exceptionPromise)&&(this._stack=X._getStack()),this._value=a,r(this,a,m)},{},{supportedForProcessing:!1}),W=c.Class.define(function(a){if(E&&(E===!0||E&F.completePromise)&&(this._stack=X._getStack()),a&&"object"==typeof a&&"function"==typeof a.then){var b=new T(null);return b._setCompleteValue(a),b}this._value=a},{cancel:function(){},done:function(a){if(a)try{var b=a(this._value);b&&"object"==typeof b&&"function"==typeof b.done&&b.done()}catch(c){X._doneHandler(c)}},then:function(a){try{var b=a?a(this._value):this._value;return b===this._value?this:new W(b)}catch(c){return new V(c)}}},{supportedForProcessing:!1}),X=c.Class.derive(S,function(a,b){E&&(E===!0||E&F.promise)&&(this._stack=X._getStack()),this._oncancel=b,this._setState(G),this._run();try{var c=this._completed.bind(this),d=this._error.bind(this),e=this._progress.bind(this);a(c,d,e)}catch(f){this._setExceptionValue(f)}},{_oncancel:null,_cancelAction:function(){if(this._oncancel)try{this._oncancel()}catch(a){}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(a,b,c){B.addEventListener(a,b,c)},any:function(a){return new X(function(b,c){var d=Object.keys(a);0===d.length&&b();var e=0;d.forEach(function(f){X.as(a[f]).then(function(){b({key:f,value:a[f]})},function(g){return g instanceof Error&&g.name===D?void(++e===d.length&&b(X.cancel)):void c({key:f,value:a[f]})})})},function(){var b=Object.keys(a);b.forEach(function(b){var c=X.as(a[b]);"function"==typeof c.cancel&&c.cancel()})})},as:function(a){return a&&"object"==typeof a&&"function"==typeof a.then?a:new W(a)},cancel:{get:function(){return R=R||new U(new d(D))}},dispatchEvent:function(a,b){return B.dispatchEvent(a,b)},is:function(a){return a&&"object"==typeof a&&"function"==typeof a.then},join:function(a){return new X(function(b,c,d){var e=Object.keys(a),f=Array.isArray(a)?[]:{},g=Array.isArray(a)?[]:{},h=0,i=e.length,j=function(a){if(0===--i){var h=Object.keys(f).length;if(0===h)b(g);else{var j=0;e.forEach(function(a){var b=f[a];b instanceof Error&&b.name===D&&j++}),j===h?b(X.cancel):c(f)}}else d({Key:a,Done:!0})};return e.forEach(function(b){var c=a[b];void 0===c?h++:X.then(c,function(a){g[b]=a,j(b)},function(a){f[b]=a,j(b)})}),i-=h,0===i?void b(g):void 0},function(){Object.keys(a).forEach(function(b){var c=X.as(a[b]);"function"==typeof c.cancel&&c.cancel()})})},removeEventListener:function(a,b,c){B.removeEventListener(a,b,c)},supportedForProcessing:!1,then:function(a,b,c,d){return X.as(a).then(b,c,d)},thenEach:function(a,b,c,d){var e=Array.isArray(a)?[]:{};return Object.keys(a).forEach(function(f){e[f]=X.as(a[f]).then(b,c,d)}),X.join(e)},timeout:function(a,b){var c=y(a);return b?z(c,b):c},wrap:function(a){return new W(a)},wrapError:function(a){return new U(a)},_veryExpensiveTagWithStack:{get:function(){return E},set:function(a){E=a}},_veryExpensiveTagWithStack_tag:F,_getStack:function(){if(a.Debug&&a.Debug.debuggerEnabled)try{throw new Error}catch(b){return b.stack}},_cancelBlocker:function(a){if(!X.is(a))return X.wrap(a);var b,c,d=new X(function(a,d){b=a,c=d},function(){b=null,c=null});return a.then(function(a){b&&b(a)},function(a){c&&c(a)}),d}});return Object.defineProperties(X,e.createEventProperties(C)),X._doneHandler=function(a){b._setImmediate(function(){throw a})},{PromiseStateMachine:S,Promise:X,state_created:G}}),define("WinJS/Promise",["./Core/_Base","./Promise/_StateMachine"],function(a,b){"use strict";return a.Namespace.define("WinJS",{Promise:b.Promise}),b.Promise}),define("WinJS/Core/_Log",["exports","./_Global","./_Base"],function(a,b,c){"use strict";function d(a,b,c){var d=a;return"function"==typeof d&&(d=d()),(c&&h.test(c)?"":c?c+": ":"")+(b?b.replace(g,":")+": ":"")+d}function e(c,d,e){var f=a.formatLog(c,d,e);b.console&&b.console[e&&h.test(e)?e:"log"](f)}function f(a){return a.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&")}var g=/\s+/g,h=/^(error|warn|info|log)$/,i=null;c.Namespace._moduleDefine(a,"WinJS.Utilities",{startLog:function(b){b=b||{},"string"==typeof b&&(b={tags:b});var c=b.type&&new RegExp("^("+f(b.type).replace(g," ").split(" ").join("|")+")$"),d=b.excludeTags&&new RegExp("(^|\\s)("+f(b.excludeTags).replace(g," ").split(" ").join("|")+")(\\s|$)","i"),h=b.tags&&new RegExp("(^|\\s)("+f(b.tags).replace(g," ").split(" ").join("|")+")(\\s|$)","i"),i=b.action||e;if(!(c||d||h||a.log))return void(a.log=i);var j=function(a,b,e){c&&!c.test(e)||d&&d.test(b)||h&&!h.test(b)||i(a,b,e),j.next&&j.next(a,b,e)};j.next=a.log,a.log=j},stopLog:function(){a.log=null},formatLog:d}),c.Namespace._moduleDefine(a,"WinJS",{log:{get:function(){return i},set:function(a){i=a}}})}),define("WinJS/Scheduler",["exports","./Core/_Global","./Core/_Base","./Core/_ErrorFromName","./Core/_Log","./Core/_Resources","./Core/_Trace","./Core/_WriteProfilerMark","./Promise"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){var b={},c="_prev"+a,d="_next"+a;return b["_remove"+a]=function(){var a=this[c],b=this[d];b&&(b[c]=a),a&&(a[d]=b),this[c]=null,this[d]=null},b["_insert"+a+"Before"]=function(a){var b=this[c];return b&&(b[d]=a),a[d]=this,a[c]=b,this[c]=a,a},b["_insert"+a+"After"]=function(a){var b=this[d];return this[d]=a,a[d]=b,a[c]=this,b&&(b[c]=a),a},b}function k(a,b,c){return void 0!==c?"("+a+";"+b+";"+c+")":void 0!==b?"("+a+";"+b+")":void 0!==a?"("+a+")":""}function l(a,b,c,d){h("WinJS.Scheduler:"+a+k(c,d)+","+b)}function m(a,b,c,d,e){var f=a.name||void 0!==d||void 0!==e;h("WinJS.Scheduler:"+b+":"+a.id+(f?k(a.name,d,e):"")+","+c)}function n(){return!1}function o(a){throw"Illegal call by job("+a.id+") in state: "+this.name}function p(a){return function(b,c,d){b._setState(a,c,d)}}function q(a,b){a._setPriority(b)}function r(a,b){function c(a,b){e.log&&e.log(b+": MARKER: "+a.name,"winjs scheduler","log")}function d(a,b){e.log&&e.log(b+": JOB("+a.id+"): state: "+(a._state?a._state.name:"")+(a.name?", name: "+a.name:""),"winjs scheduler","log")}e.log&&e.log("highWaterMark: "+Bb,"winjs scheduler","log");var f=0,g=b?vb[vb.length-1]:vb[0],h=g;do h instanceof mb&&c(h,f),h instanceof S&&d(h,f),f++,h=b?h["_prev"+a]:h["_next"+a];while(h)}function s(){function a(a,c){b+=" "+(c?"*":" ")+"id: "+a.id+", priority: "+I(a.priority).name+(a.name?", name: "+a.name:"")+"\n"}var b="";b+="Jobs:\n";var c=I(Bb),d=0;for(xb&&(a(xb,!0),d++);c.priority>=ub.min;)c instanceof S&&(a(c,!1),d++),c=c._nextJob;0===d&&(b+=" None\n"),b+="Drain requests:\n";for(var e=0,f=zb.length;f>e;e++)b+=" "+(0===e?"*":" ")+"priority: "+I(zb[e].priority).name+", name: "+zb[e].name+"\n";return 0===zb.length&&(b+=" None\n"),b}function t(){var a=vb[0];do{if(a instanceof S)return!1;a=a._nextJob}while(a);return!0}function u(){return 0===zb.length?null:zb[0].priority}function v(a){l("drain","StartTM",a.name,I(a.priority).name)}function w(a,b){b&&l("drain-canceled","info",a.name,I(a.priority).name),l("drain","StopTM",a.name,I(a.priority).name)}function x(a,b,c){zb.push({priority:a,complete:b,name:c}),1===zb.length&&(v(zb[0]),a>Bb&&(Bb=a,pb=!0))}function y(a,b){var c,d=zb.length;for(c=0;d>c;c++)if(zb[c].complete===a){0===c&&(w(zb[0],b),zb[1]&&v(zb[1])),zb.splice(c,1);break}}function z(){var a=zb.shift();a&&(w(a),zb[0]&&v(zb[0]),a.complete())}function A(){var a=!1;if(zb.length)for(var b=u();+b===b&&b>Bb;)ob=b,z(),a=!0,b=u();return a}function B(a){return a>=ub.aboveNormal+1?Eb.HIGH:a>=ub.belowNormal?Eb.NORMAL:Eb.IDLE}function C(a,b){return Fb[a]>=Fb[b]}function D(a,b){return Fb[a]>Fb[b]}function E(a){switch(a){case Eb.HIGH:return!1;case Eb.NORMAL:return Eb.isTaskScheduledAtPriorityOrHigher(Eb.HIGH);case Eb.IDLE:return Eb.isTaskScheduledAtPriorityOrHigher(Eb.NORMAL)}}function F(a,b){var c=I(b);c.priority>Bb&&(Bb=c.priority,pb=!0),c._insertJobAfter(a)}function G(a,b){var c=I(b);c.priority>Bb&&(Bb=c.priority,pb=!0),c._nextMarker._insertJobBefore(a)}function H(a){return a=0|a,a=Math.max(a,sb),a=Math.min(a,tb)}function I(a){return a=H(a),vb[-1*(a-tb)]}function J(a){nb=!0,l("timeslice","StartTM");var b,c,d,e=!0,f=!1,g=!1;pb=!1;try{for(var h=Gb(),i=h+Ab,j=function(){return f=!1,pb?!0:E(B(Bb))?!0:zb.length?!1:Gb()>i?(f=!0,!0):!1};Bb>=ub.min&&!j()&&!g;){b=!1,c=I(Bb)._nextJob;do{if(ob=c.priority,c instanceof S)d!==c.priority&&(+d===d&&l("priority","StopTM",I(d).name),l("priority","StartTM",I(c.priority).name),d=c.priority),b=!0,e=!1,xb=c,m(xb,"job-running","StartTM",I(ob).name),c._execute(j),m(xb,"job-running","StopTM",I(ob).name),xb=null,e=!0;else{var k=B(Bb);Bb=c.priority,b=A();var n=B(Bb);!D(k,n)||yb&&!Eb.isTaskScheduledAtPriorityOrHigher(n)||(g=!0)}c=c._nextJob}while(c&&!b&&!g&&!E(B(Bb)));pb=!1}}finally{xb=null,e||(m(c,"job-error","info"),m(c,"job-running","StopTM",I(ob).name),c.cancel()),+d===d&&l("priority","StopTM",I(d).name);for(var o=!1;Bb>=ub.min&&!o;){b=!1,c=I(Bb)._nextJob;do c instanceof S?o=!0:(Bb=c.priority,b=A()),c=c._nextJob;while(c&&!b&&!o)}var p;p=e?f?"timeslice exhausted":Bb=ub.min&&K(),l("yielding","info",p),l("timeslice","StopTM")}}function K(a){+a!==a&&(a=Bb);var b=B(a);if(!nb&&(!wb||yb&&!C(wb,b))){var c=++Hb,d=function(){c>Ib&&(Ib=Hb,J(!0))};Eb.execAsyncAtPriority(d,b),wb=b}}function L(a,b){var c=rb++;void 0===b&&(b="Drain Request "+c),a=+a===a?a:ub.min,a=H(a);var d,e=new i(function(c){d=c,x(a,d,b)},function(){y(d,!0)});return nb||K(),e}function M(a){return Eb.execAtPriority(a,Eb.HIGH)}function N(){return new V}function O(a,b,c,d){b=b||ub.normal,c=c||null;var e=++qb,f=g._traceAsyncOperationStarting("WinJS.Utilities.Scheduler.schedule: "+e+k(d));return d=d||"",new S(e,a,b,c,d,f)}function P(){if(nb)return ob;switch(Eb.getCurrentPriority()){case Eb.HIGH:return ub.high;case Eb.NORMAL:return ub.normal;case Eb.IDLE:return ub.idle}}function Q(a){return function(b,c){var d;return new i(function(e){d=O(function(){e(b)},a,null,c)},function(){d.cancel()})}}c.Namespace.define("WinJS.Utilities",{_linkedListMixin:j});var R={get jobInfoIsNoLongerValid(){return"The job info object can only be used while the job is running"}},S=c.Class.define(function(a,b,c,d,e,f){this._id=a,this._work=b,this._context=d,this._name=e,this._asyncOpID=f,this._setPriority(c),this._setState(X),m(this,"job-scheduled","info")},{completed:{get:function(){return!!this._state.completed}},id:{get:function(){return this._id}},name:{get:function(){return this._name},set:function(a){this._name=a}},owner:{get:function(){return this._owner},set:function(a){this._owner&&this._owner._remove(this),this._owner=a,this._owner&&this._owner._add(this)}},priority:{get:function(){return this._priority},set:function(a){a=H(a),this._state.setPriority(this,a)}},cancel:function(){this._state.cancel(this)},pause:function(){this._state.pause(this)},resume:function(){this._state.resume(this)},_execute:function(a){this._state.execute(this,a)},_executeDone:function(a){return this._state.executeDone(this,a)},_blockedDone:function(a){return this._state.blockedDone(this,a)},_setPriority:function(a){+this._priority===this._priority&&this._priority!==a&&m(this,"job-priority-changed","info",I(this._priority).name,I(a).name),this._priority=a},_setState:function(a,b,c){this._state&&e.log&&e.log("Transitioning job ("+this.id+") from: "+this._state.name+" to: "+a.name,"winjs scheduler","log"),this._state=a,this._state.enter(this,b,c)}});c.Class.mix(S,j("Job"));var T={complete:1,"continue":2,block:3},U=c.Class.define(function(a,b){this._job=b,this._result=null,this._yieldPolicy=T.complete,this._shouldYield=a},{job:{get:function(){return this._throwIfDisabled(),this._job}},shouldYield:{get:function(){return this._throwIfDisabled(),this._shouldYield()}},setPromise:function(a){this._throwIfDisabled(),this._result=a,this._yieldPolicy=T.block},setWork:function(a){this._throwIfDisabled(),this._result=a,this._yieldPolicy=T.continue},_disablePublicApi:function(){this._publicApiDisabled=!0},_throwIfDisabled:function(){if(this._publicApiDisabled)throw new d("WinJS.Utilities.Scheduler.JobInfoIsNoLongerValid",R.jobInfoIsNoLongerValid)}}),V=c.Class.define(function(){this._jobs={}},{cancelAll:function(){var a=this._jobs,b=Object.keys(a);this._jobs={};for(var c=0,d=b.length;d>c;c++)a[b[c]].cancel()},_add:function(a){this._jobs[a.id]=a},_remove:function(a){delete this._jobs[a.id]}}),W=c.Class.define(function(a){this.name=a,this.enter=o,this.execute=o,this.executeDone=o,this.blockedDone=o,this.cancel=o,this.pause=o,this.resume=o,this.setPriority=o}),X=new W("created"),Y=new W("scheduled"),Z=new W("paused"),$=new W("canceled"),_=new W("running"),ab=new W("running_paused"),bb=new W("running_resumed"),cb=new W("running_canceled"),db=new W("running_canceled_blocked"),eb=new W("cooperative_yield"),fb=new W("cooperative_yield_paused"),gb=new W("blocked"),hb=new W("blocked_waiting"),ib=new W("blocked_paused"),jb=new W("blocked_paused_waiting"),kb=new W("blocked_canceled"),lb=new W("complete");X.enter=function(a){G(a,a.priority),a._setState(Y)},Y.enter=function(){K()},Y.execute=p(_),Y.cancel=p($),Y.pause=p(Z),Y.resume=n,Y.setPriority=function(a,b){a.priority!==b&&(a._setPriority(b),a.pause(),a.resume())},Z.enter=function(a){m(a,"job-paused","info"),a._removeJob()},Z.cancel=p($),Z.pause=n,Z.resume=function(a){m(a,"job-resumed","info"),G(a,a.priority),a._setState(Y)},Z.setPriority=q,$.enter=function(a){m(a,"job-canceled","info"),g._traceAsyncOperationCompleted(a._asyncOpID,b.Debug&&b.Debug.MS_ASYNC_OP_STATUS_CANCELED),a._removeJob(),a._work=null,a._context=null,a.owner=null},$.cancel=n,$.pause=n,$.resume=n,$.setPriority=n,_.enter=function(a,b){a._removeJob();var c=a.priority,d=a._work,e=a._context;a._work=null,a._context=null;var f=new U(b,a);g._traceAsyncCallbackStarting(a._asyncOpID);try{Eb.execAtPriority(function(){d.call(e,f)},B(c))}finally{g._traceAsyncCallbackCompleted(),f._disablePublicApi()}a._context=e;var h=a._executeDone(f._yieldPolicy);a._setState(h,f._result,c)},_.executeDone=function(a,b){switch(b){case T.complete:return lb;case T.continue:return eb;case T.block:return gb}},_.cancel=function(a){pb=!0,a._setState(cb)},_.pause=function(a){pb=!0,a._setState(ab)},_.resume=n,_.setPriority=q,ab.enter=n,ab.executeDone=function(a,b){switch(b){case T.complete:return lb;case T.continue:return fb;case T.block:return ib}},ab.cancel=p(cb),ab.pause=n,ab.resume=p(bb),ab.setPriority=q,bb.enter=n,bb.executeDone=function(a,b){switch(b){case T.complete:return lb;case T.continue:return eb;case T.block:return gb}},bb.cancel=p(cb),bb.pause=p(ab),bb.resume=n,bb.setPriority=q,cb.enter=n,cb.executeDone=function(a,b){switch(b){case T.complete:case T.continue:return $;case T.block:return db}},cb.cancel=n,cb.pause=n,cb.resume=n,cb.setPriority=n,db.enter=function(a,b){b.cancel(),a._setState($)},eb.enter=function(a,b,c){m(a,"job-yielded","info"),c===a.priority?F(a,a.priority):G(a,a.priority),a._work=b,a._setState(Y)},fb.enter=function(a,b){m(a,"job-yielded","info"),a._work=b,a._setState(Z)},gb.enter=function(a,b,c){m(a,"job-blocked","StartTM"),a._work=b,a._setState(hb),b.done(function(b){m(a,"job-blocked","StopTM");var d=a._blockedDone(b);a._setState(d,b,c)},function(b){return b&&"Canceled"===b.name||m(a,"job-error","info"),m(a,"job-blocked","StopTM"),a._setState($),i.wrapError(b)})},hb.enter=n,hb.blockedDone=function(a,b){return"function"==typeof b?eb:lb},hb.cancel=p(kb),hb.pause=p(jb),hb.resume=n,hb.setPriority=q,ib.enter=function(a,b,c){m(a,"job-blocked","StartTM"),a._work=b,a._setState(jb),b.done(function(b){m(a,"job-blocked","StopTM");var d=a._blockedDone(b);a._setState(d,b,c)},function(b){return b&&"Canceled"===b.name||m(a,"job-error","info"),m(a,"job-blocked","StopTM"),a._setState($),i.wrapError(b)})},jb.enter=n,jb.blockedDone=function(a,b){return"function"==typeof b?fb:lb},jb.cancel=p(kb),jb.pause=n,jb.resume=p(hb),jb.setPriority=q,kb.enter=function(a){a._work.cancel(),a._work=null},kb.blockedDone=function(){return $},kb.cancel=n,kb.pause=n,kb.resume=n,kb.setPriority=n,lb.completed=!0,lb.enter=function(a){g._traceAsyncOperationCompleted(a._asyncOpID,b.Debug&&b.Debug.MS_ASYNC_OP_STATUS_SUCCESS),a._work=null,a._context=null,a.owner=null,m(a,"job-completed","info")},lb.cancel=n,lb.pause=n,lb.resume=n,lb.setPriority=n;var mb=c.Class.define(function(a,b){this.priority=a,this.name=b},{});c.Class.mix(mb,j("Job"),j("Marker"));var nb,ob,pb,qb=0,rb=0,sb=-15,tb=15,ub={max:15,high:13,aboveNormal:9,normal:0,belowNormal:-9,idle:-13,min:-15},vb=[new mb(15,"max"),new mb(14,"14"),new mb(13,"high"),new mb(12,"12"),new mb(11,"11"),new mb(10,"10"),new mb(9,"aboveNormal"),new mb(8,"8"),new mb(7,"7"),new mb(6,"6"),new mb(5,"5"),new mb(4,"4"),new mb(3,"3"),new mb(2,"2"),new mb(1,"1"),new mb(0,"normal"),new mb(-1,"-1"),new mb(-2,"-2"),new mb(-3,"-3"),new mb(-4,"-4"),new mb(-5,"-5"),new mb(-6,"-6"),new mb(-7,"-7"),new mb(-8,"-8"),new mb(-9,"belowNormal"),new mb(-10,"-10"),new mb(-11,"-11"),new mb(-12,"-12"),new mb(-13,"idle"),new mb(-14,"-14"),new mb(-15,"min"),new mb(-16,"")],wb=null,xb=null,yb=!(!b.MSApp||!b.MSApp.execAtPriority),zb=[],Ab=30,Bb=ub.min;vb.reduce(function(a,b){return a&&(a._insertJobAfter(b),a._insertMarkerAfter(b)),b});var Cb=b.setImmediate?b.setImmediate.bind(b):function(a){b.setTimeout(a,16)},Db={execAsyncAtPriority:function(a,c){c===Eb.HIGH&&b.setTimeout(a,0),Cb(a)},execAtPriority:function(a){return a()},getCurrentPriority:function(){return Db.NORMAL},isTaskScheduledAtPriorityOrHigher:function(){return!1},HIGH:"high",NORMAL:"normal",IDLE:"idle"},Eb=yb?b.MSApp:Db,Fb={};Fb[Eb.IDLE]=1,Fb[Eb.NORMAL]=2,Fb[Eb.HIGH]=3;var Gb=b.performance&&b.performance.now&&b.performance.now.bind(b.performance)||Date.now.bind(Date),Hb=0,Ib=0;c.Namespace._moduleDefine(a,"WinJS.Utilities.Scheduler",{Priority:ub,schedule:O,createOwnerToken:N,execHigh:M,requestDrain:L,currentPriority:{get:P},schedulePromiseHigh:Q(ub.high),schedulePromiseAboveNormal:Q(ub.aboveNormal),schedulePromiseNormal:Q(ub.normal),schedulePromiseBelowNormal:Q(ub.belowNormal),schedulePromiseIdle:Q(ub.idle),retrieveState:s,_JobNode:S,_JobInfo:U,_OwnerToken:V,_dumpList:r,_isEmpty:{get:t},_usingWwaScheduler:{get:function(){return yb},set:function(a){yb=a,Eb=yb?b.MSApp:Db}},_MSApp:{get:function(){return Eb},set:function(a){Eb=a}},_TIME_SLICE:Ab})}),define("WinJS/Core/_BaseUtils",["exports","./_Global","./_Base","./_BaseCoreUtils","./_ErrorFromName","./_Resources","./_Trace","../Promise","../Scheduler"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){return a}function k(a,b,c){return a.split(".").reduce(function(a,b){return a?c(a[b]):null},b)}function l(a,c){return a?k(a,c||b,j):null}function m(a){return a.length>0&&0!==a.indexOf("-moz")&&"-"===a.charAt(0)&&(a=a.slice(1)),a.replace(/\-[a-z]/g,function(a){return a[1].toUpperCase()})}function n(a,b){return""===a?b:a+b.charAt(0).toUpperCase()+b.slice(1)}function o(a,b){return(""!==a?"-"+a.toLowerCase()+"-":"")+b}function p(){if(!b.document)return{};for(var a={},c=b.document.documentElement.style,d=["","webkit","ms","Moz"],e=["animation","transition","transform","animation-name","animation-duration","animation-delay","animation-timing-function","animation-iteration-count","animation-direction","animation-fill-mode","grid-column","grid-columns","grid-column-span","grid-row","grid-rows","grid-row-span","transform-origin","transition-property","transition-duration","transition-delay","transition-timing-function","scroll-snap-points-x","scroll-snap-points-y","scroll-chaining","scroll-limit","scroll-limit-x-max","scroll-limit-x-min","scroll-limit-y-max","scroll-limit-y-min","scroll-snap-type","scroll-snap-x","scroll-snap-y","touch-action","overflow-style","user-select"],f={},g=0,h=e.length;h>g;g++)for(var i=e[g],j=m(i),k=0,l=d.length;l>k;k++){var p=d[k],q=n(p,j);if(q in c){var r=o(p,i);a[i]={cssName:r,scriptName:q},f[i]=p;break}}return a.animationPrefix=o(f.animation,""),a.keyframes=o(f.animation,"keyframes"),a}function q(){for(var a={},c=["","WebKit"],d=[{eventObject:"TransitionEvent",events:["transitionStart","transitionEnd"]},{eventObject:"AnimationEvent",events:["animationStart","animationEnd"]}],e=0,f=d.length;f>e;e++){for(var g=d[e],h="",i=0,j=c.length;j>i;i++){var k=c[i];if(k+g.eventObject in b){h=k.toLowerCase();break}}for(var i=0,l=g.events.length;l>i;i++){var m=g.events[i];a[m]=n(h,m),""===h&&(a[m]=a[m].toLowerCase())}}return a.manipulationStateChanged="MSManipulationEvent"in b?"ManipulationEvent":null,a}var r,s={get notSupportedForProcessing(){return"Value is not supported within a declarative processing context, if you want it to be supported mark it using WinJS.Utilities.markSupportedForProcessing. The value was: '{0}'"}},t=0,u={},v=!1,w=!1,x=b.navigator.platform,y="iPhone"===x||"iPad"===x||"iPod"===x;c.Namespace._moduleDefine(a,"WinJS.Utilities",{_setHasWinRT:{value:function(a){d.hasWinRT=a},configurable:!1,writable:!1,enumerable:!1},hasWinRT:{get:function(){return d.hasWinRT},configurable:!1,enumerable:!0},_setIsiOS:{value:function(a){y=a},configurable:!1,writable:!1,enumerable:!1},_isiOS:{get:function(){return y},configurable:!1,enumerable:!0},_getMemberFiltered:k,getMember:l,_browserStyleEquivalents:p(),_browserEventEquivalents:q(),_getCamelCasedName:m,ready:function z(a,c){return new h(function(d,e){function f(){if(a)try{a(),d()}catch(b){e(b)}else d()}var g=z._testReadyState;g||(g=b.document?b.document.readyState:"complete"),"complete"===g||b.document&&null!==b.document.body?c?i.schedule(function(){f()},i.Priority.normal,null,"WinJS.Utilities.ready"):f():b.addEventListener("DOMContentLoaded",f,!1)})},strictProcessing:{get:function(){return!0},configurable:!1,enumerable:!0},markSupportedForProcessing:{value:d.markSupportedForProcessing,configurable:!1,writable:!1,enumerable:!0},requireSupportedForProcessing:{value:function(a){var c=!0;switch(c=c&&a!==b,c=c&&a!==b.location,c=c&&!(a instanceof b.HTMLIFrameElement),c=c&&!("function"==typeof a&&!a.supportedForProcessing),b.frames.length){case 0:break;case 1:c=c&&a!==b.frames[0];break;default:for(var d=0,g=b.frames.length;c&&g>d;d++)c=c&&a!==b.frames[d]}if(c)return a;throw new e("WinJS.Utilities.requireSupportedForProcessing",f._formatString(s.notSupportedForProcessing,a))},configurable:!1,writable:!1,enumerable:!0},_setImmediate:d._setImmediate,_requestAnimationFrame:b.requestAnimationFrame?b.requestAnimationFrame.bind(b):function(a){var c=++t;return u[c]=a,r=r||b.setTimeout(function(){var a=u,b=Date.now();u={},r=null,Object.keys(a).forEach(function(c){a[c](b)})},16),c},_cancelAnimationFrame:b.cancelAnimationFrame?b.cancelAnimationFrame.bind(b):function(a){delete u[a]},_yieldForEvents:b.setImmediate?b.setImmediate.bind(b):function(a){b.setTimeout(a,0)},_yieldForDomModification:b.setImmediate?b.setImmediate.bind(b):function(a){b.setTimeout(a,0)},_shallowCopy:function(a){return this._mergeAll([a])},_merge:function(a,b){return this._mergeAll([a,b])},_mergeAll:function(a){var b={};return a.forEach(function(a){Object.keys(a).forEach(function(c){b[c]=a[c]})}),b},_getProfilerMarkIdentifier:function(a){var b="";return a.id&&(b+=" id='"+a.id+"'"),a.className&&(b+=" class='"+a.className+"'"),b},_now:function(){return b.performance&&b.performance.now&&b.performance.now()||Date.now()},_traceAsyncOperationStarting:g._traceAsyncOperationStarting,_traceAsyncOperationCompleted:g._traceAsyncOperationCompleted,_traceAsyncCallbackStarting:g._traceAsyncCallbackStarting,_traceAsyncCallbackCompleted:g._traceAsyncCallbackCompleted,isPhone:{get:function(){return v},configurable:!1,enumerable:!0},_setIsPhone:{set:function(a){v=a}}}),c.Namespace._moduleDefine(a,"WinJS",{validation:{get:function(){return w},set:function(a){w=a}}}),c.Namespace.define("WinJS",{strictProcessing:{value:function(){},configurable:!1,writable:!1,enumerable:!1}})}),define("WinJS/Core",["./Core/_Base","./Core/_BaseCoreUtils","./Core/_BaseUtils","./Core/_ErrorFromName","./Core/_Events","./Core/_Global","./Core/_Log","./Core/_Resources","./Core/_Trace","./Core/_WinRT","./Core/_WriteProfilerMark"],function(){}),define("WinJS/_Signal",["./Core/_Base","./Promise/_StateMachine"],function(a,b){"use strict";var c=a.Class.derive(b.PromiseStateMachine,function(a){this._oncancel=a,this._setState(b.state_created),this._run()},{_cancelAction:function(){this._oncancel&&this._oncancel()},_cleanupAction:function(){this._oncancel=null}},{supportedForProcessing:!1}),d=a.Class.define(function(a){this._promise=new c(a)},{promise:{get:function(){return this._promise}},cancel:function(){this._promise.cancel()},complete:function(a){this._promise._completed(a)},error:function(a){this._promise._error(a)},progress:function(a){this._promise._progress(a)}},{supportedForProcessing:!1});return a.Namespace.define("WinJS",{_Signal:d}),d}),define("WinJS/Utilities/_Control",["exports","../Core/_Global","../Core/_Base"],function(a,b,c){"use strict";function d(a,b){e(a,b)}function e(a,b,c){if("object"==typeof b)for(var d=Object.keys(b),e=0,f=d.length;f>e;e++){var g=d[e],h=b[g];if(g.length>2){var i=g[0],j=g[1];if(!("o"!==i&&"O"!==i||"n"!==j&&"N"!==j)&&"function"==typeof h&&a.addEventListener){a.addEventListener(g.substr(2),h);continue}}c||(a[g]=h)}}b.document&&c.Namespace._moduleDefine(a,"WinJS.UI",{DOMEventMixin:c.Namespace._lazy(function(){return{_domElement:null,addEventListener:function(a,b,c){(this.element||this._domElement).addEventListener(a,b,c||!1) -},dispatchEvent:function(a,c){var d=b.document.createEvent("Event");return d.initEvent(a,!1,!1),d.detail=c,"object"==typeof c&&Object.keys(c).forEach(function(a){d[a]=c[a]}),(this.element||this._domElement).dispatchEvent(d)},removeEventListener:function(a,b,c){(this.element||this._domElement).removeEventListener(a,b,c||!1)}}}),setOptions:d,_setOptions:e})}),define("WinJS/Utilities/_ElementUtilities",["exports","../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Promise","../Scheduler"],function(a,b,c,d,e,f){"use strict";function g(a){for(var b=a.length,c=b-1;c>=0;c--)a[c]||(a.splice(c,1),b--);return b}function h(a){var b=a.className||"";return"string"==typeof b?b:b.baseVal||""}function i(a,b){var c=a.className||"";return"string"==typeof c?a.className=b:a.className.baseVal=b,a}function j(a,b){if(a.classList){if(b.indexOf(" ")<0)a.classList.add(b);else{var c=b.split(" ");g(c);for(var d=0,e=c.length;e>d;d++)a.classList.add(c[d])}return a}var f,j=h(a),k=j.split(" "),l=g(k);if(b.indexOf(" ")>=0){var c=b.split(" ");g(c);for(var d=0;l>d;d++){var m=c.indexOf(k[d]);m>=0&&c.splice(m,1)}c.length>0&&(f=c.join(" "))}else{for(var n=!1,d=0;l>d;d++)if(k[d]===b){n=!0;break}n||(f=b)}return f&&(l>0&&k[0].length>0?i(a,j+" "+f):i(a,f)),a}function k(a,b){if(a.classList){if(0===a.classList.length)return a;var c=b.split(" ");g(c);for(var d=0,e=c.length;e>d;d++)a.classList.remove(c[d]);return a}var c,f,j=h(a);if(b.indexOf(" ")>=0)c=b.split(" "),f=g(c);else{if(j.indexOf(b)<0)return a;c=[b],f=1}for(var k,l=j.split(" "),m=g(l),d=m-1;d>=0;d--)c.indexOf(l[d])>=0&&(l.splice(d,1),k=!0);return k&&i(a,l.join(" ")),a}function l(a,b){if(a.classList)return a.classList.toggle(b),a;for(var c=h(a),d=c.trim().split(" "),e=d.length,f=!1,g=0;e>g;g++)d[g]===b&&(f=!0);return f?i(a,d.reduce(function(a,c){return c===b?a:a&&a.length>0?a+" "+c:c},"")):e>0&&d[0].length>0?i(a,c+" "+b):i(a,c+b),a}function m(a,b,c){a.getAttribute(b)!==""+c&&a.setAttribute(b,c)}function n(a,b,c,d){var e=Math.max(b,Math.min(c,+a));return 0===e?0:e||Math.max(b,Math.min(c,d))}function o(a,b){if(!L.test(b)&&M.test(b)){var c=a.style.left;return a.style.left=b,b=a.style.pixelLeft,a.style.left=c,b}return Math.round(parseFloat(b))||0}function p(a,c){return o(a,b.getComputedStyle(a,null)[c])}function q(a,b,c,d,e){var f=b.toLowerCase();a._eventsMap||(a._eventsMap={}),a._eventsMap[f]||(a._eventsMap[f]=[]),a._eventsMap[f].push({listener:c,useCapture:d,data:e})}function r(a,b,c,d){var e=b.toLowerCase(),f=a._eventsMap&&a._eventsMap[e];if(f)for(var g=f.length-1;g>=0;g--){var h=f[g];if(h.listener===c&&!!d==!!h.useCapture)return f.splice(g,1),h}return null}function s(a,b){var c=b.toLowerCase();return a._eventsMap&&a._eventsMap[c]&&a._eventsMap[c].slice(0)||[]}function t(a,b,c){for(;a;){for(var d=s(a,b),e=0,f=d.length;f>e;e++)d[e].listener.call(a,c);a=a.parentNode}}function u(a){return(a.relatedTarget&&"IFRAME"===a.relatedTarget.tagName||a.target&&"IFRAME"===a.target.tagName)&&(a.relatedTarget=null),a}function v(a,b,c,d){if(d)throw"This custom WinJS event only supports bubbling";q(a,b,c,d)}function w(a,b){var c=b.changedTouches,d=null;if(!c)return d;for(var e=0,f=c.length;f>e;e++){var g=c[e],h=new R(b,{pointerType:P.MSPOINTER_TYPE_TOUCH,pointerId:g.identifier,screenX:g.screenX,screenY:g.screenY,clientX:g.clientX,clientY:g.clientY,radiusX:g.radiusX,radiusY:g.radiusY,rotationAngle:g.rotationAngle,force:g.force,_currentTouch:g}),i=a(h);d=d||i}return d}function x(a,b){return b.pointerType=P.MSPOINTER_TYPE_MOUSE,b.pointerId=-1,a(b)}function y(a,b){return a(b)}function z(a,c,d,e){var f,g,h,i,j=c.toLowerCase(),k=S[j];b.MSPointerEvent?(h=function(a){return a._normalizedType=j,i=!0,y(d,a)},a.addEventListener(k.mspointer,h,e)):(k.mouse&&(f=function(a){return a._normalizedType=j,i?void(i=!1):x(d,a)},a.addEventListener(k.mouse,f,e)),k.touch&&(g=function(a){return a._normalizedType=j,i=!0,w(d,a)},a.addEventListener(k.touch,g,e))),q(a,c,d,e,{mouseWrapper:f,touchWrapper:g,mspointerWrapper:h})}function A(a,b,c,d){var e=b.toLowerCase(),f=r(a,b,c,d);if(f){var g=S[e];f.data.mouseWrapper&&a.removeEventListener(g.mouse,f.data.mouseWrapper,d),f.data.touchWrapper&&a.removeEventListener(g.touch,f.data.touchWrapper,d),f.data.mspointerWrapper&&a.removeEventListener(g.mspointer,f.data.mspointerWrapper,d)}}function B(){var a=b.document.createElement("div");a.style.direction="rtl",a.innerHTML="
",b.document.body.appendChild(a);var c=a.firstChild;c.scrollLeft>0&&(_=!0),c.scrollLeft+=100,0===c.scrollLeft&&(ab=!0),b.document.body.removeChild(a),$=!0}function C(a){var c=b.getComputedStyle(a),d=a.scrollLeft;return"rtl"===c.direction&&($||B(),_&&(d=a.scrollWidth-a.clientWidth-d),d=Math.abs(d)),{scrollLeft:d,scrollTop:a.scrollTop}}function D(a,c,d){if(void 0!==c){var e=b.getComputedStyle(a);"rtl"===e.direction&&($||B(),ab?c=-c:_&&(c=a.scrollWidth-a.clientWidth-c)),a.scrollLeft=c}void 0!==d&&(a.scrollTop=d)}function E(a){return C(a)}function F(a,b){b=b||{},D(a,b.scrollLeft,b.scrollTop)}function G(a){return a.uniqueID||a._uniqueID||(a._uniqueID="element__"+ ++db),a.uniqueID||a._uniqueID}function H(a){a.id||(a.id=G(a))}function I(a){var c=b.document.documentElement,d=E(c);return{left:a.clientX+("rtl"===b.document.body.dir?-d.scrollLeft:d.scrollLeft),top:a.clientY+c.scrollTop}}function J(a,b){for(var c=[],d=0,e=b.length;e>d;d++){var f=a.querySelector("."+b[d]);f&&c.push(f)}return c}if(b.document){var K=167,L=/^-?\d+\.?\d*(px)?$/i,M=/^-?\d+/i,N=b.MSGestureEvent||{MSGESTURE_FLAG_BEGIN:1,MSGESTURE_FLAG_CANCEL:4,MSGESTURE_FLAG_END:2,MSGESTURE_FLAG_INERTIA:8,MSGESTURE_FLAG_NONE:0},O=b.MSManipulationEvent||{MS_MANIPULATION_STATE_ACTIVE:1,MS_MANIPULATION_STATE_CANCELLED:6,MS_MANIPULATION_STATE_COMMITTED:7,MS_MANIPULATION_STATE_DRAGGING:5,MS_MANIPULATION_STATE_INERTIA:2,MS_MANIPULATION_STATE_PRESELECT:3,MS_MANIPULATION_STATE_SELECTING:4,MS_MANIPULATION_STATE_STOPPED:0},P=b.MSPointerEvent||{MSPOINTER_TYPE_TOUCH:"touch",MSPOINTER_TYPE_PEN:"pen",MSPOINTER_TYPE_MOUSE:"mouse"},Q=null;b.addEventListener("blur",function(){var a=Q;a&&t(a,"focusout",u({type:"focusout",target:a,relatedTarget:null})),Q=null}),b.document.documentElement.addEventListener("focus",function(a){var b=Q;Q=a.target,b&&t(b,"focusout",u({type:"focusout",target:b,relatedTarget:Q})),Q&&t(Q,"focusin",u({type:"focusin",target:Q,relatedTarget:b}))},!0);var R=function(a,b){b=b||{},this.__eventObject=a;var c=this;Object.keys(b).forEach(function(a){Object.defineProperty(c,a,{value:b[a]})})};["altKey","AT_TARGET","bubbles","BUBBLING_PHASE","button","buttons","cancelable","cancelBubble","CAPTURING_PHASE","clientX","clientY","ctrlKey","currentTarget","defaultPrevented","detail","eventPhase","fromElement","getModifierState","height","hwTimestamp","initEvent","initMouseEvent","initPointerEvent","initUIEvent","isPrimary","isTrusted","layerX","layerY","metaKey","offsetX","offsetY","pageX","pageY","pointerId","pointerType","pressure","preventDefault","relatedTarget","rotation","screenX","screenY","shiftKey","srcElement","stopImmediatePropagation","stopPropagation","target","tiltX","tiltY","timeStamp","toElement","type","view","which","width","x","y","_normalizedType","_fakedBySemanticZoom"].forEach(function(a){Object.defineProperty(R.prototype,a,{get:function(){var b=this.__eventObject[a];return"function"==typeof b?b.bind(this.__eventObject):b},configurable:!0})});var S={pointerdown:{touch:"touchstart",mspointer:"MSPointerDown",mouse:"mousedown"},pointerup:{touch:"touchend",mspointer:"MSPointerUp",mouse:"mouseup"},pointermove:{touch:"touchmove",mspointer:"MSPointerMove",mouse:"mousemove"},pointerenter:{touch:"touchenter",mspointer:"MSPointerEnter",mouse:"mouseenter"},pointerover:{touch:null,mspointer:"MSPointerOver",mouse:"mouseover"},pointerout:{touch:"touchleave",mspointer:"MSPointerOut",mouse:"mouseout"},pointercancel:{touch:"touchcancel",mspointer:"MSPointerCancel",mouse:null}},T={focusout:{register:v,unregister:r},focusin:{register:v,unregister:r}};if(!b.PointerEvent){var U={register:z,unregister:A};T.pointerdown=U,T.pointerup=U,T.pointermove=U,T.pointerenter=U,T.pointerover=U,T.pointerout=U,T.pointercancel=U}var V=c.Class.define(function(a){this._callback=a,this._toDispose=[],this._attributeFilter=[],this._scheduled=!1,this._pendingChanges=[],this._observerCount=0,this._handleCallback=this._handleCallback.bind(this),this._targetElements=[]},{observe:function(a,b){-1===this._targetElements.indexOf(a)&&this._targetElements.push(a),this._observerCount++,b.attributes&&this._addRemovableListener(a,"DOMAttrModified",this._handleCallback),b.attributeFilter&&(this._attributeFilter=b.attributeFilter)},disconnect:function(){this._observerCount=0,this._targetElements=[],this._toDispose.forEach(function(a){a()})},_addRemovableListener:function(a,b,c){a.addEventListener(b,c),this._toDispose.push(function(){a.removeEventListener(b,c)})},_handleCallback:function(a){if(a.stopPropagation(),(!this._attributeFilter.length||-1!==this._attributeFilter.indexOf(a.attrName))&&-1!==this._targetElements.indexOf(a.target)){var b=a.attrName;"tabindex"===b&&(b="tabIndex"),this._pendingChanges.push({type:"attributes",target:a.target,attributeName:b}),1===this._observerCount?this._dispatchEvent():this._scheduled===!1&&(this._scheduled=!0,d._setImmediate(this._dispatchEvent.bind(this)))}},_dispatchEvent:function(){try{this._callback(this._pendingChanges)}finally{this._pendingChanges=[],this._scheduled=!1}}},{_isShim:!0}),W=b.MutationObserver||V,X=null,Y=c.Class.define(function(){b.addEventListener("resize",this._handleResize.bind(this))},{subscribe:function(a,b){a.addEventListener(this._resizeEvent,b),j(a,this._resizeClass)},unsubscribe:function(a,b){k(a,this._resizeClass),a.removeEventListener(this._resizeEvent,b)},_handleResize:function(){for(var a=b.document.querySelectorAll("."+this._resizeClass),c=a.length,d=0;c>d;d++){var e=b.document.createEvent("Event");e.initEvent(this._resizeEvent,!1,!0),a[d].dispatchEvent(e)}},_resizeClass:{get:function(){return"win-element-resize"}},_resizeEvent:{get:function(){return"WinJSElementResize"}}}),Z=new(c.Class.define(function(){this.capture={},this.bubble={}},{addEventListener:function(c,d,e,f){d=d.toLowerCase();var g=this._getHandlers(f),h=g[d];h||(h=this._getListener(d,f),h.refCount=0,g[d]=h,a._addEventListener(b,d,h,f)),h.refCount++,c.addEventListener(this._getEventName(d,f),e),j(c,this._getClassName(d,f))},removeEventListener:function(c,d,e,f){d=d.toLowerCase();var g=this._getHandlers(f),h=g[d];h&&(h.refCount--,0===h.refCount&&(a._removeEventListener(b,d,h,f),delete g[d])),k(c,this._getClassName(d,f)),c.removeEventListener(this._getEventName(d,f),e)},_getHandlers:function(a){return a?this.capture:this.bubble},_getClassName:function(a,b){var c=b?"capture":"bubble";return"win-global-event-"+a+c},_getEventName:function(a,b){var c=b?"capture":"bubble";return"WinJSGlobalEvent-"+a+c},_getListener:function(a,c){var d=function(d){for(var e=b.document.querySelectorAll("."+this._getClassName(a,c)),f=e.length,g=0;f>g;g++){var h=b.document.createEvent("Event");h.initEvent(this._getEventName(a,c),!1,!0),h.detail={originalEvent:d},e[g].dispatchEvent(h)}};return d.bind(this)}})),$=!1,_=!1,ab=!1,bb=b.navigator.msManipulationViewsEnabled||b.navigator.userAgent.indexOf("MSAppHost")>=0,cb=!(!b.MSPointerEvent&&!b.TouchEvent),db=0,eb=".win-selectionborder, .win-selectionbackground, .win-selectioncheckmark, .win-selectioncheckmarkbackground",fb="_msDataKey";c.Namespace._moduleDefine(a,"WinJS.Utilities",{_dataKey:fb,_supportsSnapPoints:{get:function(){return bb}},_supportsTouchDetection:{get:function(){return cb}},_uniqueID:G,_ensureId:H,_clamp:n,_getCursorPos:I,_getElementsByClasses:J,_createGestureRecognizer:function(){if(b.MSGesture)return new b.MSGesture;var a=function(){};return{addEventListener:a,removeEventListener:a,addPointer:a,stop:a}},_supportsTouchActionCrossSlide:{get:function(){if(void 0===this._supportsTouchActionCrossSlideValue){this._supportsTouchActionCrossSlideValue=!1;var a=d._browserStyleEquivalents["touch-action"];if(a){var c=b.document.createElement("div");c.style.touchAction="cross-slide-x",b.document.body.appendChild(c),this._supportsTouchActionCrossSlideValue="cross-slide-x"===b.getComputedStyle(c).touchAction,b.document.body.removeChild(c)}}return this._supportsTouchActionCrossSlideValue}},_MSGestureEvent:N,_MSManipulationEvent:O,_elementsFromPoint:function(a,c){if(b.document.msElementsFromPoint)return b.document.msElementsFromPoint(a,c);var d=b.document.elementFromPoint(a,c);return d?[d]:null},_matchesSelector:function(a,b){var c=a.matches||a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector;return c.call(a,b)},_selectionPartsSelector:eb,_isSelectionRendered:function(a){return a.querySelectorAll(eb).length>0},_addEventListener:function(a,b,c,e){var f=b&&b.toLowerCase(),g=T[f],h=d._browserEventEquivalents[b];g?g.register(a,b,c,e):h?a.addEventListener(h,c,e):a.addEventListener(b,c,e)},_removeEventListener:function(a,b,c,e){var f=b&&b.toLowerCase(),g=T[f],h=d._browserEventEquivalents[b];g?g.unregister(a,b,c,e):h?a.removeEventListener(h,c,e):a.removeEventListener(b,c,e)},_initEventImpl:function(a,b,c){c=c.toLowerCase();var d=S[c];if(d)switch(a.toLowerCase()){case"pointer":arguments[2]=d.mspointer;break;default:arguments[2]=d[a.toLowerCase()]}b["init"+a+"Event"].apply(b,Array.prototype.slice.call(arguments,2))},_initMouseEvent:function(a){this._initEventImpl.apply(this,["Mouse",a].concat(Array.prototype.slice.call(arguments,1)))},_initPointerEvent:function(a){this._initEventImpl.apply(this,["Pointer",a].concat(Array.prototype.slice.call(arguments,1)))},_PointerEventProxy:R,_bubbleEvent:t,_setPointerCapture:function(a,b){a.setPointerCapture&&a.setPointerCapture(b)},_releasePointerCapture:function(a,b){a.releasePointerCapture&&a.releasePointerCapture(b)},_MSPointerEvent:P,_zoomToDuration:K,_zoomTo:function(a,c){a.msZoomTo?a.msZoomTo(c):f.schedule(function(){var e=C(a),f="number"==typeof a._zoomToDestX?a._zoomToDestX:e.scrollLeft,g="number"==typeof a._zoomToDestY?a._zoomToDestY:e.scrollTop,h=b.getComputedStyle(a),i=a.scrollWidth-parseInt(h.width,10)-parseInt(h.paddingLeft,10)-parseInt(h.paddingRight,10),j=a.scrollHeight-parseInt(h.height,10)-parseInt(h.paddingTop,10)-parseInt(h.paddingBottom,10);"number"!=typeof c.contentX&&(c.contentX=f),"number"!=typeof c.contentY&&(c.contentY=g);var k=n(c.contentX,0,i),l=n(c.contentY,0,j);if(k!==f||l!==g){a._zoomToId=a._zoomToId||0,a._zoomToId++,a._zoomToDestX=k,a._zoomToDestY=l;var m=a._zoomToId,o=d._now(),p=(a._zoomToDestX-e.scrollLeft)/K,q=(a._zoomToDestY-e.scrollTop)/K,r=function(){var b=d._now()-o;a._zoomToId===m&&(b>K?(D(a,a._zoomToDestX,a._zoomToDestY),a._zoomToDestX=null,a._zoomToDestY=null):(D(a,e.scrollLeft+b*p,e.scrollTop+b*q),d._requestAnimationFrame(r)))};d._requestAnimationFrame(r)}},f.Priority.high,null,"WinJS.Utilities._zoomTo")},_setActive:function(a,c){var d=!0;try{if(b.HTMLElement&&b.HTMLElement.prototype.setActive)a.setActive();else{var e,f;c&&(e=c.scrollLeft,f=c.scrollTop),a.focus(),c&&(c.scrollLeft=e,c.scrollTop=f)}}catch(g){d=!1}return d},_MutationObserver:W,_resizeNotifier:{get:function(){return X||(X=new Y),X}},_globalListener:Z,_addInsertedNotifier:function(c){var e=b.document.createElement("div");return e.style[d._browserStyleEquivalents["animation-name"].scriptName]="WinJS-node-inserted",e.style[d._browserStyleEquivalents["animation-duration"].scriptName]="0.01s",e.style.position="absolute",c.appendChild(e),a._addEventListener(e,"animationStart",function(a){if("WinJS-node-inserted"===a.animationName){var a=b.document.createEvent("Event");a.initEvent("WinJSNodeInserted",!1,!0),c.dispatchEvent(a)}},!1),e},_setFlexStyle:function(a,b){var c=a.style;"undefined"!=typeof b.grow&&(c.msFlexPositive=b.grow,c.webkitFlexGrow=b.grow,c.flexGrow=b.grow),"undefined"!=typeof b.shrink&&(c.msFlexNegative=b.shrink,c.webkitFlexShrink=b.shrink,c.flexShrink=b.shrink),"undefined"!=typeof b.basis&&(c.msFlexPreferredSize=b.basis,c.webkitFlexBasis=b.basis,c.flexBasis=b.basis)},Key:{backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause:19,capsLock:20,escape:27,space:32,pageUp:33,pageDown:34,end:35,home:36,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40,insert:45,deleteKey:46,num0:48,num1:49,num2:50,num3:51,num4:52,num5:53,num6:54,num7:55,num8:56,num9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,leftWindows:91,rightWindows:92,menu:93,numPad0:96,numPad1:97,numPad2:98,numPad3:99,numPad4:100,numPad5:101,numPad6:102,numPad7:103,numPad8:104,numPad9:105,multiply:106,add:107,subtract:109,decimalPoint:110,divide:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,numLock:144,scrollLock:145,browserBack:166,browserForward:167,semicolon:186,equal:187,comma:188,dash:189,period:190,forwardSlash:191,graveAccent:192,openBracket:219,backSlash:220,closeBracket:221,singleQuote:222,IME:229},data:function(a){return a[fb]||(a[fb]={}),a[fb]},hasClass:function(a,b){if(a.classList)return a.classList.contains(b);for(var c=h(a),d=c.trim().split(" "),e=d.length,f=0;e>f;f++)if(d[f]===b)return!0;return!1},addClass:j,removeClass:k,toggleClass:l,_setAttribute:m,getRelativeLeft:function(a,b){if(!a)return 0;for(var c=a.offsetLeft,d=a.parentNode;d&&(c-=d.offsetLeft,d!==b);)d=d.parentNode;return c},getRelativeTop:function(a,b){if(!a)return 0;for(var c=a.offsetTop,d=a.parentNode;d&&(c-=d.offsetTop,d!==b);)d=d.parentNode;return c},getScrollPosition:E,setScrollPosition:F,empty:function(a){if(a.childNodes&&a.childNodes.length>0)for(var b=a.childNodes.length-1;b>=0;b--)a.removeChild(a.childNodes.item(b));return a},_isDOMElement:function(a){return a&&"object"==typeof a&&"string"==typeof a.tagName},getContentWidth:function(a){var b=p(a,"borderLeftWidth")+p(a,"borderRightWidth"),c=p(a,"paddingLeft")+p(a,"paddingRight");return a.offsetWidth-b-c},getTotalWidth:function(a){var b=p(a,"marginLeft")+p(a,"marginRight");return a.offsetWidth+b},getContentHeight:function(a){var b=p(a,"borderTopWidth")+p(a,"borderBottomWidth"),c=p(a,"paddingTop")+p(a,"paddingBottom");return a.offsetHeight-b-c},getTotalHeight:function(a){var b=p(a,"marginTop")+p(a,"marginBottom");return a.offsetHeight+b},getPosition:function(a){for(var c=a,d=a.offsetParent,e=a.offsetTop,f=a.offsetLeft;(a=a.parentNode)&&a!==b.document.body&&a!==b.document.documentElement;){e-=a.scrollTop;var g=b.document.defaultView.getComputedStyle(a,null).direction;f-="rtl"!==g?a.scrollLeft:-C(a).scrollLeft,a===d&&(e+=a.offsetTop,f+=a.offsetLeft,d=a.offsetParent)}return{left:f,top:e,width:c.offsetWidth,height:c.offsetHeight}},getTabIndex:function(a){var b=/BUTTON|COMMAND|MENUITEM|OBJECT|SELECT|TEXTAREA/;if(a.disabled)return-1;var c=a.getAttribute("tabindex");if(null===c||void 0===c){var d=a.tagName;return b.test(d)||a.href&&("A"===d||"AREA"===d||"LINK"===d)||"INPUT"===d&&"hidden"!==a.type||"TH"===d&&a.sorted?0:-1}return parseInt(c,10)},convertToPixels:o,eventWithinElement:function(a,b){var c=b.relatedTarget;return c&&c!==a?a.contains(c):!1},_deprecated:function(a){b.console&&b.console.warn(a)},_syncRenderer:function(a,c){if(c=c||"div","function"==typeof a)return function(b,c){return c?(c.appendChild(a(b)),c):a(b)};var d;return"function"==typeof a.render?d=a:a.winControl&&"function"==typeof a.winControl.render&&(d=a.winControl),function(a,e){var f=e||b.document.createElement(c);if(d.render(a,f),e)return e;var g=f.firstElementChild;if(g&&f.dispose){var h=g.dispose;g.dispose=function(){g.dispose=h,f.appendChild(g),f.dispose()}}return g}},_getLowestTabIndexInList:function(a){for(var b,c=0,d=0;d0&&(c>b||!c)&&(c=b);return c},_getHighestTabIndexInList:function(a){for(var b,c=0,d=0;dc&&(c=b)}return c},_trySetActive:function(a,b){return this._tryFocus(a,!0,b)},_tryFocus:function(c,d,e){var f=b.document.activeElement;if(c===f)return!0;var g=a.getTabIndex(c)>=0;return g?(d?a._setActive(c,e):c.focus(),f!==b.document.activeElement?!0:!1):!1},_setActiveFirstFocusableElement:function(a,b){return this._focusFirstFocusableElement(a,!0,b)},_focusFirstFocusableElement:function(a,b,c){for(var d,e=a.getElementsByTagName("*"),f=this._getLowestTabIndexInList(e),g=0;f;){for(d=0;d=0;d--)if(e[d].tabIndex===f){if(this._tryFocus(e[d],b,c))return!0}else g=0;d--)if(e[d].tabIndex===f){if(this._tryFocus(e[d],b,c))return!0}else g0;d--)if(this._tryFocus(e[d],b,c))return!0;return!1}})}}),define("WinJS/Utilities/_Dispose",["exports","../Core/_Base","../Core/_WriteProfilerMark","./_ElementUtilities"],function(a,b,c,d){"use strict";function e(a,b){var c=!1;d.addClass(a,"win-disposable");var e=a.winControl||a;e.dispose=function(){c||(c=!0,f(a),b&&b())}}function f(a){if(a){c("WinJS.Utilities.disposeSubTree,StartTM");for(var b=a.querySelectorAll(".win-disposable"),d=0,e=b.length;e>d;){var f=b[d];f.winControl&&f.winControl.dispose&&f.winControl.dispose(),f.dispose&&f.dispose(),d+=f.querySelectorAll(".win-disposable").length+1}c("WinJS.Utilities.disposeSubTree,StopTM")}}function g(a){if(a){var b=!1;a.winControl&&a.winControl.dispose&&(a.winControl.dispose(),b=!0),a.dispose&&(a.dispose(),b=!0),b||f(a)}}b.Namespace._moduleDefine(a,"WinJS.Utilities",{markDisposable:e,disposeSubTree:f,_disposeElement:g})}),define("WinJS/ControlProcessor/_OptionsLexer",["exports","../Core/_Base"],function optionsLexerInit(exports,_Base){"use strict";_Base.Namespace._moduleDefine(exports,"WinJS.UI",{_optionsLexer:_Base.Namespace._lazy(function(){function reservedWord(a){return{type:tokenType.reservedWord,value:a,length:a.length,keyword:!0}}function reservedWordLookup(a){switch(a.charCodeAt(0)){case 98:switch(a){case"break":return reservedWord(a)}break;case 99:switch(a){case"case":case"catch":case"class":case"const":case"continue":return reservedWord(a)}break;case 100:switch(a){case"debugger":case"default":case"delete":case"do":return reservedWord(a)}break;case 101:switch(a){case"else":case"enum":case"export":case"extends":return reservedWord(a)}break;case 102:switch(a){case"false":return tokens.falseLiteral;case"finally":case"for":case"function":return reservedWord(a)}break;case 105:switch(a){case"if":case"import":case"in":case"instanceof":return reservedWord(a)}break;case 110:switch(a){case"null":return tokens.nullLiteral;case"new":return reservedWord(a)}break;case 114:switch(a){case"return":return reservedWord(a)}break;case 115:switch(a){case"super":case"switch":return reservedWord(a)}break;case 116:switch(a){case"true":return tokens.trueLiteral;case"this":return tokens.thisKeyword;case"throw":case"try":case"typeof":return reservedWord(a)}break;case 118:switch(a){case"var":case"void":return reservedWord(a)}break;case 119:switch(a){case"while":case"with":return reservedWord(a)}}}var tokenType={leftBrace:1,rightBrace:2,leftBracket:3,rightBracket:4,separator:5,colon:6,semicolon:7,comma:8,dot:9,nullLiteral:10,trueLiteral:11,falseLiteral:12,numberLiteral:13,stringLiteral:14,identifier:15,reservedWord:16,thisKeyword:17,leftParentheses:18,rightParentheses:19,eof:20,error:21},tokens={leftBrace:{type:tokenType.leftBrace,length:1},rightBrace:{type:tokenType.rightBrace,length:1},leftBracket:{type:tokenType.leftBracket,length:1},rightBracket:{type:tokenType.rightBracket,length:1},colon:{type:tokenType.colon,length:1},semicolon:{type:tokenType.semicolon,length:1},comma:{type:tokenType.comma,length:1},dot:{type:tokenType.dot,length:1},nullLiteral:{type:tokenType.nullLiteral,length:4,value:null,keyword:!0},trueLiteral:{type:tokenType.trueLiteral,length:4,value:!0,keyword:!0},falseLiteral:{type:tokenType.falseLiteral,length:5,value:!1,keyword:!0},thisKeyword:{type:tokenType.thisKeyword,length:4,value:"this",keyword:!0},leftParentheses:{type:tokenType.leftParentheses,length:1},rightParentheses:{type:tokenType.rightParentheses,length:1},eof:{type:tokenType.eof,length:0}},lexer=function(){function isIdentifierStartCharacter(a,b,c,d){switch(a){case a>=97&&122>=a&&a:case a>=65&&90>=a&&a:case 36:case 95:return!0;case isWhitespace(a)&&a:case isLineTerminator(a)&&a:return!1;case a>127&&a:return!0;case 92:return d>c+4&&117===b.charCodeAt(c)&&isHexDigit(b.charCodeAt(c+1))&&isHexDigit(b.charCodeAt(c+2))&&isHexDigit(b.charCodeAt(c+3))&&isHexDigit(b.charCodeAt(c+4))?!0:!1;default:return!1}}function readIdentifierPart(a,b,c){for(var d=!1;c>b;){var e=a.charCodeAt(b);switch(e){case e>=97&&122>=e&&e:case e>=65&&90>=e&&e:case 36:case 95:break;case isWhitespace(e)&&e:case isLineTerminator(e)&&e:return d?-b:b;case e>127&&e:break;case e>=48&&57>=e&&e:break;case 92:if(c>b+5&&117===a.charCodeAt(b+1)&&isHexDigit(a.charCodeAt(b+2))&&isHexDigit(a.charCodeAt(b+3))&&isHexDigit(a.charCodeAt(b+4))&&isHexDigit(a.charCodeAt(b+5))){b+=5,d=!0;break}return d?-b:b;default:return d?-b:b}b++}return d?-b:b}function readIdentifierToken(a,b,c){var d=b;b=readIdentifierPart(a,b,c);var e=!1;0>b&&(b=-b,e=!0);var f=a.substr(d,b-d);e&&(f=""+JSON.parse('"'+f+'"'));var g=reservedWordLookup(f);return g?g:{type:tokenType.identifier,length:b-d,value:f}}function isHexDigit(a){switch(a){case a>=48&&57>=a&&a:case a>=97&&102>=a&&a:case a>=65&&70>=a&&a:return!0;default:return!1}}function readHexIntegerLiteral(a,b,c){for(;c>b&&isHexDigit(a.charCodeAt(b));)b++;return b}function isDecimalDigit(a){switch(a){case a>=48&&57>=a&&a:return!0;default:return!1}}function readDecimalDigits(a,b,c){for(;c>b&&isDecimalDigit(a.charCodeAt(b));)b++;return b}function readDecimalLiteral(a,b,c){if(b=readDecimalDigits(a,b,c),c>b&&46===a.charCodeAt(b)&&c>b+1&&isDecimalDigit(a.charCodeAt(b+1))&&(b=readDecimalDigits(a,b+2,c)),c>b){var d=a.charCodeAt(b);if(101===d||69===d){var e=b+1;c>e&&(d=a.charCodeAt(e),(43===d||45===d)&&e++,b=readDecimalDigits(a,e,c))}}return b}function readDecimalLiteralToken(a,b,c,d){var c=readDecimalLiteral(a,c,d),e=c-b;return{type:tokenType.numberLiteral,length:e,value:+a.substr(b,e)}}function isLineTerminator(a){switch(a){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function readStringLiteralToken(text,offset,limit){var startOffset=offset,quoteCharCode=text.charCodeAt(offset),hasEscape=!1;for(offset++;limit>offset&&!isLineTerminator(text.charCodeAt(offset));){if(limit>offset+1&&92===text.charCodeAt(offset))switch(hasEscape=!0,text.charCodeAt(offset+1)){case quoteCharCode:case 92:case 10:case 8232:case 8233:offset+=2;continue;case 13:offset+=limit>offset+2&&10===text.charCodeAt(offset+2)?3:2;continue}if(offset++,text.charCodeAt(offset-1)===quoteCharCode)break}var length=offset-startOffset;hasEscape=hasEscape||1===length||text.charCodeAt(offset-1)!==quoteCharCode;var stringValue;return stringValue=hasEscape?eval(text.substr(startOffset,length)):text.substr(startOffset+1,length-2),{type:tokenType.stringLiteral,length:length,value:stringValue}}function isWhitespace(a){switch(a){case 9:case 11:case 12:case 32:case 160:case 65279:return!0;case 5760>a&&a:return!1;case 5760:case 6158:case a>=8192&&8202>=a&&a:case 8239:case 8287:case 12288:return!0;default:return!1}}function readWhitespace(a,b,c){for(;c>b;){var d=a.charCodeAt(b);switch(d){case 9:case 11:case 12:case 32:case 160:case 65279:break;case 5760>d&&d:return b;case 5760:case 6158:case d>=8192&&8202>=d&&d:case 8239:case 8287:case 12288:break;default:return b}b++}return b}function lex(a,b,c,d){for(;d>c;){var e,f=c,g=b.charCodeAt(c++);switch(g){case isWhitespace(g)&&g:case isLineTerminator(g)&&g:c=readWhitespace(b,c,d),e={type:tokenType.separator,length:c-f};continue;case 34:case 39:e=readStringLiteralToken(b,c-1,d);break;case 40:e=tokens.leftParentheses;break;case 41:e=tokens.rightParentheses;break;case 43:case 45:if(d>c){var h=b.charCodeAt(c);if(46===h){var i=c+1;if(d>i&&isDecimalDigit(b.charCodeAt(i))){e=readDecimalLiteralToken(b,f,i,d);break}}else if(isDecimalDigit(h)){e=readDecimalLiteralToken(b,f,c,d);break}}e={type:tokenType.error,length:c-f,value:b.substring(f,c)};break;case 44:e=tokens.comma;break;case 46:e=tokens.dot,d>c&&isDecimalDigit(b.charCodeAt(c))&&(e=readDecimalLiteralToken(b,f,c,d));break;case 48:var j=d>c?b.charCodeAt(c):0;if(120===j||88===j){var k=readHexIntegerLiteral(b,c+1,d);e={type:tokenType.numberLiteral,length:k-f,value:+b.substr(f,k-f)}}else e=readDecimalLiteralToken(b,f,c,d);break;case g>=49&&57>=g&&g:e=readDecimalLiteralToken(b,f,c,d);break;case 58:e=tokens.colon;break;case 59:e=tokens.semicolon;break;case 91:e=tokens.leftBracket;break;case 93:e=tokens.rightBracket;break;case 123:e=tokens.leftBrace;break;case 125:e=tokens.rightBrace;break;default:if(isIdentifierStartCharacter(g,b,c,d)){e=readIdentifierToken(b,c-1,d);break}e={type:tokenType.error,length:c-f,value:b.substring(f,c)}}c+=e.length-1,a.push(e)}}return function(a){var b=[];return lex(b,a,0,a.length),b.push(tokens.eof),b}}();return lexer.tokenType=tokenType,lexer})})}),define("WinJS/ControlProcessor/_OptionsParser",["exports","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Resources","./_OptionsLexer"],function(a,b,c,d,e,f){"use strict";function g(){throw"Illegal"}function h(a){for(var b=Object.keys(j.tokenType),c=0,d=b.length;d>c;c++)if(a===j.tokenType[b[c]])return b[c];return""}var i={get invalidOptionsRecord(){return"Invalid options record: '{0}', expected to be in the format of an object literal. {1}"},get unexpectedTokenExpectedToken(){return"Unexpected token: {0}, expected token: {1}, at offset {2}"},get unexpectedTokenExpectedTokens(){return"Unexpected token: {0}, expected one of: {1}, at offset {2}"},get unexpectedTokenGeneric(){return"Unexpected token: {0}, at offset {1}"}},j=b.Namespace.defineWithParent(null,null,{lexer:b.Namespace._lazy(function(){return f._optionsLexer}),tokenType:b.Namespace._lazy(function(){return f._optionsLexer.tokenType})}),k=c.requireSupportedForProcessing,l=b.Namespace.defineWithParent(null,null,{BaseInterpreter:b.Namespace._lazy(function(){return b.Class.define(null,{_error:function(a){throw new d("WinJS.UI.ParseError",a)},_currentOffset:function(){for(var a=this._pos,b=0,c=0;a>c;c++)b+=this._tokens[c].length;return b},_evaluateAccessExpression:function(a){switch(this._current.type){case j.tokenType.dot:switch(this._read(),this._current.type){case j.tokenType.identifier:case this._current.keyword&&this._current.type:var b=this._current.value;return this._read(),a[b];default:this._unexpectedToken(j.tokenType.identifier,j.tokenType.reservedWord)}return;case j.tokenType.leftBracket:this._read();var c=this._evaluateValue();return this._read(j.tokenType.rightBracket),a[c]}},_evaluateAccessExpressions:function(a){for(;;)switch(this._current.type){case j.tokenType.dot:case j.tokenType.leftBracket:a=this._evaluateAccessExpression(a);break;default:return a}},_evaluateIdentifier:function(a,b){var c=this._readIdentifier();return b=a?b[c]:this._context[c]},_evaluateIdentifierExpression:function(){var a=this._evaluateIdentifier(!1);switch(this._current.type){case j.tokenType.dot:case j.tokenType.leftBracket:return this._evaluateAccessExpressions(a);default:return a}},_initialize:function(a,b,c,d){this._originalSource=b,this._tokens=a,this._context=c,this._functionContext=d,this._pos=0,this._current=this._tokens[0]},_read:function(a){a&&this._current.type!==a&&this._unexpectedToken(a),this._current!==j.tokenType.eof&&(this._current=this._tokens[++this._pos]) -},_peek:function(a){return a&&this._current.type!==a?void 0:this._current!==j.tokenType.eof?this._tokens[this._pos+1]:void 0},_readAccessExpression:function(a){switch(this._current.type){case j.tokenType.dot:switch(this._read(),this._current.type){case j.tokenType.identifier:case this._current.keyword&&this._current.type:a.push(this._current.value),this._read();break;default:this._unexpectedToken(j.tokenType.identifier,j.tokenType.reservedWord)}return;case j.tokenType.leftBracket:return this._read(),a.push(this._evaluateValue()),void this._read(j.tokenType.rightBracket)}},_readAccessExpressions:function(a){for(;;)switch(this._current.type){case j.tokenType.dot:case j.tokenType.leftBracket:this._readAccessExpression(a);break;default:return}},_readIdentifier:function(){var a=this._current.value;return this._read(j.tokenType.identifier),a},_readIdentifierExpression:function(){var a=[];switch(this._peek(j.tokenType.thisKeyword)&&0===a.length?this._read():a.push(this._readIdentifier()),this._current.type){case j.tokenType.dot:case j.tokenType.leftBracket:this._readAccessExpressions(a)}return a},_unexpectedToken:function(a){var b=this._current.type===j.tokenType.error?"'"+this._current.value+"'":h(this._current.type);if(a)if(1===arguments.length)a=h(a),this._error(e._formatString(i.unexpectedTokenExpectedToken,b,a,this._currentOffset()));else{for(var c=[],d=0,f=arguments.length;f>d;d++)c.push(h(arguments[d]));a=c.join(", "),this._error(e._formatString(i.unexpectedTokenExpectedTokens,b,a,this._currentOffset()))}else this._error(e._formatString(i.unexpectedTokenGeneric,b,this._currentOffset()))}},{supportedForProcessing:!1})}),OptionsInterpreter:b.Namespace._lazy(function(){return b.Class.derive(l.BaseInterpreter,function(a,b,c,d){this._initialize(a,b,c,d)},{_error:function(a){throw new d("WinJS.UI.ParseError",e._formatString(i.invalidOptionsRecord,this._originalSource,a))},_evaluateArrayLiteral:function(){var a=[];return this._read(j.tokenType.leftBracket),this._readArrayElements(a),this._read(j.tokenType.rightBracket),a},_evaluateObjectLiteral:function(){var a={};return this._read(j.tokenType.leftBrace),this._readObjectProperties(a),this._tryReadComma(),this._read(j.tokenType.rightBrace),a},_evaluateOptionsLiteral:function(){var a=this._evaluateValue();return this._current.type!==j.tokenType.eof&&this._unexpectedToken(j.tokenType.eof),a},_peekValue:function(){switch(this._current.type){case j.tokenType.falseLiteral:case j.tokenType.nullLiteral:case j.tokenType.stringLiteral:case j.tokenType.trueLiteral:case j.tokenType.numberLiteral:case j.tokenType.leftBrace:case j.tokenType.leftBracket:case j.tokenType.identifier:return!0;default:return!1}},_evaluateValue:function(){switch(this._current.type){case j.tokenType.falseLiteral:case j.tokenType.nullLiteral:case j.tokenType.stringLiteral:case j.tokenType.trueLiteral:case j.tokenType.numberLiteral:var a=this._current.value;return this._read(),a;case j.tokenType.leftBrace:return this._evaluateObjectLiteral();case j.tokenType.leftBracket:return this._evaluateArrayLiteral();case j.tokenType.identifier:return k(this._peek(j.tokenType.identifier).type===j.tokenType.leftParentheses?this._evaluateObjectQueryExpression():this._evaluateIdentifierExpression());default:this._unexpectedToken(j.tokenType.falseLiteral,j.tokenType.nullLiteral,j.tokenType.stringLiteral,j.tokenType.trueLiteral,j.tokenType.numberLiteral,j.tokenType.leftBrace,j.tokenType.leftBracket,j.tokenType.identifier)}},_tryReadElement:function(a){return this._peekValue()?(a.push(this._evaluateValue()),!0):!1},_tryReadComma:function(){return this._peek(j.tokenType.comma)?(this._read(),!0):!1},_tryReadElision:function(a){for(var b=!1;this._tryReadComma();)a.push(void 0),b=!0;return b},_readArrayElements:function(a){for(;!this._peek(j.tokenType.rightBracket);){var b=this._tryReadElision(a),c=this._tryReadElement(a),d=this._peek(j.tokenType.comma);if(!c||!d){if(c||b)break;this._unexpectedToken(j.tokenType.falseLiteral,j.tokenType.nullLiteral,j.tokenType.stringLiteral,j.tokenType.trueLiteral,j.tokenType.numberLiteral,j.tokenType.leftBrace,j.tokenType.leftBracket,j.tokenType.identifier);break}this._read()}},_readObjectProperties:function(a){for(;!this._peek(j.tokenType.rightBrace);){var b=this._tryReadObjectProperty(a),c=this._peek(j.tokenType.comma);if(!b||!c){if(b)break;this._unexpectedToken(j.tokenType.numberLiteral,j.tokenType.stringLiteral,j.tokenType.identifier);break}this._read()}},_tryReadObjectProperty:function(a){switch(this._current.type){case j.tokenType.numberLiteral:case j.tokenType.stringLiteral:case j.tokenType.identifier:case this._current.keyword&&this._current.type:var b=this._current.value;return this._read(),this._read(j.tokenType.colon),a[b]=this._evaluateValue(),!0;default:return!1}},_failReadObjectProperty:function(){this._unexpectedToken(j.tokenType.numberLiteral,j.tokenType.stringLiteral,j.tokenType.identifier,j.tokenType.reservedWord)},_evaluateObjectQueryExpression:function(){var a=this._current.value;this._read(j.tokenType.identifier),this._read(j.tokenType.leftParentheses);var b=this._current.value;this._read(j.tokenType.stringLiteral),this._read(j.tokenType.rightParentheses);var c=k(this._functionContext[a])(b);switch(this._current.type){case j.tokenType.dot:case j.tokenType.leftBracket:return this._evaluateAccessExpressions(c);default:return c}},run:function(){return this._evaluateOptionsLiteral()}},{supportedForProcessing:!1})}),OptionsParser:b.Namespace._lazy(function(){return b.Class.derive(l.OptionsInterpreter,function(a,b){this._initialize(a,b)},{_evaluateAccessExpression:g,_evaluateAccessExpressions:g,_evaluateIdentifier:g,_evaluateIdentifierExpression:g,_evaluateObjectQueryExpression:g,_evaluateValue:function(){switch(this._current.type){case j.tokenType.falseLiteral:case j.tokenType.nullLiteral:case j.tokenType.stringLiteral:case j.tokenType.trueLiteral:case j.tokenType.numberLiteral:var a=this._current.value;return this._read(),a;case j.tokenType.leftBrace:return this._evaluateObjectLiteral();case j.tokenType.leftBracket:return this._evaluateArrayLiteral();case j.tokenType.identifier:return this._peek(j.tokenType.identifier).type===j.tokenType.leftParentheses?this._readObjectQueryExpression():this._readIdentifierExpression();default:this._unexpectedToken(j.tokenType.falseLiteral,j.tokenType.nullLiteral,j.tokenType.stringLiteral,j.tokenType.trueLiteral,j.tokenType.numberLiteral,j.tokenType.leftBrace,j.tokenType.leftBracket,j.tokenType.identifier)}},_readIdentifierExpression:function(){var a=l.BaseInterpreter.prototype._readIdentifierExpression.call(this);return new p(a)},_readObjectQueryExpression:function(){var a=this._current.value;this._read(j.tokenType.identifier),this._read(j.tokenType.leftParentheses);var b=this._current.value;this._read(j.tokenType.stringLiteral),this._read(j.tokenType.rightParentheses);var c=new o(a,b);switch(this._current.type){case j.tokenType.dot:case j.tokenType.leftBracket:var d=[c];return this._readAccessExpressions(d),new p(d);default:return c}}},{supportedForProcessing:!1})})}),m=function(a,b,c){var d=j.lexer(a),e=new l.OptionsInterpreter(d,a,b||{},c||{});return e.run()};Object.defineProperty(m,"_BaseInterpreter",{get:function(){return l.BaseInterpreter}});var n=function(a){var b=j.lexer(a),c=new l.OptionsParser(b,a);return c.run()},o=b.Class.define(function(a,b){this.target=a,this.arg0Value=b});o.supportedForProcessing=!1;var p=b.Class.define(function(a){this.parts=a});p.supportedForProcessing=!1,b.Namespace._moduleDefine(a,"WinJS.UI",{optionsParser:m,_optionsParser:n,_CallExpression:o,_IdentifierExpression:p})}),define("WinJS/ControlProcessor",["exports","./Core/_Global","./Core/_Base","./Core/_BaseUtils","./Core/_Log","./Core/_Resources","./Core/_WriteProfilerMark","./ControlProcessor/_OptionsParser","./Promise","./Utilities/_ElementUtilities"],function(a,b,c,d,e,f,g,h,i,j){"use strict";function k(a){var c=function(c){for(var d,e=a;e;){if(e.msParentSelectorScope){var f=e.parentNode;if(f&&(d=j._matchesSelector(f,c)?f:f.querySelector(c)))break}e=e.parentNode}return d||b.document.querySelector(c)};return s(c)}function l(a,c){return new i(function(d,g){try{var i,j=a.getAttribute("data-win-options");j&&(i=h.optionsParser(j,b,{select:k(a)}));var l,m=1;c.length>2&&m++;var n=function(){m--,0===m&&(a.winControl=a.winControl||l,d(l))};l=new c(a,i,n),n()}catch(o){e.log&&e.log(f._formatString(r.errorActivatingControl,o&&o.message),"winjs controls","error"),g(o)}})}function m(a,c){return new i(function(d,e){g("WinJS.UI:processAll,StartTM"),a=a||b.document.body;var f=0,h="[data-win-control]",i=a.querySelectorAll(h),j=[];!c&&n(a)&&j.push(a);for(var k=0,m=i.length;m>k;k++)j.push(i[k]);if(0===j.length)return g("WinJS.UI:processAll,StopTM"),void d(a);for(var o=function(){f-=1,0>f&&(g("WinJS.UI:processAll,StopTM"),d(a))},q=new Array(j.length),k=0,m=j.length;m>k;k++){var r,s=j[k],u=s.winControl;u?r=u.constructor:q[k]=r=n(s),r&&r.isDeclarativeControlContainer&&(k+=s.querySelectorAll(h).length)}g("WinJS.UI:processAllActivateControls,StartTM");for(var k=0,m=j.length;m>k;k++){var v=q[k],s=j[k];if(v&&!s.winControl&&(f++,l(s,v).then(o,function(a){g("WinJS.UI:processAll,StopTM"),e(a)}),v.isDeclarativeControlContainer&&"function"==typeof v.isDeclarativeControlContainer)){var w=t(v.isDeclarativeControlContainer);w(s.winControl,p)}}g("WinJS.UI:processAllActivateControls,StopTM"),o()})}function n(a){if(a.getAttribute){var c=a.getAttribute("data-win-control");if(c)return d._getMemberFiltered(c.trim(),b,t)}}function o(a,b){return k(b)(a)}function p(a,b){return u?m(a,b):d.ready().then(function(){return u=!0,m(a,b)})}function q(a){if(a&&a.winControl)return i.as(a.winControl);var b=n(a);return b?l(a,b):i.as()}if(b.document){var r={get errorActivatingControl(){return"Error activating control: {0}"}},s=d.markSupportedForProcessing,t=d.requireSupportedForProcessing,u=!1;c.Namespace._moduleDefine(a,"WinJS.UI",{scopedSelect:o,processAll:p,process:q})}}),define("WinJS/Utilities/_ElementListUtilities",["exports","../Core/_Global","../Core/_Base","../ControlProcessor","../Promise","../Utilities/_Control","../Utilities/_ElementUtilities"],function(a,b,c,d,e,f,g){"use strict";b.document&&c.Namespace._moduleDefine(a,"WinJS.Utilities",{QueryCollection:c.Class.derive(Array,function(a){a&&this.include(a)},{forEach:function(a,b){return Array.prototype.forEach.apply(this,[a,b]),this},get:function(a){return this[a]},setAttribute:function(a,b){return this.forEach(function(c){c.setAttribute(a,b)}),this},getAttribute:function(a){return this.length>0?this[0].getAttribute(a):void 0},addClass:function(a){return this.forEach(function(b){g.addClass(b,a)}),this},hasClass:function(a){return this.length>0?g.hasClass(this[0],a):!1},removeClass:function(a){return this.forEach(function(b){g.removeClass(b,a)}),this},toggleClass:function(a){return this.forEach(function(b){g.toggleClass(b,a)}),this},listen:function(a,b,c){return this.forEach(function(d){d.addEventListener(a,b,c)}),this},removeEventListener:function(a,b,c){return this.forEach(function(d){d.removeEventListener(a,b,c)}),this},setStyle:function(a,b){return this.forEach(function(c){c.style[a]=b}),this},clearStyle:function(a){return this.forEach(function(b){b.style[a]=""}),this},query:function(b){var c=new a.QueryCollection;return this.forEach(function(a){c.include(a.querySelectorAll(b))}),c},include:function(a){if("number"==typeof a.length)for(var b=0;bj;j++){var c,d;do c=i.shift(),d=c&&h[c];while(c&&!d);if(!d)break;delete h[c];try{d().then(b,b)}catch(e){b()}}k--}function f(a,b,d){var f,j="w"+g++;return new c(function(c,g,k){var l=function(){return f=a().then(c,g,k)};l.data=b,h[j]=l,d?i.unshift(j):i.push(j),e()},function(){delete h[j],f&&f.cancel()})}var g=0,h={},i=[];a=a||3;var j=0,k=0;this.sort=function(a){i.sort(function(b,c){return b=h[b],c=h[c],void 0===b&&void 0===c?0:void 0===b?1:void 0===c?-1:a(b.data,c.data)})},this.queue=f},{},{supportedForProcessing:!1})})})}),define("WinJS/Utilities/_VersionManager",["exports","../Core/_Base","../_Signal"],function(a,b,c){"use strict";b.Namespace._moduleDefine(a,"WinJS.UI",{_VersionManager:b.Namespace._lazy(function(){return b.Class.define(function(){this._unlocked=new c,this._unlocked.complete()},{_cancelCount:0,_notificationCount:0,_updateCount:0,_version:0,locked:{get:function(){return 0!==this._notificationCount||0!==this._updateCount}},noOutstandingNotifications:{get:function(){return 0===this._notificationCount}},version:{get:function(){return this._version}},unlocked:{get:function(){return this._unlocked.promise}},_dispose:function(){this._unlocked&&(this._unlocked.cancel(),this._unlocked=null)},beginUpdating:function(){this._checkLocked(),this._updateCount++},endUpdating:function(){this._updateCount--,this._checkUnlocked()},beginNotifications:function(){this._checkLocked(),this._notificationCount++},endNotifications:function(){this._notificationCount--,this._checkUnlocked()},_checkLocked:function(){this.locked||(this._dispose(),this._unlocked=new c)},_checkUnlocked:function(){this.locked||this._unlocked.complete()},receivedNotification:function(){if(this._version++,this._cancel){var a=this._cancel;this._cancel=null,a.forEach(function(a){a&&a.cancel()})}},cancelOnNotification:function(a){return this._cancel||(this._cancel=[],this._cancelCount=0),this._cancel[this._cancelCount++]=a,this._cancelCount-1},clearCancelOnNotification:function(a){this._cancel&&delete this._cancel[a]}},{supportedForProcessing:!1})})})}),define("WinJS/Utilities/_ItemsManager",["exports","../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Resources","../Core/_WriteProfilerMark","../Promise","../_Signal","../Scheduler","../Utilities/_ElementUtilities","./_ParallelWorkQueue","./_VersionManager"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";function n(a){return t(function(b,c){return b.then(function(b){return b?a(b,c):null})})}function o(a,b){var c=!1,d=!1;return a.isOnScreen().then(function(a){c=a}),b.isOnScreen().then(function(a){d=a}),(c?0:1)-(d?0:1)}function p(a){if(!/^blob:/i.test(a)&&(B[a]=!0,C.push(a),C.length>E)){var b=C;B={},C=[];for(var c=0,d=b.length-1;d>=0&&D>c;d--){var e=b[d];B[e]||(B[e]=!0,c++)}}}function q(a,c,d){var e=A++;return w=w||new l._ParallelWorkQueue(6),w.queue(function(){return new h(function(d,f){j.schedule(function(e){c||(c=b.document.createElement("img"));var g=B[a];g?(p(a),c.src=a,d(c)):e.setPromise(new h(function(e){var g=b.document.createElement("img"),h=function(){g.removeEventListener("load",i,!1),g.removeEventListener("error",j,!1),c.src=a;var b=new Date;b-y>z&&(y=b,w.sort(o))},i=function(){e(k)},j=function(){e(l)},k=function(){p(a),h(),d(c)},l=function(){h(),f(c)};g.addEventListener("load",i,!1),g.addEventListener("error",j,!1),g.src=a}))},j.Priority.normal,null,"WinJS.UI._ImageLoader._image"+e)})},d)}function r(a){return B[a]}function s(){return b.document.createElement("div")}var t=d.markSupportedForProcessing,u=k._uniqueID,v=n(function(a){if(k._isDOMElement(a.data))return a.data;var c=a.data;void 0===c?c="undefined":null===c?c="null":"object"==typeof c&&(c=JSON.stringify(c));var d=b.document.createElement("span");return d.textContent=c.toString(),d});c.Namespace._moduleDefine(a,"WinJS.UI",{_normalizeRendererReturn:function(a){if(a){if("object"==typeof a&&a.element){var b=h.as(a.element);return b.then(function(b){return{element:b,renderComplete:h.as(a.renderComplete)}})}var b=h.as(a);return b.then(function(a){return{element:a,renderComplete:h.as()}})}return{element:null,renderComplete:h.as()}},simpleItemRenderer:n,_trivialHtmlRenderer:v});var w,x={get listDataSourceIsInvalid(){return"Invalid argument: dataSource must be an object."},get itemRendererIsInvalid(){return"Invalid argument: itemRenderer must be a function."},get itemIsInvalid(){return"Invalid argument: item must be a DOM element that was returned by the Items Manager, and has not been replaced or released."}},y=new Date,z=64,A=0,B={},C=[],D=250,E=1e3;c.Namespace._moduleDefine(a,"WinJS.UI",{_seenUrl:p,_getSeenUrls:function(){return B},_getSeenUrlsMRU:function(){return C},_seenUrlsMaxSize:D,_seenUrlsMRUMaxSize:E}),c.Namespace._moduleDefine(a,"WinJS.UI",{_createItemsManager:c.Namespace._lazy(function(){var b=c.Class.define(function(a){this._itemsManager=a},{beginNotifications:function(){this._itemsManager._versionManager.beginNotifications(),this._itemsManager._beginNotifications()},inserted:function(a,b,c){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._inserted(a,b,c)},changed:function(a,b){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._changed(a,b)},moved:function(a,b,c){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._moved(a,b,c)},removed:function(a,b){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._removed(a,b)},countChanged:function(a,b){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._countChanged(a,b)},indexChanged:function(a,b,c){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._indexChanged(a,b,c)},affectedRange:function(a){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._affectedRange(a)},endNotifications:function(){this._itemsManager._versionManager.endNotifications(),this._itemsManager._endNotifications()},reload:function(){this._itemsManager._versionManager.receivedNotification(),this._itemsManager._reload()}},{supportedForProcessing:!1}),d=c.Class.define(function(a,c,d,f){if(!a)throw new e("WinJS.UI.ItemsManager.ListDataSourceIsInvalid",x.listDataSourceIsInvalid);if(!c)throw new e("WinJS.UI.ItemsManager.ItemRendererIsInvalid",x.itemRendererIsInvalid);this.$pipeline_callbacksMap={},this._listDataSource=a,this.dataSource=this._listDataSource,this._elementNotificationHandler=d,this._listBinding=this._listDataSource.createListBinding(new b(this)),f&&(f.ownerElement&&(this._ownerElement=f.ownerElement),this._profilerId=f.profilerId,this._versionManager=f.versionManager||new m._VersionManager),this._indexInView=f&&f.indexInView,this._itemRenderer=c,this._viewCallsReady=f&&f.viewCallsReady,this._elementMap={},this._handleMap={},this._jobOwner=j.createOwnerToken(),this._notificationsSent=!1,this._listBinding.last&&(this.lastItem=function(){return this._elementForItem(this._listBinding.last())})},{_itemFromItemPromise:function(a){return this._waitForElement(this._elementForItem(a))},_itemFromItemPromiseThrottled:function(a){return this._waitForElement(this._elementForItem(a,!0))},_itemAtIndex:function(a){var b=this._itemPromiseAtIndex(a);this._itemFromItemPromise(b).then(null,function(a){return b.cancel(),h.wrapError(a)})},_itemPromiseAtIndex:function(a){return this._listBinding.fromIndex(a)},_waitForElement:function(a){var b=this;return new h(function(c){if(a)if(b.isPlaceholder(a)){var d=u(a),e=b.$pipeline_callbacksMap[d];e?e.push(c):b.$pipeline_callbacksMap[d]=[c]}else c(a);else c(a)})},_updateElement:function(a,b){var c=u(b),d=this.$pipeline_callbacksMap[c];d&&(delete this.$pipeline_callbacksMap[c],d.forEach(function(b){b(a)}))},_firstItem:function(){return this._waitForElement(this._elementForItem(this._listBinding.first()))},_lastItem:function(){return this._waitForElement(this._elementForItem(this._listBinding.last()))},_previousItem:function(a){return this._listBinding.jumpToItem(this._itemFromElement(a)),this._waitForElement(this._elementForItem(this._listBinding.previous()))},_nextItem:function(a){return this._listBinding.jumpToItem(this._itemFromElement(a)),this._waitForElement(this._elementForItem(this._listBinding.next()))},_itemFromPromise:function(a){return this._waitForElement(this._elementForItem(a))},isPlaceholder:function(a){return!!this._recordFromElement(a).elementIsPlaceholder},itemObject:function(a){return this._itemFromElement(a)},release:function(){this._listBinding.release(),this._elementNotificationHandler=null,this._listBinding=null,this._jobOwner.cancelAll(),this._released=!0},releaseItemPromise:function(a){var b=a.handle,c=this._handleMap[b];c?this._releaseRecord(c):a.cancel()},releaseItem:function(a){var b=this._elementMap[u(a)];this._releaseRecord(b)},_releaseRecord:function(a){a&&(a.renderPromise&&a.renderPromise.cancel(),a.itemPromise&&a.itemPromise.cancel(),a.imagePromises&&a.imagePromises.forEach(function(a){a.cancel()}),a.itemReadyPromise&&a.itemReadyPromise.cancel(),a.renderComplete&&a.renderComplete.cancel(),this._removeEntryFromElementMap(a.element),this._removeEntryFromHandleMap(a.itemPromise.handle,a),a.item&&this._listBinding.releaseItem(a.item))},refresh:function(){return this._listDataSource.invalidateAll()},_handlerToNotifyCaresAboutItemAvailable:function(){return!(!this._elementNotificationHandler||!this._elementNotificationHandler.itemAvailable)},_handlerToNotify:function(){return this._notificationsSent||(this._notificationsSent=!0,this._elementNotificationHandler&&this._elementNotificationHandler.beginNotifications&&this._elementNotificationHandler.beginNotifications()),this._elementNotificationHandler},_defineIndexProperty:function(a,b,c){c.indexObserved=!1,Object.defineProperty(a,"index",{get:function(){return c.indexObserved=!0,b.index}})},_renderPlaceholder:function(a){var b={},c=s(b);return a.elementIsPlaceholder=!0,c},_renderItem:function(b,c,d){function e(){b.then(function(a){f._writeProfilerMark(m+",StartTM"),k.complete(a),f._writeProfilerMark(m+",StopTM")})}var f=this,g=f._indexInView||function(){return!0},k=new i,l=new i,m="_renderItem("+c.item.index+"):itemPromise",n=!0,o=!1;b.then(function(a){o=!0,n&&k.complete(a)}),n=!1;var p=k.promise.then(function(a){if(a){var b=Object.create(a);return f._defineIndexProperty(b,a,c),b.ready=l.promise,b.isOnScreen=function(){return h.wrap(g(a.index))},b.loadImage=function(a,d){var e=q(a,d,b);return c.imagePromises?c.imagePromises.push(e):c.imagePromises=[e],e},b.isImageCached=r,b}return h.cancel});o||(d?(c.stage0=b,c.startStage1=function(){c.startStage1=null,e()}):e()),p.handle=b.handle,c.itemPromise=p,c.itemReadyPromise=l.promise,c.readyComplete=!1;var s="_renderItem("+c.item.index+(o?"):syncItemPromise":"):placeholder"),t="_renderItem("+c.item.index+"):itemReady";this._writeProfilerMark(s+",StartTM");var u=h.as(f._itemRenderer(p,c.element)).then(a._normalizeRendererReturn).then(function(a){return f._released?h.cancel:(p.then(function(a){if(c.pendingReady=function(){c.pendingReady&&(c.pendingReady=null,c.readyComplete=!0,f._writeProfilerMark(t+",StartTM"),l.complete(a),f._writeProfilerMark(t+",StopTM"))},!f._viewCallsReady){var b=j.schedule(c.pendingReady,j.Priority.normal,c,"WinJS.UI._ItemsManager._pendingReady");b.owner=f._jobOwner}}),a)});return this._writeProfilerMark(s+",StopTM"),u},_replaceElement:function(a,b){this._removeEntryFromElementMap(a.element),a.element=b,this._addEntryToElementMap(b,a)},_changeElement:function(a,b,c){a.renderPromise=null;var d=a.element,e=a.item;a.newItem&&(a.item=a.newItem,a.newItem=null),this._replaceElement(a,b),a.item&&a.elementIsPlaceholder&&!c?(a.elementDelayed=null,a.elementIsPlaceholder=!1,this._updateElement(a.element,d),this._handlerToNotifyCaresAboutItemAvailable()&&this._handlerToNotify().itemAvailable(a.element,d)):this._handlerToNotify().changed(b,d,e)},_elementForItem:function(a,b){var c,d=a.handle,e=this._recordFromHandle(d,!0);if(!d)return null;if(e)c=e.element;else{e={item:a,itemPromise:a},this._addEntryToHandleMap(d,e);var f=this,g=!1,h=!1,i=f._renderItem(a,e,b).then(function(b){var d=b.element;e.renderComplete=b.renderComplete,a.then(function(a){e.item=a,a||(g=!0,c=null)}),h=!0,e.renderPromise=null,d&&(c?f._presentElements(e,d):c=d)});g||(h||(e.renderPromise=i),c||(c=this._renderPlaceholder(e)),e.element=c,this._addEntryToElementMap(c,e),a.retain())}return c},_addEntryToElementMap:function(a,b){this._elementMap[u(a)]=b},_removeEntryFromElementMap:function(a){delete this._elementMap[u(a)]},_recordFromElement:function(a){var b=this._elementMap[u(a)];if(!b)throw this._writeProfilerMark("_recordFromElement:ItemIsInvalidError,info"),new e("WinJS.UI.ItemsManager.ItemIsInvalid",x.itemIsInvalid);return b},_addEntryToHandleMap:function(a,b){this._handleMap[a]=b},_removeEntryFromHandleMap:function(a){delete this._handleMap[a]},_handleInHandleMap:function(a){return!!this._handleMap[a]},_recordFromHandle:function(a,b){var c=this._handleMap[a];if(!c&&!b)throw new e("WinJS.UI.ItemsManager.ItemIsInvalid",x.itemIsInvalid);return c},_foreachRecord:function(a){var b=this._handleMap;for(var c in b){var d=b[c];a(d)}},_itemFromElement:function(a){return this._recordFromElement(a).item},_elementFromHandle:function(a){if(a){var b=this._recordFromHandle(a,!0);if(b&&b.element)return b.element}return null},_inserted:function(a,b,c){this._handlerToNotify().inserted(a,b,c)},_changed:function(a,b){if(this._handleInHandleMap(b.handle)){var c=this._recordFromHandle(b.handle);c.renderPromise&&c.renderPromise.cancel(),c.itemPromise&&c.itemPromise.cancel(),c.imagePromises&&c.imagePromises.forEach(function(a){a.cancel()}),c.itemReadyPromise&&c.itemReadyPromise.cancel(),c.renderComplete&&c.renderComplete.cancel(),c.newItem=a;var d=this,e=h.as(a);e.handle=c.itemPromise.handle,c.renderPromise=this._renderItem(e,c).then(function(a){c.renderComplete=a.renderComplete,d._changeElement(c,a.element,!1),d._presentElements(c)})}},_moved:function(a,b,c){var d=this._elementFromHandle(a.handle),e=this._elementFromHandle(b),f=this._elementFromHandle(c);this._handlerToNotify().moved(d,e,f,a),this._presentAllElements()},_removed:function(a,b){if(this._handleInHandleMap(a)){var c=this._elementFromHandle(a);this._handlerToNotify().removed(c,b,a),this.releaseItem(c),this._presentAllElements()}else this._handlerToNotify().removed(null,b,a)},_countChanged:function(a,b){this._elementNotificationHandler&&this._elementNotificationHandler.countChanged&&this._handlerToNotify().countChanged(a,b)},_indexChanged:function(a,b,c){var d;if(this._handleInHandleMap(a)){var e=this._recordFromHandle(a);if(e.indexObserved)if(e.elementIsPlaceholder)this._changeElement(e,this._renderPlaceholder(e),!0);else if(e.item.index!==b){e.renderPromise&&e.renderPromise.cancel(),e.renderComplete&&e.renderComplete.cancel();var f=e.newItem||e.item;f.index=b;var g=h.as(f);g.handle=e.itemPromise.handle;var i=this;e.renderPromise=this._renderItem(g,e).then(function(a){e.renderComplete=a.renderComplete,i._changeElement(e,a.element,!1),i._presentElements(e)})}d=e.element}this._elementNotificationHandler&&this._elementNotificationHandler.indexChanged&&this._handlerToNotify().indexChanged(d,b,c)},_affectedRange:function(a){this._elementNotificationHandler&&this._elementNotificationHandler.updateAffectedRange&&this._handlerToNotify().updateAffectedRange(a)},_beginNotifications:function(){this._externalBegin=!0,this._handlerToNotify()},_endNotifications:function(){this._notificationsSent&&(this._notificationsSent=!1,this._externalBegin=!1,this._elementNotificationHandler&&this._elementNotificationHandler.endNotifications&&this._elementNotificationHandler.endNotifications())},_reload:function(){this._elementNotificationHandler&&this._elementNotificationHandler.reload&&this._elementNotificationHandler.reload()},_postEndNotifications:function(){if(this._notificationsSent&&!this._externalBegin&&!this._endNotificationsPosted){this._endNotificationsPosted=!0;var a=this;j.schedule(function(){a._endNotificationsPosted=!1,a._endNotifications()},j.Priority.high,null,"WinJS.UI._ItemsManager._postEndNotifications")}},_presentElement:function(a){var b=a.element;this._replaceElement(a,a.elementDelayed),a.elementDelayed=null,a.elementIsPlaceholder=!1,this._updateElement(a.element,b),this._handlerToNotifyCaresAboutItemAvailable()&&this._handlerToNotify().itemAvailable(a.element,b)},_presentElements:function(a,b){b&&(a.elementDelayed=b),this._listBinding.jumpToItem(a.item),a.elementDelayed&&this._presentElement(a),this._postEndNotifications()},_presentAllElements:function(){var a=this;this._foreachRecord(function(b){b.elementDelayed&&a._presentElement(b)})},_writeProfilerMark:function(a){var b="WinJS.UI._ItemsManager:"+(this._profilerId?this._profilerId+":":":")+a;g(b)}},{supportedForProcessing:!1});return function(a,b,c,e){return new d(a,b,c,e)}})})}),define("WinJS/Utilities/_TabContainer",["exports","../Core/_Global","../Core/_Base","../Core/_BaseUtils","./_ElementUtilities"],function(a,b,c,d,e){"use strict";function f(a,c,d,e){var f=b.document.createEvent("UIEvent");return f.initUIEvent(c,!1,!!e,b,d?1:0),!a.dispatchEvent(f)}function g(a){var c=b.getComputedStyle(a);if("none"===c.display||"hidden"===c.visibility)return b.NodeFilter.FILTER_REJECT;if(a._tabContainer)return b.NodeFilter.FILTER_ACCEPT;if(a.parentNode&&a.parentNode._tabContainer){var d=a.parentNode._tabContainer.childFocus;return d&&a.contains(d)?j(a)>=0?b.NodeFilter.FILTER_ACCEPT:b.NodeFilter.FILTER_SKIP:b.NodeFilter.FILTER_REJECT}var e=j(a);return e>=0?b.NodeFilter.FILTER_ACCEPT:b.NodeFilter.FILTER_SKIP}function h(a){function b(){if(a.currentNode._tabContainer)e=e.concat(h(a));else if(j(a.currentNode)>=0&&e.push(a.currentNode),a.firstChild()){do b();while(a.nextSibling());a.parentNode()}}var c=a.currentNode,d=c._tabContainer.childFocus,e=[];return d?(a.currentNode=d,b(),a.currentNode=c,e):[]}function i(a,c){function d(){var a=b.document.createElement("DIV");return a.tabIndex=c?c:0,a.setAttribute("aria-hidden",!0),a}var e=a.parentNode,g=d();e.insertBefore(g,a);var h=d();e.insertBefore(h,a.nextSibling),g.addEventListener("focus",function(){f(a,"onTabEnter",!0)},!0),h.addEventListener("focus",function(){f(a,"onTabEnter",!1)},!0),this._catcherBegin=g,this._catcherEnd=h;var i=1;this.addRef=function(){i++},this.release=function(){return 0===--i&&(g.parentElement&&e.removeChild(g),h.parentElement&&e.removeChild(h)),i},this.updateTabIndex=function(a){g.tabIndex=a,h.tabIndex=a}}if(b.document){var j=e.getTabIndex,k={attach:function(a,b){return a["win-trackTabHelperObject"]?a["win-trackTabHelperObject"].addRef():a["win-trackTabHelperObject"]=new i(a,b),a["win-trackTabHelperObject"]},detach:function(a){a["win-trackTabHelperObject"].release()||delete a["win-trackTabHelperObject"]}};c.Namespace._moduleDefine(a,"WinJS.UI",{TrackTabBehavior:k,TabContainer:c.Class.define(function(a){this._element=a,this._tabIndex=0,a._tabContainer=this,null===a.getAttribute("tabindex")&&(a.tabIndex=-1); -var b=this;a.addEventListener("onTabEnter",function(c){var d=f(b._element,"onTabEntered",c.detail,!0);d||(b.childFocus?b.childFocus.focus():a.focus())}),a.addEventListener("keydown",function(a){var c=a.target;if(a.keyCode===e.Key.tab){var g=!a.shiftKey,h=b._hasMoreElementsInTabOrder(c,g);if(!h){var i=f(b._element,"onTabExiting",g,!0);if(i)return a.stopPropagation(),void a.preventDefault();for(var j=b._element.querySelectorAll("a[href],area[href],button,command,input,link,menuitem,object,select,textarea,th[sorted],[tabindex]"),k=j.length,l=[],m=0;k>m;m++){var n=j[m];l.push(n.tabIndex),n.tabIndex=-1}b._elementTabHelper[g?"_catcherEnd":"_catcherBegin"].tabIndex=-1;var o=function(){c.removeEventListener("blur",o,!1);for(var a=0;k>a;a++)-1!==l[a]&&(j[a].tabIndex=l[a]);b._elementTabHelper._catcherBegin.tabIndex=b._tabIndex,b._elementTabHelper._catcherEnd.tabIndex=b._tabIndex};c.addEventListener("blur",o,!1),d._yieldForEvents(function(){f(b._element,"onTabExit",g)})}}}),this._elementTabHelper=k.attach(a,this._tabIndex),this._elementTabHelper._catcherBegin.tabIndex=0,this._elementTabHelper._catcherEnd.tabIndex=0},{dispose:function(){k.detach(this._element,this._tabIndex)},childFocus:{set:function(a){a!==this._focusElement&&(this._focusElement=a&&a.parentNode?a:null)},get:function(){return this._focusElement}},tabIndex:{set:function(a){this._tabIndex=a,this._elementTabHelper.updateTabIndex(a)},get:function(){return this._tabIndex}},_element:null,_skipper:function(a){a.stopPropagation(),a.preventDefault()},_hasMoreElementsInTabOrder:function(a,c){if(!this.childFocus)return!1;for(var d=b.document.createTreeWalker(this._element,b.NodeFilter.SHOW_ELEMENT,g,!1),e=h(d),f=0;f0;return!1},_focusElement:null},{supportedForProcessing:!1})})}}),define("WinJS/Utilities/_KeyboardBehavior",["exports","../Core/_Global","../Core/_Base","./_Control","./_ElementUtilities","./_TabContainer"],function(a,b,c,d,e,f){"use strict";if(b.document){var g=!1;e._addEventListener(b,"pointerdown",function(){g&&(g=!1)},!0),b.addEventListener("keydown",function(){g||(g=!0)},!0),c.Namespace._moduleDefine(a,"WinJS.UI",{_keyboardSeenLast:{get:function(){return g},set:function(a){g=a}},_WinKeyboard:function(b){e._addEventListener(b,"pointerdown",function(a){e.removeClass(a.target,"win-keyboard")},!0),b.addEventListener("keydown",function(a){e.addClass(a.target,"win-keyboard")},!0),e._addEventListener(b,"focusin",function(b){a._keyboardSeenLast&&e.addClass(b.target,"win-keyboard")},!1),e._addEventListener(b,"focusout",function(a){e.removeClass(a.target,"win-keyboard")},!1)},_KeyboardBehavior:c.Namespace._lazy(function(){var a=e.Key,g=c.Class.define(function(a,c){a=a||b.document.createElement("DIV"),c=c||{},a._keyboardBehavior=this,this._element=a,this._fixedDirection=g.FixedDirection.width,this._fixedSize=1,this._currentIndex=0,d.setOptions(this,c),this._tabContainer=new f.TabContainer(this.scroller||this._element),this._tabContainer.tabIndex=0,this._element.children.length>0&&(this._tabContainer.childFocus=this._getFocusInto(this._element.children[0])),this._element.addEventListener("keydown",this._keyDownHandler.bind(this)),e._addEventListener(this._element,"pointerdown",this._MSPointerDownHandler.bind(this))},{element:{get:function(){return this._element}},fixedDirection:{get:function(){return this._fixedDirection},set:function(a){this._fixedDirection=a}},fixedSize:{get:function(){return this._fixedSize},set:function(a){+a===a&&(a=Math.max(1,a),this._fixedSize=a)}},currentIndex:{get:function(){return this._element.children.length>0?this._currentIndex:-1},set:function(a){if(+a===a){var b=this._element.children.length;a=Math.max(0,Math.min(b-1,a)),this._currentIndex=a,this._tabContainer.childFocus=this._getFocusInto(this._element.children[a])}}},getAdjacent:{get:function(){return this._getAdjacent},set:function(a){this._getAdjacent=a}},scroller:{get:function(){return this._scroller},set:function(a){this._scroller=a}},_keyDownHandler:function(c){if(!c.altKey){if(e._matchesSelector(c.target,".win-interactive, .win-interactive *"))return;var d=!1,f=this.currentIndex,h=this._element.children.length-1,i="rtl"===b.getComputedStyle(this._element).direction,j=i?a.rightArrow:a.leftArrow,k=i?a.leftArrow:a.rightArrow,l=this.getAdjacent&&this.getAdjacent(f,c.keyCode);if(+l===l)d=!0,f=l;else{var m=f%this.fixedSize;c.keyCode===j?(d=!0,this.fixedDirection===g.FixedDirection.width?0!==m&&f--:f>=this.fixedSize&&(f-=this.fixedSize)):c.keyCode===k?(d=!0,this.fixedDirection===g.FixedDirection.width?m!==this.fixedSize-1&&f++:f+this.fixedSize-m<=h&&(f+=this.fixedSize)):c.keyCode===a.upArrow?(d=!0,this.fixedDirection===g.FixedDirection.height?0!==m&&f--:f>=this.fixedSize&&(f-=this.fixedSize)):c.keyCode===a.downArrow?(d=!0,this.fixedDirection===g.FixedDirection.height?m!==this.fixedSize-1&&f++:f+this.fixedSize-m<=h&&(f+=this.fixedSize)):c.keyCode===a.home?(d=!0,f=0):c.keyCode===a.end?(d=!0,f=this._element.children.length-1):c.keyCode===a.pageUp?d=!0:c.keyCode===a.pageDown&&(d=!0)}f=Math.max(0,Math.min(this._element.children.length-1,f)),f!==this.currentIndex&&(this._focus(f,c.keyCode),(c.keyCode===j||c.keyCode===k||c.keyCode===a.upArrow||c.keyCode===a.downArrow)&&c.stopPropagation()),d&&c.preventDefault()}},_getFocusInto:function(a,b){return a&&a.winControl&&a.winControl._getFocusInto?a.winControl._getFocusInto(b):a},_focus:function(a,b){a=+a===a?a:this.currentIndex;var c=this._element.children[a];c&&(c=this._getFocusInto(c,b),this.currentIndex=a,e._setActive(c,this.scroller))},_MSPointerDownHandler:function(a){var b=a.target;if(b!==this.element){for(;b.parentNode!==this.element;)b=b.parentNode;for(var c=-1;b;)c++,b=b.previousElementSibling;this.currentIndex=c}}},{FixedDirection:{height:"height",width:"width"}});return g})})}}),define("WinJS/Utilities/_SafeHtml",["exports","../Core/_Global","../Core/_Base","../Core/_ErrorFromName","../Core/_Resources"],function(a,b,c,d){"use strict";var e,f,g,h,i,j,k={get nonStaticHTML(){return"Unable to add dynamic content. A script attempted to inject dynamic content, or elements previously modified dynamically, that might be unsafe. For example, using the innerHTML property or the document.write method to add a script element will generate this exception. If the content is safe and from a trusted source, use a method to explicitly manipulate elements and attributes, such as createElement, or use setInnerHTMLUnsafe (or other unsafe method)."}};e=f=function(a,b){a.innerHTML=b},g=h=function(a,b){a.outerHTML=b},i=j=function(a,b,c){a.insertAdjacentHTML(b,c)};var l=b.MSApp;if(l)f=function(a,b){l.execUnsafeLocalFunction(function(){a.innerHTML=b})},h=function(a,b){l.execUnsafeLocalFunction(function(){a.outerHTML=b})},j=function(a,b,c){l.execUnsafeLocalFunction(function(){a.insertAdjacentHTML(b,c)})};else if(b.msIsStaticHTML){var m=function(a){if(!b.msIsStaticHTML(a))throw new d("WinJS.Utitilies.NonStaticHTML",k.nonStaticHTML)};e=function(a,b){m(b),a.innerHTML=b},g=function(a,b){m(b),a.outerHTML=b},i=function(a,b,c){m(c),a.insertAdjacentHTML(b,c)}}c.Namespace._moduleDefine(a,"WinJS.Utilities",{setInnerHTML:e,setInnerHTMLUnsafe:f,setOuterHTML:g,setOuterHTMLUnsafe:h,insertAdjacentHTML:i,insertAdjacentHTMLUnsafe:j})}),define("WinJS/Utilities/_Select",["exports","../Core/_Base","./_SafeHtml"],function(a,b,c){"use strict";b.Namespace._moduleDefine(a,"WinJS.UI",{_Select:b.Namespace._lazy(function(){function a(a){return a.replace(h,function(a){return i[a]||""})}function d(a){return a.replace(j,"")}function e(a){return this[a]}function f(){return this.length}function g(a){return a.getValue||(a.getValue=e),a.getLength||(a.getLength=f),a}var h=/[&<>'"]/g,i={"&":"&","<":"<",">":">","'":"'",'"':"""},j=/[\u200e\u200f]/g;return b.Class.define(function(a,b){this._dataSource=g(b.dataSource),this._index=b.index||0,this._domElement=a,this._domElement.tabIndex=0,b.disabled&&this.setDisabled(b.disabled);var c=this;this._domElement.addEventListener("change",function(){c._index=c._domElement.selectedIndex},!1),this._createSelectElement()},{_index:0,_dataSource:null,dataSource:{get:function(){return this._dataSource},set:function(a){this._dataSource=g(a),this._domElement&&this._createSelectElement()}},setDisabled:function(a){a?this._domElement.setAttribute("disabled","disabled"):this._domElement.removeAttribute("disabled")},_createSelectElement:function(){for(var b=this._dataSource.getLength(),e="",f=0;b>f;f++){var g=""+this._dataSource.getValue(f),h=a(g),i=d(h);e+=""}c.setInnerHTMLUnsafe(this._domElement,e),this._domElement.selectedIndex=this._index},index:{get:function(){return Math.max(0,Math.min(this._index,this._dataSource.getLength()-1))},set:function(a){if(this._index!==a){this._index=a;var b=this._domElement;b&&b.selectedIndex!==a&&(b.selectedIndex=a)}}},value:{get:function(){return this._dataSource.getValue(this.index)}}})})})}),define("WinJS/Utilities/_UI",["exports","../Core/_BaseCoreUtils","../Core/_Base"],function(a,b,c){"use strict";c.Namespace._moduleDefine(a,"WinJS.UI",{eventHandler:function(a){return b.markSupportedForProcessing(a)},Orientation:{horizontal:"horizontal",vertical:"vertical"},CountResult:{unknown:"unknown"},CountError:{noResponse:"noResponse"},DataSourceStatus:{ready:"ready",waiting:"waiting",failure:"failure"},FetchError:{noResponse:"noResponse",doesNotExist:"doesNotExist"},EditError:{noResponse:"noResponse",canceled:"canceled",notPermitted:"notPermitted",noLongerMeaningful:"noLongerMeaningful"},ObjectType:{item:"item",groupHeader:"groupHeader"},SelectionMode:{none:"none",single:"single",multi:"multi"},TapBehavior:{directSelect:"directSelect",toggleSelect:"toggleSelect",invokeOnly:"invokeOnly",none:"none"},SwipeBehavior:{select:"select",none:"none"},GroupHeaderTapBehavior:{invoke:"invoke",none:"none"}})}),define("WinJS/Utilities/_Xhr",["../Core/_Global","../Core/_Base","../Promise","../Scheduler"],function(a,b,c,d){"use strict";function e(a,b,c){d.schedule(function(){a(b)},c,null,"WinJS.xhr")}function f(){}function g(b){var g;return new c(function(c,h,i){var j=d.currentPriority;g=new a.XMLHttpRequest,g.onreadystatechange=function(){return g._canceled?void(g.onreadystatechange=f):void(4===g.readyState?(g.status>=200&&g.status<300||0===g.status?e(c,g,j):e(h,g,j),g.onreadystatechange=f):e(i,g,j))},g.open(b.type||"GET",b.url,!0,b.user,b.password),g.responseType=b.responseType||"",Object.keys(b.headers||{}).forEach(function(a){g.setRequestHeader(a,b.headers[a])}),b.customRequestInitializer&&b.customRequestInitializer(g),void 0===b.data?g.send():g.send(b.data)},function(){g.onreadystatechange=f,g._canceled=!0,g.abort()})}return b.Namespace.define("WinJS",{xhr:g}),g}),define("WinJS/Utilities",["./Utilities/_Control","./Utilities/_Dispose","./Utilities/_ElementListUtilities","./Utilities/_ElementUtilities","./Utilities/_Hoverable","./Utilities/_ItemsManager","./Utilities/_KeyboardBehavior","./Utilities/_ParallelWorkQueue","./Utilities/_SafeHtml","./Utilities/_Select","./Utilities/_TabContainer","./Utilities/_UI","./Utilities/_VersionManager","./Utilities/_Xhr"],function(){}),define("WinJS/Fragments",["exports","./Core/_Global","./Core/_WinRT","./Core/_Base","./Core/_BaseUtils","./Core/_ErrorFromName","./Core/_Resources","./Core/_WriteProfilerMark","./Promise","./Utilities/_ElementUtilities","./Utilities/_SafeHtml","./Utilities/_Xhr"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a,c,d,e){var f=a.src,g=!f;if(g&&(f=c+"script["+d+"]"),f=f.toLowerCase(),!(f in F)){var h=null;F[f]=!0;var j=b.document.createElement("script");if(a.language&&j.setAttribute("language","javascript"),j.setAttribute("type",a.type),j.setAttribute("async","false"),a.id&&j.setAttribute("id",a.id),g){var k=a.text;h=e.then(function(){j.text=k}).then(null,function(){})}else h=new i(function(b){j.onload=j.onerror=function(){b()},j.setAttribute("src",a.src)});return E.appendChild(j),{promise:h,inline:g}}}function n(a,b,c){var d=(b+"script["+c+"]").toLowerCase();d in G||(G[d]=!0,E.appendChild(a.cloneNode(!0)))}function o(a){var b=a.href.toLowerCase();if(!(b in H)){H[b]=!0;var c=a.cloneNode(!1);c.href=a.href,E.appendChild(c)}}function p(a,c){if("string"==typeof a)return r(a,c);var d={docfrag:j.data(a).docFragment};if(!d.docfrag){for(var e=b.document.createDocumentFragment();a.childNodes.length>0;)e.appendChild(a.childNodes[0]);d.docfrag=j.data(a).docFragment=e,a.setAttribute("data-win-hasfragment","")}return c&&y(a),i.as(d)}function q(a,b){return A(a,b).then(function(){return a.document?s(b,a):a}).then(function(){return a.document&&delete a.document,a})}function r(a,b){var c=a.toLowerCase(),d=J[c];if(d)return b&&delete J[c],d.promise?d.promise:i.as(d);d={},b||(J[c]=d);var e=d.promise=q(d,a);return d.promise.then(function(){delete d.promise}),e}function s(a,c){var d=c.document,e=d.body,f=[];D(d.querySelectorAll('link[rel="stylesheet"], link[type="text/css"]'),o),D(d.getElementsByTagName("style"),function(b,c){n(b,a,c)});var g=i.as();D(d.getElementsByTagName("script"),function(b,c){var d=m(b,a,c,g);d&&(d.inline||(g=d.promise),f.push(d.promise))}),D(e.getElementsByTagName("img"),function(a){a.src=a.src}),D(e.getElementsByTagName("a"),function(a){if(""!==a.href){var b=a.getAttribute("href");b&&"#"!==b[0]&&(a.href=a.href)}});for(var h=e.getElementsByTagName("script");h.length>0;){var j=h[0];j.parentNode.removeChild(j)}return i.join(f).then(function(){for(var a=b.document.createDocumentFragment(),e=b.document.importNode(d.body,!0);e.childNodes.length>0;)a.appendChild(e.childNodes[0]);return c.docfrag=a,c})}function t(){I||(I=!0,D(E.querySelectorAll("script"),function(a){F[a.src.toLowerCase()]=!0}),D(E.querySelectorAll('link[rel="stylesheet"], link[type="text/css"]'),function(a){H[a.href.toLowerCase()]=!0}))}function u(a,b){return v(a,b,!0)}function v(a,c,d){var f=(a instanceof b.HTMLElement?e._getProfilerMarkIdentifier(a):" href='"+a+"'")+"["+ ++K+"]";return L("WinJS.UI.Fragments:render"+f+",StartTM"),t(),p(a,!d).then(function(a){var b=a.docfrag;d&&(b=b.cloneNode(!0));for(var e=b.firstChild;e;)1===e.nodeType&&(e.msParentSelectorScope=!0),e=e.nextSibling;var g;return c?(c.appendChild(b),g=c):g=b,L("WinJS.UI.Fragments:render"+f+",StopTM"),g})}function w(a,b){return v(a,b,!1)}function x(a){return t(),p(a).then(function(a){return a.docfrag})}function y(a){a?"string"==typeof a?delete J[a.toLowerCase()]:(delete j.data(a).docFragment,a.removeAttribute("data-win-hasfragment")):J={}}function z(a){if(e.hasWinRT){var d=b.document.createElement("a");d.href=a;var g=d.href,h=new c.Windows.Foundation.Uri(g),i=h.schemeName;if("ms-appx"!==i)throw new f("WinJS.UI.Fragments.InvalidUri",C.invalidFragmentUri);return g}return a}function A(a,c){c=z(c);var d=b.document.implementation.createHTMLDocument("frag"),e=d.createElement("base");d.head.appendChild(e);var f=d.createElement("a");return d.body.appendChild(f),e.href=b.document.location.href,f.setAttribute("href",c),e.href=f.href,a.document=d,M(c).then(function(a){k.setInnerHTMLUnsafe(d.documentElement,a),d.head.appendChild(e)})}function B(a){return l({url:a}).then(function(a){return a.responseText})}var C={get invalidFragmentUri(){return"Unsupported uri for fragment loading. Fragments in the local context can only load from package content or local sources. To load fragments from other sources, use a web context."}};if(b.document){var D=function(a,b){for(var c=0,d=a.length;d>c;c++)b(a[c],c)},E=b.document.head||b.document.getElementsByTagName("head")[0],F={},G={},H={},I=!1,J={},K=1,L=h,M=B;d.Namespace._moduleDefine(a,"WinJS.UI.Fragments",{renderCopy:u,render:w,cache:x,clearCache:y,_cacheStore:{get:function(){return J}},_forceLocal:z,_getFragmentContents:{get:function(){return M},set:function(a){M=a}},_writeProfilerMark:{get:function(){return L},set:function(a){L=a}}})}}),define("WinJS/Application/_State",["exports","../Core/_Global","../Core/_WinRT","../Core/_Base","../Core/_BaseUtils","../Promise"],function(a,b,c,d,e,f){"use strict";function g(){var b,e,f,g=d.Class.define(function(a){this.folder=a,this._path=a.path,a.tryGetItemAsync&&(this._tryGetItemAsync=a.tryGetItemAsync.bind(a))},{_tryGetItemAsync:function(a){return this.folder.getFileAsync(a).then(null,function(){return!1})},exists:function(a){return this._tryGetItemAsync(a).then(function(a){return a?!0:!1})},remove:function(a){return this._tryGetItemAsync(a).then(function(a){return a?a.deleteAsync():!1}).then(null,function(){return!1})},writeText:function(a,b){var d=c.Windows.Storage,e=this;return e.folder.createFileAsync(a,d.CreationCollisionOption.openIfExists).then(function(a){return d.FileIO.writeTextAsync(a,b)})},readText:function(a,b){var d=c.Windows.Storage;return this._tryGetItemAsync(a).then(function(a){return a?d.FileIO.readTextAsync(a):b}).then(null,function(){return b})}},{supportedForProcessing:!1});d.Namespace._moduleDefine(a,"WinJS.Application",{local:{get:function(){return b||(b=new g(c.Windows.Storage.ApplicationData.current.localFolder)),b}},temp:{get:function(){return e||(e=new g(c.Windows.Storage.ApplicationData.current.temporaryFolder)),e}},roaming:{get:function(){return f||(f=new g(c.Windows.Storage.ApplicationData.current.roamingFolder)),f}}})}function h(){var b=d.Class.define(function(){this.storage={}},{exists:function(a){return f.as(void 0!==this.storage[a])},remove:function(a){return delete this.storage[a],f.as()},writeText:function(a,b){return this.storage[a]=b,f.as(b.length)},readText:function(a,b){var c=this.storage[a];return f.as("string"==typeof c?c:b)}},{supportedForProcessing:!1});d.Namespace._moduleDefine(a,"WinJS.Application",{local:new b,temp:new b,roaming:new b})}c.Windows.Storage.FileIO&&c.Windows.Storage.ApplicationData&&c.Windows.Storage.CreationCollisionOption?g():h();var i={};d.Namespace._moduleDefine(a,"WinJS.Application",{sessionState:{get:function(){return i},set:function(a){i=a}},_loadState:function(b){return 3===b.previousExecutionState?a.local.readText("_sessionState.json","{}").then(function(b){var c=JSON.parse(b);c&&Object.keys(c).length>0&&(a._sessionStateLoaded=!0),a.sessionState=c}).then(null,function(){a.sessionState={}}):f.as()},_oncheckpoint:function(c,d){if(!(b.MSApp&&b.MSApp.getViewOpener&&b.MSApp.getViewOpener())){var e=a.sessionState;if(e&&Object.keys(e).length>0||a._sessionStateLoaded){var f;try{f=JSON.stringify(e)}catch(g){f="",d.queueEvent({type:"error",detail:g})}c.setPromise(a.local.writeText("_sessionState.json",f).then(null,function(a){d.queueEvent({type:"error",detail:a})}))}}}})}),define("WinJS/Navigation",["exports","./Core/_Base","./Core/_Events","./Core/_WriteProfilerMark","./Promise"],function(a,b,c,d,e){"use strict";var f="navigated",g="navigating",h="beforenavigate",i=b.Class.mix(b.Class.define(null,{},{supportedForProcessing:!1}),c.eventMixin),j=new i,k={backStack:[],current:{location:"",initialPlaceholder:!0},forwardStack:[]},l=c._createEventProperty,m=function(a){return d("WinJS.Navigation:navigation,StartTM"),e.as().then(function(){var b=e.as(),c=j.dispatchEvent(h,{setPromise:function(a){b=b.then(function(){return a})},location:a.location,state:a.state});return b.then(function(a){return c||a})})},n=function(a){return e.as().then(function(){var b=e.as();return j.dispatchEvent(g,{setPromise:function(a){b=b.then(function(){return a})},location:k.current.location,state:k.current.state,delta:a}),b})},o=function(a,b){d("WinJS.Navigation:navigation,StopTM");var c=e.as(),g={value:a,location:k.current.location,state:k.current.state,setPromise:function(a){c=c.then(function(){return a})}};return!a&&b&&(g.error=b),j.dispatchEvent(f,g),c},p=function(a,b,c,d){return a=Math.min(a,b.length),a>0?m(b[b.length-a]).then(function(e){if(e)return!1;for(c.push(k.current);a-1>0;)a--,c.push(b.pop());return k.current=b.pop(),n(d).then(o,function(a){throw o(void 0,a||!0),a}).then(function(){return!0})}):e.wrap(!1)};b.Namespace._moduleDefine(a,"WinJS.Navigation",{canGoForward:{get:function(){return k.forwardStack.length>0}},canGoBack:{get:function(){return k.backStack.length>0}},location:{get:function(){return k.current.location}},state:{get:function(){return k.current.state},set:function(a){k.current.state=a}},history:{get:function(){return k},set:function(a){k=a,k.backStack=k.backStack||[],k.forwardStack=k.forwardStack||[],k.current=k.current||{location:"",initialPlaceholder:!0},k.current.location=k.current.location||""}},forward:function(a){return a=a||1,p(a,k.forwardStack,k.backStack,a)},back:function(a){return a=a||1,p(a,k.backStack,k.forwardStack,-a)},navigate:function(a,b){var c={location:a,state:b};return m(c).then(function(a){return a?!1:(k.current.initialPlaceholder||k.backStack.push(k.current),k.forwardStack=[],k.current=c,n().then(o,function(a){throw o(void 0,a||!0),a}).then(function(){return!0}))})},addEventListener:function(a,b,c){j.addEventListener(a,b,c)},removeEventListener:function(a,b,c){j.removeEventListener(a,b,c)},onnavigated:l(f),onnavigating:l(g),onbeforenavigate:l(h)})}),define("WinJS/Application",["exports","./Core/_Global","./Core/_WinRT","./Core/_Base","./Core/_Events","./Core/_Log","./Core/_WriteProfilerMark","./Application/_State","./Navigation","./Promise","./_Signal","./Scheduler"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a){var c;try{var d=[];c=JSON.stringify(a,function(a,c){return c===b?"[window]":c instanceof b.HTMLElement?"[HTMLElement]":"function"==typeof c?"[function]":"object"==typeof c?null===c?c:-1===d.indexOf(c)?(d.push(c),c):"[circular]":c})}catch(e){c=JSON.stringify("[object]")}return c}function n(a){b.MSApp&&b.MSApp.terminateApp(a)}function o(a){var b="def"+$++;return{deferral:Z[b]=a.getDeferral(),id:b}}function p(a,b){b&&(a=Z[b],delete Z[b]),a&&a.complete()}function q(){Z&&(Object.keys(Z).forEach(function(a){Z[a].complete()}),Z={})}function r(a){function b(b){return g("WinJS.Application:Event_"+a.type+",StopTM"),a._deferral&&p(a._deferral,a._deferralID),b}g("WinJS.Application:Event_"+a.type+",StartTM");var c=j.as();a.setPromise=function(a){c=c.then(function(){return a})},a.detail=a.detail||{},"object"==typeof a.detail&&(a.detail.setPromise=a.setPromise);try{if(X._listeners){var d=!1;e=X._listeners[a.type],e&&e.forEach(function(b){d=b.listener(a)||d})}var e=ab[a.type];e&&e.forEach(function(b){b(a,d)})}catch(f){w({type:O,detail:f})}return c.then(b,function(a){return a=b(a),a&&"Canceled"===a.name?void 0:j.wrapError(a)})}function s(){return T||(T=new k,T.promise.done(function(){T=null},function(){T=null})),T}function t(a){function b(a){w({type:O,detail:a})}return 0===a.length?s().promise:r(a.shift()).then(null,b)}function u(a){function b(){return u}var c=a.job._queue;0===c.length&&R.length>0&&(c=a.job._queue=x()),a.setPromise(t(c).then(b,b))}function v(){function a(){d=!0}for(var b,c=[],d=!0;d;)0===c.length&&R.length>0&&(c=x()),d=!1,b=t(c),b.done(a,a);S=l.schedule(function(a){function c(){return u}a.setPromise(b.then(c,c))},l.Priority.high,null,"WinJS.Application._pumpEventQueue"),S._queue=c}function w(a){g("WinJS.Application:Event_"+a.type+" queued,Info"),R.push(a),U&&T&&T.complete(u)}function x(){var a=R;return R=[],a}function y(a){var b=o(a.activatedOperation);h._loadState(a).then(function(){w({type:L,detail:a,_deferral:b.deferral,_deferralID:b.id})})}function z(a){var b=o(a.suspendingOperation);w({type:J,_deferral:b.deferral,_deferralID:b.id})}function A(){if(w({type:M}),!b.document||!c.Windows.UI.WebUI.WebUIApplication){var a={arguments:"",kind:"Windows.Launch",previousExecutionState:0};h._loadState(a).then(function(){w({type:L,detail:a})})}}function B(){q(),w({type:K})}function C(b){var c={};for(var d in b)c[d]=b[d];var e,f=!0,g=a._terminateApp;try{a._terminateApp=function(a,b){f=!1,e=a,g!==n&&g(a,b)},r({type:O,detail:{error:c,errorLine:b.lineno,errorCharacter:b.colno,errorUrl:b.filename,errorMessage:b.message}})}finally{a._terminateApp=g}return f}function D(a){var b=a.detail,c=b.id;if(b.parent)return void(b.handler&&I&&delete I[c]);if(b.exception instanceof Error){var d={stack:b.exception.stack,message:b.exception.message};b.exception=d}var e=!I;I=I||[],I[c]=b,e&&l.schedule(function(){var a=I;I=null,a.forEach(function(a){w({type:O,detail:a})})},l.Priority.high,null,"WinJS.Application._queuePromiseErrors")}function E(a){var b={e:a,applicationcommands:void 0};X.dispatchEvent(P,b)}function F(a){var b={type:Q};Object.defineProperty(b,"_winRTBackPressedEvent",{value:a,enumerable:!1}),r(b)}function G(){if(!V){if(V=!0,b.addEventListener("beforeunload",B,!1),b.document){if(b.addEventListener("error",C,!1),c.Windows.UI.WebUI.WebUIApplication){var a=c.Windows.UI.WebUI.WebUIApplication;a.addEventListener("activated",y,!1),a.addEventListener("suspending",z,!1)}if(c.Windows.UI.ApplicationSettings.SettingsPane){var d=c.Windows.UI.ApplicationSettings.SettingsPane.getForCurrentView();d.addEventListener("commandsrequested",E)}c.Windows.Phone.UI.Input.HardwareButtons&&c.Windows.Phone.UI.Input.HardwareButtons.addEventListener("backpressed",F)}j.addEventListener("error",D)}}function H(){if(V){if(V=!1,b.removeEventListener("beforeunload",B,!1),b.document){if(c.Windows.UI.WebUI.WebUIApplication){b.removeEventListener("error",C,!1);var a=c.Windows.UI.WebUI.WebUIApplication;a.removeEventListener("activated",y,!1),a.removeEventListener("suspending",z,!1)}if(c.Windows.UI.ApplicationSettings.SettingsPane){var d=c.Windows.UI.ApplicationSettings.SettingsPane.getForCurrentView();d.removeEventListener("commandsrequested",E)}c.Windows.Phone.UI.Input.HardwareButtons&&c.Windows.Phone.UI.Input.HardwareButtons.removeEventListener("backpressed",F)}j.removeEventListener("error",D)}}b.Debug&&(b.Debug.setNonUserCodeExceptions=!0);var I,J="checkpoint",K="unload",L="activated",M="loaded",N="ready",O="error",P="settings",Q="backclick",R=[],S=null,T=null,U=!1,V=!1,W=d.Class.mix(d.Class.define(null,{},{supportedForProcessing:!1}),e.eventMixin),X=new W,Y=e._createEventProperty,Z={},$=0,_=n,ab={activated:[function(){w({type:N})}],checkpoint:[function(b){h._oncheckpoint(b,a)}],error:[function(c,d){if(!d&&(f.log&&f.log(m(c),"winjs","error"),b.document&&a._terminateApp)){var e=c.detail,g=e&&(e.number||e.exception&&(e.exception.number||e.exception.code)||e.error&&e.error.number||e.errorCode||0),h={description:m(e),stack:e&&(e.stack||e.exception&&(e.exception.stack||e.exception.message)||e.error&&e.error.stack||null),errorNumber:g,number:g};a._terminateApp(h,c)}}],backclick:[function(a,b){b?a._winRTBackPressedEvent.handled=!0:i.canGoBack&&(i.back(),a._winRTBackPressedEvent.handled=!0)}]};b.document&&b.document.addEventListener("DOMContentLoaded",A,!1);var bb=d.Namespace._moduleDefine(a,"WinJS.Application",{stop:function(){bb.onactivated=null,bb.oncheckpoint=null,bb.onerror=null,bb.onloaded=null,bb.onready=null,bb.onsettings=null,bb.onunload=null,bb.onbackclick=null,X=new W,h.sessionState={},U=!1,x(),S&&S.cancel(),S=null,T=null,H(),q()},addEventListener:function(a,b,c){X.addEventListener(a,b,c)},removeEventListener:function(a,b,c){X.removeEventListener(a,b,c)},checkpoint:function(){w({type:J})},start:function(){G(),U=!0,v()},queueEvent:w,_terminateApp:{get:function(){return _},set:function(a){_=a}},oncheckpoint:Y(J),onunload:Y(K),onactivated:Y(L),onloaded:Y(M),onready:Y(N),onsettings:Y(P),onerror:Y(O),onbackclick:Y(Q)})}),define("WinJS/Animations/_Constants",["exports","../Core/_Base"],function(a,b){"use strict";b.Namespace._moduleDefine(a,"WinJS.UI",{PageNavigationAnimation:{turnstile:"turnstile",slide:"slide",enterPage:"enterPage",continuum:"continuum"}})}),define("WinJS/Animations/_TransitionAnimation",["exports","../Core/_Global","../Core/_WinRT","../Core/_Base","../Core/_BaseUtils","../Promise","../Scheduler","../Utilities/_ElementUtilities"],function(a,b,c,d,e,f,g,h){"use strict";function i(a){return Array.isArray(a)||a instanceof b.NodeList||a instanceof b.HTMLCollection?a:a?[a]:[]}function j(){return++B,"WinJSUIAnimation"+B}function k(a){return"WinJSUIAnimation"===a.substring(0,16)}function l(a){b.getComputedStyle(a,null).opacity}function m(b,c){return function(d){var e={};for(var f in d){var g=d[f];"function"==typeof g&&(g=g(b,c)),e[f]=g}return e.exactTiming||(e.delay+=a._libraryDelay),e}}function n(a,b){var c=a+"|"+b,d=C[c];d&&d(D)}function o(a,b,c){C[a+"|"+b]=c}function p(a,b){delete C[a+"|"+b]}function q(a,b,c,d,e){var f=e.styleCaches[b]||new F(b,e,c);f.cref+=d.length,d.forEach(function(a){n(b,a.property)}),(e.isTransition||d.some(function(a){return f.removed[a[e.nameField]]}))&&(l(a),f.removed={});var g=d.map(function(a){return a[e.nameField]+" "+e.props.map(function(b){return(b[1]?a[b[1]]:"")+b[2]}).join(" ")}).join(", "),h=d.map(function(a){return a[e.nameField]}).join(", ");return""!==f.names&&(g=f.names+", "+g,h=f.names+", "+h),c[e.shorthandProp]=g,f.names=h,f}function r(a,b){b?a():g.schedule(function(){a()},g.Priority.normal,null,"WinJS.UI._Animation._completeAnimationPromise")}function s(a,c,d,g,i){if(d.length>0){var j=a.style,k=h._uniqueID(a);if(y||(y=b.document.createElement("DIV").style),d=d.map(m(c,a)),d.forEach(function(a){var b=e._getCamelCasedName(a.property);a.hasOwnProperty("from")&&(j[b]=a.from),y[b]=a.to,a.to=y[b],a.propertyScriptName=b}),i){var l=q(a,k,j,d,G),n=a.disabled?b.document:a;d.forEach(function(c){var d;g.push(new f(function(f){d=function(d){g&&(n.removeEventListener(e._browserEventEquivalents.transitionEnd,g,!1),p(k,c.property),l.removeName(j,c.propertyScriptName,d?a:null,c.skipStylesReset),b.clearTimeout(i),g=null),r(f,d===E)};var g=function(b){b.target===a&&b.propertyName===c.property&&d()};o(k,c.property,d),n.addEventListener(e._browserEventEquivalents.transitionEnd,g,!1);var h=0;j[c.propertyScriptName]!==c.to&&(j[c.propertyScriptName]=c.to,h=50);var i=b.setTimeout(function(){i=b.setTimeout(d,c.delay+c.duration)},h)},function(){d(E)}))})}else d.forEach(function(a){j[a.propertyScriptName]=a.to})}}function t(a,c,d,g,i){if(i&&d.length>0){var k=a.style,l=h._uniqueID(a);d=d.map(m(c,a));var n,s=a.disabled?b.document:a;d.forEach(function(a){if(a.keyframe)a.keyframe=A.animationPrefix+a.keyframe;else{n||(n=b.document.createElement("STYLE"),b.document.documentElement.appendChild(n)),a.keyframe=j();var c="@"+A.keyframes+" "+a.keyframe+" { from {"+a.property+":"+a.from+";} to {"+a.property+":"+a.to+";}}";n.sheet.insertRule(c,0)}});var t=q(a,l,k,d,H),u=[],v=[];d.forEach(function(c){var d;v.push(new f(function(f){d=function(a){g&&(s.removeEventListener(e._browserEventEquivalents.animationEnd,g,!1),b.clearTimeout(h),g=null),r(f,a===E)};var g=function(b){b.target===a&&b.animationName===c.keyframe&&d()};o(l,c.property,d),u.push({id:l,property:c.property,style:k,keyframe:c.keyframe});var h=b.setTimeout(function(){h=b.setTimeout(d,c.delay+c.duration)},50);s.addEventListener(e._browserEventEquivalents.animationEnd,g,!1)},function(){d(E)}))}),n&&b.setTimeout(function(){var a=n.parentElement;a&&a.removeChild(n)},50);var w=function(){for(var a=0;a=0&&(f.splice(g,1),this.names=e=f.join(", "),""===e&&this.desc.isTransition&&(e="none")),--this.cref?(a[this.desc.nameProp]=e,k(b)||(this.removed[b]=!0)):(c&&"none"===e&&(a[this.desc.nameProp]=e,l(c)),this.destroy(a,d))}}),G={shorthandProp:A.transition.scriptName,nameProp:A["transition-property"].scriptName,nameField:"property",props:[[A["transition-duration"].scriptName,"duration","ms"],[A["transition-timing-function"].scriptName,"timing",""],[A["transition-delay"].scriptName,"delay","ms"]],isTransition:!0,styleCaches:[]},H={shorthandProp:A.animation.scriptName,nameProp:A["animation-name"].scriptName,nameField:"keyframe",props:[[A["animation-duration"].scriptName,"duration","ms"],[A["animation-timing-function"].scriptName,"timing",""],[A["animation-delay"].scriptName,"delay","ms"],[A["animation-iteration-count"].scriptName,"","1"],[A["animation-direction"].scriptName,"","normal"],[A["animation-fill-mode"].scriptName,"","both"]],isTransition:!1,styleCaches:[]},I=0,J=function(){return u(),I+z.animationsEnabled>0},K=function(a){return L?a/20:a},L=!1,M=0;d.Namespace._moduleDefine(a,"WinJS.UI",{disableAnimations:function(){I--},enableAnimations:function(){I++},isAnimationEnabled:{get:function(){return J},set:function(a){J=a}},_libraryDelay:{get:function(){return M},set:function(a){M=a}},executeAnimation:function(a,b){return v(a,x(b),t)},executeTransition:function(a,b){return v(a,x(b),s)},_animationTimeAdjustment:{get:function(){return K},set:function(a){K=a}}}),d.Namespace._moduleDefine(a,"WinJS.Utilities",{_fastAnimations:{get:function(){return L},set:function(a){L=a}}})}}),define("WinJS/Animations",["exports","./Core/_Global","./Core/_Base","./Core/_BaseUtils","./Core/_WriteProfilerMark","./Animations/_Constants","./Animations/_TransitionAnimation","./Promise"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,b,c){return a.keyframe?a.keyframe:!c||a.left!==b.left||a.top!==b.top||a.rtlflip&&!b.rtlflip?null:a.rtlflip?k(c):c}function j(a,b){return b&&a.rtlflip?k(b):b}function k(a){var c=a+"-rtl";return function(d,e){return"ltr"===b.getComputedStyle(e).direction?a:c}}function l(a){return Array.isArray(a)||a instanceof b.NodeList||a instanceof b.HTMLCollection?a:a?[a]:[]}function m(a){for(var c=[],d=0;dg;g++)b*=c,f+=b;return d&&(f=Math.min(f,d)),f}}function o(a,b){for(var c=0;cf;f++)k.push(a[f]),l.push(d),m.push(e);else k.push(a),l.push(d),m.push(e)}}var k=[],l=[],m=[],n=200,o=0!==b?0>b?-n:n:0,p=0!==c?0>c?-n:n:0;return j(e,b,c),j(f,o,p),j(h,2*o,2*p),j(i,3*o,3*p),l=new B(l),m=new B(m),g.executeTransition(k,[{property:z.cssName,delay:0,duration:350,timing:a,from:t(l),to:t(m)},{property:"opacity",delay:0,duration:350,timing:d?"steps(1, start)":"steps(1, end)",from:d?0:1,to:d?1:0}])}function r(a,c,e){function f(){s(a)}a=l(a),c=l(c);for(var h=0,i=a.length;i>h;h++){var j="rtl"===b.getComputedStyle(a[h]).direction;a[h].style[d._browserStyleEquivalents["transform-origin"].scriptName]=c[Math.min(c.length-1,h)][j?"rtl":"ltr"]}return g.executeTransition(a,e).then(f,f)}function s(a){for(var b=0,c=a.length;c>b;b++)a[b].style[d._browserStyleEquivalents["transform-origin"].scriptName]="",a[b].style[z.scriptName]="",a[b].style.opacity=""}function t(a,c){return c=c||"",function(d,e){var f=a.getOffset(d),g=f.left;return f.rtlflip&&"rtl"===b.getComputedStyle(e).direction&&(g=g.toString(),g="-"===g.charAt(0)?g.substring(1):"-"+g),c+"translate("+g+", "+f.top+")"}}function u(a,b){return b=b||"",function(c){var d=a[c];return"translate("+d.left+"px, "+d.top+"px) "+b}}function v(a,b){return function(c){var d=a[c];return 0===d.left&&0===d.top?b:null}}function w(a,b,c,d){var e=l(b),f=l(c),g=m(f);return new a(e,f,g,d)}function x(a){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d].getBoundingClientRect(),g=-(40+f.left),h=40+(b.innerWidth-f.right),i=b.innerHeight/2-f.top;c.push({ltr:g+"px "+i+"px",rtl:h+"px "+i+"px"})}return c}function y(a){e("WinJS.UI.Animation:"+a)}var z=d._browserStyleEquivalents.transform,A=[{top:"0px",left:"11px",rtlflip:!0}],B=c.Class.define(function(a,b,c){c=c||A,Array.isArray(a)&&a.length>0?(this.offsetArray=a,1===a.length&&(this.keyframe=i(a[0],c[0],b))):a&&a.hasOwnProperty("top")&&a.hasOwnProperty("left")?(this.offsetArray=[a],this.keyframe=i(a,c[0],b)):(this.offsetArray=c,this.keyframe=j(c[0],b))},{getOffset:function(a){return a>=this.offsetArray.length&&(a=this.offsetArray.length-1),this.offsetArray[a]}},{supportedForProcessing:!1}),C=c.Class.define(function(a,b,c){this.revealedArray=a,this.affectedArray=b,this.offsetArray=c},{execute:function(){y("expandAnimation,StartTM");var a=g.executeAnimation(this.revealedArray,{keyframe:"WinJS-opacity-in",property:"opacity",delay:this.affectedArray.length>0?200:0,duration:167,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:0,to:1}),b=p(this.affectedArray,this.offsetArray,{property:z.cssName,delay:0,duration:367,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});return h.join([a,b]).then(function(){y("expandAnimation,StopTM")})}},{supportedForProcessing:!1}),D=c.Class.define(function(a,b,c){this.hiddenArray=a,this.affectedArray=b,this.offsetArray=c},{execute:function(){y("collapseAnimation,StartTM");var a=g.executeAnimation(this.hiddenArray,{keyframe:"WinJS-opacity-out",property:"opacity",delay:0,duration:167,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:1,to:0}),b=p(this.affectedArray,this.offsetArray,{property:z.cssName,delay:this.hiddenArray.length>0?167:0,duration:367,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});return h.join([a,b]).then(function(){y("collapseAnimation,StopTM")})}},{supportedForProcessing:!1}),E=c.Class.define(function(a,b,c){this.elementArray=b,this.offsetArray=c},{execute:function(){return y("repositionAnimation,StartTM"),p(this.elementArray,this.offsetArray,{property:z.cssName,delay:n(0,33,1,250),duration:367,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""}).then(function(){y("repositionAnimation,StopTM")})}},{supportedForProcessing:!1}),F=c.Class.define(function(a,b,c){this.addedArray=a,this.affectedArray=b,this.offsetArray=c},{execute:function(){y("addToListAnimation,StartTM");var a=this.affectedArray.length>0?240:0,b=g.executeAnimation(this.addedArray,[{keyframe:"WinJS-scale-up",property:z.cssName,delay:a,duration:120,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:"scale(0.85)",to:"none"},{keyframe:"WinJS-opacity-in",property:"opacity",delay:a,duration:120,timing:"linear",from:0,to:1}]),c=p(this.affectedArray,this.offsetArray,{property:z.cssName,delay:0,duration:400,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});return h.join([b,c]).then(function(){y("addToListAnimation,StopTM")})}},{supportedForProcessing:!1}),G=c.Class.define(function(a,b,c){this.deletedArray=a,this.remainingArray=b,this.offsetArray=c},{execute:function(){y("deleteFromListAnimation,StartTM");var a=g.executeAnimation(this.deletedArray,[{keyframe:"WinJS-scale-down",property:z.cssName,delay:0,duration:120,timing:"cubic-bezier(0.11, 0.5, 0.24, .96)",from:"none",to:"scale(0.85)"},{keyframe:"WinJS-opacity-out",property:"opacity",delay:0,duration:120,timing:"linear",from:1,to:0}]),b=p(this.remainingArray,this.offsetArray,{property:z.cssName,delay:this.deletedArray.length>0?60:0,duration:400,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});return h.join([a,b]).then(function(){y("deleteFromListAnimation,StopTM")})}},{supportedForProcessing:!1}),H=c.Class.define(function(a,b,c,d){this.addedArray=a,this.affectedArray=b,this.offsetArray=c;var e=l(d);this.deletedArray=e,this.deletedOffsetArray=m(e)},{execute:function(){y("_updateListAnimation,StartTM"),o(this.deletedArray,this.deletedOffsetArray);var a=0,b=g.executeAnimation(this.deletedArray,[{keyframe:v(this.deletedOffsetArray,"WinJS-scale-down"),property:z.cssName,delay:0,duration:120,timing:"cubic-bezier(0.11, 0.5, 0.24, .96)",from:u(this.deletedOffsetArray),to:u(this.deletedOffsetArray,"scale(0.85)")},{keyframe:"WinJS-opacity-out",property:"opacity",delay:0,duration:120,timing:"linear",from:1,to:0}]);this.deletedArray.length>0&&(a+=60);var c=p(this.affectedArray,this.offsetArray,{property:z.cssName,delay:a,duration:400,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});this.affectedArray.length>0?a+=240:a&&(a+=60);var d=g.executeAnimation(this.addedArray,[{keyframe:"WinJS-scale-up",property:z.cssName,delay:a,duration:120,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:"scale(0.85)",to:"none"},{keyframe:"WinJS-opacity-in",property:"opacity",delay:a,duration:120,timing:"linear",from:0,to:1}]);return h.join([b,c,d]).then(function(){y("_updateListAnimation,StopTM")})}},{supportedForProcessing:!1}),I=c.Class.define(function(a,b,c){this.addedArray=a,this.affectedArray=b,this.offsetArray=c},{execute:function(){y("addToSearchListAnimation,StartTM");var a=g.executeAnimation(this.addedArray,{keyframe:"WinJS-opacity-in",property:"opacity",delay:this.affectedArray.length>0?240:0,duration:117,timing:"linear",from:0,to:1}),b=p(this.affectedArray,this.offsetArray,{property:z.cssName,delay:0,duration:400,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});return h.join([a,b]).then(function(){y("addToSearchListAnimation,StopTM")})}},{supportedForProcessing:!1}),J=c.Class.define(function(a,b,c){this.deletedArray=a,this.remainingArray=b,this.offsetArray=c},{execute:function(){y("deleteFromSearchListAnimation,StartTM");var a=g.executeAnimation(this.deletedArray,{keyframe:"WinJS-opacity-out",property:"opacity",delay:0,duration:93,timing:"linear",from:1,to:0}),b=p(this.remainingArray,this.offsetArray,{property:z.cssName,delay:this.deletedArray.length>0?60:0,duration:400,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});return h.join([a,b]).then(function(){y("deleteFromSearchListAnimation,StopTM")})}},{supportedForProcessing:!1}),K=c.Class.define(function(a,b,c){this.elementArray=b,this.offsetArray=c},{execute:function(){return y("peekAnimation,StartTM"),p(this.elementArray,this.offsetArray,{property:z.cssName,delay:0,duration:2e3,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""}).then(function(){y("peekAnimation,StopTM")})}},{supportedForProcessing:!1});c.Namespace._moduleDefine(a,"WinJS.UI.Animation",{createExpandAnimation:function(a,b){return w(C,a,b)},createCollapseAnimation:function(a,b){return w(D,a,b)},createRepositionAnimation:function(a){return w(E,null,a)},fadeIn:function(a){return y("fadeIn,StartTM"),g.executeTransition(a,{property:"opacity",delay:0,duration:250,timing:"linear",from:0,to:1}).then(function(){y("fadeIn,StopTM")})},fadeOut:function(a){return y("fadeOut,StartTM"),g.executeTransition(a,{property:"opacity",delay:0,duration:167,timing:"linear",to:0}).then(function(){y("fadeOut,StopTM")})},createAddToListAnimation:function(a,b){return w(F,a,b)},createDeleteFromListAnimation:function(a,b){return w(G,a,b)},_createUpdateListAnimation:function(a,b,c){return w(H,a,c,b)},createAddToSearchListAnimation:function(a,b){return w(I,a,b)},createDeleteFromSearchListAnimation:function(a,b){return w(J,a,b)},showEdgeUI:function(a,b,c){y("showEdgeUI,StartTM");var d=new B(b,"WinJS-showEdgeUI",[{top:"-70px",left:"0px"}]);return g[c&&"transition"===c.mechanism?"executeTransition":"executeAnimation"](a,{keyframe:d.keyframe,property:z.cssName,delay:0,duration:367,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:d.keyframe||t(d),to:"none"}).then(function(){y("showEdgeUI,StopTM")})},showPanel:function(a,b){y("showPanel,StartTM");var c=new B(b,"WinJS-showPanel",[{top:"0px",left:"364px",rtlflip:!0}]);return g.executeAnimation(a,{keyframe:c.keyframe,property:z.cssName,delay:0,duration:550,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:c.keyframe||t(c),to:"none"}).then(function(){y("showPanel,StopTM")})},hideEdgeUI:function(a,b,c){y("hideEdgeUI,StartTM");var d=new B(b,"WinJS-hideEdgeUI",[{top:"-70px",left:"0px"}]);return g[c&&"transition"===c.mechanism?"executeTransition":"executeAnimation"](a,{keyframe:d.keyframe,property:z.cssName,delay:0,duration:367,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:"none",to:d.keyframe||t(d)}).then(function(){y("hideEdgeUI,StopTM")})},hidePanel:function(a,b){y("hidePanel,StartTM");var c=new B(b,"WinJS-hidePanel",[{top:"0px",left:"364px",rtlflip:!0}]);return g.executeAnimation(a,{keyframe:c.keyframe,property:z.cssName,delay:0,duration:550,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:"none",to:c.keyframe||t(c)}).then(function(){y("hidePanel,StopTM")})},showPopup:function(a,b){y("showPopup,StartTM");var c=new B(b,"WinJS-showPopup",[{top:"50px",left:"0px"}]);return g.executeAnimation(a,[{keyframe:"WinJS-opacity-in",property:"opacity",delay:83,duration:83,timing:"linear",from:0,to:1},{keyframe:c.keyframe,property:z.cssName,delay:0,duration:367,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:c.keyframe||t(c),to:"none"}]).then(function(){y("showPopup,StopTM")})},hidePopup:function(a){return y("hidePopup,StartTM"),g.executeAnimation(a,{keyframe:"WinJS-opacity-out",property:"opacity",delay:0,duration:83,timing:"linear",from:1,to:0}).then(function(){y("hidePopup,StopTM")})},pointerDown:function(a){return y("pointerDown,StartTM"),g.executeTransition(a,{property:z.cssName,delay:0,duration:167,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:"scale(0.975, 0.975)"}).then(function(){y("pointerDown,StopTM")})},pointerUp:function(a){return y("pointerUp,StartTM"),g.executeTransition(a,{property:z.cssName,delay:0,duration:167,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""}).then(function(){y("pointerUp,StopTM")})},dragSourceStart:function(a,b){y("dragSourceStart,StartTM");var c=g.executeTransition(a,[{property:z.cssName,delay:0,duration:240,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:"scale(1.05)"},{property:"opacity",delay:0,duration:240,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:.65}]),d=g.executeTransition(b,{property:z.cssName,delay:0,duration:240,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:"scale(0.95)"});return h.join([c,d]).then(function(){y("dragSourceStart,StopTM")})},dragSourceEnd:function(a,b,c){y("dragSourceEnd,StartTM");var d=new B(b,"WinJS-dragSourceEnd"),e=g.executeTransition(a,[{property:z.cssName,delay:0,duration:500,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""},{property:"opacity",delay:0,duration:500,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:1}]),f=g.executeAnimation(a,{keyframe:d.keyframe,property:z.cssName,delay:0,duration:500,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:d.keyframe||t(d,"scale(1.05) "),to:"none"}),i=g.executeTransition(c,{property:z.cssName,delay:0,duration:500,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""});return h.join([e,f,i]).then(function(){y("dragSourceEnd,StopTM")})},enterContent:function(a,b,c){y("enterContent,StartTM");var d,e=new B(b,"WinJS-enterContent",[{top:"0px",left:"40px",rtlflip:!0}]);if(c&&"transition"===c.mechanism)d=g.executeTransition(a,[{property:z.cssName,delay:0,duration:550,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:t(e),to:"none"},{property:"opacity",delay:0,duration:170,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:0,to:1}]);else{var f=g.executeAnimation(a,{keyframe:e.keyframe,property:z.cssName,delay:0,duration:550,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:e.keyframe||t(e),to:"none"}),i=g.executeTransition(a,{property:"opacity",delay:0,duration:170,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:0,to:1});d=h.join([f,i])}return d.then(function(){y("enterContent,StopTM")})},exitContent:function(a,b){y("exitContent,StartTM");var c=new B(b,"WinJS-exit",[{top:"0px",left:"0px"}]),d=g.executeAnimation(a,b&&{keyframe:c.keyframe,property:z.cssName,delay:0,duration:117,timing:"linear",from:"none",to:c.keyframe||t(c)}),e=g.executeTransition(a,{property:"opacity",delay:0,duration:117,timing:"linear",to:0});return h.join([d,e]).then(function(){y("exitContent,StopTM")})},dragBetweenEnter:function(a,b){y("dragBetweenEnter,StartTM");var c=new B(b,null,[{top:"-40px",left:"0px"},{top:"40px",left:"0px"}]);return g.executeTransition(a,{property:z.cssName,delay:0,duration:200,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:t(c,"scale(0.95) ")}).then(function(){y("dragBetweenEnter,StopTM")})},dragBetweenLeave:function(a){return y("dragBetweenLeave,StartTM"),g.executeTransition(a,{property:z.cssName,delay:0,duration:200,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:"scale(0.95)"}).then(function(){y("dragBetweenLeave,StopTM")})},swipeSelect:function(a,b){y("swipeSelect,StartTM");var c=g.executeTransition(a,{property:z.cssName,delay:0,duration:300,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""}),d=g.executeAnimation(b,{keyframe:"WinJS-opacity-in",property:"opacity",delay:0,duration:300,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:0,to:1});return h.join([c,d]).then(function(){y("swipeSelect,StopTM")})},swipeDeselect:function(a,b){y("swipeDeselect,StartTM");var c=g.executeTransition(a,{property:z.cssName,delay:0,duration:300,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""}),d=g.executeAnimation(b,{keyframe:"WinJS-opacity-out",property:"opacity",delay:0,duration:300,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:1,to:0});return h.join([c,d]).then(function(){y("swipeDeselect,StopTM")})},swipeReveal:function(a,b){y("swipeReveal,StartTM");var c=new B(b,null,[{top:"25px",left:"0px"}]);return g.executeTransition(a,{property:z.cssName,delay:0,duration:300,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:t(c)}).then(function(){y("swipeReveal,StopTM")})},enterPage:function(a,b){y("enterPage,StartTM");var c=new B(b,"WinJS-enterPage",[{top:"0px",left:"100px",rtlflip:!0}]),d=g.executeAnimation(a,{keyframe:c.keyframe,property:z.cssName,delay:n(0,83,1,333),duration:1e3,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:c.keyframe||t(c),to:"none"}),e=g.executeTransition(a,{property:"opacity",delay:n(0,83,1,333),duration:170,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:0,to:1});return h.join([d,e]).then(function(){y("enterPage,StopTM")})},exitPage:function(a,b){y("exitPage,StartTM");var c=new B(b,"WinJS-exit",[{top:"0px",left:"0px"}]),d=g.executeAnimation(a,b&&{keyframe:c.keyframe,property:z.cssName,delay:0,duration:117,timing:"linear",from:"none",to:c.keyframe||t(c)}),e=g.executeTransition(a,{property:"opacity",delay:0,duration:117,timing:"linear",to:0});return h.join([d,e]).then(function(){y("exitPage,StopTM")})},crossFade:function(a,b){y("crossFade,StartTM");var c=g.executeTransition(a,{property:"opacity",delay:0,duration:167,timing:"linear",to:1}),d=g.executeTransition(b,{property:"opacity",delay:0,duration:167,timing:"linear",to:0});return h.join([c,d]).then(function(){y("crossFade,StopTM")})},createPeekAnimation:function(a){return w(K,null,a)},updateBadge:function(a,b){y("updateBadge,StartTM");var c=new B(b,"WinJS-updateBadge",[{top:"24px",left:"0px"}]);return g.executeAnimation(a,[{keyframe:"WinJS-opacity-in",property:"opacity",delay:0,duration:367,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:0,to:1},{keyframe:c.keyframe,property:z.cssName,delay:0,duration:1333,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",from:c.keyframe||t(c),to:"none"}]).then(function(){y("updateBadge,StopTM")})},turnstileForwardIn:function(a){y("turnstileForwardIn,StartTM"),a=l(a);var b=x(a);return r(a,b,[{property:z.cssName,delay:n(0,50,1,1e3),duration:300,timing:"cubic-bezier(0.01,0.975,0.4775,0.9775)",from:"perspective(600px) rotateY(80deg)",to:"perspective(600px) rotateY(0deg)"},{property:"opacity",delay:n(0,50,1,1e3),duration:300,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}]).then(function(){y("turnstileForwardIn,StopTM")})},turnstileForwardOut:function(a){y("turnstileForwardOut,StartTM"),a=l(a);var b=x(a);return r(a,b,[{property:z.cssName,delay:n(0,50,1,1e3),duration:128,timing:"cubic-bezier(0.4925,0.01,0.7675,-0.01)",from:"perspective(600px) rotateY(0deg)",to:"perspective(600px) rotateY(-50deg)"},{property:"opacity",delay:n(0,50,1,1e3),duration:128,timing:"cubic-bezier(1,-0.42,0.995,-0.425)",from:1,to:0}]).then(function(){y("turnstileForwardOut,StopTM")})},turnstileBackwardIn:function(a){y("turnstileBackwardIn,StartTM"),a=l(a);var b=x(a);return r(a,b,[{property:z.cssName,delay:n(0,50,1,1e3),duration:300,timing:"cubic-bezier(0.01,0.975,0.4775,0.9775)",from:"perspective(600px) rotateY(-50deg)",to:"perspective(600px) rotateY(0deg)"},{property:"opacity",delay:n(0,50,1,1e3),duration:300,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}]).then(function(){y("turnstileBackwardIn,StopTM")})},turnstileBackwardOut:function(a){y("turnstileBackwardOut,StartTM"),a=l(a);var b=x(a);return r(a,b,[{property:z.cssName,delay:n(0,50,1,1e3),duration:128,timing:"cubic-bezier(0.4925,0.01,0.7675,-0.01)",from:"perspective(800px) rotateY(0deg)",to:"perspective(800px) rotateY(80deg)"},{property:"opacity",delay:n(0,50,1,1e3),duration:128,timing:"cubic-bezier(1,-0.42,0.995,-0.425)",from:1,to:0}]).then(function(){y("turnstileBackwardOut,StopTM")})},slideDown:function(a){return y("slideDown,StartTM"),r(a,{ltr:"",rtl:""},[{property:z.cssName,delay:0,duration:250,timing:"cubic-bezier(0.3825,0.0025,0.8775,-0.1075)",from:"translate(0px, 0px)",to:"translate(0px, 200px)"},{property:"opacity",delay:0,duration:250,timing:"cubic-bezier(1,-0.42,0.995,-0.425)",from:1,to:0}]).then(function(){y("slideDown,StopTM")})},slideUp:function(a){return y("slideUp,StartTM"),r(a,{ltr:"",rtl:""},[{property:z.cssName,delay:0,duration:350,timing:"cubic-bezier(0.17,0.79,0.215,1.0025)",from:"translate(0px, 200px)",to:"translate(0px, 0px)"},{property:"opacity",delay:n(0,34,1,1e3),duration:350,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}]).then(function(){y("slideUp,StopTM")})},slideRightIn:function(a,c,d,e){return y("slideRightIn,StartTM"),q("cubic-bezier(0.17,0.79,0.215,1.0025)",-b.innerWidth,0,!0,a,c,d,e).then(function(){y("slideRightIn,StopTM")})},slideRightOut:function(a,c,d,e){return y("slideRightOut,StartTM"),q("cubic-bezier(0.3825,0.0025,0.8775,-0.1075)",0,b.innerWidth,!1,a,c,d,e).then(function(){y("slideRightOut,StopTM")})},slideLeftIn:function(a,c,d,e){return y("slideLeftIn,StartTM"),q("cubic-bezier(0.17,0.79,0.215,1.0025)",b.innerWidth,0,!0,a,c,d,e).then(function(){y("slideLeftIn,StopTM")})},slideLeftOut:function(a,c,d,e){return y("slideLeftOut,StartTM"),q("cubic-bezier(0.3825,0.0025,0.8775,-0.1075)",0,-b.innerWidth,!1,a,c,d,e).then(function(){y("slideLeftOut,StopTM")})},continuumForwardIn:function(a,b,c){return y("continuumForwardIn,StartTM"),h.join([g.executeTransition(a,[{property:z.cssName,delay:0,duration:350,timing:"cubic-bezier(0.33, 0.18, 0.11, 1)",from:"scale(0.5, 0.5)",to:"scale(1.0, 1.0)"},{property:"opacity",delay:0,duration:350,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}]),g.executeTransition(b,[{property:z.cssName,delay:0,duration:350,timing:"cubic-bezier(0.24,1.15,0.11,1.1575)",from:"translate(0px, 225px)",to:"translate(0px, 0px)"},{property:"opacity",delay:0,duration:350,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}]),r(c,{ltr:"0px 50%",rtl:"100% 50%"},[{property:z.cssName,delay:0,duration:350,timing:"cubic-bezier(0,0.62,0.8225,0.9625)",from:"rotateX(80deg) scale(1.5, 1.5)",to:"rotateX(0deg) scale(1.0, 1.0)"},{property:"opacity",delay:0,duration:350,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}])]).then(function(){y("continuumForwardIn,StopTM")})},continuumForwardOut:function(a,b){return y("continuumForwardOut,StartTM"),h.join([g.executeTransition(a,[{property:z.cssName,delay:0,duration:120,timing:"cubic-bezier(0.3825,0.0025,0.8775,-0.1075)",from:"scale(1.0, 1.0)",to:"scale(1.1, 1.1)"},{property:"opacity",delay:0,duration:120,timing:"cubic-bezier(1,-0.42,0.995,-0.425)",from:1,to:0}]),r(b,{ltr:"0px 100%",rtl:"100% 100%"},[{property:z.cssName,delay:0,duration:152,timing:"cubic-bezier(0.3825,0.0025,0.8775,-0.1075)",from:"rotateX(0deg) scale(1.0, 1.0) translate(0px, 0px)",to:"rotateX(80deg) scale(1.5, 1.5) translate(0px, 150px)"},{property:"opacity",delay:0,duration:152,timing:"cubic-bezier(1,-0.42,0.995,-0.425)",from:1,to:0}])]).then(function(){y("continuumForwardOut,StopTM")})},continuumBackwardIn:function(a,b){return y("continuumBackwardIn,StartTM"),h.join([g.executeTransition(a,[{property:z.cssName,delay:0,duration:200,timing:"cubic-bezier(0.33, 0.18, 0.11, 1)",from:"scale(1.25, 1.25)",to:"scale(1.0, 1.0)"},{property:"opacity",delay:0,duration:200,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}]),r(b,{ltr:"0px 50%",rtl:"100% 50%"},[{property:z.cssName,delay:0,duration:250,timing:"cubic-bezier(0.2975, 0.7325, 0.4725, 0.99)",from:"rotateX(80deg) translate(0px, -100px)",to:"rotateX(0deg) translate(0px, 0px)"},{property:"opacity",delay:0,duration:250,timing:"cubic-bezier(0, 2, 0, 2)",from:0,to:1}])]).then(function(){y("continuumBackwardIn,StopTM")})},continuumBackwardOut:function(a){return y("continuumBackwardOut,StartTM"),g.executeTransition(a,[{property:z.cssName,delay:0,duration:167,timing:"cubic-bezier(0.3825,0.0025,0.8775,-0.1075)",from:"scale(1.0, 1.0)",to:"scale(0.5, 0.5)"},{property:"opacity",delay:0,duration:167,timing:"cubic-bezier(1,-0.42,0.995,-0.425)",from:1,to:0}]).then(function(){y("continuumBackwardOut,StopTM")})},createPageNavigationAnimations:function(b,c,e){function g(){return h.wrap()}var i=f.PageNavigationAnimation;return d.isPhone&&b!==i.enterPage&&c!==i.enterPage?(c||(c=i.turnstile),b===i.slide&&e||c===i.slide&&!e?{exit:e?a.slideDown:g,entrance:e?g:a.slideUp}:{exit:a[c+(e?"Backward":"Forward")+"Out"],entrance:a[c+(e?"Backward":"Forward")+"In"]}):{exit:g,entrance:a.enterPage}}})}),define("WinJS/Binding/_BindingParser",["exports","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Log","../Core/_Resources","../Core/_WriteProfilerMark","../ControlProcessor/_OptionsLexer","../ControlProcessor/_OptionsParser"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a,b){g("WinJS.Binding:bindingParser,StartTM");var c=m.lexer(a),d=new o.BindingInterpreter(c,a,b||{}),e=d.run();return g("WinJS.Binding:bindingParser,StopTM"),e}function k(a){g("WinJS.Binding:bindingParser,StartTM");var b=m.lexer(a),c=new o.BindingParser(b,a),d=c.run();return g("WinJS.Binding:bindingParser,StopTM"),d}var l={get invalidBinding(){return"Invalid binding:'{0}'. Expected to be ':;'. {1}"},get bindingInitializerNotFound(){return"Initializer not found:'{0}'"}},m=b.Namespace.defineWithParent(null,null,{lexer:b.Namespace._lazy(function(){return h._optionsLexer}),tokenType:b.Namespace._lazy(function(){return h._optionsLexer.tokenType})}),n=c.requireSupportedForProcessing,o=b.Namespace.defineWithParent(null,null,{BindingInterpreter:b.Namespace._lazy(function(){return b.Class.derive(i.optionsParser._BaseInterpreter,function(a,b,c){this._initialize(a,b,c)},{_error:function(a){throw new d("WinJS.Binding.ParseError",f._formatString(l.invalidBinding,this._originalSource,a))},_evaluateInitializerName:function(){if(this._current.type===m.tokenType.identifier){var a=this._evaluateIdentifierExpression();return e.log&&!a&&e.log(f._formatString(l.bindingInitializerNotFound,this._originalSource),"winjs binding","error"),n(a)}},_evaluateValue:function(){switch(this._current.type){case m.tokenType.stringLiteral:case m.tokenType.numberLiteral:var a=this._current.value;return this._read(),a;default:return void this._unexpectedToken(m.tokenType.stringLiteral,m.tokenType.numberLiteral)}},_readBindDeclarations:function(){for(var a=[];;)switch(this._current.type){case m.tokenType.identifier:case m.tokenType.thisKeyword:a.push(this._readBindDeclaration());break;case m.tokenType.semicolon:this._read();break;case m.tokenType.eof:return a;default:return void this._unexpectedToken(m.tokenType.identifier,m.tokenType.semicolon,m.tokenType.eof)}},_readBindDeclaration:function(){var a=this._readDestinationPropertyName();this._read(m.tokenType.colon);var b=this._readSourcePropertyName(),c=this._evaluateInitializerName();return{destination:a,source:b,initializer:c}},_readDestinationPropertyName:function(){return this._readIdentifierExpression()},_readSourcePropertyName:function(){return this._readIdentifierExpression()},run:function(){return this._readBindDeclarations()}},{supportedForProcessing:!1})}),BindingParser:b.Namespace._lazy(function(){return b.Class.derive(o.BindingInterpreter,function(a,b){this._initialize(a,b,{})},{_readInitializerName:function(){return this._current.type===m.tokenType.identifier?this._readIdentifierExpression():void 0},_readBindDeclaration:function(){var a=this._readDestinationPropertyName();this._read(m.tokenType.colon);var b=this._readSourcePropertyName(),c=this._readInitializerName();return{destination:a,source:b,initializer:c}}},{supportedForProcessing:!1})})});b.Namespace._moduleDefine(a,"WinJS.Binding",{_bindingParser:j,_bindingParser2:k})}),define("WinJS/Binding/_DomWeakRefTable",["exports","../Core/_Global","../Core/_WinRT","../Core/_Base","../Core/_BaseUtils","../Scheduler"],function(a,b,c,d,e,f){"use strict";function g(){0===n&&(m=0);var a,b,c=Object.keys(p),d=Date.now()-o;for(a=0,b=c.length;b>a;a++){var e=c[a];p[e].time=0;e--){var f=b[d[e]];f.target===a&&(f.promise&&(f.promise.cancel(),f.promise=null),delete b[d[e]],c=!0)}return c},notify:function(a,b,c){var d=this._listeners&&this._listeners[a];if(d){var e=this;e._cancel(a),e._pendingNotifications=e._pendingNotifications||{};var j=e._notifyId++,l=e._pendingNotifications[j]={target:a},m=function(){delete e._pendingNotifications[j]};return l.promise=i.schedulePromiseNormal(null,"WinJS.Binding.observableMixin.notify").then(function(){for(var a=0,e=d.length;e>a&&l.promise;a++)try{d[a](b,c) -}catch(h){f.log&&f.log(g._formatString(k.exceptionFromBindingInitializer,h.toString()),"winjs binding","error")}return m(),b}),l.promise}return h.as()},bind:function(a,b){this._listeners=this._listeners||{};for(var c=this._listeners[a]=this._listeners[a]||[],d=!1,e=0,f=c.length;f>e;e++)if(c[e]===b){d=!0;break}return d||(c.push(b),b(w(this[a]))),this},unbind:function(a,b){if(this._listeners=this._listeners||{},a&&b){var c=this._listeners[a];if(c){for(var d,e=0,f=c.length;f>e;e++)c[e]!==b&&(d=d||[]).push(c[e]);this._listeners[a]=d}}else if(a)this._cancel(a),delete this._listeners[a];else{var g=this;if(g._pendingNotifications){var h=g._pendingNotifications;g._pendingNotifications={},Object.keys(h).forEach(function(a){var b=h[a];b.promise&&b.promise.cancel()})}this._listeners={}}return this}},m={_backingData:null,_initObservable:function(a){this._backingData=a||{}},getProperty:function(a){var b=this._backingData[a];return f.log&&void 0===b&&f.log(g._formatString(k.propertyIsUndefined,a),"winjs binding","warn"),v(b)},setProperty:function(a,b){return this.updateProperty(a,b),this},addProperty:function(a,b){return this[a]||Object.defineProperty(this,a,{get:function(){return this.getProperty(a)},set:function(b){this.setProperty(a,b)},enumerable:!0,configurable:!0}),this.setProperty(a,b)},updateProperty:function(a,b){var c=this._backingData[a],d=w(b);return c!==d&&(this._backingData[a]=d,this._backingData[a]===d)?this.notify(a,d,c):h.as()},removeProperty:function(a){var b,c=this._backingData[a];try{delete this._backingData[a]}catch(d){}try{delete this[a]}catch(d){}return this.notify(a,b,c),this}};Object.keys(l).forEach(function(a){m[a]=l[a]});var n=function(a,b){return r(a,b)},o=0,p=function(){return"bindHandler"+o++},q=function(a,c){if(!b.msGetWeakWinRTProperty)return a;var d=p();return j._getWeakRefElement(c)[d]=a,function(a,b){var e=j._getWeakRefElement(c);e&&e[d](a,b)}},r=function(a,b,c){function d(){h&&h.forEach(function(a){a.source.unbind(a.prop,a.listener)}),h=null}function e(a){g[a]&&(g[a].complexBind.cancel(),delete g[a])}if(a=v(a),!a)return{cancel:function(){},empty:!0};var f;c||(c=p(),f={},j._createWeakRef(f,c));var g={},h=null;return Object.keys(b).forEach(function(d){var i=b[d];if(i instanceof Function)i=q(i,c),i.bindState=f,h=h||[],h.push({source:a,prop:d,listener:i}),a.bind(d,i);else{var j=function(a){e(d);var b=r(v(a),i,c);if(b.empty){var f=function(a){Object.keys(a).forEach(function(b){var c=a[b];c instanceof Function?c(void 0,void 0):f(c)})};f(i)}g[d]={source:a,complexBind:b}};j=q(j,c),j.bindState=f,h=h||[],h.push({source:a,prop:d,listener:j}),a.bind(d,j)}}),{cancel:function(){d(),Object.keys(g).forEach(function(a){e(a)})}}},s=c.Class.mix(function(a){this._initObservable(a),Object.defineProperties(this,t(a))},m),t=function(a){function b(a){c[a]={get:function(){return this.getProperty(a)},set:function(b){this.setProperty(a,b)},enumerable:!0,configurable:!0}}for(var c={};a&&a!==Object.prototype;)Object.keys(a).forEach(b),a=Object.getPrototypeOf(a);return c},u=function(a){if(!(!a||"object"!=typeof a||a instanceof Date||Array.isArray(a)))return c.Class.mix(function(b){this._initObservable(b||Object.create(a))},m,t(a));if(d.validation)throw new e("WinJS.Binding.UnsupportedDataType",g._formatString(k.unsupportedDataTypeForBinding))},v=function(a){if(!a)return a;var b=typeof a;if("object"!==b||a instanceof Date||Array.isArray(a))return a;if(a._getObservable)return a._getObservable();var c=new s(a);return c.backingData=a,Object.defineProperty(a,"_getObservable",{value:function(){return c},enumerable:!1,writable:!1}),c},w=function(a){return a&&a.backingData?a.backingData:a};c.Namespace._moduleDefine(a,"WinJS.Binding",{mixin:{value:m,enumerable:!1,writable:!0,configurable:!0},dynamicObservableMixin:{value:m,enumerable:!0,writable:!0,configurable:!0},observableMixin:{value:l,enumerable:!0,writable:!0,configurable:!0},expandProperties:t,define:u,as:v,unwrap:w,bind:n})}),define("WinJS/Binding/_Declarative",["exports","../Core/_Global","../Core/_WinRT","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Log","../Core/_Resources","../Core/_WriteProfilerMark","../Promise","../Utilities/_ElementUtilities","./_BindingParser","./_Data","./_DomWeakRefTable"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){"use strict";function o(a,b){var c=a._autoDispose;c&&c.push(b)}function p(a){a._autoDispose=(a._autoDispose||[]).filter(function(a){return a()})}function q(a,b){return a?a.winBindingToken===b?a:void(g.log&&g.log(h._formatString(N.duplicateBindingDetected,a.id),"winjs binding","error")):a}function r(a){if(a.winBindingToken)return a.winBindingToken;var b="_win_bind"+L++;return Object.defineProperty(a,"winBindingToken",{configurable:!1,writable:!1,enumerable:!1,value:b}),b}function s(a,b,c,d,e,f,g){var h=a.initializer;if(h&&(h=h.winControl||h["data-win-control"]||h),h instanceof Function){var i=h(d,a.source,e,a.destination);return g&&(i&&i.cancel?g.bindings.push(function(){i.cancel()}):g.nocache=!0),i}h&&h.render&&(f.count++,g&&(g.nocache=!0),P(h.render).call(h,A(d,a.source),e).then(function(){f.checkComplete()}))}function t(a,b,c,d,e,f){var i,j=!0,k=!1;p(d);var l=function(){if(!k){var c=q(n._getWeakRefElement(a),b);return c||(g.log&&g.log(h._formatString(N.elementNotFound,a),"winjs binding","info"),i&&i.cancel()),c}},m=function(a){var b=l();b&&B(b,e.destination,a),j&&(c.checkComplete(),j=!1)};if(o(d,l),i=H(d,e.source,m)){var r=i.cancel;i.cancel=function(){return k=!0,r.call(i)},f&&f.bindings.push(function(){i.cancel()})}return i}function u(a,c,d,e,f,g,h){var i;return e!==b&&(e=m.as(e)),e._getObservable&&(i=e._getObservable()),i?(g.count++,t(c,d,g,i,a,h)):void B(f,a.destination,A(e,a.source))}function v(a,b){for(var c=a.length-1;c>=0;c--){var d=a[c],i=d.destination;if(1===i.length&&"id"===i[0]){if(e.validation)throw new f("WinJS.Binding.IdBindingNotSupported",h._formatString(N.idBindingNotSupported,b));g.log&&g.log(h._formatString(N.idBindingNotSupported,b),"winjs binding","error"),a.splice(c,1)}}return a}function w(a,c){if(c){var d,e=c.expressions[a];return e||(d=v(l._bindingParser(a,b),a),c.expressions[a]=d),d||(d=e),d}return v(l._bindingParser(a,b),a)}function x(a,c,d,e,f,g){i("WinJS.Binding:processAll,StartTM");var h,j={count:0,checkComplete:function(){this.count--,0===this.count&&(i("WinJS.Binding:processAll,StopTM"),g())}},l=a||b.document.body,m="[data-win-bind],[data-win-control]",o=l.querySelectorAll(m);!d&&l.getAttribute("data-win-bind")&&(h=l),j.count++;var p=c||b;n._DOMWeakRefTable_fastLoadPath=!0;try{var q=k.data(l);q.winBindings=q.winBindings||[];for(var t=h?-1:0,v=o.length;v>t;t++){var x=0>t?h:o[t];if(x.winControl&&x.winControl.constructor&&x.winControl.constructor.isDeclarativeControlContainer){t+=x.querySelectorAll(m).length;var z=x.winControl.constructor.isDeclarativeControlContainer;"function"==typeof z&&(z=P(z))(x.winControl,function(a){return y(a,c,!1,e,f)})}if(x.hasAttribute("data-win-bind")){var A=x.getAttribute("data-win-bind"),B=w(A,e);if(!B.implemented){for(var C=0,D=B.length;D>C;C++){var E=B[C];E.initializer=E.initializer||f,E.implementation=E.initializer?s:u}B.implemented=!0}j.count++;var F=r(x),G=M?F:x.id;G||(x.id=G=F),n._createWeakRef(x,G);var H=k.data(x);H.winBindings=null;var I;e&&e.elements&&(I=e.elements[G],I||(e.elements[G]=I={bindings:[]}));for(var J=0,K=B.length;K>J;J++){var L=B[J],N=L.implementation(L,G,F,p,x,j,I);N&&(H.winBindings=H.winBindings||[],H.winBindings.push(N),q.winBindings.push(N))}j.count--}}}finally{n._DOMWeakRefTable_fastLoadPath=!1}j.checkComplete()}function y(a,b,c,d,e){return new j(function(f,g,h){x(a,b,c,d,e,f,g,h)}).then(null,function(a){return g.log&&g.log(h._formatString(N.errorInitializingBindings,a&&a.message),"winjs binding","error"),j.wrapError(a)})}function z(a){var c=function(c,d,e,f,i){var j=r(e),k=M?j:e.id;k||(e.id=k=j),n._createWeakRef(e,k);var l;if(c!==b&&(c=m.as(c)),c._getObservable&&(l=c._getObservable()),l){var o=0,p=H(m.as(c),d,function(b){if(1!==++o||b!==i){var c=q(n._getWeakRefElement(k),j);c?B(c,f,a(P(b))):p&&(g.log&&g.log(h._formatString(N.elementNotFound,k),"winjs binding","info"),p.cancel())}});return p}var s=A(c,d);s!==i&&B(e,f,a(s))};return O(c)}function A(a,c){if(a!==b&&(a=P(a)),c)for(var d=0,e=c.length;e>d&&null!==a&&void 0!==a;d++)a=P(a[c[d]]);return a}function B(a,c,d){P(d),a=P(a);for(var e=0,f=c.length-1;f>e;e++){if(a=P(a[c[e]]),!a)return void(g.log&&g.log(h._formatString(N.propertyDoesNotExist,c[e],c.join(".")),"winjs binding","error"));if(a instanceof b.Node)return void(g.log&&g.log(h._formatString(N.nestedDOMElementBindingNotSupported,c[e],c.join(".")),"winjs binding","error"))}if(0===c.length)return void(g.log&&g.log(N.cannotBindToThis,"winjs binding","error"));var i=c[c.length-1];g.log&&void 0===a[i]&&g.log(h._formatString(N.creatingNewProperty,i,c.join(".")),"winjs binding","warn"),a[i]=d}function C(a,b,c){return a=P(a),b&&1===b.length&&b[0]?void a.setAttribute(b[0],c):void(g.log&&g.log(N.attributeBindingSingleProperty,"winjs binding","error"))}function D(a,c,d,e,f){var i=r(d),j=M?i:d.id;j||(d.id=j=i),n._createWeakRef(d,j);var k;if(a!==b&&(a=m.as(a)),a._getObservable&&(k=a._getObservable()),k){var l=0,o=H(k,c,function(a){if(1!==++l||a!==f){var b=q(n._getWeakRefElement(j),i);b?C(b,e,P(a)):o&&(g.log&&g.log(h._formatString(N.elementNotFound,j),"winjs binding","info"),o.cancel())}});return o}var p=A(a,c);p!==f&&C(d,e,p)}function E(a,b,c,d){return C(c,d,A(a,b))}function F(a,b,c){c=P(c);var d=A(a,b);Array.isArray(d)?d.forEach(function(a){k.addClass(c,a)}):d&&k.addClass(c,d)}function G(a,b,c,d,e){return Q(a,b,c,d,e)}function H(a,b,c){if(b.length>1){for(var d={},e=d,f=0,g=b.length-1;g>f;f++)e=e[b[f]]={};return e[b[b.length-1]]=c,m.bind(a,d,!0)}return 1===b.length?(a.bind(b[0],c,!0),{cancel:function(){a.unbind(b[0],c),this.cancel=I}}):void c(a)}function I(){}function J(a,b,c,d){return B(c,d,A(a,b)),{cancel:I}}function K(a){return O(a)}var L=1e3*Math.random()>>0,M=c.msSetWeakWinRTProperty&&c.msGetWeakWinRTProperty,N={get attributeBindingSingleProperty(){return'Attribute binding requires a single destination attribute name, often in the form "this[\'aria-label\']" or "width".'},get cannotBindToThis(){return"Can't bind to 'this'."},get creatingNewProperty(){return"Creating new property {0}. Full path:{1}"},get duplicateBindingDetected(){return"Binding against element with id {0} failed because a duplicate id was detected."},get elementNotFound(){return"Element not found:{0}"},get errorInitializingBindings(){return"Error initializing bindings: {0}"},get propertyDoesNotExist(){return"{0} doesn't exist. Full path:{1}"},get idBindingNotSupported(){return"Declarative binding to ID field is not supported. Initializer: {0}"},get nestedDOMElementBindingNotSupported(){return"Binding through a property {0} of type HTMLElement is not supported, Full path:{1}."}},O=e.markSupportedForProcessing,P=e.requireSupportedForProcessing,Q=z(function(a){return a});d.Namespace._moduleDefine(a,"WinJS.Binding",{processAll:y,oneTime:K(J),defaultBind:K(G),converter:z,initializer:K,getValue:A,setAttribute:K(D),setAttributeOneTime:K(E),addClassOneTime:K(F)})}),define("WinJS/Binding",["./Binding/_BindingParser","./Binding/_Data","./Binding/_Declarative","./Binding/_DomWeakRefTable"],function(){}),define("WinJS/BindingTemplate/_DataTemplateCompiler",["exports","../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Log","../Core/_Resources","../Core/_WriteProfilerMark","../Binding/_BindingParser","../Binding/_Declarative","../ControlProcessor","../ControlProcessor/_OptionsParser","../Fragments","../Promise","../_Signal","../Utilities/_Dispose","../Utilities/_SafeHtml","../Utilities/_ElementUtilities"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){"use strict";if(b.document){var s={get attributeBindingSingleProperty(){return'Attribute binding requires a single destination attribute name, often in the form "this[\'aria-label\']" or "width".'},get cannotBindToThis(){return"Can't bind to 'this'."},get idBindingNotSupported(){return"Declarative binding to ID field is not supported. Initializer: {0}"}};c.Namespace._moduleDefine(a,"WinJS.Binding",{_TemplateCompiler:c.Namespace._lazy(function(){function a(a,b,c){var d=r.data(a).bindTokens;d&&d.forEach(function(a){a&&a.cancel&&a.cancel()}),b&&b.cancel(),c&&c.cancel()}function t(a,b){return function(c){return j.processAll(c,a,!1,null,b)}}function u(a){return a=Z(a),a instanceof b.Node?null:a}function v(a,b){var c=-1!==a.indexOf("\n"),d=arguments,f=a.replace(nb,function(f,g,h,i,j,k,l){if(j||k)throw new e("Format:MalformedInputString","Did you forget to escape a: "+(j||k)+" at: "+l);if(g)return"{";if(h)return"}";var m,n=+i;if(m=n===+n?d[n+1]:b[i],void 0===m)throw new e("Format:MissingPart","Missing part '"+i+"'");if(c){for(var o=l;o>0&&" "===a[--o];);o>=0&&"\n"===a[o]&&(m=w(l-o-1,m))}return m});return f}function w(a,b){for(var c="",d=0;a>d;d++)c+=" ";return b.split("\n").map(function(a,b){return b?c+a:a}).join("\n")}function x(a){return a.trim()}function y(a){return a.join(";\n")}function z(a){return a.join(", ")||"empty"}function A(a){return a.map(function(a){return a.match(jb)?"."+a:+a===a?v("[{0}]",a):v("[{0}]",C(a))}).join("")}function B(a,b,c,d){var b=b.map(function(a){return a.match(jb)?"."+a:(+a===a&&(a=+a),G(C(a)))}).map(function(a){return v("{filter}({temp} = {temp}{part})",{filter:d,temp:c,part:a})});return b.unshift(F(E(c,a))),b.push(c),F(b.join(" && "))}function C(a){return JSON.stringify(a)}function D(a){return a?"new Array("+ +a+")":"[]"}function E(a,b){return""+a+" = "+b}function F(a){return"("+a+")"}function G(a){return"["+a+"]"}function H(a){return a.match(jb)?a:+a===a?+a:C(a)}function I(a){return a=""+a,a.replace(lb,function(a){return mb[a]||" "})}function J(a,b,c){return new String(c?""+a+b+"_"+c:""+a+b)}function K(a){return a.replace(/\\n/g,"\\n\\\n")}function L(a){return Object.keys(a)}function M(a){return Object.keys(a).map(function(b){return a[b]})}function N(a,b){return O([a,b])}function O(a){for(var b={},c=0,d=a.length;d>c;c++)for(var e=a[c],f=Object.keys(e),g=0,h=f.length;h>g;g++){var i=f[g];b[i]=e[i]}return b}function P(a){return a.reduce(function(a,b){return a?Z(a[b]):null},b)}function Q(a,b,c,d){var e=a.children;if(e){var f=Object.keys(e);b&&c&&c(a,b,f.length);for(var g=0,h=f.length;h>g;g++){var i=f[g],j=e[i];Q(j,i,c,d)}b&&d&&d(a,b,Object.keys(e).length)}else b&&c&&c(a,b,0),b&&d&&d(a,b,0)}function R(a){return a.replace(/^\s*$/gm,"").replace(/^(.*[^\s])( *)$/gm,function(a,b){return b})}var S=n._cancelBlocker,T=j.defaultBind,U=j.oneTime,V=j.setAttribute,W=j.setAttributeOneTime,X=j.addClassOneTime,Y=n.as,Z=d.requireSupportedForProcessing,$=q.insertAdjacentHTMLUnsafe,_=r.data,ab=p.markDisposable,bb=k.processAll,cb=j.processAll,db=l._optionsParser,eb=l._CallExpression,fb=l._IdentifierExpression,gb=i._bindingParser2,hb=k.scopedSelect,ib=h,jb=/^[A-Za-z]\w*$/,kb=/[^A-Za-z\w$]/g,lb=/[&<>'"]/g,mb={"&":"&","<":"<",">":">","'":"'",'"':"""},nb=/({{)|(}})|{(\w+)}|({)|(})/g,ob=/^\s*;\s*$/,pb=/[A-Z]/g,qb=c.Class.define(function(a,b,c,d,e){var f=this;this.compiler=a,this.kind=c,this.base=new String(b),this.tree={children:{},parent:this.base,reference:function(){return f.base}},this.accessExpression=d,this.filter=e||""},{createPathExpression:function(a,b){if(a.length){var c=this,d=a.reduce(function(a,b){return a.children=a.children||{},a.children[b]=a.children[b]||{parent:a},a.children[b]},this.tree);return d.name=d.name||c.compiler.defineInstance(c.kind,b||"",function(){return c.accessExpression(d.parent.name?d.parent.name:d.parent.reference(),a.slice(-1)[0],d.parent.parent===c.base,c.filter,!0)}),d.name}return this.base},lower:function(){var a=this,b=[],c=function(b,c,d){return a.accessExpression(b.parent.name?b.parent.name:b.parent.reference(),c,b.parent.parent===a.base,a.filter,d)};Q(this.tree,"",function(d,e,f){b.push(e),f>1?(d.name=d.name||a.compiler.defineInstance(a.kind,b.join("_"),c.bind(null,d,e,!0)),d.reference=function(){return d.name}):1===f&&(d.reference=c.bind(null,d,e))},function(){b.pop()})},deadNodeElimination:function(){Q(this.tree,"",null,function(a,b,c){(!a.name||a.name.dead)&&0===c&&a.parent&&a.parent.children&&delete a.parent.children[b]})},definitions:function(){var a=[];return Q(this.tree,"",function(b){b.name&&a.push(b)}),a.map(function(a){return a.name.definition()})}}),rb={capture:"capture",temporary:"temporary",variable:"variable",data:"data",global:"global"},sb={capture:"c",temporary:"t",variable:"iv",data:"d",global:"g"},tb={"import":"import",variable:"variable"},ub={"import":"i",variable:"sv"},vb={tree:"tree",text:"text",initializer:"initializer",template:"template",error:"error"},wb={attribute:"attribute",booleanAttribute:"booleanAttribute",inlineStyle:"inlineStyle",textContent:"textContent"},xb="imports",yb={initial:0,analyze:1,optimze:2,lower:3,compile:4,link:5,done:6},zb=c.Class.define(function(a,c){if(this._stage=yb.initial,this._staticVariables={},this._staticVariablesCount=0,this._instanceVariables={},this._instanceVariablesCount={},this._debugBreak=c.debugBreakOnRender,this._defaultInitializer=Z(c.defaultInitializer||T),this._optimizeTextBindings=!c.disableTextBindingOptimization,this._templateElement=a,this._templateContent=b.document.createElement(a.tagName),this._extractChild=c.extractChild||!1,this._controls=null,this._bindings=null,this._bindTokens=null,this._textBindingPrefix=null,this._textBindingId=0,this._suffix=[],this._htmlProcessors=[],this._profilerMarkIdentifier=c.profilerMarkIdentifier,this._captureCSE=new qb(this,"container",rb.capture,this.generateElementCaptureAccess.bind(this)),this._dataCSE=new qb(this,"data",rb.data,this.generateNormalAccess.bind(this),this.importSafe("dataSecurityCheck",Z)),this._globalCSE=new qb(this,this.importSafe("global",b),rb.global,this.generateNormalAccess.bind(this),this.importSafe("globalSecurityCheck",Z)),m.renderCopy(this._templateElement,this._templateContent),this._extractChild)for(;this._templateContent.childElementCount>1;)this._templateContent.removeChild(this._templateContent.lastElementChild)},{addClassOneTimeTextBinding:function(a){var b=this,c=this.createTextBindingHole(a.elementCapture.element.tagName,"class",++this._textBindingId);a.textBindingId=c,a.kind=vb.text,a.elementCapture.element.classList.add(c),a.elementCapture.refCount--,a.definition=function(){return b.formatCode("{htmlEscape}({value})",{htmlEscape:b._staticVariables.htmlEscape,value:a.value()})}},addClassOneTimeTreeBinding:function(a){var b=this;a.pathExpression=this.bindingExpression(a),a.value=function(){return a.pathExpression},a.kind=vb.tree,a.definition=function(){return b.formatCode("{element}.classList.add({value})",{element:a.elementCapture,value:a.value()})}},analyze:function(){if(this._stage>yb.analyze)throw"Illegal: once we have moved past analyze we cannot revist it";this._stage=yb.analyze,this._controls=this.gatherControls(),this._bindings=this.gatherBindings(),this._children=this.gatherChildren(),this.cleanControlAndBindingAttributes(),this.async&&this.createAsyncParts(),this.nullableIdentifierAccessTemporary=this.defineInstance(rb.temporary);var a=this._templateContent.innerHTML;this._html=function(){return K(C(a))},this._html.text=a},bindingExpression:function(a){return this._dataCSE.createPathExpression(a.source,a.source.join("_"))},capture:function(a){var b=a._capture;if(b)return b.refCount++,b;for(var c=[a],d=a.parentNode,e=a.tagName;d!==this._templateContent;)e=d.tagName+"_"+e,c.unshift(d),d=d.parentNode;for(var f=0,g=c.length;g>f;f++){var h=c[f];c[f]=Array.prototype.indexOf.call(d.children,h),d=h}return b=this._captureCSE.createPathExpression(c,e.toLowerCase()),b.element=a,b.element._capture=b,b.refCount=1,b},cleanControlAndBindingAttributes:function(){for(var a="[data-win-bind],[data-win-control]",b=this._templateContent.querySelectorAll(a),c=0,d=b.length;d>c;c++){var e=b[c];e.isDeclarativeControlContainer&&(c+=e.querySelectorAll("[data-win-bind],[data-win-control]").length),e.removeAttribute("data-win-bind"),e.removeAttribute("data-win-control"),e.removeAttribute("data-win-options")}},compile:function(a,b,c){if(this._stage>yb.compile)throw"Illegal: once we have moved past compile we cannot revist it";this._stage=yb.compile;var d=this;this._returnedElement=this._extractChild?"container.firstElementChild":"container";var e,f,g=this._controls.map(function(a){var b;b=a.async?"{target}.winControl = {target}.winControl || new {SafeConstructor}({target}, {options}, controlDone)":"{target}.winControl = {target}.winControl || new {SafeConstructor}({target}, {options})";var c=d.formatCode(b,{target:a.elementCapture,SafeConstructor:a.SafeConstructor,options:d.generateOptionsLiteral(a.optionsParsed,a.elementCapture)});if(a.isDeclarativeControlContainer&&"function"==typeof a.isDeclarativeControlContainer.import){var e=[c];return e.push(d.formatCode("{isDeclarativeControlContainer}({target}.winControl, {delayedControlProcessing})",{target:a.elementCapture,isDeclarativeControlContainer:a.isDeclarativeControlContainer,delayedControlProcessing:d._staticVariables.ui_processAll})),e.push(d.formatCode("{isDeclarativeControlContainer}({target}.winControl, {delayedBindingProcessing}(data, {templateDefaultInitializer}))",{target:a.elementCapture,isDeclarativeControlContainer:a.isDeclarativeControlContainer,delayedBindingProcessing:d._staticVariables.delayedBindingProcessing,templateDefaultInitializer:d._staticVariables.templateDefaultInitializer||C(null)})),e.join(";\n")}return c}),h=this._bindings.map(function(a){switch(a.kind){case vb.template:return d.formatCode("({nestedTemplates}[{nestedTemplate}] = {template}.render({path}, {dest}))",{nestedTemplates:d._nestedTemplates,nestedTemplate:C(a.nestedTemplate),template:a.template,path:a.pathExpression,dest:a.elementCapture});case vb.initializer:var b;return b=a.initialValue?"({bindTokens}[{bindToken}] = {initializer}(data, {sourceProperties}, {dest}, {destProperties}, {initialValue}))":"({bindTokens}[{bindToken}] = {initializer}(data, {sourceProperties}, {dest}, {destProperties}))",d.formatCode(b,{bindTokens:d._bindTokens,bindToken:C(a.bindToken),initializer:a.initializer,sourceProperties:C(a.source),destProperties:C(a.destination),dest:a.elementCapture,initialValue:a.initialValue});case vb.tree:return a.definition();case vb.text:break;case vb.error:break;default:throw"NYI"}});c?(e=h.filter(function(a,b){return!d._bindings[b].delayable}),f=h.filter(function(a,b){return d._bindings[b].delayable})):(e=h,f=[]);var i=M(this._instanceVariables),j=i.filter(function(a){return a.kind===rb.variable}).map(function(a){return a.definition()}),k=this._captureCSE.definitions(),l=this._globalCSE.definitions(),m=this._dataCSE.definitions(),n=this._children.map(function(a){return d.formatCodeN("{0}.msParentSelectorScope = true",a)}),o=this._suffix.map(function(a){return a()}),p="";c&&f.length&&(p=d.formatCode(Ib,{delayed_binding_processing:y(f)}));var q=d.formatCode(a,O([this._staticVariables,b||{},{profilerMarkIdentifierStart:C("WinJS.Binding.Template:render"+this._profilerMarkIdentifier+",StartTM"),profilerMarkIdentifierStop:C("WinJS.Binding.Template:render"+this._profilerMarkIdentifier+",StopTM"),html:this._html(),tagName:C(this._templateElement.tagName),instance_variable_declarations:z(i),global_definitions:y(l),data_definitions:y(m),instance_variable_definitions:y(j),capture_definitions:y(k),set_msParentSelectorScope:y(n),debug_break:this.generateDebugBreak(),control_processing:y(g),control_counter:this._controlCounter,binding_processing:y(e),renderComplete:p,suffix_statements:y(o),nestedTemplates:this._nestedTemplates,returnedElement:this._returnedElement}]));return this.prettify(q)},createAsyncParts:function(){this._nestedTemplates=this._nestedTemplates||this.defineInstance(rb.variable,"nestedTemplates",function(){return D(0)}),this._controlCounter=this._controlCounter||this.defineInstance(rb.variable,"controlCounter",function(){return C(1)})},createTextBindingHole:function(a,b,c){if(!this._textBindingPrefix){for(var d="";-1!==this._html.text.indexOf("textbinding"+d);)d=d||0,d++;this._textBindingPrefix="textbinding"+d,this._textBindingRegex=new RegExp("(#?"+this._textBindingPrefix+"_\\d+)")}var e=this._textBindingPrefix+"_"+c;return"IMG"===a&&"src"===b&&(e="#"+e),e},deadCodeElimination:function(){var a=this;Object.keys(this._instanceVariables).forEach(function(b){var c=a._instanceVariables[b];c.kind===rb.capture&&(a._templateContent.contains(c.element)||(c.dead=!0),0===c.refCount&&(c.dead=!0),c.dead&&(c.definition=function(){},c.name=null,delete a._instanceVariables[b]))}),this._controls=this._controls.filter(function(a){return!a.elementCapture.dead}),this._bindings=this._bindings.filter(function(a){return!a.elementCapture.dead}),this._captureCSE.deadNodeElimination()},defineInstance:function(a,b,c){if(this._stage>=yb.compile)throw"Illegal: define instance variable after compilation stage has started";var d=this._instanceVariablesCount[a]||0,e=b?b.replace(kb,"_"):"",f=J(sb[a],d,e);return f.definition=function(){return E(f,c())},f.kind=a,this._instanceVariables[f]=f,this._instanceVariablesCount[a]=d+1,f},defineStatic:function(a,b,c){if(this._stage>=yb.link)throw"Illegal: define static variable after link stage has started";if(b){var d=this._staticVariables[b];if(d)return d}var e=b?b.replace(kb,"_"):"",f=J(ub[a],this._staticVariablesCount,e);return f.definition=function(){return E(f,c())},f.kind=a,this._staticVariables[b||f]=f,this._staticVariablesCount++,f},done:function(){if(this._stage>yb.done)throw"Illegal: once we have moved past done we cannot revist it";this._stage=yb.done},emitScopedSelect:function(a,b){return this.formatCode("{scopedSelect}({selector}, {element})",{scopedSelect:this._staticVariables.scopedSelect,selector:C(a),element:b})},emitOptionsNode:function(a,b,c){var d=this;if(a)switch(typeof a){case"object":if(Array.isArray(a)){b.push("[");for(var e=0,f=a.length;f>e;e++)this.emitOptionsNode(a[e],b,c),b.push(",");b.push("]")}else if(a instanceof eb)b.push("select"===a.target?this.emitScopedSelect(a.arg0Value,c):C(null));else if(a instanceof fb&&a.parts[0]instanceof eb){var g=a.parts[0];b.push(B("select"===g.target?this.emitScopedSelect(g.arg0Value,c):C(null),a.parts.slice(1),this.nullableIdentifierAccessTemporary,this.importSafe("requireSupportedForProcessing",Z)))}else a instanceof fb?b.push(a.pathExpression):(b.push("{"),Object.keys(a).forEach(function(e){b.push(H(e)),b.push(":"),d.emitOptionsNode(a[e],b,c),b.push(",")}),b.push("}"));break;default:b.push(C(a))}else b.push(C(null))},findGlobalIdentifierExpressions:function(a,b){b=b||[];var c=this;return Object.keys(a).forEach(function(d){var e=a[d];"object"==typeof e&&(e instanceof fb?e.parts[0]instanceof eb||b.push(e):c.findGlobalIdentifierExpressions(e,b))}),b},formatCodeN:function(){if(this._stageh;h++){var j=g[h];if(j.isDeclarativeControlContainer&&(h+=j.querySelectorAll(f).length),j.hasAttribute("data-win-bind")){var k=j.getAttribute("data-win-bind"),l=gb(k,b);l.forEach(function(b){if(b.initializer){var e=b.initializer.join("."),f=P(b.initializer);f.render?(Z(f.render),b.template=c.importSafe(e,f),b.pathExpression=c.bindingExpression(b),b.nestedTemplate=++d,b.kind=vb.template):f.winControl&&f.winControl.render?(Z(f.winControl.render),b.template=c.importSafe(e,f.winControl),b.pathExpression=c.bindingExpression(b),b.nestedTemplate=++d,b.kind=vb.template):(b.initializer=c.import(e,f),b.bindToken=++a,b.kind=vb.initializer)}else b.initializer=c.importSafe("templateDefaultInitializer",c._defaultInitializer),b.bindToken=++a,b.kind=vb.initializer;b.elementCapture=c.capture(j),b.bindingText=k}),e.push.apply(e,l)}}var m=d+1;m>0&&(this.async=!0,this._nestedTemplates=this.defineInstance(rb.variable,"nestedTemplates",function(){return D(m)}));var n=a+1;return n>0&&(this._bindTokens=this.defineInstance(rb.variable,"bindTokens",function(){return D(n)}),this._suffix.push(function(){return c.formatCode("{utilities_data}(returnedElement).bindTokens = {bindTokens}",{utilities_data:c._staticVariables.utilities_data,bindTokens:c._bindTokens})})),e},gatherChildren:function(){var a=this;return Array.prototype.map.call(this._templateContent.children,function(b){return a.capture(b)})},gatherControls:function(){for(var a=this,c=0,e=[],f="[data-win-control]",g=this._templateContent.querySelectorAll(f),h=0,i=g.length;i>h;h++){var j=g[h],k=j.getAttribute("data-win-control"),l=d._getMemberFiltered(k.trim(),b,Z);if(l){var m=j.getAttribute("data-win-options")||C({}),n=l.length>2;n&&(c++,this.async=!0);var o=l.isDeclarativeControlContainer;o&&("function"==typeof o&&(o=this.import(k+"_isDeclarativeControlContainer",o)),j.isDeclarativeControlContainer=o,h+=j.querySelectorAll(f).length);var p={elementCapture:this.capture(j),name:k,SafeConstructor:this.importSafe(k,l),async:n,optionsText:C(m),optionsParsed:db(m),isDeclarativeControlContainer:o};e.push(p);var q=this.findGlobalIdentifierExpressions(p.optionsParsed);q.forEach(function(b){b.pathExpression=a.globalExpression(b.parts)})}}return c>0&&(this._controlCounter=this.defineInstance(rb.variable,"controlCounter",function(){return C(c+1)})),e},generateElementCaptureAccess:function(a,b,c){if(c){var d=""+b=="0"?"":" + "+b;return this.formatCodeN("{0}.children[startIndex{1}]",a,d)}return this.formatCodeN("{0}.children[{1}]",a,b)},generateNormalAccess:function(a,b,c,d,e){if(a.indexOf(this.nullableIdentifierAccessTemporary)>=0){var f;return f=e?"{left} && {filter}({temp}{right})":"{left} && ({temp} = {filter}({temp}{right}))",this.formatCode(f,{temp:this.nullableIdentifierAccessTemporary,left:a,right:A([b]),filter:d})}var f;return f=e?"({temp} = {left}) && {filter}({temp}{right})":"({temp} = {left}) && ({temp} = {filter}({temp}{right}))",this.formatCode(f,{temp:this.nullableIdentifierAccessTemporary,left:a,right:A([b]),filter:d})},generateOptionsLiteral:function(a,b){var c=[];return this.emitOptionsNode(a,c,b),c.join(" ")},generateDebugBreak:function(){if(this._debugBreak){var a=this.defineStatic(tb.variable,"debugCounter",function(){return C(0)});return this.formatCodeN("if (++{0} === 1) {{ debugger; }}",a)}return""},globalExpression:function(a){return this._globalCSE.createPathExpression(a,a.join("_"))},"import":function(a,b){return this.importSafe(a,Z(b))},importSafe:function(a,b){var c=this,d=this.defineStatic(tb.import,a,function(){return c.formatCodeN("({0}{1})",xb,A([a]))});if(d.import&&d.import!==b)throw"Duplicate import: '"+a+"'";return d.import=b,d},importAll:function(a){return Object.keys(a).forEach(function(b){Z(a[b])}),this.importAllSafe(a)},importAllSafe:function(a){var b=this,c=Object.keys(a).reduce(function(c,d){return c[d]=b.importSafe(d,a[d]),c},{});return c},link:function(a){if(this._stage>yb.link)throw"Illegal: once we have moved past link we cannot revist it";this._stage=yb.link;var b=this,c=L(this._staticVariables).filter(function(a){return b._staticVariables[a].kind===tb.import}).reduce(function(a,c){return a[c]=b._staticVariables[c].import,a},{}),d=M(this._staticVariables);return new Function(xb,this.formatCode(Kb,{static_variable_declarations:z(d),static_variable_definitions:y(d.map(function(a){return a.definition()})),body:a.trim()}))(c)},lower:function(){if(this._stage>yb.lower)throw"Illegal: once we have moved past lower we cannot revist it";this._stage=yb.lower,this._captureCSE.lower(),this._dataCSE.lower(),this._globalCSE.lower()},markBindingAsError:function(a){a&&(a.kind=vb.error,this.markBindingAsError(a.original))},oneTimeTextBinding:function(a){var b=this,c=this.oneTimeTextBindingAnalyze(a);if(c){var d;a.original&&(d=a.original.initialValue); -var e=this.createTextBindingHole(a.elementCapture.element.tagName,c.attribute,++this._textBindingId);switch(a.textBindingId=e,a.kind=vb.text,a.elementCapture.refCount--,a.definition=function(){var c;return c=d?"{htmlEscape}({initialValue})":"{htmlEscape}({getter})",b.formatCode(c,{htmlEscape:b._staticVariables.htmlEscape,getter:a.value(),initialValue:d})},c.kind){case wb.attribute:a.elementCapture.element.setAttribute(c.attribute,e);break;case wb.booleanAttribute:a.elementCapture.element.setAttribute(c.attribute,e),a.definition=function(){var e;return e=d?'({initialValue} ? {attribute} : "")':'({value} ? {attribute} : "")',b.formatCode(e,{value:a.value(),attribute:C(c.attribute),initialValue:d})},this._htmlProcessors.push(function(a){return a.replace(new RegExp(c.attribute+'="'+e+'"',"i"),e)});break;case wb.textContent:a.elementCapture.element.textContent=e;break;case wb.inlineStyle:var f=a.elementCapture.element;if(!f.msReplaceStyle){f.msReplaceStyle=f.getAttribute("style")||"",""!==f.msReplaceStyle&&";"!==f.msReplaceStyle[f.msReplaceStyle.length-1]&&(f.msReplaceStyle=f.msReplaceStyle+";"),f.setAttribute("style","msReplaceStyle:'"+e+"'");var g=f.getAttribute("style");this._htmlProcessors.push(function(a){return a.replace(g,f.msReplaceStyle)})}f.msReplaceStyle=f.msReplaceStyle+c.property+":"+e+";";break;default:throw"NYI"}}},oneTimeTextBindingAnalyze:function(a){var b=a.elementCapture.element,c=b.tagName,d=a.destination[0];switch(c){case"A":switch(d){case"href":return{kind:wb.attribute,attribute:d}}break;case"IMG":switch(d){case"alt":case"src":case"width":case"height":return{kind:wb.attribute,attribute:d}}break;case"SELECT":switch(d){case"disabled":case"multiple":case"required":return{kind:wb.booleanAttribute,attribute:d};case"size":return{kind:wb.attribute,attribute:d}}break;case"OPTION":switch(d){case"label":case"value":return{kind:wb.attribute,attribute:d};case"disabled":case"selected":return{kind:wb.booleanAttribute,attribute:d}}break;case"INPUT":switch(d){case"checked":switch(b.type){case"checkbox":case"radio":return{kind:wb.booleanAttribute,attribute:d}}break;case"disabled":return{kind:wb.booleanAttribute,attribute:d};case"max":case"maxLength":case"min":case"step":case"value":return{kind:wb.attribute,attribute:d};case"size":switch(b.type){case"text":case"search":case"tel":case"url":case"email":case"password":return{kind:wb.attribute,attribute:d}}break;case"readOnly":switch(b.type){case"hidden":case"range":case"color":case"checkbox":case"radio":case"file":case"button":break;default:return{kind:wb.booleanAttribute,attribute:d}}}break;case"BUTTON":switch(d){case"disabled":return{kind:wb.booleanAttribute,attribute:d};case"value":return{kind:wb.attribute,attribute:d}}break;case"TEXTAREA":switch(d){case"disabled":case"readOnly":case"required":return{kind:wb.booleanAttribute,attribute:d};case"cols":case"maxLength":case"placeholder":case"rows":case"wrap":return{kind:wb.attribute,attribute:d}}}switch(d){case"className":return{kind:wb.attribute,attribute:"class"};case"dir":case"lang":case"name":case"title":case"tabIndex":return{kind:wb.attribute,attribute:d};case"style":if(a.destination.length>1){var e=a.destination[1];if("cssText"===e)return;var f="string"==typeof b.style[e];if(f)return("m"===e[0]&&"s"===e[1]||"webkit"===e.substring(0,6))&&(e="-"+e),e=e.replace(pb,function(a){return"-"+a.toLowerCase()}),{kind:wb.inlineStyle,property:e,attribute:"style"}}break;case"innerText":case"textContent":return{kind:wb.textContent,attribute:"textContent"}}},oneTimeTreeBinding:function(a){if(1===a.destination.length&&"id"===a.destination[0]){if(d.validation)throw new e("WinJS.Binding.IdBindingNotSupported",g._formatString(s.idBindingNotSupported,a.bindingText));return f.log&&f.log(g._formatString(s.idBindingNotSupported,a.bindingText),"winjs binding","error"),void this.markBindingAsError(a)}if(0===a.destination.length)return f.log&&f.log(s.cannotBindToThis,"winjs binding","error"),void this.markBindingAsError(a);var b,c=this;a.pathExpression=this.bindingExpression(a),a.value=function(){return a.pathExpression},a.original&&(b=a.pathExpression,a.original.initialValue=b),a.kind=vb.tree,a.definition=function(){var d;return d=b?"({targetPath} || {{}}){prop} = {initialValue}":"({targetPath} || {{}}){prop} = {sourcePath}",c.formatCode(d,{targetPath:B(a.elementCapture,a.destination.slice(0,-1),c.nullableIdentifierAccessTemporary,c.importSafe("targetSecurityCheck",u)),prop:A(a.destination.slice(-1)),sourcePath:a.value(),initialValue:b})}},optimize:function(){if(this._stage>yb.optimze)throw"Illegal: once we have moved past link we cannot revist it";this._stage=yb.optimze;for(var a=0;ag;g++)e.push(d[g]);b=function(a,b,c,d){var f=[];return e.forEach(function(e){f.push(a(e,b,c,d))}),l.join(f)}}}for(var m=i.firstElementChild;m;)m.msParentSelectorScope=!0,m=m.nextElementSibling;var n=s.processTimeout;return n?(0>n&&(n=0),l.timeout(n).then(function(){return f=a()})):f=a()}).then(e,function(a){return e(),l.wrapError(a)});return{element:q,renderComplete:v}}var p=d.Class.define(function(a,c){this._element=a||b.document.createElement("div"),this._element.winControl=this,this._profilerMarkIdentifier=e._getProfilerMarkIdentifier(this._element),g("WinJS.Binding:newTemplate"+this._profilerMarkIdentifier+",StartTM");var d=this;this._element.renderItem=function(a,b){return d._renderItemImpl(a,b)},c=c||{},this.href=c.href,this.enableRecycling=!!c.enableRecycling,this.processTimeout=c.processTimeout||0,this.bindingInitializer=c.bindingInitializer,this.debugBreakOnRender=c.debugBreakOnRender,this.disableOptimizedProcessing=c.disableOptimizedProcessing,this.extractChild=c.extractChild,this._counter=0,this._compile=!!c._compile,this.href||(this.element.style.display="none"),this.bindingCache={expressions:{}},g("WinJS.Binding:newTemplate"+this._profilerMarkIdentifier+",StopTM")},{_shouldCompile:{get:function(){var a=!0;return a=a&&!p._interpretAll,a=a&&!this.disableOptimizedProcessing,a&&(a=a&&0===this.processTimeout,a=a&&(!this.href||this.href instanceof b.HTMLElement),a||f.log&&f.log("Cannot compile templates which use processTimeout or href properties","winjs binding","warn")),a}},bindingInitializer:{get:function(){return this._bindingInitializer},set:function(a){this._bindingInitializer=a,this._reset()}},debugBreakOnRender:{get:function(){return this._debugBreakOnRender},set:function(a){this._debugBreakOnRender=!!a,this._reset()}},disableOptimizedProcessing:{get:function(){return this._disableOptimizedProcessing},set:function(a){this._disableOptimizedProcessing=!!a,this._reset()}},element:{get:function(){return this._element}},extractChild:{get:function(){return this._extractChild},set:function(a){this._extractChild=!!a,this._reset()}},processTimeout:{get:function(){return this._processTimeout||0},set:function(a){this._processTimeout=a,this._reset()}},render:e.markSupportedForProcessing(function(a,b){return this._renderImpl(a,b)}),_renderImpl:function(b,c){if(this._shouldCompile)try{return this._renderImpl=this._compileTemplate({target:"render"}),this._renderImpl(b,c)}catch(d){return l.wrapError(d)}var e=a(this,b,c);return e.element.then(function(){return e.renderComplete})},_renderInterpreted:function(b,c){return a(this,b,c)},renderItem:function(a,b){return this._renderItemImpl(a,b)},_renderItemImpl:function(b,c){if(this._shouldCompile)try{return this._renderItemImpl=this._compileTemplate({target:"renderItem"}),this._renderItemImpl(b)}catch(d){return{element:l.wrapError(d),renderComplete:l.wrapError(d)}}var e=this;if(this.enableRecycling&&!this.bindingCache.elements&&(this.bindingCache.elements={}),this.enableRecycling&&c&&c.msOriginalTemplate===this){var f=this.bindingCache.elements[c.id],g=!0;if(f&&(f.bindings.forEach(function(a){a()}),f.bindings=[],g=!f.nocache),g)return{element:c,renderComplete:b.then(function(a){return h.processAll(c,a.data,!0,e.bindingCache)})}}var i=a(this,b.then(function(a){return a.data}));return i.element=i.element.then(function(a){return a.msOriginalTemplate=e,a}),i},_compileTemplate:function(a){var b=this,d=i._TemplateCompiler.compile(this,this.href||this.element,{debugBreakOnRender:this.debugBreakOnRender||p._debugBreakOnRender,defaultInitializer:this.bindingInitializer||a.defaultInitializer,disableTextBindingOptimization:a.disableTextBindingOptimization||!1,target:a.target,extractChild:this.extractChild,profilerMarkIdentifier:this._profilerMarkIdentifier}),e=a.resetOnFragmentChange||c.Windows.ApplicationModel.DesignMode.designModeEnabled;if(e){var f=new n._MutationObserver(function(){b._reset(),f.disconnect()});f.observe(n.data(this.element).docFragment,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}return d},_reset:function(){delete this._renderImpl,delete this._renderItemImpl}},{isDeclarativeControlContainer:{value:!0,writable:!1,configurable:!1},render:{value:function(a,b,c){return new p(null,{href:a}).render(b,c)}}});return p})})}}),define("WinJS/BindingList/_BindingListDataSource",["exports","../Core/_WinRT","../Core/_Base","../Core/_ErrorFromName","../Binding/_DomWeakRefTable","../Promise","../Scheduler","../Utilities/_UI"],function(a,b,c,d,e,f,g,h){"use strict";c.Namespace._moduleDefine(a,"WinJS.Binding",{_BindingListDataSource:c.Namespace._lazy(function(){function a(a,b){for(var c=a.length;c-1>b;){var d=a.getItem(++b);if(d)return d.key}return null}function i(a,b){for(;b>0;){var c=a.getItem(--b);if(c)return c.key}return null}function j(a,b){Object.keys(b).forEach(function(c){a.addEventListener(c,b[c])})}function k(a,b){Object.keys(b).forEach(function(c){a.removeEventListener(c,b[c])})}function l(a,b){return b?new B(a,b):new A}function m(a,b,c){return b?new C(a,b,c):new A}function n(a,b,c){return b&&a._annotateWithIndex(b,c)}function o(a,b){return this._list.unshift(b),this.itemFromIndex(0)}function p(a,b,c){var d=this._list.indexOfKey(c);return-1===d?y.noLongerMeaningful:(this._list.splice(d,0,b),this.itemFromIndex(d))}function q(a,b,c){var d=this._list.indexOfKey(c);return-1===d?y.noLongerMeaningful:(d+=1,this._list.splice(d,0,b),this.itemFromIndex(d))}function r(a,b){return this._list.push(b),this.itemFromIndex(this._list.length-1)}function s(a,b){var c=this._list.indexOfKey(a);return-1===c?y.noLongerMeaningful:(this._list.setAt(c,b),this.itemFromIndex(c))}function t(a){var b=this._list.indexOfKey(a);if(-1===b)return y.noLongerMeaningful;var c=0;return this._list.move(b,c),this.itemFromIndex(c)}function u(a,b){var c=this._list.indexOfKey(a),d=this._list.indexOfKey(b);return-1===c||-1===d?y.noLongerMeaningful:(d=d>c?d-1:d,this._list.move(c,d),this.itemFromIndex(d))}function v(a,b){var c=this._list.indexOfKey(a),d=this._list.indexOfKey(b);return-1===c||-1===d?y.noLongerMeaningful:(d=d>=c?d:d+1,this._list.move(c,d),this.itemFromIndex(d))}function w(a){var b=this._list.indexOfKey(a);if(-1===b)return y.noLongerMeaningful;var c=this._list.length-1;return this._list.move(b,c),this.itemFromIndex(c)}function x(a){var b=this._list.indexOfKey(a);return-1===b?y.noLongerMeaningful:(this._list.splice(b,1),f.wrap())}var y={get noLongerMeaningful(){return f.wrapError(new d(h.EditError.noLongerMeaningful))}},z=f.wrap().constructor,A=c.Class.derive(z,function(){this._value=null},{release:function(){},retain:function(){return this}},{supportedForProcessing:!1}),B=c.Class.derive(z,function(a,b){this._value=b,this._listBinding=a},{handle:{get:function(){return this._value.key}},index:{get:function(){return this._value.index}},release:function(){this._listBinding._release(this._value,this._listBinding._list.indexOfKey(this._value.key))},retain:function(){return this._listBinding._addRef(this._value,this._listBinding._list.indexOfKey(this._value.key)),this}},{supportedForProcessing:!1}),C=c.Class.derive(f,function(a,b,c){var d=this;this._item=b,this._listBinding=a,f.call(this,function(e){g.schedule(function(){return a._released?void d.cancel():void e(b)},g.Priority.normal,null,"WinJS.Binding.List."+c)})},{handle:{get:function(){return this._item.key}},index:{get:function(){return this._item.index}},release:function(){this._listBinding._release(this._item,this._listBinding._list.indexOfKey(this._item.key))},retain:function(){return this._listBinding._addRef(this._item,this._listBinding._list.indexOfKey(this._item.key)),this}},{supportedForProcessing:!1}),D=c.Class.define(function(a,c,d,f){this._dataSource=a,this._list=c,this._editsCount=0,this._notificationHandler=d,this._pos=-1,this._retained=[],this._retained.length=c.length,this._retainedKeys={},this._affectedRange=null;var g=null;if(b.msSetWeakWinRTProperty&&b.msGetWeakWinRTProperty||(g=this),d){var h=function(a,b){var c=e._getWeakRefElement(f)||g;return c?(c["_"+a](b),!0):!1};this._handlers={itemchanged:function i(a){h("itemchanged",a)||c.removeEventListener("itemchanged",i)},iteminserted:function k(a){h("iteminserted",a)||c.removeEventListener("iteminserted",k)},itemmoved:function l(a){h("itemmoved",a)||c.removeEventListener("itemmoved",l)},itemremoved:function m(a){h("itemremoved",a)||c.removeEventListener("itemremoved",m)},reload:function n(){h("reload")||c.removeEventListener("reload",n)}},j(this._list,this._handlers)}},{_itemchanged:function(a){var b=a.detail.key,c=a.detail.index;this._updateAffectedRange(c,"changed");var d=a.detail.newItem,e=this._retained[c];if(e){var f=this._notificationHandler;if(e.index!==c){var g=e.index;e.index=c,f&&f.indexChanged&&f.indexChanged(d.key,c,g)}d=n(this._list,d,c),d._retainedCount=e._retainedCount,this._retained[c]=d,this._retainedKeys[b]=d,this._beginEdits(this._list.length),f&&f.changed&&f.changed(d,e),this._endEdits()}else this._beginEdits(this._list.length),this._endEdits()},_iteminserted:function(b){var c=b.detail.index;this._updateAffectedRange(c,"inserted"),this._beginEdits(this._list.length-1),c<=this._pos&&(this._pos=Math.min(this._pos+1,this._list.length));var d=this._retained;if(d.splice(c,0,0),delete d[c],this._shouldNotify(c)||1===this._list.length){var e=this._notificationHandler;e&&e.inserted&&e.inserted(l(this,n(this._list,this._list.getItem(c),c)),i(this._list,c),a(this._list,c))}this._endEdits()},_itemmoved:function(a){var b=a.detail.oldIndex,c=a.detail.newIndex;this._updateAffectedRange(b,"moved"),this._updateAffectedRange(c,"moved"),this._beginEdits(this._list.length),(bthis._pos?this._pos=Math.max(-1,this._pos-1):b>this._pos&&(this._pos=Math.min(this._pos+1,this._list.length)));var d=this._retained,e=d.splice(b,1)[0];d.splice(c,0,e),e||(delete d[c],e=n(this._list,this._list.getItem(c),c)),e._moved=!0,this._addRef(e,c),this._endEdits()},_itemremoved:function(a){var b=a.detail.key,c=a.detail.index;this._updateAffectedRange(c,"removed"),this._beginEdits(this._list.length+1),cb;b++){var d=a[b];if(d&&d.index!==b){var e=b,f=d.index;d.index=e;var g=this._notificationHandler;g&&g.indexChanged&&g.indexChanged(d.key,e,f)}}},_notifyMoved:function(){for(var b=this._retained,c=0,d=b.length;d>c;c++){var e=b[c];if(e&&e._moved&&(e._moved=!1,this._release(e,c),this._shouldNotify(c))){var f=this._notificationHandler;f&&f.moved&&f.moved(l(this,e),i(this._list,c),a(this._list,c))}}},_beginEdits:function(a,b){this._editsCount++;var c=this._notificationHandler;if(1===this._editsCount&&c){if(!b){this._editsCount++;var d=this;g.schedule(function(){d._endEdits()},g.Priority.high,null,"WinJS.Binding.List._endEdits")}c.beginNotifications&&c.beginNotifications(),this._countAtBeginEdits=a}},_endEdits:function(){this._editsCount--;var a=this._notificationHandler;0===this._editsCount&&a&&(this._notifyIndicesChanged(),this._notifyMoved(),this._notifyCountChanged(),this._notifyAffectedRange(),a.endNotifications&&a.endNotifications())},jumpToItem:function(a){var b=this._list.indexOfKey(a.handle);return-1===b?f.wrap(null):(this._pos=b,this.current())},current:function(){return this.fromIndex(this._pos)},previous:function(){return this._pos=Math.max(-1,this._pos-1),this._fromIndex(this._pos,!0,"previous")},next:function(){return this._pos=Math.min(this._pos+1,this._list.length),this._fromIndex(this._pos,!0,"next")},releaseItem:function(a){a.release?a.release():this._release(a,this._list.indexOfKey(a.key))},release:function(){this._notificationHandler&&k(this._list,this._handlers),this._notificationHandler=null,this._dataSource._releaseBinding(this),this._released=!0},first:function(){return this.fromIndex(0)},last:function(){return this.fromIndex(this._list.length-1)},fromKey:function(a){var b,c=this._retainedKeys;return b=a in c?c[a]:n(this._list,this._list.getItemFromKey(a),this._list.indexOfKey(a)),l(this,b)},fromIndex:function(a){return this._fromIndex(a,!1,"fromIndex")},_fromIndex:function(a,b,c){var d,e=this._retained;return d=a in e?e[a]:n(this._list,this._list.getItem(a),a),b?m(this,d,c):l(this,d)}},{supportedForProcessing:!1}),E=0,F=c.Class.define(function(a){this._usingWeakRef=b.msSetWeakWinRTProperty&&b.msGetWeakWinRTProperty,this._bindings={},this._list=a,a.unshift&&(this.insertAtStart=o),a.push&&(this.insertAtEnd=r),a.setAt&&(this.change=s),a.splice&&(this.insertAfter=q,this.insertBefore=p,this.remove=x),a.move&&(this.moveAfter=v,this.moveBefore=u,this.moveToEnd=w,this.moveToStart=t)},{_releaseBinding:function(a){delete this._bindings[a._id]},addEventListener:function(){},removeEventListener:function(){},createListBinding:function(a){var b="ds_"+ ++E,c=new D(this,this._list,a,b);return c._id=b,this._usingWeakRef?(e._createWeakRef(c,b),this._bindings[b]=b):this._bindings[b]=c,c},getCount:function(){return f.wrap(this._list.length)},itemFromKey:function(a){var b=this._list,c=n(b,b.getItemFromKey(a),-1);return Object.defineProperty(c,"index",{get:function(){return b.indexOfKey(a)},enumerable:!1,configurable:!0}),f.wrap(c)},itemFromIndex:function(a){return f.wrap(n(this._list,this._list.getItem(a),a))},list:{get:function(){return this._list}},beginEdits:function(){var a=this._list.length;this._forEachBinding(function(b){b._beginEdits(a,!0)})},endEdits:function(){this._forEachBinding(function(a){a._endEdits()})},_forEachBinding:function(a){if(this._usingWeakRef){var b=[];Object.keys(this._bindings).forEach(function(c){var d=e._getWeakRefElement(c);d?a(d):b.push(c)});for(var c=0,d=b.length;d>c;c++)delete this._bindings[b[c]]}else{var f=this;Object.keys(this._bindings).forEach(function(b){a(f._bindings[b])})}},invalidateAll:function(){return f.wrap()},moveAfter:void 0,moveBefore:void 0,moveToEnd:void 0,moveToStart:void 0},{supportedForProcessing:!1});return F})})}),define("WinJS/BindingList",["exports","./Core/_Base","./Core/_BaseUtils","./Core/_ErrorFromName","./Core/_Events","./Core/_Resources","./Binding/_Data","./BindingList/_BindingListDataSource"],function(a,b,c,d,e,f,g,h){"use strict";function i(a){return Array.prototype.slice.call(a,0)}function j(a){return{handle:a.handle,key:a.key,data:a.data,groupKey:a.groupKey,groupSize:a.groupSize,firstItemKey:a.firstItemKey,firstItemIndexHint:a.firstItemIndexHint}}function k(a){return void 0===a?void 0:+a}function l(a,b){var c=a.length;if(1>=c)return a;var d=c/2>>>0,e=l(a.slice(0,d),b),f=l(a.slice(d),b);return m(e,f,b)}function m(a,b,c){for(var d=[];a.length&&b.length;){var e=c(a[0],b[0]);d.push(0>=e?a.shift():b.shift())}return a.length&&d.push.apply(d,a),b.length&&d.push.apply(d,b),d}var n={get sparseArrayNotSupported(){return"Sparse arrays are not supported with proxy: true"},get illegalListLength(){return"List length must be assigned a finite positive number"}},o=e._createEventProperty,p={},q=b.Namespace.defineWithParent(null,null,{ListBase:b.Namespace._lazy(function(){var a=b.Class.define(null,{_annotateWithIndex:function(a,b){var c=j(a);return c.index=b,c},onitemchanged:o("itemchanged"),oniteminserted:o("iteminserted"),onitemmoved:o("itemmoved"),onitemmutated:o("itemmutated"),onitemremoved:o("itemremoved"),onreload:o("reload"),_notifyItemChanged:function(a,b,c,d,e,f){this._listeners&&this._listeners.itemchanged&&this.dispatchEvent("itemchanged",{key:a,index:b,oldValue:c,newValue:d,oldItem:e,newItem:f})},_notifyItemInserted:function(a,b,c){this._listeners&&this._listeners.iteminserted&&this.dispatchEvent("iteminserted",{key:a,index:b,value:c});var d=this.length;d!==this._lastNotifyLength&&(this.notify("length",d,this._lastNotifyLength),this._lastNotifyLength=d)},_notifyItemMoved:function(a,b,c,d){this._listeners&&this._listeners.itemmoved&&this.dispatchEvent("itemmoved",{key:a,oldIndex:b,newIndex:c,value:d})},_notifyItemMutated:function(a,b,c){this._listeners&&this._listeners.itemmutated&&this.dispatchEvent("itemmutated",{key:a,value:b,item:c})},_notifyItemRemoved:function(a,b,c,d){this._listeners&&this._listeners.itemremoved&&this.dispatchEvent("itemremoved",{key:a,index:b,value:c,item:d});var e=this.length;e!==this._lastNotifyLength&&(this.notify("length",e,this._lastNotifyLength),this._lastNotifyLength=e)},_notifyReload:function(){if(this._listeners&&this._listeners.reload&&this.dispatchEvent("reload"),a!==this._lastNotifyLength){var a=this.length;this.notify("length",a,this._lastNotifyLength),this._lastNotifyLength=a}},_normalizeIndex:function(a){return a=k(a),0>a?this.length+a:a},_notifyMutatedFromKey:function(a){var b=this.getItemFromKey(a);this._notifyItemMutated(a,b.data,b)},notifyReload:function(){this._notifyReload()},getAt:function(a){a=k(a);var b=this.getItem(a);return b&&b.data},_getArray:function(){for(var a=new Array(this.length),b=0,c=this.length;c>b;b++){var d=this.getItem(b);d&&(a[b]=d.data)}return a},_getFromKey:function(a){var b=this.getItemFromKey(a);return b&&b.data},_getKey:function(a){a=k(a);var b=this.getItem(a);return b&&b.key},concat:function(){var a=this._getArray();return a.concat.apply(a,arguments)},join:function(a){return this._getArray().join(a||",")},slice:function(a,b){return this._getArray().slice(a,b)},indexOf:function(a,b){b=k(b),b=Math.max(0,this._normalizeIndex(b)||0);for(var c=b,d=this.length;d>c;c++){var e=this.getItem(c);if(e&&e.data===a)return c}return-1},lastIndexOf:function(a,b){b=k(b);var c=this.length;b=Math.min(this._normalizeIndex(void 0!==b?b:c),c-1);var d;for(d=b;d>=0;d--){var e=this.getItem(d);if(e&&e.data===a)return d}return-1},every:function(a,b){return this._getArray().every(a,b)},filter:function(a,b){return this._getArray().filter(a,b)},forEach:function(a,b){this._getArray().forEach(a,b)},map:function(a,b){return this._getArray().map(a,b)},some:function(a,b){return this._getArray().some(a,b)},reduce:function(a,b){return arguments.length>1?this._getArray().reduce(a,b):this._getArray().reduce(a)},reduceRight:function(a,b){return arguments.length>1?this._getArray().reduceRight(a,b):this._getArray().reduceRight(a)},createFiltered:function(a){return new q.FilteredListProjection(this,a)},createGrouped:function(a,b,c){return new q.GroupedSortedListProjection(this,a,b,c)},createSorted:function(a){return new q.SortedListProjection(this,a)},dataSource:{get:function(){return this._dataSource=this._dataSource||new h._BindingListDataSource(this)}}},{supportedForProcessing:!1});return b.Class.mix(a,g.observableMixin),b.Class.mix(a,e.eventMixin),a}),ListBaseWithMutators:b.Namespace._lazy(function(){return b.Class.derive(q.ListBase,null,{pop:function(){return this.splice(-1,1)[0]},push:function(a){if(1===arguments.length)return this.splice(this.length,0,a),this.length;var b=i(arguments);return b.splice(0,0,this.length,0),this.splice.apply(this,b),this.length},shift:function(){return this.splice(0,1)[0]},unshift:function(a){if(1===arguments.length)this.splice(0,0,a);else{var b=i(arguments);b.splice(0,0,0,0),this.splice.apply(this,b)}return this.length}},{supportedForProcessing:!1})}),ListProjection:b.Namespace._lazy(function(){return b.Class.derive(q.ListBaseWithMutators,null,{_list:null,_myListeners:null,_addListListener:function(a,b){var c={name:a,handler:b.bind(this)};this._myListeners=this._myListeners||[],this._myListeners.push(c),this._list.addEventListener(a,c.handler)},dispose:function(){var b=this._list,c=this._myListeners;this._myListeners=[];for(var d=0,e=c.length;e>d;d++){var f=c[d];b.removeEventListener(f.name,f.handler)}this._list=new a.List,this._listReload()},getItemFromKey:function(a){return this._list.getItemFromKey(a)},move:function(a,b){a=k(a),b=k(b),a===b||0>a||0>b||a>=this.length||b>=this.length||(a=this._list.indexOfKey(this._getKey(a)),b=this._list.indexOfKey(this._getKey(b)),this._list.move(a,b))},_notifyMutatedFromKey:function(a){this._list._notifyMutatedFromKey(a)},splice:function(a){a=k(a),a=Math.max(0,this._normalizeIndex(a));var b=i(arguments);return a===this.length?(b[0]=this._list.length,this._list.splice.apply(this._list,b)):(b[0]=this._getKey(a),this._spliceFromKey.apply(this,b))},_setAtKey:function(a,b){this._list._setAtKey(a,b)}},{supportedForProcessing:!1})}),FilteredListProjection:b.Namespace._lazy(function(){return b.Class.derive(q.ListProjection,function(a,b){this._list=a,this._addListListener("itemchanged",this._listItemChanged),this._addListListener("iteminserted",this._listItemInserted),this._addListListener("itemmutated",this._listItemMutated),this._addListListener("itemmoved",this._listItemMoved),this._addListListener("itemremoved",this._listItemRemoved),this._addListListener("reload",this._listReload),this._filter=b,this._initFilteredKeys()},{_filter:null,_filteredKeys:null,_initFilteredKeys:function(){for(var a=this._filter,b=this._list,c=[],d=0,e=b.length;e>d;d++){var f=b.getItem(d);f&&a(f.data)&&c.push(f.key)}this._filteredKeys=c},_findInsertionPosition:function(a,b){for(var c,d=this._filter;--b>=0;){var e=this._list.getItem(b);if(e&&d(e.data)){c=e.key;break}}var f=this._filteredKeys,g=c?f.indexOf(c)+1:0;return g},_listItemChanged:function(a){var b=a.detail.key,c=a.detail.index,d=a.detail.oldValue,e=a.detail.newValue,f=a.detail.oldItem,g=a.detail.newItem,h=this._filter,i=h(d),j=h(e);if(i&&j){var k=this._filteredKeys,l=k.indexOf(b);this._notifyItemChanged(b,l,d,e,f,g)}else i&&!j?this._listItemRemoved({detail:{key:b,index:c,value:d,item:f}}):!i&&j&&this._listItemInserted({detail:{key:b,index:c,value:e}})},_listItemInserted:function(a){var b=a.detail.key,c=a.detail.index,d=a.detail.value,e=this._filter;if(e(d)){var f=this._findInsertionPosition(b,c),g=this._filteredKeys;g.splice(f,0,b),this._notifyItemInserted(b,f,d)}},_listItemMoved:function(a){var b=a.detail.key,c=a.detail.newIndex,d=a.detail.value,e=this._filteredKeys,f=e.indexOf(b);if(-1!==f){e.splice(f,1);var g=this._findInsertionPosition(b,c);e.splice(g,0,b),this._notifyItemMoved(b,f,g,d)}},_listItemMutated:function(a){var b=a.detail.key,c=a.detail.value,d=a.detail.item,e=this._filter,f=this._filteredKeys,g=f.indexOf(b),h=-1!==g,i=e(c);h&&i?this._notifyItemMutated(b,c,d):h&&!i?(f.splice(g,1),this._notifyItemRemoved(b,g,c,d)):!h&&i&&this._listItemInserted({detail:{key:b,index:this._list.indexOfKey(b),value:c}})},_listItemRemoved:function(a){var b=a.detail.key,c=a.detail.value,d=a.detail.item,e=this._filteredKeys,f=e.indexOf(b);-1!==f&&(e.splice(f,1),this._notifyItemRemoved(b,f,c,d))},_listReload:function(){this._initFilteredKeys(),this._notifyReload()},length:{get:function(){return this._filteredKeys.length},set:function(a){if(!("number"==typeof a&&a>=0))throw new d("WinJS.Binding.List.IllegalLength",n.illegalListLength);var b=this.length;b>a&&this.splice(a,b-a)}},getItem:function(a){return a=k(a),this.getItemFromKey(this._filteredKeys[a])},indexOfKey:function(a){return this._filteredKeys.indexOf(a)},notifyMutated:function(a){return a=k(a),this._notifyMutatedFromKey(this._filteredKeys[a])},setAt:function(a,b){a=k(a),this._setAtKey(this._filteredKeys[a],b)},_spliceFromKey:function(a,b){if(arguments.length>2){var c=i(arguments);c[1]=0,this._list._spliceFromKey.apply(this._list,c)}var d=[];if(b){for(var e=[],f=this._filteredKeys,g=f.indexOf(a),h=g,j=f.length;j>h&&b>h-g;h++){var a=f[h];e.push(a)}var k=this;e.forEach(function(a){d.push(k._list._spliceFromKey(a,1)[0])})}return d}},{supportedForProcessing:!1})}),SortedListProjection:b.Namespace._lazy(function(){return b.Class.derive(q.ListProjection,function(a,b){this._list=a,this._addListListener("itemchanged",this._listItemChanged),this._addListListener("iteminserted",this._listItemInserted),this._addListListener("itemmoved",this._listItemMoved),this._addListListener("itemmutated",this._listItemMutated),this._addListListener("itemremoved",this._listItemRemoved),this._addListListener("reload",this._listReload),this._sortFunction=b,this._initSortedKeys()},{_sortFunction:null,_sortedKeys:null,_initSortedKeys:function(){for(var a=this._list,b=[],c=0,d=a.length;d>c;c++){var e=a.getItem(c);e&&(b[c]=e.key)}var f=this._sortFunction,g=l(b,function(b,c){return b=a.getItemFromKey(b).data,c=a.getItemFromKey(c).data,f(b,c)});this._sortedKeys=g},_findInsertionPos:function(a,b,c,d,e){for(var f=this._sortFunction,g=this._sortedKeys,h=Math.max(0,d||-1),i=Math.min(g.length,e||Number.MAX_VALUE),j=h;i>=h;){j=(h+i)/2>>>0;var k=g[j];if(!k)break;var l=this.getItemFromKey(k),m=f(l.data,c);if(0>m)h=j+1;else{if(0===m)return this._findStableInsertionPos(a,b,h,i,j,c);i=j-1}}return h},_findBeginningOfGroup:function(a,b,c,d,e){for(var f=0,g=a;g>=f;){a=(f+g)/2>>>0;var h=d[a],i=c.getItemFromKey(h),j=b(i.data,e);0>j?f=a+1:g=a-1}return f},_findEndOfGroup:function(a,b,c,d,e){for(var f=a,g=d.length;g>=f;){a=(f+g)/2>>>0;var h=d[a];if(!h)return d.length;var i=c.getItemFromKey(h),j=b(i.data,e);0>=j?f=a+1:g=a-1}return f},_findStableInsertionPos:function(a,b,c,d,e,f){var g=this._list,h=g.length,i=this._sortFunction,j=this._sortedKeys;if(h/2>b){for(var k=b-1;k>=0;k--){var l=g.getItem(k);if(0===i(l.data,f))return h-c>d?j.indexOf(l.key,c)+1:j.lastIndexOf(l.key,d)+1}return this._findBeginningOfGroup(e,i,g,j,f)}for(var k=b+1;h>k;k++){var l=g.getItem(k);if(0===i(l.data,f))return h-c>d?j.indexOf(l.key,c):j.lastIndexOf(l.key,d)}return this._findEndOfGroup(e,i,g,j,f)},_listItemChanged:function(a){var b=a.detail.key,c=a.detail.newValue,d=a.detail.oldValue,e=this._sortFunction;if(0===e(d,c)){var f=this.indexOfKey(b);this._notifyItemChanged(b,f,d,c,a.detail.oldItem,a.detail.newItem)}else this._listItemRemoved({detail:{key:b,index:a.detail.index,value:a.detail.oldValue,item:a.detail.oldItem}}),this._listItemInserted({detail:{key:b,index:a.detail.index,value:a.detail.newValue}})},_listItemInserted:function(a,b,c){var d=a.detail.key,e=a.detail.index,f=a.detail.value,g=this._findInsertionPos(d,e,f,b,c);this._sortedKeys.splice(g,0,d),this._notifyItemInserted(d,g,f)},_listItemMoved:function(a,b,c){var d=a.detail.key,e=a.detail.newIndex,f=a.detail.value,g=this._sortedKeys,h=g.indexOf(d,b);g.splice(h,1);var i=this._findInsertionPos(d,e,f,b,c);g.splice(i,0,d),i!==h&&this._notifyItemMoved(d,h,i,f)},_listItemMutated:function(a){var b=a.detail.key,c=a.detail.value,d=a.detail.item,e=this._list.indexOfKey(b),f=this._sortedKeys.indexOf(b);this._sortedKeys.splice(f,1);var g=this._findInsertionPos(b,e,c);return this._sortedKeys.splice(f,0,b),f===g?void this._notifyItemMutated(b,c,d):(this._listItemRemoved({detail:{key:b,index:e,value:c,item:d}}),void this._listItemInserted({detail:{key:b,index:e,value:c}}))},_listItemRemoved:function(a,b){var c=a.detail.key,d=a.detail.value,e=a.detail.item,f=this._sortedKeys,g=f.indexOf(c,b);f.splice(g,1),this._notifyItemRemoved(c,g,d,e)},_listReload:function(){this._initSortedKeys(),this._notifyReload()},length:{get:function(){return this._sortedKeys.length},set:function(a){if(!("number"==typeof a&&a>=0))throw new d("WinJS.Binding.List.IllegalLength",n.illegalListLength);var b=this.length;b>a&&this.splice(a,b-a)}},getItem:function(a){return a=k(a),this.getItemFromKey(this._sortedKeys[a])},indexOfKey:function(a){return this._sortedKeys.indexOf(a)},notifyMutated:function(a){a=k(a),this._notifyMutatedFromKey(this._sortedKeys[a])},setAt:function(a,b){a=k(a),this._setAtKey(this._sortedKeys[a],b)},_spliceFromKey:function(a,b){if(arguments.length>2){var c=i(arguments);c[1]=0,this._list._spliceFromKey.apply(this._list,c)}var d=[];if(b){for(var e=[],f=this._sortedKeys,g=f.indexOf(a),h=g,j=f.length;j>h&&b>h-g;h++)e.push(f[h]);var k=this;e.forEach(function(a){d.push(k._list._spliceFromKey(a,1)[0])})}return d}},{supportedForProcessing:!1})}),GroupedSortedListProjection:b.Namespace._lazy(function(){return b.Class.derive(q.SortedListProjection,function(a,b,c,d){this._list=a,this._addListListener("itemchanged",this._listGroupedItemChanged),this._addListListener("iteminserted",this._listGroupedItemInserted),this._addListListener("itemmoved",this._listGroupedItemMoved),this._addListListener("itemmutated",this._listGroupedItemMutated),this._addListListener("itemremoved",this._listGroupedItemRemoved),this._addListListener("reload",this._listReload),this._sortFunction=function(a,c){return a=b(a),c=b(c),d?d(a,c):c>a?-1:a===c?0:1},this._groupKeyOf=b,this._groupDataOf=c,this._initSortedKeys(),this._initGroupedItems()},{_groupKeyOf:null,_groupDataOf:null,_groupedItems:null,_initGroupedItems:function(){for(var a={},b=this._list,c=this._groupKeyOf,d=0,e=b.length;e>d;d++){var f=j(b.getItem(d));f.groupKey=c(f.data),a[f.key]=f}this._groupedItems=a},_groupsProjection:null,_listGroupedItemChanged:function(a){var b=a.detail.key,c=a.detail.oldValue,d=a.detail.newValue,e=this._groupedItems,f=e[b],g=j(f);g.data=d,g.groupKey=this._groupKeyOf(d),e[b]=g;var h;f.groupKey===g.groupKey?(h=this.indexOfKey(b),this._notifyItemChanged(b,h,c,d,f,g)):(h=a.detail.index,this._listItemChanged({detail:{key:b,index:h,oldValue:c,newValue:d,oldItem:f,newItem:g}}))},_listGroupedItemInserted:function(a){var b=a.detail.key,c=a.detail.value,d=this._groupKeyOf(c);this._groupedItems[b]={handle:b,key:b,data:c,groupKey:d};var e,f;if(this._groupsProjection){var g=this._groupsProjection._groupItems[d];g&&(e=g.firstItemIndexHint,f=e+g.groupSize)}this._listItemInserted(a,e,f)},_listGroupedItemMoved:function(a){var b,c,d=this._groupedItems[a.detail.key].groupKey;if(this._groupsProjection){var e=this._groupsProjection._groupItems[d];b=e.firstItemIndexHint,c=b+e.groupSize}this._listItemMoved(a,b,c)},_listGroupedItemMutated:function(a){var b=a.detail.key,c=a.detail.value,d=this._groupedItems,e=d[b],f=this._groupKeyOf(c);if(e.groupKey===f)this._notifyItemMutated(b,c,e);else{var g=j(e);g.groupKey=f,d[b]=g;var h=this._list.indexOfKey(b);this._listItemRemoved({detail:{key:b,index:h,value:c,item:e}}),this._listItemInserted({detail:{key:b,index:h,value:c}})}},_listGroupedItemRemoved:function(a){var b=a.detail.key,c=a.detail.index,d=a.detail.value,e=this._groupedItems,f=e[b];delete e[b];var g,h;if(this._groupsProjection){var i=this._groupsProjection._groupItems[f.groupKey];g=i.firstItemIndexHint,h=g+i.groupSize}this._listItemRemoved({detail:{key:b,index:c,value:d,item:f}},g,h) -},_listReload:function(){this._initGroupedItems(),q.SortedListProjection.prototype._listReload.call(this)},groups:{get:function(){return null===this._groupsProjection&&(this._groupsProjection=new q.GroupsListProjection(this,this._groupKeyOf,this._groupDataOf)),this._groupsProjection}},getItemFromKey:function(a){return this._groupedItems[a]}},{supportedForProcessing:!1})}),GroupsListProjection:b.Namespace._lazy(function(){return b.Class.derive(q.ListBase,function(a,b,c){this._list=a,this._addListListener("itemchanged",this._listItemChanged),this._addListListener("iteminserted",this._listItemInserted),this._addListListener("itemmoved",this._listItemMoved),this._addListListener("itemremoved",this._listItemRemoved),this._addListListener("reload",this._listReload),this._groupKeyOf=b,this._groupDataOf=c,this._initGroupKeysAndItems()},{_list:null,_addListListener:function(a,b){this._list.addEventListener(a,b.bind(this))},_groupDataOf:null,_groupKeyOf:null,_groupOf:function(a){return this.getItemFromKey(this._groupKeyOf(a.data))},_groupKeys:null,_groupItems:null,_initGroupKeysAndItems:function(){for(var a,b=this._groupDataOf,c=this._list,d={},e=[],f=null,g=null,h=0,i=c.length;i>h;h++){var j=c.getItem(h),k=j.groupKey;k!==f?(g&&(g.groupSize=a),a=1,f=k,g={handle:k,key:k,data:b(j.data),firstItemKey:j.key,firstItemIndexHint:h},d[k]=g,e.push(k)):a++}g&&(g.groupSize=a),this._groupKeys=e,this._groupItems=d},_listItemChanged:function(a){var b=a.detail.key,c=a.detail.index,d=a.detail.newValue,e=this._list,f=e.getItemFromKey(b).groupKey,g=this._groupItems,h=g[f];if(h.firstItemIndexHint===c){var i=j(h);i.data=this._groupDataOf(d),i.firstItemKey=b,g[f]=i,this._notifyItemChanged(f,this._groupKeys.indexOf(f),h.data,i.data,h,i)}},_listItemInserted:function(a){var b,c,d,e,f,g=a.detail.key,h=a.detail.index,i=a.detail.value,k=this._list,l=k.getItemFromKey(g).groupKey,m=this._groupItems,n=this._groupKeys,o=m[l];if(o)c=o,d=j(c),d.groupSize++,c.firstItemIndexHint===h&&(d.groupData=this._groupDataOf(i),d.firstItemKey=g,d.firstItemIndexHint=h),m[l]=d,b=n.indexOf(l),this._notifyItemChanged(l,b,c.data,d.data,c,d);else{for(e=0,f=n.length;f>e&&(o=m[n[e]],!(o.firstItemIndexHint>=h));e++);b=e,o={handle:l,key:l,data:this._groupDataOf(i),groupSize:1,firstItemKey:g,firstItemIndexHint:h},n.splice(b,0,l),m[l]=o,this._notifyItemInserted(l,b,o.data)}for(e=b+1,f=n.length;f>e;e++)c=m[n[e]],d=j(c),d.firstItemIndexHint++,m[d.key]=d,this._notifyItemChanged(d.key,e,c.data,d.data,c,d)},_listItemMoved:function(a){var b=a.detail.key,c=a.detail.oldIndex,d=a.detail.newIndex,e=this._list,f=e.getItemFromKey(b).groupKey,g=this._groupItems,h=g[f];if(h.firstItemIndexHint===d||h.firstItemIndexHint===c){var i=e.getItem(h.firstItemIndexHint),k=j(h);k.data=this._groupDataOf(i.data),k.firstItemKey=i.key,g[f]=k,this._notifyItemChanged(f,this._groupKeys.indexOf(f),h.data,k.data,h,k)}},_listItemRemoved:function(a){var b,c,d=a.detail.index,e=a.detail.item,f=this._groupItems,g=this._groupKeys,h=e.groupKey,i=f[h],k=g.indexOf(h);if(1===i.groupSize)g.splice(k,1),delete f[h],this._notifyItemRemoved(h,k,i.data,i),k--;else{if(b=i,c=j(b),c.groupSize--,b.firstItemIndexHint===d){var l=this._list.getItem(d);c.data=this._groupDataOf(l.data),c.firstItemKey=l.key}f[h]=c,this._notifyItemChanged(h,k,b.data,c.data,b,c)}for(var m=k+1,n=g.length;n>m;m++)b=f[g[m]],c=j(b),c.firstItemIndexHint--,f[c.key]=c,this._notifyItemChanged(c.key,m,b.data,c.data,b,c)},_listReload:function(){this._initGroupKeysAndItems(),this._notifyReload()},length:{get:function(){return this._groupKeys.length}},getItem:function(a){return a=k(a),this._groupItems[this._groupKeys[a]]},getItemFromKey:function(a){return this._groupItems[a]},indexOfKey:function(a){return this._groupKeys.indexOf(a)}},{supportedForProcessing:!1})})});b.Namespace._moduleDefine(a,"WinJS.Binding",{List:b.Namespace._lazy(function(){return b.Class.derive(q.ListBaseWithMutators,function(a,b){if(this._currentKey=0,this._keys=null,this._keyMap={},b=b||p,this._proxy=b.proxy,this._binding=b.binding,this._proxy){if(Object.keys(a).length!==a.length)throw new d("WinJS.Binding.List.NotSupported",n.sparseArrayNotSupported);this._data=a,this._currentKey=a.length}else if(a){for(var c=this._keyMap,e=0,f=0,h=a.length;h>f;f++)if(f in a){var i=a[f];this._binding&&(i=g.as(i));var j=e.toString();e++,c[j]={handle:j,key:j,data:i}}e!==f&&this._initializeKeys(),this._currentKey=e}},{_currentKey:0,_keys:null,_keyMap:null,_modifyingData:0,_initializeKeys:function(){if(!this._keys){var a=[];if(this._data){for(var b=this._keyMap,c=this._data,d=0,e=c.length;e>d;d++)if(d in c){var f=d.toString();if(a[d]=f,!(f in b)){var h=c[d];this._binding&&(h=g.as(h)),b[f]={handle:f,key:f,data:h}}}}else Object.keys(this._keyMap).forEach(function(b){a[b>>>0]=b});this._keys=a}},_lazyPopulateEntry:function(a){if(this._data&&a in this._data){var b=this._data[a];this._binding&&(b=g.as(b));var c=a.toString(),d={handle:c,key:c,data:b};return this._keyMap[d.key]=d,d}},_assignKey:function(){return(++this._currentKey).toString()},length:{get:function(){return this._data?this._data.length:this._keys?this._keys.length:this._currentKey},set:function(a){if(!("number"==typeof a&&a>=0))throw new d("WinJS.Binding.List.IllegalLength",n.illegalListLength);this._initializeKeys();var b=this.length;if(b>a?this.splice(a,b-a):a=b,this._data){this._modifyingData++;try{this._data.length=a}finally{this._modifyingData--}}this._keys&&(this._keys.length=a)}},getItem:function(a){var b,c;return a=k(a),this._keys?(c=this._keys[a],b=c&&this._keyMap[c]):(c=a.toString(),b=this._keyMap[c]||this._lazyPopulateEntry(a)),b},getItemFromKey:function(a){var b;return b=this._keys||!this._data?this._keyMap[a]:this.getItem(a>>>0)},indexOfKey:function(a){var b=-1;if(this._keys)b=this._keys.indexOf(a);else{var c=a>>>0;ca||0>b||a>=this.length||b>=this.length)){if(this._data){this._modifyingData++;try{var c=this._data.splice(a,1)[0];this._data.splice(b,0,c)}finally{this._modifyingData--}}var d=this._keys.splice(a,1)[0];this._keys.splice(b,0,d),this._notifyItemMoved(d,a,b,this.getItemFromKey(d).data)}},notifyMutated:function(a){a=k(a);var b=this._keys?this._keys[a]:a.toString();this._notifyMutatedFromKey(b)},setAt:function(a,b){a=k(a),this._initializeKeys();var c=this.length;if(a===c)this.push(b);else if(c>a){if(this._data){this._modifyingData++;try{this._data[a]=b}finally{this._modifyingData--}}if(this._binding&&(b=g.as(b)),a in this._keys){var d=this._keys[a],e=this._keyMap[d],f=j(e);f.data=b,this._keyMap[d]=f,this._notifyItemChanged(d,a,e.data,b,e,f)}}},_setAtKey:function(a,b){this.setAt(this.indexOfKey(a),b)},reverse:function(){if(this._initializeKeys(),this._data){this._modifyingData++;try{this._data.reverse()}finally{this._modifyingData--}}return this._keys.reverse(),this._notifyReload(),this},sort:function(a){if(this._initializeKeys(),this._data){this._modifyingData++;try{this._data.sort(a)}finally{this._modifyingData--}}var b=this;return this._keys.sort(function(c,d){return c=b._keyMap[c],d=b._keyMap[d],a?a(c.data,d.data):(c=(c&&c.data||"").toString(),d=(c&&d.data||"").toString(),d>c?-1:c===d?0:1)}),this._notifyReload(),this},pop:function(){if(0!==this.length){this._initializeKeys();var a=this._keys.pop(),b=this._keyMap[a],c=b&&b.data;if(this._data){this._modifyingData++;try{this._data.pop()}finally{this._modifyingData--}}return delete this._keyMap[a],this._notifyItemRemoved(a,this._keys.length,c,b),c}},push:function(){this._initializeKeys();for(var a=arguments.length,b=0;a>b;b++){var c=arguments[b];this._binding&&(c=g.as(c));var d=this._assignKey();if(this._keys.push(d),this._data){this._modifyingData++;try{this._data.push(arguments[b])}finally{this._modifyingData--}}this._keyMap[d]={handle:d,key:d,data:c},this._notifyItemInserted(d,this._keys.length-1,c)}return this.length},shift:function(){if(0!==this.length){this._initializeKeys();var a=this._keys.shift(),b=this._keyMap[a],c=b&&b.data;if(this._data){this._modifyingData++;try{this._data.shift()}finally{this._modifyingData--}}return delete this._keyMap[a],this._notifyItemRemoved(a,0,c,b),c}},unshift:function(){this._initializeKeys();for(var a=arguments.length,b=a-1;b>=0;b--){var c=arguments[b];this._binding&&(c=g.as(c));var d=this._assignKey();if(this._keys.unshift(d),this._data){this._modifyingData++;try{this._data.unshift(arguments[b])}finally{this._modifyingData--}}this._keyMap[d]={handle:d,key:d,data:c},this._notifyItemInserted(d,0,c)}return this.length},splice:function(a,b){a=k(a),this._initializeKeys(),a=Math.max(0,this._normalizeIndex(a)),b=Math.max(0,Math.min(b||0,this.length-a));for(var c=[];b;){var d=this._keys[a],e=this._keyMap[d],f=e&&e.data;if(c.push(f),this._keys.splice(a,1),this._data){this._modifyingData++;try{this._data.splice(a,1)}finally{this._modifyingData--}}delete this._keyMap[d],this._notifyItemRemoved(d,a,f,e),--b}if(arguments.length>2)for(var h=2,i=arguments.length;i>h;h++){var j=arguments[h];this._binding&&(j=g.as(j));var l=Math.min(a+h-2,this.length),m=this._assignKey();if(this._keys.splice(l,0,m),this._data){this._modifyingData++;try{this._data.splice(l,0,arguments[h])}finally{this._modifyingData--}}this._keyMap[m]={handle:m,key:m,data:j},this._notifyItemInserted(m,l,j)}return c},_spliceFromKey:function(a){this._initializeKeys();var b=i(arguments);return b[0]=this._keys.indexOf(a),this.splice.apply(this,b)}},{supportedForProcessing:!1})})})}),define("WinJS/Res",["exports","./Core/_Global","./Core/_Base","./Core/_BaseUtils","./Core/_ErrorFromName","./Core/_Resources","./ControlProcessor/_OptionsParser","./Promise"],function(a,b,c,d,e,f,g,h){"use strict";function i(a,c){a=a||b.document.body;var c=c||0;if(4>c){if(0===c&&a.getAttribute){var f=a.getAttribute("data-win-res");if(f){var i=g.optionsParser(f);l(a,a,i,c)}}var j="[data-win-res],[data-win-control]",k=a.querySelectorAll(j);if(0===k.length)return h.as(a);for(var n=0,p=k.length;p>n;n++){var q=k[n];if(q.winControl&&q.winControl.constructor&&q.winControl.constructor.isDeclarativeControlContainer){var r=q.winControl.constructor.isDeclarativeControlContainer;"function"==typeof r&&(r=o(r),r(q.winControl,m),n+=q.querySelectorAll(j).length)}if(q.hasAttribute("data-win-res")){var i=g.optionsParser(q.getAttribute("data-win-res"));l(q,q,i,c)}}}else if(d.validation)throw new e("WinJS.Res.NestingExceeded","NestingExceeded");return h.as(a)}function j(a,b){for(var c=Object.keys(b),e=0,g=c.length;g>e;e++){var h=c[e],i=b[h],j=f.getString(i);j&&j.empty?d.validation&&k(i):(a.setAttribute(h,j.value),void 0!==j.lang&&void 0!==a.lang&&a.lang!==j.lang&&(a.lang=j.lang))}}function k(a){throw new e("WinJS.Res.NotFound",f._formatString("NotFound: {0}",a))}function l(a,b,c,e){var g=Object.keys(c);b=o(b);for(var h=0,m=g.length;m>h;h++){var n=g[h],p=c[n];if("string"==typeof p){var q=f.getString(p);q&&q.empty?d.validation&&k(p):(b[n]=q.value,void 0!==q.lang&&void 0!==a.lang&&a.lang!==q.lang&&(a.lang=q.lang),"innerHTML"===n&&i(b,e+1))}else a===b&&"attributes"===n?j(a,p):l(a,b[n],p,e)}}function m(a){if(!n)return d.ready().then(function(){return n=!0,i(a)});try{return i(a)}catch(b){return h.wrapError(b)}}var n=!1,o=d.requireSupportedForProcessing;c.Namespace._moduleDefine(a,"WinJS.Resources",{processAll:m})}),define("WinJS/Pages/_BasePage",["exports","../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_WriteProfilerMark","../Promise","../Utilities/_Control","../Utilities/_Dispose","../Utilities/_ElementUtilities"],function(a,b,c,d,e,f,g,h,i){"use strict";function j(a){var c=b.document.createElement("a");return c.href=a,c.href}function k(a){return b.document.location.href.toLowerCase()===a.toLowerCase()}function l(a,h){var l=m(a);return a=j(a),l||(l=c.Class.define(function(c,g,h,j){var l=this;this._disposed=!1,this.element=c=c||b.document.createElement("div"),i.addClass(c,"win-disposable"),c.msSourceLocation=a,this.uri=a,this.selfhost=k(a),c.winControl=this,i.addClass(c,"pagecontrol");var m=" uri='"+a+"'"+d._getProfilerMarkIdentifier(this.element);e("WinJS.UI.Pages:createPage"+m+",StartTM");var n=f.wrap().then(function(){return l.load(a)}),o=n.then(function(a){return f.join({loadResult:a,initResult:l.init(c,g)})}).then(function(a){return l.render(c,g,a.loadResult)});this.elementReady=o.then(function(){return c}),this.renderComplete=o.then(function(){return l.process(c,g)}).then(function(){return l.processed(c,g)}).then(function(){return l});var p=function(){h&&h(l),e("WinJS.UI.Pages:createPage"+m+",StopTM")};this.renderComplete.then(p,p),this.renderComplete.then(function(){return j}).then(function(){l.ready(c,g)}).then(null,function(a){return l.error(a)})},p),l=c.Class.mix(l,g.DOMEventMixin),o[a.toLowerCase()]=l),h&&(l=c.Class.mix(l,h)),l.selfhost=k(a),l}function m(a){return a=j(a),o[a.toLowerCase()]}function n(a){a=j(a),delete o[a.toLowerCase()]}if(b.document){var o={},p={dispose:function(){this._disposed||(this._disposed=!0,h.disposeSubTree(this.element),this.element=null)},load:function(){},init:function(){},process:function(){},processed:function(){},render:function(){},ready:function(){},error:function(a){return f.wrapError(a)}};c.Namespace._moduleDefine(a,null,{abs:j,define:l,get:m,remove:n})}}),define("WinJS/Pages",["exports","./Core/_Global","./Core/_Base","./Core/_BaseUtils","./ControlProcessor","./Fragments","./Pages/_BasePage","./Promise"],function(a,b,c,d,e,f,g){"use strict";function h(a,e){var f=g.get(a);return f||(f=g.define(a,l)),e&&(f=c.Class.mix(f,e)),f.selfhost&&d.ready(function(){k(g.abs(a),b.document.body)},!0),f}function i(a){var b=g.get(a);return b||(b=h(a)),b}function j(a){f.clearCache(g.abs(a)),g.remove(a)}function k(a,b,c,d){var e=i(a),f=new e(b,c,null,d);return f.renderComplete}if(b.document){var l={load:function(a){return this.selfhost?void 0:f.renderCopy(g.abs(a))},process:function(a){return e.processAll(a)},render:function(a,b,c){return this.selfhost||a.appendChild(c),a}};c.Namespace._moduleDefine(a,"WinJS.UI.Pages",{define:h,get:i,_remove:j,render:k})}}),define("WinJS/Controls/HtmlControl",["exports","../Core/_Global","../Core/_Base","../Pages"],function(a,b,c,d){"use strict";b.document&&c.Namespace._moduleDefine(a,"WinJS.UI",{HtmlControl:c.Class.define(function(a,b,c){d.render(b.uri,a,b).then(c,function(){c()})})})}),define("WinJS/VirtualizedDataSource/_VirtualizedDataSourceImpl",["exports","../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Events","../Core/_Log","../Core/_Resources","../Core/_WriteProfilerMark","../Promise","../Scheduler","../_Signal","../Utilities/_UI"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";c.Namespace._moduleDefine(a,"WinJS.UI",{VirtualizedDataSource:c.Namespace._lazy(function(){function a(a,c){function f(a){var b="WinJS.UI.VirtualizedDataSource:"+pe+":"+a+",StartTM";i(b),g.log&&g.log(b,"winjs vds","perf")}function u(a){var b="WinJS.UI.VirtualizedDataSource:"+pe+":"+a+",StopTM";i(b),g.log&&g.log(b,"winjs vds","perf")}function v(a){return"number"==typeof a&&a>=0}function w(a){return v(a)&&a===Math.floor(a)}function x(a){if(null===a)a=void 0;else if(void 0!==a&&!w(a))throw new e("WinJS.UI.ListDataSource.InvalidIndexReturned",s.invalidIndexReturned);return a}function y(a){if(null===a)a=void 0;else if(void 0!==a&&!w(a)&&a!==p.unknown)throw new e("WinJS.UI.ListDataSource.InvalidCountReturned",s.invalidCountReturned);return a}function z(){var a=(nd++).toString(),b={handle:a,item:null,itemNew:null,fetchListeners:null,cursorCount:0,bindingMap:null};return Nd[a]=b,b}function A(){return z()}function B(a,b){a.prev=b.prev,a.next=b,a.prev.next=a,b.prev=a}function C(a){a.lastInSequence&&(delete a.lastInSequence,a.prev.lastInSequence=!0),a.firstInSequence&&(delete a.firstInSequence,a.next.firstInSequence=!0),a.prev.next=a.next,a.next.prev=a.prev}function D(a){for(;!a.firstInSequence;)a=a.prev;return a}function E(a){for(;!a.lastInSequence;)a=a.next;return a}function F(a,b,c){return b.prev.next=c.next,c.next.prev=b.prev,b.prev=a.prev,c.next=a,b.prev.next=b,a.prev=c,!0}function G(a,b,c){return b.prev.next=c.next,c.next.prev=b.prev,b.prev=a,c.next=a.next,a.next=b,c.next.prev=c,!0}function H(a){delete a.lastInSequence,delete a.next.firstInSequence}function I(a){var b=a.next;a.lastInSequence=!0,b.firstInSequence=!0,b===Ld&&nb(Ld,void 0)}function J(a,b,c,d){B(a,b);var e=a.prev;e.lastInSequence&&(c?delete e.lastInSequence:a.firstInSequence=!0,d?delete b.firstInSequence:a.lastInSequence=!0)}function K(a,b){a.key=b,Od[a.key]=a}function L(a,b,c){+b===b&&(a.index=b,c[b]=a,Ad||(a.firstInSequence&&a.prev&&a.prev.index===b-1&&H(a.prev),a.lastInSequence&&a.next&&a.next.index===b+1&&H(a)))}function M(a,b){var c=b===Pd?A():z();return B(c,a),c}function N(a,b,c){var d=M(a,c);return d.firstInSequence=!0,d.lastInSequence=!0,L(d,b,c),d}function O(a,b){return N(a,b,Pd)}function P(a,b){var c=M(a,b);return delete a.firstInSequence,c.prev.index===c.index-1?delete c.prev.lastInSequence:c.firstInSequence=!0,L(c,a.index-1,b),c}function Q(a,b){var c=M(a.next,b);return delete a.lastInSequence,c.next.index===c.index+1?delete c.next.firstInSequence:c.lastInSequence=!0,L(c,a.index+1,b),c}function R(a,b,c,d){J(a,b,c,d),Od[a.key]=a,void 0!==a.index&&(Pd[a.index]=a)}function S(a){C(a),a.key&&delete Od[a.key],void 0!==a.index&&Pd[a.index]===a&&delete Pd[a.index];var b=a.bindingMap;for(var c in b){var d=b[c].handle;d&&Nd[d]===a&&delete Nd[d]}Nd[a.handle]===a&&delete Nd[a.handle]}function T(a){return!Nd[a.handle]}function U(a,b,c,d,e){var f=e?null:b[a-1];if(f&&(f.next!==d||d.firstInSequence))f=f.next;else if(f=b[a+1],!f){f=c.next;for(var g;;){if(f.firstInSequence&&(g=f),!(a>=f.index)||f===d)break;f=f.next}f!==d||d.firstInSequence||(f=g&&void 0===g.index?g:void 0)}return f}function V(a){return!a.item&&!a.itemNew&&a!==Ld}function W(a,b){Object.defineProperty(a,"handle",{value:b,writable:!1,enumerable:!1,configurable:!0})}function X(a,b,c){W(a,c),Object.defineProperty(a,"index",{get:function(){for(;b.slotMergedWith;)b=b.slotMergedWith;return b.index},enumerable:!1,configurable:!0})}function Y(a){if(void 0===a)return a;var b=JSON.stringify(a);if(void 0===b)throw new e("WinJS.UI.ListDataSource.ObjectIsNotValidJson",s.objectIsNotValidJson);return b}function Z(b){return a.itemSignature?a.itemSignature(b.data):Y(b.data)}function $(b){var c=b.itemNew;b.itemNew=null,c&&(c=Object.create(c),X(c,b,b.handle),a.compareByIdentity||(b.signature=Z(c))),b.item=c,delete b.indexRequested,delete b.keyRequested}function _(a){return a.bindingMap||a.cursorCount>0}function ab(a){return _(a)||a.fetchListeners||a.directFetchListeners}function bb(a){return ab(a)||!a.firstInSequence&&_(a.prev)||!a.lastInSequence&&_(a.next)||!ie&&(!a.firstInSequence&&a.prev!==Kd&&!(a.prev.item||a.prev.itemNew))|(!a.lastInSequence&&a.next!==Ld&&!(a.next.item||a.next.itemNew))}function cb(a){I(a),S(a)}function db(){if(!vd){(!Rd||T(Rd))&&(Rd=Ld.prev);for(var a=Rd.prev,b=Rd.next,c=0,d=function(a){a===Ld||bb(a)||(hd>=c?c++:cb(a))};a||b;){if(a){var e=a;a=e.prev,e!==Kd&&d(e)}if(b){var f=b;b=f.next,f!==Md&&d(f)}}Qd=0}}function eb(a){ab(a)||(Qd++,vd||Ud||(Rd=a,Qd>hd&&!Sd&&(Sd=!0,k.schedule(function(){Sd=!1,db()},k.Priority.idle,null,"WinJS.UI.VirtualizedDataSource.releaseSlotIfUnrequested"))))}function fb(a){for(var b in ld)a(ld[b])}function gb(a,b){for(var c in a.bindingMap)b(a.bindingMap[c].bindingRecord,c)}function hb(a){return a.notificationsSent||(a.notificationsSent=!0,a.notificationHandler.beginNotifications&&a.notificationHandler.beginNotifications()),a.notificationHandler}function ib(){sd||yd||fb(function(a){a.notificationsSent&&(a.notificationsSent=!1,a.notificationHandler.endNotifications&&a.notificationHandler.endNotifications())})}function jb(a,b){var c=a.bindingMap;if(c){var d=c[b];if(d){var e=d.handle;if(e)return e}}return a.handle}function kb(a,b){return a&&a.handle!==b&&(a=Object.create(a),W(a,b)),a}function lb(a){var b=Jd;Jd=a,fb(function(a){a.notificationHandler&&a.notificationHandler.countChanged&&hb(a).countChanged(Jd,b)})}function mb(a,b){gb(a,function(c,d){c.notificationHandler.indexChanged&&hb(c).indexChanged(jb(a,d),a.index,b)})}function nb(a,b){var c=a.index;if(void 0!==c&&Pd[c]===a&&delete Pd[c],+b===b)L(a,b,Pd);else{if(+c!==c)return;delete a.index}mb(a,c)}function ob(a,b,c,d,e){var f={};if(!(!d&&b.lastInSequence||!e&&c.firstInSequence))if(b===Kd)if(c===Ld)for(var g in ld)f[g]=ld[g];else for(var g in c.bindingMap)f[g]=ld[g];else if(c===Ld||c.bindingMap)for(var g in b.bindingMap)(c===Ld||c.bindingMap[g])&&(f[g]=ld[g]);for(var g in a.bindingMap)f[g]=ld[g];return f}function pb(a){var b,c=a.prev,d=a.next,e=ob(a,c,d);for(b in e){var f=e[b];f.notificationHandler&&hb(f).inserted(f.itemPromiseFromKnownSlot(a),c.lastInSequence||c===Kd?null:jb(c,b),d.firstInSequence||d===Ld?null:jb(d,b))}}function qb(a){var b=a.item;$(a),gb(a,function(c,d){var e=jb(a,d);hb(c).changed(kb(a.item,e),kb(b,e))})}function rb(a,b,c,d,e){var f,g=b.prev;if(b===a){if(!a.firstInSequence||!c)return;b=a.next}else if(g===a){if(!a.lastInSequence||!d)return;g=a.prev}if(!e){var h=ob(a,g,b,c,d);for(f in h){var i=h[f];hb(i).moved(i.itemPromiseFromKnownSlot(a),(g.lastInSequence||g===a.prev)&&!c||g===Kd?null:jb(g,f),(b.firstInSequence||b===a.next)&&!d||b===Ld?null:jb(b,f))}fb(function(b){b.adjustCurrentSlot(a)})}C(a),J(a,b,c,d)}function sb(a,b){Bb(a,!0),gb(a,function(c,d){hb(c).removed(jb(a,d),b)}),fb(function(b){b.adjustCurrentSlot(a)}),S(a)}function tb(a){for(;!a.firstInSequence;)a=a.prev;var b;do{b=a.lastInSequence;var c=a.next;sb(a,!0),a=c}while(!b)}function ub(a){var b;if(!a)return b;for(var c=0;!a.firstInSequence;)c++,a=a.prev;return"number"==typeof a.indexNew?a.indexNew+c:"number"==typeof a.index?a.index+c:b}function vb(a,b){for(a=a.next;a;a=a.next)if(a.firstInSequence){var c=void 0!==a.indexNew?a.indexNew:a.index;void 0!==c&&(a.indexNew=c+b)}zd+=b,Ad=!0,Ud?wc():Cd++}function wb(a,b){if(a.firstInSequence){var c;if(0>b)c=a.indexNew,void 0!==c?delete a.indexNew:c=a.index,a.lastInSequence||(a=a.next,void 0!==c&&(a.indexNew=c));else if(!a.lastInSequence){var d=a.next;c=d.indexNew,void 0!==c?delete d.indexNew:c=d.index,void 0!==c&&(a.indexNew=c)}}vb(a,b)}function xb(a,b){for(var c=Kd;c!==Ld;c=c.next){var d=c.indexNew;if(void 0!==d&&d>=a){vb(c,b);break}}}function yb(){var a,b,c;for(a=Kd;;a=a.next){if(a.firstInSequence){if(b=a,void 0!==a.indexNew){if(c=a.indexNew,delete a.indexNew,isNaN(c))break}else c=a.index;a!==Kd&&a.prev.index===c-1&&H(a.prev)}if(a.lastInSequence)for(var d=c,e=b;e!==a.next;e=e.next)d!==e.index&&nb(e,d),+d===d&&d++;if(a===Ld)break}for(;a!==Md;a=a.next)void 0!==a.index&&a!==Ld&&nb(a,void 0);Ad=!1,zd&&+Jd===Jd&&(pd?pd.reset():lb(Jd+zd),zd=0)}function zb(a,b,c,d,e){if(a.item)return new j(function(b){e?e(b,a.item):b(a.item)});var f={listBindingID:d,retained:!1};return a[b]||(a[b]={}),a[b][c]=f,f.promise=new j(function(a,b){f.complete=e?function(b){e(a,b)}:a,f.error=b},function(){for(;a.slotMergedWith;)a=a.slotMergedWith;var d=a[b];if(d){if(delete d[c],Object.keys(d).length>0)return;delete a[b]}eb(a)}),f.promise}function Ab(a,b){for(var c in b)b[c].complete(a)}function Bb(a,b){var c=a.fetchListeners,d=a.directFetchListeners;if(c||d){$(a);var e=a.item,f=function(a){b?Ab(e,a):Gd.push(function(){Ab(e,a)})};d&&(a.directFetchListeners=null,f(d)),c&&(a.fetchListeners=null,f(c)),eb(a)}}function Cb(){var a=Gd;Gd=[];for(var b=0,c=a.length;c>b;b++)a[b]()}function Db(a,b){var c=a.directFetchListeners;if(c){a.directFetchListeners=null;for(var d in c)c[d].error(b);eb(a)}}function Eb(a){return a.firstInSequence&&P(a,Pd),a.lastInSequence&&Q(a,Pd),a.itemNew&&$(a),ac(),a}function Fb(a){if(!a.firstInSequence){var b=a.prev;return b===Kd?null:Eb(b)}return Eb(P(a,Pd))}function Gb(a){if(!a.lastInSequence){var b=a.next;return b===Ld?null:Eb(b)}return Eb(Q(a,Pd))}function Hb(a){return a?zb(a,"directFetchListeners",(od++).toString()):j.wrap(null)}function Ib(a){if("string"!=typeof a||!a)throw new e("WinJS.UI.ListDataSource.KeyIsInvalid",s.keyIsInvalid)}function Jb(a){var b=O(Md);return K(b,a),b.keyRequested=!0,b}function Kb(a,b){Ib(a);var c=Od[a];return c||(c=Jb(a),c.hints=b),Eb(c)}function Lb(a){if("number"!=typeof a||0>a)throw new e("WinJS.UI.ListDataSource.IndexIsInvalid",s.indexIsInvalid);if(Ld.index<=a)return null;var b=Pd[a];if(!b){var c=U(a,Pd,Kd,Ld);if(!c)return null;c===Ld&&a>=Ld&&nb(Ld,void 0),b=c.prev.index===a-1?Q(c.prev,Pd):c.index===a+1?P(c,Pd):O(c,a)}return b.item||(b.indexRequested=!0),Eb(b)}function Mb(a){var b=O(Md);return b.description=a,Eb(b)}function Nb(a){if(jd=a,id!==jd){var c=function(){kd=!1,id!==jd&&(id=jd,qe.dispatchEvent(t,id))};jd===o.failure?c():kd||(kd=!0,b.setTimeout(c,40))}}function Ob(a){var b=a.fetchID;return b&&Fd[b]}function Pb(a,b){a.fetchID=b}function Qb(){var a=Ed;return Ed++,Fd[a]=!0,a}function Rb(a,b,c){var d=Qb();Pb(a,d);for(var e=a;!e.firstInSequence&&b>0;)e=e.prev,b--,Pb(e,d);for(var f=a;!f.lastInSequence&&c>0;)f=f.next,c--,Pb(f,d);return d}function Sb(a){var b=a.items,c=a.offset,d=a.totalCount,e=a.absoluteIndex,f=a.atStart,g=a.atEnd;if(v(e)){if(v(d)){var h=b.length;e-c+h===d&&(g=!0)}c===e&&(f=!0)}f&&(b.unshift(Hd),a.offset++),g&&b.push(Id)}function Tb(a,b,c){return delete Fd[c],b!==Cd||T(a)?(ac(),!1):!0}function Ub(a,b,c,d){var g=Cd;c.then(function(c){if(!c.items||!c.items.length)return j.wrapError(new e(q.doesNotExist));var h="itemsFetched id="+b+" count="+c.items.length;f(h),Tb(a,g,b)&&(+d===d&&(c.absoluteIndex=d),Sb(c),qc(a,c.items,c.offset,c.totalCount,c.absoluteIndex)),u(h)}).then(null,function(c){Tb(a,g,b)&&rc(a,c)})}function Vb(a,b,c,d){var g=Cd;d.then(function(d){if(!d.items||!d.items.length)return j.wrapError(new e(q.doesNotExist));var h="itemsFetched id="+c+" count="+d.items.length;f(h),Tb(b,g,c)&&(d.absoluteIndex=a,Sb(d),sc(a,b,d.items,d.offset,d.totalCount,d.absoluteIndex)),u(h)}).then(null,function(){Tb(b,g,c)&&tc(a,b,g)})}function Wb(a,b){var c=Rb(a,0,b-1);je?Ub(a,c,je(c,b),0):Ub(a,c,ie(c,0,0,b-1),0)}function Xb(a,b){var c=Rb(a,b-1,0);Ub(a,c,ke(c,b))}function Yb(a,b,c){var d=Rb(a,b,c);Ub(a,d,he(d,a.key,b,c,a.hints))}function Zb(a,b,c){var d=a.index;if(b>d&&(b=d),ie){var e=Rb(a,b,c);Ub(a,e,ie(e,d,b,c),d)}else if(a.key)Yb(a,b,c);else{var f,g,h=Kd,i=d+1;for(f=a.prev;f!==Kd;f=f.prev)if(void 0!==f.index&&f.key){g=d-f.index,i>g&&(i=g,h=f);break}for(f=a.next;f!==Ld;f=f.next)if(void 0!==f.index&&f.key){g=f.index-d,i>g&&(i=g,h=f);break}if(h===Kd){var e=Rb(a,0,d+1);Vb(0,a,e,je(e,d+1))}else{var j=Math.max(h.index-d,0),k=Math.max(d-h.index,0),e=Rb(h,j,k);Vb(h.index,a,e,he(e,h.key,j,k,a.hints))}}}function $b(a,b,c){var d=Rb(a,b,c);Ub(a,d,le(d,a.description,b,c))}function _b(){if(!Ud){for(var a,b,c,d,e,f,g,h,i=!1,j=!1,k=Kd.next;k!==Md;){var l=k.next;if(k!==Ld&&V(k)&&(j=!0,a?b++:(a=k,b=1),Ob(k)&&(i=!0),k.keyRequested&&!c&&(c=k,d=b-1),void 0===k.description||e||(e=k,f=b-1),k.indexRequested&&!g&&(g=k,h=b-1),k.lastInSequence||l===Md||!V(l))){if(i)i=!1;else{if(qd=!1,!a.firstInSequence&&a.prev.key&&he?Yb(a.prev,0,b):!k.lastInSequence&&l.key&&he?Yb(l,b,0):a.prev!==Kd||a.firstInSequence||!je&&!ie?l===Ld&&!k.lastInSequence&&ke?Xb(k,b):c?Yb(c,d,b-1-d):e?$b(e,f,b-1-f):g?Zb(g,h,b-1-h):"number"==typeof a.index?Zb(a,b-1,0):tb(a):Wb(a,b),qd)return void ac();if(Ud)return}a=g=c=null}k=l}Nb(j?o.waiting:o.ready)}}function ac(){Dd||(Dd=!0,k.schedule(function(){Dd=!1,_b(),ib()},k.Priority.max,null,"WinJS.UI.ListDataSource._fetch"))}function bc(b){var c=b.itemNew;if(!c)return!1;var d=b.item;for(var e in d)switch(e){case"data":break;default:if(d[e]!==c[e])return!0}return a.compareByIdentity?d.data!==c.data:b.signature!==Z(c)}function cc(a){ab(a)?bc(a)?qb(a):a.itemNew=null:a.item=null}function dc(a){a.item?cc(a):Bb(a)}function ec(a,b){a.key||K(a,b.key),a.itemNew=b,dc(a)}function fc(a,b,c){var d=b.bindingMap;if(d)for(var e in c)if(d[e]){var f=b.fetchListeners;for(var g in f){var h=f[g];h.listBindingID===e&&h.retained&&(delete f[g],h.complete(null))}var i=d[e].bindingRecord;hb(i).removed(jb(b,e),!0,jb(a,e)),b.bindingMap&&delete b.bindingMap[e]}}function gc(a,b){if(a.index!==b.index){var c=b.index;b.index=a.index,mb(b,c)}b.slotMergedWith=a;var d=b.bindingMap;for(var e in d){a.bindingMap||(a.bindingMap={});var f=d[e];f.handle||(f.handle=b.handle),Nd[f.handle]=a,a.bindingMap[e]=f}fb(function(c){c.adjustCurrentSlot(b,a)});var g=b.itemNew||b.item;if(g&&(g=Object.create(g),X(g,a,a.handle),ec(a,g)),a.item)b.directFetchListeners&&Gd.push(function(){Ab(a.item,b.directFetchListeners)}),b.fetchListeners&&Gd.push(function(){Ab(a.item,b.fetchListeners)});else{var h;for(h in b.directFetchListeners)a.directFetchListeners||(a.directFetchListeners={}),a.directFetchListeners[h]=b.directFetchListeners[h];for(h in b.fetchListeners)a.fetchListeners||(a.fetchListeners={}),a.fetchListeners[h]=b.fetchListeners[h]}a.itemNew&&Bb(a),b.handle=(nd++).toString(),I(b),S(b)}function hc(a,b,c){b&&b.key&&(c||(c=b.itemNew||b.item),delete b.key,delete Od[c.key],b.itemNew=null,b.item=null),c&&ec(a,c),b&&gc(a,b)}function ic(a){if("object"!=typeof a)throw new e("WinJS.UI.ListDataSource.InvalidItemReturned",s.invalidItemReturned);if(a===Hd)return Kd;if(a===Id)return Ld;if(a.key)return d.validation&&Ib(a.key),Od[a.key];throw new e("WinJS.UI.ListDataSource.InvalidKeyReturned",s.invalidKeyReturned)}function jc(a,b){var c=ic(b);c===a&&(c=null),c&&fc(a,c,a.bindingMap),hc(a,c,b)}function kc(a,b,c,d){if(b&&a.key&&a.key!==b.key)return wc(),!1;var e=Pd[c];if(e)if(e===a)e=null;else{if(e.key&&(a.key||b&&e.key!==b.key))return wc(),!1;if(!a.key&&e.bindingMap)return!1}var f;if(b)if(f=Od[b.key],f===a)f=null;else if(f&&f.bindingMap)return!1;return e?(fc(a,e,a.bindingMap),delete Pd[c],nb(a,c),a.prev.index===c-1&&H(a.prev),a.next.index===c+1&&H(a),d.slotNext=e.slotNext,b||(b=e.itemNew||e.item,b&&(f=Od[b.key]))):nb(a,c),f&&e!==f&&fc(a,f,a.bindingMap),hc(a,f,b),e&&e!==f&&gc(a,e),!0}function lc(a,b,c){if(b.key&&a.key&&b.key!==a.key)return wc(),!1;for(var d in a.bindingMap)c[d]=!0;return fc(a,b,c),hc(a,b),!0}function mc(a,b){for(var c={};a;){var d=a.firstInSequence?null:a.prev;if(b.firstInSequence||b.prev!==Kd){if(b=b.firstInSequence?P(b,Pd):b.prev,!lc(b,a,c))return}else sb(a,!0);a=d}}function nc(a,b){for(var c={};a;){var d=a.lastInSequence?null:a.next;if(b.lastInSequence||b.next!==Ld){if(b=b.lastInSequence?Q(b,Pd):b.next,!lc(b,a,c))return}else sb(a,!0);a=d}}function oc(a){for(var b=0;b0;){var f=e.prev;if(e===Kd){c(Kd);break}if(e.key){if(e.index>=a)return wc(),!1;if(!(e.index>=b))return he?Yb(e,0,d):Zb(e,0,d),!1;c(e)}else e.indexRequested||e.firstInSequence?c(f):d++;e=f}return!0}function qc(a,b,c,d,e){var g="WinJS.UI.ListDataSource.processResults";return f(g),e=x(e),d=y(d),vd?void u(g):(Ad&&yb(),!v(d)&&d!==p.unknown||d===Jd||Ld.firstInSequence?(qd=!0,function(){var f,g,h,i,j=b.length;if("number"!=typeof e)for(f=0;j>f;f++)if(h=ic(b[f]),h&&void 0!==h.index){e=h.index+c-f;break}"number"==typeof e&&b[j-1]===Id?d=e-c+j-1:!v(d)||void 0!==e&&null!==e||(e=d-(j-1)+c),v(d)&&!pc(d,e-c)&&(d=void 0);var k=new Array(j);for(f=0;j>f;f++){var l=null;if(h=ic(b[f])){if(f>0&&!h.firstInSequence&&h.prev.key&&h.prev.key!==b[f-1].key||"number"==typeof e&&void 0!==h.index&&h.index!==e-c+f)return void wc();(h===Kd||h===Ld||h.bindingMap)&&(l=h)}if("number"==typeof e&&(h=Pd[e-c+f])){if(h.key&&h.key!==b[f].key)return void wc();!l&&h.bindingMap&&(l=h)}if(f===c){if(a.key&&a.key!==b[f].key||"number"==typeof a.index&&"number"==typeof e&&a.index!==e)return void wc();l||(l=a)}k[f]=l}for(f=0;j>f;f++)h=k[f],h&&void 0!==h.index&&h!==Kd&&h!==Ld&&jc(h,b[f]);var m,n,o=[],p=!0;for(f=0;j>f;f++)if(h=k[f],h&&h!==Ld){var q=f;if(void 0===h.index){var r={};kc(h,b[f],e-c+f,r);var s,t=h,u=h;for(g=f-1;!t.firstInSequence&&(s=b[g],s!==Hd);g--){var w=e-c+g;if(0>w)break;if(!kc(t.prev,s,w,r))break;t=t.prev,g>=0&&(k[g]=t)}for(g=f+1;!u.lastInSequence&&(s=b[g],s!==Id&&g!==d||u.next===Ld)&&(u.next===Ld||kc(u.next,s,e-c+g,r))&&(u=u.next,j>g&&(k[g]=u),q=g,u!==Ld);g++);if(m=t.firstInSequence?null:t.prev,n=u.lastInSequence?null:u.next,m&&I(m),n&&I(u),"number"==typeof e){if(u===Ld)m&&G(Ld,D(m),m); -else{var x=r.slotNext;x||(x=U(u.index,Pd,Kd,Ld,!0)),F(x,t,u)}t.prev.index===t.index-1&&H(t.prev),u.next.index===u.index+1&&H(u)}else p||(i=k[f-1],i&&(t.prev!==i&&(u===Ld?(m&&G(Ld,D(m),m),F(t,D(i),i)):G(i,t,u)),H(i)));if(p=!1,Td)return;o.push({slotBeforeSequence:m,slotFirstInSequence:t,slotLastInSequence:u,slotAfterSequence:n})}f!==c||h===a||T(a)||(m=a.firstInSequence?null:a.prev,n=a.lastInSequence?null:a.next,fc(h,a,h.bindingMap),gc(h,a),o.push({slotBeforeSequence:m,slotFirstInSequence:h,slotLastInSequence:h,slotAfterSequence:n})),f=q}for(v(d)&&Ld.index!==d&&nb(Ld,d),oc(o),f=0;j>f;f++)if(h=k[f]){for(g=f-1;g>=0;g--){var y=k[g+1];jc(k[g]=y.firstInSequence?P(k[g+1],Pd):y.prev,b[g])}for(g=f+1;j>g;g++)i=k[g-1],h=k[g],h?h.firstInSequence&&(h.prev!==i&&G(i,h,E(h)),H(i)):jc(k[g]=i.lastInSequence?Q(i,Pd):i.next,b[g]);break}delete a.description}(),Td||(void 0!==d&&d!==Jd&&lb(d),ac()),ib(),Cb(),void u(g)):(wc(),void u(g)))}function rc(a,b){switch(b.name){case q.noResponse:Nb(o.failure),Db(a,b);break;case q.doesNotExist:a.indexRequested?pc(a.index):(a.keyRequested||a.description)&&tb(a),ib(),wc()}}function sc(a,b,c,d,f,g){g=x(g),f=y(f);var h=a-d,i=c.length;if(b.index>=h&&b.indexa&&b+(b-a)e;e++)if(ne[a+e].kind!==ne[b+e].kind){c=!1;break}if(c&&g.log){g.log(s.refreshCycleIdentified,"winjs vds","error");for(var e=a;b>e;e++)g.log(""+(e-a)+": "+JSON.stringify(ne[e]),"winjs vds","error")}return c}}function vc(){return++me>h&&uc()?void Nb(o.failure):(ne[++oe%ne.length]={kind:"beginRefresh"},Zd={firstInSequence:!0,lastInSequence:!0,index:-1},$d={firstInSequence:!0,lastInSequence:!0},Zd.next=$d,$d.prev=Zd,Xd=!1,Yd=void 0,_d={},ae={},be={},be[-1]=Zd,void(ce={}))}function wc(){if(!Td){if(Td=!0,Nb(o.waiting),xd)return xd=!1,void Zc();if(!vd){var a=++Cd;Ud=!0,Wd=0,k.schedule(function(){if(Cd===a){Td=!1,vc();for(var b=Kd.next;b!==Md;){var c=b.next;bb(b)||b===Ld||cb(b),b=c}Ec()}},k.Priority.high,null,"WinJS.VirtualizedDataSource.beginRefresh")}}}function xc(){return Vd=Vd||new l,wc(),Vd.promise}function yc(a,b){return delete Fd[b],a!==Cd?!1:(Wd--,!0)}function zc(a,b,c,d,g){var h=Cd;Wd++,d.then(function(b){if(!b.items||!b.items.length)return j.wrapError(new e(q.doesNotExist));var d="itemsFetched id="+c+" count="+b.items.length;f(d),yc(h,c)&&(Sb(b),Kc(a,b.items,b.offset,b.totalCount,"number"==typeof g?g:b.absoluteIndex)),u(d)}).then(null,function(d){yc(h,c)&&Lc(a,b,d)})}function Ac(a,b,c,d){if(he)zc(a.key,!1,b,he(b,a.key,c,d,a.hints));else{var e=10,f=a.index;be[f]&&be[f].firstInSequence?zc(a.key,!1,b,ie(b,f-1,Math.min(c+e,f)-1,d+1+e),f-1):be[f]&&be[f].lastInSequence?zc(a.key,!1,b,ie(b,f+1,Math.min(c+e,f)+1,d-1+e),f+1):zc(a.key,!1,b,ie(b,f,Math.min(c+e,f),d+e),f)}}function Bc(a){je?zc(null,!0,a,je(a,1),0):ie&&zc(null,!0,a,ie(a,0,0,0),0)}function Cc(a){return Fd[_d[a]]}function Dc(a,b){for(var c,d,e,f=3,g=Cd,h=0,i=a;i!==Md;i=i.next){if(!c&&i.key&&!ce[i.key]&&!Cc(i.key)){var j=ae[i.key];(!j||j.firstInSequence||j.lastInSequence)&&(c=i,d=j,e=Qb())}if(c){var k=Cc(i.key);if(ce[i.key]||ae[i.key]||k||(i.key&&(_d[i.key]=e),h++),i.lastInSequence||i.next===Ld||k){if(Ac(c,e,!d||d.firstInSequence?f:0,h-1+f),!b)break;c=null,h=0}}else i.key&&V(i)&&!ce[i.key]&&(ae[i.key]||(e=Qb(),zc(i.key,!1,e,he(e,i.key,1,1,i.hints))))}0!==Wd||Xd||Cd!==g||Bc(Qb())}function Ec(){var a=Cd;do de=!1,ee=!0,Dc(Kd.next,!0),ee=!1;while(0===Wd&&de&&Cd===a&&Ud);0===Wd&&Cd===a&&Uc()}function Fc(a){var b=Cd;if(a){var c=Od[a];c||(c=Kd.next);do fe=!1,ge=!0,Dc(c,!1),ge=!1;while(fe&&Cd===b&&Ud)}ee?de=!0:0===Wd&&Cd===b&&Ec()}function Gc(a){if("object"==typeof a&&a){if(a===Hd)return Zd;if(a===Id)return $d;if(a.key)return ae[a.key];throw new e("WinJS.UI.ListDataSource.InvalidKeyReturned",s.invalidKeyReturned)}throw new e("WinJS.UI.ListDataSource.InvalidItemReturned",s.invalidItemReturned)}function Hc(a,b){for(;void 0===a.index;){if(L(a,b,be),a.firstInSequence)return!0;a=a.prev,b--}return a.index!==b?(wc(),!1):!0}function Ic(a,b){a.key=b.key,ae[a.key]=a,a.item=b}function Jc(){for(var a=$d;!a.firstInSequence;)if(a=a.prev,a===Zd)return null;return a}function Kc(a,b,c,d,e){e=x(e),d=y(d);var f=!1;Xd=!0;var g=e-c,h=b[0];h.key===a&&(f=!0);var i=Gc(h);if(i){if(+g===g&&!Hc(i,g))return}else{if(be[g])return void wc();var j;if(void 0!==e&&(j=be[g-1])){if(!j.lastInSequence)return void wc();i=Q(j,be)}else{var k=+g===g?U(g,be,Zd,$d):Jc(Zd,$d);if(!k)return void wc();i=N(k,g,be)}Ic(i,b[0])}for(var l=b.length,m=1;l>m;m++){h=b[m],h.key===a&&(f=!0);var n=Gc(h);if(n){if(void 0!==i.index&&!Hc(n,i.index+1))return;if(n!==i.next){if(!i.lastInSequence||!n.firstInSequence)return void wc();var o=E(n);if(o!==$d)G(i,n,o);else{var q=D(i);if(q===Zd)return void wc();F(n,q,i)}H(i)}else i.lastInSequence&&H(i)}else{if(!i.lastInSequence)return void wc();n=Q(i,be),Ic(n,h)}i=n}if(f||(ce[a]=!0),!v(d)&&!$d.firstInSequence){var r=$d.prev.index;void 0!==r&&(d=r+1)}if(v(d)||d===p.unknown){if(v(Yd)){if(d!==Yd)return void wc()}else Yd=d;v(Yd)&&!be[Yd]&&L($d,Yd,be)}ge?fe=!0:Fc(a)}function Lc(a,b,c){switch(c.name){case q.noResponse:Nb(o.failure);break;case q.doesNotExist:b?(L($d,0,be),Yd=0,Uc()):(ce[a]=!0,ge?fe=!0:Fc(a))}}function Mc(a){return a===Zd?Kd:a===$d?Ld:Od[a.key]}function Nc(a){return a===Kd?Zd:a===Ld?$d:ae[a.key]}function Oc(a){H(a),a.next.mergedForRefresh=!0}function Pc(a,b){K(b,a.key),b.itemNew=a.item}function Qc(a,b,c){var d=A();Pc(a,d),J(d,b,c,!c);var e=a.index;return+e!==e&&(e=c?d.prev.index+1:b.next.index-1),L(d,e,Pd),d}function Rc(a,b,c){a?(fc(a,b,a.bindingMap),hc(a,b,c.item)):(Pc(c,b),b.indexRequested&&dc(b))}function Sc(a,b,c){return b.key?!1:(a?(c.mergeWithPrev=!b.firstInSequence,c.mergeWithNext=!b.lastInSequence):c.stationary=!0,Rc(a,b,c),!0)}function Tc(a){var b;if(a.indexRequested)b=a.index;else{var c=Nc(a);c&&(b=c.index)}return b}function Uc(){me=0,ne=new Array(100),oe=-1,Ad=!0,_d={};var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s=[],t=[];for(o=0,h=Zd;h;h=h.next)h.sequenceNumber=o,h.firstInSequence&&(j=h),h.lastInSequence&&(t[o]={first:j,last:h,matchingItems:0},o++);for(Rd=null,Qd=0,c=Kd.next;c!==Md;)h=ae[c.key],e=c.next,c!==Ld&&(bb(c)?c.key&&!h?sb(c,!1):0===Yd||c.indexRequested&&c.index>=Yd?sb(c,!0):c.item||c.keyRequested?c.itemNew=h.item:c.key&&(c.keyRequested||(delete Od[c.key],delete c.key),c.itemNew=null):cb(c)),c=e;for(c=Kd.next;c!==Ld;)e=c.next,c.indexRequested&&(h=be[c.index],h&&Rc(Mc(h),c,h)),c=e;var u,v,w,x,y,z=0,A=[];for(k=0,c=Kd;c!==Md;c=c.next){if(c.firstInSequence)for(j=c,w=null,a=0;o>a;a++)A[a]=0;if(c.indexRequested&&(w=c),h=Nc(c),h&&A[h.sequenceNumber]++,c.lastInSequence){for(v=0,a=z;o>a;a++)v0?t[u]:void 0,matchingItems:v},w&&(l.indexRequested=!0,l.stationarySlot=w),s[k]=l,c===Ld&&(x=k,y=l),k++,void 0!==t[u].first.index&&(z=u)}}s[0].sequenceNew!==t[0]&&(I(Kd),s[0].first=Kd.next,s.unshift({first:Kd,last:Kd,sequenceNew:t[0],matchingItems:1}),x++,k++);var B=!Ld.firstInSequence;for(y.sequenceNew!==t[o-1]&&(I(Ld.prev),y.last=Ld.prev,x++,s.splice(x,0,{first:Ld,last:Ld,sequenceNew:t[o-1],matchingItems:1}),k++,y=s[x]),a=0;k>a;a++)p=s[a].sequenceNew,p&&p.matchingItems=a;a++)l=s[a],l.sequenceNew&&(n=l.sequenceNew.sequenceOld)===m&&m.last!==Ld?(Oc(n.last),n.last=l.last,delete s[a]):m=l;for(m=null,a=x;a>=0;a--)l=s[a],l&&(l.sequenceNew&&(n=l.sequenceNew.sequenceOld)===m&&l.last!==Ld?(Oc(l.last),n.first=l.first,delete s[a]):m=l);B&&delete Ld.mergedForRefresh;var C=[];for(a=x+1;k>a;a++)if(l=s[a],l&&(!l.sequenceNew||l.sequenceNew.sequenceOld!==l)){var D=!0,E=null,J=null,K=0;for(h=Nc(l.first),h&&(E=J=h,K=1),c=l.first;c!==l.last;c=c.next){var L=Nc(c.next);if(h&&L&&(h.lastInSequence||h.next!==L)){D=!1;break}h&&!E&&(E=J=h),L&&E&&(J=L,K++),h=L}if(D&&E&&void 0!==E.index){var M;E.firstInSequence||(f=Mc(E.prev),f&&(M=f.index));var N;if(J.lastInSequence||(g=Mc(J.next),g&&(N=g.index)),(!g||g.lastInSequence||g.mergedForRefresh)&&(void 0===M||void 0===N||N-M-1>=K)){for(l.locationJustDetermined=!0,h=E;h.locationJustDetermined=!0,h!==J;h=h.next);var j=Mc(E),O=Mc(J);C.push({slotBeforeSequence:j.firstInSequence?null:j.prev,slotFirstInSequence:j,slotLastInSequence:O,slotAfterSequence:O.lastInSequence?null:O.next})}}}for(a=0;k>a;a++)if(l=s[a],!(!l||l.indexRequested||l.locationJustDetermined||l.sequenceNew&&l.sequenceNew.sequenceOld===l)){l.sequenceNew=null,c=l.first;var P;do{if(P=c===l.last,e=c.next,c!==Kd&&c!==Ld&&c!==Md&&!c.item&&!c.keyRequested)if(sb(c,!0),l.first===c){if(l.last===c){delete s[a];break}l.first=c.next}else l.last===c&&(l.last=c.prev);c=e}while(!P)}for(a=0;o>a;a++){for(p=t[a],h=p.first;!Mc(h)&&!h.lastInSequence;h=h.next);if(h.lastInSequence&&!Mc(h))p.firstInner=p.lastInner=null;else{for(p.firstInner=h,h=p.last;!Mc(h);h=h.prev);p.lastInner=h}}for(a=0;o>a;a++)if(p=t[a],p&&p.firstInner&&(l=p.sequenceOld)){var Q=0;for(c=l.first;!0&&(h=Nc(c),h&&h.sequenceNumber===p.firstInner.sequenceNumber&&(h.ordinal=Q),!c.lastInSequence);c=c.next,Q++);var R=[];for(h=p.firstInner;!0;h=h.next){if(Q=h.ordinal,void 0!==Q){for(var S=0,T=R.length-1;T>=S;){var U=Math.floor(.5*(S+T));R[U].ordinal0&&(h.predecessor=R[S-1])}if(h===p.lastInner)break}var W=[],X=R.length;for(h=R[X-1],b=X;b--;)h.stationary=!0,W[b]=h,h=h.predecessor;l.stationarySlot=Mc(W[0]),h=W[0],c=Mc(h),d=c.prev;for(var Y=c.firstInSequence;!h.firstInSequence;)if(h=h.prev,i=Mc(h),!i||h.locationJustDetermined)for(;!Y&&d!==Kd&&(c=d,d=c.prev,Y=c.firstInSequence,!Sc(i,c,h)););for(b=0;X-1>b;b++){h=W[b],c=Mc(h);var i,Z=W[b+1],_=null,ab=Mc(Z);for(e=c.next,h=h.next;h!==Z&&!_&&c!==ab;h=h.next)if(i=Mc(h),!i||h.locationJustDetermined)for(;e!==ab;){if(e.mergedForRefresh){_=h.prev;break}if(c=e,e=c.next,Sc(i,c,h))break}if(_)for(d=ab.prev,h=Z.prev;h!==_&&ab!==c;h=h.prev)if(i=Mc(h),!i||h.locationJustDetermined)for(;d!==c&&(ab=d,d=ab.prev,!Sc(i,ab,h)););for(;e!==ab;)c=e,e=c.next,c!==Kd&&V(c)&&!c.keyRequested&&sb(c)}for(h=W[X-1],c=Mc(h),e=c.next,Y=c.lastInSequence;!h.lastInSequence;)if(h=h.next,i=Mc(h),!i||h.locationJustDetermined)for(;!Y&&e!==Ld&&(c=e,e=c.next,Y=c.lastInSequence,!Sc(i,c,h)););}for(a=0;o>a;a++)if(p=t[a],p.firstInner)for(d=null,h=p.firstInner;!0;h=h.next){if(c=Mc(h)){if(!h.stationary){var db,eb=!1,fb=!1;if(d)db=d.next,eb=!0;else{var gb;for(gb=p.firstInner;!gb.stationary&&gb!==p.lastInner;gb=gb.next);if(gb.stationary)db=Mc(gb),fb=!0;else if(q=h.index,0===q)db=Kd.next,eb=!0;else if(void 0===q)db=Md;else{db=Kd.next;for(var hb=null;;){if(db.firstInSequence&&(hb=db),qa;a++)if(p=t[a],p.firstInner)for(d=null,h=p.firstInner;!0;h=h.next){if(c=Mc(h),!c){var kb;if(d)kb=d.next;else{var mb;for(mb=p.firstInner;!Mc(mb);mb=mb.next);kb=Mc(mb)}c=Qc(h,kb,!!d);var L=Nc(kb);kb.mergedForRefresh||L&&L.locationJustDetermined||($(c),pb(c))}if(d=c,h===p.lastInner)break}Pd=[];var ob=-1;for(c=Kd,r=0;c!==Md;r++){var e=c.next;if(c.firstInSequence&&(j=c,r=0),void 0===ob){var qb=Tc(c);void 0!==qb&&(ob=qb-r)}if(void 0!==ob&&!c.lastInSequence){var tb=Tc(c.next);if(void 0!==tb&&tb!==ob+r+1){I(c);for(var ub=!0,vb=c.next,wb=!1;!wb&&vb!==Ld;){var xb=vb.next;wb=vb.lastInSequence,rb(vb,xb,!ub,!1),ub=!1,vb=xb}}}if(c.lastInSequence){q=ob;for(var yb=j;yb!==e;){var zb=yb.next;if(q>=Yd&&yb!==Ld)sb(yb,!0);else{var Ab=Pd[q];q!==yb.index?(delete Pd[q],nb(yb,q)):+q===q&&Pd[q]!==yb&&(Pd[q]=yb),yb.itemNew&&dc(yb),Ab&&(yb.key?(fc(yb,Ab,yb.bindingMap),gc(yb,Ab),+q===q&&(Pd[q]=yb)):(fc(Ab,yb,Ab.bindingMap),gc(Ab,yb),+q===q&&(Pd[q]=Ab))),+q===q&&q++}yb=zb}ob=void 0}c=e}var Bb,Db=-2;for(c=Kd,r=0;c!==Md;r++){var e=c.next;if(c.firstInSequence&&(j=c,r=0),delete c.mergedForRefresh,c.lastInSequence)if(void 0===j.index){f=j.prev;var Eb;f&&(Eb=Nc(f))&&!Eb.lastInSequence&&(h=Nc(c))&&h.prev===Eb?(G(f,j,c),H(f)):c===Ld||Bb||F(Md,j,c)}else{if(Dba;a++){p=t[a];var Gb=[];c=null,r=0;var Hb;for(h=p.first;!0&&(h===Zd?Gb.push(Hd):h===$d?Gb.push(Id):(Gb.push(h.item),c||(c=Mc(h),Hb=r)),!h.lastInSequence);h=h.next,r++);c&&Fb.push({slot:c,results:Gb,offset:Hb})}for(vc(),Ud=!1,Cb(),a=0;ae&&f--,xb(f,1)),a()):i||j?(void 0!==e&&(xb(e,-1),f>e&&f--),this.inserted(b,c,d,f)):void 0!==e&&(xb(e,-1),f>e&&f--,xb(f,1),a())}},this.removed=function(b,c){if(vd)wc();else{var d;d="string"==typeof b?Od[b]:Pd[c],d?d.keyRequested?wc():(wb(d,-1),sb(d,!1),a()):void 0!==c&&(xb(c,-1),a())}},this.endNotifications=function(){yd=!1,a()}}function fd(){Nb(o.ready),pd=null,rd=!1,sd=!1,td=!1,ud={},ud.next=ud,ud.prev=ud,vd=!1,xd=!1,zd=0,Ad=!1,Bd=0,Fd={},Gd=[],Jd=p.unknown,Kd={firstInSequence:!0,lastInSequence:!0,index:-1},Ld={firstInSequence:!0,lastInSequence:!0},Md={firstInSequence:!0,lastInSequence:!0},Kd.next=Ld,Ld.prev=Kd,Ld.next=Md,Md.prev=Ld,Nd={},Od={},Pd={},Pd[-1]=Kd,Qd=0,Rd=null,Sd=!1,Td=!1,Ud=!1,Vd=null}var gd,hd,id,jd,kd,ld,md,nd,od,pd,qd,rd,sd,td,ud,vd,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,Zd,$d,_d,ae,be,ce,de,ee,fe,ge,he,ie,je,ke,le,me=0,ne=new Array(100),oe=-1;a.itemsFromKey&&(he=function(b,c,d,e,g){var h="fetchItemsFromKey id="+b+" key="+c+" countBefore="+d+" countAfter="+e;f(h),ne[++oe%ne.length]={kind:"itemsFromKey",key:c,countBefore:d,countAfter:e};var i=a.itemsFromKey(c,d,e,g);return u(h),i}),a.itemsFromIndex&&(ie=function(b,c,d,e){var g="fetchItemsFromIndex id="+b+" index="+c+" countBefore="+d+" countAfter="+e;f(g),ne[++oe%ne.length]={kind:"itemsFromIndex",index:c,countBefore:d,countAfter:e};var h=a.itemsFromIndex(c,d,e);return u(g),h}),a.itemsFromStart&&(je=function(b,c){var d="fetchItemsFromStart id="+b+" count="+c;f(d),ne[++oe%ne.length]={kind:"itemsFromStart",count:c};var e=a.itemsFromStart(c);return u(d),e}),a.itemsFromEnd&&(ke=function(b,c){var d="fetchItemsFromEnd id="+b+" count="+c;f(d),ne[++oe%ne.length]={kind:"itemsFromEnd",count:c};var e=a.itemsFromEnd(c);return u(d),e}),a.itemsFromDescription&&(le=function(b,c,d,e){var g="fetchItemsFromDescription id="+b+" desc="+c+" countBefore="+d+" countAfter="+e;f(g),ne[++oe%ne.length]={kind:"itemsFromDescription",description:c,countBefore:d,countAfter:e};var h=a.itemsFromDescription(c,d,e);return u(g),h});var pe=++n,qe=this,re={insert:"insert",change:"change",move:"move",remove:"remove"};if(!a)throw new e("WinJS.UI.ListDataSource.ListDataAdapterIsInvalid",s.listDataAdapterIsInvalid);hd=a.compareByIdentity?0:200,c&&"number"==typeof c.cacheSize&&(hd=c.cacheSize),a.setNotificationHandler&&(gd=new ed,a.setNotificationHandler(gd)),id=o.ready,kd=!1,ld={},md=0,nd=1,od=0,Cd=0,Dd=!1,Ed=1,Hd={},Id={},fd(),this.createListBinding=function(a){function b(a){a&&a.cursorCount++}function c(a){a&&0===--a.cursorCount&&eb(a)}function d(a){b(a),c(m),m=a}function e(a,b){a===m&&(b||(b=!m||m.lastInSequence||m.next===Ld?null:m.next),d(b))}function f(a){var b=a.bindingMap,c=b[l].handle;delete a.bindingMap[l];var d=!0,e=!0;for(var f in b)if(d=!1,c&&b[f].handle===c){e=!1;break}c&&e&&delete Nd[c],d&&(a.bindingMap=null,eb(a))}function g(a,b){a.bindingMap||(a.bindingMap={});var c=a.bindingMap[l];if(c?c.count++:a.bindingMap[l]={bindingRecord:ld[l],count:1},a.fetchListeners){var d=a.fetchListeners[b];d&&(d.retained=!0)}}function h(a){var b=Nd[a];if(b){var c=b.bindingMap[l];if(0===--c.count){var d=b.fetchListeners;for(var e in d){var g=d[e];g.listBindingID===l&&(g.retained=!1)}f(b)}}}function i(b){var c=jb(b,l),d=(od++).toString(),e=zb(b,"fetchListeners",d,l,function(a,b){a(kb(b,c))});return X(e,b,c),a&&(e.retain=function(){return o._retainItem(b,d),e},e.release=function(){o._releaseItem(c)}),e}function k(b){var c;return!n&&b?c=i(b):(n?(c=new j(function(){}),c.cancel()):c=j.wrap(null),W(c,null),a&&(c.retain=function(){return c},c.release=function(){})),d(b),c}var l=(md++).toString(),m=null,n=!1;ld[l]={notificationHandler:a,notificationsSent:!1,adjustCurrentSlot:e,itemPromiseFromKnownSlot:i};var o={_retainItem:function(a,b){g(a,b)},_releaseItem:function(a){h(a)},jumpToItem:function(a){return k(a?Nd[a.handle]:null)},current:function(){return k(m)},previous:function(){return k(m?Fb(m):null)},next:function(){return k(m?Gb(m):null)},releaseItem:function(a){this._releaseItem(a.handle)},release:function(){n=!0,c(m),m=null;for(var a=Kd.next;a!==Md;){var b=a.next,d=a.fetchListeners;for(var e in d){var g=d[e];g.listBindingID===l&&(g.promise.cancel(),delete d[e])}a.bindingMap&&a.bindingMap[l]&&f(a),a=b}delete ld[l]}};return(je||ie)&&(o.first=function(){return k(Gb(Kd))}),ke&&(o.last=function(){return k(Fb(Ld))}),he&&(o.fromKey=function(a,b){return k(Kb(a,b))}),(ie||je&&he)&&(o.fromIndex=function(a){return k(Lb(a))}),le&&(o.fromDescription=function(a){return k(Mb(a))}),o},this.invalidateAll=function(){return xc()};var se=function(a,b){var c=new l;a.then(function(a){c.complete(a)},function(a){c.error(a)});var d=c.promise.then(null,function(c){return"WinJS.UI.VirtualizedDataSource.resetCount"===c.name?(pd=null,a=b.getCount()):j.wrapError(c)}),f=0,g={get:function(){return f++,new j(function(a,b){d.then(a,b)},function(){0===--f&&(c.promise.cancel(),a.cancel(),g===pd&&(pd=null))})},reset:function(){c.error(new e("WinJS.UI.VirtualizedDataSource.resetCount"))},cancel:function(){c.promise.cancel(),a.cancel(),g===pd&&(pd=null)}};return g};this.getCount=function(){if(a.getCount){var b=this;return j.wrap().then(function(){if(sd||vd)return Jd;var c;if(!pd){var d;c=a.getCount();var e;c.then(function(){pd===d&&(pd=null),e=!0},function(){pd===d&&(pd=null),e=!0}),zd=0,e||(d=pd=se(c,b))}return pd?pd.get():c}).then(function(a){if(!w(a)&&void 0!==a)throw new e("WinJS.UI.ListDataSource.InvalidRequestedCountReturned",s.invalidRequestedCountReturned);return a!==Jd&&(Jd===p.unknown?Jd=a:(lb(a),ib())),0===a&&(Kd.next!==Ld||Ld.next!==Md?wc():Kd.lastInSequence&&(H(Kd),Ld.index=0)),a}).then(null,function(a){return a.name===m.CountError.noResponse?(Nb(o.failure),Jd):j.wrapError(a)})}return j.wrap(Jd)},he&&(this.itemFromKey=function(a,b){return Hb(Kb(a,b))}),(ie||je&&he)&&(this.itemFromIndex=function(a){return Hb(Lb(a))}),le&&(this.itemFromDescription=function(a){return Hb(Mb(a))}),this.beginEdits=function(){sd=!0},a.insertAtStart&&(this.insertAtStart=function(b,c){return cd(b,c,Kd.lastInSequence?null:Kd.next,!0,function(){return a.insertAtStart(b,c)})}),a.insertBefore&&(this.insertBefore=function(b,c,d){var e=ad(d);return cd(b,c,e,!1,function(){return a.insertBefore(b,c,d,ub(e))})}),a.insertAfter&&(this.insertAfter=function(b,c,d){var e=ad(d);return cd(b,c,e?e.next:null,!0,function(){return a.insertAfter(b,c,d,ub(e))})}),a.insertAtEnd&&(this.insertAtEnd=function(b,c){return cd(b,c,Ld.firstInSequence?null:Ld,!1,function(){return a.insertAtEnd(b,c)})}),a.change&&(this.change=function(b,c){var d=ad(b);return new j(function(e,f){var g;Vc(function(){return a.change(b,c,ub(d))},re.change,e,f,null,function(){g=d.item,d.itemNew={key:b,data:c},g?qb(d):Bb(d)},function(){g?(d.itemNew=g,qb(d)):wc()})})}),a.moveToStart&&(this.moveToStart=function(b){var c=ad(b);return dd(c,Kd.next,!0,function(){return a.moveToStart(b,ub(c))})}),a.moveBefore&&(this.moveBefore=function(b,c){var d=ad(b),e=ad(c);return dd(d,e,!1,function(){return a.moveBefore(b,c,ub(d),ub(e))})}),a.moveAfter&&(this.moveAfter=function(b,c){var d=ad(b),e=ad(c);return dd(d,e.next,!0,function(){return a.moveAfter(b,c,ub(d),ub(e))})}),a.moveToEnd&&(this.moveToEnd=function(b){var c=ad(b);return dd(c,Ld,!1,function(){return a.moveToEnd(b,ub(c))})}),a.remove&&(this.remove=function(b){Ib(b);var c=Od[b];return new j(function(d,e){var f,g,h;Vc(function(){return a.remove(b,ub(c))},re.remove,d,e,null,function(){c&&(f=c.next,g=c.firstInSequence,h=c.lastInSequence,wb(c,-1),sb(c,!1))},function(){c&&(R(c,f,!g,!h),wb(c,1),pb(c))})})}),this.endEdits=function(){sd=!1,$c()}}var h=100,n=1,o=m.DataSourceStatus,p=m.CountResult,q=m.FetchError,r=m.EditError,s={get listDataAdapterIsInvalid(){return"Invalid argument: listDataAdapter must be an object or an array."},get indexIsInvalid(){return"Invalid argument: index must be a non-negative integer."},get keyIsInvalid(){return"Invalid argument: key must be a string."},get invalidItemReturned(){return"Error: data adapter returned item that is not an object."},get invalidKeyReturned(){return"Error: data adapter returned item with undefined or null key."},get invalidIndexReturned(){return"Error: data adapter should return undefined, null or a non-negative integer for the index."},get invalidCountReturned(){return"Error: data adapter should return undefined, null, CountResult.unknown, or a non-negative integer for the count."},get invalidRequestedCountReturned(){return"Error: data adapter should return CountResult.unknown, CountResult.failure, or a non-negative integer for the count."},get refreshCycleIdentified(){return"refresh cycle found, likely data inconsistency"}},t="statuschanged",u=c.Class.define(function(){},{_baseDataSourceConstructor:a,_isVirtualizedDataSource:!0},{supportedForProcessing:!1});return c.Class.mix(u,f.eventMixin),u})})}),define("WinJS/VirtualizedDataSource/_GroupDataSource",["exports","../Core/_Base","../Core/_ErrorFromName","../Promise","../Scheduler","../Utilities/_UI","./_VirtualizedDataSourceImpl"],function(a,b,c,d,e,f,g){"use strict";b.Namespace._moduleDefine(a,"WinJS.UI",{_GroupDataSource:b.Namespace._lazy(function(){function a(){return new c(f.FetchError.doesNotExist)}function h(a){return a&&a.firstReached&&a.lastReached}var i=101,j=b.Class.define(function(a){this._groupDataAdapter=a},{beginNotifications:function(){},inserted:function(a,b,c){this._groupDataAdapter._inserted(a,b,c)},changed:function(a,b){this._groupDataAdapter._changed(a,b)},moved:function(a,b,c){this._groupDataAdapter._moved(a,b,c)},removed:function(a,b){this._groupDataAdapter._removed(a,b)},countChanged:function(a,b){0===a&&0!==b&&this._groupDataAdapter.invalidateGroups()},indexChanged:function(a,b,c){this._groupDataAdapter._indexChanged(a,b,c)},endNotifications:function(){this._groupDataAdapter._endNotifications()},reload:function(){this._groupDataAdapter._reload()}},{supportedForProcessing:!1}),k=b.Class.define(function(a,b,c,d){this._listBinding=a.createListBinding(new j(this)),this._groupKey=b,this._groupData=c,this._initializeState(),this._batchSize=i,this._count=null,d&&("number"==typeof d.groupCountEstimate&&(this._count=d.groupCountEstimate<0?null:Math.max(d.groupCountEstimate,1)),"number"==typeof d.batchSize&&(this._batchSize=d.batchSize+1)),this._listBinding.last&&(this.itemsFromEnd=function(a){var b=this;return this._fetchItems(function(){return b._lastGroup},function(a){if(a)return!1;var c=b._count;return+c!==c?!0:c>0?!0:void 0},function(){b._fetchBatch(b._listBinding.last(),b._batchSize-1,0)},a-1,0)})},{setNotificationHandler:function(a){this._listDataNotificationHandler=a},compareByIdentity:!0,itemsFromKey:function(a,b,c,d){var e=this;return this._fetchItems(function(){return e._keyMap[a]},function(){var a=e._lastGroup;return a?+a.index!==a.index?!0:void 0:!0},function(){d=d||{};var a="string"==typeof d.groupMemberKey&&e._listBinding.fromKey?e._listBinding.fromKey(d.groupMemberKey):"number"==typeof d.groupMemberIndex&&e._listBinding.fromIndex?e._listBinding.fromIndex(d.groupMemberIndex):void 0!==d.groupMemberDescription&&e._listBinding.fromDescription?e._listBinding.fromDescription(d.groupMemberDescription):e._listBinding.first(),b=Math.floor(.5*(e._batchSize-1));e._fetchBatch(a,b,e._batchSize-1-b)},b,c)},itemsFromIndex:function(a,b,c){var d=this;return this._fetchItems(function(){return d._indexMap[a]},function(){var b=d._lastGroup;return b?+b.index!==b.index?!0:a<=b.index?!0:void 0:!0},function(){d._fetchNextIndex()},b,c)},getCount:function(){if(this._lastGroup&&"number"==typeof this._lastGroup.index)return d.wrap(this._count);var a=this,b=new d(function(b){var c={initialBatch:function(){a._fetchNextIndex()},getGroup:function(){return null},countBefore:0,countAfter:0,complete:function(c){c&&(a._count=0);var d=a._count;return"number"==typeof d?(b(d),!0):!1}};a._fetchQueue.push(c),a._itemBatch||a._continueFetch(c)});return"number"==typeof this._count?d.wrap(this._count):b},invalidateGroups:function(){this._beginRefresh(),this._initializeState()},_initializeState:function(){this._count=null,this._indexMax=null,this._keyMap={},this._indexMap={},this._lastGroup=null,this._handleMap={},this._fetchQueue=[],this._itemBatch=null,this._itemsToFetch=0,this._indicesChanged=!1},_releaseItem:function(a){delete this._handleMap[a.handle],this._listBinding.releaseItem(a)},_processBatch:function(){for(var a=null,b=null,c=null,d=0,f=!0,g=0;g0&&(k.firstReached=!0,b||(j=0)),"number"!=typeof k.index&&"number"==typeof j){for(var l=k;l;l=this._nextGroup(l))l.index=j,this._indexMap[j]=l,j++;this._indexMax=j,"number"==typeof this._count&&!this._lastGroup&&this._count<=this._indexMax&&(this._count=this._indexMax+1)}c=h,d=0,b=k}else b&&(this._lastGroup=b,"number"==typeof b.index&&(this._count=b.index+1),this._listDataNotificationHandler.invalidateAll(),b=null)}a=h}var m;for(m=this._fetchQueue[0];m&&m.complete(f);m=this._fetchQueue[0])this._fetchQueue.splice(0,1);if(m){var n=this;e.schedule(function(){n._continueFetch(m)},e.Priority.normal,null,"WinJS.UI._GroupDataSource._continueFetch")}else this._itemBatch=null},_processPromise:function(a,b){a.retain(),this._itemBatch[b]=a;var c=this;a.then(function(a){c._itemBatch[b]=a,0===--c._itemsToFetch&&c._processBatch()})},_fetchBatch:function(a,b){this._itemBatch=new Array(this._batchSize),this._itemsToFetch=this._batchSize,this._processPromise(a,b);var c;for(this._listBinding.jumpToItem(a),c=b-1;c>=0;c--)this._processPromise(this._listBinding.previous(),c);for(this._listBinding.jumpToItem(a),c=b+1;c0&&0!==b.index&&!h(c=this._previousGroup(b))?this._fetchAdjacent(c&&c.lastReached?c.firstItem:b.firstItem,!1):(d=this._nextGroup(b),this._fetchAdjacent(d&&d.firstReached?d.lastItem:b.lastItem,!0)):this._fetchAdjacent(b.lastItem,!0):this._fetchAdjacent(b.firstItem,!1)}else this._fetchNextIndex()}},_fetchComplete:function(a,b,c,d,e){if(h(a)){var g=this._previousGroup(a);if(d||h(g)||0===a.index||0===b){var i=this._nextGroup(a);if(d||h(i)||this._lastGroup===a||0===c){for(var j=0,k=a;b>j&&(g=this._previousGroup(k),h(g));)k=g,j++; -for(var l=0,m=a;c>l&&(i=this._nextGroup(m),h(i));)m=i,l++;for(var n=j+1+l,o=new Array(n),p=0;n>p;p++){var q={key:k.key,data:k.data,firstItemKey:k.firstItem.key,groupSize:k.size},r=k.firstItem.index;"number"==typeof r&&(q.firstItemIndexHint=r),o[p]=q,k=this._nextGroup(k)}var s={items:o,offset:j};return s.totalCount="number"==typeof this._count?this._count:f.CountResult.unknown,"number"==typeof a.index&&(s.absoluteIndex=a.index),m===this._lastGroup&&(s.atEnd=!0),e(s),!0}}}return!1},_fetchItems:function(b,c,e,f,g){var h=this;return new d(function(d,i){function j(e){var j=b();return j?h._fetchComplete(j,f,g,l,d,i):l&&!c(e)?(i(a()),!0):m>2?(i(a()),!0):(e?m++:m=0,!1)}var k=b(),l=!k,m=0;if(!j()){var n={initialBatch:l?e:null,getGroup:b,countBefore:f,countAfter:g,complete:j};h._fetchQueue.push(n),h._itemBatch||h._continueFetch(n)}})},_previousGroup:function(a){return a&&a.firstReached?(this._listBinding.jumpToItem(a.firstItem),this._handleMap[this._listBinding.previous().handle]):null},_nextGroup:function(a){return a&&a.lastReached?(this._listBinding.jumpToItem(a.lastItem),this._handleMap[this._listBinding.next().handle]):null},_invalidateIndices:function(a){this._count=null,this._lastGroup=null,"number"==typeof a.index&&(this._indexMax=a.index>0?a.index:null);for(var b=a;b&&"number"==typeof b.index;b=this._nextGroup(b))delete this._indexMap[b.index],b.index=null},_releaseGroup:function(a){this._invalidateIndices(a),delete this._keyMap[a.key],this._lastGroup===a&&(this._lastGroup=null),a.firstItem!==a.lastItem&&this._releaseItem(a.firstItem),this._releaseItem(a.lastItem)},_beginRefresh:function(){if(this._fetchQueue=[],this._itemBatch){for(var a=0;ai;i++)!function(a){d[a]&&(e[a]=function(){return g(d[a].apply(d,arguments))})}(h[i]);return d.fromKey&&(e.fromKey=function(a){return g(d.fromKey(a))}),d.fromIndex&&(e.fromIndex=function(a){return g(d.fromIndex(a))}),e.prev=function(){return g(d.prev())},e.next=function(){return g(d.next())},e};for(var i=["itemFromKey","itemFromIndex","itemFromDescription","insertAtStart","insertBefore","insertAfter","insertAtEnd","change","moveToStart","moveBefore","moveAfter","moveToEnd"],j=0,k=i.length;k>j;j++)!function(b){a[b]&&(h[b]=function(){return g(a[b].apply(a,arguments))})}(i[j]);["addEventListener","removeEventListener","dispatchEvent"].forEach(function(b){a[b]&&(h[b]=function(){return a[b].apply(a,arguments)})});var l=null;return Object.defineProperty(h,"groups",{get:function(){return l||(l=new b._GroupDataSource(a,c,d,e)),l},enumerable:!0,configurable:!0}),h}})}),define("WinJS/VirtualizedDataSource/_StorageDataSource",["exports","../Core/_WinRT","../Core/_Global","../Core/_Base","../Core/_ErrorFromName","../Core/_WriteProfilerMark","../Animations","../Promise","../Utilities/_UI","./_VirtualizedDataSourceImpl"],function(a,b,c,d,e,f,g,h,i,j){"use strict";d.Namespace._moduleDefine(a,"WinJS.UI",{StorageDataSource:d.Namespace._lazy(function(){var a=d.Class.define(function(a,c){f("WinJS.UI.StorageDataSource:constructor,StartTM");var d,e=b.Windows.Storage.FileProperties.ThumbnailMode.singleItem,g=256,h=b.Windows.Storage.FileProperties.ThumbnailOptions.useCurrentScale,i=!0;if("Pictures"===a?(e=b.Windows.Storage.FileProperties.ThumbnailMode.picturesView,d=b.Windows.Storage.KnownFolders.picturesLibrary,g=190):"Music"===a?(e=b.Windows.Storage.FileProperties.ThumbnailMode.musicView,d=b.Windows.Storage.KnownFolders.musicLibrary,g=256):"Documents"===a?(e=b.Windows.Storage.FileProperties.ThumbnailMode.documentsView,d=b.Windows.Storage.KnownFolders.documentsLibrary,g=40):"Videos"===a&&(e=b.Windows.Storage.FileProperties.ThumbnailMode.videosView,d=b.Windows.Storage.KnownFolders.videosLibrary,g=190),d){var j=new b.Windows.Storage.Search.QueryOptions;j.folderDepth=b.Windows.Storage.Search.FolderDepth.deep,j.indexerOption=b.Windows.Storage.Search.IndexerOption.useIndexerWhenAvailable,this._query=d.createFileQueryWithOptions(j)}else this._query=a;if(c){if("number"==typeof c.mode&&(e=c.mode),"number"==typeof c.requestedThumbnailSize)g=Math.max(1,Math.min(c.requestedThumbnailSize,1024));else switch(e){case b.Windows.Storage.FileProperties.ThumbnailMode.picturesView:case b.Windows.Storage.FileProperties.ThumbnailMode.videosView:g=190;break;case b.Windows.Storage.FileProperties.ThumbnailMode.documentsView:case b.Windows.Storage.FileProperties.ThumbnailMode.listView:g=40;break;case b.Windows.Storage.FileProperties.ThumbnailMode.musicView:case b.Windows.Storage.FileProperties.ThumbnailMode.singleItem:g=256}"number"==typeof c.thumbnailOptions&&(h=c.thumbnailOptions),"boolean"==typeof c.waitForFileLoad&&(i=!c.waitForFileLoad)}this._loader=new b.Windows.Storage.BulkAccess.FileInformationFactory(this._query,e,g,h,i),this.compareByIdentity=!1,this.firstDataRequest=!0,f("WinJS.UI.StorageDataSource:constructor,StopTM")},{setNotificationHandler:function(a){this._notificationHandler=a,this._query.addEventListener("contentschanged",function(){a.invalidateAll()}),this._query.addEventListener("optionschanged",function(){a.invalidateAll()})},itemsFromEnd:function(a){var b=this;return f("WinJS.UI.StorageDataSource:itemsFromEnd,info"),this.getCount().then(function(c){return 0===c?h.wrapError(new e(i.FetchError.doesNotExist)):b.itemsFromIndex(c-1,Math.min(c-1,a-1),1)})},itemsFromIndex:function(a,b,c){function d(a){k._notificationHandler.changed(k._item(a.target))}b+c>64&&(b=Math.min(b,32),c=64-(b+1));var g=a-b,j=b+1+c,k=this;k.firstDataRequest&&(k.firstDataRequest=!1,j=Math.max(j,32));var l="WinJS.UI.StorageDataSource:itemsFromIndex("+g+"-"+(g+j-1)+")";return f(l+",StartTM"),this._loader.getItemsAsync(g,j).then(function(c){var m=c.size;if(b>=m)return h.wrapError(new e(i.FetchError.doesNotExist));var n=new Array(m),o=new Array(m);c.getMany(0,o);for(var p=0;m>p;p++)n[p]=k._item(o[p]),o[p].addEventListener("propertiesupdated",d);var q={items:n,offset:b,absoluteIndex:a};return j>m&&(q.totalCount=g+m),f(l+",StopTM"),q})},itemsFromDescription:function(a,b,c){var d=this;return f("WinJS.UI.StorageDataSource:itemsFromDescription,info"),this._query.findStartIndexAsync(a).then(function(a){return d.itemsFromIndex(a,b,c)})},getCount:function(){return f("WinJS.UI.StorageDataSource:getCount,info"),this._query.getItemCountAsync()},itemSignature:function(a){return a.folderRelativeId},_item:function(a){return{key:a.path||a.folderRelativeId,data:a}}},{supportedForProcessing:!1});return d.Class.derive(j.VirtualizedDataSource,function(b,c){this._baseDataSourceConstructor(new a(b,c))},{},{loadThumbnail:function(a,d){var e,i,j=!1;return new h(function(k){var l=d?!0:!1,m=function(m){if(m){var n=c.URL.createObjectURL(m,{oneTimeOnly:!0});i=i?i.then(function(b){return a.loadImage(n,b)}):a.loadImage(n,d).then(function(b){return a.isOnScreen().then(function(a){var c;return a&&l?c=g.fadeIn(b).then(function(){return b}):(b.style.opacity=1,c=h.wrap(b)),c})}),m.type===b.Windows.Storage.FileProperties.ThumbnailType.icon||m.returnedSmallerCachedSize||(f("WinJS.UI.StorageDataSource:loadThumbnail complete,info"),a.data.removeEventListener("thumbnailupdated",e),j=!1,i=i.then(function(a){e=null,i=null,k(a)}))}};e=function(a){j&&m(a.target.thumbnail)},a.data.addEventListener("thumbnailupdated",e),j=!0,m(a.data.thumbnail)},function(){a.data.removeEventListener("thumbnailupdated",e),j=!1,e=null,i&&(i.cancel(),i=null)})},supportedForProcessing:!1})})})}),define("WinJS/VirtualizedDataSource",["./VirtualizedDataSource/_VirtualizedDataSourceImpl","./VirtualizedDataSource/_GroupDataSource","./VirtualizedDataSource/_GroupedItemDataSource","./VirtualizedDataSource/_StorageDataSource"],function(){}),define("require-style",{load:function(a){throw new Error("Dynamic load not allowed: "+a)}}),define("require-style!less/desktop/styles-intrinsic",[],function(){}),define("require-style!less/desktop/colors-intrinsic",[],function(){}),define("require-style!less/phone/styles-intrinsic",[],function(){}),define("require-style!less/phone/colors-intrinsic",[],function(){}),define("WinJS/Controls/IntrinsicControls",["../Utilities/_Hoverable","require-style!less/desktop/styles-intrinsic","require-style!less/desktop/colors-intrinsic","require-style!less/phone/styles-intrinsic","require-style!less/phone/colors-intrinsic"],function(){}),define("WinJS/Controls/ItemContainer/_Constants",["exports","../../Core/_Base"],function(a,b){"use strict";var c={};c._listViewClass="win-listview",c._listViewSupportsCrossSlideClass="win-listview-supports-cross-slide",c._viewportClass="win-viewport",c._rtlListViewClass="win-rtl",c._horizontalClass="win-horizontal",c._verticalClass="win-vertical",c._scrollableClass="win-surface",c._itemsContainerClass="win-itemscontainer",c._padderClass="win-itemscontainer-padder",c._proxyClass="_win-proxy",c._itemClass="win-item",c._itemBoxClass="win-itembox",c._itemsBlockClass="win-itemsblock",c._containerClass="win-container",c._backdropClass="win-backdrop",c._footprintClass="win-footprint",c._groupsClass="win-groups",c._selectedClass="win-selected",c._swipeableClass="win-swipeable",c._swipeClass="win-swipe",c._selectionBorderClass="win-selectionborder",c._selectionBackgroundClass="win-selectionbackground",c._selectionCheckmarkClass="win-selectioncheckmark",c._selectionCheckmarkBackgroundClass="win-selectioncheckmarkbackground",c._pressedClass="win-pressed",c._headerClass="win-groupheader",c._headerContainerClass="win-groupheadercontainer",c._groupLeaderClass="win-groupleader",c._progressClass="win-progress",c._selectionHintClass="win-selectionhint",c._revealedClass="win-revealed",c._itemFocusClass="win-focused",c._itemFocusOutlineClass="win-focusedoutline",c._zoomingXClass="win-zooming-x",c._zoomingYClass="win-zooming-y",c._listLayoutClass="win-listlayout",c._gridLayoutClass="win-gridlayout",c._headerPositionTopClass="win-headerpositiontop",c._headerPositionLeftClass="win-headerpositionleft",c._structuralNodesClass="win-structuralnodes",c._uniformGridLayoutClass="win-uniformgridlayout",c._uniformListLayoutClass="win-uniformlistlayout",c._cellSpanningGridLayoutClass="win-cellspanninggridlayout",c._laidOutClass="win-laidout",c._nonDraggableClass="win-nondraggable",c._nonSelectableClass="win-nonselectable",c._nonSwipeableClass="win-nonswipeable",c._dragOverClass="win-dragover",c._dragSourceClass="win-dragsource",c._clipClass="win-clip",c._selectionModeClass="win-selectionmode",c._noCSSGrid="win-nocssgrid",c._INVALID_INDEX=-1,c._UNINITIALIZED=-1,c._LEFT_MSPOINTER_BUTTON=0,c._RIGHT_MSPOINTER_BUTTON=2,c._TAP_END_THRESHOLD=10,c._DEFAULT_PAGES_TO_LOAD=5,c._DEFAULT_PAGE_LOAD_THRESHOLD=2,c._MIN_AUTOSCROLL_RATE=150,c._MAX_AUTOSCROLL_RATE=1500,c._AUTOSCROLL_THRESHOLD=100,c._AUTOSCROLL_DELAY=50,c._DEFERRED_ACTION=250,c._DEFERRED_SCROLL_END=250,c._VERTICAL_SWIPE_SELECTION_THRESHOLD=39,c._VERTICAL_SWIPE_SPEED_BUMP_START=0,c._VERTICAL_SWIPE_SPEED_BUMP_END=127,c._VERTICAL_SWIPE_SELF_REVEAL_GESTURE=15,c._HORIZONTAL_SWIPE_SELECTION_THRESHOLD=27,c._HORIZONTAL_SWIPE_SPEED_BUMP_START=0,c._HORIZONTAL_SWIPE_SPEED_BUMP_END=150,c._HORIZONTAL_SWIPE_SELF_REVEAL_GESTURE=23,c._SELECTION_CHECKMARK="",c._LISTVIEW_PROGRESS_DELAY=2e3;var d={uninitialized:0,low:1,medium:2,high:3},e={rebuild:0,remeasure:1,relayout:2,realize:3};c._ScrollToPriority=d,c._ViewChange=e,b.Namespace._moduleDefine(a,"WinJS.UI",c)}),define("WinJS/Controls/ItemContainer/_ItemEventsHandler",["exports","../../Core/_Global","../../Core/_WinRT","../../Core/_Base","../../Core/_BaseUtils","../../Core/_WriteProfilerMark","../../Animations","../../Animations/_TransitionAnimation","../../Promise","../../Utilities/_ElementUtilities","../../Utilities/_UI","./_Constants"],function(a,b,c,d,e,f,g,h,i,j,k,l){"use strict";function m(a){var b=Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z);return{x:a.x/b,y:a.y/b,z:a.z/b}}function n(a,b){var c=m(b),d=Math.cos(a),e=Math.sin(a),f=[d+c.x*c.x*(1-d),c.x*c.y*(1-d)-c.z*e,c.x*c.z*(1-d)+c.y*e,0,c.y*c.x*(1-d)+c.z*e,d+c.y*c.y*(1-d),c.y*c.z*(1-d)-c.x*e,0,c.z*c.x*(1-d)-c.y*e,c.z*c.y*(1-d)+c.x*e,d+c.z*c.z*(1-d),0,0,0,0,1];return f=f.map(function(a){return a.toFixed(8)}),"matrix3d("+f.join(",")+")"}function o(a,b,c){var d=j._clamp((a-c.left)/c.width,0,1),e=j._clamp((b-c.top)/c.height,0,1),f={x:e-.5,y:-(d-.5),z:1e-4},g=Math.abs(d-.5)+Math.abs(e-.5),h=g*q,i=1-(1-g)*r,k="perspective(800px) scale("+i+", "+i+") "+n(h,f);return k}var p=e._browserStyleEquivalents.transform,q=.15,r=.025,s=j._uniqueID,t=j._MSManipulationEvent;d.Namespace._moduleDefine(a,"WinJS.UI",{_rotationTransform3d:n,_tiltTransform:o,_ItemEventsHandler:d.Namespace._lazy(function(){function a(a,b){return a.querySelector("."+b)}function m(a,c){var d=b.document.createElement("div");return d.className=a,c||d.setAttribute("aria-hidden",!0),d}var n=j._MSPointerEvent.MSPOINTER_TYPE_TOUCH||"touch",q=d.Class.define(function(a){if(this._site=a,this._work=[],this._animations={},this._selectionHintTracker={},this._swipeClassTracker={},!e.isPhone&&this._selectionAllowed()){var c=this;b.setTimeout(function(){c._gestureRecognizer||a.isZombie()||(c._gestureRecognizer=c._createGestureRecognizer())},500)}},{dispose:function(){this._disposed||(this._disposed=!0,this._gestureRecognizer=null,j._removeEventListener(b,"pointerup",this._resetPointerDownStateBound),j._removeEventListener(b,"pointercancel",this._resetPointerDownStateBound))},onMSManipulationStateChanged:function(a){var b=a.currentState;if(b===t.MS_MANIPULATION_STATE_PRESELECT&&!this._site.pressedItemBox){var c=this._site.indexForItemElement(a.target);if(this._site.pressedEntity={type:k.ObjectType.item,index:c},this._site.pressedEntity.index!==l._INVALID_INDEX){this._site.pressedItemBox=this._site.itemBoxAtIndex(this._site.pressedEntity.index),this._site.pressedContainer=this._site.containerAtIndex(this._site.pressedEntity.index),this._site.animatedElement=e.isPhone?this._site.pressedItemBox:this._site.pressedContainer,this._site.pressedHeader=null;var d=this._site.verifySelectionAllowed(this._site.pressedEntity);this._canSelect=d.canSelect,this._canTapSelect=d.canTapSelect,this._swipeBehaviorSelectionChanged=!1,this._selectionHint=null,this._canSelect&&this._addSelectionHint()}}!this._canSelect||b!==t.MS_MANIPULATION_STATE_PRESELECT&&b!==t.MS_MANIPULATION_STATE_COMMITTED&&b!==t.MS_MANIPULATION_STATE_CANCELLED&&b!==t.MS_MANIPULATION_STATE_SELECTING&&b!==t.MS_MANIPULATION_STATE_DRAGGING||this._dispatchSwipeBehavior(b),(b===t.MS_MANIPULATION_STATE_COMMITTED||b===t.MS_MANIPULATION_STATE_CANCELLED||b===t.MS_MANIPULATION_STATE_STOPPED)&&this.resetPointerDownState()},onPointerDown:function(a){f("WinJS.UI._ItemEventsHandler:MSPointerDown,StartTM");var d,g,h=this._site,i=a.pointerType===n;if(h.pressedElement=a.target,c.Windows.UI.Input.PointerPoint){var m=this._getCurrentPoint(a),o=m.properties;i||o.isInverted||o.isEraser||o.isMiddleButtonPressed?d=g=!1:(g=o.isRightButtonPressed,d=!g&&o.isLeftButtonPressed)}else d=a.button===l._LEFT_MSPOINTER_BUTTON,g=a.button===l._RIGHT_MSPOINTER_BUTTON;this._DragStartBound=this._DragStartBound||this.onDragStart.bind(this),this._PointerEnterBound=this._PointerEnterBound||this.onPointerEnter.bind(this),this._PointerLeaveBound=this._PointerLeaveBound||this.onPointerLeave.bind(this),this._swipeBehaviorState=t.MS_MANIPULATION_STATE_STOPPED;var p=h.swipeBehavior===k.SwipeBehavior.select,q=this._isInteractive(a.target),r=h.indexForItemElement(a.target),s=h.indexForHeaderElement(a.target),u=!q&&r!==l._INVALID_INDEX;if((i||d||this._selectionAllowed()&&p&&g)&&this._site.pressedEntity.index===l._INVALID_INDEX&&!q&&(this._site.pressedEntity=s===l._INVALID_INDEX?{type:k.ObjectType.item,index:r}:{type:k.ObjectType.groupHeader,index:s},this._site.pressedEntity.index!==l._INVALID_INDEX)){this._site.pressedPosition=j._getCursorPos(a);var v=h.verifySelectionAllowed(this._site.pressedEntity);if(this._canSelect=v.canSelect,this._canTapSelect=v.canTapSelect,this._swipeBehaviorSelectionChanged=!1,this._selectionHint=null,this._site.pressedEntity.type!==k.ObjectType.groupHeader?(this._site.pressedItemBox=h.itemBoxAtIndex(this._site.pressedEntity.index),this._site.pressedContainer=h.containerAtIndex(this._site.pressedEntity.index),this._site.animatedElement=e.isPhone?this._site.pressedItemBox:this._site.pressedContainer,this._site.pressedHeader=null,this._togglePressed(!0,!1,a),this._site.pressedContainer.addEventListener("dragstart",this._DragStartBound),i||(j._addEventListener(this._site.pressedContainer,"pointerenter",this._PointerEnterBound,!1),j._addEventListener(this._site.pressedContainer,"pointerleave",this._PointerLeaveBound,!1))):(this._site.pressedHeader=this._site.headerFromElement(a.target),e.isPhone?(this._site.animatedElement=this._site.pressedHeader,this._togglePressed(!0,!1,a)):(this._site.pressedItemBox=null,this._site.pressedContainer=null,this._site.animatedElement=null)),this._resetPointerDownStateBound||(this._resetPointerDownStateBound=this._resetPointerDownStateForPointerId.bind(this)),i||(j._addEventListener(b,"pointerup",this._resetPointerDownStateBound,!1),j._addEventListener(b,"pointercancel",this._resetPointerDownStateBound,!1)),this._canSelect&&!e.isPhone&&(this._gestureRecognizer||(this._gestureRecognizer=this._createGestureRecognizer()),this._addSelectionHint()),this._pointerId=a.pointerId,this._pointerRightButton=g,this._pointerTriggeredSRG=!1,this._gestureRecognizer&&i)try{this._gestureRecognizer.addPointer(this._pointerId)}catch(w){this._gestureRecognizer.stop()}}if(u&&i)try{j._setPointerCapture(h.canvasProxy,a.pointerId)}catch(w){return void f("WinJS.UI._ItemEventsHandler:MSPointerDown,StopTM")}this._site.pressedEntity.type!==k.ObjectType.groupHeader&&this._selectionAllowed()&&this._multiSelection()&&this._site.pressedEntity.index!==l._INVALID_INDEX&&h.selection._getFocused().index!==l._INVALID_INDEX&&h.selection._pivot===l._INVALID_INDEX&&(h.selection._pivot=h.selection._getFocused().index),f("WinJS.UI._ItemEventsHandler:MSPointerDown,StopTM")},onPointerEnter:function(a){this._site.pressedContainer&&this._pointerId===a.pointerId&&this._togglePressed(!0,!1,a)},onPointerLeave:function(a){this._site.pressedContainer&&this._pointerId===a.pointerId&&this._togglePressed(!1,!0,a)},onDragStart:function(){this._resetPressedContainer()},_resetPressedContainer:function(){(this._site.pressedContainer||this._site.pressedHeader)&&this._site.animatedElement&&(this._togglePressed(!1),this._site.pressedContainer&&(this._site.pressedContainer.removeEventListener("dragstart",this._DragStartBound),j._removeEventListener(this._site.pressedContainer,"pointerenter",this._PointerEnterBound,!1),j._removeEventListener(this._site.pressedContainer,"pointerleave",this._PointerLeaveBound,!1)))},onClick:function(a){if(!this._skipClick){var b={type:k.ObjectType.item,index:this._site.indexForItemElement(a.target)};if(b.index===l._INVALID_INDEX&&(b.index=this._site.indexForHeaderElement(a.target),b.index!==l._INVALID_INDEX&&(b.type=k.ObjectType.groupHeader)),b.index!==l._INVALID_INDEX&&(j.hasClass(a.target,this._site.accessibleItemClass)||j.hasClass(a.target,l._headerClass))){var c=this._site.verifySelectionAllowed(b);c.canTapSelect&&this.handleTap(b),this._site.fireInvokeEvent(b,a.target)}}},onPointerUp:function(a){f("WinJS.UI._ItemEventsHandler:MSPointerUp,StartTM");var b=this._site;this._skipClick=!0;var c=this,d=this._site.swipeBehavior===k.SwipeBehavior.select;e._yieldForEvents(function(){c._skipClick=!1});try{j._releasePointerCapture(b.canvasProxy,a.pointerId)}catch(g){}var h=a.pointerType===n,i=this._releasedElement(a),m=b.indexForItemElement(i),o=b.indexForHeaderElement(i&&j.hasClass(i,l._headerContainerClass)?b.pressedHeader:i);if(this._pointerId===a.pointerId){var p;if(p=o===l._INVALID_INDEX?{type:k.ObjectType.item,index:m}:{type:k.ObjectType.groupHeader,index:o},this._resetPressedContainer(),this._site.pressedEntity.type!==k.ObjectType.groupHeader&&p.type!==k.ObjectType.groupHeader&&this._site.pressedContainer&&this._site.pressedEntity.index===p.index)if(a.shiftKey||(b.selection._pivot=l._INVALID_INDEX),a.shiftKey){if(this._selectionAllowed()&&this._multiSelection()&&b.selection._pivot!==l._INVALID_INDEX){var q=Math.min(this._site.pressedEntity.index,b.selection._pivot),r=Math.max(this._site.pressedEntity.index,b.selection._pivot),s=this._pointerRightButton||a.ctrlKey||b.tapBehavior===k.TapBehavior.toggleSelect;b.selectRange(q,r,s)}}else(a.ctrlKey||this._selectionAllowed()&&d&&this._pointerRightButton)&&this.handleSwipeBehavior(this._site.pressedEntity.index);if((this._site.pressedHeader||this._site.pressedContainer)&&this._swipeBehaviorState!==t.MS_MANIPULATION_STATE_COMMITTED){var u=j._getCursorPos(a),v=Math.abs(u.left-this._site.pressedPosition.left)<=l._TAP_END_THRESHOLD&&Math.abs(u.top-this._site.pressedPosition.top)<=l._TAP_END_THRESHOLD;this._endSelfRevealGesture(),this._clearItem(this._site.pressedEntity,this._isSelected(this._site.pressedEntity.index)),this._pointerRightButton||this._pointerTriggeredSRG||a.ctrlKey||a.shiftKey||!(h&&v||!h&&this._site.pressedEntity.index===p.index&&this._site.pressedEntity.type===p.type)||(p.type===k.ObjectType.groupHeader?(this._site.pressedHeader=b.headerAtIndex(p.index),this._site.pressedItemBox=null,this._site.pressedContainer=null):(this._site.pressedItemBox=b.itemBoxAtIndex(p.index),this._site.pressedContainer=b.containerAtIndex(p.index),this._site.pressedHeader=null),this._canTapSelect&&this.handleTap(this._site.pressedEntity),this._site.fireInvokeEvent(this._site.pressedEntity,this._site.pressedItemBox||this._site.pressedHeader))}this._site.pressedEntity.index!==l._INVALID_INDEX&&b.changeFocus(this._site.pressedEntity,!0,!1,!0),this.resetPointerDownState()}f("WinJS.UI._ItemEventsHandler:MSPointerUp,StopTM")},onPointerCancel:function(a){this._pointerId===a.pointerId&&this._swipeBehaviorState!==t.MS_MANIPULATION_STATE_PRESELECT&&(f("WinJS.UI._ItemEventsHandler:MSPointerCancel,info"),this.resetPointerDownState())},onLostPointerCapture:function(a){this._pointerId===a.pointerId&&this._swipeBehaviorState!==t.MS_MANIPULATION_STATE_PRESELECT&&(f("WinJS.UI._ItemEventsHandler:MSLostPointerCapture,info"),this.resetPointerDownState())},onContextMenu:function(a){var b=this._site.containerFromElement(a.target);this._selectionAllowed()&&b&&!this._isInteractive(a.target)&&a.preventDefault()},onMSHoldVisual:function(a){this._isInteractive(a.target)||a.preventDefault()},onDataChanged:function(){this.resetPointerDownState()},handleSwipeBehavior:function(a){this._selectionAllowed(a)&&this._toggleItemSelection(a)},handleTap:function(a){if(a.type!==k.ObjectType.groupHeader){var b=this._site,c=b.selection;this._selectionAllowed(a.index)&&this._selectOnTap()&&(b.tapBehavior===k.TapBehavior.toggleSelect?this._toggleItemSelection(a.index):b.selectionMode!==k.SelectionMode.multi&&c._isIncluded(a.index)||c.set(a.index))}},_toggleItemSelection:function(a){var b=this._site,c=b.selection,d=c._isIncluded(a);b.selectionMode===k.SelectionMode.single?d?c.clear():c.set(a):d?c.remove(a):c.add(a)},_getCurrentPoint:function(a){return c.Windows.UI.Input.PointerPoint.getCurrentPoint(a.pointerId)},_containedInElementWithClass:function(a,b){if(a.parentNode)for(var c=a.parentNode.querySelectorAll("."+b+", ."+b+" *"),d=0,e=c.length;e>d;d++)if(c[d]===a)return!0;return!1},_isSelected:function(a){return!this._swipeBehaviorSelectionChanged&&this._site.selection._isIncluded(a)||this._swipeBehaviorSelectionChanged&&this.swipeBehaviorSelected},_isInteractive:function(a){return this._containedInElementWithClass(a,"win-interactive")},_togglePressed:function(a,b,c){function d(a){""===m._site.animatedElement.style[p.scriptName]?(m._site.animatedElement.style[p.scriptName]=a,m._site.animatedElementScaleTransform=m._site.animatedElement.style[p.scriptName]):m._site.animatedElementScaleTransform=""}function g(a,b){f("WinJS.UI._ItemEventsHandler:removePressedUI,info"),j.removeClass(a,l._pressedClass),e.isPhone?m._containsTransform(a,b)&&h.executeTransition(a,{property:p.cssName,delay:0,duration:500,timing:"cubic-bezier(0.7025,0,0.9225,-0.115)",to:a.style[p.scriptName].replace(b,"")}):m._removeTransform(a,b)}var m=this,n=this._site.pressedEntity.type===k.ObjectType.groupHeader;if(this._site.animatedDownPromise&&this._site.animatedDownPromise.cancel(),!(e.isPhone&&!n&&j.hasClass(this._site.pressedItemBox,l._nonSelectableClass)||this._staticMode(n)))if(a){if(!j.hasClass(this._site.animatedElement,l._pressedClass))if(f("WinJS.UI._ItemEventsHandler:applyPressedUI,info"),j.addClass(this._site.animatedElement,l._pressedClass),c&&e.isPhone){var q=n?m._site.pressedHeader:m._site.pressedContainer,r=o(c.clientX,c.clientY,q.getBoundingClientRect());this._site.animatedDownPromise=i.timeout(50).then(function(){d(r)})}else{var s=.975,t=7;this._site.getItemPosition(this._site.pressedEntity).then(function(a){a.contentWidth>0&&(s=Math.max(s,1-t/a.contentWidth)),a.contentHeight>0&&(s=Math.max(s,1-t/a.contentHeight))},function(){}),d("scale("+s+","+s+")")}}else if(j.hasClass(this._site.animatedElement,l._pressedClass)){var u=this._site.animatedElement,v=this._site.animatedElementScaleTransform;b?g(u,v):e._setImmediate(function(){j.hasClass(u,l._pressedClass)&&g(u,v)})}},_containsTransform:function(a,b){return b&&-1!==a.style[p.scriptName].indexOf(b)},_removeTransform:function(a,b){this._containsTransform(a,b)&&(a.style[p.scriptName]=a.style[p.scriptName].replace(b,""))},_endSwipeBehavior:function(){if((this._swipeBehaviorState===t.MS_MANIPULATION_STATE_PRESELECT||this._swipeBehaviorState===t.MS_MANIPULATION_STATE_SELECTING||this._swipeBehaviorState===t.MS_MANIPULATION_STATE_DRAGGING||this._swipeBehaviorState===t.MS_MANIPULATION_STATE_COMMITTED||this._swipeBehaviorState===t.MS_MANIPULATION_STATE_CANCELLED)&&this._site.pressedEntity.type!==k.ObjectType.groupHeader){this._flushUIBatches();var a=this._selectionHint;if(this._selectionHint=null,this._site.pressedItemBox){var b=this._site.pressedEntity.index,c=this._site.selection._isIncluded(b);if(c)for(var d=j._getElementsByClasses(this._site.pressedItemBox,[l._selectionCheckmarkClass,l._selectionCheckmarkBackgroundClass]),e=0;ei;i++)h[i].style.opacity=0}}})}},_clearItem:function(a,b){function c(a){var b=--e._swipeClassTracker[s(a)];return b?!1:(delete e._swipeClassTracker[s(a)],j.removeClass(a,l._swipeClass),!0)}function d(a){var b=a.parentNode;b&&j.hasClass(b,l._itemsBlockClass)&&c(b)}if(a.type===k.ObjectType.item){var e=this,f=this._site,g=f.containerAtIndex(a.index),h=f.itemBoxAtIndex(a.index),i=f.itemAtIndex(a.index);if(g&&h&&i){var m=c(g);d(g),m&&q.renderSelection(h,i,b,!0,g)}}},_animateSelectionChange:function(b,c){function d(){var c=b?"addClass":"removeClass";if(j[c](h,l._selectedClass),j[c](g,l._selectedClass),e._selectionHint){var d=a(e._selectionHint,l._selectionHintClass);d&&j[c](d,l._revealedClass)}}var e=this,g=this._site.pressedContainer,h=this._site.pressedItemBox;this._swipeBehaviorSelectionChanged=!0,this.swipeBehaviorSelected=b;var i=j._getElementsByClasses(this._site.pressedItemBox,[l._selectionBorderClass,l._selectionBackgroundClass]);(!b||c)&&(i=i.concat(j._getElementsByClasses(this._site.pressedItemBox,[l._selectionCheckmarkBackgroundClass,l._selectionCheckmarkClass]))),f("WinJS.UI._ItemEventsHandler:"+(b?"hitSelectThreshold":"hitUnselectThreshold")+",info"),this._applyUIInBatches(function(){f("WinJS.UI._ItemEventsHandler:"+(b?"apply":"remove")+"SelectionVisual,info");for(var a=b?1:0,c=0;c0?(c._flushUIBatches(),c._paintedThisFrame=e._requestAnimationFrame(b.bind(c))):c._paintedThisFrame=null}var c=this;this._work.push(a),this._paintedThisFrame||b()},_flushUIBatches:function(){if(this._work.length>0){var a=this._work;this._work=[];for(var b=0;bg;g++)a.appendChild(q._selectionTemplate[g].cloneNode(!0))}else for(var i=a.querySelectorAll(j._selectionPartsSelector),g=0,h=i.length;h>g;g++)a.removeChild(i[g]);j[c?"addClass":"removeClass"](a,l._selectedClass),e&&j[c?"addClass":"removeClass"](e,l._selectedClass)}d&&q.setAriaSelected(b,c)}});return q})})}),define("WinJS/Controls/ListView/_SelectionManager",["exports","../../Core/_Global","../../Core/_Base","../../Promise","../../_Signal","../../Utilities/_UI","../ItemContainer/_Constants"],function(a,b,c,d,e,f,g){"use strict";c.Namespace._moduleDefine(a,"WinJS.UI",{_ItemSet:c.Namespace._lazy(function(){var b=c.Class.define(function(a,b,c){this._listView=a,this._ranges=b,this._itemsCount=c});return b.prototype={getRanges:function(){for(var a=[],b=0,c=this._ranges.length;c>b;b++){var d=this._ranges[b];a.push({firstIndex:d.firstIndex,lastIndex:d.lastIndex,firstKey:d.firstKey,lastKey:d.lastKey})}return a},getItems:function(){return a.getItemsFromRanges(this._listView._itemsManager.dataSource,this._ranges)},isEverything:function(){return this.count()===this._itemsCount},count:function(){for(var a=0,b=0,c=this._ranges.length;c>b;b++){var d=this._ranges[b];a+=d.lastIndex-d.firstIndex+1}return a},getIndices:function(){for(var a=[],b=0,c=this._ranges.length;c>b;b++)for(var d=this._ranges[b],e=d.firstIndex;e<=d.lastIndex;e++)a.push(e);return a}},b}),getItemsFromRanges:function(a,b){function c(){for(var a=[],c=0,e=b.length;e>c;c++)for(var f=b[c],g=f.firstIndex;g<=f.lastIndex;g++)a.push(g);return d.wrap(a)}var e=a.createListBinding(),f=[];return c().then(function(a){for(var b=0;bj;j++){var l=h[j];"number"==typeof l?this[a](c("Index",l,l)):l&&(g&&void 0!==l.key?e(c("Key",l.key,l.key)):g&&void 0!==l.firstKey&&void 0!==l.lastKey?e(c("Key",l.firstKey,l.lastKey)):void 0!==l.index&&"number"==typeof l.index?this[a](c("Index",l.index,l.index)):void 0!==l.firstIndex&&void 0!==l.lastIndex&&"number"==typeof l.firstIndex&&"number"==typeof l.lastIndex&&this[a](c("Index",l.firstIndex,l.lastIndex)))}return d.join(i)},_set:function(a){this._retainRange(a),this._ranges.push(a)},_add:function(a){for(var b,c,d,e=this,f=null,g=function(a,b){b.lastIndex>a.lastIndex&&(a.lastIndex=b.lastIndex,a.lastKey=b.lastKey,a.lastPromise&&a.lastPromise.release(),a.lastPromise=e._getListBinding().fromIndex(a.lastIndex).retain())},h=0,i=this._ranges.length;i>h;h++){if(b=this._ranges[h],a.firstIndexh;h++){if(b=this._ranges[h],a.lastIndexa.lastIndex,d&&g(this._ranges[c],f),this._removeRanges(c+1,h-c-1);break}if(a.lastIndex===b.firstIndex){g(this._ranges[c],b),this._removeRanges(c+1,h-c);break}f=b}h>=i&&(g(this._ranges[c],this._ranges[i-1]),this._removeRanges(c+1,i-c-1))}},_remove:function(a){function b(a){return c._getListBinding().fromIndex(a).retain()}for(var c=this,d=[],e=0,f=this._ranges.length;f>e;e++){var g=this._ranges[e];g.lastIndexa.lastIndex?d.push(g):g.firstIndex=a.firstIndex&&g.lastIndex<=a.lastIndex?(d.push({firstIndex:g.firstIndex,firstKey:g.firstKey,firstPromise:g.firstPromise,lastIndex:a.firstIndex-1,lastPromise:b(a.firstIndex-1)}),g.lastPromise.release()):g.lastIndex>a.lastIndex&&g.firstIndex>=a.firstIndex&&g.firstIndex<=a.lastIndex?(d.push({firstIndex:a.lastIndex+1,firstPromise:b(a.lastIndex+1),lastIndex:g.lastIndex,lastKey:g.lastKey,lastPromise:g.lastPromise}),g.firstPromise.release()):g.firstIndexa.lastIndex?(d.push({firstIndex:g.firstIndex,firstKey:g.firstKey,firstPromise:g.firstPromise,lastIndex:a.firstIndex-1,lastPromise:b(a.firstIndex-1)}),d.push({firstIndex:a.lastIndex+1,firstPromise:b(a.lastIndex+1),lastIndex:g.lastIndex,lastKey:g.lastKey,lastPromise:g.lastPromise})):(g.firstPromise.release(),g.lastPromise.release())}this._ranges=d},_ensureKeys:function(){for(var a=[d.wrap()],b=this,c=function(a,b){var c=a+"Key";if(b[c])return d.wrap();var e=b[a+"Promise"];return e.then(function(a){a&&(b[c]=a.key)}),e},e=0,f=this._ranges.length;f>e;e++){var g=this._ranges[e];a.push(c("first",g)),a.push(c("last",g))}return d.join(a).then(function(){b._ranges=b._ranges.filter(function(a){return a.firstKey&&a.lastKey})}),d.join(a)},_mergeRanges:function(a,b){a.lastIndex=b.lastIndex,a.lastKey=b.lastKey},_isIncluded:function(a){if(this.isEverything())return!0;for(var b=0,c=this._ranges.length;c>b;b++){var d=this._ranges[b];if(d.firstIndex<=a&&a<=d.lastIndex)return!0}return!1},_ensureCount:function(){var a=this;return this._listView._itemsCount().then(function(b){a._itemsCount=b})},_insertRange:function(a,b){this._retainRange(b),this._ranges.splice(a,0,b)},_removeRanges:function(a,b){for(var c=0;b>c;c++)this._releaseRange(this._ranges[a+c]);this._ranges.splice(a,b)},_retainRange:function(a){a.firstPromise||(a.firstPromise=this._getListBinding().fromIndex(a.firstIndex).retain()),a.lastPromise||(a.lastPromise=this._getListBinding().fromIndex(a.lastIndex).retain())},_retainRanges:function(){for(var a=0,b=this._ranges.length;b>a;a++)this._retainRange(this._ranges[a])},_releaseRange:function(a){a.firstPromise.release(),a.lastPromise.release()},_releaseRanges:function(a){for(var b=0,c=a.length;c>b;++b)this._releaseRange(a[b])},_getListBinding:function(){return this._listView._itemsManager._listBinding}},{supportedForProcessing:!1})}),_SelectionManager:c.Namespace._lazy(function(){var c=function(b){this._listView=b,this._selected=new a._Selection(this._listView),this._pivot=g._INVALID_INDEX,this._focused={type:f.ObjectType.item,index:0},this._pendingChange=d.wrap()};return c.prototype={count:function(){return this._selected.count()},getIndices:function(){return this._selected.getIndices()},getItems:function(){return this._selected.getItems()},getRanges:function(){return this._selected.getRanges()},isEverything:function(){return this._selected.isEverything()},set:function(b){var c=this,f=new e;return this._synchronize(f).then(function(){var e=new a._Selection(c._listView);return e.set(b).then(function(){c._set(e),f.complete()},function(a){return e.clear(),f.complete(),d.wrapError(a)})})},clear:function(){var b=this,c=new e;return this._synchronize(c).then(function(){var e=new a._Selection(b._listView);return e.clear().then(function(){b._set(e),c.complete()},function(a){return e.clear(),c.complete(),d.wrapError(a)})})},add:function(a){var b=this,c=new e;return this._synchronize(c).then(function(){var e=b._cloneSelection();return e.add(a).then(function(){b._set(e),c.complete()},function(a){return e.clear(),c.complete(),d.wrapError(a)})})},remove:function(a){var b=this,c=new e;return this._synchronize(c).then(function(){var e=b._cloneSelection();return e.remove(a).then(function(){b._set(e),c.complete()},function(a){return e.clear(),c.complete(),d.wrapError(a)})})},selectAll:function(){var b=this,c=new e;return this._synchronize(c).then(function(){var e=new a._Selection(b._listView);return e.selectAll().then(function(){b._set(e),c.complete()},function(a){return e.clear(),c.complete(),d.wrapError(a)})})},_synchronize:function(a){var b=this;return this._listView._versionManager.unlocked.then(function(){var c=b._pendingChange;return b._pendingChange=d.join([c,a.promise]).then(function(){}),c})},_reset:function(){this._pivot=g._INVALID_INDEX,this._setFocused({type:f.ObjectType.item,index:0},this._keyboardFocused()),this._pendingChange.cancel(),this._pendingChange=d.wrap(),this._selected.clear(),this._selected=new a._Selection(this._listView)},_dispose:function(){this._selected.clear(),this._selected=null,this._listView=null},_set:function(a){var b=this;return this._fireSelectionChanging(a).then(function(c){return c?(b._selected.clear(),b._selected=a,b._listView._updateSelection(),b._fireSelectionChanged()):a.clear(),c})},_fireSelectionChanging:function(a){var c=b.document.createEvent("CustomEvent"),e=d.wrap();c.initCustomEvent("selectionchanging",!0,!0,{newSelection:a,preventTapBehavior:function(){},setPromise:function(a){e=a}});var f=this._listView._element.dispatchEvent(c);return e.then(function(){return f})},_fireSelectionChanged:function(){var a=b.document.createEvent("CustomEvent");a.initCustomEvent("selectionchanged",!0,!1,null),this._listView._element.dispatchEvent(a)},_getFocused:function(){return{type:this._focused.type,index:this._focused.index}},_setFocused:function(a,b){this._focused={type:a.type,index:a.index},this._focusedByKeyboard=b},_keyboardFocused:function(){return this._focusedByKeyboard},_updateCount:function(a){this._selected._itemsCount=a},_isIncluded:function(a){return this._selected._isIncluded(a)},_cloneSelection:function(){var b=new a._Selection(this._listView);return b._ranges=this._selected.getRanges(),b._itemsCount=this._selected._itemsCount,b._retainRanges(),b}},c.supportedForProcessing=!1,c})})}),define("WinJS/Controls/ListView/_BrowseMode",["exports","../../Core/_Global","../../Core/_Base","../../Core/_BaseUtils","../../Animations","../../Promise","../../Utilities/_ElementUtilities","../../Utilities/_UI","../ItemContainer/_Constants","../ItemContainer/_ItemEventsHandler","./_SelectionManager"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";var l=d._browserStyleEquivalents.transform.scriptName;c.Namespace._moduleDefine(a,"WinJS.UI",{_SelectionMode:c.Namespace._lazy(function(){function a(a,b,c){return Math.max(a,Math.min(b,c))}function e(a,c,d){var e=b.document.createEvent("CustomEvent");return e.initCustomEvent("keyboardnavigating",!0,!0,{oldFocus:c.index,oldFocusType:c.type,newFocus:d.index,newFocusType:d.type}),a.dispatchEvent(e)}var m=c.Class.define(function(a){this.inboundFocusHandled=!1,this._pressedContainer=null,this._pressedItemBox=null,this._pressedHeader=null,this._pressedEntity={type:h.ObjectType.item,index:i._INVALID_INDEX},this._pressedPosition=null,this.initialize(a)},{_dispose:function(){this._itemEventsHandler&&this._itemEventsHandler.dispose(),this._setNewFocusItemOffsetPromise&&this._setNewFocusItemOffsetPromise.cancel()},initialize:function(a){function b(b,c){var d=function(c){return a._view.getAdjacent(c,b)};return d.clampToBounds=c,d}this.site=a,this._keyboardNavigationHandlers={},this._keyboardAcceleratorHandlers={};var c=this.site,d=this;this._itemEventsHandler=new j._ItemEventsHandler(Object.create({containerFromElement:function(a){return c._view.items.containerFrom(a)},indexForItemElement:function(a){return c._view.items.index(a)},indexForHeaderElement:function(a){return c._groups.index(a)},itemBoxAtIndex:function(a){return c._view.items.itemBoxAt(a)},itemAtIndex:function(a){return c._view.items.itemAt(a)},headerAtIndex:function(a){return c._groups.group(a).header},headerFromElement:function(a){return c._groups.headerFrom(a)},containerAtIndex:function(a){return c._view.items.containerAt(a)},isZombie:function(){return c._isZombie()},getItemPosition:function(a){return c._getItemPosition(a)},rtl:function(){return c._rtl()},fireInvokeEvent:function(a,b){return d._fireInvokeEvent(a,b)},verifySelectionAllowed:function(a){return d._verifySelectionAllowed(a)},changeFocus:function(a,b,d,e,f){return c._changeFocus(a,b,d,e,f)},selectRange:function(a,b,c){return d._selectRange(a,b,c)}},{pressedEntity:{enumerable:!0,get:function(){return d._pressedEntity},set:function(a){d._pressedEntity=a}},pressedContainerScaleTransform:{enumerable:!0,get:function(){return d._pressedContainerScaleTransform},set:function(a){d._pressedContainerScaleTransform=a}},pressedContainer:{enumerable:!0,get:function(){return d._pressedContainer},set:function(a){d._pressedContainer=a}},pressedItemBox:{enumerable:!0,get:function(){return d._pressedItemBox},set:function(a){d._pressedItemBox=a}},pressedHeader:{enumerable:!0,get:function(){return d._pressedHeader},set:function(a){return d._pressedHeader=a}},pressedPosition:{enumerable:!0,get:function(){return d._pressedPosition},set:function(a){d._pressedPosition=a}},pressedElement:{enumerable:!0,set:function(a){d._pressedElement=a}},swipeBehavior:{enumerable:!0,get:function(){return c._swipeBehavior}},eventHandlerRoot:{enumerable:!0,get:function(){return c._viewport}},selectionMode:{enumerable:!0,get:function(){return c._selectionMode}},accessibleItemClass:{enumerable:!0,get:function(){return i._itemClass}},canvasProxy:{enumerable:!0,get:function(){return c._canvasProxy}},tapBehavior:{enumerable:!0,get:function(){return c._tap}},headerTapBehavior:{enumerable:!0,get:function(){return c._groupHeaderTap}},draggable:{enumerable:!0,get:function(){return c.itemsDraggable||c.itemsReorderable}},selection:{enumerable:!0,get:function(){return c._selection}},horizontal:{enumerable:!0,get:function(){return c._horizontal()}},customFootprintParent:{enumerable:!0,get:function(){return null}}}));var e=g.Key;this._keyboardNavigationHandlers[e.upArrow]=b(e.upArrow),this._keyboardNavigationHandlers[e.downArrow]=b(e.downArrow),this._keyboardNavigationHandlers[e.leftArrow]=b(e.leftArrow),this._keyboardNavigationHandlers[e.rightArrow]=b(e.rightArrow),this._keyboardNavigationHandlers[e.pageUp]=b(e.pageUp,!0),this._keyboardNavigationHandlers[e.pageDown]=b(e.pageDown,!0),this._keyboardNavigationHandlers[e.home]=function(a){return f.wrap({type:a.type,index:0})},this._keyboardNavigationHandlers[e.end]=function(a){return a.type===h.ObjectType.groupHeader?f.wrap({type:a.type,index:c._groups.length()-1}):d.site._view.finalItem().then(function(b){return{type:a.type,index:b}},function(a){return f.wrapError(a)})},this._keyboardAcceleratorHandlers[e.a]=function(){d.site._multiSelection()&&d._selectAll()}},staticMode:function(){return this.site._tap===h.TapBehavior.none&&this.site._selectionMode===h.SelectionMode.none},itemUnrealized:function(a,b){if(this._pressedEntity.type!==h.ObjectType.groupHeader&&(this._pressedEntity.index===a&&this._resetPointerDownState(),this._itemBeingDragged(a)))for(var c=this._draggedItemBoxes.length-1;c>=0;c--)this._draggedItemBoxes[c]===b&&(g.removeClass(b,i._dragSourceClass),this._draggedItemBoxes.splice(c,1))},_fireInvokeEvent:function(a,c){function d(d,f){var g=d.createListBinding(),h=g.fromIndex(a.index),i=f?"groupheaderinvoked":"iteminvoked";h.done(function(){g.release()});var j=b.document.createEvent("CustomEvent");j.initCustomEvent(i,!0,!0,f?{groupHeaderPromise:h,groupHeaderIndex:a.index}:{itemPromise:h,itemIndex:a.index}),c.dispatchEvent(j)&&e.site._defaultInvoke(a)}if(c){var e=this;a.type===h.ObjectType.groupHeader?this.site._groupHeaderTap===h.GroupHeaderTapBehavior.invoke&&a.index!==i._INVALID_INDEX&&d(this.site.groupDataSource,!0):this.site._tap!==h.TapBehavior.none&&a.index!==i._INVALID_INDEX&&d(this.site.itemDataSource,!1)}},_verifySelectionAllowed:function(a){if(a.type===h.ObjectType.groupHeader)return{canSelect:!1,canTapSelect:!1};var c=a.index,d=this.site,e=this.site._view.items.itemAt(c);if(!d._selectionAllowed()||!d._selectOnTap()&&d._swipeBehavior!==h.SwipeBehavior.select||e&&g.hasClass(e,i._nonSelectableClass))return{canSelect:!1,canTapSelect:!1};var j=d._selection._isIncluded(c),k=!d._multiSelection(),l=d._selection._cloneSelection();j?k?l.clear():l.remove(c):k?l.set(c):l.add(c);var m,n=b.document.createEvent("CustomEvent"),o=f.wrap(),p=!1,q=!1;n.initCustomEvent("selectionchanging",!0,!0,{newSelection:l,preventTapBehavior:function(){q=!0},setPromise:function(a){o=a}});var r=d._element.dispatchEvent(n);o.then(function(){p=!0,m=l._isIncluded(c),l.clear()});var s=r&&p&&(j||m);return{canSelect:s,canTapSelect:s&&!q}},_containedInElementWithClass:function(a,b){if(a.parentNode)for(var c=a.parentNode.querySelectorAll("."+b+", ."+b+" *"),d=0,e=c.length;e>d;d++)if(c[d]===a)return!0;return!1},_isDraggable:function(a){return!this._containedInElementWithClass(a,i._nonDraggableClass)},_isInteractive:function(a){return this._containedInElementWithClass(a,"win-interactive")},_resetPointerDownState:function(){this._itemEventsHandler.resetPointerDownState()},onMSManipulationStateChanged:function(a){this._itemEventsHandler.onMSManipulationStateChanged(a)},onPointerDown:function(a){this._itemEventsHandler.onPointerDown(a)},onclick:function(a){this._itemEventsHandler.onClick(a)},onPointerUp:function(a){this._itemEventsHandler.onPointerUp(a)},onPointerCancel:function(a){this._itemEventsHandler.onPointerCancel(a)},onLostPointerCapture:function(a){this._itemEventsHandler.onLostPointerCapture(a)},onContextMenu:function(a){this._itemEventsHandler.onContextMenu(a)},onMSHoldVisual:function(a){this._itemEventsHandler.onMSHoldVisual(a)},onDataChanged:function(a){this._itemEventsHandler.onDataChanged(a)},_removeTransform:function(a,b){b&&-1!==a.style[l].indexOf(b)&&(a.style[l]=a.style[l].replace(b,""))},_selectAll:function(){var a=[];this.site._view.items.each(function(b,c){c&&g.hasClass(c,i._nonSelectableClass)&&a.push(b)}),this.site._selection.selectAll(),a.length>0&&this.site._selection.remove(a)},_selectRange:function(a,b,c){for(var d=[],e=-1,f=a;b>=f;f++){var h=this.site._view.items.itemAt(f);h&&g.hasClass(h,i._nonSelectableClass)?-1!==e&&(d.push({firstIndex:e,lastIndex:f-1}),e=-1):-1===e&&(e=f)}-1!==e&&d.push({firstIndex:e,lastIndex:b}),d.length>0&&this.site._selection[c?"add":"set"](d)},onDragStart:function(a){if(this._pressedEntity={type:h.ObjectType.item,index:this.site._view.items.index(a.target)},this.site._selection._pivot=i._INVALID_INDEX,this._pressedEntity.index===i._INVALID_INDEX||!this.site.itemsDraggable&&!this.site.itemsReorderable||this.site._view.animating||!this._isDraggable(a.target)||this._pressedElement&&this._isInteractive(this._pressedElement))a.preventDefault();else{this._dragging=!0,this._dragDataTransfer=a.dataTransfer,this._pressedPosition=g._getCursorPos(a),this._dragInfo=null,this._lastEnteredElement=a.target,this.site._selection._isIncluded(this._pressedEntity.index)?this._dragInfo=this.site.selection:(this._draggingUnselectedItem=!0,this._dragInfo=new k._Selection(this.site,[{firstIndex:this._pressedEntity.index,lastIndex:this._pressedEntity.index}]));var c=this.site.itemsReorderable,e=b.document.createEvent("CustomEvent");if(e.initCustomEvent("itemdragstart",!0,!1,{dataTransfer:a.dataTransfer,dragInfo:this._dragInfo}),a.dataTransfer.setData("text",""),a.dataTransfer.setDragImage){var f=this.site._view.items.itemDataAt(this._pressedEntity.index);if(f&&f.container){var j=f.container.getBoundingClientRect();a.dataTransfer.setDragImage(f.container,a.clientX-j.left,a.clientY-j.top)}}this.site.element.dispatchEvent(e),this.site.itemsDraggable&&!this.site.itemsReorderable&&(this._firedDragEnter||this._fireDragEnterEvent(a.dataTransfer)&&(c=!0,this._dragUnderstood=!0)),c&&(this._addedDragOverClass=!0,g.addClass(this.site._element,i._dragOverClass)),this._draggedItemBoxes=[];var l=this,m=a.target;m.addEventListener("dragend",function n(a){m.removeEventListener("dragend",n),l.onDragEnd(a)}),d._yieldForDomModification(function(){if(l._dragging)for(var a=l._dragInfo.getIndices(),b=0,c=a.length;c>b;b++){var d=l.site._view.items.itemDataAt(a[b]);d&&d.itemBox&&l._addDragSourceClass(d.itemBox)}})}},onDragEnter:function(a){var c=this._dragUnderstood;this._lastEnteredElement=a.target,this._exitEventTimer&&(b.clearTimeout(this._exitEventTimer),this._exitEventTimer=0),this._firedDragEnter||this._fireDragEnterEvent(a.dataTransfer)&&(c=!0),(c||this._dragging&&this.site.itemsReorderable)&&(a.preventDefault(),this._dragUnderstood=!0,this._addedDragOverClass||(this._addedDragOverClass=!0,g.addClass(this.site._element,i._dragOverClass))),this._pointerLeftRegion=!1},onDragLeave:function(a){a.target===this._lastEnteredElement&&(this._pointerLeftRegion=!0,this._handleExitEvent())},fireDragUpdateEvent:function(){var a=b.document.createEvent("CustomEvent");a.initCustomEvent("itemdragchanged",!0,!1,{dataTransfer:this._dragDataTransfer,dragInfo:this._dragInfo}),this.site.element.dispatchEvent(a)},_fireDragEnterEvent:function(a){var c=b.document.createEvent("CustomEvent");c.initCustomEvent("itemdragenter",!0,!0,{dataTransfer:a});var d=!this.site.element.dispatchEvent(c);return this._firedDragEnter=!0,d},_fireDragBetweenEvent:function(a,c,d){var e=b.document.createEvent("CustomEvent");return e.initCustomEvent("itemdragbetween",!0,!0,{index:a,insertAfterIndex:c,dataTransfer:d}),this.site.element.dispatchEvent(e)},_fireDropEvent:function(a,c,d){var e=b.document.createEvent("CustomEvent");return e.initCustomEvent("itemdragdrop",!0,!0,{index:a,insertAfterIndex:c,dataTransfer:d}),this.site.element.dispatchEvent(e)},_handleExitEvent:function(){this._exitEventTimer&&(b.clearTimeout(this._exitEventTimer),this._exitEventTimer=0);var a=this;this._exitEventTimer=b.setTimeout(function(){if(!a.site._disposed&&a._pointerLeftRegion){if(a.site._layout.dragLeave&&a.site._layout.dragLeave(),a._pointerLeftRegion=!1,a._dragUnderstood=!1,a._lastEnteredElement=null,a._lastInsertPoint=null,a._dragBetweenDisabled=!1,a._firedDragEnter){var c=b.document.createEvent("CustomEvent");c.initCustomEvent("itemdragleave",!0,!1,{}),a.site.element.dispatchEvent(c),a._firedDragEnter=!1}a._addedDragOverClass&&(a._addedDragOverClass=!1,g.removeClass(a.site._element,i._dragOverClass)),a._exitEventTimer=0,a._stopAutoScroll()}},40)},_getEventPositionInElementSpace:function(a,c){var d={left:0,top:0};try{d=a.getBoundingClientRect()}catch(e){}var f=b.getComputedStyle(a,null),g=parseInt(f.paddingLeft),h=parseInt(f.paddingTop),i=parseInt(f.borderLeftWidth),j=parseInt(f.borderTopWidth),k=c.clientX,l=c.clientY,m={x:+k===k?k-d.left-g-i:0,y:+l===l?l-d.top-h-j:0};return this.site._rtl()&&(m.x=d.right-d.left-m.x),m},_getPositionInCanvasSpace:function(a){var b=this.site._horizontal()?this.site.scrollPosition:0,c=this.site._horizontal()?0:this.site.scrollPosition,d=this._getEventPositionInElementSpace(this.site.element,a);return{x:d.x+b,y:d.y+c}},_itemBeingDragged:function(a){return this._dragging?this._draggingUnselectedItem&&this._dragInfo._isIncluded(a)||!this._draggingUnselectedItem&&this.site._isSelected(a):!1},_addDragSourceClass:function(a){this._draggedItemBoxes.push(a),g.addClass(a,i._dragSourceClass),a.parentNode&&g.addClass(a.parentNode,i._footprintClass)},renderDragSourceOnRealizedItem:function(a,b){this._itemBeingDragged(a)&&this._addDragSourceClass(b)},onDragOver:function(b){if(this._dragUnderstood){this._pointerLeftRegion=!1,b.preventDefault();var c=this._getPositionInCanvasSpace(b),d=this._getEventPositionInElementSpace(this.site.element,b);if(this._checkAutoScroll(d.x,d.y),this.site._layout.hitTest)if(this._autoScrollFrame)this._lastInsertPoint&&(this.site._layout.dragLeave(),this._lastInsertPoint=null);else{var e=this.site._view.hitTest(c.x,c.y);e.insertAfterIndex=a(-1,this.site._cachedCount-1,e.insertAfterIndex),this._lastInsertPoint&&this._lastInsertPoint.insertAfterIndex===e.insertAfterIndex&&this._lastInsertPoint.index===e.index||(this._dragBetweenDisabled=!this._fireDragBetweenEvent(e.index,e.insertAfterIndex,b.dataTransfer),this._dragBetweenDisabled?this.site._layout.dragLeave():this.site._layout.dragOver(c.x,c.y,this._dragInfo)),this._lastInsertPoint=e}}},_clearDragProperties:function(){if(this._addedDragOverClass&&(this._addedDragOverClass=!1,g.removeClass(this.site._element,i._dragOverClass)),this._draggedItemBoxes){for(var a=0,b=this._draggedItemBoxes.length;b>a;a++)g.removeClass(this._draggedItemBoxes[a],i._dragSourceClass),this._draggedItemBoxes[a].parentNode&&g.removeClass(this._draggedItemBoxes[a].parentNode,i._footprintClass);this._draggedItemBoxes=[]}this.site._layout.dragLeave(),this._dragging=!1,this._dragInfo=null,this._draggingUnselectedItem=!1,this._dragDataTransfer=null,this._lastInsertPoint=null,this._resetPointerDownState(),this._lastEnteredElement=null,this._dragBetweenDisabled=!1,this._firedDragEnter=!1,this._dragUnderstood=!1,this._stopAutoScroll() -},onDragEnd:function(){var a=b.document.createEvent("CustomEvent");a.initCustomEvent("itemdragend",!0,!1,{}),this.site.element.dispatchEvent(a),this._clearDragProperties()},_findFirstAvailableInsertPoint:function(a,b,c){for(var d=a.getIndices(),e=-1,f=this.site._cachedCount,g=d.length,h=-1,i=b,j=0;g>j;j++)if(d[j]===i){e=j,h=j;break}for(;e>=0&&i>=0;)c?(i++,g>e&&d[e+1]===i&&f>i?e++:i>=f?(c=!1,i=b,e=h):e=-1):(i--,e>0&&d[e-1]===i?e--:e=-1);return i},_reorderItems:function(a,b,c,d,e){var f=this.site,g=function(a){c?f._selection.remove({key:a[0].key}):f._selection.set({firstKey:a[0].key,lastKey:a[a.length-1].key}),e&&f.ensureVisible(f._selection._getFocused())};b.getItems().then(function(b){var c=f.itemDataSource;if(-1===a){c.beginEdits();for(var e=b.length-1;e>=0;e--)c.moveToStart(b[e].key);c.endEdits(),g(b)}else{var h=c.createListBinding();h.fromIndex(a).then(function(a){if(h.release(),c.beginEdits(),d)for(var e=0,f=b.length;f>e;e++)c.moveBefore(b[e].key,a.key);else for(var e=b.length-1;e>=0;e--)c.moveAfter(b[e].key,a.key);c.endEdits(),g(b)})}})},onDrop:function(b){if(this._draggedItemBoxes)for(var c=0,d=this._draggedItemBoxes.length;d>c;c++)this._draggedItemBoxes[c].parentNode&&g.removeClass(this._draggedItemBoxes[c].parentNode,i._footprintClass);if(!this._dragBetweenDisabled){var e=this._getPositionInCanvasSpace(b),f=this.site._view.hitTest(e.x,e.y),h=a(-1,this.site._cachedCount-1,f.insertAfterIndex),j=!0;if(this._lastInsertPoint&&this._lastInsertPoint.insertAfterIndex===h&&this._lastInsertPoint.index===f.index||(j=this._fireDragBetweenEvent(f.index,h,b.dataTransfer)),j&&(this._lastInsertPoint=null,this.site._layout.dragLeave(),this._fireDropEvent(f.index,h,b.dataTransfer)&&this._dragging&&this.site.itemsReorderable)){if(this._dragInfo.isEverything()||this.site._groupsEnabled())return;h=this._findFirstAvailableInsertPoint(this._dragInfo,h,!1),this._reorderItems(h,this._dragInfo,this._draggingUnselectedItem)}}this._clearDragProperties(),b.preventDefault()},_checkAutoScroll:function(a,c){var e=this.site._getViewportLength(),f=this.site._horizontal(),h=f?a:c,j=this.site._viewport[f?"scrollWidth":"scrollHeight"],k=Math.floor(this.site.scrollPosition),l=0;if(he-i._AUTOSCROLL_THRESHOLD&&(l=h-(e-i._AUTOSCROLL_THRESHOLD)),l=Math.round(l/i._AUTOSCROLL_THRESHOLD*(i._MAX_AUTOSCROLL_RATE-i._MIN_AUTOSCROLL_RATE)),(0===k&&0>l||k>=j-e&&l>0)&&(l=0),0===l)this._autoScrollDelay&&(b.clearTimeout(this._autoScrollDelay),this._autoScrollDelay=0);else if(!this._autoScrollDelay&&!this._autoScrollFrame){var m=this;this._autoScrollDelay=b.setTimeout(function(){if(m._autoScrollRate){m._lastDragTimeout=d._now();var a=function(){if(!m._autoScrollRate&&m._autoScrollFrame||m.site._disposed)m._stopAutoScroll();else{var b=d._now(),c=m._autoScrollRate*((b-m._lastDragTimeout)/1e3);c=0>c?Math.min(-1,c):Math.max(1,c);var e={};e[m.site._scrollProperty]=m.site._viewportScrollPosition+c,g.setScrollPosition(m.site._viewport,e),m._lastDragTimeout=b,m._autoScrollFrame=d._requestAnimationFrame(a)}};m._autoScrollFrame=d._requestAnimationFrame(a)}},i._AUTOSCROLL_DELAY)}this._autoScrollRate=l},_stopAutoScroll:function(){this._autoScrollDelay&&(b.clearTimeout(this._autoScrollDelay),this._autoScrollDelay=0),this._autoScrollRate=0,this._autoScrollFrame=0},onKeyDown:function(a){function b(a,b,g){function j(j){var k=!0,l=!1;if(g?a.index=Math.max(0,Math.min(j,a.index)):(a.index<0||a.index>j)&&(l=!0),!l&&(m.index!==a.index||m.type!==a.type)){var n=e(d._element,m,a);n&&(k=!1,c._setNewFocusItemOffsetPromise&&c._setNewFocusItemOffsetPromise.cancel(),d._batchViewUpdates(i._ViewChange.realize,i._ScrollToPriority.high,function(){return c._setNewFocusItemOffsetPromise=d._getItemOffset(m,!0).then(function(e){e=d._convertFromCanvasCoordinates(e);var g=e.end<=d.scrollPosition||e.begin>=d.scrollPosition+d._getViewportLength()-1;return c._setNewFocusItemOffsetPromise=d._getItemOffset(a).then(function(e){c._setNewFocusItemOffsetPromise=null;var h={position:d.scrollPosition,direction:"right"};return g&&(d._selection._setFocused(a,!0),e=d._convertFromCanvasCoordinates(e),a.index>m.index?(h.direction="right",h.position=e.end-d._getViewportLength()):(h.direction="left",h.position=e.begin)),d._changeFocus(a,b,o,g,!0),g?h:f.cancel},function(c){return d._changeFocus(a,b,o,!0,!0),f.wrapError(c)}),c._setNewFocusItemOffsetPromise},function(c){return d._changeFocus(a,b,o,!0,!0),f.wrapError(c)}),c._setNewFocusItemOffsetPromise},!0))}return k&&(d._selection._setFocused(m,!0),d.ensureVisible(m)),l?{type:h.ObjectType.item,index:i._INVALID_INDEX}:a}return a.type!==h.ObjectType.groupHeader?l.finalItem().then(j):f.wrap(d._groups.length()-1).then(j)}var c=this,d=this.site,j=d._swipeBehavior===h.SwipeBehavior.select,l=d._view,m=d._selection._getFocused(),n=!0,o=a.ctrlKey,p=g.Key,q=a.keyCode,r=d._rtl();if(!this._isInteractive(a.target)){if(a.ctrlKey&&!a.altKey&&!a.shiftKey&&this._keyboardAcceleratorHandlers[q]&&this._keyboardAcceleratorHandlers[q](),d.itemsReorderable&&!a.ctrlKey&&a.altKey&&a.shiftKey&&m.type===h.ObjectType.item&&(q===p.leftArrow||q===p.rightArrow||q===p.upArrow||q===p.downArrow)){var s=d._selection,t=m.index,u=!1,v=!0;if(!s.isEverything()){if(!s._isIncluded(t)){var w=d._view.items.itemAt(t);w&&g.hasClass(w,i._nonDraggableClass)?v=!1:(u=!0,s=new k._Selection(this.site,[{firstIndex:t,lastIndex:t}]))}if(v){var x=t;q===p.rightArrow?x+=r?-1:1:q===p.leftArrow?x+=r?1:-1:q===p.upArrow?x--:x++;var y=x>t,z=y;y&&x>=this.site._cachedCount&&(z=!1,x=this.site._cachedCount-1),x=this._findFirstAvailableInsertPoint(s,x,z),x=Math.min(Math.max(-1,x),this.site._cachedCount-1);var A=x-(y||-1===x?0:1),B=x,C=this.site._groupsEnabled();if(C){var D=this.site._groups,E=x>-1?D.groupFromItem(x):0;y?D.group(E).startIndex===x&&A--:E0?(d._selection._pivot=i._INVALID_INDEX,d._selection.clear()):n=!1;else{var F=m.type===h.ObjectType.groupHeader?d._groups.group(m.index).header:d._view.items.itemBoxAt(m.index);if(F){m.type===h.ObjectType.groupHeader?(this._pressedHeader=F,this._pressedItemBox=null,this._pressedContainer=null):(this._pressedItemBox=F,this._pressedContainer=d._view.items.containerAt(m.index),this._pressedHeader=null);var G=this._verifySelectionAllowed(m);G.canTapSelect&&this._itemEventsHandler.handleTap(m),this._fireInvokeEvent(m,F)}}this._keyDownHandled=n,n&&(a.stopPropagation(),a.preventDefault())}q===p.tab&&(this.site._keyboardFocusInbound=!0)},onKeyUp:function(a){this._keyDownHandled&&(a.stopPropagation(),a.preventDefault())},onTabEntered:function(a){if(0!==this.site._groups.length()){var b=this.site,c=b._selection._getFocused(),d=a.detail,f=!b._hasKeyboardFocus||a.target===b._viewport;if(f)if(this.inboundFocusHandled=!0,c.index=c.index===i._INVALID_INDEX?0:c.index,d||!this.site._supportsGroupHeaderKeyboarding){var g={type:h.ObjectType.item};c.type===h.ObjectType.groupHeader?(g.index=b._groupFocusCache.getIndexForGroup(c.index),e(b._element,c,g)?b._changeFocus(g,!0,!1,!1,!0):b._changeFocus(c,!0,!1,!1,!0)):(g.index=c.index,b._changeFocus(g,!0,!1,!1,!0)),a.preventDefault()}else{var g={type:h.ObjectType.groupHeader};c.type!==h.ObjectType.groupHeader?(g.index=b._groups.groupFromItem(c.index),e(b._element,c,g)?b._changeFocus(g,!0,!1,!1,!0):b._changeFocus(c,!0,!1,!1,!0)):(g.index=c.index,b._changeFocus(g,!0,!1,!1,!0)),a.preventDefault()}}},onTabExiting:function(a){if(this.site._supportsGroupHeaderKeyboarding&&0!==this.site._groups.length()){var b=this.site,c=b._selection._getFocused(),d=a.detail;if(d&&c.type!==h.ObjectType.groupHeader){var f={type:h.ObjectType.groupHeader,index:b._groups.groupFromItem(c.index)};e(b._element,c,f)&&(b._changeFocus(f,!0,!1,!1,!0),a.preventDefault())}else if(!d&&c.type===h.ObjectType.groupHeader){var f={type:h.ObjectType.item,index:b._groupFocusCache.getIndexForGroup(c.index)};e(b._element,c,f)&&(b._changeFocus(f,!0,!1,!1,!0),a.preventDefault())}}}});return m})})}),define("WinJS/Controls/ListView/_ErrorMessages",["exports","../../Core/_Base","../../Core/_Resources"],function(a,b){"use strict";b.Namespace._moduleDefine(a,null,{modeIsInvalid:{get:function(){return"Invalid argument: mode must be one of following values: 'none', 'single' or 'multi'."}},loadingBehaviorIsDeprecated:{get:function(){return"Invalid configuration: loadingBehavior is deprecated. The control will default this property to 'randomAccess'. Please refer to the 'ListView loading behaviors' SDK Sample for guidance on how to implement incremental load behavior."}},pagesToLoadIsDeprecated:{get:function(){return"Invalid configuration: pagesToLoad is deprecated. The control will not use this property. Please refer to the 'ListView loading behaviors' SDK Sample for guidance on how to implement incremental load behavior."}},pagesToLoadThresholdIsDeprecated:{get:function(){return"Invalid configuration: pagesToLoadThreshold is deprecated. The control will not use this property. Please refer to the 'ListView loading behaviors' SDK Sample for guidance on how to implement incremental load behavior."}},automaticallyLoadPagesIsDeprecated:{get:function(){return"Invalid configuration: automaticallyLoadPages is deprecated. The control will default this property to false. Please refer to the 'ListView loading behaviors' SDK Sample for guidance on how to implement incremental load behavior."}},invalidTemplate:{get:function(){return"Invalid template: Templates must be created before being passed to the ListView, and must contain a valid tree of elements."}},loadMorePagesIsDeprecated:{get:function(){return"loadMorePages is deprecated. Invoking this function will not have any effect. Please refer to the 'ListView loading behaviors' SDK Sample for guidance on how to implement incremental load behavior."}},disableBackdropIsDeprecated:{get:function(){return"Invalid configuration: disableBackdrop is deprecated. Style: .win-listview .win-container.win-backdrop { background-color:transparent; } instead."}},backdropColorIsDeprecated:{get:function(){return"Invalid configuration: backdropColor is deprecated. Style: .win-listview .win-container.win-backdrop { rgba(155,155,155,0.23); } instead."}},itemInfoIsDeprecated:{get:function(){return"GridLayout.itemInfo may be altered or unavailable in future versions. Instead, use CellSpanningLayout."}},groupInfoIsDeprecated:{get:function(){return"GridLayout.groupInfo may be altered or unavailable in future versions. Instead, use CellSpanningLayout."}},resetItemIsDeprecated:{get:function(){return"resetItem may be altered or unavailable in future versions. Instead, mark the element as disposable using WinJS.Utilities.markDisposable."}},resetGroupHeaderIsDeprecated:{get:function(){return"resetGroupHeader may be altered or unavailable in future versions. Instead, mark the header element as disposable using WinJS.Utilities.markDisposable."}},maxRowsIsDeprecated:{get:function(){return"GridLayout.maxRows may be altered or unavailable in future versions. Instead, use the maximumRowsOrColumns property."}}})}),define("WinJS/Controls/ListView/_GroupFocusCache",["exports","../../Core/_Base"],function(a,b){"use strict";b.Namespace._moduleDefine(a,"WinJS.UI",{_GroupFocusCache:b.Namespace._lazy(function(){return b.Class.define(function(a){this._listView=a,this.clear()},{updateCache:function(a,b,c){c=""+c,this._itemToIndex[b]=c,this._groupToItem[a]=b},deleteItem:function(a){if(this._itemToIndex[a])for(var b=this,c=Object.keys(this._groupToItem),d=0,e=c.length;e>d;d++){var f=c[d];if(b._groupToItem[f]===a){b.deleteGroup(f);break}}},deleteGroup:function(a){var b=this._groupToItem[a];b&&delete this._itemToIndex[b],delete this._groupToItem[a]},updateItemIndex:function(a,b){this._itemToIndex[a]&&(this._itemToIndex[a]=""+b)},getIndexForGroup:function(a){var b=this._listView._groups.group(a).key,c=this._groupToItem[b];return c&&this._itemToIndex[c]?+this._itemToIndex[c]:this._listView._groups.fromKey(b).group.startIndex},clear:function(){this._groupToItem={},this._itemToIndex={}}})}),_UnsupportedGroupFocusCache:b.Namespace._lazy(function(){return b.Class.define(null,{updateCache:function(){},deleteItem:function(){},deleteGroup:function(){},updateItemIndex:function(){},getIndexForGroup:function(){return 0},clear:function(){}})})})}),define("WinJS/Controls/ListView/_GroupsContainer",["exports","../../Core/_Base","../../Promise","../../Utilities/_Dispose","../../Utilities/_ElementUtilities","../../Utilities/_ItemsManager","../../Utilities/_UI","../ItemContainer/_Constants"],function(a,b,c,d,e,f,g,h){"use strict";b.Namespace._moduleDefine(a,"WinJS.UI",{_GroupsContainerBase:b.Namespace._lazy(function(){return b.Class.define(function(){},{index:function(a){var b=this.headerFrom(a);if(b)for(var c=0,d=this.groups.length;d>c;c++)if(b===this.groups[c].header)return c;return h._INVALID_INDEX},headerFrom:function(a){for(;a&&!e.hasClass(a,h._headerClass);)a=a.parentNode;return a},requestHeader:function(a){this._waitingHeaderRequests=this._waitingHeaderRequests||{},this._waitingHeaderRequests[a]||(this._waitingHeaderRequests[a]=[]);var b=this;return new c(function(c){var d=b.groups[a];d&&d.header?c(d.header):b._waitingHeaderRequests[a].push(c)})},notify:function(a,b){if(this._waitingHeaderRequests&&this._waitingHeaderRequests[a]){for(var c=this._waitingHeaderRequests[a],d=0,e=c.length;e>d;d++)c[d](b);this._waitingHeaderRequests[a]=[]}},groupFromImpl:function(a,b,c){if(a>b)return null;var d=a+Math.floor((b-a)/2),e=this.groups[d];return c(e,d)?this.groupFromImpl(a,d-1,c):b>d&&!c(this.groups[d+1],d+1)?this.groupFromImpl(d+1,b,c):d},groupFrom:function(a){if(this.groups.length>0){var b=this.groups.length-1,c=this.groups[b];return a(c,b)?this.groupFromImpl(0,this.groups.length-1,a):b}return null},groupFromItem:function(a){return this.groupFrom(function(b){return aa;a++){var c=this.groups[a];c.userData&&this.listBinding.releaseItem(c.userData)}this.listBinding.release()}},_dispose:function(){this.cleanUp()},synchronizeGroups:function(){var a=this;return this.pendingChanges=[],this.ignoreChanges=!0,this.groupDataSource.invalidateAll().then(function(){return c.join(a.pendingChanges)}).then(function(){return a._listView._ifZombieDispose()?c.cancel:void 0}).then(function(){a.ignoreChanges=!1},function(b){return a.ignoreChanges=!1,c.wrapError(b)})},fromKey:function(a){for(var b=0,c=this.groups.length;c>b;b++){var d=this.groups[b];if(d.key===a)return{group:d,index:b}}return null},fromHandle:function(a){for(var b=0,c=this.groups.length;c>b;b++){var d=this.groups[b];if(d.handle===a)return{group:d,index:b}}return null}})}),_UnvirtualizedGroupsContainer:b.Namespace._lazy(function(){return b.Class.derive(a._GroupsContainerBase,function(a,b){this._listView=a,this.groupDataSource=b,this.groups=[],this.pendingChanges=[],this.dirty=!0;var c=this,f={beginNotifications:function(){c._listView._versionManager.beginNotifications()},endNotifications:function(){c._listView._versionManager.endNotifications(),c._listView._ifZombieDispose()||!c.ignoreChanges&&c._listView._groupsChanged&&c._listView._scheduleUpdate()},indexChanged:function(){c._listView._versionManager.receivedNotification(),c._listView._ifZombieDispose()||this.scheduleUpdate()},itemAvailable:function(){},countChanged:function(a){c._listView._versionManager.receivedNotification(),c._listView._writeProfilerMark("groupCountChanged("+a+"),info"),c._listView._ifZombieDispose()||this.scheduleUpdate()},changed:function(a){if(c._listView._versionManager.receivedNotification(),!c._listView._ifZombieDispose()){var b=c.fromKey(a.key);b&&(c._listView._writeProfilerMark("groupChanged("+b.index+"),info"),b.group.userData=a,b.group.startIndex=a.firstItemIndexHint,this.markToRemove(b.group)),this.scheduleUpdate()}},removed:function(a){if(c._listView._versionManager.receivedNotification(),c._listView._groupRemoved(a),!c._listView._ifZombieDispose()){var b=c.fromHandle(a);if(b){c._listView._writeProfilerMark("groupRemoved("+b.index+"),info"),c.groups.splice(b.index,1);var d=c.groups.indexOf(b.group,b.index);d>-1&&c.groups.splice(d,1),this.markToRemove(b.group)}this.scheduleUpdate()}},inserted:function(a,b,d){if(c._listView._versionManager.receivedNotification(),!c._listView._ifZombieDispose()){c._listView._writeProfilerMark("groupInserted,info");var e=this;a.retain().then(function(f){var g;if(g=b||d||c.groups.length?e.findIndex(b,d):0,-1!==g){var h={key:f.key,startIndex:f.firstItemIndexHint,userData:f,handle:a.handle};c.groups.splice(g,0,h)}e.scheduleUpdate()}),c.pendingChanges.push(a)}},moved:function(a,b,d){if(c._listView._versionManager.receivedNotification(),!c._listView._ifZombieDispose()){c._listView._writeProfilerMark("groupMoved,info");var e=this;a.then(function(f){var g=e.findIndex(b,d),h=c.fromKey(f.key);if(h)c.groups.splice(h.index,1),-1!==g&&(h.indexe;e++)d.push(a.listBinding.fromIndex(e).retain());return c.join(d)}).then(function(b){a.groups=[];for(var c=0,d=b.length;d>c;c++){var e=b[c];a.groups.push({key:e.key,startIndex:e.firstItemIndexHint,handle:e.handle,userData:e})}a._listView._writeProfilerMark("GroupsContainer_initialize groups("+b.length+"),info"),a._listView._writeProfilerMark("GroupsContainer_initialize,StopTM")},function(b){return a._listView._writeProfilerMark("GroupsContainer_initialize,StopTM"),c.wrapError(b)}),this.initializePromise},renderGroup:function(a){if(this._listView.groupHeaderTemplate){var b=this.groups[a];return c.wrap(this._listView._groupHeaderRenderer(c.wrap(b.userData))).then(f._normalizeRendererReturn)}return c.wrap(null)},setDomElement:function(a,b){this.groups[a].header=b,this.notify(a,b)},removeElements:function(){for(var a=this._listView._groupsToRemove||{},b=Object.keys(a),c=!1,e=this._listView._selection._getFocused(),f=0,h=b.length;h>f;f++){var i=a[b[f]],j=i.header,k=i.group;if(c||e.type!==g.ObjectType.groupHeader||k.userData.index!==e.index||(this._listView._unsetFocusOnItem(),c=!0),j){var l=j.parentNode;l&&(d._disposeElement(j),l.removeChild(j))}}c&&this._listView._setFocusOnItem(e),this._listView._groupsToRemove={}},resetGroups:function(){for(var a=this.groups.slice(0),b=0,c=a.length;c>b;b++){var d=a[b];this.listBinding&&d.userData&&this.listBinding.releaseItem(d.userData)}this.groups.length=0,this.dirty=!0}})}),_NoGroups:b.Namespace._lazy(function(){return b.Class.derive(a._GroupsContainerBase,function(a){this._listView=a,this.groups=[{startIndex:0}],this.dirty=!0},{synchronizeGroups:function(){return c.wrap()},addItem:function(){return c.wrap(this.groups[0])},resetGroups:function(){this.groups=[{startIndex:0}],delete this.pinnedItem,delete this.pinnedOffset,this.dirty=!0},renderGroup:function(){return c.wrap(null)},ensureFirstGroup:function(){return c.wrap(this.groups[0])},groupOf:function(){return c.wrap(this.groups[0])},removeElements:function(){}})})})}),define("WinJS/Controls/ListView/_Helpers",["exports","../../Core/_Base","../../Animations"],function(a,b,c){"use strict";function d(a){return Array.prototype.slice.call(a)}function e(a,b){return new Array(b+1).join(a)}b.Namespace._moduleDefine(a,"WinJS.UI",{_nodeListToArray:d,_repeat:e,_ListViewAnimationHelper:{fadeInElement:function(a){return c.fadeIn(a)},fadeOutElement:function(a){return c.fadeOut(a)},animateEntrance:function(a,b){return c.enterContent(a,[{left:b?"100px":"40px",top:"0px",rtlflip:!0}],{mechanism:"transition"})}}})}),define("WinJS/Controls/ListView/_ItemsContainer",["exports","../../Core/_Base","../../Promise","../../Utilities/_ElementUtilities","../ItemContainer/_Constants"],function(a,b,c,d,e){"use strict";b.Namespace._moduleDefine(a,"WinJS.UI",{_ItemsContainer:b.Namespace._lazy(function(){var a=function(a){this.site=a,this._itemData={},this.waitingItemRequests={}};return a.prototype={requestItem:function(a){this.waitingItemRequests[a]||(this.waitingItemRequests[a]=[]);var b=this,d=new c(function(c){var d=b._itemData[a];d&&!d.detached&&d.element?c(d.element):b.waitingItemRequests[a].push(c)});return d},removeItem:function(a){delete this._itemData[a]},removeItems:function(){this._itemData={},this.waitingItemRequests={}},setItemAt:function(a,b){this._itemData[a]=b,b.detached||this.notify(a,b)},notify:function(a,b){if(this.waitingItemRequests[a]){for(var c=this.waitingItemRequests[a],d=0;da;a++)for(c="."+M[a]+" ",b=d.length-1;b>=0;b--)-1!==d[b].selectorText.indexOf(c)&&K.sheet.deleteRule(b);M=[]}function t(a,b,c,d){s();var e="."+p._listViewClass+" ."+a+" "+c+" { "+d+"}",f="_addDynamicCssRule:"+a+",info";b?b._writeProfilerMark(f):g("WinJS.UI.ListView:Layout"+f),K.sheet.insertRule(e,0)}function u(a){M.push(a)}function v(a,b,c){return Math.max(a,Math.min(b,c))}function w(a,c){return m.convertToPixels(a,b.getComputedStyle(a,null)[c])}function x(a,b){return w(b,"margin"+a)+w(b,"border"+a+"Width")+w(b,"padding"+a)}function y(a){return x("Top",a)+x("Bottom",a)}function z(a){return x("Left",a)+x("Right",a)}function A(a,b){if(a.items)for(var c=0,d=a.items.length;d>c;c++)b(a.items[c],c);else for(var e=0,f=0;ec;c++)b(g.items[c],f++)}function B(a,b){if(0>b)return null;if(a.items)return bd;d++)if(b[d].itemsContainer.element===a){c=b[d].itemsContainer;break}return c}function D(a){var b,c;return a.itemsBlocks?(b=a.itemsBlocks.length,c=b>0?a.itemsBlocks[0].items.length*(b-1)+a.itemsBlocks[b-1].items.length:0):c=a.items.length,c}function E(a){if(!S){var c=b.document.createElement("div");c.style.width="500px",c.style.visibility="hidden";var d=b.document.createElement("div");d.style.cssText+="width: 500px; height: 200px; display: -webkit-flex; display: flex",n.setInnerHTMLUnsafe(d,"
"),c.appendChild(d),a.viewport.insertBefore(c,a.viewport.firstChild);var e=c.offsetWidth>0,f=200;e&&(S={supportsCSSGrid:!!("-ms-grid-row"in b.document.documentElement.style),nestedFlexTooLarge:d.firstElementChild.offsetWidth>f,nestedFlexTooSmall:d.firstElementChild.offsetWidthb;b++)a[b].cleanUp(!0)}var b="Layout:uninitialize,info";this._elementsToMeasure={},this._site?(this._site._writeProfilerMark(b),m.removeClass(this._site.surface,p._gridLayoutClass),m.removeClass(this._site.surface,p._headerPositionTopClass),m.removeClass(this._site.surface,p._headerPositionLeftClass),m.removeClass(this._site.surface,p._structuralNodesClass),this._site.surface.style.cssText="",this._groups&&(a(this._groups),this._groups=null,this._groupMap=null),this._layoutPromise&&(this._layoutPromise.cancel(),this._layoutPromise=null),this._resetMeasurements(),this._oldGroupHeaderPosition=null,this._usingStructuralNodes=null,this._backdropColorClassName&&(m.removeClass(this._site.surface,this._backdropColorClassName),u(this._backdropColorClassName),this._backdropColorClassName=null),this._disableBackdropClassName&&(m.removeClass(this._site.surface,this._disableBackdropClassName),u(this._disableBackdropClassName),this._disableBackdropClassName=null),this._site=null,this._groupsEnabled=null,this._animationsRunning&&this._animationsRunning.cancel(),this._animatingItemsBlocks={}):g("WinJS.UI.ListView:"+b)},numberOfItemsPerItemsBlock:{get:function(){function b(){var a,b=c._site.groupCount;for(a=0;b>a;a++)if(c._isCellSpanning(a))return!1;return!0}var c=this;return c._measureItem(0).then(function(){return c._sizes.viewportContentSize!==c._getViewportCrossSize()&&c._viewportSizeChanged(c._getViewportCrossSize()),c._envInfo.nestedFlexTooLarge||c._envInfo.nestedFlexTooSmall||!b()?(c._usingStructuralNodes=!1,null):(c._usingStructuralNodes=a._LayoutCommon._barsPerItemsBlock>0,a._LayoutCommon._barsPerItemsBlock*c._itemsPerBar)})}},layout:function(a,b,c,d){function e(a){function b(a){if(l._usingStructuralNodes){var b=[];return a.itemsBlocks.forEach(function(a){b=b.concat(a.items.slice(0))}),b}return a.items.slice(0)}return{element:a.element,items:b(a)}}function f(){function c(a,b){var c=a.enableCellSpanning?T.CellSpanningGroup:T.UniformGroup;return new c(l,b)}var d,f=l._groups.length>0?l._getRealizationRange():null,g=[],h=[],j={},k={},m=0,n=a.length;for(d=0;n>d;d++){var o=null,p=l._getGroupInfo(d),q=l._site.groupFromIndex(d).key,r=l._groupMap[q],s=r instanceof T.CellSpanningGroup,t=p.enableCellSpanning;if(r)if(s!==t)j[q]=!0;else{var u=Math.max(0,b.firstIndex-r.startIndex),v=l._rangeForGroup(r,f);v&&u<=v.lastIndex&&(o={firstIndex:Math.max(u,v.firstIndex),lastIndex:v.lastIndex})}var w,x=c(p,a[d].itemsContainer.element);w=x.prepareLayoutWithCopyOfTree?x.prepareLayoutWithCopyOfTree(e(a[d].itemsContainer),o,r,{groupInfo:p,startIndex:m}):x.prepareLayout(D(a[d].itemsContainer),o,r,{groupInfo:p,startIndex:m}),h.push(w),m+=x.count,g.push(x),k[q]=x}return i.join(h).then(function(){for(var a=0,b=0,c=g.length;c>b;b++){var d=g[b];d.offset=a,a+=l._getGroupSize(d)}Object.keys(l._groupMap).forEach(function(a){var b=!j[a];l._groupMap[a].cleanUp(b)}),l._groups=g,l._groupMap=k})}function g(a,c,d){var e,f=l._groups[a],g=Math.max(0,b.firstIndex-f.startIndex),h=l._rangeForGroup(f,c);return d?void f.layoutRealizedRange(g,h):(h||(e=f.startIndex+f.count-1c;c++)g(c,d,!0),l._layoutGroup(c)}}function j(){if(0===l._groups.length)return i.wrap();var a=l._getRealizationRange(),c=n.groupIndexFromItemIndex(a.firstIndex-1),d=n.groupIndexFromItemIndex(a.lastIndex+1),e=n.groupIndexFromItemIndex(b.firstIndex),f=[],h=l._groups.length,j=!1,k=c,m=Math.max(e,d); -for(m=Math.max(k+1,m);!j;)j=!0,k>=e&&(f.push(g(k,a,!1)),j=!1,k--),h>m&&(f.push(g(m,a,!1)),j=!1,m++);return i.join(f)}var k,l=this,n=l._site,o="Layout.layout",q=o+":realizedRange";return l._site._writeProfilerMark(o+",StartTM"),l._site._writeProfilerMark(q+",StartTM"),k=l._measureItem(0).then(function(){return m[l._usingStructuralNodes?"addClass":"removeClass"](l._site.surface,p._structuralNodesClass),l._sizes.viewportContentSize!==l._getViewportCrossSize()&&l._viewportSizeChanged(l._getViewportCrossSize()),l._cacheRemovedElements(c,l._cachedItemRecords,l._cachedInsertedItemRecords,l._cachedRemovedItems,!1),l._cacheRemovedElements(d,l._cachedHeaderRecords,l._cachedInsertedHeaderRecords,l._cachedRemovedHeaders,!0),f()}).then(function(){l._syncDomWithGroupHeaderPosition(a);var b=0;if(l._groups.length>0){var e=l._groups[l._groups.length-1];b=e.offset+l._getGroupSize(e)}l._horizontal?(l._groupsEnabled&&l._groupHeaderPosition===U.left?n.surface.style.cssText+=";height:"+l._sizes.surfaceContentSize+"px;-ms-grid-columns: ("+l._sizes.headerContainerWidth+"px auto)["+a.length+"]":n.surface.style.height=l._sizes.surfaceContentSize+"px",(l._envInfo.nestedFlexTooLarge||l._envInfo.nestedFlexTooSmall)&&(n.surface.style.width=b+"px")):(l._groupsEnabled&&l._groupHeaderPosition===U.top?n.surface.style.cssText+=";width:"+l._sizes.surfaceContentSize+"px;-ms-grid-rows: ("+l._sizes.headerContainerHeight+"px auto)["+a.length+"]":n.surface.style.width=l._sizes.surfaceContentSize+"px",(l._envInfo.nestedFlexTooLarge||l._envInfo.nestedFlexTooSmall)&&(n.surface.style.height=b+"px")),h(),l._layoutAnimations(c,d),l._site._writeProfilerMark(q+":complete,info"),l._site._writeProfilerMark(q+",StopTM")},function(a){return l._site._writeProfilerMark(q+":canceled,info"),l._site._writeProfilerMark(q+",StopTM"),i.wrapError(a)}),l._layoutPromise=k.then(function(){return j().then(function(){l._site._writeProfilerMark(o+":complete,info"),l._site._writeProfilerMark(o+",StopTM")},function(a){return l._site._writeProfilerMark(o+":canceled,info"),l._site._writeProfilerMark(o+",StopTM"),i.wrapError(a)})}),{realizedRangeComplete:k,layoutComplete:l._layoutPromise}},itemsFromRange:function(a,b){return this._rangeContainsItems(a,b)?{firstIndex:this._firstItemFromRange(a),lastIndex:this._lastItemFromRange(b)}:{firstIndex:0,lastIndex:-1}},getAdjacent:function(b,c){function d(){var a={type:b.type,index:b.index-g.startIndex},c=g.getAdjacent(a,h);if("boundary"===c){var d=e._groups[f-1],i=e._groups[f+1],j=e._groups.length-1;if(h===H.leftArrow){if(0===f)return b;if(d instanceof T.UniformGroup&&g instanceof T.UniformGroup){var k=e._indexToCoordinate(a.index),l=e._horizontal?k.row:k.column,m=Math.floor((d.count-1)/e._itemsPerBar),n=m*e._itemsPerBar;return{type:o.ObjectType.item,index:d.startIndex+Math.min(d.count-1,n+l)}}return{type:o.ObjectType.item,index:g.startIndex-1}}if(h===H.rightArrow){if(f===j)return b;if(g instanceof T.UniformGroup&&i instanceof T.UniformGroup){var k=e._indexToCoordinate(a.index),l=e._horizontal?k.row:k.column;return{type:o.ObjectType.item,index:i.startIndex+Math.min(i.count-1,l)}}return{type:o.ObjectType.item,index:i.startIndex}}return b}return c.index+=g.startIndex,c}var e=this,f=e._site.groupIndexFromItemIndex(b.index),g=e._groups[f],h=e._adjustedKeyForOrientationAndBars(e._adjustedKeyForRTL(c),g instanceof T.CellSpanningGroup);if(b.type===o.ObjectType.groupHeader){if(c!==H.pageUp&&c!==H.pageDown){switch(h){case H.leftArrow:return{type:o.ObjectType.groupHeader,index:Math.max(0,b.index-1)};case H.rightArrow:return{type:o.ObjectType.groupHeader,index:Math.min(e._groups.length-1,b.index+1)}}return b}b={type:o.ObjectType.item,index:this._groups[b.index].startIndex}}switch(e._adjustedKeyForRTL(c)){case H.upArrow:case H.leftArrow:case H.downArrow:case H.rightArrow:return d();default:return a._LayoutCommon.prototype._getAdjacentForPageKeys.call(e,b,c)}},hitTest:function(a,b){var c,d=this._sizes;a-=d.layoutOriginX,b-=d.layoutOriginY;var e=this._groupFromOffset(this._horizontal?a:b),f=this._groups[e];return this._horizontal?a-=f.offset:b-=f.offset,this._groupsEnabled&&(this._groupHeaderPosition===U.left?a-=d.headerContainerWidth:b-=d.headerContainerHeight),c=f.hitTest(a,b),c.index+=f.startIndex,c.insertAfterIndex+=f.startIndex,c},setupAnimations:function(){if(0===this._groups.length)return void this._resetAnimationCaches();if(!Object.keys(this._cachedItemRecords).length){this._site._writeProfilerMark("Animation:setupAnimations,StartTM");for(var a=this._getRealizationRange(),b=this._site.tree,c=0,d="horizontal"===this.orientation,e=0,f=b.length;f>e;e++){var g=b[e],h=!1,i=this._groups[e],j=i instanceof T.CellSpanningGroup,k=i?i.offset:0;if(A(g.itemsContainer,function(b,d){if(a.firstIndex<=c&&a.lastIndex>=c&&(h=!0,!this._cachedItemRecords[c])){var f=this._getItemPositionForAnimations(c,e,d),g=f.row,i=f.column,k=f.left,l=f.top;this._cachedItemRecords[c]={oldRow:g,oldColumn:i,oldLeft:k,oldTop:l,width:f.width,height:f.height,element:b,inCellSpanningGroup:j}}c++}.bind(this)),h){var l=e;if(!this._cachedHeaderRecords[l]){var m=this._getHeaderPositionForAnimations(l);this._cachedHeaderRecords[l]={oldLeft:m.left,oldTop:m.top,width:m.width,height:m.height,element:g.header}}this._cachedGroupRecords[I(g.itemsContainer.element)]||(this._cachedGroupRecords[I(g.itemsContainer.element)]={oldLeft:d?k:0,left:d?k:0,oldTop:d?0:k,top:d?0:k,element:g.itemsContainer.element})}}this._site._writeProfilerMark("Animation:setupAnimations,StopTM")}},_layoutAnimations:function(a,b){if(Object.keys(this._cachedItemRecords).length||Object.keys(this._cachedGroupRecords).length||Object.keys(this._cachedHeaderRecords).length){this._site._writeProfilerMark("Animation:layoutAnimation,StartTM"),this._updateAnimationCache(a,b);for(var c=this._getRealizationRange(),d=this._site.tree,e=0,f="horizontal"===this.orientation,g=0,h=d.length;h>g;g++){var i=d[g],j=this._groups[g],k=j instanceof T.CellSpanningGroup,l=j?j.offset:0,n=0,o=0,q=this._cachedGroupRecords[I(i.itemsContainer.element)];q&&(f?n=q.oldLeft-l:o=q.oldTop-l),A(i.itemsContainer,function(a,b){if(c.firstIndex<=e&&c.lastIndex>=e){var d=this._cachedItemRecords[e];if(d){var f=this._getItemPositionForAnimations(e,g,b),h=f.row,i=f.column,j=f.left,l=f.top;if(d.inCellSpanningGroup=d.inCellSpanningGroup||k,d.oldRow!==h||d.oldColumn!==i||d.oldTop!==l||d.oldLeft!==j){d.row=h,d.column=i,d.left=j,d.top=l;var q=d.oldLeft-d.left-n,r=d.oldTop-d.top-o;if(q=(this._site.rtl?-1:1)*q,d.xOffset=q,d.yOffset=r,0!==q||0!==r){var s=d.element;d.needsToResetTransform=!0,s.style[P]="",s.style[O.scriptName]="translate("+q+"px,"+r+"px)"}var t=a.parentNode;m.hasClass(t,p._itemsBlockClass)&&(this._animatingItemsBlocks[I(t)]=t)}}else this._cachedInsertedItemRecords[e]=a,a.style[P]="",a.style.opacity=0}e++}.bind(this));var r=g,s=this._cachedHeaderRecords[r];if(s){var t=this._getHeaderPositionForAnimations(r);if(s.height=t.height,s.width=t.width,s.oldLeft!==t.left||s.oldTop!==t.top){s.left=t.left,s.top=t.top;var u=s.oldLeft-s.left,v=s.oldTop-s.top;if(u=(this._site.rtl?-1:1)*u,0!==u||0!==v){s.needsToResetTransform=!0;var w=s.element;w.style[P]="",w.style[O.scriptName]="translate("+u+"px,"+v+"px)"}}}if(q&&(f&&q.left!==l||!f&&q.top!==l)){var x=q.element;if(0===n&&0===o)q.needsToResetTransform&&(q.needsToResetTransform=!1,x.style[O.scriptName]="");else{var y=(this._site.rtl?-1:1)*n,z=o;q.needsToResetTransform=!0,x.style[P]="",x.style[O.scriptName]="translate("+y+"px, "+z+"px)"}}}if(this._inListMode||1===this._itemsPerBar)for(var B=Object.keys(this._animatingItemsBlocks),C=0,D=B.length;D>C;C++)this._animatingItemsBlocks[B[C]].style.overflow="visible";this._site._writeProfilerMark("Animation:layoutAnimation,StopTM")}},executeAnimations:function(){function b(){if(e(),H)f();else{if(bb._itemsPerBar>1)for(var a=bb._itemsPerBar*bb._sizes.containerCrossSize+bb._getHeaderSizeContentAdjustment()+bb._sizes.containerMargins[U?"top":v.rtl?"right":"left"]+(U?bb._sizes.layoutOriginY:bb._sizes.layoutOriginX),b=0,c=y.length;c>b;b++){var d=y[b];d[V]>d[W]?(N=Math.max(N,d[X]+d[U?"height":"width"]),R=Math.max(R,a-d[Y]),J=!0,T.push(d)):d[V]b;b++){var e=y[b],f=e.element;a.push(f)}for(var b=0,d=z.length;d>b;b++){var e=z[b],f=e.element;a.push(f)}var i=120;u&&(i*=10),G.push(h.executeTransition(a,{property:"opacity",delay:A,duration:i,timing:"linear",to:0})),c(g),v._writeProfilerMark("Animation:cellSpanningFadeOutMove,StopTM")}function g(){v._writeProfilerMark("Animation:cellSpanningFadeInMove,StartTM"),E=0;for(var a=[],b=0,c=y.length;c>b;b++){var d=y[b],e=d.element;e.style[O.scriptName]="",a.push(e)}for(var b=0,c=z.length;c>b;b++){var d=z[b],e=d.element;e.style[O.scriptName]="",a.push(e)}var f=120;u&&(f*=10),G.push(h.executeTransition(a,{property:"opacity",delay:E,duration:f,timing:"linear",to:1})),v._writeProfilerMark("Animation:cellSpanningFadeInMove,StopTM"),r()}function j(a){v._writeProfilerMark("Animation:setupReflowAnimation,StartTM");for(var b={},d=0,e=T.length;e>d;d++){var f=T[d],g=f.xOffset,i=f.yOffset;f[V]>f[W]?U?i-=N:g-=N:f[V]d;d++){var s=M[r[d]];v.rtl&&U?(s.style.paddingLeft=-1*K+"px",s.style.marginLeft=K+"px"):(s.style[U?"paddingRight":"paddingBottom"]=L+"px",s.style[U?"marginRight":"marginBottom"]="-"+L+"px")}for(var t=Object.keys(Z),d=0,e=t.length;e>d;d++)Z[t[d]].classList.add(p._clipClass);c(o),v._writeProfilerMark("Animation:setupReflowAnimation,StopTM")}function n(){for(var a=Object.keys(M),b=0,c=a.length;c>b;b++){var d=M[a[b]];v.rtl&&U?(d.style.paddingLeft="",d.style.marginLeft=""):(d.style[U?"paddingRight":"paddingBottom"]="",d.style[U?"marginRight":"marginBottom"]="")}M={};for(var e=Object.keys(Z),b=0,c=e.length;c>b;b++){var f=Z[e[b]];f.style.overflow="",f.classList.remove(p._clipClass)}}function o(){v._writeProfilerMark("Animation:prepareReflowedItems,StartTM");for(var b=0,c=T.length;c>b;b++){var e=T[b],f=0,g=0;e[V]>e[W]?U?g=R:f=R:e[V]0||z.length>0){v._writeProfilerMark("Animation:setupMoveAnimation,StartTM");for(var c=[],d=0,e=z.length;e>d;d++){var f=z[d].element;c.push(f)}for(var d=0,e=y.length;e>d;d++){var f=y[d].element;c.push(f)}G.push(h.executeTransition(c,{property:O.cssName,delay:B,duration:b,timing:"cubic-bezier(0.1, 0.9, 0.2, 1)",to:""})),E+=80,v._writeProfilerMark("Animation:setupMoveAnimation,StopTM")}r()}function r(){if(w.length>0){v._writeProfilerMark("Animation:setupInsertAnimation,StartTM");var a=120;u&&(a*=10),G.push(h.executeTransition(w,[{property:"opacity",delay:E,duration:a,timing:"linear",to:1}])),v._writeProfilerMark("Animation:setupInsertAnimation,StopTM")}c(s)}function s(){v._writeProfilerMark("Animation:cleanupAnimations,StartTM"),n();for(var a=0,b=x.length;b>a;a++){var c=x[a];c.parentNode&&(l._disposeElement(c),c.parentNode.removeChild(c))}v._writeProfilerMark("Animation:cleanupAnimations,StopTM"),bb._animationsRunning=null,t.complete()}var t=new k;if(this._filterInsertedElements(),this._filterMovedElements(),this._filterRemovedElements(),0===this._insertedElements.length&&0===this._removedElements.length&&0===this._itemMoveRecords.length&&0===this._moveRecords.length)return this._resetAnimationCaches(!0),t.complete(),t.promise;this._animationsRunning=t.promise;for(var u=a.Layout._debugAnimations||a.Layout._slowAnimations,v=this._site,w=this._insertedElements,x=this._removedElements,y=this._itemMoveRecords,z=this._moveRecords,A=0,B=0,E=0,F=null,G=[],H=!1,J=!1,K=0,L=0,M={},N=0,Q=0,R=0,S=0,T=[],U="horizontal"===this.orientation,V=U?"oldColumn":"oldRow",W=U?"column":"row",X=U?"oldTop":"oldLeft",Y=U?"top":"left",Z=this._animatingItemsBlocks,$=0,_=y.length;_>$;$++){var ab=y[$];if(ab.inCellSpanningGroup){H=!0;break}}var bb=this;return a.Layout._debugAnimations?d._requestAnimationFrame(function(){b()}):b(),this._resetAnimationCaches(!0),t.promise.then(null,function(){n();for(var a=0,b=z.length;b>a;a++){var c=z[a].element;c.style[O.scriptName]="",c.style.opacity=1}for(var a=0,b=y.length;b>a;a++){var c=y[a].element;c.style[O.scriptName]="",c.style.opacity=1}for(var a=0,b=w.length;b>a;a++)w[a].style.opacity=1;for(var a=0,b=x.length;b>a;a++){var c=x[a];c.parentNode&&(l._disposeElement(c),c.parentNode.removeChild(c))}this._animationsRunning=null,t=null,F&&F.cancel()}.bind(this)),t.promise},dragOver:function(a,b,c){var d=this.hitTest(a,b),e=this._groups?this._site.groupIndexFromItemIndex(d.index):0,f=this._site.tree[e].itemsContainer,g=D(f),h=this._groups?this._groups[e].startIndex:0,i=this._getVisibleRange();d.index-=h,d.insertAfterIndex-=h,i.firstIndex=Math.max(i.firstIndex-h-1,0),i.lastIndex=Math.min(i.lastIndex-h+1,g);var j=Math.max(Math.min(g-1,d.insertAfterIndex),-1),k=Math.min(j+1,g);if(c){for(var l=j;l>=i.firstIndex;l--){if(!c._isIncluded(l+h)){j=l;break}l===i.firstIndex&&(j=-1)}for(var l=k;ll;l++){var p=this._animatedDragItems[l];p&&(p.style[P]=this._site.animationsDisabled?"":Q,p.style[O.scriptName]="")}this._animatedDragItems=[];var q="horizontal"===this.orientation,r=this._inListMode||1===this._itemsPerBar;this._groups&&this._groups[e]instanceof T.CellSpanningGroup&&(r=1===this._groups[e]._slotsPerColumn);var s=0,t=0;!q&&!r||q&&r?s=this._site.rtl?-R:R:t=R,m&&(m.style[P]=this._site.animationsDisabled?"":Q,m.style[O.scriptName]="translate("+s+"px, "+t+"px)",this._animatedDragItems.push(m)),n&&(n.style[P]=this._site.animationsDisabled?"":Q,n.style[O.scriptName]="translate("+-s+"px, -"+t+"px)",this._animatedDragItems.push(n))},dragLeave:function(){if(this._animatedDragItems)for(var a=0,b=this._animatedDragItems.length;b>a;a++)this._animatedDragItems[a].style[P]=this._site.animationsDisabled?"":Q,this._animatedDragItems[a].style[O.scriptName]="";this._animatedDragItems=[]},_setMaxRowsOrColumns:function(a){a===this._maxRowsOrColumns||this._inListMode||(this._sizes&&this._sizes.containerSizeLoaded&&(this._itemsPerBar=Math.floor(this._sizes.maxItemsContainerContentSize/this._sizes.containerCrossSize),a&&(this._itemsPerBar=Math.min(this._itemsPerBar,a)),this._itemsPerBar=Math.max(1,this._itemsPerBar)),this._maxRowsOrColumns=a,this._invalidateLayout())},_getItemPosition:function(a){if(this._groupsEnabled){var b=Math.min(this._groups.length-1,this._site.groupIndexFromItemIndex(a)),c=this._groups[b],d=a-c.startIndex;return this._getItemPositionForAnimations(a,b,d)}return this._getItemPositionForAnimations(a,0,a)},_getRealizationRange:function(){var a=this._site.realizedRange;return{firstIndex:this._firstItemFromRange(a.firstPixel),lastIndex:this._lastItemFromRange(a.lastPixel)}},_getVisibleRange:function(){var a=this._site.visibleRange;return{firstIndex:this._firstItemFromRange(a.firstPixel),lastIndex:this._lastItemFromRange(a.lastPixel)}},_resetAnimationCaches:function(a){if(!a){this._resetStylesForRecords(this._cachedGroupRecords),this._resetStylesForRecords(this._cachedItemRecords),this._resetStylesForRecords(this._cachedHeaderRecords),this._resetStylesForInsertedRecords(this._cachedInsertedItemRecords),this._resetStylesForInsertedRecords(this._cachedInsertedHeaderRecords),this._resetStylesForRemovedRecords(this._cachedRemovedItems),this._resetStylesForRemovedRecords(this._cachedRemovedHeaders);for(var b=Object.keys(this._animatingItemsBlocks),c=0,d=b.length;d>c;c++){var e=this._animatingItemsBlocks[b[c]];e.style.overflow="",e.classList.remove(p._clipClass)}}this._cachedGroupRecords={},this._cachedItemRecords={},this._cachedHeaderRecords={},this._cachedInsertedItemRecords={},this._cachedInsertedHeaderRecords={},this._cachedRemovedItems=[],this._cachedRemovedHeaders=[],this._animatingItemsBlocks={}},_cacheRemovedElements:function(a,b,c,d,e){var f="left";this._site.rtl&&(f="right");var g,h;e?(g=this._sizes.headerContainerOuterX,h=this._sizes.headerContainerOuterY):(g=this._sizes.containerMargins[f],h=this._sizes.containerMargins.top);for(var i=0,j=a.length;j>i;i++){var k=a[i];if(-1===k.newIndex){var l=k.element,m=b[k.oldIndex];m&&(m.element=l,delete b[k.oldIndex],l.style.position="absolute",l.style[P]="",l.style.top=m.oldTop-h+"px",l.style[f]=m.oldLeft-g+"px",l.style.width=m.width+"px",l.style.height=m.height+"px",l.style[O.scriptName]="",this._site.surface.appendChild(l),d.push(m)),c[k.oldIndex]&&delete c[k.oldIndex]}}},_cacheInsertedElements:function(a,b,c){for(var d={},e=0,f=a.length;f>e;e++){var g=a[e],h=b[g.oldIndex];if(h&&delete b[g.oldIndex],h||-1===g.oldIndex||g.moved){var i=c[g.newIndex];i&&delete c[g.newIndex];var j=g.element;d[g.newIndex]=j,j.style[P]="",j.style[O.scriptName]="",j.style.opacity=0}}for(var k=Object.keys(b),e=0,f=k.length;f>e;e++)d[k[e]]=b[k[e]];return d},_resetStylesForRecords:function(a){for(var b=Object.keys(a),c=0,d=b.length;d>c;c++){var e=a[b[c]];e.needsToResetTransform&&(e.element.style[O.scriptName]="",e.needsToResetTransform=!1)}},_resetStylesForInsertedRecords:function(a){for(var b=Object.keys(a),c=0,d=b.length;d>c;c++){var e=a[b[c]];e.style.opacity=1}},_resetStylesForRemovedRecords:function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b].element;d.parentNode&&(l._disposeElement(d),d.parentNode.removeChild(d))}},_updateAnimationCache:function(a,b){function c(a,b){for(var c={},e=0,f=a.length;f>e;e++){var g=a[e],h=b[g.oldIndex];h&&(c[g.newIndex]=h,h.element=g.element,delete b[g.oldIndex])}for(var i=Object.keys(b),e=0,f=i.length;f>e;e++){var j=i[e],k=b[j];(!k.element||d[I(k.element)])&&(c[j]=k)}return c}this._resetStylesForRecords(this._cachedItemRecords),this._resetStylesForRecords(this._cachedHeaderRecords),this._resetStylesForInsertedRecords(this._cachedInsertedItemRecords),this._resetStylesForInsertedRecords(this._cachedInsertedHeaderRecords);for(var d={},e=this._getRealizationRange(),f=this._site.tree,g=0,h=0,i=f.length;i>g;g++)A(f[g].itemsContainer,function(a){e.firstIndex<=h&&e.lastIndex>=h&&(d[I(a)]=!0),h++});this._cachedItemRecords=c(a,this._cachedItemRecords),this._cachedHeaderRecords=c(b,this._cachedHeaderRecords),this._cachedInsertedItemRecords=this._cacheInsertedElements(a,this._cachedInsertedItemRecords,this._cachedItemRecords),this._cachedInsertedHeaderRecords=this._cacheInsertedElements(b,this._cachedInsertedHeaderRecords,this._cachedHeaderRecords)},_filterRemovedElements:function(){function a(a,g){for(var h=0,i=a.length;i>h;h++){var j=a[h],k=j.element;j[c]+j[d]-1f||!b._site.viewport.contains(k)?k.parentNode&&(l._disposeElement(k),k.parentNode.removeChild(k)):g.push(k)}}if(this._removedElements=[],this._site.animationsDisabled)return this._resetStylesForRemovedRecords(this._cachedRemovedItems),void this._resetStylesForRemovedRecords(this._cachedRemovedHeaders);var b=this,c="horizontal"===this.orientation?"oldLeft":"oldTop",d="horizontal"===this.orientation?"width":"height",e=this._site.scrollbarPos,f=e+this._site.viewportSize[d]-1;a(this._cachedRemovedItems,this._removedElements),a(this._cachedRemovedHeaders,this._removedElements)},_filterInsertedElements:function(){function a(a,d){for(var e=Object.keys(a),f=0,g=e.length;g>f;f++){var h=e[f],i=a[h];hc.lastIndex||b._site.viewport.contains(i.element)?i.style.opacity=1:d.push(i)}}if(this._insertedElements=[],this._site.animationsDisabled)return this._resetStylesForInsertedRecords(this._cachedInsertedItemRecords),void this._resetStylesForInsertedRecords(this._cachedInsertedHeaderRecords);var b=this,c=this._getVisibleRange();a(this._cachedInsertedItemRecords,this._insertedElements),a(this._cachedInsertedHeaderRecords,this._insertedElements)},_filterMovedElements:function(){var a=this,b="horizontal"===this.orientation?"oldLeft":"oldTop",c="horizontal"===this.orientation?"left":"top",d="horizontal"===this.orientation?"width":"height",e=this._getRealizationRange(),f=this._site.scrollbarPos,g=f+this._site.viewportSize[d]-1;if(this._itemMoveRecords=[],this._moveRecords=[],!this._site.animationsDisabled)for(var h=this._site.tree,i=0,j=0,k=h.length;k>j;j++){var l=h[j],m=!1;A(l.itemsContainer,function(){if(e.firstIndex<=i&&e.lastIndex>=i){var h=this._cachedItemRecords[i];if(h){var j=(h[b]+h[d]-1>=f&&h[b]<=g||h[c]+h[d]-1>=f&&h[c]<=g)&&a._site.viewport.contains(h.element);j&&(m=!0,h.needsToResetTransform&&(this._itemMoveRecords.push(h),delete this._cachedItemRecords[i]))}}i++}.bind(this));var n=j,o=this._cachedHeaderRecords[n];o&&m&&o.needsToResetTransform&&(this._moveRecords.push(o),delete this._cachedHeaderRecords[n]);var p=this._cachedGroupRecords[I(l.itemsContainer.element)];p&&m&&p.needsToResetTransform&&(this._moveRecords.push(p),delete this._cachedGroupRecords[I(l.itemsContainer.element)])}this._resetStylesForRecords(this._cachedGroupRecords),this._resetStylesForRecords(this._cachedItemRecords),this._resetStylesForRecords(this._cachedHeaderRecords)},_getItemPositionForAnimations:function(a,b,c){var d=this._groups[b],e=d.getItemPositionForAnimations(c),f=this._groups[b]?this._groups[b].offset:0,g=this._groupsEnabled&&this._groupHeaderPosition===U.left?this._sizes.headerContainerWidth:0,h=this._groupsEnabled&&this._groupHeaderPosition===U.top?this._sizes.headerContainerHeight:0;return e.left+=this._sizes.layoutOriginX+g+this._sizes.itemsContainerOuterX,e.top+=this._sizes.layoutOriginY+h+this._sizes.itemsContainerOuterY,e[this._horizontal?"left":"top"]+=f,e},_getHeaderPositionForAnimations:function(a){var b;if(this._groupsEnabled){var c=this._sizes.headerContainerWidth-this._sizes.headerContainerOuterWidth,d=this._sizes.headerContainerHeight-this._sizes.headerContainerOuterHeight;this._groupHeaderPosition!==U.left||this._horizontal?this._groupHeaderPosition===U.top&&this._horizontal&&(c=this._groups[a].getItemsContainerSize()-this._sizes.headerContainerOuterWidth):d=this._groups[a].getItemsContainerSize()-this._sizes.headerContainerOuterHeight;var e=this._horizontal?this._groups[a].offset:0,f=this._horizontal?0:this._groups[a].offset;b={top:this._sizes.layoutOriginY+f+this._sizes.headerContainerOuterY,left:this._sizes.layoutOriginX+e+this._sizes.headerContainerOuterX,height:d,width:c}}else b={top:0,left:0,height:0,width:0};return b},_rangeContainsItems:function(a,b){if(0===this._groups.length)return!1;var c=this._groups[this._groups.length-1],d=this._sizes.layoutOrigin+c.offset+this._getGroupSize(c)-1;return b>=0&&d>=a},_itemFromOffset:function(a,b){function c(a){if(!b.wholeItem){var c=e._horizontal?e._site.rtl?"right":"left":"top",d=e._horizontal?e._site.rtl?"left":"right":"bottom";return b.last?a-e._sizes.containerMargins[c]:a+e._sizes.containerMargins[d]}return a}function d(a){return b.last?a-e._getHeaderSizeGroupAdjustment()-e._sizes.itemsContainerOuterStart:a}var e=this;if(0===this._groups.length)return 0;b=b||{},a-=this._sizes.layoutOrigin,a=c(a);var f=this._groupFromOffset(d(a)),g=this._groups[f];return a-=g.offset,a-=this._getHeaderSizeGroupAdjustment(),g.startIndex+g.itemFromOffset(a,b)},_firstItemFromRange:function(a,b){return b=b||{},b.last=0,this._itemFromOffset(a,b)},_lastItemFromRange:function(a,b){return b=b||{},b.last=1,this._itemFromOffset(a,b)},_adjustedKeyForRTL:function(a){return this._site.rtl&&(a===H.leftArrow?a=H.rightArrow:a===H.rightArrow&&(a=H.leftArrow)),a},_adjustedKeyForOrientationAndBars:function(a,b){var c=a;if(b)return a;if(!this._horizontal)switch(c){case H.leftArrow:c=H.upArrow;break;case H.rightArrow:c=H.downArrow;break;case H.upArrow:c=H.leftArrow;break;case H.downArrow:c=H.rightArrow}return 1===this._itemsPerBar&&(c===H.upArrow?c=H.leftArrow:c===H.downArrow&&(c=H.rightArrow)),c},_getAdjacentForPageKeys:function(a,b){var c,d=this._sizes.containerMargins,e="horizontal"===this.orientation?d.left+d.right:d.top+d.bottom,f=this._site.viewportSize["horizontal"===this.orientation?"width":"height"],g=this._site.scrollbarPos,h=g+f-1-d["horizontal"===this.orientation?"right":"bottom"],i=this._firstItemFromRange(g,{wholeItem:!0}),j=this._lastItemFromRange(h,{wholeItem:!1}),k=this._getItemPosition(a.index),l=!1;if((a.indexj)&&(l=!0,g="horizontal"===this.orientation?k.left-e:k.top-e,h=g+f-1,i=this._firstItemFromRange(g,{wholeItem:!0}),j=this._lastItemFromRange(h,{wholeItem:!1})),b===H.pageUp){if(!l&&i!==a.index)return{type:o.ObjectType.item,index:i};var m;m="horizontal"===this.orientation?k.left+k.width+e+d.left:k.top+k.height+e+d.bottom;var n=this._firstItemFromRange(m-f,{wholeItem:!0});c=a.index===n?Math.max(0,a.index-this._itemsPerBar):n}else{if(!l&&j!==a.index)return{type:o.ObjectType.item,index:j};var p;p="horizontal"===this.orientation?k.left-e-d.right:k.top-e-d.bottom;var q=Math.max(0,this._lastItemFromRange(p+f-1,{wholeItem:!0}));c=a.index===q?a.index+this._itemsPerBar:q}return{type:o.ObjectType.item,index:c}},_isCellSpanning:function(a){var b=this._site.groupFromIndex(a),c=this._groupInfo;return c?!!("function"==typeof c?c(b):c).enableCellSpanning:!1},_getGroupInfo:function(a){var b=this._site.groupFromIndex(a),c=this._groupInfo,d=this._sizes.containerMargins,f={enableCellSpanning:!1};if(c="function"==typeof c?c(b):c){if(c.enableCellSpanning&&(+c.cellWidth!==c.cellWidth||+c.cellHeight!==c.cellHeight))throw new e("WinJS.UI.GridLayout.GroupInfoResultIsInvalid",J.groupInfoResultIsInvalid);f={enableCellSpanning:!!c.enableCellSpanning,cellWidth:c.cellWidth+d.left+d.right,cellHeight:c.cellHeight+d.top+d.bottom}}return f},_getItemInfo:function(a){var b;if(this._itemInfo&&"function"==typeof this._itemInfo)b=this._itemInfo(a);else{if(!this._useDefaultItemInfo)throw new e("WinJS.UI.GridLayout.ItemInfoIsInvalid",J.itemInfoIsInvalid);b=this._defaultItemInfo(a)}return i.as(b).then(function(a){if(!a||+a.width!==a.width||+a.height!==a.height)throw new e("WinJS.UI.GridLayout.ItemInfoIsInvalid",J.itemInfoIsInvalid);return a})},_defaultItemInfo:function(a){var b=this;return this._site.renderItem(this._site.itemFromIndex(a)).then(function(c){return b._elementsToMeasure[a]={element:c},b._measureElements()}).then(function(){var c=b._elementsToMeasure[a],d={width:c.width,height:c.height};return delete b._elementsToMeasure[a],d},function(c){return delete b._elementsToMeasure[a],i.wrapError(c)})},_getGroupSize:function(a){var b=0;return this._groupsEnabled&&(this._horizontal&&this._groupHeaderPosition===U.top?b=this._sizes.headerContainerMinWidth:this._horizontal||this._groupHeaderPosition!==U.left||(b=this._sizes.headerContainerMinHeight)),Math.max(b,a.getItemsContainerSize()+this._getHeaderSizeGroupAdjustment())},_groupFromOffset:function(a){return ab)return null;var d=a+Math.floor((b-a)/2),e=this._groups[d];return c(e,d)?this._groupFromImpl(a,d-1,c):b>d&&!c(this._groups[d+1],d+1)?this._groupFromImpl(d+1,b,c):d},_groupFrom:function(a){if(this._groups.length>0){var b=this._groups.length-1,c=this._groups[b];return a(c,b)?this._groupFromImpl(0,this._groups.length-1,a):b}return null},_invalidateLayout:function(){this._site&&this._site.invalidateLayout()},_resetMeasurements:function(){this._measuringPromise&&(this._measuringPromise.cancel(),this._measuringPromise=null),this._containerSizeClassName&&(m.removeClass(this._site.surface,this._containerSizeClassName),u(this._containerSizeClassName),this._containerSizeClassName=null),this._sizes=null,this._resetAnimationCaches()},_measureElements:function(){if(!this._measuringElements){var a=this;a._measuringElements=j.schedulePromiseHigh(null,"WinJS.UI.GridLayout._measuringElements").then(function(){a._site._writeProfilerMark("_measureElements,StartTM");var c=a._createMeasuringSurface(),d=b.document.createElement("div"),e=a._site,f=a._measuringElements,g=a._elementsToMeasure,h=!1;d.className=p._itemsContainerClass+" "+p._laidOutClass,d.style.cssText+=";display: -ms-grid;-ms-grid-column: 1;-ms-grid-row: 1";var i,j,k=Object.keys(g);for(j=0,i=k.length;i>j;j++){var l=g[k[j]].element;l.style["-ms-grid-column"]=j+1,l.style["-ms-grid-row"]=j+1,d.appendChild(l)}for(c.appendChild(d),e.viewport.insertBefore(c,e.viewport.firstChild),f.then(null,function(){h=!0}),j=0,i=k.length;i>j&&!h;j++){var n=g[k[j]],o=n.element.querySelector("."+p._itemClass);n.width=m.getTotalWidth(o),n.height=m.getTotalHeight(o)}c.parentNode&&c.parentNode.removeChild(c),f===a._measuringElements&&(a._measuringElements=null),e._writeProfilerMark("_measureElements,StopTM")},function(b){return a._measuringElements=null,i.wrapError(b)})}return this._measuringElements},_ensureEnvInfo:function(){return this._envInfo||(this._envInfo=E(this._site),this._envInfo&&!this._envInfo.supportsCSSGrid&&m.addClass(this._site.surface,p._noCSSGrid)),!!this._envInfo},_createMeasuringSurface:function(){var a=b.document.createElement("div");return a.style.cssText="visibility: hidden;-ms-grid-columns: auto;-ms-grid-rows: auto;-ms-flex-align: start;-webkit-align-items: flex-start;align-items: flex-start",a.className=p._scrollableClass+" "+(this._inListMode?p._listLayoutClass:p._gridLayoutClass),this._envInfo.supportsCSSGrid||m.addClass(a,p._noCSSGrid),this._groupsEnabled&&(this._groupHeaderPosition===U.top?m.addClass(a,p._headerPositionTopClass):m.addClass(a,p._headerPositionLeftClass)),a},_measureItem:function(a){function c(a,e){var e,h=!!e,j={},k=f.rtl?"right":"left";return f.itemCount.then(function(b){return!b||d._groupsEnabled&&!f.groupCount?i.cancel:(e=e||f.itemFromIndex(a),j.container=f.renderItem(e),d._groupsEnabled&&(j.headerContainer=f.renderHeader(d._site.groupFromIndex(f.groupIndexFromItemIndex(a)))),i.join(j))}).then(function(j){function l(){var a=d._horizontal,b=d._groupsEnabled,c=!1;g.then(null,function(){c=!0});var e=G(C),h=f.rtl?f.viewport.offsetWidth-(C.offsetLeft+C.offsetWidth):C.offsetLeft,i=C.offsetTop,l={viewportContentSize:0,surfaceContentSize:0,maxItemsContainerContentSize:0,surfaceOuterHeight:y(o),surfaceOuterWidth:z(o),layoutOriginX:h-e[k],layoutOriginY:i-e.top,itemsContainerOuterHeight:y(q),itemsContainerOuterWidth:z(q),itemsContainerOuterX:x(f.rtl?"Right":"Left",q),itemsContainerOuterY:x("Top",q),itemsContainerMargins:G(q),itemBoxOuterHeight:y(s),itemBoxOuterWidth:z(s),containerOuterHeight:y(j.container),containerOuterWidth:z(j.container),emptyContainerContentHeight:m.getContentHeight(r),emptyContainerContentWidth:m.getContentWidth(r),containerMargins:G(j.container),containerWidth:0,containerHeight:0,containerSizeLoaded:!1};b&&(l.headerContainerOuterX=x(f.rtl?"Right":"Left",j.headerContainer),l.headerContainerOuterY=x("Top",j.headerContainer),l.headerContainerOuterWidth=z(j.headerContainer),l.headerContainerOuterHeight=y(j.headerContainer),l.headerContainerWidth=m.getTotalWidth(j.headerContainer),l.headerContainerHeight=m.getTotalHeight(j.headerContainer),l.headerContainerMinWidth=w(j.headerContainer,"minWidth")+l.headerContainerOuterWidth,l.headerContainerMinHeight=w(j.headerContainer,"minHeight")+l.headerContainerOuterHeight); -var n={sizes:l,viewportContentWidth:m.getContentWidth(f.viewport),viewportContentHeight:m.getContentHeight(f.viewport),containerContentWidth:m.getContentWidth(j.container),containerContentHeight:m.getContentHeight(j.container),containerWidth:m.getTotalWidth(j.container),containerHeight:m.getTotalHeight(j.container)};return n.viewportCrossSize=n[a?"viewportContentHeight":"viewportContentWidth"],f.readyToMeasure(),c?null:n}function n(){o.parentNode&&o.parentNode.removeChild(o)}var o=d._createMeasuringSurface(),q=b.document.createElement("div"),r=b.document.createElement("div"),s=j.container.querySelector("."+p._itemBoxClass),t=f.groupIndexFromItemIndex(a);r.className=p._containerClass,q.className=p._itemsContainerClass+" "+p._laidOutClass;var u=1,v=1,A=2,B=2,C=q,D=!1;d._inListMode&&d._groupsEnabled&&(d._horizontal&&d._groupHeaderPosition===U.top?(u=2,B=1,A=1,C=j.headerContainer,D=!0):d._horizontal||d._groupHeaderPosition!==U.left||(v=2,B=1,A=1,C=j.headerContainer,D=!0)),q.style.cssText+=";display: "+(d._inListMode?(d._horizontal?"flex":"block")+"; overflow: hidden":"inline-block")+";vertical-align:top;-ms-grid-column: "+v+";-ms-grid-row: "+u,d._inListMode||(j.container.style.display="inline-block"),d._groupsEnabled&&(j.headerContainer.style.cssText+=";display: inline-block;-ms-grid-column: "+B+";-ms-grid-row: "+A,m.addClass(j.headerContainer,p._laidOutClass+" "+p._groupLeaderClass),(d._groupHeaderPosition===U.top&&d._horizontal||d._groupHeaderPosition===U.left&&!d._horizontal)&&m.addClass(q,p._groupLeaderClass)),D&&o.appendChild(j.headerContainer),q.appendChild(j.container),q.appendChild(r),o.appendChild(q),!D&&d._groupsEnabled&&o.appendChild(j.headerContainer),f.viewport.insertBefore(o,f.viewport.firstChild);var E=l();if(!E)return n(),i.cancel;if(d._horizontal&&0===E.viewportContentHeight||!d._horizontal&&0===E.viewportContentWidth)return n(),i.cancel;if(!(h||d._isCellSpanning(t)||0!==E.containerContentWidth&&0!==E.containerContentHeight))return n(),e.then(function(){return c(a,e)});var F=d._sizes=E.sizes;if(Object.defineProperties(F,{surfaceOuterCrossSize:{get:function(){return d._horizontal?F.surfaceOuterHeight:F.surfaceOuterWidth},enumerable:!0},layoutOrigin:{get:function(){return d._horizontal?F.layoutOriginX:F.layoutOriginY},enumerable:!0},itemsContainerOuterSize:{get:function(){return d._horizontal?F.itemsContainerOuterWidth:F.itemsContainerOuterHeight},enumerable:!0},itemsContainerOuterCrossSize:{get:function(){return d._horizontal?F.itemsContainerOuterHeight:F.itemsContainerOuterWidth},enumerable:!0},itemsContainerOuterStart:{get:function(){return d._horizontal?F.itemsContainerOuterX:F.itemsContainerOuterY},enumerable:!0},itemsContainerOuterCrossStart:{get:function(){return d._horizontal?F.itemsContainerOuterY:F.itemsContainerOuterX},enumerable:!0},containerCrossSize:{get:function(){return d._horizontal?F.containerHeight:F.containerWidth},enumerable:!0},containerSize:{get:function(){return d._horizontal?F.containerWidth:F.containerHeight},enumerable:!0}}),!d._isCellSpanning(t)){if(d._inListMode){var H=E.viewportCrossSize-F.surfaceOuterCrossSize-d._getHeaderSizeContentAdjustment()-F.itemsContainerOuterCrossSize;d._horizontal?(F.containerHeight=H,F.containerWidth=E.containerWidth):(F.containerHeight=E.containerHeight,F.containerWidth=H)}else F.containerWidth=E.containerWidth,F.containerHeight=E.containerHeight;F.containerSizeLoaded=!0}d._createContainerStyleRule(),d._viewportSizeChanged(E.viewportCrossSize),n()})}var d=this,e="Layout:measureItem",f=d._site,g=d._measuringPromise;if(!g){f._writeProfilerMark(e+",StartTM");var h=new k;d._measuringPromise=g=h.promise.then(function(){return d._ensureEnvInfo()?c(a):i.cancel}).then(function(){f._writeProfilerMark(e+":complete,info"),f._writeProfilerMark(e+",StopTM")},function(a){return d._measuringPromise=null,f._writeProfilerMark(e+":canceled,info"),f._writeProfilerMark(e+",StopTM"),i.wrapError(a)}),h.complete()}return g},_getHeaderSizeGroupAdjustment:function(){if(this._groupsEnabled){if(this._horizontal&&this._groupHeaderPosition===U.left)return this._sizes.headerContainerWidth;if(!this._horizontal&&this._groupHeaderPosition===U.top)return this._sizes.headerContainerHeight}return 0},_getHeaderSizeContentAdjustment:function(){if(this._groupsEnabled){if(this._horizontal&&this._groupHeaderPosition===U.top)return this._sizes.headerContainerHeight;if(!this._horizontal&&this._groupHeaderPosition===U.left)return this._sizes.headerContainerWidth}return 0},_getViewportCrossSize:function(){return this._site.viewportSize[this._horizontal?"height":"width"]},_viewportSizeChanged:function(a){var b=this._sizes;b.viewportContentSize=a,b.surfaceContentSize=a-b.surfaceOuterCrossSize,b.maxItemsContainerContentSize=b.surfaceContentSize-b.itemsContainerOuterCrossSize-this._getHeaderSizeContentAdjustment(),b.containerSizeLoaded&&!this._inListMode?(this._itemsPerBar=Math.floor(b.maxItemsContainerContentSize/b.containerCrossSize),this.maximumRowsOrColumns&&(this._itemsPerBar=Math.min(this._itemsPerBar,this.maximumRowsOrColumns)),this._itemsPerBar=Math.max(1,this._itemsPerBar)):(this._inListMode&&(b[this._horizontal?"containerHeight":"containerWidth"]=b.maxItemsContainerContentSize),this._itemsPerBar=1),this._resetAnimationCaches()},_createContainerStyleRule:function(){var a=this._sizes;if(!this._containerSizeClassName&&a.containerSizeLoaded&&(0===a.emptyContainerContentHeight||0===a.emptyContainerContentWidth)){var b=a.containerWidth-a.containerOuterWidth+"px",c=a.containerHeight-a.containerOuterHeight+"px";this._inListMode&&(this._horizontal?c="calc(100% - "+(a.containerMargins.top+a.containerMargins.bottom)+"px)":b="auto"),this._containerSizeClassName||(this._containerSizeClassName=r("containersize"),m.addClass(this._site.surface,this._containerSizeClassName));var d="."+p._containerClass,e="width:"+b+";height:"+c+";";t(this._containerSizeClassName,this._site,d,e)}},_ensureContainerSize:function(a){var b=this._sizes;if(b.containerSizeLoaded||this._ensuringContainerSize)return this._ensuringContainerSize?this._ensuringContainerSize:i.wrap();var c;if(this._itemInfo&&"function"==typeof this._itemInfo||!this._useDefaultItemInfo)c=this._getItemInfo();else{var d=b.containerMargins;c=i.wrap({width:a.groupInfo.cellWidth-d.left-d.right,height:a.groupInfo.cellHeight-d.top-d.bottom})}var e=this;return this._ensuringContainerSize=c.then(function(a){b.containerSizeLoaded=!0,b.containerWidth=a.width+b.itemBoxOuterWidth+b.containerOuterWidth,b.containerHeight=a.height+b.itemBoxOuterHeight+b.containerOuterHeight,e._inListMode?e._itemsPerBar=1:(e._itemsPerBar=Math.floor(b.maxItemsContainerContentSize/b.containerCrossSize),e.maximumRowsOrColumns&&(e._itemsPerBar=Math.min(e._itemsPerBar,e.maximumRowsOrColumns)),e._itemsPerBar=Math.max(1,e._itemsPerBar)),e._createContainerStyleRule()}),c.done(function(){e._ensuringContainerSize=null},function(){e._ensuringContainerSize=null}),c},_indexToCoordinate:function(a,b){b=b||this._itemsPerBar;var c=Math.floor(a/b);return this._horizontal?{column:c,row:a-c*b}:{row:c,column:a-c*b}},_rangeForGroup:function(a,b){var c=a.startIndex,d=c+a.count-1;return!b||b.firstIndex>d||b.lastIndexb;b++)a[b].header.style.maxWidth="",m.removeClass(a[b].itemsContainer.element,p._groupLeaderClass);else this._site.surface.style.msGridRows="";else if(this._oldGroupHeaderPosition===U.left){if(m.removeClass(this._site.surface,p._headerPositionLeftClass),!this._horizontal)for(b=0;c>b;b++)a[b].header.style.maxHeight="",m.removeClass(a[b].itemsContainer.element,p._groupLeaderClass);this._site.surface.style.msGridColumns=""}if(this._groupHeaderPosition===U.top){if(m.addClass(this._site.surface,p._headerPositionTopClass),this._horizontal)for(b=0;c>b;b++)m.addClass(a[b].itemsContainer.element,p._groupLeaderClass)}else if(m.addClass(this._site.surface,p._headerPositionLeftClass),!this._horizontal)for(b=0;c>b;b++)m.addClass(a[b].itemsContainer.element,p._groupLeaderClass);this._oldGroupHeaderPosition=this._groupHeaderPosition}},_layoutGroup:function(a){var b=this._groups[a],c=this._site.tree[a],d=c.header,e=c.itemsContainer.element,f=this._sizes,g=b.getItemsContainerCrossSize();if(this._groupsEnabled){if(this._horizontal)if(this._groupHeaderPosition===U.top){var h=f.headerContainerMinWidth-f.headerContainerOuterWidth,i=b.getItemsContainerSize()-f.headerContainerOuterWidth;d.style.maxWidth=Math.max(h,i)+"px",this._envInfo.supportsCSSGrid?(d.style.msGridColumn=a+1,e.style.msGridColumn=a+1):(d.style.height=f.headerContainerHeight-f.headerContainerOuterHeight+"px",e.style.height=g-f.itemsContainerOuterHeight+"px",e.style.marginBottom=f.itemsContainerMargins.bottom+(f.maxItemsContainerContentSize-g+f.itemsContainerOuterHeight)+"px"),m.addClass(e,p._groupLeaderClass)}else this._envInfo.supportsCSSGrid?(d.style.msGridColumn=2*a+1,e.style.msGridColumn=2*a+2):(d.style.width=f.headerContainerWidth-f.headerContainerOuterWidth+"px",d.style.height=g-f.headerContainerOuterHeight+"px",e.style.height=g-f.itemsContainerOuterHeight+"px");else if(this._groupHeaderPosition===U.left){var j=f.headerContainerMinHeight-f.headerContainerOuterHeight,k=b.getItemsContainerSize()-f.headerContainerOuterHeight;d.style.maxHeight=Math.max(j,k)+"px",this._envInfo.supportsCSSGrid?(d.style.msGridRow=a+1,e.style.msGridRow=a+1):(d.style.width=f.headerContainerWidth-f.headerContainerOuterWidth+"px",e.style.width=g-f.itemsContainerOuterWidth+"px",e.style["margin"+(this._site.rtl?"Left":"Right")]=f.itemsContainerMargins[this._site.rtl?"left":"right"]+(f.maxItemsContainerContentSize-g+f.itemsContainerOuterWidth)+"px"),m.addClass(e,p._groupLeaderClass)}else d.style.msGridRow=2*a+1,this._inListMode?d.style.height=f.headerContainerHeight-f.headerContainerOuterHeight+"px":this._envInfo.supportsCSSGrid?e.style.msGridRow=2*a+2:(d.style.height=f.headerContainerHeight-f.headerContainerOuterHeight+"px",d.style.width=g-f.headerContainerOuterWidth+"px",e.style.width=g-f.itemsContainerOuterWidth+"px");m.addClass(d,p._laidOutClass+" "+p._groupLeaderClass)}m.addClass(e,p._laidOutClass)}},{_barsPerItemsBlock:4})}),_LegacyLayout:c.Namespace._lazy(function(){return c.Class.derive(a._LayoutCommon,null,{disableBackdrop:{get:function(){return this._backdropDisabled||!1},set:function(a){if(m._deprecated(q.disableBackdropIsDeprecated),a=!!a,this._backdropDisabled!==a&&(this._backdropDisabled=a,this._disableBackdropClassName&&(u(this._disableBackdropClassName),this._site&&m.removeClass(this._site.surface,this._disableBackdropClassName),this._disableBackdropClassName=null),this._disableBackdropClassName=r("disablebackdrop"),this._site&&m.addClass(this._site.surface,this._disableBackdropClassName),a)){var b=".win-container.win-backdrop",c="background-color:transparent;";t(this._disableBackdropClassName,this._site,b,c)}}},backdropColor:{get:function(){return this._backdropColor||"rgba(155,155,155,0.23)"},set:function(a){if(m._deprecated(q.backdropColorIsDeprecated),a&&this._backdropColor!==a){this._backdropColor=a,this._backdropColorClassName&&(u(this._backdropColorClassName),this._site&&m.removeClass(this._site.surface,this._backdropColorClassName),this._backdropColorClassName=null),this._backdropColorClassName=r("backdropcolor"),this._site&&m.addClass(this._site.surface,this._backdropColorClassName);var b=".win-container.win-backdrop",c="background-color:"+a+";";t(this._backdropColorClassName,this._site,b,c)}}}})}),GridLayout:c.Namespace._lazy(function(){return c.Class.derive(a._LegacyLayout,function(a){a=a||{},this.itemInfo=a.itemInfo,this.groupInfo=a.groupInfo,this._maxRowsOrColumns=0,this._useDefaultItemInfo=!0,this._elementsToMeasure={},this._groupHeaderPosition=a.groupHeaderPosition||U.top,this.orientation=a.orientation||"horizontal",a.maxRows&&(this.maxRows=+a.maxRows),a.maximumRowsOrColumns&&(this.maximumRowsOrColumns=+a.maximumRowsOrColumns)},{maximumRowsOrColumns:{get:function(){return this._maxRowsOrColumns},set:function(a){this._setMaxRowsOrColumns(a)}},maxRows:{get:function(){return this.maximumRowsOrColumns},set:function(a){m._deprecated(q.maxRowsIsDeprecated),this.maximumRowsOrColumns=a}},itemInfo:{enumerable:!0,get:function(){return this._itemInfo},set:function(a){a&&m._deprecated(q.itemInfoIsDeprecated),this._itemInfo=a,this._invalidateLayout()}},groupInfo:{enumerable:!0,get:function(){return this._groupInfo},set:function(a){a&&m._deprecated(q.groupInfoIsDeprecated),this._groupInfo=a,this._invalidateLayout()}}})})});var T=c.Namespace.defineWithParent(null,null,{UniformGroupBase:c.Namespace._lazy(function(){return c.Class.define(null,{cleanUp:function(){},itemFromOffset:function(a,b){b=b||{};var c=this._layout._sizes;a-=c.itemsContainerOuterStart,b.wholeItem&&(a+=(b.last?-1:1)*(c.containerSize-1));var d=this.count-1,e=Math.floor(d/this._layout._itemsPerBar),f=v(0,e,Math.floor(a/c.containerSize)),g=(f+b.last)*this._layout._itemsPerBar-b.last;return v(0,this.count-1,g)},hitTest:function(a,b){var c=this._layout._horizontal,d=this._layout._itemsPerBar,e=this._layout._inListMode||1===d,f=c?a:b,g=c?b:a,h=this._layout._sizes;f-=h.itemsContainerOuterStart,g-=h.itemsContainerOuterCrossStart;var i,j=Math.floor(f/h.containerSize),k=v(0,d-1,Math.floor(g/h.containerCrossSize)),l=Math.max(-1,j*d+k);if(i=!c&&e||c&&!e?(b-h.containerHeight/2)/h.containerHeight:(a-h.containerWidth/2)/h.containerWidth,e)return i=Math.floor(i),{index:l,insertAfterIndex:i>=0&&l>=0?i:-1};i=v(-1,d-1,i);var m;return m=0>i?j*d-1:j*d+Math.floor(i),{index:v(-1,this.count-1,l),insertAfterIndex:v(-1,this.count-1,m)}},getAdjacent:function(a,b){var c,d=a.index,e=Math.floor(d/this._layout._itemsPerBar),f=d%this._layout._itemsPerBar;switch(b){case H.upArrow:c=0===f?"boundary":d-1;break;case H.downArrow:var g=d===this.count-1,h=this._layout._itemsPerBar>1&&f===this._layout._itemsPerBar-1;c=g||h?"boundary":d+1;break;case H.leftArrow:c=0===e&&this._layout._itemsPerBar>1?"boundary":d-this._layout._itemsPerBar;break;case H.rightArrow:var i=this.count-1,j=Math.floor(i/this._layout._itemsPerBar);c=e===j?"boundary":Math.min(d+this._layout._itemsPerBar,this.count-1)}return"boundary"===c?c:{type:o.ObjectType.item,index:c}},getItemsContainerSize:function(){var a=this._layout._sizes,b=Math.ceil(this.count/this._layout._itemsPerBar);return b*a.containerSize+a.itemsContainerOuterSize},getItemsContainerCrossSize:function(){var a=this._layout._sizes;return this._layout._itemsPerBar*a.containerCrossSize+a.itemsContainerOuterCrossSize},getItemPositionForAnimations:function(a){var b=this._layout._sizes,c=this._layout._site.rtl?"right":"left",d=this._layout._sizes.containerMargins,e=this._layout._indexToCoordinate(a),f={row:e.row,column:e.column,top:d.top+e.row*b.containerHeight,left:d[c]+e.column*b.containerWidth,height:b.containerHeight-b.containerMargins.top-b.containerMargins.bottom,width:b.containerWidth-b.containerMargins.left-b.containerMargins.right};return f}})}),UniformGroup:c.Namespace._lazy(function(){return c.Class.derive(T.UniformGroupBase,function(a,b){this._layout=a,this._itemsContainer=b,m.addClass(this._itemsContainer,a._inListMode?p._uniformListLayoutClass:p._uniformGridLayoutClass)},{cleanUp:function(a){a||(m.removeClass(this._itemsContainer,p._uniformGridLayoutClass),m.removeClass(this._itemsContainer,p._uniformListLayoutClass),this._itemsContainer.style.height=this._itemsContainer.style.width=""),this._itemsContainer=null,this._layout=null,this.groupInfo=null,this.startIndex=null,this.offset=null,this.count=null},prepareLayout:function(a,b,c,d){return this.groupInfo=d.groupInfo,this.startIndex=d.startIndex,this.count=a,this._layout._ensureContainerSize(this)},layoutRealizedRange:function(){var a=this._layout._sizes;this._itemsContainer.style[this._layout._horizontal?"width":"height"]=this.getItemsContainerSize()-a.itemsContainerOuterSize+"px",this._itemsContainer.style[this._layout._horizontal?"height":"width"]=this._layout._inListMode?a.maxItemsContainerContentSize+"px":this._layout._itemsPerBar*a.containerCrossSize+"px"},layoutUnrealizedRange:function(){return i.wrap()}})}),UniformFlowGroup:c.Namespace._lazy(function(){return c.Class.derive(T.UniformGroupBase,function(a,b){this._layout=a,this._itemsContainer=b.element,m.addClass(this._itemsContainer,a._inListMode?p._uniformListLayoutClass:p._uniformGridLayoutClass)},{cleanUp:function(a){a||(m.removeClass(this._itemsContainer,p._uniformListLayoutClass),m.removeClass(this._itemsContainer,p._uniformGridLayoutClass),this._itemsContainer.style.height="")},layout:function(){this._layout._site._writeProfilerMark("Layout:_UniformFlowGroup:setItemsContainerHeight,info"),this._itemsContainer.style.height=this.count*this._layout._sizes.containerHeight+"px"}})}),CellSpanningGroup:c.Namespace._lazy(function(){return c.Class.define(function(a,b){this._layout=a,this._itemsContainer=b,m.addClass(this._itemsContainer,p._cellSpanningGridLayoutClass),this.resetMap()},{cleanUp:function(a){a||(this._cleanContainers(),m.removeClass(this._itemsContainer,p._cellSpanningGridLayoutClass),this._itemsContainer.style.cssText=""),this._itemsContainer=null,this._layoutPromise&&(this._layoutPromise.cancel(),this._layoutPromise=null),this.resetMap(),this._slotsPerColumn=null,this._offScreenSlotsPerColumn=null,this._items=null,this._layout=null,this._containersToHide=null,this.groupInfo=null,this.startIndex=null,this.offset=null,this.count=null},prepareLayoutWithCopyOfTree:function(a,b,c,d){var e,f=this;if(this._containersToHide={},b)for(e=b.firstIndex;e<=b.lastIndex;e++)this._containersToHide[I(c._items[e])]=c._items[e];this.groupInfo=d.groupInfo,this.startIndex=d.startIndex,this.count=a.items.length,this._items=a.items,this._slotsPerColumn=Math.floor(this._layout._sizes.maxItemsContainerContentSize/this.groupInfo.cellHeight),this._layout.maximumRowsOrColumns&&(this._slotsPerColumn=Math.min(this._slotsPerColumn,this._layout.maximumRowsOrColumns)),this._slotsPerColumn=Math.max(this._slotsPerColumn,1),this.resetMap();var g=new Array(this.count);for(e=0;e=a&&(e._layoutItem(k),k--,i=!1),l=a;m--){if(b.shouldYield)return void b.setWork(o);e._layoutItem(m)}g()})}else{var m=a;d=h(function p(a){for(;m0))return{type:o.ObjectType.item,index:d};g--;break;case H.downArrow:if(!(i+10?g-this._slotsPerColumn:-1;break;case H.rightArrow:g=j>h?g+this._slotsPerColumn:this.occupancyMap.length}f=g>=0&&g0){for(var e=this.indexFromOffset(a,!1,0),f=Math.min(this._slotsPerColumn-1,Math.floor(b/this.groupInfo.cellHeight)),g=e.index,h=g;f-->0;)g++,this.occupancyMap[g]&&(h=g);this.occupancyMap[h]||h--,d=this.occupancyMap[h].index}var i=this.getItemSize(d),j=i.column*this.groupInfo.cellWidth,k=i.row*this.groupInfo.cellHeight,l=1===this._slotsPerColumn,m=d;return(l&&aa;a++)b[a].style.cssText="",m.removeClass(b[a],p._laidOutClass)},getColumnCount:function(){return Math.ceil(this.occupancyMap.length/this._slotsPerColumn)},getOccupancyMapItemCount:function(){var a=-1;return this.occupancyMap.forEach(function(b){b.index>a&&(a=b.index)}),a+1},coordinateToIndex:function(a,b){return a*this._slotsPerColumn+b},markSlotAsFull:function(a,b){for(var c=this._layout._indexToCoordinate(a,this._slotsPerColumn),d=c.row+b.rows,e=c.row;d>e&&ef;f++)this.occupancyMap[this.coordinateToIndex(f,e)]=b;this._offScreenSlotsPerColumn=Math.max(this._offScreenSlotsPerColumn,d-this._slotsPerColumn)},isSlotEmpty:function(a,b,c){for(var d=b,e=b+a.rows;e>d;d++)for(var f=c,g=c+a.columns;g>f;f++)if(d>=this._slotsPerColumn||void 0!==this.occupancyMap[this.coordinateToIndex(f,d)])return!1;return!0},findEmptySlot:function(a,b,c){var d=this._layout._indexToCoordinate(a,this._slotsPerColumn),e=d.row,f=Math.floor((this.occupancyMap.length-1)/this._slotsPerColumn);if(c){for(var g=d.column+1;f>=g;g++)if(this.isSlotEmpty(b,0,g))return this.coordinateToIndex(g,0)}else for(var g=d.column;f>=g;g++){for(var h=e;hb;b++){var d=this.occupancyMap[b];if(d&&d.index===a)return b}return b},getItemSize:function(a){var b=this.findItem(a),c=this.occupancyMap[b],d=this._layout._indexToCoordinate(b,this._slotsPerColumn);return a===c.index?{row:d.row,column:d.column,contentWidth:c.contentWidth,contentHeight:c.contentHeight,columns:c.columns,rows:c.rows}:null},resetMap:function(){this.occupancyMap=[],this.lastAdded=0,this._offScreenSlotsPerColumn=0},addItemToMap:function(a,b){function c(a,b){var c=d.findEmptySlot(d.lastAdded,a,b);d.lastAdded=c,d.markSlotAsFull(c,a)}var d=this,e=d.groupInfo,f=d._layout._sizes.containerMargins,g={index:a,contentWidth:b.width,contentHeight:b.height,columns:Math.max(1,Math.ceil((b.width+f.left+f.right)/e.cellWidth)),rows:Math.max(1,Math.ceil((b.height+f.top+f.bottom)/e.cellHeight))};c(g,b.newColumn)},indexFromOffset:function(a,b,c){var d=0,e=0,f=this.groupInfo,g=0;if(this.occupancyMap.length>0){if(e=this.getOccupancyMapItemCount()-1,d=Math.ceil((this.occupancyMap.length-1)/this._slotsPerColumn)*f.cellWidth,d>a){for(var h=this._slotsPerColumn,g=(Math.max(0,Math.floor(a/f.cellWidth))+c)*this._slotsPerColumn-c;!this.occupancyMap[g]&&h-->0;)g+=c>0?-1:1;return{index:g,item:this.occupancyMap[g].index}}g=this.occupancyMap.length-1}return{index:g,item:e+(Math.max(0,Math.floor((a-d)/f.cellWidth))+c)*this._slotsPerColumn-c}}})})});c.Namespace._moduleDefine(a,"WinJS.UI",{ListLayout:c.Namespace._lazy(function(){return c.Class.derive(a._LegacyLayout,function(a){a=a||{},this._itemInfo={},this._groupInfo={},this._groupHeaderPosition=a.groupHeaderPosition||U.top,this._inListMode=!0,this.orientation=a.orientation||"vertical"},{initialize:function(b,c){m.addClass(b.surface,p._listLayoutClass),a._LegacyLayout.prototype.initialize.call(this,b,c)},uninitialize:function(){this._site&&m.removeClass(this._site.surface,p._listLayoutClass),a._LegacyLayout.prototype.uninitialize.call(this)},layout:function(b,c,d,e){return this._groupsEnabled||this._horizontal?a._LegacyLayout.prototype.layout.call(this,b,c,d,e):this._layoutNonGroupedVerticalList(b,c,d,e)},_layoutNonGroupedVerticalList:function(a,b,c,d){var e=this,f="Layout:_layoutNonGroupedVerticalList";return e._site._writeProfilerMark(f+",StartTM"),this._layoutPromise=e._measureItem(0).then(function(){m[e._usingStructuralNodes?"addClass":"removeClass"](e._site.surface,p._structuralNodesClass),e._sizes.viewportContentSize!==e._getViewportCrossSize()&&e._viewportSizeChanged(e._getViewportCrossSize()),e._cacheRemovedElements(c,e._cachedItemRecords,e._cachedInsertedItemRecords,e._cachedRemovedItems,!1),e._cacheRemovedElements(d,e._cachedHeaderRecords,e._cachedInsertedHeaderRecords,e._cachedRemovedHeaders,!0);var b=a[0].itemsContainer,g=new T.UniformFlowGroup(e,b);e._groups=[g],g.groupInfo={enableCellSpanning:!1},g.startIndex=0,g.count=D(b),g.offset=0,g.layout(),e._site._writeProfilerMark(f+":setSurfaceWidth,info"),e._site.surface.style.width=e._sizes.surfaceContentSize+"px",e._layoutAnimations(c,d),e._site._writeProfilerMark(f+":complete,info"),e._site._writeProfilerMark(f+",StopTM")},function(a){return e._site._writeProfilerMark(f+":canceled,info"),e._site._writeProfilerMark(f+",StopTM"),i.wrapError(a)}),{realizedRangeComplete:this._layoutPromise,layoutComplete:this._layoutPromise}},numberOfItemsPerItemsBlock:{get:function(){var b=this;return this._measureItem(0).then(function(){return b._usingStructuralNodes=b._envInfo.nestedFlexTooLarge||b._envInfo.nestedFlexTooSmall?!1:a.ListLayout._numberOfItemsPerItemsBlock>0,b._usingStructuralNodes?a.ListLayout._numberOfItemsPerItemsBlock:null})}}},{_numberOfItemsPerItemsBlock:10})}),CellSpanningLayout:c.Namespace._lazy(function(){return c.Class.derive(a._LayoutCommon,function(a){a=a||{},this._itemInfo=a.itemInfo,this._groupInfo=a.groupInfo,this._groupHeaderPosition=a.groupHeaderPosition||U.top,this._horizontal=!0,this._cellSpanning=!0},{maximumRowsOrColumns:{get:function(){return this._maxRowsOrColumns},set:function(a){this._setMaxRowsOrColumns(a)}},itemInfo:{enumerable:!0,get:function(){return this._itemInfo},set:function(a){this._itemInfo=a,this._invalidateLayout()}},groupInfo:{enumerable:!0,get:function(){return this._groupInfo},set:function(a){this._groupInfo=a,this._invalidateLayout()}},orientation:{enumerable:!0,get:function(){return"horizontal"}}})}),_LayoutWrapper:c.Namespace._lazy(function(){return c.Class.define(function(a){this.defaultAnimations=!0,this.initialize=function(b,c){a.initialize(b,c)},this.hitTest=function(b,c){return a.hitTest(b,c)},a.uninitialize&&(this.uninitialize=function(){a.uninitialize()}),"numberOfItemsPerItemsBlock"in a&&Object.defineProperty(this,"numberOfItemsPerItemsBlock",{get:function(){return a.numberOfItemsPerItemsBlock}}),a._getItemPosition&&(this._getItemPosition=function(b){return a._getItemPosition(b)}),a.itemsFromRange&&(this.itemsFromRange=function(b,c){return a.itemsFromRange(b,c)}),a.getAdjacent&&(this.getAdjacent=function(b,c){return a.getAdjacent(b,c)}),a.dragOver&&(this.dragOver=function(b,c,d){return a.dragOver(b,c,d)}),a.dragLeave&&(this.dragLeave=function(){return a.dragLeave()});var b={enumerable:!0,get:function(){return"vertical"}};if(void 0!==a.orientation&&(b.get=function(){return a.orientation},b.set=function(b){a.orientation=b}),Object.defineProperty(this,"orientation",b),(a.setupAnimations||a.executeAnimations)&&(this.defaultAnimations=!1,this.setupAnimations=function(){return a.setupAnimations()},this.executeAnimations=function(){return a.executeAnimations()}),a.layout)if(this.defaultAnimations){var c=this;this.layout=function(b,d,e,f){var g,h=F(a.layout(b,d,[],[]));return h.realizedRangeComplete.then(function(){g=!0}),g&&c._layoutAnimations(e,f),h}}else this.layout=function(b,c,d,e){return F(a.layout(b,c,d,e))}},{uninitialize:function(){},numberOfItemsPerItemsBlock:{get:function(){}},layout:function(a,b,c,d){return this.defaultAnimations&&this._layoutAnimations(c,d),F()},itemsFromRange:function(){return{firstIndex:0,lastIndex:Number.MAX_VALUE}},getAdjacent:function(a,b){switch(b){case H.pageUp:case H.upArrow:case H.leftArrow:return{type:a.type,index:a.index-1};case H.downArrow:case H.rightArrow:case H.pageDown:return{type:a.type,index:a.index+1}}},dragOver:function(){},dragLeave:function(){},setupAnimations:function(){},executeAnimations:function(){},_getItemPosition:function(){},_layoutAnimations:function(){}})})});var U={left:"left",top:"top"};c.Namespace._moduleDefine(a,"WinJS.UI",{HeaderPosition:U,_getMargins:G})}),define("WinJS/Controls/ListView/_VirtualizeContentsView",["exports","../../Core/_Global","../../Core/_Base","../../Core/_BaseUtils","../../Promise","../../_Signal","../../Scheduler","../../Utilities/_Dispose","../../Utilities/_ElementUtilities","../../Utilities/_SafeHtml","../../Utilities/_UI","../ItemContainer/_Constants","../ItemContainer/_ItemEventsHandler","./_Helpers","./_ItemsContainer"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"use strict";function p(a,b){i._setAttribute(a,"aria-flowto",b.id),i._setAttribute(b,"x-ms-aria-flowfrom",a.id)}c.Namespace._moduleDefine(a,"WinJS.UI",{_VirtualizeContentsView:c.Namespace._lazy(function(){function a(b){for(var c,d=b.job._workItems;d.length&&!b.shouldYield;)(c=d.shift())();b.setWork(a),d.length||b.job.pause()}function q(b,c){var d=g.schedule(a,b,null,c);return d._workItems=[],d.addWork=function(a,b){b?this._workItems.unshift(a):this._workItems.push(a),this.resume()},d.clearWork=function(){this._workItems.length=0},d.dispose=function(){this.cancel(),this._workItems.length=0},d}function r(a){return a._zooming||a._pinching}function s(a,b){return a._isZombie()?e.wrap():r(a)?(+b!==b&&(b=v._waitForSeZoTimeoutDuration),e.timeout(v._waitForSeZoIntervalDuration).then(function(){return b-=v._waitForSeZoIntervalDuration,0>=b?!0:s(a,b)})):e.wrap()}function t(a){if("number"==typeof a){var b=a;a=function(){return{position:b,direction:"right"}}}return a}function u(){}var v=c.Class.define(function(a){this._listView=a,this._forceRelayout=!1,this.items=new o._ItemsContainer(a),this.firstIndexDisplayed=-1,this.lastIndexDisplayed=-1,this.begin=0,this.end=0,this._realizePass=1,this._firstLayoutPass=!0,this._runningAnimations=null,this._renderCompletePromise=e.wrap(),this._state=new w(this),this._createLayoutSignal(),this._createTreeBuildingSignal(),this._layoutWork=null,this._onscreenJob=q(g.Priority.aboveNormal,"on-screen items"),this._frontOffscreenJob=q(g.Priority.normal,"front off-screen items"),this._backOffscreenJob=q(g.Priority.belowNormal,"back off-screen items"),this._scrollbarPos=0,this._direction="right",this._scrollToFunctor=t(0) -},{_dispose:function(){this.cleanUp(),this.items=null,this._renderCompletePromise&&this._renderCompletePromise.cancel(),this._renderCompletePromise=null,this._onscreenJob.dispose(),this._frontOffscreenJob.dispose(),this._backOffscreenJob.dispose()},_createItem:function(a,b,c,d){this._listView._writeProfilerMark("createItem("+a+") "+this._getBoundingRectString(a)+",info");var f=this;f._listView._itemsManager._itemFromItemPromiseThrottled(b).done(function(b){b?c(a,b,f._listView._itemsManager._recordFromElement(b)):d(a)},function(b){return d(a),e.wrapError(b)})},_addItem:function(a,b,c,d){if(this._realizePass===d){var e=this._listView._itemsManager._recordFromElement(c);delete this._pendingItemPromises[e.itemPromise.handle],this.items.setItemAt(b,{itemBox:null,container:null,element:c,detached:!0,itemsManagerRecord:e})}},finalItem:function(){return this.containers?e.wrap(this.containers.length-1):e.cancel},_setSkipRealizationForChange:function(a){a?this._realizationLevel!==v._realizationLevel.realize&&(this._realizationLevel=v._realizationLevel.skip):this._realizationLevel=v._realizationLevel.realize},_realizeItems:function(a,b,c,d,h,j,n,o,p,q){function r(a,b){D.push(e._cancelBlocker(b.renderComplete)),v(a)}function s(a,b){function c(a,b){!a.updatedSwipeableAttribute&&(H._listView.itemsDraggable||H._listView.itemsReorderable||H._listView._swipeable)&&a.itemsManagerRecord.renderComplete.done(function(){if(H._realizePass===h){var c=i.hasClass(b,l._nonDraggableClass),d=i.hasClass(b,l._nonSelectableClass),e=H._listView.itemsDraggable||H._listView.itemsReorderable,f=H._listView._selectionAllowed()&&H._listView._swipeBehavior===k.SwipeBehavior.select;e&&!c&&(a.itemBox.draggable=!0),H._listView._swipeable&&(e&&!f&&c||f&&!e&&d||c&&d)&&i.addClass(a.itemBox,l._nonSwipeableClass),a.updatedSwipeableAttribute=!0}})}if(H._listView._writeProfilerMark("_realizeItems_appendedItemsToDom,StartTM"),!H._listView._isZombie()){var d,e=0,f=-1,g=-1;for(d=a;b>=d;d++){var j=H.items.itemDataAt(d);if(j){var o=j.element,p=j.itemBox;p||(p=H._listView._itemBoxTemplate.cloneNode(!0),j.itemBox=p,p.appendChild(o),i.addClass(o,l._itemClass),H._listView._setupAriaSelectionObserver(o),H._listView._isSelected(d)&&m._ItemEventsHandler.renderSelection(p,o,!0,!0),H._listView._currentMode().renderDragSourceOnRealizedItem(d,p)),c(j,o,p);var q=H.getContainer(d);p.parentNode!==q&&(H._appendAndRestoreFocus(q,p),e++,0>f&&(f=d),g=d,j.container=q,H._listView._isSelected(d)&&i.addClass(q,l._selectedClass),i.removeClass(q,l._backdropClass),H.items.elementAvailable(d))}}H._listView._writeProfilerMark("_realizeItems_appendedItemsToDom,StopTM"),e>0&&(H._listView._writeProfilerMark("_realizeItems_appendedItemsToDom:"+e+" ("+f+"-"+g+"),info"),H._reportElementsLevel(n))}}function t(a,b,c,d){function e(a,b){var c=H.items.itemDataAt(a);if(c){var d=c.itemBox;return d&&d.parentNode?b?(i.addClass(d.parentNode,l._backdropClass),d.parentNode.removeChild(d),!0):!1:!0}return!0}if(!q){for(var f=!1;a>=c;)f=e(a,f),a--;for(f=!1;d>=b;)f=e(b,f),b++}}function u(a,b,c,d,f){function g(a){var b=H.items.itemDataAt(a);if(b){var d=b.itemsManagerRecord;d.readyComplete||H._realizePass!==h||c.addWork(function(){H._listView._isZombie()||d.pendingReady&&H._realizePass===h&&(H._listView._writeProfilerMark("pendingReady("+a+"),info"),d.pendingReady())},f)}}for(var i=[],j=a;b>=j;j++){var k=H.items.itemDataAt(j);k&&i.push(k.itemsManagerRecord.itemPromise)}e.join(i).then(function(){if("right"===d)for(var c=a;b>=c;c++)g(c);else for(var c=b;c>=a;c--)g(c)})}function v(a){if(H._realizePass===h){if(a>=o&&p>=a){if(0===--A){if(s(o,p),t(o,p,b,c),H._firstLayoutPass){u(o,p,H._frontOffscreenJob,"right"===n?"left":"right",!0);var d=g.schedulePromiseHigh(null,"WinJS.UI.ListView.entranceAnimation").then(function(){if(!H._listView._isZombie()){H._listView._writeProfilerMark("entranceAnimation,StartTM");var a=H._listView._animateListEntrance(!H._firstEntranceAnimated);return H._firstEntranceAnimated=!0,a}});H._runningAnimations=e.join([H._runningAnimations,d]),H._runningAnimations.done(function(){H._listView._writeProfilerMark("entranceAnimation,StopTM"),H._realizePass===h&&(H._runningAnimations=null,E.complete())}),H._firstLayoutPass=!1,H._listView._isCurrentZoomView&&g.requestDrain(H._onscreenJob.priority)}else u(o,p,H._frontOffscreenJob,n),E.complete();H._updateHeaders(H._listView._canvas,o,p+1).done(function(){F.complete()})}}else o>a?(--C,C%z===0&&s(b,o-1),C||(H._updateHeaders(H._listView._canvas,b,o).done(function(){"right"!==n&&G.complete()}),u(b,o-1,"right"!==n?H._frontOffscreenJob:H._backOffscreenJob,"left"))):a>p&&(--B,B%z===0&&s(p+1,c-1),B||(H._updateHeaders(H._listView._canvas,p+1,c).then(function(){"right"===n&&G.complete()}),u(p+1,c-1,"right"===n?H._frontOffscreenJob:H._backOffscreenJob,"right")));y--,0===y&&(H._renderCompletePromise=e.join(D).then(null,function(a){var b=Array.isArray(a)&&a.some(function(a){return a&&!(a instanceof Error&&"Canceled"===a.name)});return b?e.wrapError(a):void 0}),(H._headerRenderPromises||e.wrap()).done(function(){g.schedule(function(){H._listView._isZombie()?M.cancel():M.complete()},Math.min(H._onscreenJob.priority,H._backOffscreenJob.priority),null,"WinJS.UI.ListView._allItemsRealized")}))}}function w(b,c,d){if(H._realizePass===h){var c=d.element;H._addItem(a,b,c,h),r(b,d)}}var x="_realizeItems("+b+"-"+(c-1)+") visible("+o+"-"+p+")";this._listView._writeProfilerMark(x+",StartTM"),n=n||"right";var y=c-b,z=p-o+1,A=z,B=c-p-1,C=o-b,D=[],E=new f,F=new f,G=new f,H=this;if(y>0){var I=0,J=0,K=0;H.firstIndexDisplayed=o,H.lastIndexDisplayed=p;var L=H._listView._isCurrentZoomView;H._highPriorityRealize&&(H._firstLayoutPass||H._hasAnimationInViewportPending)?(H._highPriorityRealize=!1,H._onscreenJob.priority=g.Priority.high,H._frontOffscreenJob.priority=g.Priority.normal,H._backOffscreenJob.priority=g.Priority.belowNormal):H._highPriorityRealize?(H._highPriorityRealize=!1,H._onscreenJob.priority=g.Priority.high,H._frontOffscreenJob.priority=g.Priority.high-1,H._backOffscreenJob.priority=g.Priority.high-1):L?(H._onscreenJob.priority=g.Priority.aboveNormal,H._frontOffscreenJob.priority=g.Priority.normal,H._backOffscreenJob.priority=g.Priority.belowNormal):(H._onscreenJob.priority=g.Priority.belowNormal,H._frontOffscreenJob.priority=g.Priority.idle,H._backOffscreenJob.priority=g.Priority.idle);var M=new f,N=H._listView._versionManager.cancelOnNotification(M.promise),O=function(a,b){b.startStage1&&b.stage0.then(function(){H._realizePass===h&&b.startStage1&&a.addWork(b.startStage1)})},P=function(a,b){var c=H.items.itemDataAt(b);if(!c){var d=H._listView._itemsManager._itemPromiseAtIndex(b);H._pendingItemPromises[d.handle]=d,delete H._previousRealizationPendingItemPromises[d.handle],a.addWork(function(){if(!H._listView._isZombie()&&(I++,H._createItem(b,d,w,v),!H._listView._isZombie()&&H._realizePass===h&&d.handle)){var c=H._listView._itemsManager._recordFromHandle(d.handle);O(a,c)}})}},Q=function(a,b,c){for(var d=b;c>=d;d++)P(a,d)},R=function(a,b,c){for(var d=c;d>=b;d--)P(a,d)},S=function(a,b,c){for(var d=b;c>=d;d++){var e=H.items.itemDataAt(d);if(e){var f=e.itemsManagerRecord;r(d,f),J++,O(a,f)}}};this._previousRealizationPendingItemPromises=this._pendingItemPromises||{},this._pendingItemPromises={};var T;"left"===n?(R(H._onscreenJob,o,p),R(H._frontOffscreenJob,b,o-1),T=b>o-1):(Q(H._onscreenJob,o,p),Q(H._frontOffscreenJob,p+1,c-1),T=p+1>c-1);for(var U=0,V=Object.keys(this._previousRealizationPendingItemPromises),W=V.length;W>U;U++){var X=V[U];H._listView._itemsManager.releaseItemPromise(this._previousRealizationPendingItemPromises[X])}this._previousRealizationPendingItemPromises={},S(H._onscreenJob,o,p),"left"===n?S(H._frontOffscreenJob,b,o-1):S(H._frontOffscreenJob,p+1,c-1);var Y=A===p-o+1;return H._firstLayoutPass?H._listView._canvas.style.opacity=0:Y?H._listView._showProgressBar(H._listView._element,"50%","50%"):H._listView._hideProgressBar(),H._frontOffscreenJob.pause(),H._backOffscreenJob.pause(),F.promise.done(function(){H._frontOffscreenJob.resume(),T&&G.complete()},function(){M.cancel()}),G.promise.done(function(){H._listView._writeProfilerMark("frontItemsRealized,info"),"left"===n?(Q(H._backOffscreenJob,p+1,c-1),S(H._backOffscreenJob,p+1,c-1)):(R(H._backOffscreenJob,b,o-1),S(H._backOffscreenJob,b,o-1)),H._backOffscreenJob.resume()}),M.promise.done(function(){H._listView._versionManager.clearCancelOnNotification(N),H._listView._writeProfilerMark(x+" complete(created:"+I+" updated:"+J+"),info")},function(a){return H._listView._versionManager.clearCancelOnNotification(N),H._onscreenJob.clearWork(),H._frontOffscreenJob.clearWork(),H._backOffscreenJob.clearWork(),E.cancel(),F.cancel(),H._listView._writeProfilerMark(x+" canceled(created:"+I+" updated:"+J+" clean:"+K+"),info"),e.wrapError(a)}),H._listView._writeProfilerMark(x+",StopTM"),{viewportItemsRealized:F.promise,allItemsRealized:M.promise,loadingCompleted:e.join([M.promise,E.promise]).then(function(){for(var a=[],d=b;c>d;d++){var f=H.items.itemDataAt(d);f&&a.push(f.itemsManagerRecord.itemReadyPromise)}return e._cancelBlocker(e.join(a))})}}return H._listView._writeProfilerMark(x+",StopTM"),{viewportItemsRealized:e.wrap(),allItemsRealized:e.wrap(),loadingCompleted:e.wrap()}},_setAnimationInViewportState:function(a){if(this._hasAnimationInViewportPending=!1,a&&a.length>0)for(var b=this._listView._getViewportLength(),c=this._listView._layout.itemsFromRange(this._scrollbarPos,this._scrollbarPos+b-1),d=0,e=a.length;e>d;d++){var f=a[d];if(f.newIndex>=c.firstIndex&&f.newIndex<=c.lastIndex&&f.newIndex!==f.oldIndex){this._hasAnimationInViewportPending=!0;break}}},_addHeader:function(a,b){var c=this;return this._listView._groups.renderGroup(b).then(function(a){if(a){a.element.tabIndex=0;var d=c._getHeaderContainer(b);a.element.parentNode!==d&&(d.appendChild(a.element),i.addClass(a.element,l._headerClass)),c._listView._groups.setDomElement(b,a.element)}})},_updateHeaders:function(a,b,c){function d(b){var c=g._listView._groups.group(b);if(c&&!c.header){var d=c.headerPromise;return d||(d=c.headerPromise=g._addHeader(a,b),d.done(function(){c.headerPromise=null},function(){c.headerPromise=null})),d}return e.wrap()}function f(){g._headerRenderPromises=null}var g=this;this._listView._groups.removeElements();var h=this._listView._groups.groupFromItem(b),i=h,j=this._listView._groups.groupFromItem(c-1),k=[];if(null!==i)for(;j>=i;i++)k.push(d(i));return this._headerRenderPromises=e.join(k,this._headerRenderPromises).then(f,f),this._headerRenderPromises||e.wrap()},_unrealizeItem:function(a){var b,c=this._listView;this._listView._writeProfilerMark("_unrealizeItem("+a+"),info");var d=c._selection._getFocused();d.type!==k.ObjectType.groupHeader&&d.index===a&&(c._unsetFocusOnItem(),b=!0);var e=this.items.itemDataAt(a),f=e.element,g=e.itemBox;g&&g.parentNode&&(i.removeClass(g.parentNode,l._selectedClass),i.removeClass(g.parentNode,l._footprintClass),i.addClass(g.parentNode,l._backdropClass),g.parentNode.removeChild(g)),e.container=null,c._currentMode().itemUnrealized&&c._currentMode().itemUnrealized(a,g),this.items.removeItem(a),e.removed||c._itemsManager.releaseItem(f),h._disposeElement(f),b&&c._setFocusOnItem(c._selection._getFocused())},_unrealizeGroup:function(a){var b,c=a.header,d=this._listView._selection._getFocused();d.type===k.ObjectType.groupHeader&&this._listView._groups.group(d.index)===a&&(this._listView._unsetFocusOnItem(),b=!0),c.parentNode&&c.parentNode.removeChild(c),h._disposeElement(c),a.header=null,a.left=-1,a.top=-1,b&&this._listView._setFocusOnItem(this._listView._selection._getFocused())},_unrealizeItems:function(a){var b=this,c=0;this.items.eachIndex(function(d){return d=b.end?(b._unrealizeItem(d),a&&++c>=a):void 0});var d=this._listView._groups,e=d.groupFromItem(this.begin);if(null!==e)for(var f=d.groupFromItem(this.end-1),g=0,h=d.length();h>g;g++){var i=d.group(g);(e>g||g>f)&&i.header&&this._unrealizeGroup(i)}},_unrealizeExcessiveItems:function(){var a=this.items.count(),b=this.end-this.begin,c=b+this._listView._maxDeferredItemCleanup;this._listView._writeProfilerMark("_unrealizeExcessiveItems realized("+a+") approved("+c+"),info"),a>c&&this._unrealizeItems(a-c)},_lazilyUnrealizeItems:function(){this._listView._writeProfilerMark("_lazilyUnrealizeItems,StartTM");var a=this;return s(this._listView).then(function(){function b(){a._listView._writeProfilerMark("_lazilyUnrealizeItems,StopTM")}if(a._listView._isZombie())return void b();var c=[];a.items.eachIndex(function(b){(b=a.end)&&c.push(b)}),a._listView._writeProfilerMark("_lazilyUnrealizeItems itemsToUnrealize("+c.length+"),info");var d=[],f=a._listView._groups,h=f.groupFromItem(a.begin);if(null!==h)for(var i=f.groupFromItem(a.end-1),j=0,k=f.length();k>j;j++){var l=f.group(j);(h>j||j>i)&&l.header&&d.push(l)}if(c.length||d.length){var m,n=new e(function(b){function e(f){if(!a._listView._isZombie()){for(var g=-1,h=-1,i=0,j=r(a._listView);c.length&&!j&&!f.shouldYield;){var k=c.shift();a._unrealizeItem(k),i++,0>g&&(g=k),h=k}for(a._listView._writeProfilerMark("unrealizeWorker removeItems:"+i+" ("+g+"-"+h+"),info");d.length&&!j&&!f.shouldYield;)a._unrealizeGroup(d.shift());c.length||d.length?j?f.setPromise(s(a._listView).then(function(){return e})):f.setWork(e):b()}}m=g.schedule(e,g.Priority.belowNormal,null,"WinJS.UI.ListView._lazilyUnrealizeItems")});return n.then(b,function(b){return m.cancel(),a._listView._writeProfilerMark("_lazilyUnrealizeItems canceled,info"),a._listView._writeProfilerMark("_lazilyUnrealizeItems,StopTM"),e.wrapError(b)})}return b(),e.wrap()})},_getBoundingRectString:function(a){var b;if(a>=0&&a0&&-1!==d.firstIndexDisplayed&&-1!==d.lastIndexDisplayed))return e.wrap();d._listView._writeProfilerMark("aria work,StartTM");var h,j,k,l,m,n,o=d._listView._ariaStartMarker,q=d._listView._ariaEndMarker,t=d.begin,u=d.items.itemAt(d.begin);return u?(i._ensureId(u),d._listView._groupsEnabled()?(j=d._listView._groups,k=l=j.groupFromItem(d.begin),m=j.group(l),n=c(l),i._ensureId(m.header),i._setAttribute(m.header,"role",d._listView._headerRole),i._setAttribute(m.header,"x-ms-aria-flowfrom",o.id),p(m.header,u),i._setAttribute(m.header,"tabindex",d._listView._tabIndex)):i._setAttribute(u,"x-ms-aria-flowfrom",o.id),new e(function(e){var o=a;h=g.schedule(function v(a){if(d._listView._isZombie())return void b();for(;t=b;a--)if(f.items.itemAt(a))return f.items.itemAt(a);return null}var f=this;if(!this._listView._isZombie()){this._listView._createAriaMarkers();var g,h,j=this._listView._ariaStartMarker,k=this._listView._ariaEndMarker;if(-1!==b&&-1!==c&&c>=b&&(g=d(),h=e()),!a&&g&&h){if(i._ensureId(g),i._ensureId(h),this._listView._groupsEnabled()){var l=this._listView._groups,m=l.group(l.groupFromItem(b));m.header&&(i._ensureId(m.header),b===m.startIndex?i._setAttribute(j,"aria-flowto",m.header.id):i._setAttribute(j,"aria-flowto",g.id))}else i._setAttribute(j,"aria-flowto",g.id);i._setAttribute(k,"x-ms-aria-flowfrom",h.id)}else p(j,k),this._listView._fireAccessibilityAnnotationCompleteEvent(-1,-1)}},updateAriaForAnnouncement:function(a,b){var c=-1,d=k.ObjectType.item;i.hasClass(a,l._headerClass)?(c=this._listView._groups.index(a),d=k.ObjectType.groupHeader,i._setAttribute(a,"role",this._listView._headerRole),i._setAttribute(a,"tabindex",this._listView._tabIndex)):(c=this.items.index(a),i._setAttribute(a,"aria-setsize",b),i._setAttribute(a,"aria-posinset",c+1),i._setAttribute(a,"role",this._listView._itemRole),i._setAttribute(a,"tabindex",this._listView._tabIndex)),d===k.ObjectType.groupHeader?this._listView._fireAccessibilityAnnotationCompleteEvent(-1,-1,c,c):this._listView._fireAccessibilityAnnotationCompleteEvent(c,c,-1,-1)},_reportElementsLevel:function(a){function b(a,b){for(var c=0,e=a;b>=e;e++){var f=d.itemDataAt(e);f&&f.container&&c++}return c}var c,d=this.items;c=Math.floor("right"===a?100*b(this.firstIndexDisplayed,this.end-1)/(this.end-this.firstIndexDisplayed):100*b(this.begin,this.lastIndexDisplayed)/(this.lastIndexDisplayed-this.begin+1)),this._listView._writeProfilerMark("elementsLevel level("+c+"),info")},_createHeaderContainer:function(a){return this._createSurfaceChild(l._headerContainerClass,a)},_createItemsContainer:function(a){var c=this._createSurfaceChild(l._itemsContainerClass,a),d=b.document.createElement("div");return d.className=l._padderClass,c.appendChild(d),c},_ensureContainerInDOM:function(a){var b=this.containers[a];return b&&!this._listView._canvas.contains(b)?(this._forceItemsBlocksInDOM(a,a+1),!0):!1},_ensureItemsBlocksInDOM:function(a,b){if(this._expandedRange){var c=this._expandedRange.first.index,d=this._expandedRange.last.index+1;c>=a&&b>c?b=Math.max(b,d):d>a&&b>=d&&(a=Math.min(a,c))}this._forceItemsBlocksInDOM(a,b)},_removeRedundantItemsBlocks:function(){-1!==this.begin&&-1!==this.end&&this._forceItemsBlocksInDOM(this.begin,this.end)},_lazilyRemoveRedundantItemsBlocks:function(){this._listView._writeProfilerMark("_lazilyRemoveRedundantItemsBlocks,StartTM");var a=this;return s(this._listView).then(function(){function b(){a._listView._writeProfilerMark("_lazilyRemoveRedundantItemsBlocks,StopTM")}if(a._listView._isZombie())return void b();if(a._expandedRange&&-1!==a.begin&&-1!==a.end&&(a._expandedRange.first.indexa.end)){var c,d=new e(function(b){function d(c){if(!a._listView._isZombie()){for(var e=r(a._listView);a._expandedRange.first.indexa.end&&!e&&!c.shouldYield;){var g=Math.max(a.end,a._expandedRange.last.index-a._blockSize*v._blocksToRelease);a._forceItemsBlocksInDOM(a.begin,g)}a._expandedRange.first.indexa.end?e?c.setPromise(s(a._listView).then(function(){return d})):c.setWork(d):b()}}c=g.schedule(d,g.Priority.belowNormal,null,"WinJS.UI.ListView._lazilyRemoveRedundantItemsBlocks")});return d.then(b,function(b){return c.cancel(),a._listView._writeProfilerMark("_lazilyRemoveRedundantItemsBlocks canceled,info"),a._listView._writeProfilerMark("_lazilyRemoveRedundantItemsBlocks,StopTM"),e.wrapError(b)})}return b(),e.wrap()})},_forceItemsBlocksInDOM:function(a,b){function c(a,b){var c=a.element.firstElementChild;c.style[q]=b}function d(a){for(var b=0;bd;d++)if(a(c,c.itemsBlocks[d]))return}function e(a){n._listView._writeProfilerMark("_itemsBlockExtent,StartTM"),n._listView._itemsBlockExtent=i[n._listView._horizontal()?"getTotalWidth":"getTotalHeight"](a.element),n._listView._writeProfilerMark("_itemsBlockExtent("+n._listView._itemsBlockExtent+"),info"),n._listView._writeProfilerMark("_itemsBlockExtent,StopTM")}function f(){return-1===n._listView._itemsBlockExtent&&d(function(a,b){return b.items.length===n._blockSize&&b.element.parentNode===a.element?(e(b),!0):!1}),-1===n._listView._itemsBlockExtent&&d(function(a,b){return b.items.length===n._blockSize?(a.element.appendChild(b.element),e(b),a.element.removeChild(b.element),!0):!1}),n._listView._itemsBlockExtent}function g(a,b,c){function d(b){var c=a.itemsBlocks[b];c&&c.element.parentNode===a.element&&(a.element.removeChild(c.element),p++)}if(Array.isArray(b))b.forEach(d);else for(var e=b;c>e;e++)d(e)}function h(a,b,c){for(var d=a.element.firstElementChild,e=d,f=b;c>f;f++){var g=a.itemsBlocks[f];g&&(g.element.parentNode!==a.element&&(a.element.insertBefore(g.element,e.nextElementSibling),o++),e=g.element)}}function j(a){if(a=d;d++)c.push(d);return c}var d=b[0],e=b[1],f=a[0],g=a[1];return f>e||d>g?c(f,g):d>f&&g>e?c(f,d-1).concat(c(e+1,g)):d>f?c(f,d-1):g>e?c(e+1,g):null}if(this._blockSize){var m="_forceItemsBlocksInDOM begin("+a+") end("+b+"),";this._listView._writeProfilerMark(m+"StartTM");var n=this,o=0,p=0,q="padding"+(this._listView._horizontal()?"Left":"Top"),r=this._listView._groups.groupFromItem(a),s=this._listView._groups.groupFromItem(b-1),t=this._listView._groups.group(r),u=n.tree[r].itemsContainer,v=Math.floor((a-t.startIndex)/this._blockSize),w=this._listView._groups.group(s),x=n.tree[s].itemsContainer,y=Math.floor((b-1-w.startIndex)/this._blockSize);v&&-1===n._listView._itemsBlockExtent&&d(function(a,b){return b.items.length===n._blockSize&&b.element.parentNode===a.element?(e(b),!0):!1});var z=this._expandedRange?l([this._expandedRange.first.groupIndex,this._expandedRange.last.groupIndex],[r,s]):null;if(z&&z.forEach(j),this._expandedRange&&this._expandedRange.first.groupKey===t.key){var A=l([this._expandedRange.first.block,Number.MAX_VALUE],[v,Number.MAX_VALUE]);A&&g(u,A)}else this._expandedRange&&r>=this._expandedRange.first.groupIndex&&r<=this._expandedRange.last.groupIndex&&g(u,0,v);if(r!==s?(h(u,v,u.itemsBlocks.length),h(x,0,y+1)):h(u,v,y+1),this._expandedRange&&this._expandedRange.last.groupKey===w.key){var A=l([0,this._expandedRange.last.block],[0,y]);A&&g(x,A)}else this._expandedRange&&s>=this._expandedRange.first.groupIndex&&s<=this._expandedRange.last.groupIndex&&g(x,y+1,x.itemsBlocks.length);c(u,v?v*f()+"px":""),r!==s&&c(x,"");for(var B=r+1;s>B;B++)k(B);this._expandedRange={first:{index:a,groupIndex:r,groupKey:t.key,block:v},last:{index:b-1,groupIndex:s,groupKey:w.key,block:y}},this._listView._writeProfilerMark("_forceItemsBlocksInDOM groups("+r+"-"+s+") blocks("+v+"-"+y+") added("+o+") removed("+p+"),info"),this._listView._writeProfilerMark(m+"StopTM")}},_realizePageImpl:function(){var a=this,b="realizePage(scrollPosition:"+this._scrollbarPos+" forceLayout:"+this._forceRelayout+")";return this._listView._writeProfilerMark(b+",StartTM"),this._listView._versionManager.locked?(this._listView._versionManager.unlocked.done(function(){a._listView._isZombie()||a._listView._batchViewUpdates(l._ViewChange.realize,l._ScrollToPriority.low,a._listView.scrollPosition)}),this._listView._writeProfilerMark(b+",StopTM"),e.cancel):new e(function(c){function g(){c(),l.complete()}function h(){a._listView._hideProgressBar(),a._state.setLoadingState(a._listView._LoadingState.viewPortLoaded),a._executeAnimations&&a._setState(F,l.promise)}function j(b){a._updateAriaMarkers(0===b,a.firstIndexDisplayed,a.lastIndexDisplayed),a._state.setLoadingState&&a._state.setLoadingState(a._listView._LoadingState.itemsLoaded)}function k(b){a._listView._clearInsertedItems(),a._listView._groups.removeElements(),h(),j(b),g()}var l=new f;a._state.setLoadingState(a._listView._LoadingState.itemsLoading),a._firstLayoutPass&&a._listView._showProgressBar(a._listView._element,"50%","50%");var m=a.containers.length;if(m){var n=v._pagesToPrefetch,o=v._customPagesToPrefetchMax,p=v._customPagesToPrefetchMin;a._listView._zooming&&(n=0,o=0,p=0);var q,r,s=a._listView._getViewportLength();if(d._isiOS&&!v._disableCustomPagesPrefetch){q="left"===a._direction?o:p;var t=Math.max(0,q-a._scrollbarPos/s);r=Math.min(o,t+("right"===a._direction?o:p))}else q=n,r=n;var u=Math.max(0,a._scrollbarPos-q*s),w=a._scrollbarPos+(1+r)*s,x=a._listView._layout.itemsFromRange(u,w-1);if((x.firstIndex<0||x.firstIndex>=m)&&(x.lastIndex<0||x.lastIndex>=m))a.begin=-1,a.end=-1,a.firstIndexDisplayed=-1,a.lastIndexDisplayed=-1,k(m);else{var y=i._clamp(x.firstIndex,0,m-1),z=i._clamp(x.lastIndex+1,0,m),A=a._listView._layout.itemsFromRange(a._scrollbarPos,a._scrollbarPos+s-1),B=i._clamp(A.firstIndex,0,m-1),C=i._clamp(A.lastIndex,0,m-1);if(a._realizationLevel!==v._realizationLevel.skip||a.lastRealizePass||B!==a.firstIndexDisplayed||C!==a.lastIndexDisplayed)if((a._forceRelayout||y!==a.begin||z!==a.end||B!==a.firstIndexDisplayed||C!==a.lastIndexDisplayed)&&z>y&&w>u){a._listView._writeProfilerMark("realizePage currentInView("+B+"-"+C+") previousInView("+a.firstIndexDisplayed+"-"+a.lastIndexDisplayed+") change("+(B-a.firstIndexDisplayed)+"),info"),a._cancelRealize();var D=a._realizePass;a.begin=y,a.end=z,a.firstIndexDisplayed=B,a.lastIndexDisplayed=C,a.deletesWithoutRealize=0,a._ensureItemsBlocksInDOM(a.begin,a.end);var E=a._realizeItems(a._listView._itemCanvas,a.begin,a.end,m,D,a._scrollbarPos,a._direction,B,C,a._forceRelayout);a._forceRelayout=!1;var G=E.viewportItemsRealized.then(function(){return h(),E.allItemsRealized}).then(function(){return a._realizePass===D?a._updateHeaders(a._listView._canvas,a.begin,a.end).then(function(){j(m)}):void 0}).then(function(){return E.loadingCompleted}).then(function(){a._unrealizeExcessiveItems(),a.lastRealizePass=null,g()},function(b){return a._realizePass===D&&(a.lastRealizePass=null,a.begin=-1,a.end=-1),e.wrapError(b)});a.lastRealizePass=e.join([E.viewportItemsRealized,E.allItemsRealized,E.loadingCompleted,G]),a._unrealizeExcessiveItems()}else a.lastRealizePass?a.lastRealizePass.then(g):k(m);else a.begin=y,a.end=y+Object.keys(a.items._itemData).length,a._updateHeaders(a._listView._canvas,a.begin,a.end).done(function(){a.lastRealizePass=null,k(m)})}}else a.begin=-1,a.end=-1,a.firstIndexDisplayed=-1,a.lastIndexDisplayed=-1,k(m);a._reportElementsLevel(a._direction),a._listView._writeProfilerMark(b+",StopTM")})},realizePage:function(a,b,c,d){this._scrollToFunctor=t(a),this._forceRelayout=this._forceRelayout||b,this._scrollEndPromise=c,this._listView._writeProfilerMark(this._state.name+"_realizePage,info"),this._state.realizePage(d||A)},onScroll:function(a,b){this.realizePage(a,!1,b,C)},reload:function(a,b){this._listView._isZombie()||(this._scrollToFunctor=t(a),this._forceRelayout=!0,this._highPriorityRealize=!!b,this.stopWork(!0),this._listView._writeProfilerMark(this._state.name+"_rebuildTree,info"),this._state.rebuildTree())},refresh:function(a){this._listView._isZombie()||(this._scrollToFunctor=t(a),this._forceRelayout=!0,this._highPriorityRealize=!0,this.stopWork(),this._listView._writeProfilerMark(this._state.name+"_relayout,info"),this._state.relayout())},waitForValidScrollPosition:function(a){var b=this,c=this._listView._viewport[this._listView._scrollLength]-this._listView._getViewportLength();return a>c?b._listView._itemsCount().then(function(c){return b.containers.length=b.containers.length||a.type===k.ObjectType.groupHeader&&b._listView._groups.group(a.index).startIndex>=b.containers.length?b._creatingContainersWork&&b._creatingContainersWork.promise:void 0}).then(function(){return b._getLayoutCompleted()}))},stopWork:function(a){this._listView._writeProfilerMark(this._state.name+"_stop,info"),this._state.stop(a),this._layoutWork&&this._layoutWork.cancel(),a&&this._creatingContainersWork&&this._creatingContainersWork.cancel(),a&&(this._state=new w(this))},_cancelRealize:function(){this._listView._writeProfilerMark("_cancelRealize,StartTM"),(this.lastRealizePass||this.deferTimeout)&&(this._forceRelayout=!0),this._clearDeferTimeout(),this._realizePass++,this._headerRenderPromises&&(this._headerRenderPromises.cancel(),this._headerRenderPromises=null);var a=this.lastRealizePass;a&&(this.lastRealizePass=null,this.begin=-1,this.end=-1,a.cancel()),this._listView._writeProfilerMark("_cancelRealize,StopTM")},resetItems:function(a){if(!this._listView._isZombie()){this.firstIndexDisplayed=-1,this.lastIndexDisplayed=-1,this._runningAnimations=null,this._executeAnimations=!1;var b=this._listView;this._firstLayoutPass=!0,b._unsetFocusOnItem(),b._currentMode().onDataChanged&&b._currentMode().onDataChanged(),this.items.each(function(c,d){a&&d.parentNode&&d.parentNode.parentNode&&d.parentNode.parentNode.removeChild(d.parentNode),b._itemsManager.releaseItem(d),h._disposeElement(d)}),this.items.removeItems(),this._deferredReparenting=[],a&&b._groups.removeElements(),b._clearInsertedItems()}},reset:function(){if(this.stopWork(!0),this._state=new w(this),this.resetItems(),!this._listView._isZombie()){var a=this._listView;a._groups.resetGroups(),a._resetCanvas(),this.tree=null,this.keyToGroupIndex=null,this.containers=null,this._expandedRange=null}},cleanUp:function(){this.stopWork(!0),this._runningAnimations&&this._runningAnimations.cancel();var a=this._listView._itemsManager;this.items.each(function(b,c){a.releaseItem(c),h._disposeElement(c)}),this._listView._unsetFocusOnItem(),this.items.removeItems(),this._deferredReparenting=[],this._listView._groups.resetGroups(),this._listView._resetCanvas(),this.tree=null,this.keyToGroupIndex=null,this.containers=null,this._expandedRange=null,this.destroyed=!0},getContainer:function(a){return this.containers[a]},_getHeaderContainer:function(a){return this.tree[a].header},_getGroups:function(a){if(this._listView._groupDataSource){var b=this._listView._groups.groups,c=[];if(a)for(var d=0,e=b.length;e>d;d++){var f=b[d],g=e>d+1?b[d+1].startIndex:a;c.push({key:f.key,size:g-f.startIndex})}return c}return[{key:"-1",size:a}]},_createChunk:function(a,b,c){function d(a,b){var d=a.element.children,e=d.length,g=Math.min(b-a.items.length,c); -j.insertAdjacentHTMLUnsafe(a.element,"beforeend",n._repeat("
",g));for(var h=0;g>h;h++){var i=d[e+h];a.items.push(i),f.containers.push(i)}}function e(a){var b={header:f._listView._groupDataSource?f._createHeaderContainer():null,itemsContainer:{element:f._createItemsContainer(),items:[]}};f.tree.push(b),f.keyToGroupIndex[a.key]=f.tree.length-1,d(b.itemsContainer,a.size)}var f=this;if(this._listView._writeProfilerMark("createChunk,StartTM"),this.tree.length&&this.tree.length<=a.length){var g=this.tree[this.tree.length-1],h=a[this.tree.length-1].size;if(g.itemsContainer.items.length",g));var i=f.items.length;s=f.element.children;for(var k=0;g>k;k++){var l=s[i+k];f.items.push(l),h.containers.push(l)}c-=g}c>e&&(c=Math.min(c,Math.max(1,Math.floor(e/d))*d));var m=Math.floor(c/d),o=c%d,p="
"+n._repeat("
",d)+"
",q=n._repeat(p,m);o&&(q+="
"+n._repeat("
",o)+"
",m++);var r=b.document.createElement("div");j.setInnerHTMLUnsafe(r,q);for(var s=r.children,t=0;m>t;t++){var u=s[t],v={element:u,items:n._nodeListToArray(u.children)};a.itemsBlocks.push(v);for(var w=0;wl)return f(i,k-l),void this._listView._writeProfilerMark("createChunk,StopTM")}this.tree.lengtha;a++){var c=e.containers[d+a];b.element.appendChild(c),b.items.push(c)}}function h(){b.itemsBlocks=[{element:j.length?j.shift():c(),items:[]}];for(var f=b.itemsBlocks[0],g=0;k>g;g++){if(f.items.length===a){var h=j.length?j.shift():c();b.itemsBlocks.push({element:h,items:[]}),f=b.itemsBlocks[b.itemsBlocks.length-1]}var i=e.containers[d+g];f.element.appendChild(i),f.items.push(i)}b.items=null}var i,j=[],k=0,l=b.itemsBlocks;if(l)for(i=0;ib;b++){var d=a[b];d.parentNode.removeChild(d)}}if(this._executeAnimations=!0,this._modifiedElements=d,!d.handled){d.handled=!0,this._listView._writeProfilerMark("_updateTreeImpl,StartTM");var g,h=this;e||this._unrealizeItems();for(var g=0,j=d.length;j>g;g++)d[g]._itemBox&&d[g]._itemBox.parentNode&&i.removeClass(d[g]._itemBox.parentNode,l._selectedClass);this.items.each(function(a,b,c){c.container&&i.removeClass(c.container,l._selectedClass),c.container&&i.addClass(c.container,l._backdropClass)});var k=this._listView._updateContainers(this._getGroups(a),a,c,d);f(k.removedHeaders),f(k.removedItemsContainers);for(var g=0,j=d.length;j>g;g++){var n=d[g];if(-1!==n.newIndex){if(n.element=this.getContainer(n.newIndex),!n.element)throw"Container missing after updateContainers."}else i.removeClass(n.element,l._backdropClass)}var o=b.document.activeElement;this._listView._canvas.contains(o)&&(this._requireFocusRestore=o),this._deferredReparenting=[],this.items.each(function(a,b,c){var d=h.getContainer(a),e=c.itemBox;e&&d&&(e.parentNode!==d&&(a>=h.firstIndexDisplayed&&a<=h.lastIndexDisplayed?h._appendAndRestoreFocus(d,e):h._deferredReparenting.push({itemBox:e,container:d})),i.removeClass(d,l._backdropClass),c.container=d,i[h._listView.selection._isIncluded(a)?"addClass":"removeClass"](d,l._selectedClass),!h._listView.selection._isIncluded(a)&&i.hasClass(e,l._selectedClass)&&m._ItemEventsHandler.renderSelection(e,c.element,!1,!0))}),this._listView._writeProfilerMark("_updateTreeImpl,StopTM")}},_completeUpdateTree:function(){if(this._deferredReparenting){var a=this._deferredReparenting.length;if(a>0){var b="_completeReparenting("+a+")";this._listView._writeProfilerMark(b+",StartTM");for(var c,d=0;a>d;d++)c=this._deferredReparenting[d],this._appendAndRestoreFocus(c.container,c.itemBox);this._deferredReparenting=[],this._listView._writeProfilerMark(b+",StopTM")}}this._requireFocusRestore=null},_appendAndRestoreFocus:function(a,c){if(c.parentNode!==a){var d;if(this._requireFocusRestore&&(d=b.document.activeElement),this._requireFocusRestore&&this._requireFocusRestore===d&&(a.contains(d)||c.contains(d))&&(this._listView._unsetFocusOnItem(),d=b.document.activeElement),i.empty(a),a.appendChild(c),this._requireFocusRestore&&d===this._listView._keyboardEventsHelper){var e=this._listView._selection._getFocused();e.type===k.ObjectType.item&&this.items.itemBoxAt(e.index)===c&&(i._setActive(this._requireFocusRestore),this._requireFocusRestore=null)}}},_startAnimations:function(){this._listView._writeProfilerMark("startAnimations,StartTM");var a=this;this._hasAnimationInViewportPending=!1;var b=e.as(this._listView._layout.executeAnimations()).then(function(){a._listView._writeProfilerMark("startAnimations,StopTM")});return b},_setState:function(a,b){if(!this._listView._isZombie()){var c=this._state.name;this._state=new a(this,b),this._listView._writeProfilerMark(this._state.name+"_enter from("+c+"),info"),this._state.enter()}},getAdjacent:function(a,b){var c=this;return this.waitForEntityPosition(a).then(function(){return c._listView._layout.getAdjacent(a,b)})},hitTest:function(a,b){if(this._realizedRangeLaidOut)return{index:-1,insertAfterIndex:-1};var c=this._listView._layout.hitTest(a,b);return c.index=i._clamp(c.index,-1,this._listView._cachedCount-1,0),c.insertAfterIndex=i._clamp(c.insertAfterIndex,-1,this._listView._cachedCount-1,0),c},_createTreeBuildingSignal:function(){if(!this._creatingContainersWork){this._creatingContainersWork=new f;var a=this;this._creatingContainersWork.promise.done(function(){a._creatingContainersWork=null},function(){a._creatingContainersWork=null})}},_createLayoutSignal:function(){var a=this;this._layoutCompleted||(this._layoutCompleted=new f,this._layoutCompleted.promise.done(function(){a._layoutCompleted=null},function(){a._layoutCompleted=null})),this._realizedRangeLaidOut||(this._realizedRangeLaidOut=new f,this._realizedRangeLaidOut.promise.done(function(){a._realizedRangeLaidOut=null},function(){a._realizedRangeLaidOut=null}))},_getLayoutCompleted:function(){return this._layoutCompleted?e._cancelBlocker(this._layoutCompleted.promise):e.wrap()},_createSurfaceChild:function(a,c){var d=b.document.createElement("div");return d.className=a,this._listView._canvas.insertBefore(d,c?c.nextElementSibling:null),d},_executeScrollToFunctor:function(){var a=this;return e.as(this._scrollToFunctor?this._scrollToFunctor():null).then(function(b){a._scrollToFunctor=null,b=b||{},+b.position===b.position&&(a._scrollbarPos=b.position),a._direction=b.direction||"right"})}},{_pagesToPrefetch:2,_customPagesToPrefetchMax:6,_customPagesToPrefetchMin:2,_disableCustomPagesPrefetch:!1,_waitForSeZoIntervalDuration:100,_waitForSeZoTimeoutDuration:500,_chunkSize:500,_startupChunkSize:100,_maxTimePerCreateContainers:5,_createContainersJobTimeslice:15,_blocksToRelease:10,_realizationLevel:{skip:"skip",realize:"realize",normal:"normal"}}),w=c.Class.define(function(a){this.view=a,this.view._createTreeBuildingSignal(),this.view._createLayoutSignal()},{name:"CreatedState",enter:function(){this.view._createTreeBuildingSignal(),this.view._createLayoutSignal()},stop:u,realizePage:u,rebuildTree:function(){this.view._setState(x)},relayout:function(){this.view._setState(x)},layoutNewContainers:u,waitForEntityPosition:function(){return this.view._setState(x),this.view._getLayoutCompleted()},updateTree:u}),x=c.Class.define(function(a){this.view=a},{name:"BuildingState",enter:function(){this.canceling=!1,this.view._createTreeBuildingSignal(),this.view._createLayoutSignal();var a=this,b=new f;this.promise=b.promise.then(function(){return a.view._createContainers()}).then(function(){a.view._setState(y)},function(b){return a.canceling||(a.view._setState(w),a.view._listView._raiseViewComplete()),e.wrapError(b)}),b.complete()},stop:function(){this.canceling=!0,this.promise.cancel(),this.view._setState(w)},realizePage:u,rebuildTree:function(){this.canceling=!0,this.promise.cancel(),this.enter()},relayout:u,layoutNewContainers:u,waitForEntityPosition:function(){return this.view._getLayoutCompleted()},updateTree:u}),y=c.Class.define(function(a,b){this.view=a,this.nextStateType=b||A},{name:"LayingoutState",enter:function(){var a=this;this.canceling=!1,this.view._createLayoutSignal(),this.view._listView._writeProfilerMark(this.name+"_enter_layoutItems,StartTM");var b=new f;this.promise=b.promise.then(function(){return a.view._layoutItems()}).then(function(b){return a.view._layoutWork=b.layoutComplete,b.realizedRangeComplete}).then(function(){a.view._listView._writeProfilerMark(a.name+"_enter_layoutItems,StopTM"),a.view._listView._clearInsertedItems(),a.view._setAnimationInViewportState(a.view._modifiedElements),a.view._modifiedElements=[],a.view._modifiedGroups=[],a.view._realizedRangeLaidOut.complete(),a.view._layoutWork.then(function(){a.view._listView._writeProfilerMark(a.name+"_enter_layoutCompleted,info"),a.view._listView._affectedRange.clear(),a.view._layoutCompleted.complete()}),a.canceling||a.view._setState(a.nextStateType)},function(b){return a.view._listView._writeProfilerMark(a.name+"_enter_layoutCanceled,info"),a.canceling||(a.view.firstIndexDisplayed=a.view.lastIndexDisplayed=-1,a.view._updateAriaMarkers(!0,a.view.firstIndexDisplayed,a.view.lastIndexDisplayed),a.view._setState(G)),e.wrapError(b)}),b.complete(),this.canceling&&this.promise.cancel()},cancelLayout:function(a){this.view._listView._writeProfilerMark(this.name+"_cancelLayout,info"),this.canceling=!0,this.promise&&this.promise.cancel(),a&&this.view._setState(z)},stop:function(){this.cancelLayout(!0)},realizePage:u,rebuildTree:function(){this.cancelLayout(!1),this.view._setState(x)},relayout:function(){this.cancelLayout(!1),this.enter()},layoutNewContainers:function(){this.relayout()},waitForEntityPosition:function(){return this.view._getLayoutCompleted()},updateTree:function(a,b,c){return this.view._updateTreeImpl(a,b,c)}}),z=c.Class.define(function(a){this.view=a},{name:"LayoutCanceledState",enter:u,stop:u,realizePage:function(){this.relayout()},rebuildTree:function(){this.view._setState(x)},relayout:function(){this.view._setState(y)},layoutNewContainers:function(){this.relayout()},waitForEntityPosition:function(){return this.view._getLayoutCompleted()},updateTree:function(a,b,c){return this.view._updateTreeImpl(a,b,c)}}),A=c.Class.define(function(a){this.view=a,this.nextState=E,this.relayoutNewContainers=!0},{name:"RealizingState",enter:function(){var a=this,b=new f;this.promise=b.promise.then(function(){return a.view._executeScrollToFunctor()}).then(function(){return a.relayoutNewContainers=!1,e._cancelBlocker(a.view._realizePageImpl())}).then(function(){a.view._state===a&&(a.view._completeUpdateTree(),a.view._listView._writeProfilerMark("RealizingState_to_UnrealizingState"),a.view._setState(a.nextState))},function(b){return a.view._state!==a||a.canceling||(a.view._listView._writeProfilerMark("RealizingState_to_CanceledState"),a.view._setState(B)),e.wrapError(b)}),b.complete()},stop:function(){this.canceling=!0,this.promise.cancel(),this.view._cancelRealize(),this.view._setState(B)},realizePage:function(){this.canceling=!0,this.promise.cancel(),this.enter()},rebuildTree:function(){this.stop(),this.view._setState(x)},relayout:function(){this.stop(),this.view._setState(y)},layoutNewContainers:function(){this.relayoutNewContainers?this.relayout():(this.view._createLayoutSignal(),this.view._relayoutInComplete=!0)},waitForEntityPosition:function(){return this.view._getLayoutCompleted()},updateTree:function(a,b,c){return this.view._updateTreeImpl(a,b,c)},setLoadingState:function(a){this.view._listView._setViewState(a)}}),B=c.Class.define(function(a){this.view=a},{name:"CanceledState",enter:u,stop:function(){this.view._cancelRealize()},realizePage:function(a){this.stop(),this.view._setState(a)},rebuildTree:function(){this.stop(),this.view._setState(x)},relayout:function(a){this.stop(),this.view._setState(y,a)},layoutNewContainers:function(){this.relayout(B)},waitForEntityPosition:function(){return this.view._getLayoutCompleted()},updateTree:function(a,b,c){return this.view._updateTreeImpl(a,b,c)}}),C=c.Class.derive(A,function(a){this.view=a,this.nextState=D,this.relayoutNewContainers=!0},{name:"ScrollingState",setLoadingState:function(){}}),D=c.Class.derive(B,function(a){this.view=a},{name:"ScrollingPausedState",enter:function(){var a=this;this.promise=e._cancelBlocker(this.view._scrollEndPromise).then(function(){a.view._setState(E)})},stop:function(){this.promise.cancel(),this.view._cancelRealize()}}),E=c.Class.define(function(a){this.view=a},{name:"UnrealizingState",enter:function(){var a=this;this.promise=this.view._lazilyUnrealizeItems().then(function(){return a.view._listView._writeProfilerMark("_renderCompletePromise wait starts,info"),a.view._renderCompletePromise}).then(function(){a.view._setState(G)})},stop:function(){this.view._cancelRealize(),this.promise.cancel(),this.view._setState(B)},realizePage:function(a){this.promise.cancel(),this.view._setState(a)},rebuildTree:function(){this.view._setState(x)},relayout:function(){this.view._setState(y)},layoutNewContainers:function(){this.view._createLayoutSignal(),this.view._relayoutInComplete=!0},waitForEntityPosition:function(){return this.view._getLayoutCompleted()},updateTree:function(a,b,c){return this.view._updateTreeImpl(a,b,c)}}),F=c.Class.define(function(a,b){this.view=a,this.realizePromise=b,this.realizeId=1},{name:"RealizingAnimatingState",enter:function(){var a=this;this.animating=!0,this.animatePromise=this.view._startAnimations(),this.animateSignal=new f,this.view._executeAnimations=!1,this.animatePromise.done(function(){a.animating=!1,a.modifiedElements?(a.view._updateTreeImpl(a.count,a.delta,a.modifiedElements),a.modifiedElements=null,a.view._setState(B)):a.animateSignal.complete()},function(b){return a.animating=!1,e.wrapError(b)}),this._waitForRealize()},_waitForRealize:function(){var a=this;this.realizing=!0,this.realizePromise.done(function(){a.realizing=!1});var b=++this.realizeId;e.join([this.realizePromise,this.animateSignal.promise]).done(function(){b===a.realizeId&&(a.view._completeUpdateTree(),a.view._listView._writeProfilerMark("RealizingAnimatingState_to_UnrealizingState"),a.view._setState(E))})},stop:function(a){this.realizePromise.cancel(),this.view._cancelRealize(),a&&(this.animatePromise.cancel(),this.view._setState(B))},realizePage:function(){if(!this.modifiedElements){var a=this;this.realizePromise=this.view._executeScrollToFunctor().then(function(){return e._cancelBlocker(a.view._realizePageImpl())}),this._waitForRealize()}},rebuildTree:function(){this.stop(!0),this.view._setState(x)},relayout:function(){this.stop(!0),this.modifiedElements&&(this.view._updateTreeImpl(this.count,this.delta,this.modifiedElements),this.modifiedElements=null),this.view._setState(y)},layoutNewContainers:function(){this.view._createLayoutSignal(),this.view._relayoutInComplete=!0},waitForEntityPosition:function(){return this.view._getLayoutCompleted()},updateTree:function(a,b,c){if(this.animating){var d=this.modifiedElements;return this.count=a,this.delta=b,this.modifiedElements=c,d?e.cancel:this.animatePromise}return this.view._updateTreeImpl(a,b,c)},setLoadingState:function(a){this.view._listView._setViewState(a)}}),G=c.Class.derive(B,function(a){this.view=a},{name:"CompletedState",enter:function(){this._stopped=!1,this.view._setupDeferredActions(),this.view._realizationLevel=v._realizationLevel.normal,this.view._listView._raiseViewComplete(),this.view._state===this&&this.view._relayoutInComplete&&!this._stopped&&this.view._setState(H)},stop:function(){this._stopped=!0,B.prototype.stop.call(this)},layoutNewContainers:function(){this.view._createLayoutSignal(),this.view._setState(H)},updateTree:function(a,b,c){return this.view._updateTreeImpl(a,b,c,!0)}}),H=c.Class.derive(B,function(a){this.view=a},{name:"LayingoutNewContainersState",enter:function(){var a=this;this.promise=e.join([this.view.deferTimeout,this.view._layoutWork]),this.promise.then(function(){a.view._relayoutInComplete=!1,a.relayout(B)})},stop:function(){this.promise.cancel(),this.view._cancelRealize()},realizePage:function(a){this.stop(),this.view._setState(y,a)},layoutNewContainers:function(){this.view._createLayoutSignal()}});return v})})}),define("require-style!less/desktop/controls",[],function(){}),define("require-style!less/phone/controls",[],function(){}),define("WinJS/Controls/ListView",["../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Events","../Core/_Log","../Core/_Resources","../Core/_WriteProfilerMark","../Animations/_TransitionAnimation","../BindingList","../Promise","../Scheduler","../_Signal","../Utilities/_Control","../Utilities/_Dispose","../Utilities/_ElementUtilities","../Utilities/_Hoverable","../Utilities/_ItemsManager","../Utilities/_SafeHtml","../Utilities/_TabContainer","../Utilities/_UI","../Utilities/_VersionManager","./ItemContainer/_Constants","./ItemContainer/_ItemEventsHandler","./ListView/_BrowseMode","./ListView/_ErrorMessages","./ListView/_GroupFocusCache","./ListView/_GroupsContainer","./ListView/_Helpers","./ListView/_ItemsContainer","./ListView/_Layouts","./ListView/_SelectionManager","./ListView/_VirtualizeContentsView","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G){"use strict";function H(){var a=N;N=[],a=a.filter(function(a){return a._isZombie()?(a._dispose(),!1):!0}),N=N.concat(a)}function I(a){N.push(a),K&&K.cancel(),K=k.timeout(M).then(H)}function J(a){return a.offsetParent?a.offsetParent.offsetWidth-a.offsetLeft-a.offsetWidth:0}var K,L=c._browserStyleEquivalents.transform,M=1e3,N=[],O=p._uniqueID,P=C._ListViewAnimationHelper,Q={get notCompatibleWithSemanticZoom(){return"ListView can only be used with SemanticZoom if randomAccess loading behavior is specified."},get listViewInvalidItem(){return"Item must provide index, key or description of corresponding item."},get listViewViewportAriaLabel(){return g._getWinJSString("ui/listViewViewportAriaLabel").value}},R=c.requireSupportedForProcessing,S={entrance:"entrance",contentTransition:"contentTransition"};b.Namespace.define("WinJS.UI",{ListViewAnimationType:S,ListView:b.Namespace._lazy(function(){var g=b.Class.define(function(){this.clear()},{add:function(a,b){if(a._lastKnownSizeOfData=b,this._range){this._range.start=Math.min(this._range.start,a.start);var c=this._range._lastKnownSizeOfData-this._range.end,d=a._lastKnownSizeOfData-a.end,e=Math.min(c,d);this._range._lastKnownSizeOfData=a._lastKnownSizeOfData,this._range.end=this._range._lastKnownSizeOfData-e}else this._range=a},addAll:function(){this.add({start:0,end:Number.MAX_VALUE},Number.MAX_VALUE)},clear:function(){this._range=null},get:function(){return this._range}}),q=b.Class.define(function(a){this._listView=a},{getPanAxis:function(){return this._listView._getPanAxis()},configureForZoom:function(a,b,c,d){this._listView._configureForZoom(a,b,c,d)},setCurrentItem:function(a,b){this._listView._setCurrentItem(a,b)},getCurrentItem:function(){return this._listView._getCurrentItem()},beginZoom:function(){return this._listView._beginZoom()},positionItem:function(a,b){return this._listView._positionItem(a,b)},endZoom:function(a){this._listView._endZoom(a)},pinching:{get:function(){return this._listView._pinching},set:function(a){this._listView._pinching=a}}}),D=b.Class.define(function(b,c){if(b=b||a.document.createElement("div"),p._supportsTouchActionCrossSlide&&b.classList.add(w._listViewSupportsCrossSlideClass),this._id=b.id||"",this._writeProfilerMark("constructor,StartTM"),c=c||{},b.winControl=this,p.addClass(b,"win-disposable"),this._affectedRange=new g,this._mutationObserver=new p._MutationObserver(this._itemPropertyChange.bind(this)),this._versionManager=null,this._insertedItems={},this._element=b,this._startProperty=null,this._scrollProperty=null,this._scrollLength=null,this._scrolling=!1,this._zooming=!1,this._pinching=!1,this._itemsManager=null,this._canvas=null,this._cachedCount=w._UNINITIALIZED,this._loadingState=this._LoadingState.complete,this._firstTimeDisplayed=!0,this._currentScrollPosition=0,this._lastScrollPosition=0,this._notificationHandlers=[],this._itemsBlockExtent=-1,this._viewportWidth=w._UNINITIALIZED,this._viewportHeight=w._UNINITIALIZED,this._manipulationState=p._MSManipulationEvent.MS_MANIPULATION_STATE_STOPPED,this._maxDeferredItemCleanup=Number.MAX_VALUE,this._groupsToRemove={},this._setupInternalTree(),this._isCurrentZoomView=!0,this._dragSource=!1,this._reorderable=!1,this._groupFocusCache=new A._UnsupportedGroupFocusCache,this._viewChange=w._ViewChange.rebuild,this._scrollToFunctor=null,this._setScrollbarPosition=!1,this._view=new G._VirtualizeContentsView(this),this._selection=new F._SelectionManager(this),this._createTemplates(),this._groupHeaderRenderer=r._trivialHtmlRenderer,this._itemRenderer=r._trivialHtmlRenderer,this._groupHeaderRelease=null,this._itemRelease=null,c.itemDataSource)this._dataSource=c.itemDataSource;else{var d=new j.List;this._dataSource=d.dataSource}this._selectionMode=u.SelectionMode.multi,this._tap=u.TapBehavior.invokeOnly,this._groupHeaderTap=u.GroupHeaderTapBehavior.invoke,this._swipeBehavior=u.SwipeBehavior.select,this._mode=new y._SelectionMode(this),this._setSwipeClass(),this._groups=new B._NoGroups(this),this._updateItemsAriaRoles(),this._updateGroupHeadersAriaRoles(),this._element.setAttribute("aria-multiselectable",this._multiSelection()),this._element.tabIndex=-1,this._tabManager.tabIndex=this._tabIndex,"absolute"!==this._element.style.position&&"relative"!==this._element.style.position&&(this._element.style.position="relative"),this._updateItemsManager(),c.layout||this._updateLayout(new E.GridLayout),this._attachEvents(),this._runningInit=!0,n.setOptions(this,c),this._runningInit=!1,this._batchViewUpdates(w._ViewChange.rebuild,w._ScrollToPriority.medium,0),this._writeProfilerMark("constructor,StopTM")},{element:{get:function(){return this._element}},layout:{get:function(){return this._layoutImpl},set:function(a){this._updateLayout(a),this._runningInit||(this._view.reset(),this._updateItemsManager(),this._batchViewUpdates(w._ViewChange.rebuild,w._ScrollToPriority.medium,0,!0))}},pagesToLoad:{get:function(){return 2*G._VirtualizeContentsView._pagesToPrefetch+1},set:function(){p._deprecated(z.pagesToLoadIsDeprecated)}},pagesToLoadThreshold:{get:function(){return 0},set:function(){p._deprecated(z.pagesToLoadThresholdIsDeprecated)}},groupDataSource:{get:function(){return this._groupDataSource},set:function(a){function b(a){a.detail===u.DataSourceStatus.failure&&(c.itemDataSource=null,c.groupDataSource=null)}this._writeProfilerMark("set_groupDataSource,info");var c=this;this._groupDataSource&&this._groupDataSource.removeEventListener&&this._groupDataSource.removeEventListener("statuschanged",b,!1),this._groupDataSource=a,this._groupFocusCache=a&&this._supportsGroupHeaderKeyboarding?new A._GroupFocusCache(this):new A._UnsupportedGroupFocusCache,this._groupDataSource&&this._groupDataSource.addEventListener&&this._groupDataSource.addEventListener("statuschanged",b,!1),this._createGroupsContainer(),this._runningInit?(this._updateGroupWork(),this._resetLayout()):(this._view.reset(),this._pendingLayoutReset=!0,this._pendingGroupWork=!0,this._batchViewUpdates(w._ViewChange.rebuild,w._ScrollToPriority.medium,0,!0))}},_updateGroupWork:function(){this._pendingGroupWork=!1,this._groupDataSource?p.addClass(this._element,w._groupsClass):p.removeClass(this._element,w._groupsClass),this._resetLayout()},automaticallyLoadPages:{get:function(){return!1},set:function(){p._deprecated(z.automaticallyLoadPagesIsDeprecated)}},loadingBehavior:{get:function(){return"randomAccess"},set:function(){p._deprecated(z.loadingBehaviorIsDeprecated)}},selectionMode:{get:function(){return this._selectionMode},set:function(a){if("string"==typeof a&&a.match(/^(none|single|multi)$/)){if(c.isPhone&&a===u.SelectionMode.single)return;return this._selectionMode=a,this._element.setAttribute("aria-multiselectable",this._multiSelection()),this._updateItemsAriaRoles(),this._setSwipeClass(),void this._configureSelectionMode()}throw new d("WinJS.UI.ListView.ModeIsInvalid",z.modeIsInvalid)}},tapBehavior:{get:function(){return this._tap},set:function(a){c.isPhone&&a===u.TapBehavior.directSelect||(this._tap=a,this._updateItemsAriaRoles(),this._configureSelectionMode())}},groupHeaderTapBehavior:{get:function(){return this._groupHeaderTap},set:function(a){this._groupHeaderTap=a,this._updateGroupHeadersAriaRoles()}},swipeBehavior:{get:function(){return this._swipeBehavior},set:function(a){this._swipeBehavior=a,this._setSwipeClass()}},itemDataSource:{get:function(){return this._itemsManager.dataSource},set:function(a){this._writeProfilerMark("set_itemDataSource,info"),this._dataSource=a||(new j.List).dataSource,this._groupFocusCache.clear(),this._runningInit||(this._selection._reset(),this._cancelAsyncViewWork(!0),this._updateItemsManager(),this._pendingLayoutReset=!0,this._batchViewUpdates(w._ViewChange.rebuild,w._ScrollToPriority.medium,0,!0))}},itemTemplate:{get:function(){return this._itemRenderer},set:function(a){this._setRenderer(a,!1),this._runningInit||(this._cancelAsyncViewWork(!0),this._updateItemsManager(),this._pendingLayoutReset=!0,this._batchViewUpdates(w._ViewChange.rebuild,w._ScrollToPriority.medium,0,!0))}},resetItem:{get:function(){return this._itemRelease},set:function(a){p._deprecated(z.resetItemIsDeprecated),this._itemRelease=a}},groupHeaderTemplate:{get:function(){return this._groupHeaderRenderer},set:function(a){this._setRenderer(a,!0),this._runningInit||(this._cancelAsyncViewWork(!0),this._pendingLayoutReset=!0,this._batchViewUpdates(w._ViewChange.rebuild,w._ScrollToPriority.medium,0,!0))}},resetGroupHeader:{get:function(){return this._groupHeaderRelease},set:function(a){p._deprecated(z.resetGroupHeaderIsDeprecated),this._groupHeaderRelease=a}},loadingState:{get:function(){return this._loadingState}},selection:{get:function(){return this._selection}},indexOfFirstVisible:{get:function(){return this._view.firstIndexDisplayed},set:function(a){if(!(0>a)){this._writeProfilerMark("set_indexOfFirstVisible("+a+"),info"),this._raiseViewLoading(!0);var b=this;this._batchViewUpdates(w._ViewChange.realize,w._ScrollToPriority.high,function(){var c;return b._entityInRange({type:u.ObjectType.item,index:a}).then(function(a){return a.inRange?b._getItemOffset({type:u.ObjectType.item,index:a.index}).then(function(a){return c=a,b._ensureFirstColumnRange(u.ObjectType.item)}).then(function(){return c=b._correctRangeInFirstColumn(c,u.ObjectType.item),c=b._convertFromCanvasCoordinates(c),b._view.waitForValidScrollPosition(c.begin)}).then(function(a){var c=ac)){this._raiseViewLoading(!0);var d=this;this._batchViewUpdates(w._ViewChange.realize,w._ScrollToPriority.high,function(){var a;return d._entityInRange({type:b,index:c}).then(function(c){return c.inRange?d._getItemOffset({type:b,index:c.index}).then(function(c){return a=c,d._ensureFirstColumnRange(b)}).then(function(){a=d._correctRangeInFirstColumn(a,b);var e=d._getViewportLength(),f=d._viewportScrollPosition,g=f+e,h=d._viewportScrollPosition,i=a.end-a.begin;a=d._convertFromCanvasCoordinates(a);var j=!1;if(b===u.ObjectType.groupHeader&&f<=a.begin){var k=d._groups.group(c.index).header;if(k){var l,m=E._getMargins(k);if(d._horizontalLayout){var n=d._rtl(),o=n?J(k)-m.right:k.offsetLeft-m.left;l=o+k.offsetWidth+(n?m.left:m.right)}else l=k.offsetTop+k.offsetHeight+m.top;j=g>=l}}j||(i>=g-f?h=a.begin:a.beging&&(h=a.end-e));var q=h=0&&b>c,index:c}});var b=p._clamp(a.index,0,this._groups.length()-1);return k.wrap({inRange:b>=0&&bb;b++)this._insertedItems[a[b]].release();this._insertedItems={},this._modifiedElements=[],this._countDifference=0},_cancelAsyncViewWork:function(a){this._view.stopWork(a)},_updateView:function(){function a(){c._itemsBlockExtent=-1,c._firstItemRange=null,c._firstHeaderRange=null,c._itemMargins=null,c._headerMargins=null,c._canvasMargins=null,c._cachedRTL=null,c._rtl()}function b(){c._scrollToPriority=w._ScrollToPriority.uninitialized;var a=c._setScrollbarPosition;c._setScrollbarPosition=!1;var b="number"==typeof c._scrollToFunctor?{position:c._scrollToFunctor}:c._scrollToFunctor();return k.as(b).then(function(b){return b=b||{},a&&+b.position===b.position&&(c._lastScrollPosition=b.position,c._viewportScrollPosition=b.position),b},function(b){return c._setScrollbarPosition|=a,k.wrapError(b)})}if(!this._isZombie()){var c=this,d=this._viewChange;this._viewChange=w._ViewChange.realize,d===w._ViewChange.rebuild?(this._pendingGroupWork&&this._updateGroupWork(),this._pendingLayoutReset&&this._resetLayout(),a(),this._firstTimeDisplayed||this._view.reset(),this._view.reload(b,!0),this._setFocusOnItem(this._selection._getFocused())):d===w._ViewChange.remeasure?(this._view.resetItems(!0),this._resetLayout(),a(),this._view.refresh(b),this._setFocusOnItem(this._selection._getFocused())):d===w._ViewChange.relayout?(this._pendingLayoutReset&&(this._resetLayout(),a()),this._view.refresh(b)):this._view.onScroll(b)}},_batchViewUpdates:function(a,b,c,d,e){if(this._viewChange=Math.min(this._viewChange,a),(null===this._scrollToFunctor||b>=this._scrollToPriority)&&(this._scrollToPriority=b,this._scrollToFunctor=c),this._setScrollbarPosition|=!!d,!this._batchingViewUpdates){this._raiseViewLoading();var f=this;this._batchingViewUpdatesSignal=new m,this._batchingViewUpdates=k.any([this._batchingViewUpdatesSignal.promise,l.schedulePromiseHigh(null,"WinJS.UI.ListView._updateView")]).then(function(){return f._isZombie()?void 0:f._viewChange!==w._ViewChange.rebuild||f._firstTimeDisplayed||0===Object.keys(f._view.items._itemData).length||e?void 0:f._fadeOutViewport()}).then(function(){f._batchingViewUpdates=null,f._batchingViewUpdatesSignal=null,f._updateView(),f._firstTimeDisplayed=!1},function(){f._batchingViewUpdates=null,f._batchingViewUpdatesSignal=null})}return this._batchingViewUpdatesSignal},_resetCanvas:function(){if(!this._disposed){var b=a.document.createElement("div");b.className=this._canvas.className,this._viewport.replaceChild(b,this._canvas),this._canvas=b,this._groupsToRemove={},this._canvas.appendChild(this._canvasProxy)}},_setupInternalTree:function(){p.addClass(this._element,w._listViewClass),p[this._rtl()?"addClass":"removeClass"](this._element,w._rtlListViewClass),this._element.innerHTML='
',this._viewport=this._element.firstElementChild,this._canvas=this._viewport.firstElementChild,this._canvasProxy=this._canvas.firstElementChild,this._deleteWrapper=this._canvas.nextElementSibling,this._keyboardEventsHelper=this._viewport.nextElementSibling,this._tabIndex=p.getTabIndex(this._element),this._tabIndex<0&&(this._tabIndex=0),this._tabManager=new t.TabContainer(this._viewport),this._tabManager.tabIndex=this._tabIndex,this._progressBar=a.document.createElement("progress"),p.addClass(this._progressBar,w._progressClass),this._progressBar.style.position="absolute",this._progressBar.max=100},_unsetFocusOnItem:function(b){this._tabManager.childFocus&&this._clearFocusRectangle(this._tabManager.childFocus),this._isZombie()||(b||(this._tabManager.childFocus&&(this._tabManager.childFocus=null),this._keyboardEventsHelper._shouldHaveFocus=!1,a.document.activeElement!==this._viewport&&this._hasKeyboardFocus&&(this._keyboardEventsHelper._shouldHaveFocus=!0,p._setActive(this._keyboardEventsHelper))),this._itemFocused=!1)},_setFocusOnItem:function(a){if(this._writeProfilerMark("_setFocusOnItem,info"),this._focusRequest&&this._focusRequest.cancel(),!this._isZombie()){var b=this,c=function(c){b._isZombie()||(b._tabManager.childFocus!==c&&(b._tabManager.childFocus=c),b._focusRequest=null,b._hasKeyboardFocus&&!b._itemFocused&&(b._selection._keyboardFocused()&&b._drawFocusRectangle(c),b._view.updateAriaForAnnouncement(c,a.type===u.ObjectType.groupHeader?b._groups.length():b._cachedCount),b._itemFocused=!0,p._setActive(c)))};this._focusRequest=a.type!==u.ObjectType.groupHeader?this._view.items.requestItem(a.index):this._groups.requestHeader(a.index),this._focusRequest.then(c)}},_attachEvents:function(){function a(a,b,c){return{name:b?a:a.toLowerCase(),handler:function(b){d["_on"+a](b)},capture:c}}function b(a,b,c){return{capture:c,name:b?a:a.toLowerCase(),handler:function(b){var c=d._mode,e="on"+a;!d._disposed&&c[e]&&c[e](b)}}}function c(a,b){return{handler:function(b){d["_on"+a](b)},filter:b}}var d=this,e=[c("PropertyChange",["dir","style","tabindex"])];this._cachedStyleDir=this._element.style.direction,e.forEach(function(a){new p._MutationObserver(a.handler).observe(d._element,{attributes:!0,attributeFilter:a.filter})});var f=[b("PointerDown"),b("click",!1),b("PointerUp"),b("LostPointerCapture"),b("MSHoldVisual",!0),b("PointerCancel",!0),b("DragStart"),b("DragOver"),b("DragEnter"),b("DragLeave"),b("Drop"),b("ContextMenu"),b("MSManipulationStateChanged",!0,!0)];f.forEach(function(a){p._addEventListener(d._viewport,a.name,a.handler,!!a.capture)});var g=[a("FocusIn",!1,!1),a("FocusOut",!1,!1),b("KeyDown"),b("KeyUp"),a("MSElementResize",!1,!1)];g.forEach(function(a){p._addEventListener(d._element,a.name,a.handler,!!a.capture)}),this._onMSElementResizeBound=this._onMSElementResize.bind(this),p._resizeNotifier.subscribe(this._element,this._onMSElementResizeBound);var h=[a("MSManipulationStateChanged",!0),a("Scroll")];h.forEach(function(a){d._viewport.addEventListener(a.name,a.handler,!1)}),this._viewport.addEventListener("onTabEnter",this._onTabEnter.bind(this)),this._viewport.addEventListener("onTabExit",this._onTabExit.bind(this)),this._viewport.addEventListener("onTabEntered",function(a){d._mode.onTabEntered(a)}),this._viewport.addEventListener("onTabExiting",function(a){d._mode.onTabExiting(a)})},_updateItemsManager:function(){function a(a){a.detail===u.DataSourceStatus.failure&&(b.itemDataSource=null,b.groupDataSource=null)}var b=this,c={beginNotifications:function(){},changed:function(a,c){if(!b._ifZombieDispose()){b._createUpdater();var d=b._updater.elements[O(c)];if(d){var e=b.selection._isIncluded(d.index);if(e&&(b._updater.updateDrag=!0),c!==a){if((b._tabManager.childFocus===c||b._updater.newFocusedItem===c)&&(b._updater.newFocusedItem=a,b._tabManager.childFocus=null),d.itemBox){p.addClass(a,w._itemClass),b._setupAriaSelectionObserver(a);var f=c.nextElementSibling;d.itemBox.removeChild(c),d.itemBox.insertBefore(a,f)}b._setAriaSelected(a,e),b._view.items.setItemAt(d.newIndex,{element:a,itemBox:d.itemBox,container:d.container,itemsManagerRecord:d.itemsManagerRecord}),delete b._updater.elements[O(c)],o._disposeElement(c),b._updater.elements[O(a)]={item:a,container:d.container,itemBox:d.itemBox,index:d.index,newIndex:d.newIndex,itemsManagerRecord:d.itemsManagerRecord}}else d.itemBox&&d.container&&(x._ItemEventsHandler.renderSelection(d.itemBox,a,e,!0),p[e?"addClass":"removeClass"](d.container,w._selectedClass));b._updater.changed=!0}for(var g=0,h=b._notificationHandlers.length;h>g;g++)b._notificationHandlers[g].changed(a,c);b._writeProfilerMark("changed,info")}},removed:function(a,c,d){function e(a){b._updater.updateDrag=!0,b._currentMode()._dragging&&b._currentMode()._draggingUnselectedItem&&b._currentMode()._dragInfo._isIncluded(a)&&(b._updater.newDragInfo=new F._Selection(b,[]));var c=b._updater.selectionFirst[a],d=b._updater.selectionLast[a],e=c||d;e&&(delete b._updater.selectionFirst[e.oldFirstIndex],delete b._updater.selectionLast[e.oldLastIndex],b._updater.selectionChanged=!0)}if(!b._ifZombieDispose()){b._createUpdater();var f=b._insertedItems[d];f&&delete b._insertedItems[d];var g;if(a){var h=b._updater.elements[O(a)],i=b._itemsManager.itemObject(a);if(i&&b._groupFocusCache.deleteItem(i.key),h){g=h.index,h.itemBox&&b._updater.removed.push({index:g,itemBox:h.itemBox}),b._updater.deletesCount++;var j=b._view.items.itemDataAt(g);j.removed=!0,delete b._updater.elements[O(a)]}else g=i&&i.index;b._updater.oldFocus.type!==u.ObjectType.groupHeader&&b._updater.oldFocus.index===g&&(b._updater.newFocus.index=g,b._updater.focusedItemRemoved=!0),e(g)}else g=b._updater.selectionHandles[d],g===+g&&e(g);b._writeProfilerMark("removed("+g+"),info"),b._updater.changed=!0}},updateAffectedRange:function(a){b._itemsCount().then(function(c){var d=b._view.containers?b._view.containers.length:0;a.start=Math.min(a.start,d),b._affectedRange.add(a,c)}),b._createUpdater(),b._updater.changed=!0},indexChanged:function(a,c,d){if(!b._ifZombieDispose()){if(b._createUpdater(),a){var e=b._itemsManager.itemObject(a);e&&b._groupFocusCache.updateItemIndex(e.key,c);var f=b._updater.elements[O(a)];f&&(f.newIndex=c,b._updater.changed=!0),b._updater.itemsMoved=!0}b._currentMode()._dragging&&b._currentMode()._draggingUnselectedItem&&b._currentMode()._dragInfo._isIncluded(d)&&(b._updater.newDragInfo=new F._Selection(b,[{firstIndex:c,lastIndex:c}]),b._updater.updateDrag=!0),b._updater.oldFocus.type!==u.ObjectType.groupHeader&&b._updater.oldFocus.index===d&&(b._updater.newFocus.index=c,b._updater.changed=!0),b._updater.oldSelectionPivot===d&&(b._updater.newSelectionPivot=c,b._updater.changed=!0);var g=b._updater.selectionFirst[d];g&&(g.newFirstIndex=c,b._updater.changed=!0,b._updater.updateDrag=!0),g=b._updater.selectionLast[d],g&&(g.newLastIndex=c,b._updater.changed=!0,b._updater.updateDrag=!0)}},endNotifications:function(){b._update()},inserted:function(a){b._ifZombieDispose()||(b._writeProfilerMark("inserted,info"),b._createUpdater(),b._updater.changed=!0,a.retain(),b._updater.insertsCount++,b._insertedItems[a.handle]=a)},moved:function(a,c,d,e){if(!b._ifZombieDispose()){if(b._createUpdater(),b._updater.movesCount++,a){b._updater.itemsMoved=!0;var f=b._updater.elements[O(a)];f&&(f.moved=!0)}var g=b._updater.selectionHandles[e.handle];if(g===+g){b._updater.updateDrag=!0;var h=b._updater.selectionFirst[g],i=b._updater.selectionLast[g],j=h||i;j&&j.oldFirstIndex!==j.oldLastIndex&&(delete b._updater.selectionFirst[j.oldFirstIndex],delete b._updater.selectionLast[j.oldLastIndex],b._updater.selectionChanged=!0,b._updater.changed=!0)}b._writeProfilerMark("moved("+g+"),info")}},countChanged:function(a,c){b._ifZombieDispose()||(b._writeProfilerMark("countChanged("+a+"),info"),b._cachedCount=a,b._createUpdater(),b._view.lastIndexDisplayed+1===c&&(b._updater.changed=!0),b._updater.countDifference+=a-c)},reload:function(){b._ifZombieDispose()||(b._writeProfilerMark("reload,info"),b._processReload())}};this._versionManager&&this._versionManager._dispose(),this._versionManager=new v._VersionManager,this._updater=null;var d=this._selection.getRanges();this._selection._selected.clear(),this._itemsManager&&(this._itemsManager.dataSource&&this._itemsManager.dataSource.removeEventListener&&this._itemsManager.dataSource.removeEventListener("statuschanged",a,!1),this._clearInsertedItems(),this._itemsManager.release()),this._itemsCountPromise&&(this._itemsCountPromise.cancel(),this._itemsCountPromise=null),this._cachedCount=w._UNINITIALIZED,this._itemsManager=r._createItemsManager(this._dataSource,this._renderWithoutReuse.bind(this),c,{ownerElement:this._element,versionManager:this._versionManager,indexInView:function(a){return a>=b.indexOfFirstVisible&&a<=b.indexOfLastVisible},viewCallsReady:!0,profilerId:this._id}),this._dataSource.addEventListener&&this._dataSource.addEventListener("statuschanged",a,!1),this._selection._selected.set(d)},_processReload:function(){this._affectedRange.addAll(),this._cancelAsyncViewWork(!0),this._currentMode()._dragging&&this._currentMode()._clearDragProperties(),this._groupFocusCache.clear(),this._selection._reset(),this._updateItemsManager(),this._pendingLayoutReset=!0,this._batchViewUpdates(w._ViewChange.rebuild,w._ScrollToPriority.low,this.scrollPosition)},_createUpdater:function(){if(!this._updater){this.itemDataSource._isVirtualizedDataSource&&this._affectedRange.addAll(),this._versionManager.beginUpdating(),this._cancelAsyncViewWork();var a={changed:!1,elements:{},selectionFirst:{},selectionLast:{},selectionHandles:{},oldSelectionPivot:{type:u.ObjectType.item,index:w._INVALID_INDEX},newSelectionPivot:{type:u.ObjectType.item,index:w._INVALID_INDEX},removed:[],selectionChanged:!1,oldFocus:{type:u.ObjectType.item,index:w._INVALID_INDEX},newFocus:{type:u.ObjectType.item,index:w._INVALID_INDEX},hadKeyboardFocus:this._hasKeyboardFocus,itemsMoved:!1,lastVisible:this.indexOfLastVisible,updateDrag:!1,movesCount:0,insertsCount:0,deletesCount:0,countDifference:0};this._view.items.each(function(b,c,d){a.elements[O(c)]={item:c,container:d.container,itemBox:d.itemBox,index:b,newIndex:b,itemsManagerRecord:d.itemsManagerRecord,detached:d.detached}});for(var b=this._selection._selected._ranges,c=0,d=b.length;d>c;c++){var e=b[c],f={newFirstIndex:b[c].firstIndex,oldFirstIndex:b[c].firstIndex,newLastIndex:b[c].lastIndex,oldLastIndex:b[c].lastIndex};a.selectionFirst[f.oldFirstIndex]=f,a.selectionLast[f.oldLastIndex]=f,a.selectionHandles[e.firstPromise.handle]=f.oldFirstIndex,a.selectionHandles[e.lastPromise.handle]=f.oldLastIndex}a.oldSelectionPivot=this._selection._pivot,a.newSelectionPivot=a.oldSelectionPivot,a.oldFocus=this._selection._getFocused(),a.newFocus=this._selection._getFocused(),this._updater=a}},_synchronize:function(){var a=this._updater;if(this._updater=null,this._groupsChanged=!1,this._countDifference=this._countDifference||0,a&&a.changed){a.itemsMoved&&this._layout.itemsMoved&&this._layout.itemsMoved(),a.removed.length&&this._layout.itemsRemoved&&this._layout.itemsRemoved(a.removed.map(function(a){return a.itemBox})),(a.itemsMoved||a.removed.length||Object.keys(this._insertedItems).length)&&this._layout.setupAnimations&&this._layout.setupAnimations(),this._currentMode().onDataChanged&&this._currentMode().onDataChanged();var b=[];for(var c in a.selectionFirst)if(a.selectionFirst.hasOwnProperty(c)){var d=a.selectionFirst[c];a.selectionChanged=a.selectionChanged||d.newLastIndex-d.newFirstIndex!==d.oldLastIndex-d.oldFirstIndex,d.newFirstIndex<=d.newLastIndex&&b.push({firstIndex:d.newFirstIndex,lastIndex:d.newLastIndex})}if(a.selectionChanged){var e=new F._Selection(this,b);this._selection._fireSelectionChanging(e),this._selection._selected.set(b),this._selection._fireSelectionChanged(),e.clear()}else this._selection._selected.set(b);this._selection._updateCount(this._cachedCount),a.newSelectionPivot=Math.min(this._cachedCount-1,a.newSelectionPivot),this._selection._pivot=a.newSelectionPivot>=0?a.newSelectionPivot:w._INVALID_INDEX,a.newFocus.type!==u.ObjectType.groupHeader&&(a.newFocus.index=Math.max(0,Math.min(this._cachedCount-1,a.newFocus.index))),this._selection._setFocused(a.newFocus,this._selection._keyboardFocused());var f=this._modifiedElements||[],g={};for(this._modifiedElements=[],this._countDifference+=a.countDifference,c=0;c0&&o._updateDeleteWrapperSize(),o._view.updateTree(o._cachedCount,o._countDifference,o._modifiedElements)}).then(function(){return o._lastScrollPosition})}this._countDifference+=a?a.countDifference:0;var o=this;return this._groups.synchronizeGroups().then(function(){return a&&o._versionManager.endUpdating(),o._view.updateTree(o._cachedCount,o._countDifference,o._modifiedElements)}).then(function(){return o.scrollPosition})},_updateDeleteWrapperSize:function(a){var b=this._horizontal()?"width":"height";this._deleteWrapper.style["min-"+b]=(a?0:this.scrollPosition+this._getViewportSize()[b])+"px"},_verifyRealizationNeededForChange:function(){var a=!1,b=(this._view.lastIndexDisplayed||0)-(this._view.firstIndexDisplayed||0),c=this._updater&&0===this._updater.movesCount&&0===this._updater.insertsCount&&this._updater.deletesCount>0&&this._updater.deletesCount===Math.abs(this._updater.countDifference);if(c&&this._updater.elements)for(var d=Object.keys(this._updater.elements),e=0,f=d.length;f>e;e++){var g=this._updater.elements[d[e]],h=g.index-g.newIndex;if(0>h||h>this._updater.deletesCount){c=!1;break}}this._view.deletesWithoutRealize=this._view.deletesWithoutRealize||0,c&&this._view.lastIndexDisplayed ("+a+"x"+b+"),info"),this._previousWidth=a,this._previousHeight=b,this._resizeViewport();var c=this;this._affectedRange.addAll(),this._batchViewUpdates(w._ViewChange.relayout,w._ScrollToPriority.low,function(){return{position:c.scrollPosition,direction:"right"}})}}},l.Priority.max,this,"WinJS.UI.ListView._onMSElementResize")},_onFocusIn:function(a){function b(a){c._changeFocus(c._selection._getFocused(),!0,!1,!1,a)}this._hasKeyboardFocus=!0;var c=this;if(a.target===this._keyboardEventsHelper)!this._keyboardEventsHelper._shouldHaveFocus&&this._keyboardFocusInbound?b(!0):this._keyboardEventsHelper._shouldHaveFocus=!1;else if(a.target===this._element)b();else{if(this._mode.inboundFocusHandled)return void(this._mode.inboundFocusHandled=!1);var d=this._view.items,e={},f=this._groups.headerFrom(a.target),g=null;if(f?(e.type=u.ObjectType.groupHeader,e.index=this._groups.index(f)):(e.index=d.index(a.target),e.type=u.ObjectType.item,f=d.itemBoxAt(e.index),g=d.itemAt(e.index)),e.index!==w._INVALID_INDEX&&((this._keyboardFocusInbound||this._selection._keyboardFocused())&&(e.type===u.ObjectType.groupHeader&&a.target===f||e.type===u.ObjectType.item&&a.target.parentNode===f)&&this._drawFocusRectangle(f),this._tabManager.childFocus!==f&&this._tabManager.childFocus!==g&&(this._selection._setFocused(e,this._keyboardFocusInbound||this._selection._keyboardFocused()),this._keyboardFocusInbound=!1,f=e.type===u.ObjectType.groupHeader?f:d.itemAt(e.index),this._tabManager.childFocus=f,c._updater))){var h=c._updater.elements[O(f)],i=e.index;h&&h.newIndex&&(i=h.newIndex),c._updater.oldFocus={type:e.type,index:i},c._updater.newFocus={type:e.type,index:i}}}},_onFocusOut:function(a){if(!this._disposed){this._hasKeyboardFocus=!1,this._itemFocused=!1;var b=this._view.items.itemBoxFrom(a.target)||this._groups.headerFrom(a.target);b&&this._clearFocusRectangle(b)}},_onMSManipulationStateChanged:function(a){function b(){c._manipulationEndSignal=null}var c=this;this._manipulationState=a.currentState,c._writeProfilerMark("_onMSManipulationStateChanged state("+a.currentState+"),info"),this._manipulationState===p._MSManipulationEvent.MS_MANIPULATION_STATE_STOPPED||this._manipulationEndSignal||(this._manipulationEndSignal=new m,this._manipulationEndSignal.promise.done(b,b)),this._manipulationState===p._MSManipulationEvent.MS_MANIPULATION_STATE_STOPPED&&this._manipulationEndSignal.complete()},_pendingScroll:!1,_onScroll:function(){this._zooming||this._pendingScroll||this._checkScroller()},_checkScroller:function(){if(!this._isZombie()){var a=this._viewportScrollPosition;if(a!==this._lastScrollPosition){this._pendingScroll=c._requestAnimationFrame(this._checkScroller.bind(this)),a=Math.max(0,a);var b=this._scrollDirection(a);this._lastScrollPosition=a,this._raiseViewLoading(!0);var d=this;this._view.onScroll(function(){return{position:d._lastScrollPosition,direction:b}},this._manipulationEndSignal?this._manipulationEndSignal.promise:k.timeout(w._DEFERRED_SCROLL_END))}else this._pendingScroll=null}},_scrollDirection:function(a){var b=a=0&&(b._view.items.each(function(a,b){b.tabIndex=d}),b._tabIndex=d,b._tabManager.tabIndex=d,b._element.tabIndex=-1)}})},_getCanvasMargins:function(){return this._canvasMargins||(this._canvasMargins=E._getMargins(this._canvas)),this._canvasMargins},_convertCoordinatesByCanvasMargins:function(a,b){function c(c,d){void 0!==a[c]&&(a[c]=b(a[c],d))}var d;return this._horizontal()?(d=this._getCanvasMargins()[this._rtl()?"right":"left"],c("left",d)):(d=this._getCanvasMargins().top,c("top",d)),c("begin",d),c("end",d),a},_convertFromCanvasCoordinates:function(a){return this._convertCoordinatesByCanvasMargins(a,function(a,b){return a+b})},_convertToCanvasCoordinates:function(a){return this._convertCoordinatesByCanvasMargins(a,function(a,b){return a-b})},_getViewportSize:function(){return(this._viewportWidth===w._UNINITIALIZED||this._viewportHeight===w._UNINITIALIZED)&&(this._viewportWidth=Math.max(0,p.getContentWidth(this._element)),this._viewportHeight=Math.max(0,p.getContentHeight(this._element)),this._writeProfilerMark("viewportSizeDetected width:"+this._viewportWidth+" height:"+this._viewportHeight),this._previousWidth=this._element.offsetWidth,this._previousHeight=this._element.offsetHeight),{width:this._viewportWidth,height:this._viewportHeight}},_itemsCount:function(){function a(){b._itemsCountPromise=null}var b=this;if(this._cachedCount!==w._UNINITIALIZED)return k.wrap(this._cachedCount);var c;return this._itemsCountPromise?c=this._itemsCountPromise:(c=this._itemsCountPromise=this._itemsManager.dataSource.getCount().then(function(a){return a===u.CountResult.unknown&&(a=0),b._cachedCount=a,b._selection._updateCount(b._cachedCount),a},function(){return k.cancel}),this._itemsCountPromise.then(a,a)),c},_isSelected:function(a){return this._selection._isIncluded(a)},_LoadingState:{itemsLoading:"itemsLoading",viewPortLoaded:"viewPortLoaded",itemsLoaded:"itemsLoaded",complete:"complete"},_raiseViewLoading:function(a){this._loadingState!==this._LoadingState.itemsLoading&&(this._scrolling=!!a),this._setViewState(this._LoadingState.itemsLoading)},_raiseViewComplete:function(){this._disposed||this._view.animating||this._setViewState(this._LoadingState.complete)},_setViewState:function(b){if(b!==this._loadingState){var c=null;switch(b){case this._LoadingState.viewPortLoaded:this._scheduledForDispose||(I(this),this._scheduledForDispose=!0),this._setViewState(this._LoadingState.itemsLoading);break;case this._LoadingState.itemsLoaded:c={scrolling:this._scrolling},this._setViewState(this._LoadingState.viewPortLoaded);break;case this._LoadingState.complete:this._setViewState(this._LoadingState.itemsLoaded),this._updateDeleteWrapperSize(!0)}this._writeProfilerMark("loadingStateChanged:"+b+",info"),this._loadingState=b;var d=a.document.createEvent("CustomEvent");d.initCustomEvent("loadingstatechanged",!0,!1,c),this._element.dispatchEvent(d)}},_createTemplates:function(){function b(b,c){var d=a.document.createElement("div");return d.className=b,c||d.setAttribute("aria-hidden",!0),d}this._itemBoxTemplate=b(w._itemBoxClass,!0)},_updateSelection:function(){var a=this._selection.getIndices(),b=this._selection.isEverything(),c={};if(!b)for(var d=0,e=a.length;e>d;d++){var f=a[d];c[f]=!0}this._view.items.each(function(a,d,e){if(e.itemBox&&!p.hasClass(e.itemBox,w._swipeClass)){var f=b||!!c[a];x._ItemEventsHandler.renderSelection(e.itemBox,d,f,!0),e.container&&p[f?"addClass":"removeClass"](e.container,w._selectedClass)}})},_getViewportLength:function(){return this._getViewportSize()[this._horizontal()?"width":"height"]},_horizontal:function(){return this._horizontalLayout},_rtl:function(){return"boolean"!=typeof this._cachedRTL&&(this._cachedRTL="rtl"===a.getComputedStyle(this._element,null).direction),this._cachedRTL},_showProgressBar:function(a,b,c){var d=this._progressBar,e=d.style;if(!d.parentNode){this._fadingProgressBar=!1,this._progressIndicatorDelayTimer&&this._progressIndicatorDelayTimer.cancel();var f=this;this._progressIndicatorDelayTimer=k.timeout(w._LISTVIEW_PROGRESS_DELAY).then(function(){f._isZombie()||(a.appendChild(d),P.fadeInElement(d),f._progressIndicatorDelayTimer=null)})}e[this._rtl()?"right":"left"]=b,e.top=c},_hideProgressBar:function(){this._progressIndicatorDelayTimer&&(this._progressIndicatorDelayTimer.cancel(),this._progressIndicatorDelayTimer=null);var a=this._progressBar;if(a.parentNode&&!this._fadingProgressBar){this._fadingProgressBar=!0;var b=this;P.fadeOutElement(a).then(function(){a.parentNode&&a.parentNode.removeChild(a),b._fadingProgressBar=!1})}},_getPanAxis:function(){return this._horizontal()?"horizontal":"vertical"},_configureForZoom:function(a,b,e){if(c.validation&&(!this._view.realizePage||"number"!=typeof this._view.begin))throw new d("WinJS.UI.ListView.NotCompatibleWithSemanticZoom",Q.notCompatibleWithSemanticZoom);this._isZoomedOut=a,this._disableEntranceAnimation=!b,this._isCurrentZoomView=b,this._triggerZoom=e},_setCurrentItem:function(a,b){this._rtl()&&(a=this._viewportWidth-a),this._horizontal()?a+=this.scrollPosition:b+=this.scrollPosition;var c=this._view.hitTest(a,b),d={type:c.type?c.type:u.ObjectType.item,index:c.index};d.index>=0&&(this._hasKeyboardFocus?this._changeFocus(d,!0,!1,!0):this._changeFocusPassively(d))},_getCurrentItem:function(){var a=this._selection._getFocused();a.type===u.ObjectType.groupHeader&&(a={type:u.ObjectType.item,index:this._groups.group(a.index).startIndex}),"number"!=typeof a.index&&(this._setCurrentItem(.5*this._viewportWidth,.5*this._viewportHeight),a=this._selection._getFocused());var b=this,c=this._getItemOffsetPosition(a.index).then(function(a){var c=b._canvasStart;return a[b._startProperty]+=c,a});return k.join({item:this._dataSource.itemFromIndex(a.index),position:c})},_animateItemsForPhoneZoom:function(){function a(a,b,c){return function(d){return(b[d]-a)*c}}function b(){for(var a=0,b=c.length;b>a;a++)c[a].style[L.scriptName]=""}for(var c=[],d=[],e=[],f=Number.MAX_VALUE,g=this,h=this._view.firstIndexDisplayed,j=Math.min(this._cachedCount,this._view.lastIndexDisplayed+1);j>h;h++)e.push(this._view.waitForEntityPosition({type:u.ObjectType.item,index:h}).then(function(){c.push(g._view.items.containerAt(h));var a=0;if(g.layout._getItemPosition){var b=g.layout._getItemPosition(h);b.row&&(a=b.row)}d.push(a),f=Math.min(a,f)}));return k.join(e).then(function(){return(0===c.length?k.wrap():i.executeTransition(c,{property:L.cssName,delay:a(f,d,30),duration:100,timing:"ease-in-out",from:g._isCurrentZoomView?"rotateX(0deg)":"rotateX(-90deg)",to:g._isCurrentZoomView?"rotateX(90deg)":"rotateX(0deg)"})).then(b,b)}).then(b,b)},_beginZoom:function(){this._zooming=!0;var a=null;if(c.isPhone){if(this._isZoomedOut)if(this._zoomAnimationPromise&&this._zoomAnimationPromise.cancel(),this._isCurrentZoomView){var b=this,d=function(){b._zoomAnimationPromise=null};this._zoomAnimationPromise=a=this._animateItemsForPhoneZoom().then(d,d)}else this._zoomAnimationPromise=new m,a=this._zoomAnimationPromise.promise}else{var e=this._horizontal(),f=-this.scrollPosition;p.addClass(this._viewport,e?w._zoomingXClass:w._zoomingYClass),this._canvasStart=f,p.addClass(this._viewport,e?w._zoomingYClass:w._zoomingXClass)}return a},_positionItem:function(a,b){function e(a){return f._getItemOffsetPosition(a).then(function(d){var e,g=f._horizontal(),h=f._viewport[g?"scrollWidth":"scrollHeight"],i=g?f._viewportWidth:f._viewportHeight,j=g?"headerContainerWidth":"headerContainerHeight",k=f.layout._sizes,l=0;k&&k[j]&&(l=k[j]);var m=c.isPhone?l:b[f._startProperty],n=i-(g?d.width:d.height);m=Math.max(0,Math.min(n,m)),e=d[f._startProperty]-m;var o=Math.max(0,Math.min(h-i,e)),p=o-e;e=o;var q={type:u.ObjectType.item,index:a};if(f._hasKeyboardFocus?f._changeFocus(q,!0):f._changeFocusPassively(q),f._raiseViewLoading(!0),c.isPhone)f._viewportScrollPosition=e;else{var r=-e;f._canvasStart=r}if(f._view.realizePage(e,!0),c.isPhone&&f._isZoomedOut){var s=function(){f._zoomAnimationPromise&&f._zoomAnimationPromise.complete&&f._zoomAnimationPromise.complete(),f._zoomAnimationPromise=null};f._animateItemsForPhoneZoom().then(s,s)}return g?{x:p,y:0}:{x:0,y:p}})}var f=this,g=0;if(a&&(g=this._isZoomedOut?a.groupIndexHint:a.firstItemIndexHint),"number"==typeof g)return e(g);var h,i=this._isZoomedOut?a.groupKey:a.firstItemKey;if("string"==typeof i&&this._dataSource.itemFromKey)h=this._dataSource.itemFromKey(i,this._isZoomedOut?{groupMemberKey:a.key,groupMemberIndex:a.index}:null);else{var j=this._isZoomedOut?a.groupDescription:a.firstItemDescription;if(c.validation&&void 0===j)throw new d("WinJS.UI.ListView.InvalidItem",Q.listViewInvalidItem);h=this._dataSource.itemFromDescription(j)}return h.then(function(a){return e(a.index)})},_endZoom:function(a){if(!this._isZombie()){if(!c.isPhone){var b=this._canvasStart;p.removeClass(this._viewport,w._zoomingYClass),p.removeClass(this._viewport,w._zoomingXClass),this._canvasStart=0,this._viewportScrollPosition=-b}this._disableEntranceAnimation=!a,this._isCurrentZoomView=a,this._zooming=!1,this._view.realizePage(this.scrollPosition,!1)}},_getItemOffsetPosition:function(a){var b=this;return this._getItemOffset({type:u.ObjectType.item,index:a}).then(function(a){return b._ensureFirstColumnRange(u.ObjectType.item).then(function(){return a=b._correctRangeInFirstColumn(a,u.ObjectType.item),a=b._convertFromCanvasCoordinates(a),b._horizontal()?(a.left=a.begin,a.width=a.end-a.begin,a.height=a.totalHeight):(a.top=a.begin,a.height=a.end-a.begin,a.width=a.totalWidth),a})})},_groupRemoved:function(a){this._groupFocusCache.deleteGroup(a)},_updateFocusCache:function(a){this._updateFocusCacheItemRequest&&this._updateFocusCacheItemRequest.cancel();var b=this;this._updateFocusCacheItemRequest=this._view.items.requestItem(a).then(function(){b._updateFocusCacheItemRequest=null;var c=b._view.items.itemDataAt(a),d=b._groups.groupFromItem(a),e=b._groups.group(d).key;c.itemsManagerRecord.item&&b._groupFocusCache.updateCache(e,c.itemsManagerRecord.item.key,a)})},_changeFocus:function(a,b,c,d,e){if(!this._isZombie()){var f;if(a.type!==u.ObjectType.groupHeader)f=this._view.items.itemAt(a.index),!b&&f&&p.hasClass(f,w._nonSelectableClass)&&(b=!0),this._updateFocusCache(a.index);else{var g=this._groups.group(a.index);f=g&&g.header}this._unsetFocusOnItem(!!f),this._hasKeyboardFocus=!0,this._selection._setFocused(a,e),d||this.ensureVisible(a),!b&&this._selectFocused(c)&&this._selection.set(a.index),this._setFocusOnItem(a)}},_changeFocusPassively:function(a){var b;if(a.type!==u.ObjectType.groupHeader)b=this._view.items.itemAt(a.index),this._updateFocusCache(a.index);else{var c=this._groups.group(a.index);b=c&&c.header}this._unsetFocusOnItem(!!b),this._selection._setFocused(a),this._setFocusOnItem(a)},_drawFocusRectangle:function(b){if(p.hasClass(b,w._headerClass))p.addClass(b,w._itemFocusClass);else{var c=this._view.items.itemBoxFrom(b);if(c.querySelector("."+w._itemFocusOutlineClass))return;p.addClass(c,w._itemFocusClass);var d=a.document.createElement("div");d.className=w._itemFocusOutlineClass,c.appendChild(d)}},_clearFocusRectangle:function(a){if(a&&!this._isZombie()){var b=this._view.items.itemBoxFrom(a);if(b){p.removeClass(b,w._itemFocusClass);var c=b.querySelector("."+w._itemFocusOutlineClass);c&&c.parentNode.removeChild(c)}else{var d=this._groups.headerFrom(a);d&&p.removeClass(d,w._itemFocusClass)}}},_defaultInvoke:function(a){(this._isZoomedOut||c.isPhone&&this._triggerZoom&&a.type===u.ObjectType.groupHeader)&&(this._changeFocusPassively(a),this._triggerZoom())},_selectionAllowed:function(a){var b=void 0!==a?this.elementFromIndex(a):null,c=!(b&&p.hasClass(b,w._nonSelectableClass));return c&&this._selectionMode!==u.SelectionMode.none},_multiSelection:function(){return this._selectionMode===u.SelectionMode.multi},_selectOnTap:function(){return this._tap===u.TapBehavior.toggleSelect||this._tap===u.TapBehavior.directSelect},_selectFocused:function(a){return this._tap===u.TapBehavior.directSelect&&this._selectionMode===u.SelectionMode.multi&&!a},_dispose:function(){if(!this._disposed){this._disposed=!0;var a=function(a){a&&(a.textContent="")};p._resizeNotifier.unsubscribe(this._element,this._onMSElementResizeBound),this._batchingViewUpdates&&this._batchingViewUpdates.cancel(),this._view&&this._view._dispose&&this._view._dispose(),this._mode&&this._mode._dispose&&this._mode._dispose(),this._groups&&this._groups._dispose&&this._groups._dispose(),this._selection&&this._selection._dispose&&this._selection._dispose(),this._layout&&this._layout.uninitialize&&this._layout.uninitialize(),this._itemsCountPromise&&this._itemsCountPromise.cancel(),this._versionManager&&this._versionManager._dispose(),this._clearInsertedItems(),this._itemsManager&&this._itemsManager.release(),this._zoomAnimationPromise&&this._zoomAnimationPromise.cancel(),a(this._viewport),a(this._canvas),a(this._canvasProxy),this._versionManager=null,this._view=null,this._mode=null,this._element=null,this._viewport=null,this._itemsManager=null,this._canvas=null,this._canvasProxy=null,this._itemsCountPromise=null,this._scrollToFunctor=null;var b=N.indexOf(this);b>=0&&N.splice(b,1)}},_isZombie:function(){return this._disposed||!(this.element.firstElementChild&&a.document.body.contains(this.element))},_ifZombieDispose:function(){var a=this._isZombie();return a&&!this._disposed&&I(this),a},_animationsDisabled:function(){return 0===this._viewportWidth||0===this._viewportHeight?!0:!i.isAnimationEnabled()},_fadeOutViewport:function(){var a=this;return new k(function(b){if(a._animationsDisabled())return void b();if(!a._fadingViewportOut){a._waitingEntranceAnimationPromise&&(a._waitingEntranceAnimationPromise.cancel(),a._waitingEntranceAnimationPromise=null);var d=a._fireAnimationEvent(S.contentTransition);a._firedAnimationEvent=!0;var e=c._browserStyleEquivalents["overflow-style"],f=e?a._viewport:a._canvas;d.prevented?(a._disableEntranceAnimation=!0,f.style.opacity=1,b()):(a._fadingViewportOut=!0,e&&(f.style[e.scriptName]="none"),P.fadeOutElement(f).then(function(){a._isZombie()||(a._fadingViewportOut=!1,f.style.opacity=1,b())}))}})},_animateListEntrance:function(a){function b(){e._canvas.style.opacity=1,f&&(g.style[f.scriptName]="")}var d={prevented:!1,animationPromise:k.wrap()},e=this,f=c._browserStyleEquivalents["overflow-style"],g=f?this._viewport:this._canvas;return this._disableEntranceAnimation||this._animationsDisabled()?(b(),this._waitingEntranceAnimationPromise&&(this._waitingEntranceAnimationPromise.cancel(),this._waitingEntranceAnimationPromise=null),k.wrap()):(this._firedAnimationEvent?this._firedAnimationEvent=!1:d=this._fireAnimationEvent(S.entrance),d.prevented||c.isPhone?(b(),k.wrap()):(this._waitingEntranceAnimationPromise&&this._waitingEntranceAnimationPromise.cancel(),this._canvas.style.opacity=0,f&&(g.style[f.scriptName]="none"),this._waitingEntranceAnimationPromise=d.animationPromise.then(function(){return e._isZombie()?void 0:(e._canvas.style.opacity=1,P.animateEntrance(g,a).then(function(){e._isZombie()||(f&&(g.style[f.scriptName]=""),e._waitingEntranceAnimationPromise=null)}))}),this._waitingEntranceAnimationPromise))},_fireAnimationEvent:function(b){var c=a.document.createEvent("CustomEvent"),d=k.wrap();c.initCustomEvent("contentanimating",!0,!0,{type:b}),b===S.entrance&&(c.detail.setPromise=function(a){d=a});var e=!this._element.dispatchEvent(c);return{prevented:e,animationPromise:d}},_createAriaMarkers:function(){this._viewport.getAttribute("aria-label")||this._viewport.setAttribute("aria-label",Q.listViewViewportAriaLabel),this._ariaStartMarker||(this._ariaStartMarker=a.document.createElement("div"),this._ariaStartMarker.id=O(this._ariaStartMarker),this._viewport.insertBefore(this._ariaStartMarker,this._viewport.firstElementChild)),this._ariaEndMarker||(this._ariaEndMarker=a.document.createElement("div"),this._ariaEndMarker.id=O(this._ariaEndMarker),this._viewport.appendChild(this._ariaEndMarker))},_updateItemsAriaRoles:function(){var a,b,c=this,d=this._element.getAttribute("role");this._currentMode().staticMode()?(a="list",b="listitem"):(a="listbox",b="option"),(d!==a||this._itemRole!==b)&&(this._element.setAttribute("role",a),this._itemRole=b,this._view.items.each(function(a,b){b.setAttribute("role",c._itemRole)}))},_updateGroupHeadersAriaRoles:function(){var a=this.groupHeaderTapBehavior===u.GroupHeaderTapBehavior.none?"separator":"link";if(this._headerRole!==a){this._headerRole=a;for(var b=0,c=this._groups.length();c>b;b++){var d=this._groups.group(b).header;d&&d.setAttribute("role",this._headerRole)}}},_setAriaSelected:function(a,b){var c="true"===a.getAttribute("aria-selected");b!==c&&a.setAttribute("aria-selected",b)},_setupAriaSelectionObserver:function(a){a._mutationObserver||(this._mutationObserver.observe(a,{attributes:!0,attributeFilter:["aria-selected"]}),a._mutationObserver=!0)},_itemPropertyChange:function(a){function b(a){a.forEach(function(a){a.item.setAttribute("aria-selected",!a.selected)})}if(!this._isZombie()){for(var c=this,d=c._selectionMode===u.SelectionMode.single,e=[],f=[],g=0,h=a.length;h>g;g++){var i=a[g].target,j=c._view.items.itemBoxFrom(i),k="true"===i.getAttribute("aria-selected");if(j&&k!==p._isSelectionRendered(j)){var l=c._view.items.index(j),n={index:l,item:i,selected:k};(c._selectionAllowed(l)?e:f).push(n)}}if(e.length>0){var o=new m;c.selection._synchronize(o).then(function(){var a=c.selection._cloneSelection();return e.forEach(function(b){b.selected?a[d?"set":"add"](b.index):a.remove(b.index)}),c.selection._set(a)}).then(function(a){c._isZombie()||a||b(e),o.complete()})}b(f)}},_groupsEnabled:function(){return!!this._groups.groupDataSource},_getItemPosition:function(a,b){var c=this;return this._view.waitForEntityPosition(a).then(function(){var d=a.type===u.ObjectType.groupHeader?c._view._getHeaderContainer(a.index):c._view.getContainer(a.index);if(d){c._writeProfilerMark("WinJS.UI.ListView:getItemPosition,info");var e,f;c._view._expandedRange?(e=c._view._expandedRange.first.index,f=c._view._expandedRange.last.index):b=!1,a.type===u.ObjectType.item?(b=!!b,b&=c._view._ensureContainerInDOM(a.index)):b=!1;var g=c._getItemMargins(a.type),h={left:c._rtl()?J(d)-g.right:d.offsetLeft-g.left,top:d.offsetTop-g.top,totalWidth:p.getTotalWidth(d),totalHeight:p.getTotalHeight(d),contentWidth:p.getContentWidth(d),contentHeight:p.getContentHeight(d)};return b&&c._view._forceItemsBlocksInDOM(e,f+1),c._zooming&&0!==c._canvasStart?h:c._convertToCanvasCoordinates(h)}return k.cancel})},_getItemOffset:function(a,b){var c=this;return this._getItemPosition(a,b).then(function(b){var d=c._getItemMargins(a.type);if(c._horizontal()){var e=c._rtl();b.begin=b.left-d[e?"left":"right"],b.end=b.left+b.totalWidth+d[e?"right":"left"]}else b.begin=b.top-d.bottom,b.end=b.top+b.totalHeight+d.top;return b})},_getItemMargins:function(b){b=b||u.ObjectType.item;var c=this,d=function(b){var d,e=c._canvas.querySelector("."+b);e||(e=a.document.createElement("div"),p.addClass(e,b),c._viewport.appendChild(e),d=!0);var f=E._getMargins(e);return d&&c._viewport.removeChild(e),f};return b!==u.ObjectType.groupHeader?this._itemMargins?this._itemMargins:this._itemMargins=d(w._containerClass):this._headerMargins?this._headerMargins:this._headerMargins=d(w._headerContainerClass)},_fireAccessibilityAnnotationCompleteEvent:function(b,c,d,e){var f={firstIndex:b,lastIndex:c,firstHeaderIndex:+d||-1,lastHeaderIndex:+e||-1},g=a.document.createEvent("CustomEvent");g.initCustomEvent("accessibilityannotationcomplete",!0,!1,f),this._element.dispatchEvent(g)},_ensureFirstColumnRange:function(a){var b=a===u.ObjectType.item?"_firstItemRange":"_firstHeaderRange";if(this[b])return k.wrap();var c=this;return this._getItemOffset({type:a,index:0},!0).then(function(a){c[b]=a})},_correctRangeInFirstColumn:function(a,b){var c=b===u.ObjectType.groupHeader?this._firstHeaderRange:this._firstItemRange;return c.begin===a.begin&&(a.begin=this._horizontal()?-this._getCanvasMargins()[this._rtl()?"right":"left"]:-this._getCanvasMargins().top),a},_updateContainers:function(b,c,d,e){function f(){var b=a.document.createElement("div");return b.className=w._containerClass,b}function g(b,c,d){c+d>n&&(d=n-c);var e,f,g=b.itemsContainer,h=g.itemsBlocks,i=h.length?h[h.length-1]:null,j=h.length?(h.length-1)*m._view._blockSize+i.items.length:0,k=d-j;if(k>0){if(i&&i.items.length",l)),e=i.items.length,f=i.element.children;for(var o=0;l>o;o++)i.items.push(f[e+o]);k-=l}var p=Math.floor(k/m._view._blockSize),q=k%m._view._blockSize,u="
"+C._repeat("
",m._view._blockSize)+"
",v=C._repeat(u,p);q&&(v+="
"+C._repeat("
",q)+"
",p++);var w=a.document.createElement("div");s.setInnerHTMLUnsafe(w,v);for(var f=w.children,o=0;p>o;o++){var x=f[o],y={element:x,items:C._nodeListToArray(x.children)};g.itemsBlocks.push(y)}}else if(0>k)for(var z=k;0>z;z++){var A=i.items.pop();!m._view._requireFocusRestore&&A.contains(a.document.activeElement)&&(m._view._requireFocusRestore=a.document.activeElement,m._unsetFocusOnItem()),i.element.removeChild(A),t.push(A),i.items.length||(g.element===i.element.parentNode&&g.element.removeChild(i.element),h.pop(),i=h[h.length-1])}for(var o=0,B=h.length;B>o;o++)for(var x=h[o],z=0;z=b&&a.newIndexh;h++){var j=d[h],k=j.newIndex-b,l=f(),m=kn&&(c=n-b);var d=a.itemsContainer,e=c-d.items.length;if(e>0){var f=d.element.children,g=f.length;s.insertAdjacentHTMLUnsafe(d.element,"beforeend",C._repeat("
",e));for(var h=0;e>h;h++){var i=f[g+h];d.items.push(i)}}for(var h=e;0>h;h++){var i=d.items.pop();d.element.removeChild(i),t.push(i)}for(var h=0,j=d.items.length;j>h;h++)r.push(d.items[h])}function j(a,b){var c=m._view._createHeaderContainer(G),d={header:c,itemsContainer:{element:m._view._createItemsContainer(c)}};return d.itemsContainer[m._view._blockSize?"itemsBlocks":"items"]=[],m._view._blockSize?g(d,b,a.size):i(d,b,a.size),d}function k(a,b,d,f){for(var g,h,i=d+f-1,j=0,k=e.length;k>j;j++){var l=e[j];l.newIndex>=d&&l.newIndex<=i&&-1!==l.oldIndex&&(g!==+g||l.newIndexj;j++){var l=e[j];l.newIndex>=d&&l.newIndexj;j++){var l=e[j];l.oldIndex>=b&&l.oldIndex0){var r=q.element.children;s.insertAdjacentHTMLUnsafe(q.element,"afterBegin",C._repeat("
",h));for(var t=0;h>t;t++){var u=r[t];q.items.splice(t,0,u)}}for(var t=h;0>t;t++){var u=q.items.shift();q.element.removeChild(u)}h&&m._affectedRange.add({start:d,end:d+f},c)}}function l(a){for(var b=0,c=0,d=m._view.tree.length;d>c;c++){var e=m._view.tree[c],f=e.itemsContainer.items.length,g=b+f-1;if(a>=b&&g>=a)return{group:c,item:a-b};b+=f}}var m=this,n=this._view.containers.length+(d>0?d:0),o=[],q={},r=[],t=[],u=[],v=0;if(!m._view._blockSize)for(var x=0,y=this._view.tree.length;y>x;x++)u.push(v),v+=this._view.tree[x].itemsContainer.items.length;if(!m._view._blockSize)for(var z=e.filter(function(a){return-1===a.newIndex&&!a._removalHandled}).sort(function(a,b){return b.oldIndex-a.oldIndex}),x=0,y=z.length;y>x;x++){var A=z[x];A._removalHandled=!0;var B=A._itemBox;A._itemBox=null;var D=l(A.oldIndex),E=this._view.tree[D.group],F=E.itemsContainer.items[D.item];F.parentNode.removeChild(F),p.hasClass(B,w._selectedClass)&&p.addClass(F,w._selectedClass),E.itemsContainer.items.splice(D.item,1),A.element=F}this._view._modifiedGroups=[];var G=this._canvasProxy;v=0;for(var x=0,y=b.length;y>x&&(!this._groupsEnabled()||n>v);x++){var H=b[x],I=this._view.keyToGroupIndex[H.key],J=this._view.tree[I];if(J)m._view._blockSize?g(J,v,H.size):(k(J,u[I],v,H.size),h(J,v,H.size),i(J,v,H.size)),o.push(J),q[H.key]=o.length-1,delete this._view.keyToGroupIndex[H.key],G=J.itemsContainer.element,this._view._modifiedGroups.push({oldIndex:I,newIndex:o.length-1,element:J.header});else{var K=j(H,v);o.push(K),q[H.key]=o.length-1,this._view._modifiedGroups.push({oldIndex:-1,newIndex:o.length-1,element:K.header}),G=K.itemsContainer.element}v+=H.size}for(var L=[],M=[],N=this._view.keyToGroupIndex?Object.keys(this._view.keyToGroupIndex):[],x=0,y=N.length;y>x;x++){var D=this._view.keyToGroupIndex[N[x]],O=this._view.tree[D];if(M.push(O.header),L.push(O.itemsContainer.element),this._view._blockSize)for(var P=0;Px;x++)if(-1===e[x].newIndex&&!e[x]._removalHandled){e[x]._removalHandled=!0;var B=e[x]._itemBox;e[x]._itemBox=null;var F;t.length?(F=t.pop(),p.empty(F)):F=f(),p.hasClass(B,w._selectedClass)&&p.addClass(F,w._selectedClass),F.appendChild(B),e[x].element=F}return this._view.tree=o,this._view.keyToGroupIndex=q,this._view.containers=r,{removedHeaders:M,removedItemsContainers:L}},_writeProfilerMark:function(a){var b="WinJS.UI.ListView:"+this._id+":"+a;h(b),f.log&&f.log(b,null,"listviewprofiler")}},{triggerDispose:function(){H()}});return b.Class.mix(D,e.createEventProperties("iteminvoked","groupheaderinvoked","selectionchanging","selectionchanged","loadingstatechanged","keyboardnavigating","contentanimating","itemdragstart","itemdragenter","itemdragend","itemdragbetween","itemdragleave","itemdragchanged","itemdragdrop","accessibilityannotationcomplete")),b.Class.mix(D,n.DOMEventMixin),D})})}),define("WinJS/Controls/FlipView/_Constants",[],function(){"use strict";var a={};return a.datasourceCountChangedEvent="datasourcecountchanged",a.pageVisibilityChangedEvent="pagevisibilitychanged",a.pageSelectedEvent="pageselected",a.pageCompletedEvent="pagecompleted",a}),define("WinJS/Controls/FlipView/_PageManager",["exports","../../Core/_Global","../../Core/_Base","../../Core/_BaseUtils","../../Core/_ErrorFromName","../../Core/_Log","../../Core/_Resources","../../Core/_WriteProfilerMark","../../Animations","../../Promise","../../_Signal","../../Scheduler","../../Utilities/_Dispose","../../Utilities/_ElementUtilities","../../Utilities/_TabContainer","./_Constants"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){"use strict";c.Namespace._moduleDefine(a,"WinJS.UI",{_FlipPageManager:c.Namespace._lazy(function(){function a(a){var b=a.winControl;return b&&b._isFlipView?!0:!1}function g(a){a.forEach(function(a){var c=a.target;c.winControl&&c.tabIndex>=0&&(c.winControl._pageManager._updateTabIndex(c.tabIndex),c.tabIndex=-1);var d=c.winControl;if(d&&d._isFlipView){var e=!1;"dir"===a.attributeName?e=!0:"style"===a.attributeName&&(e=d._cachedStyleDir!==c.style.direction),e&&(d._cachedStyleDir=c.style.direction,d._pageManager._rtl="rtl"===b.getComputedStyle(d._pageManager._flipperDiv,null).direction,d._pageManager.resized())}})}var q=n._uniqueID,r=d._browserStyleEquivalents,s=50,t=250,u={get badCurrentPage(){return"Invalid argument: currentPage must be a number greater than or equal to zero and be within the bounds of the datasource"}},v=c.Class.define(function(a,c,e,f,h,i,j){this._visibleElements=[],this._flipperDiv=a,this._panningDiv=c,this._panningDivContainer=e,this._buttonVisibilityHandler=j,this._currentPage=null,this._rtl="rtl"===b.getComputedStyle(this._flipperDiv,null).direction,this._itemsManager=f,this._itemSpacing=h,this._tabIndex=n.getTabIndex(a),this._tabIndex<0&&(this._tabIndex=0),c.tabIndex=-1,a.tabIndex=-1,this._tabManager=new o.TabContainer(this._panningDivContainer),this._tabManager.tabIndex=this._tabIndex,this._lastSelectedPage=null,this._lastSelectedElement=null,this._bufferSize=v.flipPageBufferCount,this._cachedSize=-1,this._environmentSupportsTouch=i; -var k=this;this._panningDiv.addEventListener("keydown",function(a){k._blockTabs&&a.keyCode===n.Key.tab&&(a.stopImmediatePropagation(),a.preventDefault())},!0),n._addEventListener(this._flipperDiv,"focusin",function(a){a.target===k._flipperDiv&&k._currentPage.element&&n._setActive(k._currentPage.element)},!1),new n._MutationObserver(g).observe(this._flipperDiv,{attributes:!0,attributeFilter:["dir","style","tabindex"]}),this._cachedStyleDir=this._flipperDiv.style.direction,this._handleManipulationStateChangedBound=this._handleManipulationStateChanged.bind(this),this._environmentSupportsTouch&&this._panningDivContainer.addEventListener(d._browserEventEquivalents.manipulationStateChanged,this._handleManipulationStateChangedBound,!0)},{initialize:function(a,c){var d=null;if(this._panningDivContainerOffsetWidth=this._panningDivContainer.offsetWidth,this._panningDivContainerOffsetHeight=this._panningDivContainer.offsetHeight,this._isHorizontal=c,!this._currentPage){this._bufferAriaStartMarker=b.document.createElement("div"),this._bufferAriaStartMarker.id=q(this._bufferAriaStartMarker),this._panningDiv.appendChild(this._bufferAriaStartMarker),this._currentPage=this._createFlipPage(null,this),d=this._currentPage,this._panningDiv.appendChild(d.pageRoot);for(var e=2*this._bufferSize,f=0;e>f;f++)d=this._createFlipPage(d,this),this._panningDiv.appendChild(d.pageRoot);this._bufferAriaEndMarker=b.document.createElement("div"),this._bufferAriaEndMarker.id=q(this._bufferAriaEndMarker),this._panningDiv.appendChild(this._bufferAriaEndMarker)}this._prevMarker=this._currentPage.prev.prev,this._itemsManager&&this.setNewItemsManager(this._itemsManager,a)},dispose:function(){var a=this._currentPage,b=a;do m._disposeElement(b.element),b=b.next;while(b!==a)},setOrientation:function(a){if(this._notificationsEndedSignal){var b=this;return void this._notificationsEndedSignal.promise.done(function(){b._notificationsEndedSignal=null,b.setOrientation(a)})}if(a!==this._isHorizontal){this._isOrientationChanging=!0,this._isHorizontal?n.setScrollPosition(this._panningDivContainer,{scrollLeft:this._getItemStart(this._currentPage),scrollTop:0}):n.setScrollPosition(this._panningDivContainer,{scrollLeft:0,scrollTop:this._getItemStart(this._currentPage)}),this._isHorizontal=a;var c=this._panningDivContainer.style;c.overflowX="hidden",c.overflowY="hidden";var b=this;d._requestAnimationFrame(function(){b._isOrientationChanging=!1,b._forEachPage(function(a){var b=a.pageRoot.style;b.left="0px",b.top="0px"}),c.overflowX=b._isHorizontal&&b._environmentSupportsTouch?"scroll":"hidden",c.overflowY=b._isHorizontal||!b._environmentSupportsTouch?"hidden":"scroll",b._ensureCentered()})}},resetState:function(a){if(this._writeProfilerMark("WinJS.UI.FlipView:resetState,info"),0!==a){var b=this.jumpToIndex(a,!0);if(!b&&d.validation)throw new e("WinJS.UI.FlipView.BadCurrentPage",u.badCurrentPage);return b}m.disposeSubTree(this._flipperDiv),this._resetBuffer(null,!0);var c=this,f=j.wrap(!0);return this._itemsManager&&(f=c._itemsManager._firstItem().then(function(a){return c._currentPage.setElement(a),c._fetchPreviousItems(!0).then(function(){return c._fetchNextItems()}).then(function(){c._setButtonStates()})})),f.then(function(){c._tabManager.childFocus=c._currentPage.element,c._ensureCentered(),c._itemSettledOn()})},setNewItemsManager:function(a,b){this._itemsManager=a;var c=this;return this.resetState(b).then(function(){0!==b&&(c._tabManager.childFocus=c._currentPage.element,c._ensureCentered(),c._itemSettledOn())})},currentIndex:function(){if(!this._itemsManager)return 0;var a=0,b=this._navigationAnimationRecord?this._navigationAnimationRecord.newCurrentElement:this._currentPage.element;return b&&(a=this._getElementIndex(b)),a},resetScrollPos:function(){this._ensureCentered()},scrollPosChanged:function(){if(this._hasFocus&&(this._hadFocus=!0),this._itemsManager&&this._currentPage.element&&!this._isOrientationChanging){var a=this._getViewportStart(),b=this._lastScrollPos>a?this._getTailOfBuffer():this._getHeadOfBuffer();if(a!==this._lastScrollPos){for(;this._currentPage.element&&this._getItemStart(this._currentPage)>a&&this._currentPage.prev.element;)this._currentPage=this._currentPage.prev,this._fetchOnePrevious(b.prev),b=b.prev;for(;this._currentPage.element&&this._itemEnd(this._currentPage)<=a&&this._currentPage.next.element;)this._currentPage=this._currentPage.next,this._fetchOneNext(b.next),b=b.next;this._setButtonStates(),this._checkElementVisibility(!1),this._blockTabs=!0,this._lastScrollPos=a,this._currentPage.element&&(this._tabManager.childFocus=this._currentPage.element),this._setListEnds(),!this._manipulationState&&this._viewportOnItemStart()&&(this._currentPage.element.setAttribute("aria-setsize",this._cachedSize),this._currentPage.element.setAttribute("aria-posinset",this.currentIndex()+1),this._timeoutPageSelection())}}},itemRetrieved:function(a,b){var c=this;if(this._forEachPage(function(d){return d.element===b?(d===c._currentPage||d===c._currentPage.next?c._changeFlipPage(d,b,a):d.setElement(a,!0),!0):void 0}),this._navigationAnimationRecord&&this._navigationAnimationRecord.elementContainers)for(var d=this._navigationAnimationRecord.elementContainers,e=0,f=d.length;f>e;e++)d[e].element===b&&(c._changeFlipPage(d[e],b,a),d[e].element=a);this._checkElementVisibility(!1)},resized:function(){this._panningDivContainerOffsetWidth=this._panningDivContainer.offsetWidth,this._panningDivContainerOffsetHeight=this._panningDivContainer.offsetHeight;var a=this;this._forEachPage(function(b){b.pageRoot.style.width=a._panningDivContainerOffsetWidth+"px",b.pageRoot.style.height=a._panningDivContainerOffsetHeight+"px"}),this._ensureCentered(),this._writeProfilerMark("WinJS.UI.FlipView:resize,StopTM")},jumpToIndex:function(a,b){if(!b){if(!this._itemsManager||!this._currentPage.element||0>a)return j.wrap(!1);var c=this._getElementIndex(this._currentPage.element),d=Math.abs(a-c);if(0===d)return j.wrap(!1)}var e=j.wrap(!0),f=this;return e=e.then(function(){var c=f._itemsManager._itemPromiseAtIndex(a);return j.join({element:f._itemsManager._itemFromItemPromise(c),item:c}).then(function(a){var c=a.element;return f._resetBuffer(c,b),c?(f._currentPage.setElement(c),f._fetchNextItems().then(function(){return f._fetchPreviousItems(!0)}).then(function(){return!0})):!1})}),e=e.then(function(a){return f._setButtonStates(),a})},startAnimatedNavigation:function(a,b,c){if(this._writeProfilerMark("WinJS.UI.FlipView:startAnimatedNavigation,info"),this._currentPage.element){var d=this._currentPage,e=a?this._currentPage.next:this._currentPage.prev;if(e.element){this._hasFocus&&n._setActive(this._panningDiv),this._navigationAnimationRecord={},this._navigationAnimationRecord.goForward=a,this._navigationAnimationRecord.cancelAnimationCallback=b,this._navigationAnimationRecord.completionCallback=c,this._navigationAnimationRecord.oldCurrentPage=d,this._navigationAnimationRecord.newCurrentPage=e;var f=d.element,g=e.element;this._navigationAnimationRecord.newCurrentElement=g,d.setElement(null,!0),d.elementUniqueID=q(f),e.setElement(null,!0),e.elementUniqueID=q(g);var h=this._createDiscardablePage(f),i=this._createDiscardablePage(g);return h.pageRoot.itemIndex=this._getElementIndex(f),i.pageRoot.itemIndex=h.pageRoot.itemIndex+(a?1:-1),h.pageRoot.style.position="absolute",i.pageRoot.style.position="absolute",h.pageRoot.style.zIndex=1,i.pageRoot.style.zIndex=2,this._setItemStart(h,0),this._setItemStart(i,0),this._blockTabs=!0,this._visibleElements.push(g),this._announceElementVisible(g),this._navigationAnimationRecord.elementContainers=[h,i],{outgoing:h,incoming:i}}}return null},endAnimatedNavigation:function(a,b,c){if(this._writeProfilerMark("WinJS.UI.FlipView:endAnimatedNavigation,info"),this._navigationAnimationRecord&&this._navigationAnimationRecord.oldCurrentPage&&this._navigationAnimationRecord.newCurrentPage){var d=this._restoreAnimatedElement(this._navigationAnimationRecord.oldCurrentPage,b);this._restoreAnimatedElement(this._navigationAnimationRecord.newCurrentPage,c),d||this._setViewportStart(this._getItemStart(a?this._currentPage.next:this._currentPage.prev)),this._navigationAnimationRecord=null,this._itemSettledOn()}},startAnimatedJump:function(a,b,c){if(this._writeProfilerMark("WinJS.UI.FlipView:startAnimatedJump,info"),this._hasFocus&&(this._hadFocus=!0),this._currentPage.element){var d=this._currentPage.element,e=this._getElementIndex(d),f=this;return f.jumpToIndex(a).then(function(g){if(!g)return null;if(f._navigationAnimationRecord={},f._navigationAnimationRecord.cancelAnimationCallback=b,f._navigationAnimationRecord.completionCallback=c,f._navigationAnimationRecord.oldCurrentPage=null,f._forEachPage(function(a){return a.element===d?(f._navigationAnimationRecord.oldCurrentPage=a,!0):void 0}),f._navigationAnimationRecord.newCurrentPage=f._currentPage,f._navigationAnimationRecord.newCurrentPage===f._navigationAnimationRecord.oldCurrentPage)return null;var h=f._currentPage.element;f._navigationAnimationRecord.newCurrentElement=h,f._currentPage.setElement(null,!0),f._currentPage.elementUniqueID=q(h),f._navigationAnimationRecord.oldCurrentPage&&f._navigationAnimationRecord.oldCurrentPage.setElement(null,!0);var i=f._createDiscardablePage(d),j=f._createDiscardablePage(h);return i.pageRoot.itemIndex=e,j.pageRoot.itemIndex=a,i.pageRoot.style.position="absolute",j.pageRoot.style.position="absolute",i.pageRoot.style.zIndex=1,j.pageRoot.style.zIndex=2,f._setItemStart(i,0),f._setItemStart(j,f._itemSize(f._currentPage)),f._visibleElements.push(h),f._announceElementVisible(h),f._navigationAnimationRecord.elementContainers=[i,j],f._blockTabs=!0,{oldPage:i,newPage:j}})}return j.wrap(null)},simulateMouseWheelScroll:function(a){if(!this._environmentSupportsTouch&&!this._waitingForMouseScroll){var c;c="number"==typeof a.deltaY?(a.deltaX||a.deltaY)>0:a.wheelDelta<0;var d=c?this._currentPage.next:this._currentPage.prev;if(d.element){var e={contentX:0,contentY:0,viewportX:0,viewportY:0};e[this._isHorizontal?"contentX":"contentY"]=this._getItemStart(d),n._zoomTo(this._panningDivContainer,e),this._waitingForMouseScroll=!0,b.setTimeout(function(){this._waitingForMouseScroll=!1}.bind(this),n._zoomToDuration+100)}}},endAnimatedJump:function(a,b){this._writeProfilerMark("WinJS.UI.FlipView:endAnimatedJump,info"),this._navigationAnimationRecord.oldCurrentPage?this._navigationAnimationRecord.oldCurrentPage.setElement(a.element,!0):a.element.parentNode&&a.element.parentNode.removeChild(a.element),this._navigationAnimationRecord.newCurrentPage.setElement(b.element,!0),this._navigationAnimationRecord=null,this._ensureCentered(),this._itemSettledOn()},inserted:function(a,b,c,d){this._writeProfilerMark("WinJS.UI.FlipView:inserted,info");var e=this._prevMarker,f=!1,g=!1;if(d&&(this._createAnimationRecord(q(a),null),this._getAnimationRecord(a).inserted=!0),b){do{if(e===this._currentPage&&(f=!0),e.elementUniqueID===q(b)){g=!0;var h,i=e,j=a,k=q(a);if(f)for(;i.next!==this._prevMarker;)h=i.next.element,k=i.next.elementUniqueID,i.next.setElement(j,!0),!j&&k&&(i.next.elementUniqueID=k),j=h,i=i.next;else for(e.elementUniqueID===e.next.elementUniqueID&&e.elementUniqueID&&(i=e.next);i.next!==this._prevMarker;)h=i.element,k=i.elementUniqueID,i.setElement(j,!0),!j&&k&&(i.elementUniqueID=k),j=h,i=i.prev;if(j){var l=!1;this._forEachPage(function(a){return q(j)===a.elementUniqueID?(l=!0,!0):void 0}),l||this._releaseElementIfNotAnimated(j)}break}e=e.next}while(e!==this._prevMarker)}else if(c){for(;e.next!==this._prevMarker&&e.elementUniqueID!==q(c);)e===this._currentPage&&(f=!0),e=e.next;e.elementUniqueID===q(c)&&e!==this._prevMarker?(e.prev.setElement(a),g=!0):this._releaseElementIfNotAnimated(a)}else this._currentPage.setElement(a);this._getAnimationRecord(a).successfullyMoved=g,this._setButtonStates()},changed:function(a,b){this._writeProfilerMark("WinJS.UI.FlipView:changed,info");var c=this;if(this._forEachPage(function(d){if(d.elementUniqueID===q(b)){var e=c._animationRecords[d.elementUniqueID];return e.changed=!0,e.oldElement=b,e.newElement=a,d.element=a,d.elementUniqueID=q(a),c._animationRecords[q(a)]=e,!0}}),this._navigationAnimationRecord&&this._navigationAnimationRecord.elementContainers){for(var d=0,e=this._navigationAnimationRecord.elementContainers.length;e>d;d++){var f=this._navigationAnimationRecord.elementContainers[d];f&&f.elementUniqueID===q(b)&&(f.element=a,f.elementUniqueID=q(a))}var g=this._navigationAnimationRecord.newCurrentElement;g&&q(g)===q(b)&&(this._navigationAnimationRecord.newCurrentElement=a)}},moved:function(a,b,c){this._writeProfilerMark("WinJS.UI.FlipView:moved,info");var d=this._getAnimationRecord(a);d||(d=this._createAnimationRecord(q(a))),d.moved=!0,this.removed(a,!1,!1),b||c?this.inserted(a,b,c,!1):d.successfullyMoved=!1},removed:function(a,b,c){this._writeProfilerMark("WinJS.UI.FlipView:removed,info");var d=this,e=this._prevMarker,f=j.wrap();if(b){var g=!1;return this._forEachPage(function(b){(b.elementUniqueID===q(a)||g)&&(b.setElement(null,!0),g=!0)}),void this._setButtonStates()}if(c){var h=this._getAnimationRecord(a);h&&(h.removed=!0)}if(this._currentPage.elementUniqueID===q(a))this._currentPage.next.elementUniqueID?(this._shiftLeft(this._currentPage),this._ensureCentered()):this._currentPage.prev.elementUniqueID?this._shiftRight(this._currentPage):this._currentPage.setElement(null,!0);else if(e.elementUniqueID===q(a))e.next.element?f=this._itemsManager._previousItem(e.next.element).then(function(b){return b===a&&(b=d._itemsManager._previousItem(b)),b}).then(function(a){e.setElement(a,!0)}):e.setElement(null,!0);else if(e.prev.elementUniqueID===q(a))e.prev.prev&&e.prev.prev.element?f=this._itemsManager._nextItem(e.prev.prev.element).then(function(b){return b===a&&(b=d._itemsManager._nextItem(b)),b}).then(function(a){e.prev.setElement(a,!0)}):e.prev.setElement(null,!0);else{for(var i=this._currentPage.prev,k=!1;i!==e&&!k;)i.elementUniqueID===q(a)&&(this._shiftRight(i),k=!0),i=i.prev;for(i=this._currentPage.next;i!==e&&!k;)i.elementUniqueID===q(a)&&(this._shiftLeft(i),k=!0),i=i.next}return f.then(function(){d._setButtonStates()})},reload:function(){this._writeProfilerMark("WinJS.UI.FlipView:reload,info"),this.resetState(0)},getItemSpacing:function(){return this._itemSpacing},setItemSpacing:function(a){this._itemSpacing=a,this._ensureCentered()},notificationsStarted:function(){this._writeProfilerMark("WinJS.UI.FlipView:changeNotifications,StartTM"),this._logBuffer(),this._notificationsStarted=this._notificationsStarted||0,this._notificationsStarted++,this._notificationsEndedSignal=new k,this._temporaryKeys=[],this._animationRecords={};var a=this;this._forEachPage(function(b){a._createAnimationRecord(b.elementUniqueID,b)}),this._animationRecords.currentPage=this._currentPage.element,this._animationRecords.nextPage=this._currentPage.next.element},notificationsEnded:function(){var a=this;this._endNotificationsWork&&this._endNotificationsWork.cancel(),this._endNotificationsWork=this._ensureBufferConsistency().then(function(){function b(b){var c=null;return a._forEachPage(function(a){return a.element===b?(c=a,!0):void 0}),c}function c(b,c){a._writeProfilerMark("WinJS.UI.FlipView:_animateOldViewportItemRemoved,info");var d=a._createDiscardablePage(c);a._setItemStart(d,b.originalLocation),f.push(a._deleteFlipPage(d))}function d(c,d){a._writeProfilerMark("WinJS.UI.FlipView:_animateOldViewportItemMoved,info");var e,g=c.originalLocation;if(c.successfullyMoved)e=b(d),g=c.newLocation;else{e=a._createDiscardablePage(d);var h=a._getElementIndex(d),i=a._currentPage.element?a._getElementIndex(a._currentPage.element):0;g+=i>h?-100*a._bufferSize:100*a._bufferSize}e&&(a._setItemStart(e,c.originalLocation),f.push(a._moveFlipPage(e,function(){a._setItemStart(e,g)})))}function e(){return 0===f.length&&f.push(j.wrap()),j.join(f)}var f=[];a._forEachPage(function(b){var c=a._getAnimationRecord(b.element);c&&(c.changed&&(c.oldElement.removedFromChange=!0,f.push(a._changeFlipPage(b,c.oldElement,c.newElement))),c.newLocation=b.location,a._setItemStart(b,c.originalLocation),c.inserted&&(b.elementRoot.style.opacity=0))});var g=a._animationRecords.currentPage,h=a._getAnimationRecord(g),i=a._animationRecords.nextPage,k=a._getAnimationRecord(i);h&&h.changed&&(g=h.newElement),k&&k.changed&&(i=k.newElement),(g!==a._currentPage.element||i!==a._currentPage.next.element)&&(h&&h.removed&&c(h,g),k&&k.removed&&c(k,i)),a._blockTabs=!0,e().then(function(){f=[],h&&h.moved&&d(h,g),k&&k.moved&&d(k,i);var b=a._getAnimationRecord(a._currentPage.element),c=a._getAnimationRecord(a._currentPage.next.element);a._forEachPage(function(d){var e=a._getAnimationRecord(d.element);e&&(e.inserted?e!==b&&e!==c&&(d.elementRoot.style.opacity=1):e.originalLocation!==e.newLocation&&(e!==h&&e!==k||e===h&&!h.moved||e===k&&!k.moved)&&f.push(a._moveFlipPage(d,function(){a._setItemStart(d,e.newLocation)})))}),e().then(function(){f=[],b&&b.inserted&&f.push(a._insertFlipPage(a._currentPage)),c&&c.inserted&&f.push(a._insertFlipPage(a._currentPage.next)),e().then(function(){a._checkElementVisibility(!1),a._itemSettledOn(),a._setListEnds(),a._notificationsStarted--,0===a._notificationsStarted&&a._notificationsEndedSignal.complete(),a._writeProfilerMark("WinJS.UI.FlipView:changeNotifications,StopTM"),a._logBuffer(),a._endNotificationsWork=null})})})})},disableTouchFeatures:function(){this._environmentSupportsTouch=!1;var a=this._panningDivContainer.style;this._panningDivContainer.removeEventListener(d._browserEventEquivalents.manipulationStateChanged,this._handleManipulationStateChangedBound,!0),a.overflowX="hidden",a.overflowY="hidden";var b=["scroll-snap-type","scroll-snap-points-x","scroll-snap-points-y","scroll-limit-x-min","scroll-limit-x-max","scroll-limit-y-min","scroll-limit-y-max"];b.forEach(function(b){var c=r[b];c&&(a[c.scriptName]="")})},_hasFocus:{get:function(){return this._flipperDiv.contains(b.document.activeElement)}},_timeoutPageSelection:function(){var a=this;this._lastTimeoutRequest&&this._lastTimeoutRequest.cancel(),this._lastTimeoutRequest=j.timeout(t).then(function(){a._itemSettledOn()})},_updateTabIndex:function(a){this._forEachPage(function(b){b.element&&(b.element.tabIndex=a)}),this._tabIndex=a,this._tabManager.tabIndex=a},_releaseElementIfNotAnimated:function(a){var b=this._getAnimationRecord(a);b&&(b.changed||b.inserted||b.moved||b.removed)||this._itemsManager.releaseItem(a)},_getAnimationRecord:function(a){return a?this._animationRecords[q(a)]:null},_createAnimationRecord:function(a,b){if(a){var c=this._animationRecords[a]={removed:!1,changed:!1,inserted:!1};return b&&(c.originalLocation=b.location),c}},_writeProfilerMark:function(a){h(a),this._flipperDiv.winControl.constructor._enabledDebug&&f.log&&f.log(a,null,"flipviewdebug")},_getElementIndex:function(a){var b=0;try{b=this._itemsManager.itemObject(a).index}catch(c){}return b},_resetBuffer:function(a,b){this._writeProfilerMark("WinJS.UI.FlipView:_resetBuffer,info");var c=this._currentPage,d=c;do d.element&&d.element===a||b?d.setElement(null,!0):d.setElement(null),d=d.next;while(d!==c)},_getHeadOfBuffer:function(){return this._prevMarker.prev},_getTailOfBuffer:function(){return this._prevMarker},_insertNewFlipPage:function(a){this._writeProfilerMark("WinJS.UI.FlipView:_insertNewFlipPage,info");var b=this._createFlipPage(a,this);return this._panningDiv.appendChild(b.pageRoot),b},_fetchNextItems:function(){this._writeProfilerMark("WinJS.UI.FlipView:_fetchNextItems,info");for(var a=j.wrap(this._currentPage),b=this,c=0;c0){if(e[a.location])return c=!0,!0;e[a.location]=!0}}});var f=Object.keys(this._animationRecords);return f.forEach(function(b){var d=a._animationRecords[b];d&&(d.changed||d.inserted||d.moved||d.removed)&&(c=!0)}),c?(this._resetBuffer(null,!0),this._currentPage.setElement(b),this._fetchNextItems().then(function(){return a._fetchPreviousItems(!0)}).then(function(){a._ensureCentered()})):j.wrap()},_shiftLeft:function(a){this._writeProfilerMark("WinJS.UI.FlipView:_shiftLeft,info");for(var b=a,c=null;b!==this._prevMarker&&b.next!==this._prevMarker;)c=b.next.element,!c&&b.next.elementUniqueID&&(b.elementUniqueID=b.next.elementUniqueID),b.next.setElement(null,!0),b.setElement(c,!0),b=b.next;if(b!==this._prevMarker&&b.prev.element){var d=this;return this._itemsManager._nextItem(b.prev.element).then(function(a){b.setElement(a),d._createAnimationRecord(b.elementUniqueID,b)})}},_logBuffer:function(){if(this._flipperDiv.winControl.constructor._enabledDebug){f.log&&f.log(this._currentPage.next.next.next.elementUniqueID+" @:"+this._currentPage.next.next.next.location+(this._currentPage.next.next.next.element?" "+this._currentPage.next.next.next.element.textContent:""),null,"flipviewdebug"),f.log&&f.log(this._currentPage.next.next.next.next.elementUniqueID+" @:"+this._currentPage.next.next.next.next.location+(this._currentPage.next.next.next.next.element?" "+this._currentPage.next.next.next.next.element.textContent:""),null,"flipviewdebug"),f.log&&f.log("> "+this._currentPage.elementUniqueID+" @:"+this._currentPage.location+(this._currentPage.element?" "+this._currentPage.element.textContent:""),null,"flipviewdebug"),f.log&&f.log(this._currentPage.next.elementUniqueID+" @:"+this._currentPage.next.location+(this._currentPage.next.element?" "+this._currentPage.next.element.textContent:""),null,"flipviewdebug"),f.log&&f.log(this._currentPage.next.next.elementUniqueID+" @:"+this._currentPage.next.next.location+(this._currentPage.next.next.element?" "+this._currentPage.next.next.element.textContent:""),null,"flipviewdebug");var a=Object.keys(this._itemsManager._elementMap),b=[];this._forEachPage(function(a){a&&a.elementUniqueID&&b.push(a.elementUniqueID)}),f.log&&f.log("itemsmanager = ["+a.join(" ")+"] flipview ["+b.join(" ")+"]",null,"flipviewdebug")}},_shiftRight:function(a){this._writeProfilerMark("WinJS.UI.FlipView:_shiftRight,info");for(var b=a,c=null;b!==this._prevMarker;)c=b.prev.element,!c&&b.prev.elementUniqueID&&(b.elementUniqueID=b.prev.elementUniqueID),b.prev.setElement(null,!0),b.setElement(c,!0),b=b.prev;if(b.next.element){var d=this;return this._itemsManager._previousItem(b.next.element).then(function(a){b.setElement(a),d._createAnimationRecord(b.elementUniqueID,b)})}},_checkElementVisibility:function(a){var b,c;if(a){var d=this._currentPage.element;for(b=0,c=this._visibleElements.length;c>b;b++)this._visibleElements[b]!==d&&this._announceElementInvisible(this._visibleElements[b]);this._visibleElements=[],d&&(this._visibleElements.push(d),this._announceElementVisible(d))}else{for(b=0,c=this._visibleElements.length;c>b;b++)(!this._visibleElements[b].parentNode||this._visibleElements[b].removedFromChange)&&this._announceElementInvisible(this._visibleElements[b]);this._visibleElements=[];var e=this;this._forEachPage(function(a){var b=a.element;b&&(e._itemInView(a)?(e._visibleElements.push(b),e._announceElementVisible(b)):e._announceElementInvisible(b))})}},_announceElementVisible:function(a){if(a&&!a.visible){a.visible=!0;var c=b.document.createEvent("CustomEvent");this._writeProfilerMark("WinJS.UI.FlipView:pageVisibilityChangedEvent(visible:true),info"),c.initCustomEvent(p.pageVisibilityChangedEvent,!0,!1,{source:this._flipperDiv,visible:!0}),a.dispatchEvent(c)}},_announceElementInvisible:function(a){if(a&&a.visible){a.visible=!1;var c=!1;a.parentNode||(c=!0,this._panningDivContainer.appendChild(a));var d=b.document.createEvent("CustomEvent");this._writeProfilerMark("WinJS.UI.FlipView:pageVisibilityChangedEvent(visible:false),info"),d.initCustomEvent(p.pageVisibilityChangedEvent,!0,!1,{source:this._flipperDiv,visible:!1}),a.dispatchEvent(d),c&&this._panningDivContainer.removeChild(a)}},_createDiscardablePage:function(a){var b=this._createPageContainer(),c={pageRoot:b.root,elementRoot:b.elementContainer,discardable:!0,element:a,elementUniqueID:q(a),discard:function(){c.pageRoot.parentNode&&c.pageRoot.parentNode.removeChild(c.pageRoot),c.element.parentNode&&c.element.parentNode.removeChild(c.element)}};return c.pageRoot.style.top="0px",c.elementRoot.appendChild(a),this._panningDiv.appendChild(c.pageRoot),c},_createPageContainer:function(){var a=this._panningDivContainerOffsetWidth,c=this._panningDivContainerOffsetHeight,d=b.document.createElement("div"),e=d.style,f=b.document.createElement("div");return f.className="win-item",e.position="absolute",e.overflow="hidden",e.width=a+"px",e.height=c+"px",d.appendChild(f),{root:d,elementContainer:f}},_createFlipPage:function(b,c){var d={};d.element=null,d.elementUniqueID=null,b?(d.prev=b,d.next=b.next,d.next.prev=d,b.next=d):(d.next=d,d.prev=d);var e=this._createPageContainer();return d.elementRoot=e.elementContainer,d.elementRoot.style.msOverflowStyle="auto",d.pageRoot=e.root,d.setElement=function(b,e){if(void 0===b&&(b=null),b===d.element)return void(b||(d.elementUniqueID=null));if(d.element&&(e||(c._itemsManager.releaseItem(d.element),m._disposeElement(d.element))),d.element=b,d.elementUniqueID=b?q(b):null,n.empty(d.elementRoot),d.element){if(d===c._currentPage&&(c._tabManager.childFocus=b),!a(d.element)){d.element.tabIndex=c._tabIndex,d.element.setAttribute("role","option"),d.element.setAttribute("aria-selected",!1),d.element.id||(d.element.id=q(d.element));var f=function(a,b,c){a.setAttribute(c,b.id)},g=!d.next.element||d===c._prevMarker.prev;g&&(f(d.element,c._bufferAriaEndMarker,"aria-flowto"),f(c._bufferAriaEndMarker,d.element,"x-ms-aria-flowfrom")),d!==c._prevMarker&&d.prev.element&&(f(d.prev.element,d.element,"aria-flowto"),f(d.element,d.prev.element,"x-ms-aria-flowfrom")),d.next!==c._prevMarker&&d.next.element&&(f(d.element,d.next.element,"aria-flowto"),f(d.next.element,d.element,"x-ms-aria-flowfrom")),d.prev.element||f(d.element,c._bufferAriaStartMarker,"x-ms-aria-flowfrom")}d.elementRoot.appendChild(d.element)}},d},_itemInView:function(a){return this._itemEnd(a)>this._getViewportStart()&&this._getItemStart(a)>0,h=0>h?0:h),c.itemDataSource&&(e=c.itemDataSource),c.itemTemplate&&(f=this._getItemRenderer(c.itemTemplate)),c.itemSpacing&&(i=c.itemSpacing>>0,i=0>i?0:i)}if(!e){var k=new j.List;e=k.dataSource}o.empty(b),this._flipviewDiv=b,b.winControl=this,m._setOptions(this,c,!0),this._initializeFlipView(b,d,e,f,h,i),o.addClass(b,"win-disposable"),this._avoidTrappingTime=0,this._windowWheelHandlerBound=this._windowWheelHandler.bind(this),o._globalListener.addEventListener(b,"wheel",this._windowWheelHandlerBound),o._globalListener.addEventListener(b,"mousewheel",this._windowWheelHandlerBound),g("WinJS.UI.FlipView:constructor,StopTM")},{dispose:function(){g("WinJS.UI.FlipView:dispose,StopTM"),this._disposed||(o._globalListener.removeEventListener(this._flipviewDiv,"wheel",this._windowWheelHandlerBound),o._globalListener.removeEventListener(this._flipviewDiv,"mousewheel",this._windowWheelHandlerBound),o._resizeNotifier.unsubscribe(this._flipviewDiv,u),this._disposed=!0,this._pageManager.dispose(),this._itemsManager.release(),this.itemDataSource=null)},next:function(){g("WinJS.UI.FlipView:next,info");var a=this._nextAnimation?null:this._cancelDefaultAnimation;return this._navigate(!0,a)},previous:function(){g("WinJS.UI.FlipView:prev,info");var a=this._prevAnimation?null:this._cancelDefaultAnimation;return this._navigate(!1,a)},element:{get:function(){return this._flipviewDiv}},currentPage:{get:function(){return this._getCurrentIndex()},set:function(a){if(g("WinJS.UI.FlipView:set_currentPage,info"),this._pageManager._notificationsEndedSignal){var b=this;return void this._pageManager._notificationsEndedSignal.promise.done(function(){b._pageManager._notificationsEndedSignal=null,b.currentPage=a})}if(!this._animating||this._cancelAnimation())if(a>>=0,a=0>a?0:a,this._refreshTimer)this._indexAfterRefresh=a;else{this._pageManager._cachedSize>0?a=Math.min(this._pageManager._cachedSize-1,a):0===this._pageManager._cachedSize&&(a=0);var b=this;if(this._jumpingToIndex===a)return;var c=function(){b._jumpingToIndex=null};this._jumpingToIndex=a;var d=this._jumpAnimation?this._jumpAnimation:this._defaultAnimation.bind(this),e=this._jumpAnimation?null:this._cancelDefaultAnimation,f=function(){b._completeJump()};this._pageManager.startAnimatedJump(a,e,f).then(function(a){if(a){b._animationsStarted();var e=a.oldPage.pageRoot,h=a.newPage.pageRoot;b._contentDiv.appendChild(e),b._contentDiv.appendChild(h),b._completeJumpPending=!0,d(e,h).then(function(){b._completeJumpPending&&(f(),g("WinJS.UI.FlipView:set_currentPage.animationComplete,info"))}).done(c,c)}else c()},c)}}},orientation:{get:function(){return this._axisAsString()},set:function(a){g("WinJS.UI.FlipView:set_orientation,info");var b="horizontal"===a;b!==this._isHorizontal&&(this._isHorizontal=b,this._setupOrientation(),this._pageManager.setOrientation(this._isHorizontal))}},itemDataSource:{get:function(){return this._dataSource},set:function(a){g("WinJS.UI.FlipView:set_itemDataSource,info"),this._dataSourceAfterRefresh=a||(new j.List).dataSource,this._refresh()}},itemTemplate:{get:function(){return this._itemRenderer},set:function(a){g("WinJS.UI.FlipView:set_itemTemplate,info"),this._itemRendererAfterRefresh=this._getItemRenderer(a),this._refresh()}},itemSpacing:{get:function(){return this._pageManager.getItemSpacing()},set:function(a){g("WinJS.UI.FlipView:set_itemSpacing,info"),a>>=0,a=0>a?0:a,this._pageManager.setItemSpacing(a)}},count:function(){g("WinJS.UI.FlipView:count,info");var a=this;return new k(function(b,c){a._itemsManager?a._pageManager._cachedSize===r.CountResult.unknown||a._pageManager._cachedSize>=0?b(a._pageManager._cachedSize):a._dataSource.getCount().then(function(c){a._pageManager._cachedSize=c,b(c)}):c(L.noitemsManagerForCount)})},setCustomAnimations:function(a){g("WinJS.UI.FlipView:setCustomAnimations,info"),void 0!==a.next&&(this._nextAnimation=a.next),void 0!==a.previous&&(this._prevAnimation=a.previous),void 0!==a.jump&&(this._jumpAnimation=a.jump)},forceLayout:function(){g("WinJS.UI.FlipView:forceLayout,info"),this._pageManager.resized()},_initializeFlipView:function(b,d,e,f,g,h){function i(a){a.setAttribute("aria-hidden",!0),a.style.visibility="hidden",a.style.opacity=0,a.tabIndex=-1,a.style.zIndex=1e3}function j(a){if(a.pointerType!==D){if(m._touchInteraction=!1,a.screenX===m._lastMouseX&&a.screenY===m._lastMouseY)return;m._lastMouseX=a.screenX,m._lastMouseY=a.screenY,m._mouseInViewport=!0,m._fadeInButton("prev"),m._fadeInButton("next"),m._fadeOutButtons()}}function k(a){a.pointerType===D?(m._mouseInViewport=!1,m._touchInteraction=!0,m._fadeOutButtons(!0)):(m._touchInteraction=!1,m._isInteractive(a.target)||0!==(4&a.buttons)&&(a.stopPropagation(),a.preventDefault()))}function l(a){a.pointerType!==D&&(m._touchInteraction=!1)}var m=this,n=!1;this._flipviewDiv=b,o.addClass(this._flipviewDiv,w),this._contentDiv=a.document.createElement("div"),this._panningDivContainer=a.document.createElement("div"),this._panningDivContainer.className="win-surface",this._panningDiv=a.document.createElement("div"),this._prevButton=a.document.createElement("button"),this._nextButton=a.document.createElement("button"),this._isHorizontal=d,this._dataSource=e,this._itemRenderer=f,this._itemsManager=null,this._pageManager=null;for(var s=["scroll-limit-x-max","scroll-limit-x-min","scroll-limit-y-max","scroll-limit-y-min","scroll-snap-type","scroll-snap-x","scroll-snap-y","overflow-style"],v=!0,x=c._browserStyleEquivalents,y=0,z=s.length;z>y;y++)v=v&&!!x[s[y]];v=v&&!!c._browserEventEquivalents.manipulationStateChanged,v=v&&o._supportsSnapPoints,this._environmentSupportsTouch=v;var A=this._flipviewDiv.getAttribute("aria-label");A||this._flipviewDiv.setAttribute("aria-label",""),this._flipviewDiv.setAttribute("role","listbox"),this._flipviewDiv.style.overflow||(this._flipviewDiv.style.overflow="hidden"),this._contentDiv.style.position="relative",this._contentDiv.style.zIndex=0,this._contentDiv.style.width="100%",this._contentDiv.style.height="100%",this._panningDiv.style.position="relative",this._panningDivContainer.style.position="relative",this._panningDivContainer.style.width="100%",this._panningDivContainer.style.height="100%",this._panningDivContainer.setAttribute("role","group"),this._panningDivContainer.setAttribute("aria-label",K.panningContainerAriaLabel),this._contentDiv.appendChild(this._panningDivContainer),this._flipviewDiv.appendChild(this._contentDiv),this._panningDiv.style.width="100%",this._panningDiv.style.height="100%",this._setupOrientation(),i(this._prevButton),i(this._nextButton),this._prevButton.setAttribute("aria-label",B),this._nextButton.setAttribute("aria-label",C),this._prevButton.setAttribute("type","button"),this._nextButton.setAttribute("type","button"),this._panningDivContainer.appendChild(this._panningDiv),this._contentDiv.appendChild(this._prevButton),this._contentDiv.appendChild(this._nextButton),this._itemsManagerCallback={inserted:function(a,b,c){m._itemsManager._itemFromPromise(a).then(function(a){var d=m._itemsManager._elementFromHandle(b),e=m._itemsManager._elementFromHandle(c);m._pageManager.inserted(a,d,e,!0)})},countChanged:function(a,b){m._pageManager._cachedSize=a,b!==r.CountResult.unknown&&m._fireDatasourceCountChangedEvent()},changed:function(a,b){m._pageManager.changed(a,b)},moved:function(a,b,c,d){var e=function(a){m._pageManager.moved(a,b,c)};a?e(a):m._itemsManager._itemFromPromise(d).then(e)},removed:function(a,b){a&&m._pageManager.removed(a,b,!0)},knownUpdatesComplete:function(){},beginNotifications:function(){m._cancelAnimation(),m._pageManager.notificationsStarted()},endNotifications:function(){m._pageManager.notificationsEnded()},itemAvailable:function(a,b){m._pageManager.itemRetrieved(a,b)},reload:function(){m._pageManager.reload()}},this._dataSource&&(this._itemsManager=q._createItemsManager(this._dataSource,this._itemRenderer,this._itemsManagerCallback,{ownerElement:this._flipviewDiv})),this._pageManager=new t._FlipPageManager(this._flipviewDiv,this._panningDiv,this._panningDivContainer,this._itemsManager,h,this._environmentSupportsTouch,{hidePreviousButton:function(){m._hasPrevContent=!1,m._fadeOutButton("prev"),m._prevButton.setAttribute("aria-hidden",!0)},showPreviousButton:function(){m._hasPrevContent=!0,m._fadeInButton("prev"),m._prevButton.setAttribute("aria-hidden",!1)},hideNextButton:function(){m._hasNextContent=!1,m._fadeOutButton("next"),m._nextButton.setAttribute("aria-hidden",!0)},showNextButton:function(){m._hasNextContent=!0,m._fadeInButton("next"),m._nextButton.setAttribute("aria-hidden",!1)}}),this._pageManager.initialize(g,this._isHorizontal),this._dataSource.getCount().then(function(a){m._pageManager._cachedSize=a}),this._prevButton.addEventListener("click",function(){m.previous()},!1),this._nextButton.addEventListener("click",function(){m.next()},!1),new o._MutationObserver(p).observe(this._flipviewDiv,{attributes:!0,attributeFilter:["dir","style"]}),this._cachedStyleDir=this._flipviewDiv.style.direction,this._flipviewDiv.addEventListener("mselementresize",u),o._resizeNotifier.subscribe(this._flipviewDiv,u),this._contentDiv.addEventListener("mouseleave",function(){m._mouseInViewport=!1},!1);var D=o._MSPointerEvent.MSPOINTER_TYPE_TOUCH||"touch";this._environmentSupportsTouch&&(o._addEventListener(this._contentDiv,"pointerdown",k,!1),o._addEventListener(this._contentDiv,"pointermove",j,!1),o._addEventListener(this._contentDiv,"pointerup",l,!1)),this._panningDivContainer.addEventListener("scroll",function(){m._scrollPosChanged()},!1),this._panningDiv.addEventListener("blur",function(){m._touchInteraction||m._fadeOutButtons()},!0);var E=a.document.body.contains(this._flipviewDiv);o._addInsertedNotifier(this._flipviewDiv),this._flipviewDiv.addEventListener("WinJSNodeInserted",function(){return E?void(E=!1):void m._pageManager.resized()},!1),this._flipviewDiv.addEventListener("keydown",function(a){var b=!0;if(!m._isInteractive(a.target)){var c=o.Key,d=!1;if(m._isHorizontal)switch(a.keyCode){case c.leftArrow:m._rtl?m.next():m.previous(),d=!0;break;case c.pageUp:m.previous(),d=!0;break;case c.rightArrow:m._rtl?m.previous():m.next(),d=!0;break;case c.pageDown:m.next(),d=!0;break;case c.upArrow:case c.downArrow:d=!0,b=!1}else switch(a.keyCode){case c.upArrow:case c.pageUp:m.previous(),d=!0;break;case c.downArrow:case c.pageDown:m.next(),d=!0;break;case c.space:d=!0}switch(a.keyCode){case c.home:m.currentPage=0,d=!0;break;case c.end:m._pageManager._cachedSize>0&&(m.currentPage=m._pageManager._cachedSize-1),d=!0}if(d)return a.preventDefault(),b&&a.stopPropagation(),!0}},!1),n=!0},_windowWheelHandler:function(a){a=a.detail.originalEvent;var b=a.target&&(this._flipviewDiv.contains(a.target)||this._flipviewDiv===a.target),d=this,e=c._now(),f=this._avoidTrappingTime>e;(!b||f)&&(this._avoidTrappingTime=e+E),b&&f?(this._panningDivContainer.style.overflowX="hidden",this._panningDivContainer.style.overflowY="hidden",c._yieldForDomModification(function(){d._pageManager._ensureCentered(),d._isHorizontal?(d._panningDivContainer.style.overflowX=d._environmentSupportsTouch?"scroll":"hidden",d._panningDivContainer.style.overflowY="hidden"):(d._panningDivContainer.style.overflowY=d._environmentSupportsTouch?"scroll":"hidden",d._panningDivContainer.style.overflowX="hidden")})):b&&this._pageManager.simulateMouseWheelScroll(a)},_isInteractive:function(a){if(a.parentNode)for(var b=a.parentNode.querySelectorAll(".win-interactive, .win-interactive *"),c=0,d=b.length;d>c;c++)if(b[c]===a)return!0;return!1},_refreshHandler:function(){var a=this._dataSourceAfterRefresh||this._dataSource,b=this._itemRendererAfterRefresh||this._itemRenderer,c=this._indexAfterRefresh||0;this._setDatasource(a,b,c),this._dataSourceAfterRefresh=null,this._itemRendererAfterRefresh=null,this._indexAfterRefresh=0,this._refreshTimer=!1},_refresh:function(){if(!this._refreshTimer){var a=this;this._refreshTimer=!0,l.schedule(function(){a._refreshTimer&&!a._disposed&&a._refreshHandler()},l.Priority.high,null,"WinJS.UI.FlipView._refreshHandler")}},_getItemRenderer:function(b){var c=null;if("function"==typeof b){var d=new k(function(){}),e=b(d);c=e.element?"object"==typeof e.element&&"function"==typeof e.element.then?function(c){var d=a.document.createElement("div");return d.className="win-template",n.markDisposable(d),{element:d,renderComplete:b(c).element.then(function(a){d.appendChild(a)})}}:b:function(c){var d=a.document.createElement("div");return d.className="win-template",n.markDisposable(d),{element:d,renderComplete:c.then(function(){return k.as(b(c)).then(function(a){d.appendChild(a)})})}}}else"object"==typeof b&&(c=b.renderItem);return c},_navigate:function(a,b){if(c.validation&&this._refreshTimer)throw new d("WinJS.UI.FlipView.NavigationDuringStateChange",K.navigationDuringStateChange);if(this._animating||(this._animatingForward=a),this._goForward=a,this._animating&&!this._cancelAnimation())return!1;var e=this,f=a?this._nextAnimation:this._prevAnimation,g=f?f:this._defaultAnimation.bind(this),h=function(a){e._completeNavigation(a)},i=this._pageManager.startAnimatedNavigation(a,b,h);if(i){this._animationsStarted();var j=i.outgoing.pageRoot,k=i.incoming.pageRoot;return this._contentDiv.appendChild(j),this._contentDiv.appendChild(k),this._completeNavigationPending=!0,g(j,k).then(function(){e._completeNavigationPending&&h(e._goForward)}).done(),!0}return!1},_cancelDefaultAnimation:function(a,b){a.style.opacity=0,b.style.animationName="",b.style.opacity=1},_cancelAnimation:function(){if(this._pageManager._navigationAnimationRecord&&this._pageManager._navigationAnimationRecord.completionCallback){var a=this._pageManager._navigationAnimationRecord.cancelAnimationCallback;if(a&&(a=a.bind(this)),this._pageManager._navigationAnimationRecord&&this._pageManager._navigationAnimationRecord.elementContainers){var b=this._pageManager._navigationAnimationRecord.elementContainers[0],c=this._pageManager._navigationAnimationRecord.elementContainers[1],d=b.pageRoot,e=c.pageRoot;return a&&a(d,e),this._pageManager._navigationAnimationRecord.completionCallback(this._animatingForward),!0}}return!1},_completeNavigation:function(a){if(!this._disposed){if(this._pageManager._resizing=!1,this._pageManager._navigationAnimationRecord&&this._pageManager._navigationAnimationRecord.elementContainers){var b=this._pageManager._navigationAnimationRecord.elementContainers[0],c=this._pageManager._navigationAnimationRecord.elementContainers[1],d=b.pageRoot,e=c.pageRoot;d.parentNode&&d.parentNode.removeChild(d),e.parentNode&&e.parentNode.removeChild(e),this._pageManager.endAnimatedNavigation(a,b,c),this._fadeOutButtons(),this._scrollPosChanged(),this._pageManager._ensureCentered(!0),this._animationsFinished()}this._completeNavigationPending=!1}},_completeJump:function(){if(!this._disposed){if(this._pageManager._resizing=!1,this._pageManager._navigationAnimationRecord&&this._pageManager._navigationAnimationRecord.elementContainers){var a=this._pageManager._navigationAnimationRecord.elementContainers[0],b=this._pageManager._navigationAnimationRecord.elementContainers[1],c=a.pageRoot,d=b.pageRoot;c.parentNode&&c.parentNode.removeChild(c),d.parentNode&&d.parentNode.removeChild(d),this._pageManager.endAnimatedJump(a,b),this._animationsFinished()}this._completeJumpPending=!1}},_resize:function(){this._pageManager.resized()},_setCurrentIndex:function(a){return this._pageManager.jumpToIndex(a)},_getCurrentIndex:function(){return this._pageManager.currentIndex()},_setDatasource:function(a,b,c){this._animating&&this._cancelAnimation();var d=0;void 0!==c&&(d=c),this._dataSource=a,this._itemRenderer=b;var e=this._itemsManager;this._itemsManager=q._createItemsManager(this._dataSource,this._itemRenderer,this._itemsManagerCallback,{ownerElement:this._flipviewDiv}),this._dataSource=this._itemsManager.dataSource;var f=this;this._dataSource.getCount().then(function(a){f._pageManager._cachedSize=a}),this._pageManager.setNewItemsManager(this._itemsManager,d),e&&e.release()},_fireDatasourceCountChangedEvent:function(){var b=this;l.schedule(function(){var c=a.document.createEvent("Event");c.initEvent(L.datasourceCountChangedEvent,!0,!0),g("WinJS.UI.FlipView:dataSourceCountChangedEvent,info"),b._flipviewDiv.dispatchEvent(c)},l.Priority.normal,null,"WinJS.UI.FlipView._dispatchDataSourceCountChangedEvent")},_scrollPosChanged:function(){this._pageManager.scrollPosChanged()},_axisAsString:function(){return this._isHorizontal?"horizontal":"vertical"},_setupOrientation:function(){if(this._isHorizontal){this._panningDivContainer.style.overflowX=this._environmentSupportsTouch?"scroll":"hidden",this._panningDivContainer.style.overflowY="hidden";var b="rtl"===a.getComputedStyle(this._flipviewDiv,null).direction;this._rtl=b,b?(this._prevButton.className=v+" "+y,this._nextButton.className=v+" "+x):(this._prevButton.className=v+" "+x,this._nextButton.className=v+" "+y),this._prevButton.innerHTML=b?G:F,this._nextButton.innerHTML=b?F:G}else this._panningDivContainer.style.overflowY=this._environmentSupportsTouch?"scroll":"hidden",this._panningDivContainer.style.overflowX="hidden",this._prevButton.className=v+" "+z,this._nextButton.className=v+" "+A,this._prevButton.innerHTML=H,this._nextButton.innerHTML=I;this._panningDivContainer.style.msOverflowStyle="none"},_fadeInButton:function(a,b){(this._mouseInViewport||b||!this._environmentSupportsTouch)&&("next"===a&&this._hasNextContent?(this._nextButtonAnimation&&(this._nextButtonAnimation.cancel(),this._nextButtonAnimation=null),this._nextButton.style.visibility="visible",this._nextButtonAnimation=this._fadeInFromCurrentValue(this._nextButton)):"prev"===a&&this._hasPrevContent&&(this._prevButtonAnimation&&(this._prevButtonAnimation.cancel(),this._prevButtonAnimation=null),this._prevButton.style.visibility="visible",this._prevButtonAnimation=this._fadeInFromCurrentValue(this._prevButton)))},_fadeOutButton:function(a){var b=this;return"next"===a?(this._nextButtonAnimation&&(this._nextButtonAnimation.cancel(),this._nextButtonAnimation=null),this._nextButtonAnimation=h.fadeOut(this._nextButton).then(function(){b._nextButton.style.visibility="hidden"}),this._nextButtonAnimation):(this._prevButtonAnimation&&(this._prevButtonAnimation.cancel(),this._prevButtonAnimation=null),this._prevButtonAnimation=h.fadeOut(this._prevButton).then(function(){b._prevButton.style.visibility="hidden"}),this._prevButtonAnimation)},_fadeOutButtons:function(a){if(this._environmentSupportsTouch){this._buttonFadePromise&&(this._buttonFadePromise.cancel(),this._buttonFadePromise=null);var b=this;this._buttonFadePromise=(a?k.wrap():k.timeout(i._animationTimeAdjustment(D))).then(function(){b._fadeOutButton("prev"),b._fadeOutButton("next"),b._buttonFadePromise=null})}},_animationsStarted:function(){this._animating=!0},_animationsFinished:function(){this._animating=!1},_defaultAnimation:function(a,b){var c={};b.style.left="0px",b.style.top="0px",b.style.opacity=0;var d=a.itemIndex>b.itemIndex?-J:J;c.left=(this._isHorizontal?this._rtl?-d:d:0)+"px",c.top=(this._isHorizontal?0:d)+"px";var e=h.fadeOut(a),f=h.enterContent(b,[c],{mechanism:"transition"});return k.join([e,f])},_fadeInFromCurrentValue:function(a){return i.executeTransition(a,{property:"opacity",delay:0,duration:167,timing:"linear",to:1})}},s);return b.Class.mix(L,e.createEventProperties(L.datasourceCountChangedEvent,L.pageVisibilityChangedEvent,L.pageSelectedEvent,L.pageCompletedEvent)),b.Class.mix(L,m.DOMEventMixin),L})})}),define("WinJS/Controls/ItemContainer",["exports","../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Events","../Core/_Log","../Core/_Resources","../Core/_WriteProfilerMark","../Promise","../Scheduler","../Utilities/_Control","../Utilities/_Dispose","../Utilities/_ElementUtilities","../Utilities/_Hoverable","../Utilities/_KeyboardBehavior","../Utilities/_UI","./ItemContainer/_Constants","./ItemContainer/_ItemEventsHandler"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){"use strict";var t=f._createEventProperty,u={invoked:"invoked",selectionchanging:"selectionchanging",selectionchanged:"selectionchanged"};c.Namespace._moduleDefine(a,"WinJS.UI",{ItemContainer:c.Namespace._lazy(function(){var f={get duplicateConstruction(){return"Invalid argument: Controls may only be instantiated one time for each DOM element"}},h=c.Class.define(function(c,d){function g(a,b,c){return{name:b?a:a.toLowerCase(),handler:function(b){i["_on"+a](b)},capture:c}}if(c=c||b.document.createElement("DIV"),this._id=c.id||n._uniqueID(c),this._writeProfilerMark("constructor,StartTM"),d=d||{},c.winControl)throw new e("WinJS.UI.ItemContainer.DuplicateConstruction",f.duplicateConstruction);c.winControl=this,this._element=c,n.addClass(c,"win-disposable"),this._selectionMode=q.SelectionMode.single,this._draggable=!1,this._pressedEntity={type:q.ObjectType.item,index:r._INVALID_INDEX},this.tapBehavior=q.TapBehavior.invokeOnly,this.swipeOrientation=q.Orientation.vertical,this.swipeBehavior=q.SwipeBehavior.select,n.addClass(this.element,h._ClassName.itemContainer+" "+r._containerClass),this._setupInternalTree(),this._selection=new a._SingleItemSelectionManager(c,this._itemBox),this._setTabIndex(),l.setOptions(this,d),this._mutationObserver=new n._MutationObserver(this._itemPropertyChange.bind(this)),this._mutationObserver.observe(c,{attributes:!0,attributeFilter:["aria-selected"]}),this._setAriaRole();var i=this;this.selectionDisabled||k.schedule(function(){i._setDirectionClass()},k.Priority.normal,null,"WinJS.UI.ItemContainer_async_initialize"),this._itemEventsHandler=new s._ItemEventsHandler(Object.create({containerFromElement:function(){return i.element},indexForItemElement:function(){return 1},indexForHeaderElement:function(){return r._INVALID_INDEX},itemBoxAtIndex:function(){return i._itemBox},itemAtIndex:function(){return i.element},headerAtIndex:function(){return null},containerAtIndex:function(){return i.element},isZombie:function(){return this._disposed},getItemPosition:function(){return i._getItemPosition()},rtl:function(){return i._rtl()},fireInvokeEvent:function(){i._fireInvokeEvent()},verifySelectionAllowed:function(){return i._verifySelectionAllowed()},changeFocus:function(){},selectRange:function(a,b){return i._selection.set({firstIndex:a,lastIndex:b})}},{pressedEntity:{get:function(){return i._pressedEntity},set:function(a){i._pressedEntity=a}},pressedElement:{enumerable:!0,set:function(a){i._pressedElement=a}},eventHandlerRoot:{enumerable:!0,get:function(){return i.element}},swipeBehavior:{enumerable:!0,get:function(){return i._swipeBehavior}},selectionMode:{enumerable:!0,get:function(){return i._selectionMode}},accessibleItemClass:{enumerable:!0,get:function(){return r._containerClass}},canvasProxy:{enumerable:!0,get:function(){return i._captureProxy}},tapBehavior:{enumerable:!0,get:function(){return i._tapBehavior}},draggable:{enumerable:!0,get:function(){return i._draggable}},selection:{enumerable:!0,get:function(){return i._selection}},horizontal:{enumerable:!0,get:function(){return i._swipeOrientation===q.Orientation.vertical}},customFootprintParent:{enumerable:!0,get:function(){return null}},skipPreventDefaultOnPointerDown:{enumerable:!0,get:function(){return!0}}}));var j=[g("MSManipulationStateChanged",!0,!0),g("PointerDown"),g("Click"),g("PointerUp"),g("PointerCancel"),g("LostPointerCapture"),g("ContextMenu"),g("MSHoldVisual",!0),g("FocusIn"),g("FocusOut"),g("DragStart"),g("DragEnd"),g("KeyDown")];j.forEach(function(a){n._addEventListener(i.element,a.name,a.handler,!!a.capture)}),this._writeProfilerMark("constructor,StopTM")},{element:{get:function(){return this._element}},draggable:{get:function(){return this._draggable},set:function(a){d.isPhone||this._draggable!==a&&(this._draggable=a,this._updateDraggableAttribute())}},selected:{get:function(){return this._selection.selected},set:function(a){this._selection.selected!==a&&(this._selection.selected=a)}},swipeOrientation:{get:function(){return this._swipeOrientation},set:function(a){a===q.Orientation.vertical?(n.removeClass(this.element,h._ClassName.horizontal),n.addClass(this.element,h._ClassName.vertical)):(a=q.Orientation.horizontal,n.removeClass(this.element,h._ClassName.vertical),n.addClass(this.element,h._ClassName.horizontal)),this._swipeOrientation=a}},tapBehavior:{get:function(){return this._tapBehavior},set:function(a){d.isPhone&&a===q.TapBehavior.directSelect||(this._tapBehavior=a,this._setAriaRole())}},swipeBehavior:{get:function(){return this._swipeBehavior},set:function(a){this._swipeBehavior=a,this._setSwipeClass()}},selectionDisabled:{get:function(){return this._selectionMode===q.SelectionMode.none},set:function(a){a?this._selectionMode=q.SelectionMode.none:(this._setDirectionClass(),this._selectionMode=q.SelectionMode.single),this._setSwipeClass(),this._setAriaRole()}},oninvoked:t(u.invoked),onselectionchanging:t(u.selectionchanging),onselectionchanged:t(u.selectionchanged),forceLayout:function(){this._forceLayout()},dispose:function(){this._disposed||(this._disposed=!0,this._itemEventsHandler.dispose(),m.disposeSubTree(this.element))},_onMSManipulationStateChanged:function(a){this._itemEventsHandler.onMSManipulationStateChanged(a)},_onPointerDown:function(a){this._itemEventsHandler.onPointerDown(a)},_onClick:function(a){this._itemEventsHandler.onClick(a)},_onPointerUp:function(a){n.hasClass(this._itemBox,r._itemFocusClass)&&this._onFocusOut(a),this._itemEventsHandler.onPointerUp(a)},_onPointerCancel:function(a){this._itemEventsHandler.onPointerCancel(a)},_onLostPointerCapture:function(a){this._itemEventsHandler.onLostPointerCapture(a)},_onContextMenu:function(a){this._itemEventsHandler.onContextMenu(a)},_onMSHoldVisual:function(a){this._itemEventsHandler.onMSHoldVisual(a)},_onFocusIn:function(){if(!this._itemBox.querySelector("."+r._itemFocusOutlineClass)&&p._keyboardSeenLast){n.addClass(this._itemBox,r._itemFocusClass);var a=b.document.createElement("div");a.className=r._itemFocusOutlineClass,this._itemBox.appendChild(a)}},_onFocusOut:function(){n.removeClass(this._itemBox,r._itemFocusClass);var a=this._itemBox.querySelector("."+r._itemFocusOutlineClass);a&&a.parentNode.removeChild(a)},_onDragStart:function(a){if(this._pressedElement&&this._itemEventsHandler._isInteractive(this._pressedElement))a.preventDefault();else{this._dragging=!0;var b=this;if(a.dataTransfer.setData("text",""),a.dataTransfer.setDragImage){var c=this.element.getBoundingClientRect();a.dataTransfer.setDragImage(this.element,a.clientX-c.left,a.clientY-c.top)}d._yieldForDomModification(function(){b._dragging&&n.addClass(b._itemBox,r._dragSourceClass)})}},_onDragEnd:function(){this._dragging=!1,n.removeClass(this._itemBox,r._dragSourceClass),this._itemEventsHandler.resetPointerDownState()},_onKeyDown:function(a){if(!this._itemEventsHandler._isInteractive(a.target)){var b=n.Key,c=a.keyCode,d=this._swipeBehavior===q.SwipeBehavior.select,e=!1;if(a.ctrlKey||c!==b.enter)a.ctrlKey&&c===b.enter||d&&a.shiftKey&&c===b.F10||d&&c===b.menu||c===b.space?this.selectionDisabled||(this.selected=!this.selected,e=n._setActive(this.element)):c===b.escape&&this.selected&&(this.selected=!1,e=!0);else{var f=this._verifySelectionAllowed();f.canTapSelect&&(this.selected=!this.selected),this._fireInvokeEvent(),e=!0 -}e&&(a.stopPropagation(),a.preventDefault())}},_setTabIndex:function(){var a=this.element.getAttribute("tabindex");a||this.element.setAttribute("tabindex","0")},_rtl:function(){return"boolean"!=typeof this._cachedRTL&&(this._cachedRTL="rtl"===b.getComputedStyle(this.element,null).direction),this._cachedRTL},_setDirectionClass:function(){n[this._rtl()?"addClass":"removeClass"](this.element,r._rtlListViewClass)},_forceLayout:function(){this._cachedRTL="rtl"===b.getComputedStyle(this.element,null).direction,this._setDirectionClass()},_getItemPosition:function(){var a=this.element;return a?j.wrap({left:this._rtl()?a.offsetParent.offsetWidth-a.offsetLeft-a.offsetWidth:a.offsetLeft,top:a.offsetTop,totalWidth:n.getTotalWidth(a),totalHeight:n.getTotalHeight(a),contentWidth:n.getContentWidth(a),contentHeight:n.getContentHeight(a)}):j.cancel},_itemPropertyChange:function(a){if(!this._disposed){var b=a[0].target,c="true"===b.getAttribute("aria-selected");c!==n._isSelectionRendered(this._itemBox)&&(this.selectionDisabled?n._setAttribute(b,"aria-selected",!c):(this.selected=c,c!==this.selected&&n._setAttribute(b,"aria-selected",!c)))}},_setSwipeClass:function(){d.isPhone||(this._swipeBehavior===q.SwipeBehavior.select&&this._selectionMode!==q.SelectionMode.none||this._draggable?n.addClass(this._element,r._swipeableClass):n.removeClass(this._element,r._swipeableClass))},_updateDraggableAttribute:function(){this._setSwipeClass(),this._itemBox.setAttribute("draggable",this._draggable)},_verifySelectionAllowed:function(){if(this._selectionMode===q.SelectionMode.none||this._tapBehavior!==q.TapBehavior.toggleSelect&&this._swipeBehavior!==q.SwipeBehavior.select)return{canSelect:!1,canTapSelect:!1};var a=this._selection.fireSelectionChanging();return{canSelect:a,canTapSelect:a&&this._tapBehavior===q.TapBehavior.toggleSelect}},_setupInternalTree:function(){var a=b.document.createElement("div");a.className=r._itemClass,this._captureProxy=b.document.createElement("div"),this._itemBox=b.document.createElement("div"),this._itemBox.className=r._itemBoxClass;for(var c=this.element.firstChild;c;){var d=c.nextSibling;a.appendChild(c),c=d}this.element.appendChild(this._itemBox),this._itemBox.appendChild(a),this.element.appendChild(this._captureProxy)},_fireInvokeEvent:function(){if(this.tapBehavior!==q.TapBehavior.none){var a=b.document.createEvent("CustomEvent");a.initCustomEvent(u.invoked,!0,!1,{}),this.element.dispatchEvent(a)}},_setAriaRole:function(){if(!this.element.getAttribute("role")||this._usingDefaultItemRole){this._usingDefaultItemRole=!0;var a;a=this.tapBehavior===q.TapBehavior.none&&this.selectionDisabled?"listitem":"option",n._setAttribute(this.element,"role",a)}},_writeProfilerMark:function(a){var b="WinJS.UI.ItemContainer:"+this._id+":"+a;i(b),g.log&&g.log(b,null,"itemcontainerprofiler")}},{_ClassName:{itemContainer:"win-itemcontainer",vertical:"win-vertical",horizontal:"win-horizontal"}});return c.Class.mix(h,l.DOMEventMixin),h}),_SingleItemSelectionManager:c.Namespace._lazy(function(){return c.Class.define(function(a,b){this._selected=!1,this._element=a,this._itemBox=b},{selected:{get:function(){return this._selected},set:function(a){a=!!a,this._selected!==a&&this.fireSelectionChanging()&&(this._selected=a,s._ItemEventsHandler.renderSelection(this._itemBox,this._element,a,!0,this._element),this.fireSelectionChanged())}},count:function(){return this._selected?1:0},getIndices:function(){},getItems:function(){},getRanges:function(){},isEverything:function(){return!1},set:function(){this.selected=!0},clear:function(){this.selected=!1},add:function(){this.selected=!0},remove:function(){this.selected=!1},selectAll:function(){},fireSelectionChanging:function(){var a=b.document.createEvent("CustomEvent");return a.initCustomEvent(u.selectionchanging,!0,!0,{}),this._element.dispatchEvent(a)},fireSelectionChanged:function(){var a=b.document.createEvent("CustomEvent");a.initCustomEvent(u.selectionchanged,!0,!1,{}),this._element.dispatchEvent(a)},_isIncluded:function(){return this._selected},_getFocused:function(){return{type:q.ObjectType.item,index:r._INVALID_INDEX}}})})})}),define("WinJS/Controls/Repeater",["exports","../Core/_Global","../Core/_Base","../Core/_ErrorFromName","../Core/_Events","../Core/_Resources","../Core/_WriteProfilerMark","../BindingList","../BindingTemplate","../Promise","../Utilities/_Control","../Utilities/_Dispose","../Utilities/_ElementUtilities","../Utilities/_Hoverable"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";c.Namespace._moduleDefine(a,"WinJS.UI",{Repeater:c.Namespace._lazy(function(){function a(a){var c=b.document.createElement("div");return c.textContent=JSON.stringify(a),c}var f="itemsloaded",n="itemchanging",o="itemchanged",p="iteminserting",q="iteminserted",r="itemmoving",s="itemmoved",t="itemremoving",u="itemremoved",v="itemsreloading",w="itemsreloaded",x=e._createEventProperty,y={get duplicateConstruction(){return"Invalid argument: Controls may only be instantiated one time for each DOM element"},get asynchronousRender(){return"Top level items must render synchronously"},get repeaterReentrancy(){return"Cannot modify Repeater data until Repeater has commited previous modification."}},z=c.Class.define(function(a,c){if(a&&a.winControl)throw new d("WinJS.UI.Repeater.DuplicateConstruction",y.duplicateConstruction);this._element=a||b.document.createElement("div"),this._id=this._element.id||m._uniqueID(this._element),this._writeProfilerMark("constructor,StartTM"),c=c||{},m.addClass(this._element,"win-repeater win-disposable"),this._render=null,this._modifying=!1,this._disposed=!1,this._element.winControl=this,this._dataListeners={itemchanged:this._dataItemChangedHandler.bind(this),iteminserted:this._dataItemInsertedHandler.bind(this),itemmoved:this._dataItemMovedHandler.bind(this),itemremoved:this._dataItemRemovedHandler.bind(this),reload:this._dataReloadHandler.bind(this)};var e=this._extractInlineTemplate();this._initializing=!0,this.template=c.template||e,this.data=c.data,this._initializing=!1,k._setOptions(this,c,!0),this._repeatedDOM=[],this._renderAllItems(),this.dispatchEvent(f,{}),this._writeProfilerMark("constructor,StopTM")},{element:{get:function(){return this._element}},data:{get:function(){return this._data},set:function(a){this._writeProfilerMark("data.set,StartTM"),this._data&&this._removeDataListeners(),this._data=a||new h.List,this._addDataListeners(),this._initializing||(this._reloadRepeater(!0),this.dispatchEvent(f,{})),this._writeProfilerMark("data.set,StopTM")}},template:{get:function(){return this._template},set:function(b){this._writeProfilerMark("template.set,StartTM"),this._template=b||a,this._render=m._syncRenderer(this._template,this.element.tagName),this._initializing||(this._reloadRepeater(!0),this.dispatchEvent(f,{})),this._writeProfilerMark("template.set,StopTM")}},length:{get:function(){return this._repeatedDOM.length}},elementFromIndex:function(a){return this._repeatedDOM[a]},dispose:function(){if(!this._disposed){this._disposed=!0,this._removeDataListeners(),this._data=null,this._template=null;for(var a=0,b=this._repeatedDOM.length;b>a;a++)l._disposeElement(this._repeatedDOM[a])}},onitemsloaded:x(f),onitemchanging:x(n),onitemchanged:x(o),oniteminserting:x(p),oniteminserted:x(q),onitemmoving:x(r),onitemmoved:x(s),onitemremoving:x(t),onitemremoved:x(u),onitemsreloading:x(v),onitemsreloaded:x(w),_extractInlineTemplate:function(){if(this._element.firstElementChild){for(var a=b.document.createElement(this._element.tagName);this._element.firstElementChild;)a.appendChild(this._element.firstElementChild);return new i.Template(a,{extractChild:!0})}},_renderAllItems:function(){for(var a=b.document.createDocumentFragment(),c=0,e=this._data.length;e>c;c++){var f=this._render(this._data.getAt(c));if(!f)throw new d("WinJS.UI.Repeater.AsynchronousRender",y.asynchronousRender);a.appendChild(f),this._repeatedDOM.push(f)}this._element.appendChild(a)},_reloadRepeater:function(a){this._unloadRepeatedDOM(a),this._repeatedDOM=[],this._renderAllItems()},_unloadRepeatedDOM:function(a){for(var b=0,c=this._repeatedDOM.length;c>b;b++){var d=this._repeatedDOM[b];a&&l._disposeElement(d),d.parentElement===this._element&&this._element.removeChild(d)}},_addDataListeners:function(){Object.keys(this._dataListeners).forEach(function(a){this._data.addEventListener(a,this._dataListeners[a],!1)}.bind(this))},_beginModification:function(){if(this._modifying)throw new d("WinJS.UI.Repeater.RepeaterModificationReentrancy",y.repeaterReentrancy);this._modifying=!0},_endModification:function(){this._modifying=!1},_removeDataListeners:function(){Object.keys(this._dataListeners).forEach(function(a){this._data.removeEventListener(a,this._dataListeners[a],!1)}.bind(this))},_dataItemChangedHandler:function(a){this._beginModification();var b,c=this._element,e=a.detail.index,f=this._render(a.detail.newValue);if(!f)throw new d("WinJS.UI.Repeater.AsynchronousRender",y.asynchronousRender);this._repeatedDOM[e]&&(a.detail.oldElement=this._repeatedDOM[e]),a.detail.newElement=f,a.detail.setPromise=function(a){b=a},this._writeProfilerMark(n+",info"),this.dispatchEvent(n,a.detail);var g=null;ea;a++)l._disposeElement(b[a])}.bind(this))},_writeProfilerMark:function(a){g("WinJS.UI.Repeater:"+this._id+":"+a)}},{isDeclarativeControlContainer:!0});return c.Class.mix(z,k.DOMEventMixin),z})})}),define("WinJS/Controls/DatePicker",["../Core/_Global","../Core/_WinRT","../Core/_Base","../Core/_BaseUtils","../Core/_Events","../Core/_Resources","../Utilities/_Control","../Utilities/_ElementUtilities","../Utilities/_Hoverable","../Utilities/_Select","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g,h,i,j){"use strict";c.Namespace.define("WinJS.UI",{DatePicker:c.Namespace._lazy(function(){function d(a,c,d){var e=b.Windows.Globalization.DateTimeFormatting;a=a?a:d;var f=new e.DateTimeFormatter(a);return c?new e.DateTimeFormatter(a,f.languages,f.geographicRegion,c,f.clock):f}function i(a,b,c){var e=t[a];e||(e=t[a]={});var f=e[b];f||(f=e[b]={});var g=f[c];return g||(g=f[c]={},g.formatter=d(a,b,c),g.years={}),g}function k(a,b,c,d,e,f){var g=i(a,b,c),h=g.years[f.year+"-"+f.era];return h||(h=g.formatter.format(f.getDateTime()),g.years[f.year+"-"+f.era]=h),h}function l(a,b,c,d){var e=i(a,b,c);return e.formatter.format(d.getDateTime())}function m(a,b,c,d){var e=i(a,b,c);return e.formatter.format(d.getDateTime())}function n(a){var c=b.Windows.Globalization,d=new c.Calendar;return a?new c.Calendar(d.languages,a,d.getClock()):d}function o(a,b){var c=0;if(a.era===b.era)c=b.year-a.year;else for(;a.era!==b.era||a.year!==b.year;)c++,a.addYears(1);return c}var p="day",q="{month.full}",r="year.full",s={get ariaLabel(){return f._getWinJSString("ui/datePicker").value},get selectDay(){return f._getWinJSString("ui/selectDay").value},get selectMonth(){return f._getWinJSString("ui/selectMonth").value},get selectYear(){return f._getWinJSString("ui/selectYear").value}},t={},u=c.Class.define(function(b,c){this._currentDate=new Date,this._minYear=this._currentDate.getFullYear()-100,this._maxYear=this._currentDate.getFullYear()+100,this._datePatterns={date:null,month:null,year:null},b=b||a.document.createElement("div"),h.addClass(b,"win-disposable"),b.winControl=this;var d=b.getAttribute("aria-label");d||b.setAttribute("aria-label",s.ariaLabel),this._init(b),g.setOptions(this,c)},{_information:null,_currentDate:null,_calendar:null,_disabled:!1,_dateElement:null,_dateControl:null,_monthElement:null,_monthControl:null,_minYear:null,_maxYear:null,_yearElement:null,_yearControl:null,_datePatterns:{date:null,month:null,year:null},_addAccessibilityAttributes:function(){this._domElement.setAttribute("role","group"),this._dateElement.setAttribute("aria-label",s.selectDay),this._monthElement.setAttribute("aria-label",s.selectMonth),this._yearElement.setAttribute("aria-label",s.selectYear)},_addControlsInOrder:function(){var a=this._domElement,b=this,c=0;b._information.order.forEach(function(d){switch(d){case"month":a.appendChild(b._monthElement),h.addClass(b._monthElement,"win-order"+c++);break;case"date":a.appendChild(b._dateElement),h.addClass(b._dateElement,"win-order"+c++);break;case"year":a.appendChild(b._yearElement),h.addClass(b._yearElement,"win-order"+c++)}})},_createControlElements:function(){this._monthElement=a.document.createElement("select"),this._monthElement.className="win-datepicker-month",this._dateElement=a.document.createElement("select"),this._dateElement.className="win-datepicker-date",this._yearElement=a.document.createElement("select"),this._yearElement.className="win-datepicker-year"},_createControls:function(){var a=this._information,b=a.getIndex(this.current);a.forceLanguage&&(this._domElement.setAttribute("lang",a.forceLanguage),this._domElement.setAttribute("dir",a.isRTL?"rtl":"ltr")),this._yearControl=new j._Select(this._yearElement,{dataSource:this._information.years,disabled:this.disabled,index:b.year}),this._monthControl=new j._Select(this._monthElement,{dataSource:this._information.months(b.year),disabled:this.disabled,index:b.month}),this._dateControl=new j._Select(this._dateElement,{dataSource:this._information.dates(b.year,b.month),disabled:this.disabled,index:b.date}),this._wireupEvents()},dispose:function(){},calendar:{get:function(){return this._calendar},set:function(a){this._calendar=a,this._setElement(this._domElement)}},current:{get:function(){var a=this._currentDate,b=a.getFullYear();return new Date(Math.max(Math.min(this.maxYear,b),this.minYear),a.getMonth(),a.getDate(),12,0,0,0)},set:function(a){var b;"string"==typeof a?(b=new Date(Date.parse(a)),b.setHours(12,0,0,0)):b=a;var c=this._currentDate;c!==b&&(this._currentDate=b,this._updateDisplay())}},disabled:{get:function(){return this._disabled},set:function(a){this._disabled!==a&&(this._disabled=a,this._yearControl&&(this._monthControl.setDisabled(a),this._dateControl.setDisabled(a),this._yearControl.setDisabled(a)))}},datePattern:{get:function(){return this._datePatterns.date},set:function(a){this._datePatterns.date!==a&&(this._datePatterns.date=a,this._init())}},element:{get:function(){return this._domElement}},_setElement:function(a){this._domElement=this._domElement||a,this._domElement&&(h.empty(this._domElement),h.addClass(this._domElement,"win-datepicker"),this._updateInformation(),this._createControlElements(),this._addControlsInOrder(),this._createControls(),this._addAccessibilityAttributes())},minYear:{get:function(){return this._information.getDate({year:0,month:0,date:0}).getFullYear()},set:function(a){this._minYear!==a&&(this._minYear=a,a>this._maxYear&&(this._maxYear=a),this._updateInformation(),this._yearControl&&(this._yearControl.dataSource=this._information.years),this._updateDisplay())}},maxYear:{get:function(){var a={year:this._information.years.getLength()-1};return a.month=this._information.months(a.year).getLength()-1,a.date=this._information.dates(a.year,a.month).getLength()-1,this._information.getDate(a).getFullYear()},set:function(a){this._maxYear!==a&&(this._maxYear=a,az[b]?1:0});var A=function(){return{getLength:function(){return u},getValue:function(b){return f.setDateTime(a),f.addYears(b),k(d.year,c,r,d,y,f)}}}(),B=function(b){return g.setDateTime(a),g.addYears(b),{getLength:function(){return g.numberOfMonthsInThisYear},getValue:function(a){return g.month=g.firstMonthInThisYear,g.addMonths(a),l(d.month,c,q,g)}}},C=function(b,e){return h.setDateTime(a),h.addYears(b),h.month=h.firstMonthInThisYear,h.addMonths(e),h.day=h.firstDayInThisMonth,{getLength:function(){return h.numberOfDaysInThisMonth},getValue:function(a){return h.day=h.firstDayInThisMonth,h.addDays(a),m(d.date,c,p,h)}}};return{isRTL:x,forceLanguage:v.resolvedLanguage,order:y,getDate:function(b,c){var d;c&&(f.setDateTime(c),d={year:f.year,month:f.month,day:f.day});var e=f;e.setDateTime(a),e.addYears(b.year);var g;e.firstMonthInThisYear>e.lastMonthInThisYear?(g=b.month+e.firstMonthInThisYear>e.numberOfMonthsInThisYear?b.month+e.firstMonthInThisYear-e.numberOfMonthsInThisYear:b.month+e.firstMonthInThisYear,d&&d.year!==e.year&&(g=Math.max(Math.min(d.month,e.numberOfMonthsInThisYear),1))):g=d&&d.year!==e.year?Math.max(Math.min(d.month,e.firstMonthInThisYear+e.numberOfMonthsInThisYear-1),e.firstMonthInThisYear):Math.max(Math.min(b.month+e.firstMonthInThisYear,e.firstMonthInThisYear+e.numberOfMonthsInThisYear-1),e.firstMonthInThisYear),e.month=g;var h=Math.max(Math.min(b.date+e.firstDayInThisMonth,e.firstDayInThisMonth+e.numberOfDaysInThisMonth-1),e.firstDayInThisMonth);return!d||d.year===e.year&&d.month===e.month||(h=Math.max(Math.min(d.day,e.firstDayInThisMonth+e.numberOfDaysInThisMonth-1),e.firstDayInThisMonth)),e.day=e.firstDayInThisMonth,e.addDays(h-e.firstDayInThisMonth),e.getDateTime()},getIndex:function(b){var c=e(b);f.setDateTime(c);var d={year:f.year,era:f.era},g=0;f.setDateTime(a),f.month=1,g=o(f,d),f.setDateTime(c);var h=f.month-f.firstMonthInThisYear;0>h&&(h=f.month-f.firstMonthInThisYear+f.numberOfMonthsInThisYear);var i=f.day-f.firstDayInThisMonth,j={year:g,month:h,date:i};return j},years:A,months:B,dates:C}},_getInformationJS:function(a,b){var c=a.getFullYear(),d=b.getFullYear(),e={getLength:function(){return Math.max(0,d-c+1)},getValue:function(a){return c+a}},f=["January","February","March","April","May","June","July","August","September","October","November","December"],g=function(){return{getLength:function(){return f.length},getValue:function(a){return f[a]},getMonthNumber:function(a){return Math.min(a,f.length-1)}}},h=function(a,b){var c=new Date,d=e.getValue(a),f=b+1;c.setFullYear(d,f,0);var g=c.getDate();return{getLength:function(){return g},getValue:function(a){return""+(a+1)},getDateNumber:function(a){return Math.min(a+1,g)}}};return{order:["month","date","year"],getDate:function(a){return new Date(e.getValue(a.year),g(a.year).getMonthNumber(a.month),h(a.year,a.month).getDateNumber(a.date),12,0)},getIndex:function(a){var b=0,d=a.getFullYear();b=c>d?0:d>this.maxYear?e.getLength()-1:a.getFullYear()-c;var f=Math.min(a.getMonth(),g(b).getLength()),i=Math.min(a.getDate()-1,h(b,f).getLength());return{year:b,month:f,date:i}},years:e,months:g,dates:h}}});return u.getInformation=b.Windows.Globalization.Calendar&&b.Windows.Globalization.DateTimeFormatting?u._getInformationWinRT:u._getInformationJS,c.Class.mix(u,e.createEventProperties("change")),c.Class.mix(u,g.DOMEventMixin),u})})}),define("WinJS/Controls/TimePicker",["../Core/_Global","../Core/_WinRT","../Core/_Base","../Core/_BaseUtils","../Core/_Events","../Core/_Resources","../Utilities/_Control","../Utilities/_ElementUtilities","../Utilities/_Hoverable","../Utilities/_Select","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g,h,i,j){"use strict";c.Namespace.define("WinJS.UI",{TimePicker:c.Namespace._lazy(function(){var d="{minute.integer(2)}",i="{hour.integer(1)}",k="{period.abbreviated(2)}",l={get ariaLabel(){return f._getWinJSString("ui/timePicker").value},get selectHour(){return f._getWinJSString("ui/selectHour").value},get selectMinute(){return f._getWinJSString("ui/selectMinute").value},get selectAMPM(){return f._getWinJSString("ui/selectAMPM").value}},m=function(a,b){return a.getHours()===b.getHours()&&a.getMinutes()===b.getMinutes()},n=c.Class.define(function(b,c){this._currentTime=n._sentinelDate(),b=b||a.document.createElement("div"),h.addClass(b,"win-disposable"),b.winControl=this;var d=b.getAttribute("aria-label");d||b.setAttribute("aria-label",l.ariaLabel),this._timePatterns={minute:null,hour:null,period:null},this._init(b),g.setOptions(this,c)},{_currentTime:null,_clock:null,_disabled:!1,_hourElement:null,_hourControl:null,_minuteElement:null,_minuteControl:null,_ampmElement:null,_ampmControl:null,_minuteIncrement:1,_timePatterns:{minute:null,hour:null,period:null},_information:null,_addAccessibilityAttributes:function(){this._domElement.setAttribute("role","group"),this._hourElement.setAttribute("aria-label",l.selectHour),this._minuteElement.setAttribute("aria-label",l.selectMinute),this._ampmElement&&this._ampmElement.setAttribute("aria-label",l.selectAMPM)},_addControlsInOrder:function(a){var b=this;a.order.forEach(function(a,c){switch(a){case"hour":b._domElement.appendChild(b._hourElement),h.addClass(b._hourElement,"win-order"+c);break;case"minute":b._domElement.appendChild(b._minuteElement),h.addClass(b._minuteElement,"win-order"+c);break;case"period":b._ampmElement&&(b._domElement.appendChild(b._ampmElement),h.addClass(b._ampmElement,"win-order"+c))}})},dispose:function(){},clock:{get:function(){return this._clock},set:function(a){this._clock!==a&&(this._clock=a,this._init())}},current:{get:function(){var a=this._currentTime;if(a){var b=n._sentinelDate();return b.setHours(a.getHours()),b.setMinutes(this._getMinutesIndex(a)*this.minuteIncrement),b.setSeconds(0),b.setMilliseconds(0),b}return a},set:function(a){var b;"string"==typeof a?(b=n._sentinelDate(),b.setTime(Date.parse(b.toDateString()+" "+a))):(b=n._sentinelDate(),b.setHours(a.getHours()),b.setMinutes(a.getMinutes()));var c=this._currentTime;m(c,b)||(this._currentTime=b,this._updateDisplay())}},disabled:{get:function(){return this._disabled},set:function(a){this._disabled!==a&&(this._disabled=a,this._hourControl&&(this._hourControl.setDisabled(a),this._minuteControl.setDisabled(a)),this._ampmControl&&this._ampmControl.setDisabled(a))}},element:{get:function(){return this._domElement}},_init:function(a){this._setElement(a),this._updateDisplay()},hourPattern:{get:function(){return this._timePatterns.hour.pattern},set:function(a){this._timePatterns.hour!==a&&(this._timePatterns.hour=a,this._init())}},_getHoursAmpm:function(a){var b=a.getHours();return this._ampmElement?0===b?{hours:12,ampm:0}:12>b?{hours:b,ampm:0}:{hours:b-12,ampm:1}:{hours:b}},_getHoursIndex:function(a){return this._ampmElement&&12===a?0:a},_getMinutesIndex:function(a){return parseInt(a.getMinutes()/this.minuteIncrement)},minuteIncrement:{get:function(){return Math.max(1,Math.abs(0|this._minuteIncrement)%60)},set:function(a){this._minuteIncrement!==a&&(this._minuteIncrement=a,this._init())}},minutePattern:{get:function(){return this._timePatterns.minute.pattern},set:function(a){this._timePatterns.minute!==a&&(this._timePatterns.minute=a,this._init())}},periodPattern:{get:function(){return this._timePatterns.period.pattern},set:function(a){this._timePatterns.period!==a&&(this._timePatterns.period=a,this._init())}},_setElement:function(b){if(this._domElement=this._domElement||b,this._domElement){var c=n.getInformation(this.clock,this.minuteIncrement,this._timePatterns);this._information=c,c.forceLanguage&&(this._domElement.setAttribute("lang",c.forceLanguage),this._domElement.setAttribute("dir",c.isRTL?"rtl":"ltr")),h.empty(this._domElement),h.addClass(this._domElement,"win-timepicker"),this._hourElement=a.document.createElement("select"),h.addClass(this._hourElement,"win-timepicker-hour"),this._minuteElement=a.document.createElement("select"),h.addClass(this._minuteElement,"win-timepicker-minute"),this._ampmElement=null,"12HourClock"===c.clock&&(this._ampmElement=a.document.createElement("select"),h.addClass(this._ampmElement,"win-timepicker-period")),this._addControlsInOrder(c);var d=this._getHoursAmpm(this.current);this._hourControl=new j._Select(this._hourElement,{dataSource:this._getInfoHours(),disabled:this.disabled,index:this._getHoursIndex(d.hours)}),this._minuteControl=new j._Select(this._minuteElement,{dataSource:c.minutes,disabled:this.disabled,index:this._getMinutesIndex(this.current)}),this._ampmControl=null,this._ampmElement&&(this._ampmControl=new j._Select(this._ampmElement,{dataSource:c.periods,disabled:this.disabled,index:d.ampm})),this._wireupEvents(),this._updateValues(),this._addAccessibilityAttributes()}},_getInfoHours:function(){return this._information.hours},_updateLayout:function(){this._domElement&&this._updateValues()},_updateValues:function(){if(this._hourControl){var a=this._getHoursAmpm(this.current);this._ampmControl&&(this._ampmControl.index=a.ampm),this._hourControl.index=this._getHoursIndex(a.hours),this._minuteControl.index=this._getMinutesIndex(this.current)}},_updateDisplay:function(){var a=this._getHoursAmpm(this.current);this._ampmControl&&(this._ampmControl.index=a.ampm),this._hourControl&&(this._hourControl.index=this._getHoursIndex(a.hours),this._minuteControl.index=this._getMinutesIndex(this.current))},_wireupEvents:function(){var a=this,b=function(){var b=a._hourControl.index;return a._ampmElement&&1===a._ampmControl.index&&12!==b&&(b+=12),b},c=function(){var c=b();a._currentTime.setHours(c),a._currentTime.setMinutes(a._minuteControl.index*a.minuteIncrement)};this._hourElement.addEventListener("change",c,!1),this._minuteElement.addEventListener("change",c,!1),this._ampmElement&&this._ampmElement.addEventListener("change",c,!1)}},{_sentinelDate:function(){var a=new Date;return new Date(2011,6,15,a.getHours(),a.getMinutes())},_getInformationWinRT:function(a,c,e){var f=function(c,d){var e=b.Windows.Globalization.DateTimeFormatting;c=c?c:d;var f=new e.DateTimeFormatter(c);return a&&(f=e.DateTimeFormatter(c,f.languages,f.geographicRegion,f.calendar,a)),f},g=b.Windows.Globalization,h=new g.Calendar;a&&(h=new g.Calendar(h.languages,h.getCalendarSystem(),a)),h.setDateTime(n._sentinelDate());var j=h.getClock(),l=24;l=h.numberOfHoursInThisPeriod;var m=function(){var a=f(e.period,k);return{getLength:function(){return 2},getValue:function(b){var c=n._sentinelDate();if(0===b){c.setHours(1);var d=a.format(c);return d}if(1===b){c.setHours(13);var e=a.format(c);return e}return null}}}(),o=function(){var a=f(e.minute,d),b=n._sentinelDate();return{getLength:function(){return 60/c},getValue:function(d){var e=d*c;return b.setMinutes(e),a.format(b)}}}(),p=function(){var a=f(e.hour,i),b=n._sentinelDate();return{getLength:function(){return l},getValue:function(c){return b.setHours(c),a.format(b)}}}(),q=f("hour minute"),r=q.patterns[0],s=["hour","minute"],t={period:r.indexOf("{period"),hour:r.indexOf("{hour"),minute:r.indexOf("{minute")};t.period>-1&&s.push("period");var u=b.Windows.Globalization.DateTimeFormatting.DateTimeFormatter,v=new u("month.full",b.Windows.Globalization.ApplicationLanguages.languages,"ZZ","GregorianCalendar","24HourClock"),w=v.patterns[0],x=8207===w.charCodeAt(0);if(x){var y=t.hour;t.hour=t.minute,t.minute=y}return s.sort(function(a,b){return t[a]t[b]?1:0}),{minutes:o,hours:p,clock:j,periods:m,order:s,forceLanguage:q.resolvedLanguage,isRTL:x}},_getInformationJS:function(a,b){var c=[12,1,2,3,4,5,6,7,8,9,10,11],d={};d.getLength=function(){return 60/b},d.getValue=function(a){var c=a*b;return 10>c?"0"+c.toString():c.toString()};var e=["hour","minute","period"];return"24HourClock"===a&&(c=["00","01","02","03","04","05","06","07","08","09",10,11,12,13,14,15,16,17,18,19,20,21,22,23],e=["hour","minute"]),{minutes:d,hours:c,clock:a||"12HourClock",periods:["AM","PM"],order:e}}});return n.getInformation=b.Windows.Globalization.DateTimeFormatting&&b.Windows.Globalization.Calendar&&b.Windows.Globalization.ApplicationLanguages?n._getInformationWinRT:n._getInformationJS,c.Class.mix(n,e.createEventProperties("change")),c.Class.mix(n,g.DOMEventMixin),n})})}),define("WinJS/Controls/BackButton",["../Core/_Global","../Core/_Base","../Core/_ErrorFromName","../Core/_Resources","../Navigation","../Utilities/_Control","../Utilities/_ElementUtilities","../Utilities/_Hoverable","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g){"use strict"; -var h=g.Key,i="win-navigation-backbutton",j="win-back",k=3,l=function(){function b(){a.addEventListener("keyup",d,!1),g._addEventListener(a,"pointerup",f,!1)}function c(){a.removeEventListener("keyup",d,!1),g._removeEventListener(a,"pointerup",f,!1)}function d(a){(a.keyCode===h.leftArrow&&a.altKey&&!a.shiftKey&&!a.ctrlKey||a.keyCode===h.browserBack)&&e.back()}function f(a){a.button===k&&e.back()}var i=0;return{addRef:function(){0===i&&b(),i++},release:function(){i>0&&(i--,0===i&&c())},getCount:function(){return i}}}();b.Namespace.define("WinJS.UI",{BackButton:b.Namespace._lazy(function(){var h={get ariaLabel(){return d._getWinJSString("ui/backbuttonarialabel").value},get duplicateConstruction(){return"Invalid argument: Controls may only be instantiated one time for each DOM element"},get badButtonElement(){return"Invalid argument: For a button, toggle, or flyout command, the element must be null or a button element"}},k=b.Class.define(function(b,d){if(b&&b.winControl)throw new c("WinJS.UI.BackButton.DuplicateConstruction",h.duplicateConstruction);this._element=b||a.document.createElement("button"),d=d||{},this._initializeButton(),this._disposed=!1,this._element.winControl=this,f.setOptions(this,d),this._buttonClickHandler=this._handleBackButtonClick.bind(this),this._element.addEventListener("click",this._buttonClickHandler,!1),this._navigatedHandler=this._handleNavigatedEvent.bind(this),e.addEventListener("navigated",this._navigatedHandler,!1),l.addRef()},{element:{get:function(){return this._element}},dispose:function(){this._disposed||(this._disposed=!0,e.removeEventListener("navigated",this._navigatedHandler,!1),l.release())},refresh:function(){this._element.disabled=e.canGoBack?!1:!0},_initializeButton:function(){if("BUTTON"!==this._element.tagName)throw new c("WinJS.UI.BackButton.BadButtonElement",h.badButtonElement);g.addClass(this._element,i),g.addClass(this._element,"win-disposable"),this._element.innerHTML='',this.refresh(),this._element.setAttribute("aria-label",h.ariaLabel),this._element.setAttribute("title",h.ariaLabel),this._element.setAttribute("type","button")},_handleNavigatedEvent:function(){this.refresh()},_handleBackButtonClick:function(){e.back()}});return k._getReferenceCount=function(){return l.getCount()},b.Class.mix(k,f.DOMEventMixin),k})})}),define("WinJS/Controls/Tooltip",["exports","../Core/_Global","../Core/_WinRT","../Core/_Base","../Core/_BaseUtils","../Core/_Events","../Animations","../Animations/_TransitionAnimation","../Utilities/_Control","../Utilities/_Dispose","../Utilities/_ElementUtilities","../Utilities/_Hoverable","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";d.Namespace._moduleDefine(a,"WinJS.UI",{Tooltip:d.Namespace._lazy(function(){function a(a,b){return"pointerdown"===a?b===G:a in H}function l(a,b){return"pointerdown"===a?b!==G:a in J}var m=0,n=k.Key,o="top",p=h._animationTimeAdjustment(400),q=h._animationTimeAdjustment(1200),r=h._animationTimeAdjustment(400),s=h._animationTimeAdjustment(5e3),t=h._animationTimeAdjustment(0),u=h._animationTimeAdjustment(600),v=h._animationTimeAdjustment(400),w=h._animationTimeAdjustment(600),x=h._animationTimeAdjustment(200),y=h._animationTimeAdjustment(3e5),z=12,A=20,B=45,C=20,D=12,E=1,F=k._MSPointerEvent.MSPOINTER_TYPE_MOUSE||"mouse",G=k._MSPointerEvent.MSPOINTER_TYPE_TOUCH||"touch",H={keyup:"",pointerover:"",pointerdown:""},I={pointermove:""},J={pointerdown:"",keydown:"",focusout:"",pointerout:"",pointercancel:"",pointerup:""},K={pointerover:"",pointerout:""},L="win-tooltip",M="win-tooltip-phantom",N=r,O=2*N,P=2.5*N,Q=s,R=!1,S=!1,T=f._createEventProperty;return d.Class.define(function(a,d){a=a||b.document.createElement("div");var e=k.data(a).tooltip;if(e)return e;if(!S&&c.Windows.UI.ViewManagement.UISettings){var f=new c.Windows.UI.ViewManagement.UISettings;N=h._animationTimeAdjustment(f.mouseHoverTime),O=2*N,P=2.5*N,Q=h._animationTimeAdjustment(1e3*f.messageDuration);var g=f.handPreference;R=g===c.Windows.UI.ViewManagement.HandPreference.leftHanded}S=!0,this._disposed=!1,this._placement=o,this._infotip=!1,this._innerHTML=null,this._contentElement=null,this._extraClass=null,this._lastContentType="html",this._anchorElement=a,this._domElement=null,this._phantomDiv=null,this._triggerByOpen=!1,this._eventListenerRemoveStack=[],this._lastKeyOrBlurEvent=null,this._currentKeyOrBlurEvent=null,a.winControl=this,k.addClass(a,"win-disposable"),a.title&&(this._innerHTML=this._anchorElement.title,this._anchorElement.removeAttribute("title")),i.setOptions(this,d),this._events(),k.data(a).tooltip=this},{innerHTML:{get:function(){return this._innerHTML},set:function(a){if(this._innerHTML=a,this._domElement){if(!this._innerHTML||""===this._innerHTML)return void this._onDismiss();this._domElement.innerHTML=a,this._position()}this._lastContentType="html"}},element:{get:function(){return this._anchorElement}},contentElement:{get:function(){return this._contentElement},set:function(a){if(this._contentElement=a,this._domElement){if(!this._contentElement)return void this._onDismiss();this._domElement.innerHTML="",this._domElement.appendChild(this._contentElement),this._position()}this._lastContentType="element"}},placement:{get:function(){return this._placement},set:function(a){"top"!==a&&"bottom"!==a&&"left"!==a&&"right"!==a&&(a=o),this._placement=a,this._domElement&&this._position()}},infotip:{get:function(){return this._infotip},set:function(a){this._infotip=!!a}},extraClass:{get:function(){return this._extraClass},set:function(a){this._extraClass=a}},onbeforeopen:T("beforeopen"),onopened:T("opened"),onbeforeclose:T("beforeclose"),onclosed:T("closed"),dispose:function(){if(!this._disposed){this._disposed=!0,j.disposeSubTree(this.element);for(var a=0,b=this._eventListenerRemoveStack.length;b>a;a++)this._eventListenerRemoveStack[a]();this._onDismiss();var c=k.data(this._anchorElement);c&&delete c.tooltip}},addEventListener:function(a,b,c){if(this._anchorElement){this._anchorElement.addEventListener(a,b,c);var d=this;this._eventListenerRemoveStack.push(function(){d._anchorElement.removeEventListener(a,b,c)})}},removeEventListener:function(a,b,c){this._anchorElement&&this._anchorElement.removeEventListener(a,b,c)},open:function(a){switch(this._triggerByOpen=!0,"touch"!==a&&"mouseover"!==a&&"mousedown"!==a&&"keyboard"!==a&&(a="default"),a){case"touch":this._onInvoke("touch","never");break;case"mouseover":this._onInvoke("mouse","auto");break;case"keyboard":this._onInvoke("keyboard","auto");break;case"mousedown":case"default":this._onInvoke("nodelay","never")}},close:function(){this._onDismiss()},_cleanUpDOM:function(){this._domElement&&(j.disposeSubTree(this._domElement),b.document.body.removeChild(this._domElement),this._domElement=null,b.document.body.removeChild(this._phantomDiv),this._phantomDiv=null)},_createTooltipDOM:function(){this._cleanUpDOM(),this._domElement=b.document.createElement("div");var a=k._uniqueID(this._domElement);this._domElement.setAttribute("id",a);var c=b.document.defaultView.getComputedStyle(this._anchorElement,null),d=this._domElement.style;d.direction=c.direction,d.writingMode=c["writing-mode"],this._domElement.setAttribute("tabindex",-1),this._domElement.setAttribute("role","tooltip"),this._anchorElement.setAttribute("aria-describedby",a),"element"===this._lastContentType?this._domElement.appendChild(this._contentElement):this._domElement.innerHTML=this._innerHTML,b.document.body.appendChild(this._domElement),k.addClass(this._domElement,L),this._extraClass&&k.addClass(this._domElement,this._extraClass),this._phantomDiv=b.document.createElement("div"),this._phantomDiv.setAttribute("tabindex",-1),b.document.body.appendChild(this._phantomDiv),k.addClass(this._phantomDiv,M);var e=b.document.defaultView.getComputedStyle(this._domElement,null).zIndex+1;this._phantomDiv.style.zIndex=e},_raiseEvent:function(a,c){if(this._anchorElement){var d=b.document.createEvent("CustomEvent");d.initCustomEvent(a,!1,!1,c),this._anchorElement.dispatchEvent(d)}},_captureLastKeyBlurOrPointerOverEvent:function(a){switch(this._lastKeyOrBlurEvent=this._currentKeyOrBlurEvent,a.type){case"keyup":this._currentKeyOrBlurEvent=a.keyCode===n.shift?null:"keyboard";break;case"focusout":this._currentKeyOrBlurEvent=null}},_registerEventToListener:function(a,b){var c=this,d=function(a){c._captureLastKeyBlurOrPointerOverEvent(a),c._handleEvent(a)};k._addEventListener(a,b,d,!1),this._eventListenerRemoveStack.push(function(){k._removeEventListener(a,b,d,!1)})},_events:function(){for(var a in H)this._registerEventToListener(this._anchorElement,a);for(var a in I)this._registerEventToListener(this._anchorElement,a);for(a in J)this._registerEventToListener(this._anchorElement,a);this._registerEventToListener(this._anchorElement,"contextmenu"),this._registerEventToListener(this._anchorElement,"MSHoldVisual")},_handleEvent:function(b){var c=b._normalizedType||b.type;if(!this._triggerByOpen){if(c in K&&k.eventWithinElement(this._anchorElement,b))return;if(a(c,b.pointerType))if(b.pointerType===G)this._isShown||(this._showTrigger="touch"),this._onInvoke("touch","never",b);else{if(this._skipMouseOver&&b.pointerType===F&&"pointerover"===c)return void(this._skipMouseOver=!1);var d="key"===c.substring(0,3)?"keyboard":"mouse";this._isShown||(this._showTrigger=d),this._onInvoke(d,"auto",b)}else if(c in I)this._contactPoint={x:b.clientX,y:b.clientY};else if(l(c,b.pointerType)){var f;if(b.pointerType===G){if("pointerup"===c){this._skipMouseOver=!0;var g=this;e._yieldForEvents(function(){g._skipMouseOver=!1})}f="touch"}else f="key"===c.substring(0,3)?"keyboard":"mouse";if("focusout"!==c&&f!==this._showTrigger)return;this._onDismiss()}else("contextmenu"===c||"MSHoldVisual"===c)&&b.preventDefault()}},_onShowAnimationEnd:function(){if(!this._shouldDismiss&&!this._disposed&&(this._raiseEvent("opened"),this._domElement&&"never"!==this._hideDelay)){var a=this,b=this._infotip?Math.min(3*Q,y):Q;this._hideDelayTimer=this._setTimeout(function(){a._onDismiss()},b)}},_onHideAnimationEnd:function(){b.document.body.removeEventListener("DOMNodeRemoved",this._removeTooltip,!1),this._cleanUpDOM(),this._anchorElement&&this._anchorElement.removeAttribute("aria-describedby"),m=(new Date).getTime(),this._triggerByOpen=!1,this._disposed||this._raiseEvent("closed")},_decideOnDelay:function(a){var b;if(this._useAnimation=!0,"nodelay"===a)b=0,this._useAnimation=!1;else{var c=(new Date).getTime();x>=c-m?(b="touch"===a?this._infotip?v:t:this._infotip?w:u,this._useAnimation=!1):b="touch"===a?this._infotip?q:p:this._infotip?P:O}return b},_getAnchorPositionFromElementWindowCoord:function(){var a=this._anchorElement.getBoundingClientRect();return{x:a.left,y:a.top,width:a.width,height:a.height}},_getAnchorPositionFromPointerWindowCoord:function(a){return{x:a.x,y:a.y,width:1,height:1}},_canPositionOnSide:function(a,b,c,d){var e=0,f=0;switch(a){case"top":e=d.width+this._offset,f=c.y;break;case"bottom":e=d.width+this._offset,f=b.height-c.y-c.height;break;case"left":e=c.x,f=d.height+this._offset;break;case"right":e=b.width-c.x-c.width,f=d.height+this._offset}return e>=d.width+this._offset&&f>=d.height+this._offset},_positionOnSide:function(a,b,c,d){var e=0,f=0;switch(a){case"top":case"bottom":e=c.x+c.width/2-d.width/2,e=Math.min(Math.max(e,0),b.width-d.width-E),f="top"===a?c.y-d.height-this._offset:c.y+c.height+this._offset;break;case"left":case"right":f=c.y+c.height/2-d.height/2,f=Math.min(Math.max(f,0),b.height-d.height-E),e="left"===a?c.x-d.width-this._offset:c.x+c.width+this._offset}this._domElement.style.left=e+"px",this._domElement.style.top=f+"px",this._phantomDiv.style.left=e+"px",this._phantomDiv.style.top=f+"px",this._phantomDiv.style.width=d.width+"px",this._phantomDiv.style.height=d.height+"px"},_position:function(a){var c={width:0,height:0},d={x:0,y:0,width:0,height:0},e={width:0,height:0};c.width=b.document.documentElement.clientWidth,c.height=b.document.documentElement.clientHeight,"tb-rl"===b.document.defaultView.getComputedStyle(b.document.body,null)["writing-mode"]&&(c.width=b.document.documentElement.clientHeight,c.height=b.document.documentElement.clientWidth),d=!this._contactPoint||"touch"!==a&&"mouse"!==a?this._getAnchorPositionFromElementWindowCoord():this._getAnchorPositionFromPointerWindowCoord(this._contactPoint),e.width=this._domElement.offsetWidth,e.height=this._domElement.offsetHeight;var f={top:["top","bottom","left","right"],bottom:["bottom","top","left","right"],left:["left","right","top","bottom"],right:["right","left","top","bottom"]};R&&(f.top[2]="right",f.top[3]="left",f.bottom[2]="right",f.bottom[3]="left");for(var g=f[this._placement],h=g.length,i=0;h>i;i++)if(i===h-1||this._canPositionOnSide(g[i],c,d,e)){this._positionOnSide(g[i],c,d,e);break}return g[i]},_showTooltip:function(a){if(!this._shouldDismiss&&(this._isShown=!0,this._raiseEvent("beforeopen"),b.document.body.contains(this._anchorElement)&&!this._shouldDismiss)){if("element"===this._lastContentType){if(!this._contentElement)return void(this._isShown=!1)}else if(!this._innerHTML||""===this._innerHTML)return void(this._isShown=!1);var c=this;this._removeTooltip=function(a){for(var d=c._anchorElement;d;){if(a.target===d){b.document.body.removeEventListener("DOMNodeRemoved",c._removeTooltip,!1),c._cleanUpDOM();break}d=d.parentNode}},b.document.body.addEventListener("DOMNodeRemoved",this._removeTooltip,!1),this._createTooltipDOM(),this._position(a),this._useAnimation?g.fadeIn(this._domElement).then(this._onShowAnimationEnd.bind(this)):this._onShowAnimationEnd()}},_onInvoke:function(a,b,c){if(this._shouldDismiss=!1,!this._isShown&&(!c||"keyup"!==c.type||"keyboard"!==this._lastKeyOrBlurEvent&&(this._lastKeyOrBlurEvent||c.keyCode===n.tab))){this._hideDelay=b,this._contactPoint=null,c?(this._contactPoint={x:c.clientX,y:c.clientY},this._offset="touch"===a?B:"keyboard"===a?z:A):this._offset="touch"===a?C:D,this._clearTimeout(this._delayTimer),this._clearTimeout(this._hideDelayTimer);var d=this._decideOnDelay(a);if(d>0){var e=this;this._delayTimer=this._setTimeout(function(){e._showTooltip(a)},d)}else this._showTooltip(a)}},_onDismiss:function(){this._shouldDismiss=!0,this._isShown&&(this._isShown=!1,this._showTrigger="mouse",this._domElement?(this._raiseEvent("beforeclose"),this._useAnimation?g.fadeOut(this._domElement).then(this._onHideAnimationEnd.bind(this)):this._onHideAnimationEnd()):(this._raiseEvent("beforeclose"),this._raiseEvent("closed")))},_setTimeout:function(a,c){return b.setTimeout(a,c)},_clearTimeout:function(a){b.clearTimeout(a)}},{_DELAY_INITIAL_TOUCH_SHORT:{get:function(){return p}},_DELAY_INITIAL_TOUCH_LONG:{get:function(){return q}},_DEFAULT_MOUSE_HOVER_TIME:{get:function(){return r}},_DEFAULT_MESSAGE_DURATION:{get:function(){return s}},_DELAY_RESHOW_NONINFOTIP_TOUCH:{get:function(){return t}},_DELAY_RESHOW_NONINFOTIP_NONTOUCH:{get:function(){return u}},_DELAY_RESHOW_INFOTIP_TOUCH:{get:function(){return v}},_DELAY_RESHOW_INFOTIP_NONTOUCH:{get:function(){return w}},_RESHOW_THRESHOLD:{get:function(){return x}},_HIDE_DELAY_MAX:{get:function(){return y}}})})})}),define("WinJS/Controls/Rating",["../Core/_Global","../Core/_Base","../Core/_ErrorFromName","../Core/_Events","../Core/_Resources","../Utilities/_Control","../Utilities/_ElementUtilities","../Utilities/_Hoverable","../Utilities/_SafeHtml","./Tooltip","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g,h,i,j){"use strict";b.Namespace.define("WinJS.UI",{Rating:b.Namespace._lazy(function(){var h=d._createEventProperty,k={get averageRating(){return e._getWinJSString("ui/averageRating").value},get clearYourRating(){return e._getWinJSString("ui/clearYourRating").value},get tentativeRating(){return e._getWinJSString("ui/tentativeRating").value},get tooltipStringsIsInvalid(){return"Invalid argument: tooltipStrings must be null or an array of strings."},get unrated(){return e._getWinJSString("ui/unrated").value},get userRating(){return e._getWinJSString("ui/userRating").value}},l=5,m=!1,n="cancel",o="change",p="previewchange",q=0,r=g._MSPointerEvent.MSPOINTER_TYPE_TOUCH||"touch",s=g._MSPointerEvent.MSPOINTER_TYPE_PEN||"pen",t=g._MSPointerEvent.MSPOINTER_TYPE_MOUSE||"mouse",u="padding-left: 0px; padding-right: 0px; border-left: 0px; border-right: 0px; -ms-flex: none; -webkit-flex: none; flex: none; display: none",v="win-rating",w="win-star win-empty",x="win-star win-average win-empty",y="win-star win-average win-full",z="win-star win-user win-empty",A="win-star win-user win-full",B="win-star win-tentative win-empty",C="win-star win-tentative win-full",D="win-disabled",E="win-average",F="win-user";return b.Class.define(function(b,c){this._disposed=!1,b=b||a.document.createElement("div"),c=c||{},this._element=b,g.addClass(this._element,"win-disposable"),this._userRating=0,this._averageRating=0,this._disabled=m,this._enableClear=!0,this._tooltipStrings=[],this._controlUpdateNeeded=!1,this._setControlSize(c.maxRating),c.tooltipStrings||this._updateTooltips(null),f.setOptions(this,c),this._controlUpdateNeeded=!0,this._forceLayout(),g._addInsertedNotifier(this._element),b.winControl=this,this._events()},{maxRating:{get:function(){return this._maxRating},set:function(a){this._setControlSize(a),this._forceLayout()}},userRating:{get:function(){return this._userRating},set:function(a){this._userRating=Math.max(0,Math.min(Number(a)>>0,this._maxRating)),this._updateControl()}},averageRating:{get:function(){return this._averageRating},set:function(a){this._averageRating=Number(a)<1?0:Math.min(Number(a)||0,this._maxRating),this._averageRatingElement&&this._ensureAverageMSStarRating(),this._updateControl()}},disabled:{get:function(){return this._disabled},set:function(a){this._disabled=!!a,this._disabled&&this._clearTooltips(),this._updateTabIndex(),this._updateControl()}},enableClear:{get:function(){return this._enableClear},set:function(a){this._enableClear=!!a,this._setAriaValueMin(),this._updateControl()}},tooltipStrings:{get:function(){return this._tooltipStrings},set:function(a){if("object"!=typeof a)throw new c("WinJS.UI.Rating.TooltipStringsIsInvalid",k.tooltipStringsIsInvalid);this._updateTooltips(a),this._updateAccessibilityRestState()}},element:{get:function(){return this._element}},oncancel:h(n),onchange:h(o),onpreviewchange:h(p),dispose:function(){if(!this._disposed){this._disposed=!0;for(var a=0;a":a+"
";i.setInnerHTMLUnsafe(this._element,a);for(var c=this._element.firstElementChild,b=0;c;)this._elements[b]=c,b0?(a.setAttribute("aria-label",k.tentativeRating),a.setAttribute("aria-valuenow",this._tentativeRating),a.setAttribute("aria-valuetext",this._getText(this._tentativeRating-1))):0===this._tentativeRating?(a.setAttribute("aria-valuenow",k.unrated),a.setAttribute("aria-label",k.tentativeRating),a.setAttribute("aria-valuetext",this._getText(this._maxRating))):(a.setAttribute("aria-valuenow",k.unrated),a.setAttribute("aria-label",k.tentativeRating),a.setAttribute("aria-valuetext",k.unrated)),this._ariaValueNowMutationObserver&&this._ariaValueNowMutationObserver.observe(this._element,{attributes:!0,attributeFilter:["aria-valuenow"]})},_ensureTooltips:function(){if(!this.disabled&&0===this._toolTips.length)for(var a=0;a0?this._tentativeRating--:-1===this._tentativeRating&&(this._tentativeRating=0!==this._userRating&&this._userRating>0?this._userRating-1:0),0!==this._tentativeRating||this._enableClear||(this._tentativeRating=1,a=!1)),this._showTentativeRating(a,"keyboard")},_events:function(){function a(a){return{name:a,lowerCaseName:a.toLowerCase(),handler:function(b){var d=c["_on"+a];d&&d.apply(c,[b])}}}var b,c=this,d=[a("KeyDown"),a("FocusOut"),a("FocusIn"),a("PointerCancel"),a("PointerDown"),a("PointerMove"),a("PointerOver"),a("PointerUp"),a("PointerOut")],e=[a("WinJSNodeInserted")];for(b=0;bh;h++){var j=f[h];if("tooltip"===j.getAttribute("role"))return;if(g.hasClass(j,"win-star")){d=j;break}}var k;if(d&&d.parentElement===this._element)k=g.data(d).msStarRating||0;else{var l=0,m=this.maxRating;"rtl"===a.getComputedStyle(this._element).direction&&(l=m,m=0),k=b.clientX=c.num0&&d<=c.num9?h=c.num0:d>=c.numPad0&&d<=c.numPad9&&(h=c.numPad0),h>0){var i=!1,j=Math.min(d-h,this._maxRating);0!==j||this._enableClear||(j=1),j!==this._tentativeRating&&(this._closeTooltip(),i=!0),this._tentativeRating=j,this._showTentativeRating(i,"keyboard")}else f=!1}f&&(b.stopPropagation(),b.preventDefault())},_onPointerOut:function(a){this._captured||g.eventWithinElement(this._element,a)||(this._showCurrentRating(),this._lastEventWasChange||this._raiseEvent(n,null))},_onUserRatingChanged:function(){this._disabled||(this._closeTooltip(),this._userRating===this._tentativeRating||this._lastEventWasCancel||this._lastEventWasChange?this._updateControl():(this.userRating=this._tentativeRating,this._raiseEvent(o,this._userRating)))},_raiseEvent:function(b,c){if(!this._disabled&&(this._lastEventWasChange=b===o,this._lastEventWasCancel=b===n,a.document.createEvent)){var d=a.document.createEvent("CustomEvent");d.initCustomEvent(b,!1,!1,{tentativeRating:c}),this._element.dispatchEvent(d)}},_resetNextElement:function(b){if(null!==this._averageRatingElement.nextSibling){g._setFlexStyle(this._averageRatingElement.nextSibling,{grow:1,shrink:1});var c=this._averageRatingElement.nextSibling.style,d=a.getComputedStyle(this._element).direction;b&&(d="rtl"===d?"ltr":"rtl"),"rtl"===d?(c.paddingRight=this._elementPadding,c.borderRight=this._elementBorder,c.direction="rtl"):(c.paddingLeft=this._elementPadding,c.borderLeft=this._elementBorder,c.direction="ltr"),c.backgroundPosition="left",c.backgroundSize="100% 100%",c.width=this._resizeStringValue(this._elementWidth,1,c.width)}},_resetAverageStar:function(a){this._resetNextElement(a),this._hideAverageRating()},_resizeStringValue:function(a,b,c){var d=parseFloat(a);if(isNaN(d))return null!==c?c:a;var e=a.substring(d.toString(10).length);return d*=b,d+e},_setControlSize:function(a){var b=(Number(a)||l)>>0;this._maxRating=b>0?b:l},_updateTooltips:function(a){var b,c=0;if(null!==a)for(c=a.length<=this._maxRating+1?a.length:this._maxRating+1,b=0;c>b;b++)this._tooltipStrings[b]=a[b];else{for(b=0;bd?a:c},_updateAverageStar:function(){var b=this._averageRatingElement.style,c=this._averageRatingElement.nextSibling.style;"rtl"===a.getComputedStyle(this._element).direction?(b.backgroundPosition="right",b.paddingRight=this._elementPadding,b.borderRight=this._elementBorder,c.paddingRight="0px",c.borderRight="0px",c.direction="ltr"):(b.backgroundPosition="left",c.backgroundPosition="right",b.paddingLeft=this._elementPadding,b.borderLeft=this._elementBorder,c.paddingLeft="0px",c.borderLeft="0px",c.direction="rtl"),g._setFlexStyle(this._averageRatingElement,{grow:this._floatingValue,shrink:this._floatingValue}),b.width=this._resizeStringValue(this._elementWidth,this._floatingValue,b.width),b.backgroundSize=100/this._floatingValue+"% 100%",b.display=a.getComputedStyle(this._averageRatingElement.nextSibling).display,this._averageRatingHidden=!1,g._setFlexStyle(this._averageRatingElement.nextSibling,{grow:1-this._floatingValue,shrink:1-this._floatingValue}),c.width=this._resizeStringValue(this._elementWidth,1-this._floatingValue,c.width),c.backgroundSize=100/(1-this._floatingValue)+"% 100%"},_showCurrentRating:function(){this._closeTooltip(),this._tentativeRating=-1,this._disabled||this._updateControl(),this._updateAccessibilityRestState()},_showTentativeRating:function(a,b){!this._disabled&&this._tentativeRating>=0&&(this._setStarClasses(C,this._tentativeRating,B),this._hideAverageStar()),this._updateAccessibilityHoverState(),a&&(this._openTooltip(b),this._raiseEvent(p,this._tentativeRating))},_openTooltip:function(b){if(!this.disabled)if(this._ensureTooltips(),this._tentativeRating>0)this._toolTips[this._tentativeRating-1].innerHTML=this._tooltipStrings[this._tentativeRating-1],this._toolTips[this._tentativeRating-1].open(b);else if(0===this._tentativeRating){this._clearElement=a.document.createElement("div");var c=this._elements[0].offsetWidth+parseInt(this._elementPadding,10);"ltr"===a.getComputedStyle(this._element).direction&&(c*=-1),this._clearElement.style.cssText="visiblity:hidden; position:absolute; width:0px; height:100%; left:"+c+"px; top:0px;",this._elements[0].appendChild(this._clearElement),this._toolTips[this._maxRating]=new j.Tooltip(this._clearElement),this._toolTips[this._maxRating].innerHTML=this._tooltipStrings[this._maxRating],this._toolTips[this._maxRating].open(b) -}},_closeTooltip:function(){0!==this._toolTips.length&&(this._tentativeRating>0?this._toolTips[this._tentativeRating-1].close():0===this._tentativeRating&&null!==this._clearElement&&(this._toolTips[this._maxRating].close(),this._elements[0].removeChild(this._clearElement),this._clearElement=null))},_clearTooltips:function(){if(this._toolTips&&0!==this._toolTips.length)for(var a=0;ad?a:c},_ensureAverageMSStarRating:function(){g.data(this._averageRatingElement).msStarRating=Math.ceil(this._averageRating)},_updateControl:function(){if(this._controlUpdateNeeded){if(0!==this._averageRating&&0===this._userRating&&this._averageRating>=1&&this._averageRating<=this._maxRating){this._setClasses(y,this._averageRating-1,x),this._averageRatingElement.className=y;for(var b=0;b=this._averageRating){this._resetNextElement(!1),this._element.insertBefore(this._averageRatingElement,this._elements[b]),this._floatingValue=this._averageRating-b;var c=a.getComputedStyle(this._elements[b]);this._elementWidth=c.width,"rtl"===a.getComputedStyle(this._element).direction?(this._elementPadding=c.paddingRight,this._elementBorder=c.borderRight):(this._elementPadding=c.paddingLeft,this._elementBorder=c.borderLeft),this._updateAverageStar()}}0!==this._userRating&&this._userRating>=1&&this._userRating<=this._maxRating&&(this._setClasses(A,this._userRating,z),this._resetAverageStar(!1)),0===this._userRating&&0===this._averageRating&&(this._setClasses(w,this._maxRating),this._resetAverageStar(!1)),this.disabled&&this._appendClass(D),this._appendClass(0!==this._averageRating&&0===this._userRating?E:F),this._updateAccessibilityRestState()}}})})})}),define("WinJS/Controls/ToggleSwitch",["../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_Events","../Core/_Resources","../Utilities/_Control","../Utilities/_ElementUtilities","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g){"use strict";b.Namespace.define("WinJS.UI",{ToggleSwitch:b.Namespace._lazy(function(){var c="win-toggleswitch",h="win-toggleswitch-header",i="win-toggleswitch-clickregion",j="win-toggleswitch-track",k="win-toggleswitch-fill",l="win-toggleswitch-fill-lower",m="win-toggleswitch-fill-upper",n="win-toggleswitch-thumb",o="win-toggleswitch-values",p="win-toggleswitch-value",q="win-toggleswitch-value-on",r="win-toggleswitch-value-off",s="win-toggleswitch-description",t="win-toggleswitch-on",u="win-toggleswitch-off",v="win-toggleswitch-disabled",w="win-toggleswitch-enabled",x="win-toggleswitch-dragging",y="win-toggleswitch-pressed",z={get on(){return e._getWinJSString("ui/on").value},get off(){return e._getWinJSString("ui/off").value}},A=b.Class.define(function(b,d){b=b||a.document.createElement("div"),this._domElement=b,g.addClass(this._domElement,c),this._domElement.innerHTML=['
','
','
','
',"
",'
','
','
','
','
',"
","
",'
'].join("\n"),this._headerElement=this._domElement.firstElementChild,this._labelsElement=this._headerElement.nextElementSibling,this._labelOnElement=this._labelsElement.firstElementChild,this._labelOffElement=this._labelOnElement.nextElementSibling,this._clickElement=this._labelsElement.nextElementSibling,this._trackElement=this._clickElement.firstElementChild,this._fillLowerElement=this._trackElement.firstElementChild,this._thumbElement=this._fillLowerElement.nextElementSibling,this._fillUpperElement=this._thumbElement.nextElementSibling,this._descriptionElement=this._clickElement.nextElementSibling,this._headerElement.setAttribute("aria-hidden",!0),this._labelsElement.setAttribute("aria-hidden",!0),this._headerElement.setAttribute("id",g._uniqueID(this._headerElement)),this._domElement.setAttribute("aria-labelledby",this._headerElement.id),this._domElement.setAttribute("role","checkbox"),this._domElement.winControl=this,g.addClass(this._domElement,"win-disposable"),this._domElement.addEventListener("keydown",this._keyDownHandler.bind(this)),g._addEventListener(this._clickElement,"pointerdown",this._pointerDownHandler.bind(this)),g._globalListener.addEventListener(this._domElement,"pointermove",this._pointerMoveHandler.bind(this)),g._globalListener.addEventListener(this._domElement,"pointerup",this._pointerUpHandler.bind(this)),this._mutationObserver=new g._MutationObserver(this._ariaChangedHandler.bind(this)),this._mutationObserver.observe(this._domElement,{attributes:!0,attributeFilter:["aria-checked"]}),this._dragX=0,this._dragging=!1,this.checked=!1,this.disabled=!1,this.labelOn=z.on,this.labelOff=z.off,f.setOptions(this,d)},{element:{get:function(){return this._domElement}},checked:{get:function(){return this._checked},set:function(a){a=!!a,a!==this.checked&&(this._checked=a,this._domElement.setAttribute("aria-checked",a),a?(g.addClass(this._domElement,t),g.removeClass(this._domElement,u)):(g.addClass(this._domElement,u),g.removeClass(this._domElement,t)),this.dispatchEvent("change"))}},disabled:{get:function(){return this._disabled},set:function(a){a=!!a,a!==this._disabled&&(a?(g.addClass(this._domElement,v),g.removeClass(this._domElement,w)):(g.removeClass(this._domElement,v),g.addClass(this._domElement,w)),this._disabled=a,this._domElement.setAttribute("aria-disabled",a),this._domElement.setAttribute("tabIndex",a?-1:0))}},labelOn:{get:function(){return this._labelOnElement.innerHTML},set:function(a){this._labelOnElement.innerHTML=a}},labelOff:{get:function(){return this._labelOffElement.innerHTML},set:function(a){this._labelOffElement.innerHTML=a}},title:{get:function(){return this._headerElement.innerHTML},set:function(a){this._headerElement.innerHTML=a}},onchange:d._createEventProperty("change"),dispose:function(){this._disposed||(this._disposed=!0)},_ariaChangedHandler:function(){var a=this._domElement.getAttribute("aria-checked");a="true"===a?!0:!1,this.checked=a},_keyDownHandler:function(a){this.disabled||(a.keyCode===g.Key.space&&(this.checked=!this.checked),(a.keyCode===g.Key.rightArrow||a.keyCode===g.Key.upArrow)&&(this.checked=!0),(a.keyCode===g.Key.leftArrow||a.keyCode===g.Key.downArrow)&&(this.checked=!1))},_pointerDownHandler:function(a){this.disabled||(a.preventDefault(),this._mousedown=!0,this._dragXStart=a.pageX-this._trackElement.offsetLeft-this._thumbElement.offsetWidth/2,this._dragX=this._dragXStart,this._dragging=!1,g.addClass(this._domElement,y))},_pointerUpHandler:function(b){if(!this.disabled&&this._mousedown){b=b.detail.originalEvent,b.preventDefault();var c="rtl"===a.getComputedStyle(this._domElement).direction;if(this._dragging){var d=this._trackElement.offsetWidth-this._thumbElement.offsetWidth;this.checked=c?this._dragX=d/2,this._dragging=!1,g.removeClass(this._domElement,x)}else this.checked=!this.checked;this._mousedown=!1,this._thumbElement.style.left="",this._fillLowerElement.style.width="",this._fillUpperElement.style.width="",g.removeClass(this._domElement,y)}},_pointerMoveHandler:function(a){if(!this.disabled&&this._mousedown){a=a.detail.originalEvent,a.preventDefault();var b=a.pageX-this._trackElement.offsetLeft-this._thumbElement.offsetWidth/2,c=this._trackElement.offsetWidth-this._thumbElement.offsetWidth,d=this._fillLowerElement.offsetLeft+this._trackElement.clientLeft;this._dragX=Math.min(c,b),this._dragX=Math.max(0,this._dragX),!this._dragging&&Math.abs(this._dragX-this._dragXStart)>3&&(this._dragging=!0,g.addClass(this._domElement,x)),this._thumbElement.style.left=this._dragX+"px",this._fillLowerElement.style.width=this._dragX-d+"px",this._fillUpperElement.style.width=c-this._dragX-d+"px"}}});return b.Class.mix(A,f.DOMEventMixin),A})})}),define("WinJS/Controls/SemanticZoom",["../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Events","../Core/_Resources","../Core/_WriteProfilerMark","../Animations","../Animations/_TransitionAnimation","../ControlProcessor","../Promise","../Utilities/_Control","../Utilities/_Dispose","../Utilities/_ElementUtilities","../Utilities/_ElementListUtilities","../Utilities/_Hoverable","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){"use strict";b.Namespace.define("WinJS.UI",{SemanticZoom:b.Namespace._lazy(function(){function f(a){return a}function q(a,b,c){return a+" "+i._animationTimeAdjustment(b)+"s "+c+" "+i._libraryDelay+"ms"}function r(){return q(X.cssName,Q,"ease-in-out")+", "+q("opacity",O,"ease-in-out")}function s(){return q(X.cssName,R,"ease-in-out")+", "+q("opacity",P,"ease-in-out")}function t(){return q(X.cssName,U,W)}function u(){return q(X.cssName,V,W)}function v(a,b){return n.convertToPixels(a,b)}function w(a,b){i.isAnimationEnabled()&&(a.style[X.scriptName]="scale("+b+")")}function x(a){var b=a.target&&a.target.winControl;b&&!b._resizing&&b._onResize()}function y(a){var b=a[0].target&&a[0].target.winControl;b&&b instanceof hb&&b._onPropertyChanged()}var z=c._browserStyleEquivalents,A={get invalidZoomFactor(){return"Invalid zoomFactor"}},B="win-semanticzoom-button",C="win-semanticzoom-button-location",D=3e3,E=8,F="win-semanticzoom",G="win-semanticzoom-zoomedinview",H="win-semanticzoom-zoomedoutview",I="zoomchanged",J=1.05,K=.65,L=.8,M=.2,N=4096,O=.333,P=.333,Q=.333,R=.333,S=1e3*O,T=50,U=.333,V=.333,W="cubic-bezier(0.1,0.9,0.2,1)",X=z.transform,Y=z.transition.scriptName,Z=2,$=.2,_=.45,ab=1e3,bb=50,cb={none:0,zoomedIn:1,zoomedOut:2},db=n._MSPointerEvent.MSPOINTER_TYPE_TOUCH||"touch",eb=n._MSPointerEvent.MSPOINTER_TYPE_PEN||"pen",fb=n._MSPointerEvent.MSPOINTER_TYPE_MOUSE||"mouse",gb={x:0,y:0},hb=b.Class.define(function(b,e){this._disposed=!1;var f=this,g=c.isPhone;this._element=b,this._element.winControl=this,n.addClass(this._element,"win-disposable"),n.addClass(this._element,F),this._element.setAttribute("role","ms-semanticzoomcontainer");var h=this._element.getAttribute("aria-label");if(h||this._element.setAttribute("aria-label",""),e=e||{},this._zoomedOut=!!e.zoomedOut||!!e.initiallyZoomedOut||!1,this._enableButton=!g,g||void 0===e.enableButton||(this._enableButton=!!e.enableButton),this._element.setAttribute("aria-checked",this._zoomedOut.toString()),this._zoomFactor=n._clamp(e.zoomFactor,M,L,K),this.zoomedInItem=e.zoomedInItem,this.zoomedOutItem=e.zoomedOutItem,c.validation&&e._zoomFactor&&e._zoomFactor!==this._zoomFactor)throw new d("WinJS.UI.SemanticZoom.InvalidZoomFactor",A.invalidZoomFactor);this._locked=!!e.locked,this._zoomInProgress=!1,this._isBouncingIn=!1,this._isBouncing=!1,this._zooming=!1,this._aligning=!1,this._gesturing=!1,this._gestureEnding=!1,this._buttonShown=!1,this._shouldFakeTouchCancel="TouchEvent"in a,this._initialize(),this._configure(),this._element.addEventListener("mselementresize",x),n._resizeNotifier.subscribe(this._element,x),new n._MutationObserver(y).observe(this._element,{attributes:!0,attributeFilter:["aria-checked"]}),g||(this._element.addEventListener("wheel",this._onWheel.bind(this),!0),this._element.addEventListener("mousewheel",this._onMouseWheel.bind(this),!0),this._element.addEventListener("keydown",this._onKeyDown.bind(this),!0),n._addEventListener(this._element,"pointerdown",this._onPointerDown.bind(this),!0),n._addEventListener(this._element,"pointermove",this._onPointerMove.bind(this),!0),n._addEventListener(this._element,"pointerout",this._onPointerOut.bind(this),!0),n._addEventListener(this._element,"pointercancel",this._onPointerCancel.bind(this),!0),n._addEventListener(this._element,"pointerup",this._onPointerUp.bind(this),!1),this._hiddenElement.addEventListener("gotpointercapture",this._onGotPointerCapture.bind(this),!1),this._hiddenElement.addEventListener("lostpointercapture",this._onLostPointerCapture.bind(this),!1),this._element.addEventListener("click",this._onClick.bind(this),!0),this._canvasIn.addEventListener(c._browserEventEquivalents.transitionEnd,this._onCanvasTransitionEnd.bind(this),!1),this._canvasOut.addEventListener(c._browserEventEquivalents.transitionEnd,this._onCanvasTransitionEnd.bind(this),!1),this._element.addEventListener("MSContentZoom",this._onMSContentZoom.bind(this),!0),this._resetPointerRecords()),this._onResizeImpl(),l._setOptions(this,e,!0),f._setVisibility()},{element:{get:function(){return this._element}},enableButton:{get:function(){return this._enableButton},set:function(a){var b=!!a;this._enableButton===b||c.isPhone||(this._enableButton=b,b?this._createSemanticZoomButton():this._removeSemanticZoomButton())}},zoomedOut:{get:function(){return this._zoomedOut},set:function(a){this._zoom(!!a,{x:.5*this._sezoClientWidth,y:.5*this._sezoClientHeight},!1,!1,this._zoomedOut&&c.isPhone)}},zoomFactor:{get:function(){return this._zoomFactor},set:function(a){var b=this._zoomFactor,c=n._clamp(a,M,L,K);b!==c&&(this._zoomFactor=c,this._onResize())}},locked:{get:function(){return this._locked},set:function(a){this._locked=!!a,a?this._hideSemanticZoomButton():this._displayButton()}},zoomedInItem:{get:function(){return this._zoomedInItem},set:function(a){this._zoomedInItem=a||f}},zoomedOutItem:{get:function(){return this._zoomedOutItem},set:function(a){this._zoomedOutItem=a||f}},dispose:function(){this._disposed||(this._disposed=!0,n._resizeNotifier.unsubscribe(this._element,x),m._disposeElement(this._elementIn),m._disposeElement(this._elementOut),this._clearTimeout(this._completeZoomTimer),this._clearTimeout(this._TTFFTimer))},forceLayout:function(){this._onResizeImpl()},_initialize:function(){var b=o.children(this._element);this._elementIn=b[0],this._elementOut=b[1],this._elementIn.style.height=this._elementOut.style.height=this._element.offsetHeight+"px",j.processAll(this._elementIn),j.processAll(this._elementOut),this._viewIn=this._elementIn.winControl.zoomableView,this._viewOut=this._elementOut.winControl.zoomableView,this._element.removeChild(this._elementOut),this._element.removeChild(this._elementIn),this._element.innerHTML="",this._cropViewport=a.document.createElement("div"),this._element.appendChild(this._cropViewport),this._viewportIn=a.document.createElement("div"),this._opticalViewportIn=a.document.createElement("div"),this._viewportOut=a.document.createElement("div"),this._opticalViewportOut=a.document.createElement("div"),this._opticalViewportIn.appendChild(this._viewportIn),this._opticalViewportOut.appendChild(this._viewportOut),this._cropViewport.appendChild(this._opticalViewportIn),this._cropViewport.appendChild(this._opticalViewportOut),this._canvasIn=a.document.createElement("div"),this._canvasOut=a.document.createElement("div"),this._viewportIn.appendChild(this._canvasIn),this._viewportOut.appendChild(this._canvasOut),this._canvasIn.appendChild(this._elementIn),this._canvasOut.appendChild(this._elementOut),this._enableButton&&this._createSemanticZoomButton(),this._hiddenElement=a.document.createElement("div"),this._hiddenElement.tabIndex=-1,this._hiddenElement.visibility="hidden",this._hiddenElement.setAttribute("aria-hidden","true"),this._element.appendChild(this._hiddenElement),n.addClass(this._elementIn,G),n.addClass(this._elementOut,H),this._setLayout(this._element,"relative","hidden"),this._setLayout(this._cropViewport,"absolute","hidden"),this._setLayout(this._opticalViewportIn,"absolute","auto"),this._setLayout(this._opticalViewportOut,"absolute","auto"),this._setLayout(this._viewportIn,"absolute","hidden"),this._setLayout(this._viewportOut,"absolute","hidden"),this._setLayout(this._canvasIn,"absolute","hidden"),this._setLayout(this._canvasOut,"absolute","hidden"),this._setupOpticalViewport(this._opticalViewportIn),this._setupOpticalViewport(this._opticalViewportOut),this._viewportIn.style["-ms-overflow-style"]="-ms-autohiding-scrollbar",this._viewportOut.style["-ms-overflow-style"]="-ms-autohiding-scrollbar",this._elementIn.style.position="absolute",this._elementOut.style.position="absolute"},_createSemanticZoomButton:function(){this._sezoButton=a.document.createElement("button"),this._sezoButton.className=B+" "+C,this._sezoButton.tabIndex=-1,this._sezoButton.style.visibility="hidden",this._sezoButton.setAttribute("aria-hidden",!0),this._element.appendChild(this._sezoButton),this._sezoButton.addEventListener("click",this._onSeZoButtonZoomOutClick.bind(this),!1),this._element.addEventListener("scroll",this._onSeZoChildrenScroll.bind(this),!0),n._addEventListener(this._element,"pointermove",this._onPenHover.bind(this),!1)},_removeSemanticZoomButton:function(){this._sezoButton&&(this._element.removeChild(this._sezoButton),this._sezoButton=null)},_configure:function(){var a=this._viewIn.getPanAxis(),b=this._viewOut.getPanAxis(),d=c.isPhone;if(this._pansHorizontallyIn="horizontal"===a||"both"===a,this._pansVerticallyIn="vertical"===a||"both"===a,this._pansHorizontallyOut="horizontal"===b||"both"===b,this._pansVerticallyOut="vertical"===b||"both"===b,!this._zoomInProgress){var e=1/this._zoomFactor-1,f=J-1;this._setLayout(this._elementIn,"absolute","visible"),this._setLayout(this._elementOut,"absolute","visible"),this._viewIn.configureForZoom(!1,!this._zoomedOut,this._zoomFromCurrent.bind(this,!0),e),this._viewOut.configureForZoom(!0,this._zoomedOut,this._zoomFromCurrent.bind(this,!1),f),this._pinching=!1,this._pinchGesture=0,this._canvasLeftIn=0,this._canvasTopIn=0,this._canvasLeftOut=0,this._canvasTopOut=0,d||(this._zoomedOut?w(this._canvasIn,this._zoomFactor):w(this._canvasOut,1/this._zoomFactor));var g=this._opticalViewportIn.style,h=this._opticalViewportOut.style,j=this._canvasIn.style,k=this._canvasOut.style;j.opacity=this._zoomedOut&&!d?0:1,k.opacity=this._zoomedOut?1:0,d&&(j.zIndex=1,k.zIndex=2),i.isAnimationEnabled()&&!d&&(g[z["transition-property"].scriptName]=X.cssName,g[z["transition-duration"].scriptName]="0s",g[z["transition-timing-function"].scriptName]="linear",h[z["transition-property"].scriptName]=X.cssName,h[z["transition-duration"].scriptName]="0s",h[z["transition-timing-function"].scriptName]="linear")}},_onPropertyChanged:function(){var a=this._element.getAttribute("aria-checked"),b="true"===a;this._zoomedOut!==b&&(this.zoomedOut=b)},_onResizeImpl:function(){this._resizing=this._resizing||0,this._resizing++;try{var b=function(a,b,c,d,e){var f=a.style;f.left=b+"px",f.top=c+"px",f.width=d+"px",f.height=e+"px"},c=a.getComputedStyle(this._element,null),d=parseFloat(c.width),e=parseFloat(c.height),f=v(this._element,c.paddingLeft),g=v(this._element,c.paddingRight),h=v(this._element,c.paddingTop),i=v(this._element,c.paddingBottom),j=d-f-g,k=e-h-i,l=1/this._zoomFactor;if(this._viewportWidth===j&&this._viewportHeight===k)return;this._sezoClientHeight=e,this._sezoClientWidth=d,this._viewportWidth=j,this._viewportHeight=k,this._configure();var m=2*l-1,n=Math.min(N,(this._pansHorizontallyIn?m:1)*j),o=Math.min(N,(this._pansVerticallyIn?m:1)*k);this._canvasLeftIn=.5*(n-j),this._canvasTopIn=.5*(o-k),b(this._cropViewport,f,h,j,k),b(this._viewportIn,0,0,j,k),b(this._opticalViewportIn,0,0,j,k),b(this._canvasIn,-this._canvasLeftIn,-this._canvasTopIn,n,o),b(this._elementIn,this._canvasLeftIn,this._canvasTopIn,j,k);var p=2*J-1,q=(this._pansHorizontallyOut?p:1)*j,r=(this._pansVerticallyOut?p:1)*k;this._canvasLeftOut=.5*(q-j),this._canvasTopOut=.5*(r-k),b(this._viewportOut,0,0,j,k),b(this._opticalViewportOut,0,0,j,k),b(this._canvasOut,-this._canvasLeftOut,-this._canvasTopOut,q,r),b(this._elementOut,this._canvasLeftOut,this._canvasTopOut,j,k)}finally{this._resizing--}},_onResize:function(){this._onResizeImpl()},_onMouseMove:function(a){return this._zooming||!this._lastMouseX&&!this._lastMouseY||a.screenX===this._lastMouseX&&a.screenY===this._lastMouseY?(this._lastMouseX=a.screenX,void(this._lastMouseY=a.screenY)):void(Math.abs(a.screenX-this._lastMouseX)<=E&&Math.abs(a.screenY-this._lastMouseY)<=E||(this._lastMouseX=a.screenX,this._lastMouseY=a.screenY,this._displayButton()))},_displayButton:function(){if(p.isHoverable){a.clearTimeout(this._dismissButtonTimer),this._showSemanticZoomButton();var b=this;this._dismissButtonTimer=a.setTimeout(function(){b._hideSemanticZoomButton()},i._animationTimeAdjustment(D))}},_showSemanticZoomButton:function(){this._disposed||this._buttonShown||!this._sezoButton||this._zoomedOut||this._locked||(h.fadeIn(this._sezoButton),this._sezoButton.style.visibility="visible",this._buttonShown=!0)},_hideSemanticZoomButton:function(a){if(!this._disposed&&this._buttonShown&&this._sezoButton){if(a)this._sezoButton.style.visibility="hidden";else{var b=this;h.fadeOut(this._sezoButton).then(function(){b._sezoButton.style.visibility="hidden"})}this._buttonShown=!1}},_onSeZoChildrenScroll:function(a){a.target!==this.element&&this._hideSemanticZoomButton(!0)},_onWheel:function(a){a.ctrlKey&&(this._zoom(a.deltaY>0,this._getPointerLocation(a)),a.stopPropagation(),a.preventDefault())},_onMouseWheel:function(a){a.ctrlKey&&(this._zoom(a.wheelDelta<0,this._getPointerLocation(a)),a.stopPropagation(),a.preventDefault())},_onPenHover:function(a){a.pointerType===eb&&0===a.buttons&&this._displayButton()},_onSeZoButtonZoomOutClick:function(){this._hideSemanticZoomButton(),this._zoom(!0,{x:.5*this._sezoClientWidth,y:.5*this._sezoClientHeight},!1)},_onKeyDown:function(a){var b=!1;if(a.ctrlKey){var c=n.Key;switch(a.keyCode){case c.add:case c.equal:case 61:this._zoom(!1),b=!0;break;case c.subtract:case c.dash:case 173:this._zoom(!0),b=!0}}b&&(a.stopPropagation(),a.preventDefault())},_createPointerRecord:function(a,b){var c=this._getPointerLocation(a),d={};return d.startX=d.currentX=c.x,d.startY=d.currentY=c.y,d.fireCancelOnPinch=b,this._pointerRecords[a.pointerId]=d,this._pointerCount=Object.keys(this._pointerRecords).length,d},_deletePointerRecord:function(a){var b=this._pointerRecords[a];return delete this._pointerRecords[a],this._pointerCount=Object.keys(this._pointerRecords).length,2!==this._pointerCount&&(this._pinching=!1),b},_fakeCancelOnPointer:function(b){var c=a.document.createEvent("UIEvent");c.initUIEvent("touchcancel",!0,!0,a,0),c.touches=b.touches,c.targetTouches=b.targetTouches,c.changedTouches=[b._currentTouch],c._fakedBySemanticZoom=!0,b.target.dispatchEvent(c)},_handlePointerDown:function(a){this._createPointerRecord(a,!1);for(var b=Object.keys(this._pointerRecords),c=0,d=b.length;d>c;c++)try{n._setPointerCapture(this._hiddenElement,b[c]||0)}catch(e){return void this._resetPointerRecords()}a.stopImmediatePropagation(),a.preventDefault()},_handleFirstPointerDown:function(a){this._resetPointerRecords(),this._createPointerRecord(a,this._shouldFakeTouchCancel),this._startedZoomedOut=this._zoomedOut},_onClick:function(a){a.target!==this._element&&this._isBouncing&&a.stopImmediatePropagation()},_onPointerDown:function(a){a.pointerType===db&&(0===this._pointerCount?this._handleFirstPointerDown(a):this._handlePointerDown(a))},_onPointerMove:function(a){function b(a,b,c,d){return Math.sqrt((c-a)*(c-a)+(d-b)*(d-b))}function c(a,b){return{x:.5*(a.currentX+b.currentX)|0,y:.5*(a.currentY+b.currentY)|0}}if(a.pointerType===fb||a.pointerType===eb)return void this._onMouseMove(a);if(a.pointerType===db){var d=this._pointerRecords[a.pointerId],e=this._getPointerLocation(a);if(d){if(d.currentX=e.x,d.currentY=e.y,2===this._pointerCount){this._pinching=!0;var f=Object.keys(this._pointerRecords),h=this._pointerRecords[f[0]],i=this._pointerRecords[f[1]];this._currentMidPoint=c(h,i);var j=b(h.currentX,h.currentY,i.currentX,i.currentY),k=this,l=function(a){var b=a?cb.zoomedOut:cb.zoomedIn,d=a?k._pinchedDirection===cb.zoomedIn&&!k._zoomingOut:k._pinchedDirection===cb.zoomedOut&&k._zoomingOut,e=a?!k._zoomedOut:k._zoomedOut;if(k._pinchedDirection===cb.none)e?(k._isBouncingIn=!1,k._zoom(a,c(h,i),!0),k._pinchedDirection=b):k._isBouncingIn||k._playBounce(!0,c(h,i));else if(d){var f=k._lastPinchDistance/k._lastPinchStartDistance,g=k._lastLastPinchDistance/k._lastPinchDistance;(a&&f>$||!a&&g>_)&&(k._zoom(a,c(h,i),!0),k._pinchedDirection=b)}};this._updatePinchDistanceRecords(j),this._pinchDistanceCount>=Z&&(this._zooming||this._isBouncing||(g("WinJS.UI.SemanticZoom:EndPinchDetection,info"),l(this._lastPinchDirection===cb.zoomedOut)))}else this._pointerCount>2&&this._resetPinchDistanceRecords();this._pointerCount>=2&&(d.fireCancelOnPinch&&(this._fakeCancelOnPointer(a,d),d.fireCancelOnPinch=!1),a.stopImmediatePropagation(),a.preventDefault()),2!==this._pointerCount&&this._isBouncingIn&&this._playBounce(!1)}}},_onPointerOut:function(a){a.pointerType===db&&a.target===this._element&&this._completePointerUp(a,!1)},_onPointerUp:function(a){this._releasePointerCapture(a),this._completePointerUp(a,!0),this._completeZoomingIfTimeout()},_onPointerCancel:function(a){a._fakedBySemanticZoom||(this._releasePointerCapture(a),this._completePointerUp(a,!1),this._completeZoomingIfTimeout())},_onGotPointerCapture:function(a){var b=this._pointerRecords[a.pointerId];b&&(b.dirty=!1)},_onLostPointerCapture:function(a){var b=this._pointerRecords[a.pointerId];if(b){b.dirty=!0;var c=this;k.timeout(bb).then(function(){b.dirty&&c._completePointerUp(a,!1)})}},_onMSContentZoom:function(a){var b=a.target;if(b===this._opticalViewportIn||b===this._opticalViewportOut){var c=b.msContentZoomFactor<.995,d=b.msContentZoomFactor>1.005;!c||this._zoomedOut||this._zoomingOut?d&&(this._zoomedOut||this._zoomingOut)&&(this.zoomedOut=!1):this.zoomedOut=!0}},_updatePinchDistanceRecords:function(a){function b(b){c._lastPinchDirection===b?c._pinchDistanceCount++:(c._pinchGesture++,c._pinchDistanceCount=0,c._lastPinchStartDistance=a),c._lastPinchDirection=b,c._lastPinchDistance=a,c._lastLastPinchDistance=c._lastPinchDistance}var c=this;-1===this._lastPinchDistance?(g("WinJS.UI.SemanticZoom:StartPinchDetection,info"),this._lastPinchDistance=a):this._lastPinchDistance!==a&&b(this._lastPinchDistance>a?cb.zoomedOut:cb.zoomedIn)},_zoomFromCurrent:function(a){this._zoom(a,null,!1,!0)},_zoom:function(a,b,d,e,f){if(g("WinJS.UI.SemanticZoom:StartZoom(zoomOut="+a+"),info"),this._clearTimeout(this._completeZoomTimer),this._clearTimeout(this._TTFFTimer),this._hideSemanticZoomButton(),this._resetPinchDistanceRecords(),!this._locked&&!this._gestureEnding)if(this._zoomInProgress){if(this._gesturing===!d)return;a!==this._zoomingOut&&this._startAnimations(a)}else if(a!==this._zoomedOut){this._zooming=!0,this._aligning=!0,this._gesturing=!!d,b&&(a?this._viewIn:this._viewOut).setCurrentItem(b.x,b.y),this._zoomInProgress=!0,(a?this._opticalViewportOut:this._opticalViewportIn).style.visibility="visible",a&&c.isPhone&&(this._canvasOut.style.opacity=1);var h=this._viewIn.beginZoom(),i=this._viewOut.beginZoom(),j=null;if((h||i)&&c.isPhone&&(j=k.join([h,i])),e&&!f){var l=this;(a?this._viewIn:this._viewOut).getCurrentItem().then(function(b){var c=b.position;l._prepareForZoom(a,{x:l._rtl()?l._sezoClientWidth-c.left-.5*c.width:c.left+.5*c.width,y:c.top+.5*c.height},k.wrap(b),j)})}else this._prepareForZoom(a,b||{},null,j,f)}},_prepareForZoom:function(b,c,d,e,f){function h(a,b){i._canvasIn.style[z["transform-origin"].scriptName]=i._canvasLeftIn+j-a.x+"px "+(i._canvasTopIn+k-a.y)+"px",i._canvasOut.style[z["transform-origin"].scriptName]=i._canvasLeftOut+j-b.x+"px "+(i._canvasTopOut+k-b.y)+"px"}g("WinJS.UI.SemanticZoom:prepareForZoom,StartTM");var i=this,j=c.x,k=c.y;"number"==typeof j&&this._pansHorizontallyIn&&this._pansHorizontallyOut||(j=.5*this._sezoClientWidth),"number"==typeof k&&this._pansVerticallyIn&&this._pansVerticallyOut||(k=.5*this._sezoClientHeight),h(gb,gb),f?this._aligning=!1:this._alignViewsPromise=this._alignViews(b,j,k,d).then(function(){i._aligning=!1,i._gestureEnding=!1,i._alignViewsPromise=null,i._zooming||i._gesturing||i._completeZoom()}),this._zoomingOut=b,a.getComputedStyle(this._canvasIn).opacity,a.getComputedStyle(this._canvasOut).opacity,g("WinJS.UI.SemanticZoom:prepareForZoom,StopTM"),this._startAnimations(b,e)},_alignViews:function(a,b,c,d){var e=1-this._zoomFactor,f=this._rtl(),g=e*(f?this._viewportWidth-b:b),h=e*c,i=this;if(a){var j=d||this._viewIn.getCurrentItem();if(j)return j.then(function(a){var b=a.position,c={left:b.left*i._zoomFactor+g,top:b.top*i._zoomFactor+h,width:b.width*i._zoomFactor,height:b.height*i._zoomFactor};return i._viewOut.positionItem(i._zoomedOutItem(a.item),c)})}else{var l=d||this._viewOut.getCurrentItem();if(l)return l.then(function(a){var b=a.position,c={left:(b.left-g)/i._zoomFactor,top:(b.top-h)/i._zoomFactor,width:b.width/i._zoomFactor,height:b.height/i._zoomFactor};return i._viewIn.positionItem(i._zoomedInItem(a.item),c)})}return new k(function(a){a({x:0,y:0})})},_startAnimations:function(a,b){this._zoomingOut=a;var d=c.isPhone;if(i.isAnimationEnabled()&&!d&&(g("WinJS.UI.SemanticZoom:ZoomAnimation,StartTM"),this._canvasIn.style[Y]=a?r():s(),this._canvasOut.style[Y]=a?s():r()),d||(w(this._canvasIn,a?this._zoomFactor:1),w(this._canvasOut,a?1:1/this._zoomFactor)),this._canvasIn.style.opacity=a&&!d?0:1,(!d||a)&&(this._canvasOut.style.opacity=a?1:0),i.isAnimationEnabled())if(b){var e=this,f=function(){e._canvasIn.style[X.scriptName]="",e._canvasOut.style[X.scriptName]="",e._onZoomAnimationComplete()};b.then(f,f)}else this.setTimeoutAfterTTFF(this._onZoomAnimationComplete.bind(this),i._animationTimeAdjustment(S));else this._zooming=!1,this._canvasIn.style[X.scriptName]="",this._canvasOut.style[X.scriptName]="",this._completeZoom()},_onBounceAnimationComplete:function(){this._isBouncingIn||this._disposed||this._completeZoom()},_onZoomAnimationComplete:function(){g("WinJS.UI.SemanticZoom:ZoomAnimation,StopTM"),this._disposed||(this._zooming=!1,this._aligning||this._gesturing||this._gestureEnding||this._completeZoom())},_onCanvasTransitionEnd:function(a){return this._disposed?void 0:a.target!==this._canvasOut&&a.target!==this._canvasIn||!this._isBouncing?void(a.target===this._canvasIn&&a.propertyName===X.cssName&&this._onZoomAnimationComplete()):void this._onBounceAnimationComplete()},_clearTimeout:function(b){b&&a.clearTimeout(b)},_completePointerUp:function(a,b){if(!this._disposed){var c=a.pointerId,d=this._pointerRecords[c];if(d&&(this._deletePointerRecord(c),this._isBouncingIn&&this._playBounce(!1),b&&this._pinchedDirection!==cb.none&&a.stopImmediatePropagation(),0===this._pointerCount)){if(1===this._pinchGesture&&!this._zooming&&this._lastPinchDirection!==cb.none&&this._pinchDistanceCount=0&&aa;a++)this.items.getAt(a).dispose()}},onselectionchanged:z(A.selectionChanged),onitemanimationstart:z(A.itemAnimationStart),onitemanimationend:z(A.itemAnimationEnd),_currentScrollTargetLocation:{get:function(){return this._viewportWidth===D._invalidViewportWidth?0:(50+this._offsetFromCenter)*Math.ceil(this._viewportWidth)}},_pointerType:{get:function(){return this._pointerTypeValue},set:function(a){this._pointerTypeValue!==a&&(this._pointerTypeValue=a,a===x?(r.removeClass(this.element,D._ClassName.pivotInputTypeMouse),r.addClass(this.element,D._ClassName.pivotInputTypeTouch),this._hideNavButtons()):(r.removeClass(this.element,D._ClassName.pivotInputTypeTouch),r.addClass(this.element,D._ClassName.pivotInputTypeMouse)))}},_rtl:{get:function(){return this._cachedRTL}},_viewportWidth:{get:function(){return this._viewportElWidth||(this._viewportElWidth=parseFloat(a.getComputedStyle(this._viewportElement).width),C&&(this._viewportElement.style[c._browserStyleEquivalents["scroll-snap-points-x"].scriptName]="snapInterval(0%, "+Math.ceil(this._viewportElWidth)+"px)")),this._viewportElWidth||D._invalidViewportWidth},set:function(a){this._viewportElWidth=a}},_applyProperties:function(){if(!this._disposed){if(this._pendingItems){for(this._updateEvents(this._items,this._pendingItems),this._items=this._pendingItems,this._pendingItems=null;this.element.firstElementChild!==this._titleElement;){var a=this.element.firstElementChild;a.parentNode.removeChild(a)}r.empty(this._surfaceElement)}this._attachItems();var b=this._pendingIndexOnScreen;this._pendingIndexOnScreen=null,this._currentIndexOnScreen=0,this._skipHeaderSlide=!0,this._pendingRefresh=!1,this.selectedIndex=Math.min(b,this.items.length-1),this._skipHeaderSlide=!1,this._recenterUI()}},_attachItems:function(){this._measured=!1;for(var a=0,b=this.items.length;b>a;a++){var c=this._items.getAt(a);if(c.element.parentNode===this._surfaceElement)throw new d("WinJS.UI.Pivot.DuplicateItem",E.duplicateItem);c.element.style.visibility="hidden",c.element.style.opacity=0,this._surfaceElement.appendChild(c.element)}},_parse:function(){for(var a=[],b=this.element.firstElementChild;b!==this._titleElement;){l.processAll(b);var c=b.winControl;if(!c)throw new d("WinJS.UI.Pivot.InvalidContent",E.invalidContent);a.push(c);var e=b.nextElementSibling;b=e}this.items=new k.List(a)},_refresh:function(){this._pendingRefresh||(this._pendingRefresh=!0,n.schedule(this._applyProperties.bind(this),n.Priority.high))},_renderHeaders:function(b){function d(b){function c(){l._disposed||l._headersContainerElement.contains(e)&&b!==l.selectedIndex&&"true"===e.getAttribute("aria-selected")&&(l.selectedIndex=b)}var d=l._items.getAt(b),e=a.document.createElement("BUTTON");e.style.maxWidth=.8*k+"px",b===l.selectedIndex?(r.addClass(e,D._ClassName.pivotHeaderSelected),e.setAttribute("aria-selected",!0)):e.setAttribute("aria-selected",!1),r.addClass(e,D._ClassName.pivotHeader),e._item=d,f(d,e),e.setAttribute("role","tab"),l._headersContainerElement.appendChild(e),new r._MutationObserver(c).observe(e,{attributes:!0,attributeFilter:["aria-selected"]})}if(!this._pendingRefresh&&this._items){var e=this._headersContainerElement.contains(a.document.activeElement),f=r._syncRenderer(s);q._disposeElement(this._headersContainerElement),r.empty(this._headersContainerElement);var g=a.getComputedStyle(this._headersContainerElement),h=parseFloat(g.marginLeft);h=h>0?0:h;var i=parseFloat(g.marginRight);i=i>0?0:i;var k=parseFloat(g.width)+h+i,l=this;if(1===this._items.length)d(0),this._viewportElement.style.overflow="hidden",this._headersContainerElement.style.marginLeft="0px",this._headersContainerElement.style.marginRight="0px";else if(this._items.length>1){var m=this._items.length+(b?2:1),n=this.selectedIndex-1;this._viewportElement.style.overflow&&(this._viewportElement.style.overflow="");for(var o=0;m>o;o++)-1===n?n=this._items.length-1:n===this._items.length&&(n=0),d(n),n++;if(!this._skipHeaderSlide){var p,t;b?(p="",t="0"):(p="0",t="");var u=this._headersContainerElement.children[m-1];u.style.opacity=p;var v=.167;u.style[c._browserStyleEquivalents.transition.scriptName]="opacity "+j._animationTimeAdjustment(v)+"s",a.getComputedStyle(u).opacity,u.style.opacity=t}this._headersContainerElement.children[0].setAttribute("aria-hidden","true"),this._headersContainerElement.style.marginLeft="0px",this._headersContainerElement.style.marginRight="0px";var w=this._rtl?"marginRight":"marginLeft",x=this._rtl?"paddingLeft":"paddingRight",y=this._headersContainerElement.children[0],z=y.offsetWidth+parseFloat(a.getComputedStyle(y)[w])-parseFloat(a.getComputedStyle(y)[x]);if(y!==this._headersContainerElement.children[0])return;this._headersContainerElement.style[w]=-1*z+"px",this._prevButton=a.document.createElement("button"),r.addClass(this._prevButton,D._ClassName.pivotNavButton),r.addClass(this._prevButton,D._ClassName.pivotNavButtonPrev),this._prevButton.addEventListener("click",function(){l.locked||(l._rtl?l._goNext():l._goPrevious())}),this._headersContainerElement.appendChild(this._prevButton),this._prevButton.style.left=this._rtl?"0px":z+"px",this._nextButton=a.document.createElement("button"),r.addClass(this._nextButton,D._ClassName.pivotNavButton),r.addClass(this._nextButton,D._ClassName.pivotNavButtonNext),this._nextButton.addEventListener("click",function(){l.locked||(l._rtl?l._goPrevious():l._goNext())}),this._headersContainerElement.appendChild(this._nextButton),this._nextButton.style.right=this._rtl?z+"px":"0px"}var A=this._headersContainerElement.children.length>1?1:0;this._tabContainer.childFocus=this._headersContainerElement.children[A],e&&this._headersContainerElement.children[A].focus()}},_resizeHandler:function(){if(!this._disposed){var a=this._viewportWidth;this._viewportWidth=null,a!==this._viewportWidth?(f.log&&f.log("_resizeHandler from:"+a+" to: "+this._viewportWidth),this._hidePivotItemAnimation&&this._hidePivotItemAnimation.cancel(),this._showPivotItemAnimation&&this._showPivotItemAnimation.cancel(),this._slideHeadersAnimation&&this._slideHeadersAnimation.cancel(),this._recenterUI(),this._renderHeaders()):f.log&&f.log("_resizeHandler worthless resize")}},_activateHeader:function(a){if(!this.locked){var b=this._items.indexOf(a._item);if(b!==this.selectedIndex){if(!a.previousSibling)return;this.selectedIndex=b}else r._setActiveFirstFocusableElement(this.selectedItem.element)}},_goNext:function(){this.selectedIndex0?this.selectedIndex--:this.selectedIndex=this._items.length-1,this._animateToPrevious=!1},_loadItem:function(b){var c=this._animateToPrevious;this._cachedRTL="rtl"===a.getComputedStyle(this._element,null).direction,this._loadId++;var d=this._loadId;this._hidePivotItemAnimation&&this._hidePivotItemAnimation.cancel(),this._showPivotItemAnimation&&this._showPivotItemAnimation.cancel(),this._slideHeadersAnimation&&this._slideHeadersAnimation.cancel(),this._currentItem&&this._hidePivotItem(this._currentItem.element,c);var e=this._currentIndexOnScreen;if(this._currentIndexOnScreen=b,this._slideHeaders(c,b,e),!(0>b)){var g=this._items.getAt(b);this._currentItem=g,c?this._offsetFromCenter--:b!==e&&this._offsetFromCenter++;var h=!1;C&&this._currentManipulationState!==B.MS_MANIPULATION_STATE_INERTIA&&(this._skipHeaderSlide?(f.log&&f.log("_skipHeaderSlide index:"+this.selectedIndex+" offset: "+this._offsetFromCenter+" scrollLeft: "+this._currentScrollTargetLocation,"winjs pivot","log"),r.setScrollPosition(this._viewportElement,{scrollLeft:this._currentScrollTargetLocation})):(f.log&&f.log("zoomTo index:"+this.selectedIndex+" offset: "+this._offsetFromCenter+" scrollLeft: "+this._currentScrollTargetLocation,"winjs pivot","log"),this._viewportElement.msZoomTo({contentX:this._currentScrollTargetLocation,contentY:0,viewportX:0,viewportY:0}),h=0!==this._offsetFromCenter&&this.items.length>1));var i=this,j={index:b,direction:c?"backwards":"forward",item:g};this._writeProfilerMark("selectionChanged,info"),this._fireEvent(D._EventName.selectionChanged,!0,!1,j),g._process().then(function(){if(!i._disposed&&d===i._loadId){C?(g.element.style[i._getDirectionAccessor()]=i._currentScrollTargetLocation+"px",i._showPivotItem(g.element,c)):i._hidePivotItemAnimation?i._showPivotItemAnimation=i._hidePivotItemAnimation.then(function(){return i._disposed||d!==i._loadId?void 0:i._showPivotItem(g.element,c)}):i._showPivotItem(g.element,c);var a;h?(i._stoppedAndRecenteredSignal||(i._stoppedAndRecenteredSignal=new o),a=i._stoppedAndRecenteredSignal.promise):a=m.wrap(),m.join([i._slideHeadersAnimation,i._showPivotItemAnimation,i._hidePivotItemAnimation]).then(function(){a.then(function(){m.timeout(50).then(function(){i._disposed||d!==i._loadId||(i._navMode=D._NavigationModes.none,i._writeProfilerMark("itemAnimationStop,info"),i._fireEvent(D._EventName.itemAnimationEnd,!0))})})})}})}},_MSManipulationStateChangedHandler:function(a){if(this._currentManipulationState=a.currentState,C&&a.target===this._viewportElement)if(this._currentManipulationState===B.MS_MANIPULATION_STATE_STOPPED?f.log&&f.log("MSManipulation: Stopped","winjs pivot","log"):this._currentManipulationState===B.MS_MANIPULATION_STATE_INERTIA?f.log&&f.log("MSManipulation: Inertia","winjs pivot","log"):f.log&&f.log("MSManipulation: Active","winjs pivot","log"),this._stoppedAndRecenteredSignal||(this._stoppedAndRecenteredSignal=new o),this._manipulationRecenterPromise&&this._manipulationRecenterPromise.cancel(),this._currentManipulationState===B.MS_MANIPULATION_STATE_STOPPED){this._navMode===D._NavigationModes.scroll&&this._scrollHandler(),this._navMode=D._NavigationModes.none;var b=this;this._manipulationRecenterPromise=m._cancelBlocker(m.join([n.schedulePromiseNormal(null,"WinJS.UI.Pivot._MSManipulationStateChangedHandler_animationPlaceholder"),this._hidePivotItemAnimation,this._showPivotItemAnimation,this._slideHeadersAnimation])).then(function(){b._disposed||(b._currentManipulationState===B.MS_MANIPULATION_STATE_STOPPED?(f.log&&f.log("Still in Stopped state: calling _recenterUI","winjs pivot","log"),b._recenterUI()):(this._stoppedAndRecenteredSignal.complete(),this._stoppedAndRecenteredSignal=null))})}else if(this._currentManipulationState===B.MS_MANIPULATION_STATE_INERTIA){var c=a.inertiaDestinationX;if(+c===c){f.log&&f.log("MSManipulation: inertiaDestinationX: "+c);var d=c-this._currentScrollTargetLocation;d>0?(f.log&&f.log("MSManipulation: Inertia diff > 1","winjs pivot","log"),this._navMode=D._NavigationModes.inertia,this._goNext()):0>d&&(f.log&&f.log("MSManipulation: Stopped diff < -1","winjs pivot","log"),this._navMode=D._NavigationModes.inertia,this._goPrevious())}}},_scrollHandler:function(){if(C&&!this._disposed){if(this._recentering&&this._stoppedAndRecenteredSignal)return this._stoppedAndRecenteredSignal.complete(),this._stoppedAndRecenteredSignal=null,void(this._recentering=!1);if((this._navMode===D._NavigationModes.none||this._navMode===D._NavigationModes.scroll)&&(this._navMode=D._NavigationModes.scroll,this._currentManipulationState===B.MS_MANIPULATION_STATE_STOPPED)){f.log&&f.log("_scrollHandler ScrollPosition: "+r.getScrollPosition(this._viewportElement).scrollLeft,"winjs pivot","log");var b=r.getScrollPosition(this._viewportElement).scrollLeft-this._currentScrollTargetLocation;this._cachedRTL="rtl"===a.getComputedStyle(this._element,null).direction,b>0?(f.log&&f.log("_scrollHandler diff > 1: "+b,"winjs pivot","log"),this._goNext()):0>b&&(f.log&&f.log("_scrollHandler diff < -1: "+b,"winjs pivot","log"),this._goPrevious())}}},_recenterUI:function(){C&&(this._offsetFromCenter=0,r.getScrollPosition(this._viewportElement).scrollLeft!==this._currentScrollTargetLocation?(this._recentering=!0,this._stoppedAndRecenteredSignal=this._stoppedAndRecenteredSignal||new o):this._stoppedAndRecenteredSignal&&(this._stoppedAndRecenteredSignal.complete(),this._stoppedAndRecenteredSignal=null),this.selectedItem&&(this.selectedItem.element.style[this._getDirectionAccessor()]=this._currentScrollTargetLocation+"px"),f.log&&f.log("_recenterUI index:"+this.selectedIndex+" offset: "+this._offsetFromCenter+" scrollLeft: "+this._currentScrollTargetLocation),r.setScrollPosition(this._viewportElement,{scrollLeft:this._currentScrollTargetLocation}))},_hidePivotItem:function(a,b){function c(){d._disposed||(d._hidePivotItemAnimation=null,a.style.visibility="hidden",a.style.opacity=0)}var d=this,e=this._rtl&&!b||b&&!this._rtl;this._hidePivotItemAnimation=j.isAnimationEnabled()?i[e?"slideRightOut":"slideLeftOut"](a):n.schedulePromiseNormal(null,"WinJS.UI.Pivot._hidePivotItem_animationPlaceholder"),this._hidePivotItemAnimation.then(c,c)},_showPivotItem:function(a,b){function c(a){var b=a.getBoundingClientRect();return b.toph.top}function d(){l._disposed||(l._showPivotItemAnimation=null)}if(this._writeProfilerMark("itemAnimationStart,info"),this._fireEvent(D._EventName.itemAnimationStart,!0),!j.isAnimationEnabled())return a.style.visibility="",a.style.opacity="",void(this._showPivotItemAnimation=null);var e=a.querySelectorAll(".win-pivot-slide1"),f=a.querySelectorAll(".win-pivot-slide2"),g=a.querySelectorAll(".win-pivot-slide3"),h=this._viewportElement.getBoundingClientRect();e=Array.prototype.filter.call(e,c),f=Array.prototype.filter.call(f,c),g=Array.prototype.filter.call(g,c);var k=this._rtl&&!b||b&&!this._rtl;a.style.visibility="",this._showPivotItemAnimation=i[k?"slideRightIn":"slideLeftIn"](a,e,f,g);var l=this;return this._showPivotItemAnimation.then(d,d),this._showPivotItemAnimation},_slideHeaders:function(a,b,d){function e(a){return h?a.offsetParent.offsetWidth-a.offsetLeft-a.offsetWidth:a.offsetLeft}function f(){l._disposed||(l._renderHeaders(a),l._slideHeadersAnimation=null)}if(0>b||this._skipHeaderSlide)return void this._renderHeaders(a);var g;if(a?g=this._headersContainerElement.children[0]:(d>b&&(b+=this._items.length),g=this._headersContainerElement.children[1+b-d]),!g)return void this._renderHeaders(a);r.removeClass(this._headersContainerElement.children[1],D._ClassName.pivotHeaderSelected),r.addClass(g,D._ClassName.pivotHeaderSelected);var h=this._rtl,i=e(this._headersContainerElement.children[1])-e(g);h&&(i*=-1);var k,l=this;k=j.isAnimationEnabled()?j.executeTransition(this._headersContainerElement.querySelectorAll("."+D._ClassName.pivotHeader),{property:c._browserStyleEquivalents.transform.cssName,delay:0,duration:D._headerSlideAnimationDuration,timing:"ease-out",to:"translateX("+i+"px)"}):m.wrap(),this._slideHeadersAnimation=k.then(f,f)},_elementClickedHandler:function(a){if(this.locked||this._navigationHandled)return void(this._navigationHandled=!1);var b,c=a.target;if(r.hasClass(c,D._ClassName.pivotHeader))b=c;else{var d=!1,e=r._elementsFromPoint(a.clientX,a.clientY);if(e&&e[0]===this._viewportElement)for(var f=0,g=e.length;g>f;f++)e[f]===c&&(d=!0),r.hasClass(e[f],D._ClassName.pivotHeader)&&(b=e[f]);d||(b=null)}b&&this._activateHeader(b)},_headersKeyDown:function(a){this.locked||(a.keyCode===y.leftArrow||a.keyCode===y.pageUp?this._rtl?this._goNext():this._goPrevious():(a.keyCode===y.rightArrow||a.keyCode===y.pageDown)&&(this._rtl?this._goPrevious():this._goNext()))},_headersPointerDownHandler:function(a){a.preventDefault(),this._headersPointerDownPoint={x:a.clientX,y:a.clientY,type:a.pointerType||"mouse"}},_headersPointerUpHandler:function(a){if(!this._headersPointerDownPoint||this.locked)return void(this._headersPointerDownPoint=null);var b=a.clientX-this._headersPointerDownPoint.x;if(b=this._rtl?-b:b,this._navigationHandled=!1,(!r._supportsTouchDetection||this._headersPointerDownPoint.type===a.pointerType&&a.pointerType===x)&&(b<-D._headerSwipeTriggerDistance?(this._goNext(),this._navigationHandled=!0):b>D._headerSwipeTriggerDistance&&(this._goPrevious(),this._navigationHandled=!0)),!this._navigationHandled){for(var c=a.target;null!==c&&!r.hasClass(c,D._ClassName.pivotHeader);)c=c.parentElement;null!==c&&(this._activateHeader(c),this._navigationHandled=!0)}this._headersPointerDownPoint=null},_hideNavButtons:function(a){a&&this._headersContainerElement.contains(a.relatedTarget)||r.removeClass(this._headersContainerElement,D._ClassName.pivotShowNavButtons)},_pointerDownHandler:function(){f.log&&f.log("_pointerDown","winjs pivot","log"),this._manipulationRecenterPromise&&this._manipulationRecenterPromise.cancel(),this._slideHeadersAnimation&&this._slideHeadersAnimation.cancel(),this._hidePivotItemAnimation&&this._hidePivotItemAnimation.cancel()},_showNavButtons:function(a){this.locked||a&&a.pointerType===x||r.addClass(this._headersContainerElement,D._ClassName.pivotShowNavButtons)},_handleItemChanged:function(a){if(!this._pendingItems){var b=a.detail.index,c=a.detail.newValue,e=a.detail.oldValue;if(c.element!==e.element){if(c.element.parentNode===this._surfaceElement)throw new d("WinJS.UI.Pivot.DuplicateItem",E.duplicateItem);c.element.style.visibility="hidden",c.element.style.opacity=0,this._surfaceElement.insertBefore(c.element,e.element),this._surfaceElement.removeChild(e.element),b===this._currentIndexOnScreen&&(this.selectedIndex=this._currentIndexOnScreen)}this._renderHeaders()}},_handleItemInserted:function(a){if(!this._pendingItems){var b=a.detail.index,c=a.detail.value;if(c.element.parentNode===this._surfaceElement)throw new d("WinJS.UI.Pivot.DuplicateItem",E.duplicateItem);c.element.style.visibility="hidden",c.element.style.opacity=0,b=this._currentIndexOnScreen?this._currentIndexOnScreen--:c>this._currentIndexOnScreen&&b<=this._currentIndexOnScreen?this._currentIndexOnScreen++:b===this._currentIndexOnScreen&&(this.selectedIndex=c),this._renderHeaders()}},_handleItemReload:function(){this.items=this.items},_handleItemRemoved:function(a){if(!this._pendingItems){var b=a.detail.value,c=a.detail.index;this._surfaceElement.removeChild(b.element),c

',this._headerTabStopElement=this._headerElement.firstElementChild,this._headerWrapperElement=this._headerTabStopElement.firstElementChild,this._headerContentElement=this._headerWrapperElement.firstElementChild,this._headerChevronElement=this._headerWrapperElement.lastElementChild,c.appendChild(this._headerElement),this._winKeyboard=new l._WinKeyboard(this._headerElement),this._contentElement=b.document.createElement("DIV"),this._contentElement.className=f._ClassName.hubSectionContent,this._contentElement.style.visibility="hidden",c.appendChild(this._contentElement);for(var h=this.element.firstChild;h!==this._headerElement;){var j=h.nextSibling;this._contentElement.appendChild(h),h=j}this._processors=[g.processAll],i.setOptions(this,d)},{element:{get:function(){return this._element}},isHeaderStatic:{get:function(){return this._isHeaderStatic},set:function(a){this._isHeaderStatic=a,this._isHeaderStatic?(this._headerTabStopElement.setAttribute("role","heading"),k.removeClass(this._headerTabStopElement,f._ClassName.hubSectionInteractive)):(this._headerTabStopElement.setAttribute("role","link"),k.addClass(this._headerTabStopElement,f._ClassName.hubSectionInteractive))}},contentElement:{get:function(){return this._contentElement}},header:{get:function(){return this._header},set:function(a){this._header=a,this._renderHeader()}},_setHeaderTemplate:function(a){this._template=k._syncRenderer(a),this._renderHeader()},_renderHeader:function(){this._template&&(j._disposeElement(this._headerContentElement),k.empty(this._headerContentElement),this._template(this,this._headerContentElement))},_process:function(){var a=this;return this._processed=(this._processors||[]).reduce(function(b,c){return b.then(function(){return c(a.contentElement)})},this._processed||h.as()),this._processors=null,this._processed},dispose:function(){this._disposed||(this._disposed=!0,this._processors=null,j._disposeElement(this._headerContentElement),j.disposeSubTree(this.contentElement))}},{_ClassName:{hubSection:"win-hub-section",hubSectionHeader:"win-hub-section-header",hubSectionHeaderTabStop:"win-hub-section-header-tabstop",hubSectionHeaderWrapper:"win-hub-section-header-wrapper",hubSectionInteractive:"win-hub-section-header-interactive",hubSectionHeaderContent:"win-hub-section-header-content",hubSectionHeaderChevron:"win-hub-section-header-chevron",hubSectionContent:"win-hub-section-content"},_Constants:{ellipsisTypeClassName:"win-type-ellipsis",xLargeTypeClassName:"win-type-x-large"},isDeclarativeControlContainer:d.markSupportedForProcessing(function(a,b){b!==g.processAll&&(a._processors=a._processors||[],a._processors.push(b),a._processed&&a._process())})});return f})})}),define("WinJS/Controls/Hub",["../Core/_Global","../Core/_Base","../Core/_BaseUtils","../Core/_ErrorFromName","../Core/_Events","../Core/_Log","../Core/_Resources","../Core/_WriteProfilerMark","../Animations","../Animations/_TransitionAnimation","../BindingList","../ControlProcessor","../Promise","../_Signal","../Scheduler","../Utilities/_Control","../Utilities/_ElementUtilities","../Utilities/_Hoverable","../Utilities/_UI","./Hub/_Section","require-style!less/desktop/controls","require-style!less/phone/controls"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){"use strict";b.Namespace.define("WinJS.UI",{Hub:b.Namespace._lazy(function(){function r(b){var c=a.document.createTextNode("object"==typeof b.header?JSON.stringify(b.header):""+b.header);return c}var u=q.Key,v=e._createEventProperty,w={contentAnimating:"contentanimating",headerInvoked:"headerinvoked",loadingStateChanged:"loadingstatechanged"},x=500,y={scrollPos:"scrollTop",scrollSize:"scrollHeight",offsetPos:"offsetTop",offsetSize:"offsetHeight",oppositeOffsetSize:"offsetWidth",marginStart:"marginTop",marginEnd:"marginBottom",borderStart:"borderTopWidth",borderEnd:"borderBottomWidth",paddingStart:"paddingTop",paddingEnd:"paddingBottom"},z={scrollPos:"scrollLeft",scrollSize:"scrollWidth",offsetPos:"offsetLeft",offsetSize:"offsetWidth",oppositeOffsetSize:"offsetHeight",marginStart:"marginRight",marginEnd:"marginLeft",borderStart:"borderRightWidth",borderEnd:"borderLeftWidth",paddingStart:"paddingRight",paddingEnd:"paddingLeft"},A={scrollPos:"scrollLeft",scrollSize:"scrollWidth",offsetPos:"offsetLeft",offsetSize:"offsetWidth",oppositeOffsetSize:"offsetHeight",marginStart:"marginLeft",marginEnd:"marginRight",borderStart:"borderLeftWidth",borderEnd:"borderRightWidth",paddingStart:"paddingLeft",paddingEnd:"paddingRight"},B=b.Class.define(function(b,c){if(b=b||a.document.createElement("DIV"),c=c||{},b.winControl)throw new d("WinJS.UI.Hub.DuplicateConstruction",D.duplicateConstruction);this._id=b.id||q._uniqueID(b),this._writeProfilerMark("constructor,StartTM"),this._windowKeyDownHandlerBound=this._windowKeyDownHandler.bind(this),a.addEventListener("keydown",this._windowKeyDownHandlerBound),b.winControl=this,this._element=b,q.addClass(this.element,B._ClassName.hub),q.addClass(this.element,"win-disposable"),this._viewportElement=a.document.createElement("DIV"),this._viewportElement.className=B._ClassName.hubViewport,this._element.appendChild(this._viewportElement),this._viewportElement.setAttribute("role","group"),this._viewportElement.setAttribute("aria-label",D.hubViewportAriaLabel),this._surfaceElement=a.document.createElement("DIV"),this._surfaceElement.className=B._ClassName.hubSurface,this._viewportElement.appendChild(this._surfaceElement),this._visible=!1,this._viewportElement.style.opacity=0,c.orientation||(this._orientation=s.Orientation.horizontal,q.addClass(this.element,B._ClassName.hubHorizontal)),this._fireEntrance=!0,this._animateEntrance=!0,this._loadId=0,this.runningAnimations=new m.wrap,this._currentIndexForSezo=0,this._parse(),p.setOptions(this,c),q._addEventListener(this.element,"focusin",this._focusin.bind(this),!1),this.element.addEventListener("keydown",this._keyDownHandler.bind(this)),this.element.addEventListener("click",this._clickHandler.bind(this)),this._resizeHandlerBound=this._resizeHandler.bind(this),this.element.addEventListener("mselementresize",this._resizeHandlerBound),q._resizeNotifier.subscribe(this.element,this._resizeHandlerBound),this._viewportElement.addEventListener("scroll",this._scrollHandler.bind(this)),this._surfaceElement.addEventListener("mselementresize",this._contentResizeHandler.bind(this)),this._handleSectionChangedBind=this._handleSectionChanged.bind(this),this._handleSectionInsertedBind=this._handleSectionInserted.bind(this),this._handleSectionMovedBind=this._handleSectionMoved.bind(this),this._handleSectionRemovedBind=this._handleSectionRemoved.bind(this),this._handleSectionReloadBind=this._handleSectionReload.bind(this),this._refresh(),this._writeProfilerMark("constructor,StopTM")},{element:{get:function(){return this._element}},orientation:{get:function(){return this._orientation},set:function(a){if(a!==this._orientation){if(this._measured=!1,this._names){var b={};b[this._names.scrollPos]=0,q.setScrollPosition(this._viewportElement,b)}a===s.Orientation.vertical?(q.removeClass(this.element,B._ClassName.hubHorizontal),q.addClass(this.element,B._ClassName.hubVertical)):(a=s.Orientation.horizontal,q.removeClass(this.element,B._ClassName.hubVertical),q.addClass(this.element,B._ClassName.hubHorizontal)),this._orientation=a,o.schedule(this._updateSnapList.bind(this),o.Priority.idle)}}},sections:{get:function(){return this._pendingSections?this._pendingSections:this._sections},set:function(a){var b=!this._pendingSections;this._pendingSections=a,this._refresh(),b&&(this.scrollPosition=0)}},headerTemplate:{get:function(){return this._pendingHeaderTemplate?this._pendingHeaderTemplate:(this._headerTemplate||(this._headerTemplate=r),this._headerTemplate)},set:function(a){this._pendingHeaderTemplate=a||r,this._refresh()}},scrollPosition:{get:function(){return+this._pendingScrollLocation===this._pendingScrollLocation?this._pendingScrollLocation:(this._measure(),this._scrollPosition)},set:function(a){if(a=Math.max(0,a),this._pendingRefresh)this._pendingScrollLocation=a,this._pendingSectionOnScreen=null;else{this._measure();var b=Math.max(0,Math.min(this._scrollLength-this._viewportSize,a));this._scrollPosition=b;var c={};c[this._names.scrollPos]=b,q.setScrollPosition(this._viewportElement,c)}}},sectionOnScreen:{get:function(){if(+this._pendingSectionOnScreen===this._pendingSectionOnScreen)return this._pendingSectionOnScreen;this._measure();for(var a=0;athis._scrollPosition+this._startSpacer+b.borderStart+b.paddingStart)return a}return-1},set:function(a){a=Math.max(0,a),this._pendingRefresh?(this._pendingSectionOnScreen=a,this._pendingScrollLocation=null):(this._measure(),a>=0&&athis._scrollPosition)return a}return-1}},indexOfLastVisible:{get:function(){this._measure();for(var a=this._sectionSizes.length-1;a>=0;a--){var b=this._sectionSizes[a];if(b.offset+b.paddingStart+b.borderStart=s;s++)l.push(this._loadSection(s));for(p--,r++;p>=0||r=0&&(g.push(p),p--);var t=m.join(l);t.done(function(){d!==this._loadId||e._disposed||(this._showProgressPromise&&this._showProgressPromise.cancel(),this._progressBar&&this._progressBar.parentNode&&this._progressBar.parentNode.removeChild(this._progressBar),o.schedule(function(){if(d===this._loadId&&!e._disposed&&!this._visible){if(this._visible=!0,this._viewportElement.style.opacity=1,this._animateEntrance&&j.isAnimationEnabled()){var b={type:B.AnimationType.entrance};(!this._fireEntrance||this._fireEvent(B._EventName.contentAnimating,b))&&(this._viewportElement.style["-ms-overflow-style"]="none",f=i.enterContent(this._viewportElement,[{left:this._fireEntrance?"100px":"40px",top:"0px",rtlflip:!0}],{mechanism:"transition"}).then(function(){this._viewportElement.style["-ms-overflow-style"]=""}.bind(this)))}this._element===a.document.activeElement&&this._moveFocusIn(this.sectionOnScreen)}},o.Priority.high,this,"WinJS.UI.Hub.entranceAnimation"))}.bind(this)),b(t)}else this._showProgressPromise&&this._showProgressPromise.cancel(),this._progressBar&&this._progressBar.parentNode&&this._progressBar.parentNode.removeChild(this._progressBar);m.join([this.runningAnimations,f,h]).done(function(){d!==this._loadId||e._disposed||(this.runningAnimations=m.wrap(),this._setState(B.LoadingState.complete),o.schedule(this._updateSnapList.bind(this),o.Priority.idle))}.bind(this))},loadingState:{get:function(){return this._loadingState}},_setState:function(b){if(b!==this._loadingState){this._writeProfilerMark("loadingStateChanged:"+b+",info"),this._loadingState=b;var c=a.document.createEvent("CustomEvent");c.initCustomEvent(B._EventName.loadingStateChanged,!0,!1,{loadingState:b}),this._element.dispatchEvent(c)}},_parse:function(){for(var a=[],b=this.element.firstElementChild;b!==this._viewportElement;){l.processAll(b);var c=b.winControl;if(!c)throw new d("WinJS.UI.Hub.InvalidContent",D.invalidContent);a.push(c);var e=b.nextElementSibling;b=e}this.sections=new k.List(a)},_fireEvent:function(b,c){var d=a.document.createEvent("CustomEvent");return d.initCustomEvent(b,!0,!0,c),this.element.dispatchEvent(d)},_findHeaderTabStop:function(a){if(a.parentNode&&q._matchesSelector(a,".win-hub-section-header-tabstop, .win-hub-section-header-tabstop *")){for(;!q.hasClass(a,"win-hub-section-header-tabstop");)a=a.parentElement;return a}return null},_isHeaderInteractive:function(a){return a.parentNode?q._matchesSelector(a,".win-interactive, .win-interactive *"):!1},_clickHandler:function(a){var b=this._findHeaderTabStop(a.target);if(b&&!this._isHeaderInteractive(a.target)){var c=b.parentElement.parentElement.winControl;if(!c.isHeaderStatic){var d=this.sections.indexOf(c);this._fireEvent(B._EventName.headerInvoked,{index:d,section:c})}}},_resizeHandler:function(){this._measured=!1,o.schedule(this._updateSnapList.bind(this),o.Priority.idle)},_contentResizeHandler:function(){this._measured=!1,o.schedule(this._updateSnapList.bind(this),o.Priority.idle)},_scrollHandler:function(){this._measured=!1,this._pendingSections||(this._pendingScrollLocation=null,this._pendingSectionOnScreen=null,this._pendingScrollHandler||(this._pendingScrollHandler=c._requestAnimationFrame(function(){this._pendingScrollHandler=null,this._pendingSections||this.loadingState!==B.LoadingState.complete&&this._loadSections()}.bind(this))))},_measure:function(){if(!this._measured||0===this._scrollLength){this._writeProfilerMark("measure,StartTM"),this._measured=!0,this._rtl="rtl"===a.getComputedStyle(this._element,null).direction,this._names=this.orientation===s.Orientation.vertical?y:this._rtl?z:A,this._viewportSize=this._viewportElement[this._names.offsetSize],this._viewportOppositeSize=this._viewportElement[this._names.oppositeOffsetSize],this._scrollPosition=q.getScrollPosition(this._viewportElement)[this._names.scrollPos],this._scrollLength=this._viewportElement[this._names.scrollSize];var b=a.getComputedStyle(this._surfaceElement);this._startSpacer=parseFloat(b[this._names.marginStart])+parseFloat(b[this._names.borderStart])+parseFloat(b[this._names.paddingStart]),this._endSpacer=parseFloat(b[this._names.marginEnd])+parseFloat(b[this._names.borderEnd])+parseFloat(b[this._names.paddingEnd]),this._sectionSizes=[];for(var c=0;c0&&(a+=",");var c=this._sectionSizes[b];a+=c.offset-c.marginStart-this._startSpacer+"px"}a+=")";var d="",e="";this.orientation===s.Orientation.vertical?d=a:e=a,this._lastSnapPointY!==d&&(this._lastSnapPointY=d,this._viewportElement.style["-ms-scroll-snap-points-y"]=d),this._lastSnapPointX!==e&&(this._lastSnapPointX=e,this._viewportElement.style["-ms-scroll-snap-points-x"]=e),this._writeProfilerMark("updateSnapList,StopTM")},_scrollToSection:function(a,b){this._measure();var c=this._sectionSizes[a],d=Math.min(this._scrollLength-this._viewportSize,c.offset-c.marginStart-this._startSpacer);this._scrollTo(d,b)},_ensureVisible:function(a,b){this._measure();var c=this._ensureVisibleMath(a,this._scrollPosition);this._scrollTo(c,b)},_ensureVisibleMath:function(a,b){this._measure();var c=this._sectionSizes[a],d=Math.min(this._scrollLength-this._viewportSize,c.offset-c.marginStart-this._startSpacer),e=Math.max(0,c.offset+c.size+c.marginEnd+this._endSpacer-this._viewportSize+1);return b>d?b=d:e>b&&(b=Math.min(d,e)),b},_scrollTo:function(a,b){if(this._scrollPosition=a,b)this.orientation===s.Orientation.vertical?q._zoomTo(this._viewportElement,{contentX:0,contentY:this._scrollPosition,viewportX:0,viewportY:0}):q._zoomTo(this._viewportElement,{contentX:this._scrollPosition,contentY:0,viewportX:0,viewportY:0});else{var c={};c[this._names.scrollPos]=this._scrollPosition,q.setScrollPosition(this._viewportElement,c)}},_windowKeyDownHandler:function(a){if(a.keyCode===u.tab){this._tabSeenLast=!0;var b=this;c._yieldForEvents(function(){b._tabSeenLast=!1})}},_focusin:function(a){if(this._tabSeenLast){var b=this._findHeaderTabStop(a.target);if(b&&!this._isHeaderInteractive(a.target)){var c=this.sections.indexOf(b.parentElement.parentElement.winControl);c>-1&&this._ensureVisible(c,!0)}}for(var d=a.target;d&&!q.hasClass(d,t.HubSection._ClassName.hubSection);)d=d.parentElement;if(d){var c=this.sections.indexOf(d.winControl);c>-1&&(this._currentIndexForSezo=c)}if(a.target===this.element){var e;+this._sectionToFocus===this._sectionToFocus&&this._sectionToFocus>=0&&this._sectionToFocus=0){for(var b=a;b=0;b--){var c=this.sections.getAt(b);if(q._setActiveFirstFocusableElement(c.contentElement,this._viewportElement))return;var d=q._trySetActive(c._headerTabStopElement,this._viewportElement);if(d)return}}},_keyDownHandler:function(a){var b=this._rtl?u.rightArrow:u.leftArrow,c=this._rtl?u.leftArrow:u.rightArrow;if(a.keyCode===u.upArrow||a.keyCode===u.downArrow||a.keyCode===u.leftArrow||a.keyCode===u.rightArrow||a.keyCode===u.pageUp||a.keyCode===u.pageDown){var d=this._findHeaderTabStop(a.target);if(d&&!this._isHeaderInteractive(a.target)){var e,f=this.sections.indexOf(d.parentElement.parentElement.winControl),g=!1;if(a.keyCode===u.pageDown||this.orientation===s.Orientation.horizontal&&a.keyCode===c||this.orientation===s.Orientation.vertical&&a.keyCode===u.downArrow){for(var h=f+1;h=0;h--)if(this._tryFocus(h)){e=h;break}(a.keyCode===u.upArrow||a.keyCode===u.downArrow||a.keyCode===u.leftArrow||a.keyCode===u.rightArrow)&&(g=!0),+e===e&&(g?this._ensureVisible(e,!0):this._scrollToSection(e,!0)),a.preventDefault()}}else if(a.keyCode===u.home||a.keyCode===u.end){this._measure();var i=Math.max(0,this._scrollLength-this._viewportSize);this._scrollTo(a.keyCode===u.home?0:i,!0),a.preventDefault()}},_tryFocus:function(b){var c=this.sections.getAt(b);return q._setActive(c._headerTabStopElement,this._viewportElement),a.document.activeElement===c._headerTabStopElement},zoomableView:{get:function(){return this._zoomableView||(this._zoomableView=new C(this)),this._zoomableView}},_getPanAxis:function(){return this.orientation===s.Orientation.horizontal?"horizontal":"vertical"},_configureForZoom:function(){},_setCurrentItem:function(a,b){var c;c=this.orientation===s.Orientation.horizontal?a:b,this._measure(),c+=this._scrollPosition,this._currentIndexForSezo=this._sectionSizes.length-1;for(var d=1;dc){this._currentIndexForSezo=d-1;break}}},_getCurrentItem:function(){var a;if(this._sectionSizes.length>0){this._measure();var b=Math.max(0,Math.min(this._currentIndexForSezo,this._sectionSizes.length)),c=this._sectionSizes[b];a=this.orientation===s.Orientation.horizontal?{left:Math.max(0,c.offset-c.marginStart-this._scrollPosition),top:0,width:c.size,height:this._viewportOppositeSize}:{left:0,top:Math.max(0,c.offset-c.marginStart-this._scrollPosition),width:this._viewportOppositeSize,height:c.size};var d=this.sections.getAt(b);return m.wrap({item:{data:d,index:b,groupIndexHint:b},position:a})}},_beginZoom:function(){this._viewportElement.style["-ms-overflow-style"]="none"},_positionItem:function(a,b){if(a.index>=0&&a.indexf;f++){var g=d[f],h=g.winControl;h._disposed||h&&h[c](a)}}function r(){y._rightMouseMightEdgy||y._hideAllFlyouts()}var s=g._createEventProperty,t="beforeshow",u="aftershow",v="beforehide",w="afterhide",x={get duplicateConstruction(){return"Invalid argument: Controls may only be instantiated one time for each DOM element"},get mustContainCommands(){return"Invalid HTML: AppBars/Menus must contain only AppBarCommands/MenuCommands"},get closeOverlay(){return h._getWinJSString("ui/closeOverlay").value}},y=d.Class.define(function(a,b){this._baseOverlayConstructor(a,b)},{_baseOverlayConstructor:function(a,c){this._disposed=!1,a||(a=b.document.createElement("div"));var d=a.winControl;if(d)throw new f("WinJS.UI._Overlay.DuplicateConstruction",x.duplicateConstruction);this._element||(this._element=a),this._sticky=!1,this._doNext="",this._element.style.visibility="hidden",this._element.style.opacity=0,a.winControl=this,o.addClass(this._element,p.overlayClass),o.addClass(this._element,"win-disposable");var e=this._element.getAttribute("unselectable");(null===e||void 0===e)&&this._element.setAttribute("unselectable","on"),this._currentAnimateIn=this._baseAnimateIn,this._currentAnimateOut=this._baseAnimateOut,this._animationPromise=l.as(),this._queuedToShow=[],this._queuedToHide=[],this._queuedCommandAnimation=!1,c&&n.setOptions(this,c)},element:{get:function(){return this._element}},disabled:{get:function(){return!!this._element.disabled},set:function(a){a=!!a;var b=!!this._element.disabled;b!==a&&(this._element.disabled=a,!this.hidden&&this._element.disabled&&this._hideOrDismiss())}},onbeforeshow:s(t),onaftershow:s(u),onbeforehide:s(v),onafterhide:s(w),dispose:function(){this._disposed||(this._disposed=!0,this._dispose())},_dispose:function(){},show:function(){this._show()},_show:function(){this._baseShow()},hide:function(){this._hide()},_hide:function(){this._baseHide()},hidden:{get:function(){return"hidden"===this._element.style.visibility||"hiding"===this._element.winAnimating||"hide"===this._doNext}},addEventListener:function(a,b,c){return this._element.addEventListener(a,b,c)},removeEventListener:function(a,b,c){return this._element.removeEventListener(a,b,c)},_baseShow:function(){if(this._animating||this._needToHandleShowingKeyboard||this._needToHandleHidingKeyboard)return this._doNext="show",!1;if(this._cachedDocumentSize=this._cachedDocumentSize||y._sizeOfDocument(),"visible"!==this._element.style.visibility){this._element.winAnimating="showing",this._element.style.display="",this._element.style.visibility="hidden",this._queuedCommandAnimation&&(this._showAndHideFast(this._queuedToShow,this._queuedToHide),this._queuedToShow=[],this._queuedToHide=[]),this._sendEvent(y.beforeShow),this._findPosition();var a=this;return this._animationPromise=this._currentAnimateIn().then(function(){a._baseEndShow()},function(){a._baseEndShow()}),!0}return!1},_findPosition:function(){},_baseEndShow:function(){this._disposed||(this._element.setAttribute("aria-hidden","false"),this._element.winAnimating="",this._endShow(),"show"===this._doNext&&(this._doNext=""),this._sendEvent(y.afterShow),this._writeProfilerMark("show,StopTM"),m.schedule(this._checkDoNext,m.Priority.normal,this,"WinJS.UI._Overlay._checkDoNext"))},_endShow:function(){},_baseHide:function(){if(this._animating||this._needToHandleShowingKeyboard)return this._doNext="hide",!1;if(this._needToHandleHidingKeyboard&&(this._element.style.visibility=""),"hidden"!==this._element.style.visibility){if(this._element.winAnimating="hiding",this._element.setAttribute("aria-hidden","true"),this._sendEvent(y.beforeHide),""===this._element.style.visibility)this._element.style.opacity=0,this._baseEndHide();else{var a=this;this._animationPromise=this._currentAnimateOut().then(function(){a._baseEndHide()},function(){a._baseEndHide()})}return!0}return!1},_baseEndHide:function(){this._disposed||(this._element.style.visibility="hidden",this._element.style.display="none",this._element.winAnimating="",this._queuedCommandAnimation&&(this._showAndHideFast(this._queuedToShow,this._queuedToHide),this._queuedToShow=[],this._queuedToHide=[]),"hide"===this._doNext&&(this._doNext=""),this._sendEvent(y.afterHide),this._writeProfilerMark("hide,StopTM"),m.schedule(this._checkDoNext,m.Priority.normal,this,"WinJS.UI._Overlay._checkDoNext"))},_checkDoNext:function(){this._animating||this._needToHandleShowingKeyboard||this._needToHandleHidingKeyboard||this._disposed||("hide"===this._doNext?(this._hide(),this._doNext=""):this._queuedCommandAnimation?this._showAndHideQueue():"show"===this._doNext&&(this._show(),this._doNext=""))},_baseAnimateIn:function(){return this._element.style.opacity=0,this._element.style.visibility="visible",b.getComputedStyle(this._element,null).opacity,j.fadeIn(this._element)},_baseAnimateOut:function(){return this._element.style.opacity=1,b.getComputedStyle(this._element,null).opacity,j.fadeOut(this._element)},_animating:{get:function(){return!!this._element.winAnimating}},_sendEvent:function(a,c){if(!this._disposed){var d=b.document.createEvent("CustomEvent");d.initEvent(a,!0,!0,c||{}),this._element.dispatchEvent(d)}},_showCommands:function(a,b){var c=this._resolveCommands(a);this._showAndHideCommands(c.commands,[],b)},_hideCommands:function(a,b){var c=this._resolveCommands(a);this._showAndHideCommands([],c.commands,b)},_showOnlyCommands:function(a,b){var c=this._resolveCommands(a);this._showAndHideCommands(c.commands,c.others,b)},_showAndHideCommands:function(a,b,c){c||this.hidden&&!this._animating?(this._showAndHideFast(a,b),this._removeFromQueue(a,this._queuedToShow),this._removeFromQueue(b,this._queuedToHide)):(this._updateAnimateQueue(a,this._queuedToShow,this._queuedToHide),this._updateAnimateQueue(b,this._queuedToHide,this._queuedToShow))},_removeFromQueue:function(a,b){var c;for(c=0;c0&&(f=j.createDeleteFromListAnimation(c,0===a.length?d:void 0)),a.length>0&&(e=j.createAddToListAnimation(a,d));for(var g=0,h=c.length;h>g;g++){var i=c[g].getBoundingClientRect(),k=b.getComputedStyle(c[g]);c[g].style.top=i.top-parseFloat(k.marginTop)+"px",c[g].style.left=i.left-parseFloat(k.marginLeft)+"px",c[g].style.opacity=0,c[g].style.position="fixed"}this._element.winAnimating="rearranging";var m=null;for(f&&(m=f.execute()),g=0;ge;e++)b=c[e].winControl||c[e],b.hidden||d.push(b);return d},_baseEndAnimateCommands:function(a){if(!this._disposed){var b;for(b=0;be;e++){var f=c[e];if("hidden"!==f.style.visibility){var g=f.winControl;!g||b&&g._sticky||g._hideOrDismiss()}}},_hideSettingsFlyouts:function(a,b){for(var c=a.querySelectorAll("."+p.settingsFlyoutClass),d=c.length,e=0;d>e;e++){var f=c[e];if("hidden"!==f.style.visibility){var g=f.winControl;!g||b&&g._sticky||g._hideOrDismiss()}}},_hideAllFlyouts:function(){y._hideFlyouts(b.document,!0),y._hideSettingsFlyouts(b.document,!0)},_createClickEatingDivTemplate:function(a,c){var d=b.document.createElement("section");return d._winHideClickEater=c,o.addClass(d,a),o._addEventListener(d,"pointerup",function(a){y._checkSameClickEatingPointerUp(a,!0)},!0),o._addEventListener(d,"pointerdown",function(a){y._checkClickEatingPointerDown(a,!0)},!0),d.addEventListener("click",function(a){d._winHideClickEater(a)},!0),d.setAttribute("role","menuitem"),d.setAttribute("aria-label",x.closeOverlay),d.setAttribute("unselectable","on"),b.document.body.appendChild(d),d},_createClickEatingDivAppBar:function(){y._clickEatingAppBarDiv||(y._clickEatingAppBarDiv=y._createClickEatingDivTemplate(p._clickEatingAppBarClass,y._handleAppBarClickEatingClick))},_createClickEatingDivFlyout:function(){y._clickEatingFlyoutDiv||(y._clickEatingFlyoutDiv=y._createClickEatingDivTemplate(p._clickEatingFlyoutClass,y._handleFlyoutClickEatingClick))},_checkClickEatingPointerDown:function(a,b){var c=a.currentTarget;if(c)try{c._winPointerId=a.pointerId,c._winRightMouse=2===a.button}catch(d){}b&&!c._winRightMouse&&(a.stopPropagation(),a.preventDefault())},_checkSameClickEatingPointerUp:function(a,b){var c=!1,d=!1,e=a.currentTarget;try{e&&e._winPointerId===a.pointerId&&(c=!0,d=e._winRightMouse,d&&b&&(c=!1))}catch(f){}return b&&!d&&(a.stopPropagation(),a.preventDefault(),e._winHideClickEater(a)),c},_handleAppBarClickEatingClick:function(a){a.stopPropagation(),a.preventDefault(),y._hideLightDismissAppBars(null,!1),y._hideClickEatingDivAppBar(),y._hideAllFlyouts()},_handleFlyoutClickEatingClick:function(a){a.stopPropagation(),a.preventDefault(),y._hideClickEatingDivFlyout(),y._hideFlyouts(b.document,!0)},_checkRightClickDown:function(a){y._checkClickEatingPointerDown(a,!1)},_checkRightClickUp:function(a){y._checkSameClickEatingPointerUp(a,!1)&&(y._rightMouseMightEdgy=!0,e._yieldForEvents(function(){y._rightMouseMightEdgy=!1}))},_showClickEatingDivAppBar:function(){m.schedule(function(){y._clickEatingAppBarDiv&&(y._clickEatingAppBarDiv.style.display="block")},m.Priority.high,null,"WinJS.UI._Overlay._showClickEatingDivAppBar")},_hideClickEatingDivAppBar:function(){m.schedule(function(){y._clickEatingAppBarDiv&&(y._clickEatingAppBarDiv.style.display="none")},m.Priority.high,null,"WinJS.UI._Overlay._hideClickEatingDivAppBar")},_showClickEatingDivFlyout:function(){m.schedule(function(){y._clickEatingFlyoutDiv&&(y._clickEatingFlyoutDiv.style.display="block")},m.Priority.high,null,"WinJS.UI._Overlay._showClickEatingDivFlyout")},_hideClickEatingDivFlyout:function(){m.schedule(function(){y._clickEatingFlyoutDiv&&(y._clickEatingFlyoutDiv.style.display="none")},m.Priority.high,null,"WinJS.UI._Overlay._hideClickEatingDivFlyout")},_isFlyoutVisible:function(){return y._clickEatingFlyoutDiv?"block"===y._clickEatingFlyoutDiv.style.display:!1},_hideIfLostFocus:function(a){if(!a.hidden&&"showing"!==a.element.winAnimating&&!a._sticky){var c=b.document.activeElement;if(!a._element||!a._element.contains(c)){if(o.hasClass(a._element,p.settingsFlyoutClass)){var d=a,e=y._getParentControlUsingClassName(c,"win-flyout");if(e&&e._previousFocus&&d.element.contains(e._previousFocus))return void o._addEventListener(e.element,"focusout",function f(a){y._hideIfLostFocus(d,a),o._removeEventListener(e.element,"focusout",f,!1)},!1)}c&&(o.hasClass(c,p._clickEatingFlyoutClass)||o.hasClass(c,p._clickEatingAppBarClass))||a._hideOrDismiss()}}},_checkBlur:function(){if(b.document.hasFocus()){if(y._clickEatingFlyoutDiv&&"block"===y._clickEatingFlyoutDiv.style.display||y._clickEatingAppBarDiv&&"block"===y._clickEatingAppBarDiv.style.display){var a=b.document.activeElement;a&&"IFRAME"===a.tagName&&!a.msLightDismissBlur&&(a.addEventListener("blur",y._checkBlur,!1),a.msLightDismissBlur=!0)}}else y._hideAllFlyouts(),y._hideLightDismissAppBars(null,!1)},_trySetActive:function(a){return a&&b.document.body&&b.document.body.contains(a)&&o._setActive(a)?a===b.document.activeElement:!1},_trySelect:function(a){try{a&&a.select&&a.select()}catch(b){}},_addHideFocusClass:function(a){a&&(o.addClass(a,p.hideFocusClass),o._addEventListener(a,"focusout",y._removeHideFocusClass,!1))},_removeHideFocusClass:function(a){var c=a.target;c&&c!==b.document.activeElement&&(o.removeClass(c,p.hideFocusClass),o._removeEventListener(a.target,"focusout",y._removeHideFocusClass,!1))},_sizeOfDocument:function(){return{width:b.document.documentElement.offsetWidth,height:b.document.documentElement.offsetHeight}},_getParentControlUsingClassName:function(a,c){for(;a&&a!==b.document.body;){if(o.hasClass(a,c))return a.winControl;a=a.parentNode}return null},_hideIfAllAppBarsLostFocus:function(){y._isAppBarOrChild(b.document.activeElement)||(y._hideLightDismissAppBars(null,!1),y._ElementWithFocusPreviousToAppBar=null)},_hideLightDismissAppBars:function(a,c){for(var d=b.document.querySelectorAll("."+p.appBarClass),e=d.length,f=[],g=0;e>g;g++){var h=d[g].winControl;!h||h.sticky||h.hidden||f.push(h)}y._hideAllBars(f,c)},_hideAllBars:function(a,b){var c=a.map(function(a){return a._keyboardInvoked=b,a.hide(),a._animationPromise});return l.join(c)},_showAllBars:function(a,b){var c=a.map(function(a){return a._keyboardInvoked=b,a._doNotFocus=!1,a._show(),a._animationPromise});return l.join(c)},_isAppBarOrChild:function(a){if(!a)return null;if(o.hasClass(a,p._clickEatingAppBarClass)||o.hasClass(a,p._clickEatingFlyoutClass)||o.hasClass(a,p.firstDivClass)||o.hasClass(a,p.finalDivClass)||o.hasClass(a,p.invokeButtonClass))return a;for(;a&&a!==b.document;){if(o.hasClass(a,p.appBarClass))return a;if(o.hasClass(a,"win-flyout")&&a!==a.winControl._previousFocus){var c=a.winControl,d=y._isAppBarOrChild(c._previousFocus);return d&&o._addEventListener(c.element,"focusout",function e(){y._hideIfAllAppBarsLostFocus(),o._removeEventListener(c.element,"focusout",e,!1)},!1),d}a=a.parentNode}return null},_keyboardInfo:{get _visible(){try{return c.Windows.UI.ViewManagement.InputPane&&c.Windows.UI.ViewManagement.InputPane.getForCurrentView().occludedRect.height>0}catch(a){return!1}},get _extraOccluded(){var a;if(c.Windows.UI.ViewManagement.InputPane)try{a=c.Windows.UI.ViewManagement.InputPane.getForCurrentView().occludedRect.height}catch(b){}return a&&!y._keyboardInfo._isResized?a:0},get _isResized(){var a=b.document.documentElement.clientHeight/b.innerHeight,c=b.document.documentElement.clientWidth/b.innerWidth;return.99>c/a},get _visibleDocBottom(){return y._keyboardInfo._visibleDocTop+y._keyboardInfo._visibleDocHeight},get _visibleDocHeight(){return y._keyboardInfo._visualViewportHeight-y._keyboardInfo._extraOccluded},get _animationShowLength(){if(c.Windows.UI.Core.AnimationMetrics){for(var a=c.Windows.UI.Core.AnimationMetrics,b=new a.AnimationDescription(a.AnimationEffect.showPanel,a.AnimationEffectTarget.primary),d=b.animations,e=0,f=0;f

L9hZcI=Fiwy}db~;GG1Y-5_;Qwm2!jND^z2h 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�nd#lvs;kds6a|yOHzjFgJYzhgL3%{7 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 z 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�t>EnOZuGV==p)J`cwq-3n`) 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 BHMsx) literal 0 HcmV?d00001 diff --git a/shared/html/libs/winjs/3.0/License.txt b/shared/html/libs/winjs/3.0/License.txt deleted file mode 100644 index 9cc486e..0000000 --- a/shared/html/libs/winjs/3.0/License.txt +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. \ No newline at end of file diff --git a/shared/html/libs/winjs/3.0/css/ui-dark.css b/shared/html/libs/winjs/3.0/css/ui-dark.css deleted file mode 100644 index 3cbdda6..0000000 --- a/shared/html/libs/winjs/3.0/css/ui-dark.css +++ /dev/null @@ -1,7969 +0,0 @@ -/* Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. */ -@keyframes WinJS-node-inserted { - from { - outline-color: #000; - } - to { - outline-color: #001; - } -} -@keyframes WinJS-opacity-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes WinJS-opacity-out { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@keyframes WinJS-scale-up { - from { - transform: scale(0.85); - } - to { - transform: scale(1); - } -} -@keyframes WinJS-scale-down { - from { - transform: scale(1); - } - to { - transform: scale(0.85); - } -} -@keyframes WinJS-default-remove { - from { - transform: translateX(11px); - } - to { - transform: none; - } -} -@keyframes WinJS-default-remove-rtl { - from { - transform: translateX(-11px); - } - to { - transform: none; - } -} -@keyframes WinJS-default-apply { - from { - transform: none; - } - to { - transform: translateX(11px); - } -} -@keyframes WinJS-default-apply-rtl { - from { - transform: none; - } - to { - transform: translateX(-11px); - } -} -@keyframes WinJS-showEdgeUI { - from { - transform: translateY(-70px); - } - to { - transform: none; - } -} -@keyframes WinJS-showPanel { - from { - transform: translateX(364px); - } - to { - transform: none; - } -} -@keyframes WinJS-showPanel-rtl { - from { - transform: translateX(-364px); - } - to { - transform: none; - } -} -@keyframes WinJS-hideEdgeUI { - from { - transform: none; - } - to { - transform: translateY(-70px); - } -} -@keyframes WinJS-hidePanel { - from { - transform: none; - } - to { - transform: translateX(364px); - } -} -@keyframes WinJS-hidePanel-rtl { - from { - transform: none; - } - to { - transform: translateX(-364px); - } -} -@keyframes WinJS-showPopup { - from { - transform: translateY(50px); - } - to { - transform: none; - } -} -@keyframes WinJS-dragSourceEnd { - from { - transform: translateX(11px) scale(1.05); - } - to { - transform: none; - } -} -@keyframes WinJS-dragSourceEnd-rtl { - from { - transform: translateX(-11px) scale(1.05); - } - to { - transform: none; - } -} -@keyframes WinJS-enterContent { - from { - transform: translateX(40px); - } - to { - transform: none; - } -} -@keyframes WinJS-enterContent-rtl { - from { - transform: translateX(-40px); - } - to { - transform: none; - } -} -@keyframes WinJS-exit { - from { - transform: none; - } - to { - transform: none; - } -} -@keyframes WinJS-enterPage { - from { - transform: translateX(100px); - } - to { - transform: none; - } -} -@keyframes WinJS-enterPage-rtl { - from { - transform: translateX(-100px); - } - to { - transform: none; - } -} -@keyframes WinJS-updateBadge { - from { - transform: translateY(24px); - } - to { - transform: none; - } -} -@-webkit-keyframes WinJS-node-inserted { - from { - outline-color: #000; - } - to { - outline-color: #001; - } -} -@-webkit-keyframes -webkit-WinJS-opacity-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@-webkit-keyframes -webkit-WinJS-opacity-out { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@-webkit-keyframes -webkit-WinJS-scale-up { - from { - -webkit-transform: scale(0.85); - } - to { - -webkit-transform: scale(1); - } -} -@-webkit-keyframes -webkit-WinJS-scale-down { - from { - -webkit-transform: scale(1); - } - to { - -webkit-transform: scale(0.85); - } -} -@-webkit-keyframes -webkit-WinJS-default-remove { - from { - -webkit-transform: translateX(11px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-default-remove-rtl { - from { - -webkit-transform: translateX(-11px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-default-apply { - from { - -webkit-transform: none; - } - to { - -webkit-transform: translateX(11px); - } -} -@-webkit-keyframes -webkit-WinJS-default-apply-rtl { - from { - -webkit-transform: none; - } - to { - -webkit-transform: translateX(-11px); - } -} -@-webkit-keyframes -webkit-WinJS-showEdgeUI { - from { - -webkit-transform: translateY(-70px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-showPanel { - from { - -webkit-transform: translateX(364px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-showPanel-rtl { - from { - -webkit-transform: translateX(-364px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-hideEdgeUI { - from { - -webkit-transform: none; - } - to { - -webkit-transform: translateY(-70px); - } -} -@-webkit-keyframes -webkit-WinJS-hidePanel { - from { - -webkit-transform: none; - } - to { - -webkit-transform: translateX(364px); - } -} -@-webkit-keyframes -webkit-WinJS-hidePanel-rtl { - from { - -webkit-transform: none; - } - to { - -webkit-transform: translateX(-364px); - } -} -@-webkit-keyframes -webkit-WinJS-showPopup { - from { - -webkit-transform: translateY(50px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-dragSourceEnd { - from { - -webkit-transform: translateX(11px) scale(1.05); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-dragSourceEnd-rtl { - from { - -webkit-transform: translateX(-11px) scale(1.05); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-enterContent { - from { - -webkit-transform: translateX(40px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-enterContent-rtl { - from { - -webkit-transform: translateX(-40px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-exit { - from { - -webkit-transform: none; - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-enterPage { - from { - -webkit-transform: translateX(100px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-enterPage-rtl { - from { - -webkit-transform: translateX(-100px); - } - to { - -webkit-transform: none; - } -} -@-webkit-keyframes -webkit-WinJS-updateBadge { - from { - -webkit-transform: translateY(24px); - } - to { - -webkit-transform: none; - } -} -@font-face { - font-family: "Segoe UI Command"; - src: local("Segoe UI Symbol"); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: "Symbols"; - src: url(../fonts/Symbols.ttf); -} -.win-type-xx-large { - font-size: 42pt; - font-weight: 200; - line-height: 1.1429; - letter-spacing: 0px; -} -.win-type-x-large { - font-size: 20pt; - font-weight: 200; - line-height: 1.2; -} -.win-type-large { - font-size: 11pt; - font-weight: 600; - line-height: 1.3636; -} -.win-type-medium { - font-size: 11pt; - font-weight: 400; - line-height: 1.3636; -} -.win-type-small { - font-size: 11pt; - font-weight: 300; - line-height: 1.3636; -} -.win-type-x-small { - font-size: 11pt; - font-weight: 300; - line-height: 1.3636; -} -.win-type-xx-small { - font-size: 9pt; - font-weight: 400; - line-height: 1.6667; -} -@font-face { - font-family: "Segoe"; - font-weight: 200; - src: local("Segoe UI Light"); -} -@font-face { - font-family: "Segoe"; - font-weight: 300; - src: local("Segoe UI Semilight"); -} -@font-face { - font-family: "Segoe"; - font-weight: 400; - src: local("Segoe UI"); -} -@font-face { - font-family: "Segoe"; - font-weight: 600; - src: local("Segoe UI Semibold"); -} -@font-face { - font-family: "Segoe"; - font-weight: 700; - src: local("Segoe UI Bold"); -} -@font-face { - font-family: "Segoe"; - font-style: italic; - font-weight: 400; - src: local("Segoe UI Italic"); -} -@font-face { - font-family: "Segoe"; - font-style: italic; - font-weight: 700; - src: local("Segoe UI Bold Italic"); -} -@font-face { - font-family: "Microsoft Yahei UI"; - font-weight: 200; - src: local("Microsoft Yahei UI Light"); -} -@font-face { - font-family: "Microsoft Yahei UI"; - font-weight: 300; - src: local("Microsoft Yahei UI"); -} -@font-face { - font-family: "Microsoft Yahei UI"; - font-weight: 500; - src: local("Microsoft Yahei UI"); -} -@font-face { - font-family: "Microsoft Yahei UI"; - font-weight: 600; - src: local("Microsoft Yahei UI Bold"); -} -@font-face { - font-family: "Microsoft JhengHei UI"; - font-weight: 200; - src: local("Microsoft JhengHei UI Light"); -} -@font-face { - font-family: "Microsoft JhengHei UI"; - font-weight: 300; - src: local("Microsoft JhengHei UI"); -} -@font-face { - font-family: "Microsoft JhengHei UI"; - font-weight: 500; - src: local("Microsoft JhengHei UI"); -} -@font-face { - font-family: "Microsoft JhengHei UI"; - font-weight: 600; - src: local("Microsoft JhengHei UI Bold"); -} -body:-ms-lang(am, ti), -.win-type-xx-large:-ms-lang(am, ti), -.win-type-x-large:-ms-lang(am, ti), -.win-type-large:-ms-lang(am, ti), -.win-type-medium:-ms-lang(am, ti), -.win-type-small:-ms-lang(am, ti), -.win-type-x-small:-ms-lang(am, ti), -.win-type-xx-small:-ms-lang(am, ti), -input:-ms-lang(am, ti), -textarea:-ms-lang(am, ti), -.win-textarea:-ms-lang(am, ti), -button:-ms-lang(am, ti), -select:-ms-lang(am, ti), -option:-ms-lang(am, ti) { - font-family: "Ebrima", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-type-xx-large:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-type-x-large:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-type-large:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-type-medium:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-type-small:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-type-x-small:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-type-xx-small:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -input:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -textarea:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -.win-textarea:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -button:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -select:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te), -option:-ms-lang(as, bn, gu, hi, kn, kok, ml, mr, ne, or, pa, sat-Olck, si, srb-Sora, ta, te) { - font-family: "Nirmala UI", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(chr-CHER-US), -.win-type-xx-large:-ms-lang(chr-CHER-US), -.win-type-x-large:-ms-lang(chr-CHER-US), -.win-type-large:-ms-lang(chr-CHER-US), -.win-type-medium:-ms-lang(chr-CHER-US), -.win-type-small:-ms-lang(chr-CHER-US), -.win-type-x-small:-ms-lang(chr-CHER-US), -.win-type-xx-small:-ms-lang(chr-CHER-US), -input:-ms-lang(chr-CHER-US), -textarea:-ms-lang(chr-CHER-US), -.win-textarea:-ms-lang(chr-CHER-US), -button:-ms-lang(chr-CHER-US), -select:-ms-lang(chr-CHER-US), -option:-ms-lang(chr-CHER-US) { - font-family: "Gadugi", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(ja), -.win-type-xx-large:-ms-lang(ja), -.win-type-x-large:-ms-lang(ja), -.win-type-large:-ms-lang(ja), -.win-type-medium:-ms-lang(ja), -.win-type-small:-ms-lang(ja), -.win-type-x-small:-ms-lang(ja), -.win-type-xx-small:-ms-lang(ja), -input:-ms-lang(ja), -textarea:-ms-lang(ja), -.win-textarea:-ms-lang(ja), -button:-ms-lang(ja), -select:-ms-lang(ja), -option:-ms-lang(ja) { - font-family: "Meiryo UI", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(km, lo, th, bug-Bugi), -.win-type-xx-large:-ms-lang(km, lo, th, bug-Bugi), -.win-type-x-large:-ms-lang(km, lo, th, bug-Bugi), -.win-type-large:-ms-lang(km, lo, th, bug-Bugi), -.win-type-medium:-ms-lang(km, lo, th, bug-Bugi), -.win-type-small:-ms-lang(km, lo, th, bug-Bugi), -.win-type-x-small:-ms-lang(km, lo, th, bug-Bugi), -.win-type-xx-small:-ms-lang(km, lo, th, bug-Bugi), -input:-ms-lang(km, lo, th, bug-Bugi), -textarea:-ms-lang(km, lo, th, bug-Bugi), -.win-textarea:-ms-lang(km, lo, th, bug-Bugi), -button:-ms-lang(km, lo, th, bug-Bugi), -select:-ms-lang(km, lo, th, bug-Bugi), -option:-ms-lang(km, lo, th, bug-Bugi) { - font-family: "Leelawadee UI", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(ko), -.win-type-xx-large:-ms-lang(ko), -.win-type-x-large:-ms-lang(ko), -.win-type-large:-ms-lang(ko), -.win-type-medium:-ms-lang(ko), -.win-type-small:-ms-lang(ko), -.win-type-x-small:-ms-lang(ko), -.win-type-xx-small:-ms-lang(ko), -input:-ms-lang(ko), -textarea:-ms-lang(ko), -.win-textarea:-ms-lang(ko), -button:-ms-lang(ko), -select:-ms-lang(ko), -option:-ms-lang(ko) { - font-family: "Malgun Gothic", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(jv-Java), -.win-type-xx-large:-ms-lang(jv-Java), -.win-type-x-large:-ms-lang(jv-Java), -.win-type-large:-ms-lang(jv-Java), -.win-type-medium:-ms-lang(jv-Java), -.win-type-small:-ms-lang(jv-Java), -.win-type-x-small:-ms-lang(jv-Java), -.win-type-xx-small:-ms-lang(jv-Java), -input:-ms-lang(jv-Java), -textarea:-ms-lang(jv-Java), -.win-textarea:-ms-lang(jv-Java), -button:-ms-lang(jv-Java), -select:-ms-lang(jv-Java), -option:-ms-lang(jv-Java) { - font-family: "Javanese Text", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(cop-Copt), -.win-type-xx-large:-ms-lang(cop-Copt), -.win-type-x-large:-ms-lang(cop-Copt), -.win-type-large:-ms-lang(cop-Copt), -.win-type-medium:-ms-lang(cop-Copt), -.win-type-small:-ms-lang(cop-Copt), -.win-type-x-small:-ms-lang(cop-Copt), -.win-type-xx-small:-ms-lang(cop-Copt), -input:-ms-lang(cop-Copt), -textarea:-ms-lang(cop-Copt), -.win-textarea:-ms-lang(cop-Copt), -button:-ms-lang(cop-Copt), -select:-ms-lang(cop-Copt), -option:-ms-lang(cop-Copt) { - font-family: "Segoe UI Symbol", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-type-xx-large:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-type-x-large:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-type-large:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-type-medium:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-type-small:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-type-x-small:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-type-xx-small:-ms-lang(zh-CN, zh-Hans, zh-SG), -input:-ms-lang(zh-CN, zh-Hans, zh-SG), -textarea:-ms-lang(zh-CN, zh-Hans, zh-SG), -.win-textarea:-ms-lang(zh-CN, zh-Hans, zh-SG), -button:-ms-lang(zh-CN, zh-Hans, zh-SG), -select:-ms-lang(zh-CN, zh-Hans, zh-SG), -option:-ms-lang(zh-CN, zh-Hans, zh-SG) { - font-family: "Microsoft YaHei UI", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -body:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-type-xx-large:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-type-x-large:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-type-large:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-type-medium:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-type-small:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-type-x-small:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-type-xx-small:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -input:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -textarea:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -.win-textarea:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -button:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -select:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO), -option:-ms-lang(zh-HK, zh-TW, zh-Hant, zh-MO) { - font-family: "Microsoft JhengHei UI", "Ebrima", "Nirmala UI", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Symbols", "Meiryo UI", "Leelawadee UI", "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; -} -html, -body { - width: 100%; - height: 100%; - margin: 0px; - cursor: default; - -moz-user-select: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -ms-user-select: none; - -ms-scroll-translation: vertical-to-horizontal; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -html { - overflow: hidden; -} -html:lang(ar), -html:lang(dv), -html:lang(fa), -html:lang(he), -html:lang(ku-Arab), -html:lang(pa-Arab), -html:lang(prs), -html:lang(ps), -html:lang(sd-Arab), -html:lang(syr), -html:lang(ug), -html:lang(ur), -html:lang(qps-plocm) { - direction: rtl; -} -body { - -ms-content-zooming: none; - font-size: 11pt; - font-weight: 300; - line-height: 1.3636; -} -iframe { - border: 0; -} -body, -button, -input, -textarea, -.win-textarea, -select, -option { - letter-spacing: 0.02em; -} -body, -.win-type-xx-large, -.win-type-x-large, -.win-type-large, -.win-type-medium, -.win-type-small, -.win-type-x-small, -.win-type-xx-small, -input, -textarea, -.win-textarea, -button, -select, -option { - font-family: "Segoe", "sans-serif", "Segoe UI Symbol", "Symbols"; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} -input[type=text], -input[type=password], -input[type=email], -input[type=number], -input[type=tel], -input[type=url], -input[type=search] { - -ms-user-select: element; - border-style: solid; - border-width: 2px; - margin: 4px 0px; - width: 260px; - min-width: 64px; - min-height: 28px; - background-clip: border-box; - padding: 0 8px; - outline: 0; - font-size: 11pt; - font-weight: 400; - line-height: 1.3636; -} -input::-ms-value { - margin: 0; -} -input[type=radio] { - width: 23px; - height: 23px; - margin-left: -1px; - margin-right: 4px; - margin-bottom: -2px; -} -input[type=radio]:lang(ar), -input[type=radio]:lang(dv), -input[type=radio]:lang(fa), -input[type=radio]:lang(he), -input[type=radio]:lang(ku-Arab), -input[type=radio]:lang(pa-Arab), -input[type=radio]:lang(prs), -input[type=radio]:lang(ps), -input[type=radio]:lang(sd-Arab), -input[type=radio]:lang(syr), -input[type=radio]:lang(ug), -input[type=radio]:lang(ur), -input[type=radio]:lang(qps-plocm) { - margin-left: 4px; - margin-right: -1px; -} -input[type=checkbox] { - width: 21px; - height: 21px; - margin-right: 5px; -} -input[type=checkbox]:lang(ar), -input[type=checkbox]:lang(dv), -input[type=checkbox]:lang(fa), -input[type=checkbox]:lang(he), -input[type=checkbox]:lang(ku-Arab), -input[type=checkbox]:lang(pa-Arab), -input[type=checkbox]:lang(prs), -input[type=checkbox]:lang(ps), -input[type=checkbox]:lang(sd-Arab), -input[type=checkbox]:lang(syr), -input[type=checkbox]:lang(ug), -input[type=checkbox]:lang(ur), -input[type=checkbox]:lang(qps-plocm) { - margin-left: 5px; - margin-right: 0px; -} -input::-ms-check { - border-style: solid; - display: inline-block; - border-width: 2px; - background-clip: border-box; -} -textarea, -.win-textarea { - -ms-user-select: element; - border-style: solid; - border-width: 2px; - margin: 4px 0px; - padding: 4px 8px; - padding-right: 17px; - min-width: 64px; - min-height: 39px; - background-clip: border-box; - overflow-y: scroll; - word-wrap: break-word; - outline: 0; - font-size: 11pt; - font-weight: 400; - line-height: 1.3636; -} -textarea:lang(ar), -.win-textarea:lang(ar), -textarea:lang(dv), -.win-textarea:lang(dv), -textarea:lang(fa), -.win-textarea:lang(fa), -textarea:lang(he), -.win-textarea:lang(he), -textarea:lang(ku-Arab), -.win-textarea:lang(ku-Arab), -textarea:lang(pa-Arab), -.win-textarea:lang(pa-Arab), -textarea:lang(prs), -.win-textarea:lang(prs), -textarea:lang(ps), -.win-textarea:lang(ps), -textarea:lang(sd-Arab), -.win-textarea:lang(sd-Arab), -textarea:lang(syr), -.win-textarea:lang(syr), -textarea:lang(ug), -.win-textarea:lang(ug), -textarea:lang(ur), -.win-textarea:lang(ur), -textarea:lang(qps-plocm), -.win-textarea:lang(qps-plocm) { - padding-right: 8px; - padding-left: 17px; -} -button, -input[type=button], -input[type=reset], -input[type=submit], -button[type=submit] { - border-style: solid; - background-clip: padding-box; - margin: 0px; - min-height: 32px; - min-width: 90px; - padding: 4px 8px; - border-width: 2px; - font-size: 11pt; - font-weight: 600; - line-height: 1.3636; -} -input[type=submit], -button[type=submit] { - background-clip: border-box; -} -input::-ms-clear, -input::-ms-reveal { - margin-right: -8px; - margin-left: 2px; -} -input:lang(ar)::-ms-clear, -input:lang(dv)::-ms-clear, -input:lang(fa)::-ms-clear, -input:lang(he)::-ms-clear, -input:lang(ku-Arab)::-ms-clear, -input:lang(pa-Arab)::-ms-clear, -input:lang(prs)::-ms-clear, -input:lang(ps)::-ms-clear, -input:lang(sd-Arab)::-ms-clear, -input:lang(syr)::-ms-clear, -input:lang(ug)::-ms-clear, -input:lang(ur)::-ms-clear, -input:lang(qps-plocm)::-ms-clear, -input:lang(ar)::-ms-reveal, -input:lang(dv)::-ms-reveal, -input:lang(fa)::-ms-reveal, -input:lang(he)::-ms-reveal, -input:lang(ku-Arab)::-ms-reveal, -input:lang(pa-Arab)::-ms-reveal, -input:lang(prs)::-ms-reveal, -input:lang(ps)::-ms-reveal, -input:lang(sd-Arab)::-ms-reveal, -input:lang(syr)::-ms-reveal, -input:lang(ug)::-ms-reveal, -input:lang(ur)::-ms-reveal, -input:lang(qps-plocm)::-ms-reveal { - margin-left: -8px; - margin-right: 2px; -} -input[type=file] { - border: none; - min-width: 100px; - min-height: 20px; - width: 340px; - height: 32px; - padding: 0px; - margin: 7px 8px 21px 8px; - background-clip: padding-box; -} -input[type=file]::-ms-value { - margin: 0; - border-width: 2px; - border-style: solid; - border-right-style: none; - border-radius: 0; - background-clip: border-box; - font-size: 11pt; - font-weight: 400; - line-height: 1.3636; -} -input[type=file]:lang(ar)::-ms-value, -input[type=file]:lang(dv)::-ms-value, -input[type=file]:lang(fa)::-ms-value, -input[type=file]:lang(he)::-ms-value, -input[type=file]:lang(ku-Arab)::-ms-value, -input[type=file]:lang(pa-Arab)::-ms-value, -input[type=file]:lang(prs)::-ms-value, -input[type=file]:lang(ps)::-ms-value, -input[type=file]:lang(sd-Arab)::-ms-value, -input[type=file]:lang(syr)::-ms-value, -input[type=file]:lang(ug)::-ms-value, -input[type=file]:lang(ur)::-ms-value, -input[type=file]:lang(qps-plocm)::-ms-value { - border-left-style: none; - border-right-style: solid; -} -input[type=file]::-ms-browse { - margin: 0; - padding: 0 18px; - border-width: 2px; - border-style: solid; - background-clip: padding-box; - font-size: 11pt; - font-weight: 600; - line-height: 1.3636; -} -select { - min-width: 80px; - min-height: 32px; - border-width: 2px; - border-style: solid; - background-clip: border-box; - margin: 4px 0px; - outline: 0; - font-size: 11pt; - font-weight: 400; - line-height: 1.3636; -} -select::-ms-value { - padding: 4px 8px; - margin: 0px; -} -select::-ms-expand { - border: 0px; - padding-left: 6px; - padding-right: 6px; -} -progress { - width: 180px; - height: 6px; - border-style: none; -} -progress.win-medium { - width: 280px; -} -progress.win-large { - width: 100%; -} -progress::-ms-fill { - border-style: none; -} -progress:indeterminate { - height: 4px; - padding: 1px 0px; -} -progress.win-paused:not(:indeterminate) { - animation-name: win-progress-fade-out; - animation-duration: 3s; - animation-timing-function: cubic-bezier(0.03, 0.76, 0.31, 1); - opacity: 0.5; -} -progress.win-error::-ms-fill { - opacity: 0; -} -progress.win-ring:indeterminate::-ms-fill { - animation-name: -ms-ring; -} -progress.win-ring { - width: 20px; - height: 20px; -} -progress.win-medium.win-ring { - width: 40px; - height: 40px; -} -progress.win-large.win-ring { - width: 60px; - height: 60px; -} -@keyframes win-progress-fade-out { - from { - opacity: 1.0; - } - to { - opacity: 0.5; - } -} -input[type=range] { - width: 280px; - height: auto; - padding: 17px 0px 32px 0px; - -webkit-appearance: none; -} -input[type=range]:focus { - outline: none; -} -input[type=range]::-ms-track { - padding: 0px; - width: auto; - height: 11px; - border-style: none; -} -input[type=range]::-webkit-slider-runnable-track { - height: 11px; -} -input[type=range]::-moz-range-track { - height: 11px; - border: none; -} -input[type=range]::-ms-thumb { - width: 11px; - height: 11px; - border-style: none; -} -input[type=range]::-webkit-slider-thumb { - -webkit-appearance: none; - height: 11px; - width: 11px; -} -input[type=range]::-moz-range-thumb { - width: 11px; - height: 11px; - border-radius: 0; - border: none; -} -input[type=range]::-ms-ticks-before, -input[type=range]::-ms-ticks-after { - width: 100%; - height: 5px; - display: none; -} -input[type=range]:disabled::-ms-fill-lower { - margin-right: 5px; -} -input[type=range]:disabled::-ms-fill-upper { - margin-left: 6px; -} -input[type=range]:disabled:lang(ar)::-ms-fill-lower, -input[type=range]:disabled:lang(dv)::-ms-fill-lower, -input[type=range]:disabled:lang(fa)::-ms-fill-lower, -input[type=range]:disabled:lang(he)::-ms-fill-lower, -input[type=range]:disabled:lang(ku-Arab)::-ms-fill-lower, -input[type=range]:disabled:lang(pa-Arab)::-ms-fill-lower, -input[type=range]:disabled:lang(prs)::-ms-fill-lower, -input[type=range]:disabled:lang(ps)::-ms-fill-lower, -input[type=range]:disabled:lang(sd-Arab)::-ms-fill-lower, -input[type=range]:disabled:lang(syr)::-ms-fill-lower, -input[type=range]:disabled:lang(ug)::-ms-fill-lower, -input[type=range]:disabled:lang(ur)::-ms-fill-lower, -input[type=range]:disabled:lang(qps-plocm)::-ms-fill-lower { - margin-right: 0; - margin-left: 5px; -} -input[type=range]:disabled:lang(ar)::-ms-fill-upper, -input[type=range]:disabled:lang(dv)::-ms-fill-upper, -input[type=range]:disabled:lang(fa)::-ms-fill-upper, -input[type=range]:disabled:lang(he)::-ms-fill-upper, -input[type=range]:disabled:lang(ku-Arab)::-ms-fill-upper, -input[type=range]:disabled:lang(pa-Arab)::-ms-fill-upper, -input[type=range]:disabled:lang(prs)::-ms-fill-upper, -input[type=range]:disabled:lang(ps)::-ms-fill-upper, -input[type=range]:disabled:lang(sd-Arab)::-ms-fill-upper, -input[type=range]:disabled:lang(syr)::-ms-fill-upper, -input[type=range]:disabled:lang(ug)::-ms-fill-upper, -input[type=range]:disabled:lang(ur)::-ms-fill-upper, -input[type=range]:disabled:lang(qps-plocm)::-ms-fill-upper { - margin-left: 0; - margin-right: 6px; -} -input[type=range].win-vertical { - width: auto; - height: 191px; - padding: 0px 17px; - writing-mode: bt-lr; -} -input[type=range].win-vertical::-ms-track { - width: 11px; - height: auto; -} -input[type=range].win-vertical:disabled::-ms-fill-lower { - margin-right: 0; - margin-top: 6px; -} -input[type=range].win-vertical:disabled::-ms-fill-upper { - margin-left: 0; - margin-bottom: 5px; -} -input[type=range].win-vertical::-ms-ticks-before, -input[type=range].win-vertical::-ms-ticks-after { - width: 5px; - height: 100%; - display: none; -} -input[type=range].win-vertical:disabled:lang(ar)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(dv)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(fa)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(he)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(ku-Arab)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(pa-Arab)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(prs)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(ps)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(sd-Arab)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(syr)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(ug)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(ur)::-ms-fill-lower, -input[type=range].win-vertical:disabled:lang(qps-plocm)::-ms-fill-lower { - margin-left: 0; -} -input[type=range].win-vertical:disabled:lang(ar)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(dv)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(fa)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(he)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(ku-Arab)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(pa-Arab)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(prs)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(ps)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(sd-Arab)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(syr)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(ug)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(ur)::-ms-fill-upper, -input[type=range].win-vertical:disabled:lang(qps-plocm)::-ms-fill-upper { - margin-right: 0; -} -input[type=range].win-vertical:lang(ar), -input[type=range].win-vertical:lang(dv), -input[type=range].win-vertical:lang(fa), -input[type=range].win-vertical:lang(he), -input[type=range].win-vertical:lang(ku-Arab), -input[type=range].win-vertical:lang(pa-Arab), -input[type=range].win-vertical:lang(prs), -input[type=range].win-vertical:lang(ps), -input[type=range].win-vertical:lang(sd-Arab), -input[type=range].win-vertical:lang(syr), -input[type=range].win-vertical:lang(ug), -input[type=range].win-vertical:lang(ur), -input[type=range].win-vertical:lang(qps-plocm) { - writing-mode: bt-rl; -} -a { - text-decoration: none; - cursor: default; -} -img { - border-style: none; -} -form { - margin: 0px; - padding: 0px; -} -legend { - margin: 0px 0px 10px 0px; - padding: 0px; - color: inherit; - font-size: 11pt; - font-weight: 300; - line-height: 1.3636; -} -code, -pre, -samp { - font-family: "Consolas"; - font-size: 11pt; - font-weight: 400; - line-height: 1.3636; -} -caption, -figcaption, -small { - font-size: 9pt; - font-weight: 400; - line-height: 1.6667; -} -.win-type-ellipsis { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -h1.win-type-ellipsis, -.win-type-xx-large.win-type-ellipsis { - line-height: 1.4286; -} -h2.win-type-ellipsis, -.win-type-x-large.win-type-ellipsis { - line-height: 1.5; -} -dt, -th { - font-size: 11pt; - font-weight: 700; - line-height: 1.3636; -} -abbr, -acronym, -address, -blockquote, -cite, -dl, -dd, -li, -ol, -p, -q, -td, -tr { - font-weight: 300; -} -b, -strong { - font-weight: 700; -} -em { - font-style: italic; -} -.win-scrollview { - overflow-x: auto; - overflow-y: hidden; - height: 400px; - width: 100%; -} -h1, -h2, -h3, -h4, -h5, -h6 { - margin-top: 0px; - margin-bottom: 0px; -} -h1 { - font-size: 42pt; - font-weight: 200; - line-height: 1.1429; - letter-spacing: 0px; -} -h2 { - font-size: 20pt; - font-weight: 200; - line-height: 1.2; -} -h3 { - font-size: 11pt; - font-weight: 600; - line-height: 1.3636; -} -h4 { - font-size: 11pt; - font-weight: 400; - line-height: 1.3636; -} -h5 { - font-size: 11pt; - font-weight: 300; - line-height: 1.3636; -} -h6 { - font-size: 9pt; - font-weight: 400; - line-height: 1.6667; -} -@media (-ms-high-contrast) { - .win-type-interactive { - color: WindowText; - } - .win-type-interactive:hover, - .win-type-interactive:hover:active { - color: -ms-hotlight; - } - .win-type-interactive:-ms-keyboard-active { - color: -ms-hotlight; - } - /* - Text selection high contrast color. - */ - ::selection, - select:focus::-ms-value { - background-color: Highlight; - color: HighlightText; - } - /* - Button - */ - button, - input[type=button], - input[type=reset], - input[type=file]::-ms-browse { - background-color: ButtonFace; - border-color: ButtonText; - color: ButtonText; - } - button[type=submit], - input[type=submit] { - background-color: Highlight; - border-color: ButtonText; - color: HighlightText; - } - button:hover:active, - button[type=submit]:hover:active, - input[type=button]:hover:active, - input[type=submit]:hover:active, - input[type=reset]:hover:active, - input[type=file]::-ms-browse:hover:active { - background-clip: border-box; - background-color: ButtonText; - border-color: transparent; - color: ButtonFace; - } - button:disabled, - button[type=submit]:disabled, - input[type=button]:disabled, - input[type=submit]:disabled, - input[type=reset]:disabled, - input[type=file]:disabled::-ms-browse, - button:disabled:active, - button[type=submit]:disabled:active, - input[type=button]:disabled:active, - input[type=submit]:disabled:active, - input[type=reset]:disabled:active, - input[type=file]:disabled::-ms-browse:active { - background-color: ButtonFace; - border-color: GrayText; - color: GrayText; - } - button:-ms-keyboard-active, - button[type=submit]:-ms-keyboard-active, - input[type=button]:-ms-keyboard-active, - input[type=submit]:-ms-keyboard-active, - input[type=reset]:-ms-keyboard-active { - background-clip: border-box; - background-color: ButtonText; - border-color: transparent; - color: ButtonFace; - } - button:hover, - input[type=button]:hover, - input[type=reset]:hover, - input::-ms-clear:hover, - input::-ms-reveal:hover, - input[type=file]::-ms-browse:hover { - background-color: Highlight; - border-color: ButtonText; - color: HighlightText; - } - input::-ms-clear:hover:active, - input::-ms-reveal:hover:active { - background-clip: border-box; - background-color: ButtonText; - border-color: transparent; - color: ButtonFace; - } - input:disabled::-ms-clear, - input:disabled::-ms-reveal, - select:disabled::-ms-expand { - background-color: ButtonFace; - border-color: GrayText; - color: GrayText; - } - input::-ms-clear, - input::-ms-reveal, - select::-ms-expand { - background-color: ButtonFace; - border-color: ButtonText; - color: ButtonText; - } - /* - Select - */ - select:active:not(:disabled)::-ms-expand { - color: ButtonFace; - background-color: ButtonText; - } - option:checked, - select:focus::-ms-value { - color: HighlightText; - background-color: Highlight; - } - select:active:not(:disabled)::-ms-value, - option:hover:active, - option:checked:hover:active { - color: ButtonFace; - background-color: ButtonText; - } - option:checked:disabled, - option:checked:disabled:active, - optgroup:disabled option:checked, - optgroup:disabled option:checked:active, - select:disabled option:checked, - select:disabled option:checked:active, - select:disabled:focus::-ms-value { - color: ButtonFace; - background-color: GrayText; - } - /* - Link high contrast colors. - */ - a { - color: -ms-hotlight; - } - a[disabled] { - color: GrayText; - } - /* - Text input, checkbox, radio, and select high contrast colors. - */ - input:hover::-ms-check { - /* only checkbox and radio have hover state */ - background-color: Highlight; - color: HighlightText; - } - input[type=text], - input[type=password], - input[type=email], - input[type=number], - input[type=tel], - input[type=url], - input[type=search], - textarea, - .win-textarea, - select, - input::-ms-check { - background-color: ButtonFace; - border-color: ButtonText; - color: ButtonText; - } - input:hover:active::-ms-check { - /* only checkbox and radio have active state */ - background-clip: border-box; - background-color: ButtonText; - border-color: transparent; - color: ButtonFace; - } - input[type=text]:disabled, - input[type=password]:disabled, - input[type=email]:disabled, - input[type=number]:disabled, - input[type=tel]:disabled, - input[type=url]:disabled, - input[type=search]:disabled, - input[type=file]::-ms-value, - textarea:disabled, - .win-textarea:disabled, - select:disabled, - input:disabled::-ms-check, - input:disabled:active::-ms-check { - border-color: GrayText; - color: ButtonText; - background-color: ButtonFace; - } - input[type]:-ms-input-placeholder, - textarea:-ms-input-placeholder { - color: GrayText; - } - input[type]::-webkit-input-placeholder, - textarea::-webkit-input-placeholder { - color: GrayText; - } - input[type]::-moz-input-placeholder, - textarea::-moz-input-placeholder { - color: GrayText; - } - input:disabled::-ms-check, - input:disabled:active::-ms-check, - select:disabled::-ms-value { - color: GrayText; - } - input:-ms-keyboard-active::-ms-check { - /* only checkbox and radio have active state */ - background-clip: border-box; - background-color: ButtonText; - border-color: transparent; - color: ButtonFace; - } - /* - Progress high contrast colors. - */ - progress { - border: 1px solid ButtonText; - background-color: ButtonFace; - color: Highlight; - } - progress:indeterminate { - border: transparent; - } - progress::-ms-fill { - border-right: 1px solid ButtonText; - background-color: Highlight; - } - progress.win-paused:not(:indeterminate)::-ms-fill { - background-color: GrayText; - } - progress.win-paused:not(:indeterminate) { - opacity: 1.0; - } - /* - Slider - */ - input[type=range]::-ms-track { - border: 1px solid ButtonText; - background-color: ButtonFace; - color: transparent; - } - input[type=range]:disabled::-ms-track { - border-color: GrayText; - } - input[type=range]::-ms-fill-lower { - background-color: Highlight; - } - input[type=range]:disabled::-ms-fill-lower { - background-color: transparent; - } - input[type=range]::-ms-ticks-before, - input[type=range]::-ms-ticks-after { - color: ButtonText; - } - input[type=range]:disabled::-ms-ticks-before, - input[type=range]:disabled::-ms-ticks-after { - color: GrayText; - } - input[type=range]::-ms-thumb { - background-color: ButtonText; - border-left: 1px solid HighlightText; - border-right: 1px solid HighlightText; - } - input[type=range].win-vertical::-ms-thumb { - border-left-style: none; - border-right-style: none; - border-top: 1px solid HighlightText; - border-bottom: 1px solid HighlightText; - } - input[type=range]:active::-ms-thumb { - background-color: HighlightText; - border-color: ButtonText; - } - input[type=range]:disabled::-ms-thumb, - input[type=range]:disabled:active::-ms-thumb { - background-color: GrayText; - border-color: GrayText; - } - input[type=range]:hover::-ms-thumb { - background-color: Highlight; - } -} -.win-toggleswitch { - outline: 0; -} -.win-toggleswitch .win-toggleswitch-header { - max-width: 470px; - font-size: 12pt; - width: 22em; - margin-bottom: 7px; - margin-top: 10px; - font-weight: 300; -} -.win-toggleswitch .win-toggleswitch-values { - display: inline-block; - vertical-align: top; -} -.win-toggleswitch .win-toggleswitch-value { - min-width: 65px; - margin-right: 20px; - height: 19px; - line-height: 19px; - vertical-align: top; - font-weight: 600; -} -.win-toggleswitch .win-toggleswitch-description { - font-size: 12pt; - width: 22em; - margin-top: 28px; - display: none; -} -.win-toggleswitch .win-toggleswitch-clickregion { - display: inline-block; - touch-action: none; - -ms-user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} -.win-toggleswitch .win-toggleswitch-track { - position: relative; - display: inline-block; - width: 50px; - height: 19px; - border-style: solid; - border-width: 2px; - box-sizing: border-box; -} -.win-toggleswitch .win-toggleswitch-fill { - position: absolute; - top: 1px; - display: inline-block; - height: 13px; - box-sizing: border-box; - -webkit-transition: width 0.1s; - transition: width 0.1s; -} -.win-toggleswitch .win-toggleswitch-fill-lower { - left: 1px; -} -.win-toggleswitch .win-toggleswitch-fill-upper { - right: 1px; -} -.win-toggleswitch .win-toggleswitch-thumb { - position: absolute; - top: 0; - margin-top: -2px; - margin-left: -2px; - display: inline-block; - width: 12px; - height: 19px; - -webkit-transition: left 0.1s; - transition: left 0.1s; -} -.win-toggleswitch:focus .win-toggleswitch-track { - outline-width: 1px; - outline-style: dotted; -} -.win-toggleswitch.win-toggleswitch-dragging .win-toggleswitch-fill, -.win-toggleswitch.win-toggleswitch-dragging .win-toggleswitch-thumb { - -webkit-transition: none; - transition: none; -} -.win-toggleswitch.win-toggleswitch-off .win-toggleswitch-value-on { - height: 0; - visibility: hidden; -} -.win-toggleswitch.win-toggleswitch-on .win-toggleswitch-value-off { - height: 0; - visibility: hidden; -} -.win-toggleswitch.win-toggleswitch-on .win-toggleswitch-fill-lower { - width: 35px; -} -.win-toggleswitch.win-toggleswitch-on .win-toggleswitch-fill-upper { - width: 0; -} -.win-toggleswitch.win-toggleswitch-on .win-toggleswitch-thumb { - left: 38px; -} -.win-toggleswitch.win-toggleswitch-off .win-toggleswitch-fill-lower { - width: 0; -} -.win-toggleswitch.win-toggleswitch-off .win-toggleswitch-fill-upper { - width: 35px; -} -.win-toggleswitch.win-toggleswitch-off .win-toggleswitch-thumb { - left: 0; -} -.win-toggleswitch:lang(ar), -.win-toggleswitch:lang(dv), -.win-toggleswitch:lang(fa), -.win-toggleswitch:lang(he), -.win-toggleswitch:lang(ku-Arab), -.win-toggleswitch:lang(pa-Arab), -.win-toggleswitch:lang(prs), -.win-toggleswitch:lang(ps), -.win-toggleswitch:lang(sd-Arab), -.win-toggleswitch:lang(syr), -.win-toggleswitch:lang(ug), -.win-toggleswitch:lang(ur), -.win-toggleswitch:lang(qps-plocm) { - direction: rtl; -} -.win-toggleswitch:lang(ar).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(dv).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(fa).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(he).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ku-Arab).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(pa-Arab).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(prs).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ps).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(sd-Arab).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(syr).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ug).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ur).win-toggleswitch-on .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(qps-plocm).win-toggleswitch-on .win-toggleswitch-fill-lower { - width: 0; -} -.win-toggleswitch:lang(ar).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(dv).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(fa).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(he).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ku-Arab).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(pa-Arab).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(prs).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ps).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(sd-Arab).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(syr).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ug).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ur).win-toggleswitch-on .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(qps-plocm).win-toggleswitch-on .win-toggleswitch-fill-upper { - width: 35px; -} -.win-toggleswitch:lang(ar).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(dv).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(fa).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(he).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(ku-Arab).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(pa-Arab).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(prs).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(ps).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(sd-Arab).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(syr).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(ug).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(ur).win-toggleswitch-on .win-toggleswitch-thumb, -.win-toggleswitch:lang(qps-plocm).win-toggleswitch-on .win-toggleswitch-thumb { - left: 0; -} -.win-toggleswitch:lang(ar).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(dv).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(fa).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(he).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ku-Arab).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(pa-Arab).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(prs).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ps).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(sd-Arab).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(syr).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ug).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(ur).win-toggleswitch-off .win-toggleswitch-fill-lower, -.win-toggleswitch:lang(qps-plocm).win-toggleswitch-off .win-toggleswitch-fill-lower { - width: 35px; -} -.win-toggleswitch:lang(ar).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(dv).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(fa).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(he).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ku-Arab).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(pa-Arab).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(prs).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ps).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(sd-Arab).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(syr).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ug).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(ur).win-toggleswitch-off .win-toggleswitch-fill-upper, -.win-toggleswitch:lang(qps-plocm).win-toggleswitch-off .win-toggleswitch-fill-upper { - width: 0; -} -.win-toggleswitch:lang(ar).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(dv).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(fa).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(he).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(ku-Arab).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(pa-Arab).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(prs).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(ps).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(sd-Arab).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(syr).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(ug).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(ur).win-toggleswitch-off .win-toggleswitch-thumb, -.win-toggleswitch:lang(qps-plocm).win-toggleswitch-off .win-toggleswitch-thumb { - left: 38px; -} -.win-hub { - height: 100%; - width: 100%; - position: relative; -} -.win-hub-progress { - position: absolute; - top: 10px; - width: 100%; - z-index: 1; -} -.win-hub-viewport { - height: 100%; - width: 100%; - /* Allow win-hub-surface margin/padding right to work */ - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -ms-flex: 0 0 auto; - -webkit-flex: 0 0 auto; - flex: 0 0 auto; - -ms-scroll-snap-type: proximity; -} -.win-hub-horizontal .win-hub-viewport { - overflow-x: auto; - overflow-y: hidden; -} -.win-hub-vertical .win-hub-viewport { - position: relative; - overflow-y: auto; - overflow-x: hidden; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.win-hub-surface { - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -ms-flex: 0 0 auto; - -webkit-flex: 0 0 auto; - flex: 0 0 auto; -} -.win-hub-vertical .win-hub-surface { - width: 100%; - padding: 15px 0; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.win-hub-horizontal .win-hub-surface { - height: 100%; - padding: 0 80px; -} -.win-hub-section { - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - padding: 0 40px; -} -.win-hub-horizontal .win-hub-section { - height: 100%; -} -.win-hub-horizontal .win-hub-section-header { - margin-top: 129px; -} -.win-hub-vertical .win-hub-section { - width: calc(100% - 80px); - padding: 14px 40px; -} -.win-hub-vertical .win-hub-section-header { - margin-top: 1px; -} -.win-hub-section-header { - -ms-flex: 0 0 auto; - -webkit-flex: 0 0 auto; - flex: 0 0 auto; - margin: 4px 0; - font-size: 20pt; - text-align: left; -} -.win-hub-section-header:lang(ar), -.win-hub-section-header:lang(dv), -.win-hub-section-header:lang(fa), -.win-hub-section-header:lang(he), -.win-hub-section-header:lang(ku-Arab), -.win-hub-section-header:lang(pa-Arab), -.win-hub-section-header:lang(prs), -.win-hub-section-header:lang(ps), -.win-hub-section-header:lang(sd-Arab), -.win-hub-section-header:lang(syr), -.win-hub-section-header:lang(ug), -.win-hub-section-header:lang(ur), -.win-hub-section-header:lang(qps-plocm) { - text-align: right; -} -button.win-hub-section-header-tabstop, -html.win-hoverable button.win-hub-section-header-tabstop:hover, -button.win-hub-section-header-tabstop:hover:active { - background-color: transparent; - border: 0; - padding: 0 3px 0 0; - min-height: 0; - min-width: 0; - max-width: calc(100% - 3px); - font-size: 20pt; -} -button.win-hub-section-header-tabstop:lang(ar), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(ar), -button.win-hub-section-header-tabstop:hover:active:lang(ar), -button.win-hub-section-header-tabstop:lang(dv), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(dv), -button.win-hub-section-header-tabstop:hover:active:lang(dv), -button.win-hub-section-header-tabstop:lang(fa), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(fa), -button.win-hub-section-header-tabstop:hover:active:lang(fa), -button.win-hub-section-header-tabstop:lang(he), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(he), -button.win-hub-section-header-tabstop:hover:active:lang(he), -button.win-hub-section-header-tabstop:lang(ku-Arab), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(ku-Arab), -button.win-hub-section-header-tabstop:hover:active:lang(ku-Arab), -button.win-hub-section-header-tabstop:lang(pa-Arab), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(pa-Arab), -button.win-hub-section-header-tabstop:hover:active:lang(pa-Arab), -button.win-hub-section-header-tabstop:lang(prs), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(prs), -button.win-hub-section-header-tabstop:hover:active:lang(prs), -button.win-hub-section-header-tabstop:lang(ps), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(ps), -button.win-hub-section-header-tabstop:hover:active:lang(ps), -button.win-hub-section-header-tabstop:lang(sd-Arab), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(sd-Arab), -button.win-hub-section-header-tabstop:hover:active:lang(sd-Arab), -button.win-hub-section-header-tabstop:lang(syr), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(syr), -button.win-hub-section-header-tabstop:hover:active:lang(syr), -button.win-hub-section-header-tabstop:lang(ug), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(ug), -button.win-hub-section-header-tabstop:hover:active:lang(ug), -button.win-hub-section-header-tabstop:lang(ur), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(ur), -button.win-hub-section-header-tabstop:hover:active:lang(ur), -button.win-hub-section-header-tabstop:lang(qps-plocm), -html.win-hoverable button.win-hub-section-header-tabstop:hover:lang(qps-plocm), -button.win-hub-section-header-tabstop:hover:active:lang(qps-plocm) { - padding: 0 0 0 3px; -} -button.win-hub-section-header-tabstop:focus { - outline: none; -} -button.win-hub-section-header-tabstop:-ms-keyboard-active { - background-color: transparent; -} -.win-hub-section-header-wrapper { - display: -ms-inline-flexbox; - display: -webkit-inline-flex; - display: inline-flex; - -ms-flex-direction: row; - -webkit-flex-direction: row; - flex-direction: row; - width: 100%; - outline: none; -} -.win-hub-section-header-content { - display: inline-block; - -ms-flex: 1 1 auto; - -webkit-flex: 1 1 auto; - flex: 1 1 auto; -} -.win-hub-section-header-chevron { - display: none; -} -.win-hub-section-header-interactive .win-hub-section-header-chevron { - -ms-flex: 0 0 auto; - -webkit-flex: 0 0 auto; - flex: 0 0 auto; - display: inline-block; - margin-left: 7px; -} -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(ar), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(dv), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(fa), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(he), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(ku-Arab), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(pa-Arab), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(prs), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(ps), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(sd-Arab), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(syr), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(ug), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(ur), -.win-hub-section-header-interactive .win-hub-section-header-chevron:lang(qps-plocm) { - margin-left: 0; - margin-right: 7px; -} -.win-hub-section-header-chevron::before { - font-family: "Segoe UI Symbol", "Symbols"; - content: "\E26B"; -} -.win-hub-section-header-chevron:lang(ar), -.win-hub-section-header-chevron:lang(dv), -.win-hub-section-header-chevron:lang(fa), -.win-hub-section-header-chevron:lang(he), -.win-hub-section-header-chevron:lang(ku-Arab), -.win-hub-section-header-chevron:lang(pa-Arab), -.win-hub-section-header-chevron:lang(prs), -.win-hub-section-header-chevron:lang(ps), -.win-hub-section-header-chevron:lang(sd-Arab), -.win-hub-section-header-chevron:lang(syr), -.win-hub-section-header-chevron:lang(ug), -.win-hub-section-header-chevron:lang(ur), -.win-hub-section-header-chevron:lang(qps-plocm) { - font-family: "Segoe UI Symbol", "Symbols"; - content: "\E26C"; -} -.win-hub-section-content { - -ms-flex: 1 1 auto; - -webkit-flex: 1 1 auto; - flex: 1 1 auto; -} -.win-hub-horizontal .win-hub-section-content { - height: calc(100% - 44px); -} -.win-hub-vertical .win-hub-section-content { - width: 100%; -} -@media (-ms-high-contrast) { - button.win-hub-section-header-tabstop, - html.win-hoverable button.win-hub-section-header-tabstop:hover, - button.win-hub-section-header-tabstop:hover:active { - background-color: transparent; - color: WindowText; - } - button.win-hub-section-header-tabstop:-ms-keyboard-active { - color: WindowText; - } - html.win-hoverable button.win-hub-section-header-tabstop.win-hub-section-header-interactive:hover, - button.win-hub-section-header-tabstop.win-hub-section-header-interactive:hover:active { - color: -ms-hotlight; - } - button.win-hub-section-header-tabstop.win-hub-section-header-interactive:-ms-keyboard-active { - color: -ms-hotlight; - } -} -body > .win-navigation-backbutton { - position: absolute; - top: 50px; - left: 20px; -} -.win-backbutton, -.win-back { - display: inline-block; - min-width: 0; - min-height: 0; - background-clip: border-box; - box-sizing: border-box; - border-radius: 50%; - border-width: 2px; - border-style: solid; - padding: 0; - text-align: center; - width: 41px; - height: 41px; - font-size: 14pt; - line-height: 37px; - vertical-align: baseline; -} -html.win-hoverable .win-backbutton:hover, -.win-backbutton:hover:active { - border-width: 2px; - border-style: solid; - border-radius: 50%; -} -.win-backbutton::before, -.win-back::before { - font-family: "Segoe UI Symbol", "Symbols"; - font-weight: normal; - content: "\E0D5"; - vertical-align: 50%; -} -.win-backbutton:lang(ar)::before, -.win-backbutton:lang(dv)::before, -.win-backbutton:lang(fa)::before, -.win-backbutton:lang(he)::before, -.win-backbutton:lang(ku-Arab)::before, -.win-backbutton:lang(pa-Arab)::before, -.win-backbutton:lang(prs)::before, -.win-backbutton:lang(ps)::before, -.win-backbutton:lang(sd-Arab)::before, -.win-backbutton:lang(syr)::before, -.win-backbutton:lang(ug)::before, -.win-backbutton:lang(ur)::before, -.win-backbutton:lang(qps-plocm)::before, -.win-back:lang(ar)::before, -.win-back:lang(dv)::before, -.win-back:lang(fa)::before, -.win-back:lang(he)::before, -.win-back:lang(ku-Arab)::before, -.win-back:lang(pa-Arab)::before, -.win-back:lang(prs)::before, -.win-back:lang(ps)::before, -.win-back:lang(sd-Arab)::before, -.win-back:lang(syr)::before, -.win-back:lang(ug)::before, -.win-back:lang(ur)::before, -.win-back:lang(qps-plocm)::before { - content: "\E0AE"; -} -.win-backbutton:disabled, -.win-backbutton:disabled:active, -.win-navigation-backbutton:disabled, -.win-navigation-backbutton:disabled:active { - visibility: hidden; -} -button.win-navigation-backbutton, -button.win-navigation-backbutton:active, -html.win-hoverable button.win-navigation-backbutton:hover, -button.win-navigation-backbutton:active:hover { - display: inline-block; - padding: 2px; - min-height: 0px; - min-width: 0px; - height: 45px; - width: 45px; -} -button.win-navigation-backbutton, -button.win-navigation-backbutton:active, -html.win-hoverable button.win-navigation-backbutton:enabled:hover, -button.win-navigation-backbutton:enabled:hover:active { - background-color: transparent; - border: none; -} -@media (-ms-high-contrast) { - button.win-navigation-backbutton, - button.win-navigation-backbutton:active, - html.win-hoverable button.win-navigation-backbutton:enabled:hover, - button.win-navigation-backbutton:enabled:hover:active { - /* Overwrite default background and border styles from BackButton control's ]]> - /// The BackButton control itself - /// The Back Arrow glyph - /// - /// - /// - BackButton: _Base.Namespace._lazy(function () { - // Statics - var strings = { - get ariaLabel() { return _Resources._getWinJSString("ui/backbuttonarialabel").value; }, - get duplicateConstruction() { return "Invalid argument: Controls may only be instantiated one time for each DOM element"; }, - get badButtonElement() { return "Invalid argument: For a button, toggle, or flyout command, the element must be null or a button element"; } - }; - - var BackButton = _Base.Class.define(function BackButton_ctor(element, options) { - /// - ///