From eec593e3139b8fa3bb611daeeb1f8cd01fa2ef2e Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sun, 9 Feb 2014 10:22:12 -0800 Subject: [PATCH] Add ButtonBar icons Summary: Adds an icon set for icons on button bars. Test Plan: photoshop Reviewers: epriestley, btrahan Reviewed By: epriestley CC: Korvin, epriestley, aran Maniphest Tasks: T4394 Differential Revision: https://secure.phabricator.com/D8170 --- resources/celerity/map.php | 4 ++ resources/sprite/button_bar_1x/calendar.png | Bin 0 -> 4124 bytes .../sprite/button_bar_1x/chevron-left.png | Bin 0 -> 4124 bytes .../sprite/button_bar_1x/chevron-right.png | Bin 0 -> 4124 bytes resources/sprite/button_bar_1x/cog.png | Bin 0 -> 4124 bytes resources/sprite/button_bar_1x/home.png | Bin 0 -> 4124 bytes resources/sprite/button_bar_1x/pencil.png | Bin 0 -> 4124 bytes resources/sprite/button_bar_1x/time.png | Bin 0 -> 4124 bytes resources/sprite/button_bar_2x/calendar.png | Bin 0 -> 6497 bytes .../sprite/button_bar_2x/chevron-left.png | Bin 0 -> 6497 bytes .../sprite/button_bar_2x/chevron-right.png | Bin 0 -> 6497 bytes resources/sprite/button_bar_2x/cog.png | Bin 0 -> 6497 bytes resources/sprite/button_bar_2x/home.png | Bin 0 -> 6497 bytes resources/sprite/button_bar_2x/pencil.png | Bin 0 -> 6497 bytes resources/sprite/button_bar_2x/time.png | Bin 0 -> 6497 bytes resources/sprite/manifest/buttonbar.json | 46 +++++++++++++++++ scripts/celerity/generate_sprites.php | 1 + .../celerity/CeleritySpriteGenerator.php | 32 ++++++++++++ webroot/rsrc/css/sprite-buttonbar.css | 47 ++++++++++++++++++ webroot/rsrc/image/sprite-buttonbar-X2.png | Bin 0 -> 2075 bytes webroot/rsrc/image/sprite-buttonbar.png | Bin 0 -> 859 bytes 21 files changed, 130 insertions(+) create mode 100644 resources/sprite/button_bar_1x/calendar.png create mode 100644 resources/sprite/button_bar_1x/chevron-left.png create mode 100644 resources/sprite/button_bar_1x/chevron-right.png create mode 100644 resources/sprite/button_bar_1x/cog.png create mode 100644 resources/sprite/button_bar_1x/home.png create mode 100644 resources/sprite/button_bar_1x/pencil.png create mode 100644 resources/sprite/button_bar_1x/time.png create mode 100644 resources/sprite/button_bar_2x/calendar.png create mode 100644 resources/sprite/button_bar_2x/chevron-left.png create mode 100644 resources/sprite/button_bar_2x/chevron-right.png create mode 100644 resources/sprite/button_bar_2x/cog.png create mode 100644 resources/sprite/button_bar_2x/home.png create mode 100644 resources/sprite/button_bar_2x/pencil.png create mode 100644 resources/sprite/button_bar_2x/time.png create mode 100644 resources/sprite/manifest/buttonbar.json create mode 100644 webroot/rsrc/css/sprite-buttonbar.css create mode 100644 webroot/rsrc/image/sprite-buttonbar-X2.png create mode 100644 webroot/rsrc/image/sprite-buttonbar.png diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 5d8e648f1e..b50513ba5e 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -151,6 +151,7 @@ return array( 'rsrc/css/sprite-apps-large.css' => '0a453d4b', 'rsrc/css/sprite-apps-xlarge.css' => 'db66c878', 'rsrc/css/sprite-apps.css' => 'c3857e4e', + 'rsrc/css/sprite-buttonbar.css' => 'bbec51ec', 'rsrc/css/sprite-conpherence.css' => '084b1f13', 'rsrc/css/sprite-docs.css' => '7ea4927e', 'rsrc/css/sprite-gradient.css' => 'a10def53', @@ -305,6 +306,8 @@ return array( 'rsrc/image/sprite-apps-large.png' => 'b0aa7d64', 'rsrc/image/sprite-apps-xlarge.png' => 'a751a580', 'rsrc/image/sprite-apps.png' => '35052ada', + 'rsrc/image/sprite-buttonbar-X2.png' => '36fcc19d', + 'rsrc/image/sprite-buttonbar.png' => 'e488cf8d', 'rsrc/image/sprite-conpherence-X2.png' => '5ed80fb0', 'rsrc/image/sprite-conpherence.png' => '7146f76f', 'rsrc/image/sprite-docs-X2.png' => '520858fa', @@ -778,6 +781,7 @@ return array( 'sprite-apps-css' => 'c3857e4e', 'sprite-apps-large-css' => '0a453d4b', 'sprite-apps-xlarge-css' => 'db66c878', + 'sprite-buttonbar-css' => 'bbec51ec', 'sprite-conpherence-css' => '084b1f13', 'sprite-docs-css' => '7ea4927e', 'sprite-gradient-css' => 'a10def53', diff --git a/resources/sprite/button_bar_1x/calendar.png b/resources/sprite/button_bar_1x/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3f3462bbf870bd00ea876bd22b7902c01dec32 GIT binary patch literal 4124 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 literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_1x/chevron-left.png b/resources/sprite/button_bar_1x/chevron-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a34ed901b5355f8f3a75e0533b19e8065a20bb6e GIT binary patch literal 4124 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 N8k{wTl%BDV{12p%3C#ci literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_1x/chevron-right.png b/resources/sprite/button_bar_1x/chevron-right.png new file mode 100644 index 0000000000000000000000000000000000000000..b6ef1b019a1c89daad894f234578af68dba84cfd GIT binary patch literal 4124 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 literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_1x/cog.png b/resources/sprite/button_bar_1x/cog.png new file mode 100644 index 0000000000000000000000000000000000000000..7596187aa009c817cb740260ba4c2dc010c1d8f5 GIT binary patch literal 4124 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 literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_1x/home.png b/resources/sprite/button_bar_1x/home.png new file mode 100644 index 0000000000000000000000000000000000000000..9e37a1b621d94846dc237d312c5305c860da4e1a GIT binary patch literal 4124 zcmai1c|278_rGJZXG^kVee9K8iN;bUOJdB}A|boRmXR!3lPC!z`@R%1%0nn)D`PBU ztc~nhN+wH4$o8G-`{?U=ey{KMcVDl2&pGe&exJ|hoX`E^-WX#eT^1%jCIA3f^!1{XKQ^Bqm%IrYJKbJwm(Y$-St`)b?^6EtYKwOHA$F*|;1P%Z3@ z4D63~$l>&5fnF zr&?DC^wDR5v6(RAa(D-1My9)<%Vre#GOrV7A0Vw-^~#M2!wq|vfvS5 z3u9rYZ%ISjgIqx^@C3lPWkGeNO^mh?ZOfm?s>LR3!|b2e3&aA5i`gkh3!^as2)k$) z-9txs%!9L*Ry;3yBvH6cw0)Fso2u&D;>lXX75-#-Li>?>x}YAQZLCN&Mp|2=z4Zuu zMGW8%bC)3+M4QjpNOv)&DH9SprqRF^8pqqo%8-y~?F!}x_qXy1o7k6!fSOY>yj=W1R{ijG|0Szxv55$Iu zZq}x`v`pW^p6@Rv#{K*A2~v?ZV`2p;xousbFP`f=&w2d4&WE5*oOpec-LAP)>qZKA36j%0>>e5e(9 zoyI;PTKO_qNL4EAsFFNAGdzl^ti{T`#oQh5xgCAiwF#ct!fV~+WQ`Z_&1dfJxv#<_ z%n)(0m}58+bp6s54%SHK$%`AD*P(|wV1*pK&@&EK}EaB&N#ypF&p!6%-XEtX;tW@e`?*37fYP9U!3zOh*gBU`?w zFI^h4au4!j2x7WQv>}e;Je?<;8xbZZmFCQ*1{UZN8H?v;=ZgGn7X)-Ol#)4d9NwQ% zrK)S0Co^Zs9b|Lzd2;`N!TaX}Y$djcrT509mn4SXk8XtiV$#|CnRFYbo5}F8VUgiG3ol;XcFiFz_FX4`_yV1qA)9{L zF77YyfA+lS>(h*~b0#%b>#3g41dCiS+(jubYA!70jI-h^Y{h+kEGrc3 z{oPBaFrglf?R76$(BXdc^O0e!Xsmea@mLt|dis~NL+LZ=WeTdEeGa7_WUmv7*Bk=h zewVgLIo{GWTRvOuvqgv{{LwYzJVF@mq9b?^&;;(ZC6z{(Jo`zf1gDDDd|ZBa-+)j4 zC;m>g&WW-l47SXtjAZ%Bvi?q-4 zPT6kH$}y*)zVR^)e8cc=B6#lOq_EG2`5uKRh1Q^0|I1ye8FB7-Vf+!i8lK)^t+h4w znsW8^`PG}r(|vdh-{6_WN_3q`LqF@Yb3`j5XC}9*ifW^8#qG&D(>iOE8H(k0*3$5o zpKrUG4Zl?57Lx0#x1j6di!zHj5QuuA;1(nhBBQPZQ3)9T-naZ<)#~#tQpTjfy!yme z@p_ODn^0Q!`5et)f#B6U>l=QLYk1}O8y&VqHBp+`6K5KYLd!#=_SSc^K+Yg+SbEs~ z@MGZ-O4aEAj!$tasuZdwF+F0CVe???XEI zWwCN^)$RSDC^1n*H6OE?E~#m$5K|A+i9_9tD9I|F$^y=O6&=mkipL49%7$W+Mya)d zQ)Bw(=oU1eJ;!mbI<+4*nTFQzQ8{!PdRoE)7Q(;8uPNCebN<}*z_;0vDlyG5Cyy+N z4N0`4trFj(pNS1hG#WA*mRz2@ERdq6vUVZ;db$)wA?rzYW`k1w-t(6)NFnb}qX!6lWonN%x_oQ{vgk1XNF~#X4=4`T?@Wk^mJS#jn)KI1k|n2t(vT?b4zhK z9_8mi#;mqr?n&HJVm>Fvny9Gnk^t)+&ew3O@^w*wLtfRwpNgW}WIH@QO|%ImZKRl{ zU^5aR(><5F(x%e5U52`?)V}Jw`OmRc&JAr3$)E_IPi3y!dG?HYtVRc~DrPAWGtoEkpuxkI z{KofPU-zeol~pbyE;BBnl;xDHJ>q8F+60Six7B#VTL)b76T*|JCo1N&Wy9A>EG?}z zUDsOPuOVxZ9fMe#bHNL*Pt=rRzM7KS2XB=>ww$PK_IcOABBb)!9cv?CT_1|>eOi<; z?s?3;;ZJez&IU~D)sxjB8#do}FdiHuWMmn#v|6bq#XS@&8lXGEW}`WiRBAiBfKg`a+ky2jNcTU zYsF-kc>0YW86`Jlg>K=z#2Z;gExl82)@*0D)|YPStRr`w)?e&o31;C1BQSy zbhmZ8L*#aM90sTGHy%IFPSq$`@SD>Z<{U?D&RM|fvh}lBz9;YGZQ`HKR(FT)Dt+sI z7+ey3O|DRm&Q>D!G#WX+(=&dr_miKAFv|Es&ik7JALHcKNKg?IcF<)=lzPXC1Y z<)mxqhBlnLB7atDQa=Cyn1Hk=wAfMF;v&#+3W$r?LoE8h6(e_bdXJlJf%5UrW@jNB zUj;0tl_caIYul-N~YMcA5?h}3`4}u4MYLEY(>OP%fDgA~)Au{3AUG2B{JH3znUXu#! zgZr%C$$j8&_A$tN_xEWY%usfgONpr?`aQRUd8+?6;Q_%vdH<)tFX8_X{MQ1%S3Eel zf3o-EgOfP44<57!3IDC&{~q7LYX9(mZ}lJe{~J<{d2i3G)r(9lFZ83b^)DJh%P-hP F{0rI%zUlw~ literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_1x/pencil.png b/resources/sprite/button_bar_1x/pencil.png new file mode 100644 index 0000000000000000000000000000000000000000..9774c10a0d08bd677786b6c6c707cc99166bac8c GIT binary patch literal 4124 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 KR_Qsr$o~L_7#73; literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_2x/calendar.png b/resources/sprite/button_bar_2x/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..ccf14e0a59b79c0b51de4a4b56d7077d7c052c19 GIT binary patch literal 6497 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 Kz{MwQ!~X>{Bu7I4 literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_2x/chevron-left.png b/resources/sprite/button_bar_2x/chevron-left.png new file mode 100644 index 0000000000000000000000000000000000000000..b28e46eb3b9936d2c556467f17d47e78679765bd GIT binary patch literal 6497 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 literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_2x/chevron-right.png b/resources/sprite/button_bar_2x/chevron-right.png new file mode 100644 index 0000000000000000000000000000000000000000..cf84011ad74b34a75944ceb5fa98b70944984611 GIT binary patch literal 6497 zcmb_f2|SeD_kV^EvL#uvzV^zlM7EeL$u_n~$S!L}vZN%5k}$F_WhrEo2r;%Y*0F13 z&r-67glzw3dX1m7_kZu_bLQN8&i$V6x#!;J&hrFmX(&^WF_8fPK%uGvg@KwGCp(D& z0767IO#lu^T~rL=06mCfSj`3msCvMFN`t)bbwk zCCE9+#72WrS63T(I&}>oI#c)}wpu812O5ojBgaPI0Vmu67+)Axo7zYLLI+11Qk3f)i0fCLU&*KmpYwou3`$Hqod3d<5S*J`M%kwh~AZlX8L)c~p1 z%0+75Q6jz^Piecu<)lRA0s}VnKnUQAIK{r3F#Zs*vLq=DDSu9EcJkP<`+yb+(2Xg3 zZ@I2628SZ5>sfo;$5FQE(ubKgnF_A_zb+|saFkVu1hoD z@uK<3{UY5=t@zXrif>gcD`v%CDDFqu%MwP!n#y;T8eQ|!LPcACU+Y?)5R2k++toa|Nd@ng zzL%cH^8=X}VQW6IaK^^GeKQrx9JAUx`JwBOTS~J2p^9W2l`my3wOB}7y9u+3W{XKN z7K8=&b6mHLK6EBeL|4MZpHf_g)REOIs zcSVJyB5Y;PK$}vcTK0|hy2C zV@heD-{&`Iq^s_mfB1@ITh- zyWf*~N%gs!r~Gjpv=UmATbtX!>VBQqU7!6A^`WC$2M(mR^wZaT@L948h@i>7gT z2hWt8k3SGUGFCUHKXz=atzGTaqjstcQ`qz?E$kEQ&XzZJn6`B6k>v9_DW*E7+YH6@ zbLHVN?^qk)vAsqI1?-W+0#~u-$VsDzd8~FiU3a$D+okJIb=xD}3##twU{|)ZMFilgQy{>wKisC17Ch%eH`$lnYABA@A-8 zviZ1tbXH0YE73-^IHXJ}(ck`jTRoUFn7e9UuqNX|?E9D%l25 zCQNs||NNq%Lj8R{dNQ&&e;K;KJtZ)eBrPqI%DOD=B`qK$CN1IF_px>6=A6;H3)r{; zmI;~u<@5z_HY&E5rejHRJ}f?SmlhV??-Vc!F_&4aaLU2u68jIAXaf(X0>J2yW4e?#pb=2+O(L@U8%~Q%vp-q-hk_*nc6ILaz z&c&+{UFbE~tE!KvL@=4t?4v7|`eYKXZmiuSgor^5@fc`cW}ar2<1H09cJ!>*i$s5k zpo*XayQjH2d1?_x;ja)6xjJ~t)JfGdPL7^riIS3-SBO0u%ZC(6xSJSXDps=o=*eU3 z&qCXBxR(ZIZol9f~4#L$fo z9WzO!1Vr{bWEAAirhQP2G}X7#znE|OX>1}f-Zwro-b6dlHs$?sC(9{pPl0ESXYnlY zoX+e5Js+Lr9%dT*pt(xqb)M^Dg}`h#8Ebx9My$k{VaF^BASd9qnA{6o6yi9gLqdb87B!oD1}f z0eAH@##Fk@{#d17FS*{{cLFOH!rGGSjz2EbSSqs1nHeOy#pXjhqke|*;YlNRc+hk> zvcI+eW~rm;SdrVy)~2_9vvYJBbb54bQ8Q5q>y1mr^ZgWpO-6mCFD%fJcQJPd?@H(s zWp$m&Ff=q;vYoGdHE&;NU)O;$IqEa{e1AbEa$FZ%+i@ZLj$wach3m^Y3O0#%4k!~A zylC=q73oORJ!YR}pP4UK5an626eK}{TET2MDVtSHZe@AFrb7wU6^?Az|VUaxj4_=l9uUd6z z=cc@>cDsW-lI?nFW~PERjrVgLcS8wpuBPm{m_FAL-LVXNB;s_prgD<3H_r+tBmZ7L zt<7p9tIP;|s>bv290k3!V7sYXna85Rf+!3K^&4>|{ukH%}#j-U;*1r?1P_{%*cjx5$O zm>q&7rCz&67)L@PHwmP7%fnlmvq^SMhW5u1mOtLBw&pnUSx!U1t|+YiQw;be!ET`f zQwIRY3jhGW2LLO*0C3F`09@V!z=SOT2+INhb?ER!%ozBA@l+LhOxFVfK!M_Q$ol#^ z2>)NheU^M_9)Sc5Wm1^C@4+arKz10a1JjPkEsyzxLC6ma-I z+jb0qj~wV>2-$(p4K%KSeF)BoxBZ)5Js|#ddRyFIx|{371qKE8;kMZ}ouK72DDzt< zY&t$>9C5c>)xE2L1{N);<>mYHVTnA^0mG4)D9+Z-BoG{w{DM)szj5SEukDoc=Bl zEXoJaN3~_*UT_KHTgKl4e+PsM@D(En0_|r$rpn{iBDvkZUe^( z;K7>MW(R)jl;S~PS#d-~plrR3@NS&O5h-rJowiQ+EyDkT2v7P`!vB&8Px#9{1WCcS zV;~Zgt?!G!EFGR;yZ$919TwNdwt|`8{{dZTx?}(V literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_2x/cog.png b/resources/sprite/button_bar_2x/cog.png new file mode 100644 index 0000000000000000000000000000000000000000..c9362b8ecae7c9ec65dbc61232e3e5734ac806a3 GIT binary patch literal 6497 zcmbtY2RxSD`@bKuvyxEeYeZ!$Bdf?r_KJjTnIRb&Nuo52>`_J`ln7Hx_MnUoko zP(W<2mlYkA$gnrp@{p#15eOP+79(aLmTo9x)&`Ch5O=lq&~z1({+ zkf7kiZZ=x9y1Lrflj+L{(dp9Kghs)bZT0o_@8#GCyxa-5AtvWPsB$eY&D^{%e-cd+ zDuKiYS@@&mSGTt_S1Rr!WXwYj*fep81a?r$D<>qxPzlKrw7=9)S0jnrjd+M$wNOK( zI_s8b0>_DX3%sT64^@*9Rr3$qwjei=z^Ie#I|!2wBCE@i(x~cZ#O5cC9Jz;Rksxo; zRiCXk)J5GDqZ(US!>;GuLB83bdIIO?#u|y^VTsB)g-=d zr5$!n!pNBMQTtx^`sFB#5RWEF$=a;pQk|2`F+%8u8)wVyr_gpVWD=Fiv!bcUWnptxHY%VzgrAvn7^PD57IKu9mBay+w??grH(=1xM zZxLZ=&>kLRv7iaka^)ali04%lP@Jluta!gKCHOK4-xH4DbONSU6%@5j zXpI8F@mZ2OnlvviK}Km64n?xMC9xo?0hS0N)(qZDH1$m{ELF7S_jIlo39=}xbX_Wv zn>y;-G5EsUWMMc5Eo8$h8p+gJv}d+PnPX0yluvO3bzMm|__hK$N8JmViyfBIHXcH( zBKe|HOeGQFLmXG^;trlJQu#qWW^zJt?}uyIq!DDoJ|U7t2d9pfb=4HHO=!C2{j6RVr$@waJvb^s1c&fO4#pGX}(Jk_5Jw!H`bLV#v;KTNOd52_dPRYWRv6#+$kzVLZKZ(o?B<^SZCna=)4+w*{)hUsgB8{+S;U%#UqWP zt^KMvBRgr(u`JsDVAPr8CuymIDTa?N(VbD;POF(g%cOXSgXcpX^N2%QP!`vr9dAR8 zNA`}8o{N-F_Mj;VBT=NDja-t~;Y#f0xS{Ic#yozEIHJSqFUdP-p6g9IZo&)WF4B=_gZy9 zXU3i2VVGLo* zE&7&`0;^n+9^xL;9O z3UA{+ifCKDM_PmT-ep`=eWvCue@wStsa}&?o7>R(UbD{~zkLt%r*q16^z{!KE*K=| z?$bGa_qpjp;Dpg@lAM`7V@F?4QeW~@t){Jm_0Bd!HdQ*hx`hT5dTNGI+5CnN^$%xy znoY4NCyK_<)zi9ua?g=mNZOw?Hqks`FmYs}t6S~$!*1$qGo6{&T0M_@NITx!qr0+t zB+}05rkm-W>M{~FD3o`P|HS&rJz>E30KY??5dWnfi@Yi02Su#*y8XNQIr=Y7J$ib< zF12U6^UTDX&x+$8CiFh9W_9IvJ$RV;<$hxBVcinr#W?2&teLiX44JWyN{-Il9i*(F zP7hZmy0PP?vDDe2to`YO6SsP(yBQ{8zs&SjDI=mnyS&3OeM*Vp#*Z87;hf>z4ST{hnHCd1$8Ssc zkdP}Z>D+0V<22#2Pvo?vPwh88!`MA_ug3DnirrSw;po3!eXx0p?tev$c0xy?8RBQe zt8DLC3|mK77c`{Rr?qurzm4@+Hln$so7O--%_YJ;`H;*{J;YjL?aQ zXGlhq-yr3ucB1YgS0jJR=qdM3TKaIgK)GP8jD@G7I~S*jl$-vCSG=RV{(4S&L)+TO z-1inK6{gdri7Uy47u(EBTKcKI2oH5-c886SjZH3|Ak|%P8Z>*HI6+dU>kU$<(t?jGthMl@eb# zns6q8H%~bEPD)axXvN0E$B%maUmvXZJKh()N7w0oYm$$1!f?^5edGOynq%s6(KSsf zFW*GXMliHI9A2XOaFY#*=oAyU5R&rci9~Ayzbm0124VRPG(w%u=%>YD?C?3DGqZ{MT)4}Mrd~Q zr^(tEdDseTOFu2uzRwxeB+%^iaj1zcdMQ>fwmdOHdbIt-tN4+42HU9X)Hgt zFPI%6y3XcDH>-Y{>A?wOPxr8y$h@J>p=*^+W)sgnUUas744Rv#*Pz#@XN#SUP2Ol- zE?XF)6lgOZtgN-HkGX@sGjd1VfGD^BbheR^@v_}Q-RlL1QitZ=a?`_pQ_uF5v`FGKL3`{P-%_Zi)KnT@lTHBrYt5E0Z|?IGZP1$cR5x*;dX7Q%xgHczu14t^xImV z6Ybjxhg^r8V$qUV$AEH9Z{@etrgGiWV(*L!=DP%D^IHdI%T77SI5;daP8n${_q_b# z^IfCQce$~hZO@|Q^xI-HmwV*~NE@>1@|pS!KrDr<=SV%~LW+3v`=#RCz5KE}Bu7 z_!jk=&6Rh1^{u$+HZI*9H6+MSD&Ot1fPR|gz>u%`eDECSctc*IuCwRhj&~E4$pI_% zF5Fd=?~Ghy&y}pEG*slQC@ngyTQ5FZOJ+@OWDS-rT@o4|PF7x3Zu1vhU$g8TX*_%D zVM?5A_LS$iY(L$g`|`M8Y;61>Bz z-UvdD#NQz*e@B#+iRzC<(YLm@X1<{h6FfD#!9YC)e!Nqg8?xUnLPG6{i^T{HC=gFk z8WMJ4nv92EnldHojq(K)j2-!^y~HJ!niA(5Lxvfj$OceLk|Y@fP4 zlt@_pXqVc$)7TF=4SxIQ5#8V8!IuQPrHYO^f;gQ=5cj(XvO0hum#q-Q^)rG@+98OL zEP~M7{xBIo0X{IEs45=O^FkqtNZAHzV`BrP|4s0-1n~-eumKtBn*dZoy^K&${v!oo zpokdKvbEYa7>ug|lx^4wAbbP4aP@u}ra7<-k*uxRAbtVl(*j-xd8?aU0k{YNQfwhi z^=hmWwp;;>BTOJ@(1M60 z2m*yn;UE6CJG$I0EAB%%H!AoAin_K2^emAcz)qS-?Fq= zYz9&gFx-ET3PF;_PZe`SpaGJ)fH;74{6WHwn+F#=M;Hf(*nt_gEnXtr3{rq$N9<|e zdc)w~58&?Dz~0aJI9A^>N4zfoT@@hiSpL6f|M&X8jo5q>{nqmb5Ili0;8Mi6%fX@@ z`$On&;or^>6ouP07cd)OM^Lm1U~n&30=@$npB#XZ3}Ti+4BU~>KMGh6VBdkmlMR`{agU}6Eyxn(3cMwdzZr(n>(h~mXzNvDU84b zqrkG@&Jn=iQp4rMzQ^FfhQFh5O9x`$s%?3T0vktvY>12aMF9m514teNSA%Btzl8ip k^MBp&KUVt}PO#P+8${wYokhpflwiE-F%8B1qvk>X1980#-2eap literal 0 HcmV?d00001 diff --git a/resources/sprite/button_bar_2x/home.png b/resources/sprite/button_bar_2x/home.png new file mode 100644 index 0000000000000000000000000000000000000000..94a1e9b1e9bafc546b07a9a1141d3a0894b506bc GIT binary patch literal 6497 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 $generator->buildAppsLargeSheet(), 'payments' => $generator->buildPaymentsSheet(), 'tokens' => $generator->buildTokenSheet(), + 'buttonbar' => $generator->buildButtonBarSheet(), 'docs' => $generator->buildDocsSheet(), 'gradient' => $generator->buildGradientSheet(), 'main-header' => $generator->buildMainHeaderSheet(), diff --git a/src/infrastructure/celerity/CeleritySpriteGenerator.php b/src/infrastructure/celerity/CeleritySpriteGenerator.php index 3ff0217b1c..95102cf5ce 100644 --- a/src/infrastructure/celerity/CeleritySpriteGenerator.php +++ b/src/infrastructure/celerity/CeleritySpriteGenerator.php @@ -343,6 +343,38 @@ final class CeleritySpriteGenerator { return $sheet; } + public function buildButtonBarSheet() { + $icons = $this->getDirectoryList('button_bar_1x'); + $scales = array( + '1x' => 1, + '2x' => 2, + ); + $template = id(new PhutilSprite()) + ->setSourceSize(14, 14); + + $sprites = array(); + $prefix = 'button_bar_'; + foreach ($icons as $icon) { + $sprite = id(clone $template) + ->setName('buttonbar-'.$icon) + ->setTargetCSS('.buttonbar-'.$icon); + + foreach ($scales as $scale_key => $scale) { + $path = $this->getPath($prefix.$scale_key.'/'.$icon.'.png'); + $sprite->setSourceFile($path, $scale); + } + $sprites[] = $sprite; + } + + $sheet = $this->buildSheet('buttonbar', true); + $sheet->setScales($scales); + foreach ($sprites as $sprite) { + $sheet->addSprite($sprite); + } + + return $sheet; + } + public function buildProjectsSheet() { $icons = $this->getDirectoryList('projects_1x'); $scales = array( diff --git a/webroot/rsrc/css/sprite-buttonbar.css b/webroot/rsrc/css/sprite-buttonbar.css new file mode 100644 index 0000000000..5d96425d50 --- /dev/null +++ b/webroot/rsrc/css/sprite-buttonbar.css @@ -0,0 +1,47 @@ +/** + * @provides sprite-buttonbar-css + * @generated + */ + +.sprite-buttonbar { + background-image: url(/rsrc/image/sprite-buttonbar.png); + background-repeat: no-repeat; +} + +@media +only screen and (min-device-pixel-ratio: 1.5), +only screen and (-webkit-min-device-pixel-ratio: 1.5) { + .sprite-buttonbar { + background-image: url(/rsrc/image/sprite-buttonbar-X2.png); + background-size: 45px 45px; + } +} + + +.buttonbar-calendar { + background-position: 0px 0px; +} + +.buttonbar-chevron-left { + background-position: -15px 0px; +} + +.buttonbar-chevron-right { + background-position: -30px 0px; +} + +.buttonbar-cog { + background-position: 0px -15px; +} + +.buttonbar-home { + background-position: -15px -15px; +} + +.buttonbar-pencil { + background-position: 0px -30px; +} + +.buttonbar-time { + background-position: -15px -30px; +} diff --git a/webroot/rsrc/image/sprite-buttonbar-X2.png b/webroot/rsrc/image/sprite-buttonbar-X2.png new file mode 100644 index 0000000000000000000000000000000000000000..b783ef45a0091bbe002ffde22cc520d9b4b336f2 GIT binary patch literal 2075 zcmV+$2;}#PP) zU5Fml8OMKyuq?TdD5+l;nrkg0+Ac1JRHcHo5tSg~K*5Vx8>1o$nVfnNypWSAi1Z^? zTPuP%;Dr+MQ3^uZN{C?#euOAqNfi97&=O<`OL*= zInVy{yw99D9}^fDm?kbLtBiH}JwT$O(soVTHzC&P2H*`~f1;wp9rm*g*ad7)RJ7RE z-n#ZK^@oUj2)G@1L&WH!pKWCSn70Fmq~BIdL|&}Z4}q)O8ZGcqqM~cs8Zkt^)hJ#f zi#TtQZHPQ$6dwidY!lhVi1sbA7n=@|Arr$}WIIGg`fU~2!KaQAk^82V*g*?jL1eF~ zL+or9yEYn&-P!1%Eq#kz=-ZV-a%$)7AcbB{kqsZbid`IaeBaJJJ9Wm@A&6}F;!W(J za&$-{gWsGTjL@Npoa0OEV1x!X0GE{1p9Q|@$(JJENdGP_A@kpfRp>-T7npgq?dK{a zD*6_<1vuqsav|_mtkbzVcH1KTy(RtII0f7y{yPaNqJtCLm&g#{s6+hN1pFQNp`*ze z;I>3X3vGQX@xhzO5LiU#tafDk78wG{(H0+8MeHs_hCm}ar*E;l5*Y%`(M2lc><1GS zz0{@;>1PMs0sAw=bL#9qV)*ur5*2IiqX__z&ZS$VK2Hb6_9qbUiRiR5bG8 zpvjcm2ly6P0PZl#{s#QKX=IDYf2`O%_{g?J$~xeRLfIXZ z@448-q{xVkMze#lP9LYb$glg~pueESc1`>r2M#)} zISZVSAJ^`kgJPo=B63pqI)h-vcHInT0NaA+?|{n_70o9qng=eIvLZL;H^{2QI{h{6 zM9v9PY}?In7I=W=Ir0yQiXOEYiFNv0;ITsSF5u-vMP+-|^6NFQr;5Wh2qz5Zfcb%o` zJF$7Rjg!;B`G}U`*w19H;sGXi?97sl2p)3S(JW6n4+5_=8B0$i)~}ch%{~P#D^&dn zi1U0ck(>a(EVTOyxT@|d@-(N8ve~;sfbHn-65|`+b=XfV9ZpnqXI*DpLc4^k+kQ21 zJ+N%WE;3}o&dHDKp=6ub7!Z~TEjfC>2iyC_)&Ta19s!>e$_@fwl-T(Kc(YLUiP##z zK6^I;?k5xXBydxrqPu{ru#Y+(BD?Wz2j=CP!@&K%R#~P2*X-RQa1U@pJ_{$qv{%TM zuW}YKhH#0BP5?Imclmfd&NSi7p%RUwLfKNR)8oKTrRaEZ2sezI?KHVr?Ik8)hzmBnj*5?W-p+D1?i zbdK!Z85b4~$mf5!Q)J;;CI$NqFz*r>K9Cctj_I0Akg(haiFQqu}AD#;`Jwi>xoF&23Nc&dS0ifmWZ zoY+#py$$SiLhaO1;cYN=?QJ9*!sVzYD>HJ9`7OA+Y|~HQ)DpU)$mdf>MYCHNf3r@P z<>Zx+YfsC^^=VyOdDT2TlI`HqI-;F^Q~XbZDchf*R7S!U1fS$LdDNwVUPRIk6oCO&`I%WM!n z*6Ak8Tt$&CZhV^YW}P`E1*^(4jOR*54Q+Hr@x6CX0QcdZh3jl|5$kk6lXKAffTvb^ zN;D#Qw^96jqM}{CeQZPVD|#>Gvv6Gw;hvN}a`pi4l;v!xdxuGp7sOUjnCA?y06sVB zinDM_U5}IhFDCwDojwBmzEI!WgNWhBR4!$i6l` literal 0 HcmV?d00001 diff --git a/webroot/rsrc/image/sprite-buttonbar.png b/webroot/rsrc/image/sprite-buttonbar.png new file mode 100644 index 0000000000000000000000000000000000000000..1e3dbf2ce78dc004ff34a6bb6d9c6ec78723f8a9 GIT binary patch literal 859 zcmV-h1El5JjJaoMX9xz-d5{8<0vcbmhU0Do}0&Pk~PaPk}0s;{&gbOOP6{tOjhjfjDl! zIdE1QQA=`3tzyUU2Lw{Hv$LOr*_qje{~ckRKG%`&Vf~+BoZg0U+9}g(iSi%dql4Y2 zBnl237ViKvV39<@nJZ!7RQ@i3K@tUzHr=*7T?jkrDZ*XgRLImt7nl`!yw$*9A##Kb zE*p9q3OsJY!#QS?D6oF$u7s7HO5*LUSqCV+;VvqV3H&J(1b9o zJpD6PjNDNMZAHWfCB|}4C z0h|NlvQ1*iwT()76||=(vfvGC!pQrbjBWG)8WzIPyfrO_CjH$(->OqU*uXn+O}eMv z=fI)-<^?)HC1C@v#7%LT0evMuG_fnO{#%XBlPDO}Agtjf#y{*bSqPlD^e!%KfGgT! za6pzN46egC?TDAJm3(Nt{F2a~Ua0pzn;~J-u|j)vUsn%$Bc40xyXfp4n)H~gHT=wG zs0>ARN$%M5QdotDWDB#i@54Bqi~N_!yjQk&yctLeJbGy!;CL;jj!#Eq=QnHWlRkPR zdL6P9IZdMAVt1-*RFW3LrpR=$oD(gl@F#hib7$pYwGK+J#T1!q;6xU`x2PJzbKp3M zf&=-mW07@5#|!G*VJwCCqxP7D#FWiO>N!^#O+z;F5h_+s7hJlKCoCArv#ju#v0;gh zGqy+<5H5?!9$B0h_9Zg*gry&Ef(_CQ2m@H