From d528b264a67e6c33e378bfe46557f3fe5553a211 Mon Sep 17 00:00:00 2001 From: Lukas Reschke <lukas@statuscode.ch> Date: Sat, 13 Oct 2012 00:47:50 +0200 Subject: [PATCH] Update jquery-miniColors to 1.2.1 --- 3rdparty/miniColors/css/images/colors.png | Bin 12485 -> 12973 bytes 3rdparty/miniColors/css/images/trigger.png | Bin 1406 -> 706 bytes 3rdparty/miniColors/css/jquery.miniColors.css | 92 +++-- 3rdparty/miniColors/js/jquery.miniColors.js | 314 +++++++++++++----- .../miniColors/js/jquery.miniColors.min.js | 4 +- 5 files changed, 292 insertions(+), 118 deletions(-) diff --git a/3rdparty/miniColors/css/images/colors.png b/3rdparty/miniColors/css/images/colors.png index 1b4f819d8d9367147e8b1d2145e5fa1c5d6a48d3..deb50a9ae102938cadf7aa93824d1527536b77b8 100755 GIT binary patch literal 12973 zcmeAS@N?(olHy`uVBq!ia0y~yVA#jNz%Y%2je&t7q1)&f0|SF(iEBhjaDG}zd16s2 zgJVj5QmTSyZen_BP-<dIW#P$G8wLg=e@_?3kcwMxYEQ3IIoYdv_H)_w)zPLG@(eDN ziQRh5{A}_U+gs<{>=ig>tX<Gsb}5M=*My0Ums4QblB(2cAus2A;4t35<#D@7)SgWj zUqqkSCHSvv$Gi3|hn=O?{<;7E-_CuSt3`JHS+Q!%{7t!c%l711?G4dfdZH{sGwt`w zztxdX?*DuKze@Spb9MWloweHgf1b@xDf<84^6#&MFYkZ<Iy>k8wO{9}_g=f4Z`n6@ z`Q+nofBStmEsgnB^<=Nz52=fV_r5Pbezkhzq~9;=w#7A6TCB^9e`}j}+t2>_`CE1O z_Sf(K_gMb_h5UU#)Be8nuiv%rkNMAcB`>u8JTKWNwr{P(k#OUi+y38vJ#Y7)Ir~2I z`|r1_{`=uW+J1kg%r6IQ7W6fIv8(<&^L>W=yRFwbcntQmF>2mRuHO5?rnhImZ27Oh z_hgpm&cAv8-v0H!PjN~wRoXqH{@35{_wya5^S-!W`+e@7+TUUO{{71Sc{={zqW%B> zzCVBNtLu~YV;@a<riTZJvmeimH=JOz*S_*a(c<>^_vZiWcz^q}b%U2X{~NJ@SWb)Y z^FJ1u%N9S~`k?T&w%`i?TITtm<>FWGW&0i5Z~uRtLjLXV$yytxbA8+9Yd#_WzuAg8 z|6X!_`1F1M|JvWnrC;p-^-BBa?fd`K>VI9Hf9`;N<zL<(^XKoor*$Q8arpg)zJ~XG zx=Q8WeoU*1E&TKI+4Wr6OzovMe~QoUO;~RoU}67l$C-3_yX#CBZf*}beB`kSW1ivl zP1o=AH@`jFP{Y`;nz1g^!F*mV`_FGxzxU?m@Aq%G|4(=J^!p6;pT0c3ySrTa#A(hS zPrLQ^Y1IGwJl}kMz1=t0Q~Y}Mi@)Cau~~#+ht=_W@;_#$`ZMs$?>WbCoAJ89fe$y6 z94<>r8usydEPq_~;Dq9?Me|z~rU`!dXi;su`}`iUZTZ&kzm!gY`*Tj+`mf(5m&koM zxcdFPegAIrF0}j1_vGy9@CDglKV<*iE9r34ruOglkgmnjM}K}gt^ag={omK$-v6ny ze$Miz{-t4%L>kwx#?!MG8JL{7+?X#H!|`QFds(l#Aydl%6^HZ^rR<1x>g5e`jPYk* zv$823y|{qsHj@P7zWB#iJIl8$ZLH2ckbiwkNt$(D^*4@hZ)fzLGs!CcwU+mTy8r$> zk#y#N-~Qds-+#Ap|HZkNvu$&&<3B%@F)us3Z=c<ypkLo**YFpe|M^2WUH^MXY2Ba4 z^6d$$&EwQFJ+o3gE=~V-q4a}nw{zl)?+W(=JHqWHTv=+Ke@&XOk8R3RhO!4Qc^_y8 zO?!L8Et==R(W)Qc_Wg@{y-jRGp7QB;A9X+IF27$l-)8STjdQyK=U)E3>Eq9D`O=Kr z9_t;@pWnEA`m2+?^S7TbsrSD!kG-Pi{N*&p^DmAnRD8DC>DMPWFYwV;8wU61ZxwcV zoVJ!It<HD%v{te@@ZRneLnTX1>x0P`XC}S$`TB<U&e5ux!;imTm#$rDv#)XA-sz`a zZm*YqaGLYN+xu)EiaxzbHEuff_5A;BwYM#A-%noA_x(h!!s^}W@8j+He)PObVfJ6( zsLJ@mNU)}=#Ca}*wQ-Pv)**|XYCm>K^zW-Wz}^r&Yty4bzWDpi!7Te8{^tJpX*Fxr zV(YWNqxtWz@O%1YX<l?k*JYc3->N@<(!DS>_x86c>-67u#3Suiui|CeA+TdbXS^ue z`@aX=nc`*FSBml~C0se^As8slm6yhGCgH&>RYlQL9j|f{Rw*B_GqO0K|J6?U#@hD# z&Hm20T$bM!Tnl-X<lb;JNSdMAxaD&p?~mEn*U$OKQ<luKwDBI(e#Tnwh`HNzP5Cko zTo*q6|H;+O<u$be>$FmrNvFrZTlu*D<5BV8d-FV}H-1^J?0Vc-ZU>*NjLh5Uy@8y} z@vGMeTv%1g&}g-ond|ZsADd%d{d2eVxm{d$Q^@PUYwJ~)Q%<^-uSvOCQM=S6NYl?f ze_QR<%kwR3p8l4-x^cbvs?C*ud|%z^S=y_kzUuSK)pq$i>m*e+aH(wkcIUXW?Z1HE zeS2&w+<gm5N_!42Hk&uA>3Bea(D}8`EL4jYS25~bJ}>>&(Tm0Hg3*!_FQ-Q_DI5#n zV%g|DS?T&|e{-Q3wPB0iFhwlBxc$hLcQ?0xmfE}W&c8QD{r_)Eo;GbuR%71X?S=o= z#ysTtXLe~$!~V)YOP_yq+OfBG-CN6r`|20A@<092?Bd7ri{pdphdX&fJsKM9`|>p1 zuI{^9<y&2Q<GG}VV#6{i8w~?i#@ux~4P1|X`kZFKw^cAWC}FaH*zEXRhG^b{On0>` zyDz>fUllAI%FX!iTlL*<xd+U(`oo+vy(XAF-o3(VZc%e&r0u8L^9rYuZSAzgn769P zsOlUwXt=%odP-3FD#nioPZ&&iccehiP^;Vcz-4*232gsbruU0T>aRQ!m%QLsVJUYR z^B1@1urEKZo{rAD-*9iwp1a#49+)2pKfgaj|6apAo&#!|%9wBN*e|)!??AlWzKTDA zkM=yQDKy$9{lY)~#gUuSt6%-F|8=q7=%kMM4PK)y);~Dr27Qb4?MwcmVZ@SD!rpqU z=`P!@GXfK?8)phNho9ct`DX>&g4nWYD^1NlXML$$dEih{bDBlgJ^gEk^B3g(Haiux zTC-gL{**b#E}JWaf0)koFKF-IolKjLF)o!l>o@t<^W6ER4}aX=8!=<D`JH&47vkzW zV(oaY&b;_b_LLCo%4^=2ScD5omQ8fOv)9FD9?OoL`#s^`OTM=T%uQP2K6_`Z&DLd- z-B%ya-p<ZhyfKwSdiwg`vnFjW{<CZCV%^ZIk+Y7kXDj&j$L;%duf<D_F&+(=+pm2! z(qWUzE%(AJ^ZstE6?kBrFJBqOe?ZdtgUzN54&n^DIvbB(k$QCUXn@SDiM?Hi1@7qd zZJ4r@b=S4q(Kj!Ds%7}yHEAhp_2aL(yQk{(b``U|D4QD<Rb#g;XwK0SGoK5!nt4Us zEWW+3mm!QPcmBnB$2(tz^zWapB=2Gsw`{|Kj1N_xKAkv|d+f3G@rnoER&=vHk5;Hw zW-(^^njsJ%QmQ2{c{K3Lqi@xWA8u}(w*2;j(2Es5o{r@)tXCX2ncS(%-TKKaxck=L zl{>b4Nnfrj{a|~p@41}T%o!)w{{F`0CsS)yA7#7m;ScVV)ZIpMD;~wHIaRD_y1(4^ zpZxzH$0H|9cidH<!l9V4_M7d)laWbYa}z>*wq0$KwcWWu=44jNi9&7-11_zz?@rF% zlKDD^O-|l;gSNy0zLM8}XQyQLEL>@D`=suHt)erJUU{&+B4K0ax>H|wvqVk~*j`=m z>Bsz-IVFWmQTewYZZ%uA*{0)Fh2}pW$tE|sxhj1US2xzgG3)8`Z19=b_=&lYXVHx# zf@%vFSyh-Yv_CGtwKp`|C#Wk(KAGk0>BWLNUw5Q2irvvZeePQFw6Kmgnf+B2rd{W! zt%&mVS<rhq+Bxgkm3_aDJ~m&oX=eD{*J8{EQf{-q`mv@#i|I>Q{aKaCwI|lyF8jLB zYx1Eh6Oz98*4%f9d3}Cn;DSYq<nFU`1$%7!Hes*nvBk{|W&7nBYUX@c=(0BO#Idrk zpWDnzg3>=fd%H(X-l@q;yFEYZ?{Bs;wRAJd%PA$@hEr^B-!|H@ZN}PTtlNxAjvrlp zd^^{<rma>giKQR@<c8fnY*RPuzV+3%_WLd6m$N4@-1eH+BlYlv<4WOaEDto2)oM5j z@)V7pD4I81QkG~9%?NWUEm+hc;qd-o(c|~i?l}~!UUp{3#o1SVWMj0hW={6|_TBB? z6s~_uSr1-atbaB@N_JDQ;O!F)tVQChl;!8v?R}{}VezcZ9`FC|eUlmaKCb`&&*$^g zf7+g&v+29k1=%HLJ@Z!!A9;5((5YEsYo@8usXg|U_f@9~9AQ5BN#IXZ=Os^<#7`%K z<h`rKn6<QnZ%t}l8Z<3wa`Z8YBMtXY&0M|EB&t7B=f1h)$8-M|zF4chCc9%_#h>Dn zObd-wPkwx=DHG4;nlP*8{E~Bz81Fp(7+|O1H;MDANWYLKXUs;2HM9RT{;6mB(Y;sh zQ<-+|wcqstwLOA5E{9@#FP)NN<jtGyX!8CpQ<VR4^W)`lcUgA-K9O)*q)%@DN~_eD zlf%7EnRuF}g)jT#&}Xlm&E}@i>=4do;woEp#ArF!Jh7D=r_afyxZ8-G6IQa7tJpJn zsqTZf(yfbUMr)@>`Q`I4S?+t=x1g-)B-@F%zi*w%vfjqJP?tH|A#PR3PHhk0<=ZD| zuzd=cQ2y{o_RkkCcc;(0+`k}thT@!kC6#lI%fEcX7_nH0>C2b)AjW<+LD#hJYAuH} zR)0*K85wM{ZPEAstjx4;k^A!O&li+C%Js+1z4FSWVO_<XkKa~nMrO2a3YJ}9cX!{k z14h5Eyvx46M%nfAr>K_~l6XEVrSG%;`@c6-Wv#LP@k@XF0$Mb;zi!=pKlJ$jyYK6! zfBF%b&;Q`6!s}O(4vE(bEcRCOPTO!O`^Llu(Uq=l2VeNEp16JLtlT8?3ku%3VGq8p zp2>6XZS(cj7hi?Xu-<)HviQ!tom;mYpJp&)&HK1b0qz2(lcRP$);Vgp_$%j+<-fPa z%wm-)&w6zIpv`hIshqMcjQ=mQr{*cwy$^}I^ti{XNFs99lguaQnqOUJxHUzL{YLx5 z#sINKhfp2{)*eUp<E19c0=Yi#WdC|RK!o*uKKJ=6EKBYd26QYt_WJglHHW?&I<~cZ zS5myW<|fwF&*p^fXq)s@t~sRZ@`@=|CwGTietw(zc=lTPXD{uKzG8mbm}Bm~RBm(F z2m2YXUbM7--%)FLP5x8*lS^U;+~nQY)}<<QeJXIDZGYuX^K-F7Z*xD+5cnC?(UNKU zL(loP8*{SFA)B3F|Cwc`?x|ty->-0W<-A)#bDOp-51Q)tHk0jY$Xu>(SN+m5Et{8d z%nW?@M}2QixNVJM2;1|C(Wb@o^Yi**|IT^8*K*(N8%0?KL2M5%E@(`57hV1_E~NB> z#j3}P6%&-Q7d+tEuK2-m{reOzhF_;F>`qNP@cQG|bx$5-Pu{uJ?V?GQNf%RV?zcZ- z6IVWyTP@17>iBy9?hw_-IWCHS?j2*f?S6N+-2InMW=#877R0k3d%zeaV~`yXsoCeE zS+-7Fi!Wf&f(fa*OOCnOCL6G($lVYXj-BQvS^8|l{4=v-&;AyjGWX~-xoFw@hAgIW zGR?8A43UA`w<m00asTNV-XGm_{fj1;$j<BkyClx`-(kzT1vg%_IP$nRzu3%q;p)jd zmvW4_``%VMey}!b@%x@XXZ8xyGpDsZ7WlpuH2UeXfuAoV{nqtqw{L&enf~6w{t9#H z{lg-2WFNJa#r>99Kj9zKA121NFZn70N<I2lZma$LL*9PcWBDf@Oy7h&CgptErq&p9 z<bBkGiz2*6YlK#q$Ib1_-QcC_6Fr^D>Tlz#3D;Mgdms~4o%1ndZdT5=6i3D4-Lr1V zgp@|r)>Yr_<@si#Q68~o;z61FSEs0WPc=UMa{b%PpUV_3TWw)_`tv}8)(81>AK6RN zBJQ+3NVS<K$sr*>O~l~tJ_9e8rh9_Z#nmt9p1X43sHXY3efKOYC+m7TWP6K*t==F} z5Z#~8o4B#+|FMUXR}F=hKK+puvb671gjCA!QmMoxw#~v<Ef<z**0L^})EOcBKm4A{ zhF3qz->&}rI{yDJwGGZ2UbC*c9w1ey*3oldE#J|Dl^e5Ck2HKL`N-xqrFZ%59V|wh zyo~l_+3ayT|I2Tm$rq;+f1*x*yy|C{S#spkbhY4Z)tTyxXIx+N@=6vLTW-x^w>w^? z=N?N>d0BC*M^1ZMZp;UczWHB%L~h{LH2<*2^i!_X7a?b@2yS5p*<S9<^QMa%EgDx{ z{eDzrUa85^jPG;5n;(CB@BS3=^~*l2^$v18lx3<AzQD>lb)(!phFa5`QL2)uTO(sV zBHotm51yMZbv*ueS-`c`i+5cP<9k)|=lYuW?JWNo-}Fo~h%79b!(OuJp39Zz47W1m z_k^*Ph4jvPp8cJ-Dbo7j6M+r0s`njd)%~&M`i3f-g?35Snhjl>4OS(G$})Ud_jvKI zX15F9wtiFfxw-M{G5z~jx31<ZT54g#o_(Xw-aoXIZOYQwGY%byG~W4k#}&IN#uKX! ztVn!)eX7bOzTX8}NuN(dd_JrakZ&UKv5Mil;*71=Ile_Mb`WiUw^{PmuH2)S+MeBP ze0O6<vc9ju=96L*4Br;HpFX|))fB}UncH8jl??1Vb#CwLkDKM}Z^`?*Z9Fa@`SCy@ z^ZRotr`F9i6I(UW?DiTRM^84f{ga<=Zhy1sZhOuB6LXK=%a)$O6e}gg8j{MjFJE+) z+wbj*oz*L6?RfMiBv+EfYw5KW4|d8~{@eb%h?OHW^w@g-_osh)$#=b~*lH~&;CV7% zk*m)lL43If@4@9un2Z<M&Ikz#TDbDwB&(d+6F*KVtZBb~TeCfz_0FjSy)yT&Jz&<g zyddda9hDfh*uT_dgYc!R*ZxPZ6xnNkLB=QPCF>8Xh!gJ3M?|k!zF@x9?Nd;r7QCrU zcJZyB9`~*^%wK)@<HtMBf>PV=eQOF^U~<Z6(}SJ4D-RwlKK#4y`fSe^X2rLSHgz-a z>bovI^YT9Zh~3HS&3DwL8=QD<c%wClb@!sjov#*z*{j?=EchT(raoZj$z@`%T1qro zb_lj=d4Aa3<>MGD_mW5KhNbZNz(pxjJY+0`8=pu2+$5dLbJwAAGk1ZkRLc59Ue;8v zC;zKA&YbGuX}`d4Z_%Af%hgtMlNKL5B3x>*pR?@!+Q<JtP2WGIMg04o+K_oYTo+z! zH#pT~qFK21(GelVs|R~@SMO7~d2`+SzNOl2`*c{oh-?YlwB_B+6;{)_5^VPwtem{U zD(u{w7n44|$&!kExTq*M>Fhtzr=@fCh40K-B4YKC={L)@CheN5=a&b{E`M_4>1(4G z4G${omQS-Y67b&?5;XboR-T2wY`9x&pSo2n)<`T;o1zh6ki6}iL+6BP0{Qn!>TC9E z8?fCGdocH*0auD?Eq6s_?3Sn#kFK3Qeckb_?KGW)pUZ^#Y^J>GImPcbIlzXwA<jBC z$xGzSt<P(oWV*AwZoK(~!$e1HkJc2m2ZdbM!;M!iSs;?NQaI<m(cWo%u0_jkwng5y zwZ1K)wtCNvH+p-*XIQTm*#1UnWAd9MQQh{v^H=z-T@w;<L*Tyf9r-0^KK<y_$gBMH zqFl*OBc(O>EX($3zuA5=sU<4yO%$DNana@E7pF!g(^*Hi3Liaqd9`toPC`LMSI$(q zIUAB}_ch4n@BPDcnQd)&_~mcsuf5=4+pz7s-I{}{m)3tO`uHQhQqI;Z#`5H9rSI#H ze{Zn&%CJ=BRBY#OO7KdTDd=8)*jh5OP;H)vL*pW&R_6QdkFB_bKm0gx`2CjSDG7y1 zT&JeTKD!nqJ-c-4tDdVrCVrm$SlmS5cf{<Cdzkj?W@=9=c<tV``1sW3d5=B{U!8UD z&$Sa8H;xGAe>5pPCCnG3d}?mbbK!sSbI!l&I-4`|kjJK+dqz^cduAN0h%{6<bcrRT zG3V1N=G_n98Znu#>$$<OZ{M!(M;Z1#-jb`Lk*dGJP;UMdx!`sB7i{-jP<gl6V&C(P z?u!o|WKc`>3TyRrXDX9*o0;H|cJpSE(FUg}imfLfdTGd<ni3bVhNGltjzjc5=a<YW z<*d8bt~5__JQguW;<(grY3riIuv<@m#Lv6%`(MfV9CpX(RRJgdh+gx&Q1Yx&>bQRo z)4D<y*3`iBzgA3}ztU7FP~J%DL7Bd?cF(sB-!oz~qSIFJtvs;hxr_$8r$J&;S7m)j zGnd%<o7dDe7C(Aa9ClQ3m0xA$_P>lzFQq0<*SgI$FRuT_C#$;x-|t2r|9@EiUjg@r z&A&JBNNz1X?~wLg)@E<IK#u%{DJNFnURdAyIi@dvr#0I;9c%88Ws_YN8m?JzjNjCz z{RV@Z22avUyGLJbKj`a!dZeB*HAF+>QoXT{P4qb*Ez2!>@}+-PL>tYvwwB^mn<8r_ zc$7OK@X!~g#6q<x+T1ma9!CR<_$1>Pwk5Dl?~U7bW@c|xnAg<nraM+BZ@ho7XP<>) z>(TnBsejYs>JLAgsqLe8{9X1`vD%IYV#cd3J`rKODU?5pN6YZ&?zZP=*-egTi$5xi zDeco<^3U$elLVH)0&NxR(?9+(&Ad95b;mc0prjn`+q<$IeEpvvRphSqNb$U{`Rd6> z`<s)@uKP|d_4;nVW0kOvaLLY{mv8oH8g0qwxpKw3iD_eI^PBe^mDM8L0u7g6E6m;K z%{r5heXgP+hu{l^^s+xPO>t-LtXr1-+37`}Q{b$sFKwws=MTi&XN68}Rok%V`kJ=* zuOF@IPET@+yE|DoI?Zf>W^1pM*nzcI7tH*j(ATFw?~~K5U$T!_PDHs??c=Ul!n9;_ zlflZ#UoSS+GBMa+IUjxUQcShtTQ<?C_6J-qjy8$&1f7*(yz=qwYtfFMpBBxRQJ;Qe zt0iAZyXkbR<43E@ek_!+58nNFs@jIQ-;T9?>fX2BKlpaJ@I{ZCr`80Wmn~e`GgRaP zmi=4sutJ%M(eUhxN3}<68cr?}b85Gm%F(m&?tIp+vwSntcguft+Vs0U>#XqAiOKhW z3#n|lv+K`Z!}E(*_=RYg@#M`6=kIAd*VOfbr&Ez{3Y)u#S+0SE<{q;~y|s#;(zw2? z_-B&!=)}x<TXr&-MxK3<=q=WAVz$?m<$b?Q9w*GH*PfXre0%$Kwd&hKk*8UIEbi2} zXSVdY?bOHV%N5z?p5D~9K!>3;#s6bem&L||ij7aN2;AkWk-C%Cdw^xx>ZQhFGkUiR zUp>yYrJMN!llH1L1#b>j?0)!OyXVlfz9`3{m$r3EMN31LKYvqx^<(|-+xO#m|8%m5 zzh0ulvc_shSxC;awH1#<S9e}_ZtoRxNSFA3J&-AT!dy|KLe~X**-bs1O<&$;ydBA} zkoDx;-`5koj&ya;(M;RwpD$$j_{(w4&g$)L=@m7%9`QHbGWzgH@Ob&}3zHvQ%{rBr ztodoyGd86MF7G2}e>kXN!2Iv%mE%1jV&3UT0xMerWltPRYFK43b4hS%lx^K!@!zk_ z1dsM`iT;>>YVNFmwsRiGPhP64JWuxOFO}WK2F;R8RZL&zZBLgK%XvTNQNfdDE8|R- zL+coeRv1YN@jl&Ax%JCR)mJ%}Z}qXwjGGaAi_`da#JUZyf3!FKzU}gNc}m{ipcLD6 z;i`+1OwttM&eymb=`LZjIrGbHF;nCZMr#%MFk4088&kLbar-%GWop2q2cFZvRAjd} zB=Uu%f0=c1mCMJVfGN8;9cN6gTxvCci=>L`G9%@A_3v!{U#Y6uJ~2dOhE++Mth%H5 zmJXq%HddO>0zsQ<UK|hzoaVEk`_|u{<;SyKZbr{}a_HMk&)0W7E{aHmOkXlTN+LB~ z*EDL!@&6VJtmZLR+z$U)?ppfp&+L=a-eoWtcCb9<Qf!}pvz&LnyRIFR`H7j+qNDHD zo1R=bRb|zwj&C<|#ZGJ!yZ?KmA;azThIqZR#<n{*sVq4wc4ytwmj~uQ{3Vxh^NC>5 z-G#^bzg1>m>Pj|XwfMK<|GC(P_mw{m=IH3CMDzSTz;eY&OUICLo7K(xNz75_54#ts z7u2kMJL&XWmH$dvdn(nA?_boWepysk^ab0&bq2SNxUuA~)88#OS^Z?qT@l@`J^vp3 zczEP<wwv<d>-@$yJ6L?rr=P$3P+P6|wcl1Rr7cB&s$c)u|Lf}dWet6fyg_`5vR8~2 zq;+aOm$`m8`eg8<bs3w3(oc#ks;rqmg>SvX!!j>tsjW$`?e>^?m+-FaT6?9XFLQTF z=G+Du^(n#k?ic@2ow!zZs>zGs(mw(-npHxdNy%M3dF6|X<2oUJ{eyRI^|YNAvgHn* zx#z&NDM|(g`hG=c{FvWtDP_^|Q&U{*eQ*=&v76Cz`vlFWoR~f3`+lbXi%)&LJ8#B^ zeHF@w{7R?sJC-hbb>_rkcDBjOjQLU}y{6yuaD3IMlEK+mYJ2l#=OK~B34ZG~C7I5) zR1>~&_4mGmEI$Gx*-Jeptn6JOaAKzS!z;^Fx~|`<JRe?qNNFp_mN&;(zkWHy<ag-$ z?$@_Zo^xdKTEsp#uxQh5qdD<$;a(xZ&l0Tl-0$44N)fxG^i^}olpB7tkF4@BpRN5@ zDtxWTPK$%OQ*=byUuA3xOaH4-Tk6EWzO;~?=@!q`z`|L(jSM!Q^6o!Wai4K-3d667 z={f<Cl8yUQx~?Bt!}qSBG<>e&-R{`M92NH4V!tf$X>^+7a6Dd!H7ii`d6eb9>*t^T z$PGHtvFJhJv)aZh-yBbI+w5C?=!PI`R_2{g$zm(28rmnS8ckZU-tWqSR|gK>{+?X5 zpSQ*HB$KQp+p)Im(GyQuMg7$}9y*KjgZ-p+<{n%hyiV>o@%wr4p9OzAp0^rL4mxu2 zk9#3gAJ3z}*&VyR_jh%z{-~XA{H~AV-Vq_53GPP=9ND6bO8@(XO)GWSJb$x8gZ8;2 zpHu_O16H1se(*l-rIVz}_Ivj2kMG||YGIqoc-6DARF!+9<)^eC+ap#zX04I*d%tIS z+>KRMoh{ccOunrZdU?jQPZbhtXGoQN_*XQ?=A4&kiBGB6g-@mr9~!D%h&^6k>@WLY zeE$#EC2Q|*os!6KCQ!WXu$@zE40Gp!TJMvej(ltVvi#uBby5M+u9?P;r2)y}Vh4;0 zyzMLRtiH_I@V}_&a{iZJTxb2x-TC*zynMOUOtXf0%Vj@&X3mgZr9AQY`FGtK6Xm9V z`?6`Ol*xkLWhT2qRBkNKak9ST-ZQnMvBa=zdw<2x!<KJ$vb^P+d2#Oly&ZdOV;d*@ z+1s8l>D?OLbw8f(4xSrr^XCo60!RM8)m1fV3g18cxE`b!;N`U5E+G4cotgBRv><1F z|EM;PfNtmW%uM?k|KHWVzVS8V#=f9!`#YHK-z;K$?e@w3|98GWBFEJ~E#;GP?_DRq z%Cz~++CH^q>R<moDy*3{mG_GL^g|Aw8`Bkb@9R5Wb^GEjiTmF(1PlIomFj#j_0HBY z`rY)W`t=XtgKOA2wPa&YXZ#EM$oc$4nvGrboyrNk?_M-5=9${EO8BWnOsKlF@r3%| zRegmDFFxKC+~GQDNy7T-xaikQ7X<Ly*nMFv;V8G)k_oGclV9{ICa}sTG+n;n3C~r{ z?;n1oZ1R!J_?K$%v#NymmYcyXa|4zyZ&F=K3;K+TN}ck*9T7iyrR?O!1~$|F|KEya zqQ7mJaA?jo=RF$|AN)K}ZnQej&208g(fVa#x>~1MHpjWDc?O7@y<+`acIT1t@}DAA zKSZt?-h3c9J^ilchaHbnQzYjmrrz|qdN6Zw3tQ*|ZO%OJbbt51L9$XyzK55x9nf!i zB(tsBi&s-R?W8)d$UGs|Ek$qUOw-DDh$`}3V7)+xb#jWM!|S7rs)859F28Q;<!N;} zezd5@SSZp<<&Dg8mdXbo*Dem5c2Y>v|5U91oWJ#VLXZFddA@#LmekXgh7&rvcpTY< zLl5P=aad&|5#%sGBAsKsRWN%^{M<7eHbgXpRBS4(%}l%6!=j<C=XiC+q@65lZWaBH zesgNd8i@<5pQy<E-yQB{^5o|+g(<S%9ar?Ryy9N$<h5dgxPbeCFLv8kT+W|=aZw{< z3s-2sv49Pej28H+dd0BH$vbAR^j6$sU3~U*mCDi;nJHH_P1Ef16gf8-efTx)RZaBl zyOTrjesf*7A-3q@)H%N%Ht5%UOzT|HB`#on<@oF%jpl?f+f=m)2JM#>Cd<m)Ipz29 z`46#at+{P2Ash_$Ts0GqYk#U@%X8w?oNhkve)NNz4Ey(NjlB@(7{ha1pKp73<&NX? zeVq&){28K6BV<*BUpf5xHN`PT;M<ErH;Gf%*^lOAI!pMTlJ}V=ZuV<Jy2_gKs*A$| zPjW4`^gHPL^7Y5_2X#xL0z!(;yf)*yA^PB3>*j0iS00~#_2Z<%)wi1re%rmc;KrN4 zvgASWot2%F84Y-SJSS8w&}i9I@jLqCY@^T<#ZoJNNi-f<W%m2`tn!^Xdp^{!Z}6>p zFuyr^+8(XF+mH9WtDE_0)`_YMr=B@VI+n@vmYl5n>c-2o%z3)0SdZghi??-WylRvS z(jDf7)-avCEL%I{%ZtLAZTyZrC$-(0twfJE&7GnlGVQ48?=`E8J)$lao%wc2>ey$C zx+xo!<mNRR<oub!5q5Rwy$z2hpO|*TXv2(^#cLi%v3=<(<T!2HlU9?;oU;0uK>vE? z!<v3)3M#}-JbjyOc6Y<MeVc_tq(1DQn8$eA<0@yEi=p(qLm$~!c^&(F`9MX2Nus)` z`=*{JK7aOYsjqKKQ=JvObeV};k%G^Y&K2{ncd_pF5jp>ZeQ)81>bFmit(Y@&KI@Y+ z`MwKprdWP*)VQ?!`_-Q}&(}@M5;9$2uk62Gncvn(%3w-{u8yRn2TRWHU1wF>Jl_T` zzJ2la-i_HwCKeTC&vpjxRJ_dQz2Jk$34RR?U)4vSmt^o7ZI|2YXxhG}=$^mZ#q>bg zR}Y!<Wm)$LZDmezV|I--xp`#Y`Ibf=@r56roYMZWUprmtfP}8%dVW=bH#-%t8qV2k zQL|stI_r<~DVHmAy-GLu^X*HkEp3r#JaKu&xdf2{YfWo@GuP@55!W`mo=iHeu+;T* z`!2T!E9|^ZDPNgrDLKPkdCsO?(toU#x{@r)JW3-@wmC=I%$oc+GvxVe<r91DtnTd! z|J(85piqQknb^-Fm*y*sUldQjT45*{v7776f}RG($zog2?h&hBdoSQ>;wqjXJ|oGa zX9W)L4KT~9SlpX=@P)69X5*Ah;fVVV^)(u{V!L<bzTCW{x^4R^>*d$^uYAn3WLmxL z%bvB)%`vx_%`d&4@@!p))4AkRf}i)Wrb$hmxg=`QOWnQuihT-0X1>_vEG5#j%;%O( zfUf>LhPwC@+m;snS%3TSL&=*>Quc~}ZmI6I<G8BW>RmRY_sYz7jaQy37-qcQ)ca!Y zSuUCOcAkxnJ05I4V72|=i=r78lQi=;aL1(I-cn(5Vs+2lkWI64UUvx<&8#?NwC%0+ z8oy;`&ZS|~Hw0@g-@RvBr9MBSU68D#zlG(LJ62ns6!>0PtQo2lGwb9kWxaX>k%!vT zwST`!xU?twasR3A>GKtiEjV(+ePd&FeTSgVMIQ4B8Z*`7KfIT!`2UpY&!_FhD;+yZ zcdeb#I@g->|HT9Ty-bqKii;bcXHJdnZ}4F+T2;ZQB`rB=@}tdP)E?jEPV-s3qaiih z*znK-mYA6bjXN*he1G*-H{(CI(tlMacj$R}iO=X;>CSA>bZ&3yAD$0$AB5Uio;B=x zV;A-4!Pip<1C<!_RO|f}6FjyClsEl8_qi%pVsC=*^(&?C_FJ!<%OUvcZFf&YWvNZy z6tnOLr^WZB^J|GV&2KOIlM#JM!)BkoPeQN5(WVUc9rsowWV&uyruX=V)u(eg@)81d z{Hj}BU!9y)VHcKeB|7Eai??2LB3E8MX=C1JKf%zH_eVQ}{mYNWwO3TVtC_MMt+dH> z5MWgesxWb!9`PZD?W1c}{IQP6XV-R{NouZWa<Q@geCJV0+RglDACIoz++X$7UbAs3 zYuyq?_CGd@gcTJ$p50ix)>DG<bKb&@=eD@dxjCKX*#x)L7d!!rc=iVC2e6-;&$7=w z-^8=@%u@Ng;pr2mNCi$|TDnp4!xWz03CYP?`p*j<{F$JcD*58jv+tW;PrT3MR=U8@ zVfva74He<oMQ2tDvsWl5L<l_Z*>-WGo~qS}nf5k+|I0g_dgFeo?~CPn-nak1xb)B0 zh(EDrTF{Io9$Jd+B@73rE>Jss!2H9x!^yHoRjSu)S4!FOFWkh+$}v0Zio?;i6;_hF zE?58g&!zQG;LSP1wA@a9u0I!@r2}X8Z1-EGC&>Q2DeNQDHO>Y8jn<x}d$#Tg+JEz7 zpOW)bnbjp#r+B-$ogVxb4^iEkKk=q&Ug0^*<-g>meq4Wd{LnVZfW^0jDodkQYSh>{ zrtoNPh(G+>cqdcQ{yPq)AFGe%to`fTu=mglW0pN@Z`udXm7kEZHh0n)F(ZA)g}3&W z*7S;hD1CaO<D12t$n_R_GK_4UI#!-mGfIqZ)xCXx@j1V@>z*#ZV}Ct2+)qvSwdGCA zeOq~YLAhVZ*2;%J{(ET&Sv_#xExT2ei)rcar#t25OSG{cnHVl#RnKFm{_?Dd?JnlI zJJSMtwrreGwMek_NaY4rH7}VAt`%mFE=v2WGP9@s{6E|H>d$cLvtq|5Z(h00!n?3m z?kZ<RP20N^OMB_0%L#lh0+yw6g{s=*+c3Y$nDSZ6MBPE|<W`{-)-wY=f8Rck>D%-_ z-r`^SJt2q1d5zm*+~2V1Xntp@OZ&I{`+}KAEKbPmdLVGA+xWGiY~TDvK@48EH>>CF zuvln!YTGQXbD7EgLM4)m(<VQ*ZnItBe{w$e)t_fR{%D>0xJ7$*e4O2`_2)P$Ixil4 z`sW;n(U)hNP0b8=C)u4~*?vxDcHUgQB?rR{rf!;0)6n-WddeQ<DQ#MIed5y{nY{Vr z>Z5PeL{=<!_`Q2G+iuxsYfgN=)m?G8R`Er@#eSX_ohlWzVfV|`ryY3h+@xLn&!zh4 zi+L`kF2+B5c)ofbWjp90DCNZQr(V#QarM^;K@8h>H0HQ>eqrQYYEY5e7`ie($7KJt zH09R@c1z^^riJb~vwEr|`}30uhR?EoI4*j(YO4Ht-ExVP6L(p{r^pv_n5K1wPq1>o zclUPr%&H%rjMIYeNXf*@Oj>vHR&co4`4``m-&#HTzxm!J&kY8Tb(n8W>s3s-_PR>W zWLLdp^X#*dJd?6_<Zs-XaP#%#^E(Uv_%F?$U3ua2>4d%MwY7WWEUI@d?~`8>BR5qu zz=3Vc5$1IjU(_8_59u*Q_S<P(p3AgQWmc|gUor2w;1;!>Yl|I?7FqJ`=eO85!}P-0 zC9BTOX6O6wT={3BIM<}0iF-6T4{I)F7mn5EDtUS%J=n;t@T{58<rFvblOfB6oOyrl zoV>Hl(T1^%|3@nOzUcYJTCR5I0{2@Vm;d-(@VhL_;!J%@jydgdhM5LFP9kn|**3bD z$V_&5>UG%mnn|B#=#A`>lDQ7w&ZOjfv;R5tW*N)-lj-Z^Pdx5-m}4+wb;Bu<g$J9b ztMGc6p5r>_f4|=)HTzqgN1ITRTUmk!*TH=gde&HQ^*{fqAM*V2HL3f|6_(RXIJVr* zROPwdwNCw9+`F}p-T75HAH7ICCo}u$ycJ(k9ITUhGMB0+vK;<h`n2-0!~TPbE+Smt z;~V}L7GLx|_2%5W*F_oWTg(1bWlsG6w|V8cxqJR;yf|Co<-fHsoMER>$(vhS=BGb0 z{atO8;AOw~NU_wVNj-`F0n+n!{&o3YdiHn1wT3+>6g{u<%H^sqJZoP6HDT3c#wp?R z=hxaU(w(XJpNsj+z2*B)pGl7u<S9S@xa+r#>7rW~l@h1S;wk7ou0OqK>!Q7znoq8F zK6XuQ?W>*ASAV`bx7F%8gT0m~he@^9!gZAip3M_`8e^HCoxI-ODn3VblH2#ktE!)V zJt<#Mvp%kU9k**^Jzt)=fqrAwWRI*|`Ok4r6>Ce?+HAfrtPnmMXvrBe#o28_;fW_5 zk8EqMz5l!{@bSFoEN#j&_nYowKeGFBwqQZO8{_fE*IBMP^=0i%;J$LNy6gGxN2mYt zKlu@|TwZqio_W#l=E#a}YMaQbB<wJY>CTZArMj}h>0drIosYKslc?$vey%3C>19h? zc0m%y`3c6xdn}m0Ww+<}NAG8PV#V}^M}qzR`hUOk43fS)yZ)zko%s9@AMQNXuebmE z-*>}|o!NCqILvzLzEt$tGi{l0O>r`RSenhM$9IGH&4VJ-G*0#&Pm^^ymBIG$km<4W z9^2W@DHu)Q{&2edt?FY-qd1;Jb-luF^`G~@zaO6dZJ}G-|33a&E(L+&jo&4eXB(c7 zY&dzsgE8P}<bkAP3l`g1zDk*}OvB%y^oi>|#t(B-rdoGII9Jry_r0(9qxj-Nj55Q0 zu4PXq%-wg5!{mBJO-SLSPw&sHcwyVVTVme#d24d)oO0eS`R2E4nS~Iq*1Su}Hvfz* z_C0=@&-VXF^F(*s6OoH|Jp0RV=6jh)xaBnIcd?v5_Aaz~ziLV(liqvJnRny2ZI`X= zI_@7Z<ATJQB~!Mo^4#r~`2MElV)o2_cg`t$+<#8mx1aS#u3heJvAz478GCywPbqTd zZ<lDgW61LOqxf;Z8#dzkDl6pv3)Ys}$knek<d|vEci2{kQN(m^@4eGHq6!c6JhRNd z%sS}xPRa57{E10ZWcGf@U;18hqF>qRbD#d*Qj=N9ce=T9@>$Lg@=rge1_;?C^TeI7 z^Q>LACx$^ocJB141;)2!+zpH_^lXfM{dIBjrSFE1-~K*&{~l-j>1&Ta%`4oquTJE{ z`ftCCZ`(APbG|!cmZ*2+W6FxnvAi|x8#0@BJl^*3?@5a;&b<5E_7?rw?f8}P;9HMv zXYyt<*h>p8>s4oDsjl;6Qu%7h+0Z(_cy-`;hAXEx`7!*Fvi$5)dauiVWzCXj2ma;q z?sUKU_&n1s=36`($_W#98?zodczEg?XMd45v9;^d-k)3}=;WttZ53C$-l~87{aH*~ zcWzzR7hcPA{JOSn&5Miay{X4I96Bdj+iZwz@Xz0Wv~hw%c)Hv2n-kR^{xy|wWa`sD z_*mEOdwt8CnGY7teHFCe8`D#(ZwnIdD_Tpx{T#!VmT~fXuF&G!a_j5zK29<^l6>p@ z@;TFU%D=PDyJoy>W=>9;$?RojoyB@HZyO)~E|J&yXIggpcfW+Soc!-R`{r(+dBc7B zbIBftn-?7qM2q=vJ>k*jng4G>ZR0b$#}6;Z+3n0X;R@;hUv?yB^6yvw+`nGk`N=V* z?XAg-{K^^I?XL8gS3lV+IoJ9n$Flc#*M5J-@hAW2`pX~L^w(>A-)L3$jB(kw`yUkY zS%1HAo;!<q_RPnpHtpDa+@;V-?8Wy25n;ZE7B~OA`6zx;_pRlNnek8l9hkr8W8{bB z{gM(VuNa0)1ba%|G1=iEILD)CSF(|s_I4TL#5bD@4}8)}Kh^L&z3S=d#JpdNZT{VL zv}Ooq3y93G7kBVsGAzDPf1~>8wa4>U`iZUL?ECK_`+pYu{14kU^S{mG*SEfN|HV@y zzemriO_NQGm9MS+?sezYneBYNC;!}ZsGR3ox~^h@@w~U!iqjYjlO49t3GOhNZT99# zrLmiJtFV9A-b;>G&b-|&G+nM=%c$S*pz(@xx(@r;=4`&_vF?M<^{Oqan{G$y%g-(6 zcivxWGQ&Vm_)Z$rZJRmsIR8ZRCbW5<TFd`s9{+c@U*-I($}iXMNOReJIU~tp-|>gW zruiHGU$nB@>;3nY#_#QW*f>%={Ffh{DI*~>xpIfq&j+W^+&AB0U(UbfeS*QPKX(K_ zWZV9W-S<7&=HJ@G-`9NKrIxYp<L>)+KidZKR+(H#-+%dt%arY%-ab6vJpHHrd+aCo z|Ecr6H|h+FPt<>yuP$-%&3XI1dw$Q;;dvM^cW?f(#eZ`48r$#sY;ME&|NqIIoS*Ce l{ds==Zr#2=|Cx9gB3?vDU1ooEfq{X6!PC{xWt~$(698!Un^ph- literal 12485 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 YQ!P_6w({jLFfcH9y85}Sb4q9e0DFC7R{#J2 diff --git a/3rdparty/miniColors/css/images/trigger.png b/3rdparty/miniColors/css/images/trigger.png index 8c169fd6053009030232ef865a61876992b68589..96c91294f3f167419d948cfba6c5b8a91d6196fe 100755 GIT binary patch delta 680 zcmeyzb%<55Gr-TCmrII^fq{Y7)59f*fq_AXfq_AcgN=cKVRvfXsfmi}^-L+AE{-7; zxAsgwzv`BQ$T9za5#rl+X@A#a`o-2HeRr3RNDZs_(tWMJgqpN#o4IN^!u9TSbLmBK zg?~J?ckRWV@_mVFJv#$~eTp6!6izDs^Yrs+3qz~9=fah$mQ*~x{<7rP$?D)ciN?p| zcHhmjKey~{*>7uA5eBn@1EQTv7bezAEU8jsdQ&;C!FAf{r@N=j^jlv0#qqquoRx+% zea`uXX^HMCymz6IcU=d=xu-=Ya{d25{k$$9r?!8_$uCbTp8Q-Gw%YPVv%~oik#o;K zt0d0Xb9lAj*N@KYR;R)gxsLPmlybE)c{03bQ@Fg&dDaSF)*lr%Qd}03PbQpux^q9H z#GiVdEK!51doORk=3*AhylwXE-^nWv3xq#>>$VB|oRs+Br{LCE?Uw^1nD%>E_&3>m z$8YAgRao79%bV*spG?4yP^b4#PAGjz+;zy4nO&Fhf_>4>E-A+cyKSo9*33|yr*z=f zt@(_{g0rSs$nfnuG%YodC1UmU*R?axrtzmw-V>(TQ$KH|O^MKr?{A8BE;*Rsa5imn z*U?4)C+LcGv+q0jl0BR`g3<O;-HRD~-3KDHrk*I2xxc=lIM%%6^W+y+J@frFb7n1L zxRe-L5SnQ>zuQ#o`pQ`sGh9|*^}6G;_@cmP&!|H@QB8+8DXdv1cjaj5s<!tZGWN!G z2j(uiV7w#fNLuIJy1evNXZfc{^R?e+D9b*-I%`4B)+o`%vz*T#vDtGo$LHz8u+^eJ z&ociDUG20t?t8!CqUTHh=0wDNeq;UMZCUn1^>b;P|9`#KD7ACdp4smH^Ex$h3NEN^ uKlI#UcG1-O_uqfZ$22_O(RiOlf+0JOQ?}#f`alK-1_n=8KbLh*2~7ZUibvc4 literal 1406 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rag4mJh`h9g^YtQi;>BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFe_z-M3hAM`dB6B=jtVb)aX^@7BGN-jeSKyVsdtB zi9%9pdS;%j()-=}l@u~lY?Z=IeGPmIoKrJ0J*tXQgRA^PlB=?lEmM^2?G$V(tSWK~ za#KqZ6)JLb@`|l0Y?Z*~TICg6frRyy6u?SKvTc<hj*9RNP;kyKN>wn`Gtf;oFf&jv zGt@IQHZeCh*HJJsFf`CNFw!?P(ls=<GB&a@Fi?O3B|8P1qLehNAQv~NT}3Hrwn`Z# zB?VUc`sL;2dgaD?`9<mahL)C=ATx}Nbc<5bbc-wVN)jt{^NN*WCb*;)Cl_TFlw{`T zDS%8&Ov*1Uu~kxn8e5TD05>+T7#d8;`MLTPi3R$GdIlgbLHwFq;OmQDX>KlDb#X~h zD#E>34K5C;EJ)Q4N-fSWElN%eN=;J+xv9X)xhOTUB)=#mKR*W+iUAq<CHch}`2`Bj z!KMnniOHFHAU;^VudkJ7UU5lcUUI6Zi>*>cZh>BAW{Q=Ysky7Esj-o<iHobDp{s#~ zsfn{2h-qMHWMXOT0@Le~pIn-onpXnTn}X15j8iWtDS(2*$|bcZvn(~mttdZN0qkX~ zOe}7(uy8Rnb22i-X&zK>3Kq9O_2Tx2zMX=NJ}6?5A{r(X<l+Wmg3}}@ecCA?5`Jo4 zimg%+C|RHS@|S^u@sp>EV@SoVHB%k44mpUlsh^Ax-?mG8*9qB}SJzS(J`mldQN{gL zsL8tjfo{xhagmrUA|W{!wi(VW`Ii_s<4A|**#n<d4_Dv+^V8UG&BKBpXC$&WBpsI) zcQSEXd~u1#s|14=j5!b0x)wPtn3ig2P$|*I)s<m3d+&b-@$RE6G6sy>o^Wx+tPHtP zWA}fO>GB@CM)u2+g0Eyw?8x4JThBrwK}{rlb?CB%x3vv~GoG>Ed_8IIk_g9*QES7J zcNy$q6mpY2<d)AQ!_w&bAZTSvW&E-8yaB)Bz6weBER_ggc`oz$zLgJ$So3%HTHnuE z$|rWXuYXt=w2@8TROJeHP1gORQ_nKYw5t;C`ZzhL=2C%w`o!eroWX{Tm%|u-EZiP= zZz5ZI)W)-nPj4}8QrflQQH|a4F4^OWmJ7~R*wjVoP5*ji$s5(932GwQ1&4wwf2}l# zzm~Oi)#>K6rtSHB5e&z+PFMHIa0{zrdi1;QnW9LvV^{9&zJr=m4JE#=SUm4$&M~vu zyv4E8OLxbbuFtv@w&r^FMAoH^^%AdExX<gz*?xPaPy5WEH<j~z+XbfhEWdm`y1H9L zdBK*eSu1^t6F&W|%b$GwZ=L=3=`8;)>Afhi`e<r2<4=KwMa7n)oqv|E=cxLkw`&Ib p<w*y`e`fT%)_q>`>U%sR8^a@$^WxWA${Il>qNl5$%Q~loCIDpR2Soq? diff --git a/3rdparty/miniColors/css/jquery.miniColors.css b/3rdparty/miniColors/css/jquery.miniColors.css index 381bc1dc06..592f44894d 100755 --- a/3rdparty/miniColors/css/jquery.miniColors.css +++ b/3rdparty/miniColors/css/jquery.miniColors.css @@ -1,19 +1,13 @@ -.miniColors-trigger { - height: 22px; - width: 22px; - background: url(images/trigger.png) center no-repeat; - vertical-align: middle; - margin: 0 .25em; - display: inline-block; - outline: none; +INPUT.miniColors { + margin-right: 4px; } .miniColors-selector { position: absolute; width: 175px; height: 150px; - background: #FFF; - border: solid 1px #BBB; + background: white; + border: solid 1px #bababa; -moz-box-shadow: 0 0 6px rgba(0, 0, 0, .25); -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .25); box-shadow: 0 0 6px rgba(0, 0, 0, .25); @@ -24,9 +18,13 @@ z-index: 999999; } +.miniColors.opacity.miniColors-selector { + width: 200px; +} + .miniColors-selector.black { - background: #000; - border-color: #000; + background: black; + border-color: black; } .miniColors-colors { @@ -35,25 +33,43 @@ left: 5px; width: 150px; height: 150px; - background: url(images/colors.png) right no-repeat; + background: url(images/colors.png) -40px 0 no-repeat; cursor: crosshair; } +.miniColors.opacity .miniColors-colors { + left: 30px; +} + .miniColors-hues { position: absolute; top: 5px; left: 160px; width: 20px; height: 150px; - background: url(images/colors.png) left no-repeat; + background: url(images/colors.png) 0 0 no-repeat; + cursor: crosshair; +} + +.miniColors.opacity .miniColors-hues { + left: 185px; +} + +.miniColors-opacity { + position: absolute; + top: 5px; + left: 5px; + width: 20px; + height: 150px; + background: url(images/colors.png) -20px 0 no-repeat; cursor: crosshair; } .miniColors-colorPicker { position: absolute; - width: 9px; - height: 9px; - border: 1px solid #fff; + width: 11px; + height: 11px; + border: 1px solid black; -moz-border-radius: 11px; -webkit-border-radius: 11px; border-radius: 11px; @@ -64,18 +80,46 @@ left: 0; width: 7px; height: 7px; - border: 1px solid #000; + border: 2px solid white; -moz-border-radius: 9px; -webkit-border-radius: 9px; border-radius: 9px; } -.miniColors-huePicker { +.miniColors-huePicker, +.miniColors-opacityPicker { position: absolute; - left: -3px; - width: 24px; - height: 1px; - border: 1px solid #fff; + left: -2px; + width: 22px; + height: 2px; + border: 1px solid black; + background: white; + margin-top: -1px; border-radius: 2px; - background: #000; +} + +.miniColors-trigger, +.miniColors-triggerWrap { + width: 22px; + height: 22px; + display: inline-block; +} + +.miniColors-triggerWrap { + background: url(images/trigger.png) -22px 0 no-repeat; +} + +.miniColors-triggerWrap.disabled { + filter: alpha(opacity=50); + opacity: .5; +} + +.miniColors-trigger { + vertical-align: middle; + outline: none; + background: url(images/trigger.png) 0 0 no-repeat; +} + +.miniColors-triggerWrap.disabled .miniColors-trigger { + cursor: default; } \ No newline at end of file diff --git a/3rdparty/miniColors/js/jquery.miniColors.js b/3rdparty/miniColors/js/jquery.miniColors.js index 187db3fa84..a0f439c2c4 100755 --- a/3rdparty/miniColors/js/jquery.miniColors.js +++ b/3rdparty/miniColors/js/jquery.miniColors.js @@ -1,7 +1,7 @@ /* * jQuery miniColors: A small color selector * - * Copyright 2011 Cory LaViska for A Beautiful Site, LLC. (http://abeautifulsite.net/) + * Copyright 2012 Cory LaViska for A Beautiful Site, LLC. (http://www.abeautifulsite.net/) * * Dual licensed under the MIT or GPL Version 2 licenses * @@ -18,20 +18,30 @@ if(jQuery) (function($) { // // Determine initial color (defaults to white) - var color = expandHex(input.val()); - if( !color ) color = 'ffffff'; - var hsb = hex2hsb(color); + var color = expandHex(input.val()) || 'ffffff', + hsb = hex2hsb(color), + rgb = hsb2rgb(hsb), + alpha = parseFloat(input.attr('data-opacity')).toFixed(2); + + if( alpha > 1 ) alpha = 1; + if( alpha < 0 ) alpha = 0; // Create trigger var trigger = $('<a class="miniColors-trigger" style="background-color: #' + color + '" href="#"></a>'); trigger.insertAfter(input); + trigger.wrap('<span class="miniColors-triggerWrap"></span>'); + if( o.opacity ) { + trigger.css('backgroundColor', 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + alpha + ')'); + } // Set input data and update attributes input .addClass('miniColors') .data('original-maxlength', input.attr('maxlength') || null) .data('original-autocomplete', input.attr('autocomplete') || null) - .data('letterCase', 'uppercase') + .data('letterCase', o.letterCase === 'uppercase' ? 'uppercase' : 'lowercase') + .data('opacity', o.opacity ? true : false) + .data('alpha', alpha) .data('trigger', trigger) .data('hsb', hsb) .data('change', o.change ? o.change : null) @@ -42,11 +52,11 @@ if(jQuery) (function($) { .val('#' + convertCase(color, o.letterCase)); // Handle options - if( o.readonly ) input.prop('readonly', true); - if( o.disabled ) disable(input); + if( o.readonly || input.prop('readonly') ) input.prop('readonly', true); + if( o.disabled || input.prop('disabled') ) disable(input); // Show selector when trigger is clicked - trigger.bind('click.miniColors', function(event) { + trigger.on('click.miniColors', function(event) { event.preventDefault(); if( input.val() === '' ) input.val('#'); show(input); @@ -54,29 +64,29 @@ if(jQuery) (function($) { }); // Show selector when input receives focus - input.bind('focus.miniColors', function(event) { + input.on('focus.miniColors', function(event) { if( input.val() === '' ) input.val('#'); show(input); }); // Hide on blur - input.bind('blur.miniColors', function(event) { + input.on('blur.miniColors', function(event) { var hex = expandHex( hsb2hex(input.data('hsb')) ); input.val( hex ? '#' + convertCase(hex, input.data('letterCase')) : '' ); }); // Hide when tabbing out of the input - input.bind('keydown.miniColors', function(event) { + input.on('keydown.miniColors', function(event) { if( event.keyCode === 9 ) hide(input); }); // Update when color is typed in - input.bind('keyup.miniColors', function(event) { + input.on('keyup.miniColors', function(event) { setColorFromInput(input); }); // Handle pasting - input.bind('paste.miniColors', function(event) { + input.on('paste.miniColors', function(event) { // Short pause to wait for paste to complete setTimeout( function() { setColorFromInput(input); @@ -89,19 +99,18 @@ if(jQuery) (function($) { // // Destroys an active instance of the miniColors selector // - hide(); input = $(input); // Restore to original state - input.data('trigger').remove(); + input.data('trigger').parent().remove(); input .attr('autocomplete', input.data('original-autocomplete')) .attr('maxlength', input.data('original-maxlength')) .removeData() .removeClass('miniColors') - .unbind('.miniColors'); - $(document).unbind('.miniColors'); + .off('.miniColors'); + $(document).off('.miniColors'); }; var enable = function(input) { @@ -110,8 +119,7 @@ if(jQuery) (function($) { // input .prop('disabled', false) - .data('trigger') - .css('opacity', 1); + .data('trigger').parent().removeClass('disabled'); }; var disable = function(input) { @@ -121,8 +129,7 @@ if(jQuery) (function($) { hide(input); input .prop('disabled', true) - .data('trigger') - .css('opacity', 0.5); + .data('trigger').parent().addClass('disabled'); }; var show = function(input) { @@ -133,24 +140,27 @@ if(jQuery) (function($) { // Hide all other instances hide(); - + // Generate the selector var selector = $('<div class="miniColors-selector"></div>'); selector - .append('<div class="miniColors-colors" style="background-color: #FFF;"><div class="miniColors-colorPicker"><div class="miniColors-colorPicker-inner"></div></div>') .append('<div class="miniColors-hues"><div class="miniColors-huePicker"></div></div>') - .css({ - top: input.is(':visible') ? input.offset().top + input.outerHeight() : input.data('trigger').offset().top + input.data('trigger').outerHeight(), - left: input.is(':visible') ? input.offset().left : input.data('trigger').offset().left, - display: 'none' - }) + .append('<div class="miniColors-colors" style="background-color: #FFF;"><div class="miniColors-colorPicker"><div class="miniColors-colorPicker-inner"></div></div>') + .css('display', 'none') .addClass( input.attr('class') ); + // Opacity + if( input.data('opacity') ) { + selector + .addClass('opacity') + .prepend('<div class="miniColors-opacity"><div class="miniColors-opacityPicker"></div></div>'); + } + // Set background for colors var hsb = input.data('hsb'); selector - .find('.miniColors-colors') - .css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })); + .find('.miniColors-colors').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })).end() + .find('.miniColors-opacity').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: hsb.s, b: hsb.b })).end(); // Set colorPicker position var colorPosition = input.data('colorPosition'); @@ -162,64 +172,106 @@ if(jQuery) (function($) { // Set huePicker position var huePosition = input.data('huePosition'); if( !huePosition ) huePosition = getHuePositionFromHSB(hsb); - selector.find('.miniColors-huePicker').css('top', huePosition.y + 'px'); + selector.find('.miniColors-huePicker').css('top', huePosition + 'px'); + + // Set opacity position + var opacityPosition = input.data('opacityPosition'); + if( !opacityPosition ) opacityPosition = getOpacityPositionFromAlpha(input.attr('data-opacity')); + selector.find('.miniColors-opacityPicker').css('top', opacityPosition + 'px'); // Set input data input .data('selector', selector) .data('huePicker', selector.find('.miniColors-huePicker')) + .data('opacityPicker', selector.find('.miniColors-opacityPicker')) .data('colorPicker', selector.find('.miniColors-colorPicker')) .data('mousebutton', 0); - + $('BODY').append(selector); - selector.fadeIn(100); + + // Position the selector + var trigger = input.data('trigger'), + hidden = !input.is(':visible'), + top = hidden ? trigger.offset().top + trigger.outerHeight() : input.offset().top + input.outerHeight(), + left = hidden ? trigger.offset().left : input.offset().left, + selectorWidth = selector.outerWidth(), + selectorHeight = selector.outerHeight(), + triggerWidth = trigger.outerWidth(), + triggerHeight = trigger.outerHeight(), + windowHeight = $(window).height(), + windowWidth = $(window).width(), + scrollTop = $(window).scrollTop(), + scrollLeft = $(window).scrollLeft(); + + // Adjust based on viewport + if( (top + selectorHeight) > windowHeight + scrollTop ) top = top - selectorHeight - triggerHeight; + if( (left + selectorWidth) > windowWidth + scrollLeft ) left = left - selectorWidth + triggerWidth; + + // Set position and show + selector.css({ + top: top, + left: left + }).fadeIn(100); // Prevent text selection in IE - selector.bind('selectstart', function() { return false; }); + selector.on('selectstart', function() { return false; }); - $(document).bind('mousedown.miniColors touchstart.miniColors', function(event) { - - input.data('mousebutton', 1); - var testSubject = $(event.target).parents().andSelf(); - - if( testSubject.hasClass('miniColors-colors') ) { - event.preventDefault(); - input.data('moving', 'colors'); - moveColor(input, event); - } - - if( testSubject.hasClass('miniColors-hues') ) { - event.preventDefault(); - input.data('moving', 'hues'); - moveHue(input, event); - } - - if( testSubject.hasClass('miniColors-selector') ) { - event.preventDefault(); - return; - } - - if( testSubject.hasClass('miniColors') ) return; - - hide(input); - }); + // Hide on resize (IE7/8 trigger this when any element is resized...) + if( !$.browser.msie || ($.browser.msie && $.browser.version >= 9) ) { + $(window).on('resize.miniColors', function(event) { + hide(input); + }); + } $(document) - .bind('mouseup.miniColors touchend.miniColors', function(event) { + .on('mousedown.miniColors touchstart.miniColors', function(event) { + + input.data('mousebutton', 1); + var testSubject = $(event.target).parents().andSelf(); + + if( testSubject.hasClass('miniColors-colors') ) { + event.preventDefault(); + input.data('moving', 'colors'); + moveColor(input, event); + } + + if( testSubject.hasClass('miniColors-hues') ) { + event.preventDefault(); + input.data('moving', 'hues'); + moveHue(input, event); + } + + if( testSubject.hasClass('miniColors-opacity') ) { + event.preventDefault(); + input.data('moving', 'opacity'); + moveOpacity(input, event); + } + + if( testSubject.hasClass('miniColors-selector') ) { + event.preventDefault(); + return; + } + + if( testSubject.hasClass('miniColors') ) return; + + hide(input); + }) + .on('mouseup.miniColors touchend.miniColors', function(event) { event.preventDefault(); input.data('mousebutton', 0).removeData('moving'); }) - .bind('mousemove.miniColors touchmove.miniColors', function(event) { + .on('mousemove.miniColors touchmove.miniColors', function(event) { event.preventDefault(); if( input.data('mousebutton') === 1 ) { if( input.data('moving') === 'colors' ) moveColor(input, event); if( input.data('moving') === 'hues' ) moveHue(input, event); + if( input.data('moving') === 'opacity' ) moveOpacity(input, event); } }); // Fire open callback if( input.data('open') ) { - input.data('open').call(input.get(0), '#' + hsb2hex(hsb), hsb2rgb(hsb)); + input.data('open').call(input.get(0), '#' + hsb2hex(hsb), $.extend(hsb2rgb(hsb), { a: parseFloat(input.attr('data-opacity')) })); } }; @@ -231,22 +283,22 @@ if(jQuery) (function($) { // // Hide all other instances if input isn't specified - if( !input ) input = '.miniColors'; + if( !input ) input = $('.miniColors'); - $(input).each( function() { + input.each( function() { var selector = $(this).data('selector'); $(this).removeData('selector'); $(selector).fadeOut(100, function() { // Fire close callback if( input.data('close') ) { var hsb = input.data('hsb'), hex = hsb2hex(hsb); - input.data('close').call(input.get(0), '#' + hex, hsb2rgb(hsb)); + input.data('close').call(input.get(0), '#' + hex, $.extend(hsb2rgb(hsb), { a: parseFloat(input.attr('data-opacity')) })); } $(this).remove(); }); }); - $(document).unbind('.miniColors'); + $(document).off('.miniColors'); }; @@ -266,8 +318,8 @@ if(jQuery) (function($) { position.x = event.originalEvent.changedTouches[0].pageX; position.y = event.originalEvent.changedTouches[0].pageY; } - position.x = position.x - input.data('selector').find('.miniColors-colors').offset().left - 5; - position.y = position.y - input.data('selector').find('.miniColors-colors').offset().top - 5; + position.x = position.x - input.data('selector').find('.miniColors-colors').offset().left - 6; + position.y = position.y - input.data('selector').find('.miniColors-colors').offset().top - 6; if( position.x <= -5 ) position.x = -5; if( position.x >= 144 ) position.x = 144; if( position.y <= -5 ) position.y = -5; @@ -301,23 +353,21 @@ if(jQuery) (function($) { huePicker.hide(); - var position = { - y: event.pageY - }; + var position = event.pageY; // Touch support if( event.originalEvent.changedTouches ) { - position.y = event.originalEvent.changedTouches[0].pageY; + position = event.originalEvent.changedTouches[0].pageY; } - position.y = position.y - input.data('selector').find('.miniColors-colors').offset().top - 1; - if( position.y <= -1 ) position.y = -1; - if( position.y >= 149 ) position.y = 149; + position = position - input.data('selector').find('.miniColors-colors').offset().top - 1; + if( position <= -1 ) position = -1; + if( position >= 149 ) position = 149; input.data('huePosition', position); - huePicker.css('top', position.y).show(); + huePicker.css('top', position).show(); // Calculate hue - var h = Math.round((150 - position.y - 1) * 2.4); + var h = Math.round((150 - position - 1) * 2.4); if( h < 0 ) h = 0; if( h > 360 ) h = 360; @@ -330,18 +380,65 @@ if(jQuery) (function($) { }; + var moveOpacity = function(input, event) { + + var opacityPicker = input.data('opacityPicker'); + + opacityPicker.hide(); + + var position = event.pageY; + + // Touch support + if( event.originalEvent.changedTouches ) { + position = event.originalEvent.changedTouches[0].pageY; + } + + position = position - input.data('selector').find('.miniColors-colors').offset().top - 1; + if( position <= -1 ) position = -1; + if( position >= 149 ) position = 149; + input.data('opacityPosition', position); + opacityPicker.css('top', position).show(); + + // Calculate opacity + var alpha = parseFloat((150 - position - 1) / 150).toFixed(2); + if( alpha < 0 ) alpha = 0; + if( alpha > 1 ) alpha = 1; + + // Update opacity + input + .data('alpha', alpha) + .attr('data-opacity', alpha); + + // Set color + setColor(input, input.data('hsb'), true); + + }; + var setColor = function(input, hsb, updateInput) { input.data('hsb', hsb); - var hex = hsb2hex(hsb); + var hex = hsb2hex(hsb), + selector = $(input.data('selector')); if( updateInput ) input.val( '#' + convertCase(hex, input.data('letterCase')) ); + + selector + .find('.miniColors-colors').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })).end() + .find('.miniColors-opacity').css('backgroundColor', '#' + hex).end(); + + var rgb = hsb2rgb(hsb); + + // Set background color (also fallback for non RGBA browsers) input.data('trigger').css('backgroundColor', '#' + hex); - if( input.data('selector') ) input.data('selector').find('.miniColors-colors').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })); + + // Set background color + opacity + if( input.data('opacity') ) { + input.data('trigger').css('backgroundColor', 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + input.attr('data-opacity') + ')'); + } // Fire change callback if( input.data('change') ) { - if( hex === input.data('lastChange') ) return; - input.data('change').call(input.get(0), '#' + hex, hsb2rgb(hsb)); - input.data('lastChange', hex); + if( (hex + ',' + input.attr('data-opacity')) === input.data('lastChange') ) return; + input.data('change').call(input.get(0), '#' + hex, $.extend(hsb2rgb(hsb), { a: parseFloat(input.attr('data-opacity')) })); + input.data('lastChange', hex + ',' + input.attr('data-opacity')); } }; @@ -355,10 +452,6 @@ if(jQuery) (function($) { // Get HSB equivalent var hsb = hex2hsb(hex); - // If color is the same, no change required - var currentHSB = input.data('hsb'); - if( hsb.h === currentHSB.h && hsb.s === currentHSB.s && hsb.b === currentHSB.b ) return true; - // Set colorPicker position var colorPosition = getColorPositionFromHSB(hsb); var colorPicker = $(input.data('colorPicker')); @@ -368,9 +461,14 @@ if(jQuery) (function($) { // Set huePosition position var huePosition = getHuePositionFromHSB(hsb); var huePicker = $(input.data('huePicker')); - huePicker.css('top', huePosition.y + 'px'); + huePicker.css('top', huePosition + 'px'); input.data('huePosition', huePosition); + // Set opacity position + var opacityPosition = getOpacityPositionFromAlpha(input.attr('data-opacity')); + var opacityPicker = $(input.data('opacityPicker')); + opacityPicker.css('top', opacityPosition + 'px'); + input.data('opacityPosition', opacityPosition); setColor(input, hsb); return true; @@ -378,9 +476,11 @@ if(jQuery) (function($) { }; var convertCase = function(string, letterCase) { - if( letterCase === 'lowercase' ) return string.toLowerCase(); - if( letterCase === 'uppercase' ) return string.toUpperCase(); - return string; + if( letterCase === 'uppercase' ) { + return string.toUpperCase(); + } else { + return string.toLowerCase(); + } }; var getColorPositionFromHSB = function(hsb) { @@ -397,7 +497,14 @@ if(jQuery) (function($) { var y = 150 - (hsb.h / 2.4); if( y < 0 ) h = 0; if( y > 150 ) h = 150; - return { y: y - 1 }; + return y; + }; + + var getOpacityPositionFromAlpha = function(alpha) { + var y = 150 * alpha; + if( y < 0 ) y = 0; + if( y > 150 ) y = 150; + return 150 - y; }; var cleanHex = function(hex) { @@ -542,6 +649,29 @@ if(jQuery) (function($) { }); return $(this); + + case 'opacity': + + // Getter + if( data === undefined ) { + if( !$(this).hasClass('miniColors') ) return; + if( $(this).data('opacity') ) { + return parseFloat($(this).attr('data-opacity')); + } else { + return null; + } + } + + // Setter + $(this).each( function() { + if( !$(this).hasClass('miniColors') ) return; + if( data < 0 ) data = 0; + if( data > 1 ) data = 1; + $(this).attr('data-opacity', data).data('alpha', data); + setColorFromInput($(this)); + }); + + return $(this); case 'destroy': diff --git a/3rdparty/miniColors/js/jquery.miniColors.min.js b/3rdparty/miniColors/js/jquery.miniColors.min.js index c00e0ace6b..1d3346455b 100755 --- a/3rdparty/miniColors/js/jquery.miniColors.min.js +++ b/3rdparty/miniColors/js/jquery.miniColors.min.js @@ -1,9 +1,9 @@ /* * jQuery miniColors: A small color selector * - * Copyright 2011 Cory LaViska for A Beautiful Site, LLC. (http://abeautifulsite.net/) + * Copyright 2012 Cory LaViska for A Beautiful Site, LLC. (http://www.abeautifulsite.net/) * * Dual licensed under the MIT or GPL Version 2 licenses * */ -if(jQuery)(function($){$.extend($.fn,{miniColors:function(o,data){var create=function(input,o,data){var color=expandHex(input.val());if(!color)color='ffffff';var hsb=hex2hsb(color);var trigger=$('<a class="miniColors-trigger" style="background-color: #'+color+'" href="#"></a>');trigger.insertAfter(input);input.addClass('miniColors').data('original-maxlength',input.attr('maxlength')||null).data('original-autocomplete',input.attr('autocomplete')||null).data('letterCase','uppercase').data('trigger',trigger).data('hsb',hsb).data('change',o.change?o.change:null).data('close',o.close?o.close:null).data('open',o.open?o.open:null).attr('maxlength',7).attr('autocomplete','off').val('#'+convertCase(color,o.letterCase));if(o.readonly)input.prop('readonly',true);if(o.disabled)disable(input);trigger.bind('click.miniColors',function(event){event.preventDefault();if(input.val()==='')input.val('#');show(input)});input.bind('focus.miniColors',function(event){if(input.val()==='')input.val('#');show(input)});input.bind('blur.miniColors',function(event){var hex=expandHex(hsb2hex(input.data('hsb')));input.val(hex?'#'+convertCase(hex,input.data('letterCase')):'')});input.bind('keydown.miniColors',function(event){if(event.keyCode===9)hide(input)});input.bind('keyup.miniColors',function(event){setColorFromInput(input)});input.bind('paste.miniColors',function(event){setTimeout(function(){setColorFromInput(input)},5)})};var destroy=function(input){hide();input=$(input);input.data('trigger').remove();input.attr('autocomplete',input.data('original-autocomplete')).attr('maxlength',input.data('original-maxlength')).removeData().removeClass('miniColors').unbind('.miniColors');$(document).unbind('.miniColors')};var enable=function(input){input.prop('disabled',false).data('trigger').css('opacity',1)};var disable=function(input){hide(input);input.prop('disabled',true).data('trigger').css('opacity',0.5)};var show=function(input){if(input.prop('disabled'))return false;hide();var selector=$('<div class="miniColors-selector"></div>');selector.append('<div class="miniColors-colors" style="background-color: #FFF;"><div class="miniColors-colorPicker"><div class="miniColors-colorPicker-inner"></div></div>').append('<div class="miniColors-hues"><div class="miniColors-huePicker"></div></div>').css({top:input.is(':visible')?input.offset().top+input.outerHeight():input.data('trigger').offset().top+input.data('trigger').outerHeight(),left:input.is(':visible')?input.offset().left:input.data('trigger').offset().left,display:'none'}).addClass(input.attr('class'));var hsb=input.data('hsb');selector.find('.miniColors-colors').css('backgroundColor','#'+hsb2hex({h:hsb.h,s:100,b:100}));var colorPosition=input.data('colorPosition');if(!colorPosition)colorPosition=getColorPositionFromHSB(hsb);selector.find('.miniColors-colorPicker').css('top',colorPosition.y+'px').css('left',colorPosition.x+'px');var huePosition=input.data('huePosition');if(!huePosition)huePosition=getHuePositionFromHSB(hsb);selector.find('.miniColors-huePicker').css('top',huePosition.y+'px');input.data('selector',selector).data('huePicker',selector.find('.miniColors-huePicker')).data('colorPicker',selector.find('.miniColors-colorPicker')).data('mousebutton',0);$('BODY').append(selector);selector.fadeIn(100);selector.bind('selectstart',function(){return false});$(document).bind('mousedown.miniColors touchstart.miniColors',function(event){input.data('mousebutton',1);var testSubject=$(event.target).parents().andSelf();if(testSubject.hasClass('miniColors-colors')){event.preventDefault();input.data('moving','colors');moveColor(input,event)}if(testSubject.hasClass('miniColors-hues')){event.preventDefault();input.data('moving','hues');moveHue(input,event)}if(testSubject.hasClass('miniColors-selector')){event.preventDefault();return}if(testSubject.hasClass('miniColors'))return;hide(input)});$(document).bind('mouseup.miniColors touchend.miniColors',function(event){event.preventDefault();input.data('mousebutton',0).removeData('moving')}).bind('mousemove.miniColors touchmove.miniColors',function(event){event.preventDefault();if(input.data('mousebutton')===1){if(input.data('moving')==='colors')moveColor(input,event);if(input.data('moving')==='hues')moveHue(input,event)}});if(input.data('open')){input.data('open').call(input.get(0),'#'+hsb2hex(hsb),hsb2rgb(hsb))}};var hide=function(input){if(!input)input='.miniColors';$(input).each(function(){var selector=$(this).data('selector');$(this).removeData('selector');$(selector).fadeOut(100,function(){if(input.data('close')){var hsb=input.data('hsb'),hex=hsb2hex(hsb);input.data('close').call(input.get(0),'#'+hex,hsb2rgb(hsb))}$(this).remove()})});$(document).unbind('.miniColors')};var moveColor=function(input,event){var colorPicker=input.data('colorPicker');colorPicker.hide();var position={x:event.pageX,y:event.pageY};if(event.originalEvent.changedTouches){position.x=event.originalEvent.changedTouches[0].pageX;position.y=event.originalEvent.changedTouches[0].pageY}position.x=position.x-input.data('selector').find('.miniColors-colors').offset().left-5;position.y=position.y-input.data('selector').find('.miniColors-colors').offset().top-5;if(position.x<=-5)position.x=-5;if(position.x>=144)position.x=144;if(position.y<=-5)position.y=-5;if(position.y>=144)position.y=144;input.data('colorPosition',position);colorPicker.css('left',position.x).css('top',position.y).show();var s=Math.round((position.x+5)*0.67);if(s<0)s=0;if(s>100)s=100;var b=100-Math.round((position.y+5)*0.67);if(b<0)b=0;if(b>100)b=100;var hsb=input.data('hsb');hsb.s=s;hsb.b=b;setColor(input,hsb,true)};var moveHue=function(input,event){var huePicker=input.data('huePicker');huePicker.hide();var position={y:event.pageY};if(event.originalEvent.changedTouches){position.y=event.originalEvent.changedTouches[0].pageY}position.y=position.y-input.data('selector').find('.miniColors-colors').offset().top-1;if(position.y<=-1)position.y=-1;if(position.y>=149)position.y=149;input.data('huePosition',position);huePicker.css('top',position.y).show();var h=Math.round((150-position.y-1)*2.4);if(h<0)h=0;if(h>360)h=360;var hsb=input.data('hsb');hsb.h=h;setColor(input,hsb,true)};var setColor=function(input,hsb,updateInput){input.data('hsb',hsb);var hex=hsb2hex(hsb);if(updateInput)input.val('#'+convertCase(hex,input.data('letterCase')));input.data('trigger').css('backgroundColor','#'+hex);if(input.data('selector'))input.data('selector').find('.miniColors-colors').css('backgroundColor','#'+hsb2hex({h:hsb.h,s:100,b:100}));if(input.data('change')){if(hex===input.data('lastChange'))return;input.data('change').call(input.get(0),'#'+hex,hsb2rgb(hsb));input.data('lastChange',hex)}};var setColorFromInput=function(input){input.val('#'+cleanHex(input.val()));var hex=expandHex(input.val());if(!hex)return false;var hsb=hex2hsb(hex);var currentHSB=input.data('hsb');if(hsb.h===currentHSB.h&&hsb.s===currentHSB.s&&hsb.b===currentHSB.b)return true;var colorPosition=getColorPositionFromHSB(hsb);var colorPicker=$(input.data('colorPicker'));colorPicker.css('top',colorPosition.y+'px').css('left',colorPosition.x+'px');input.data('colorPosition',colorPosition);var huePosition=getHuePositionFromHSB(hsb);var huePicker=$(input.data('huePicker'));huePicker.css('top',huePosition.y+'px');input.data('huePosition',huePosition);setColor(input,hsb);return true};var convertCase=function(string,letterCase){if(letterCase==='lowercase')return string.toLowerCase();if(letterCase==='uppercase')return string.toUpperCase();return string};var getColorPositionFromHSB=function(hsb){var x=Math.ceil(hsb.s/0.67);if(x<0)x=0;if(x>150)x=150;var y=150-Math.ceil(hsb.b/0.67);if(y<0)y=0;if(y>150)y=150;return{x:x-5,y:y-5}};var getHuePositionFromHSB=function(hsb){var y=150-(hsb.h/2.4);if(y<0)h=0;if(y>150)h=150;return{y:y-1}};var cleanHex=function(hex){return hex.replace(/[^A-F0-9]/ig,'')};var expandHex=function(hex){hex=cleanHex(hex);if(!hex)return null;if(hex.length===3)hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];return hex.length===6?hex:null};var hsb2rgb=function(hsb){var rgb={};var h=Math.round(hsb.h);var s=Math.round(hsb.s*255/100);var v=Math.round(hsb.b*255/100);if(s===0){rgb.r=rgb.g=rgb.b=v}else{var t1=v;var t2=(255-s)*v/255;var t3=(t1-t2)*(h%60)/60;if(h===360)h=0;if(h<60){rgb.r=t1;rgb.b=t2;rgb.g=t2+t3}else if(h<120){rgb.g=t1;rgb.b=t2;rgb.r=t1-t3}else if(h<180){rgb.g=t1;rgb.r=t2;rgb.b=t2+t3}else if(h<240){rgb.b=t1;rgb.r=t2;rgb.g=t1-t3}else if(h<300){rgb.b=t1;rgb.g=t2;rgb.r=t2+t3}else if(h<360){rgb.r=t1;rgb.g=t2;rgb.b=t1-t3}else{rgb.r=0;rgb.g=0;rgb.b=0}}return{r:Math.round(rgb.r),g:Math.round(rgb.g),b:Math.round(rgb.b)}};var rgb2hex=function(rgb){var hex=[rgb.r.toString(16),rgb.g.toString(16),rgb.b.toString(16)];$.each(hex,function(nr,val){if(val.length===1)hex[nr]='0'+val});return hex.join('')};var hex2rgb=function(hex){hex=parseInt(((hex.indexOf('#')>-1)?hex.substring(1):hex),16);return{r:hex>>16,g:(hex&0x00FF00)>>8,b:(hex&0x0000FF)}};var rgb2hsb=function(rgb){var hsb={h:0,s:0,b:0};var min=Math.min(rgb.r,rgb.g,rgb.b);var max=Math.max(rgb.r,rgb.g,rgb.b);var delta=max-min;hsb.b=max;hsb.s=max!==0?255*delta/max:0;if(hsb.s!==0){if(rgb.r===max){hsb.h=(rgb.g-rgb.b)/delta}else if(rgb.g===max){hsb.h=2+(rgb.b-rgb.r)/delta}else{hsb.h=4+(rgb.r-rgb.g)/delta}}else{hsb.h=-1}hsb.h*=60;if(hsb.h<0){hsb.h+=360}hsb.s*=100/255;hsb.b*=100/255;return hsb};var hex2hsb=function(hex){var hsb=rgb2hsb(hex2rgb(hex));if(hsb.s===0)hsb.h=360;return hsb};var hsb2hex=function(hsb){return rgb2hex(hsb2rgb(hsb))};switch(o){case'readonly':$(this).each(function(){if(!$(this).hasClass('miniColors'))return;$(this).prop('readonly',data)});return $(this);case'disabled':$(this).each(function(){if(!$(this).hasClass('miniColors'))return;if(data){disable($(this))}else{enable($(this))}});return $(this);case'value':if(data===undefined){if(!$(this).hasClass('miniColors'))return;var input=$(this),hex=expandHex(input.val());return hex?'#'+convertCase(hex,input.data('letterCase')):null}$(this).each(function(){if(!$(this).hasClass('miniColors'))return;$(this).val(data);setColorFromInput($(this))});return $(this);case'destroy':$(this).each(function(){if(!$(this).hasClass('miniColors'))return;destroy($(this))});return $(this);default:if(!o)o={};$(this).each(function(){if($(this)[0].tagName.toLowerCase()!=='input')return;if($(this).data('trigger'))return;create($(this),o,data)});return $(this)}}})})(jQuery); \ No newline at end of file +if(jQuery)(function($){$.extend($.fn,{miniColors:function(o,data){var create=function(input,o,data){var color=expandHex(input.val())||'ffffff',hsb=hex2hsb(color),rgb=hsb2rgb(hsb),alpha=parseFloat(input.attr('data-opacity')).toFixed(2);if(alpha>1)alpha=1;if(alpha<0)alpha=0;var trigger=$('<a class="miniColors-trigger" style="background-color: #'+color+'" href="#"></a>');trigger.insertAfter(input);trigger.wrap('<span class="miniColors-triggerWrap"></span>');if(o.opacity){trigger.css('backgroundColor','rgba('+rgb.r+', '+rgb.g+', '+rgb.b+', '+alpha+')')}input.addClass('miniColors').data('original-maxlength',input.attr('maxlength')||null).data('original-autocomplete',input.attr('autocomplete')||null).data('letterCase',o.letterCase==='uppercase'?'uppercase':'lowercase').data('opacity',o.opacity?true:false).data('alpha',alpha).data('trigger',trigger).data('hsb',hsb).data('change',o.change?o.change:null).data('close',o.close?o.close:null).data('open',o.open?o.open:null).attr('maxlength',7).attr('autocomplete','off').val('#'+convertCase(color,o.letterCase));if(o.readonly||input.prop('readonly'))input.prop('readonly',true);if(o.disabled||input.prop('disabled'))disable(input);trigger.on('click.miniColors',function(event){event.preventDefault();if(input.val()==='')input.val('#');show(input)});input.on('focus.miniColors',function(event){if(input.val()==='')input.val('#');show(input)});input.on('blur.miniColors',function(event){var hex=expandHex(hsb2hex(input.data('hsb')));input.val(hex?'#'+convertCase(hex,input.data('letterCase')):'')});input.on('keydown.miniColors',function(event){if(event.keyCode===9)hide(input)});input.on('keyup.miniColors',function(event){setColorFromInput(input)});input.on('paste.miniColors',function(event){setTimeout(function(){setColorFromInput(input)},5)})};var destroy=function(input){hide();input=$(input);input.data('trigger').parent().remove();input.attr('autocomplete',input.data('original-autocomplete')).attr('maxlength',input.data('original-maxlength')).removeData().removeClass('miniColors').off('.miniColors');$(document).off('.miniColors')};var enable=function(input){input.prop('disabled',false).data('trigger').parent().removeClass('disabled')};var disable=function(input){hide(input);input.prop('disabled',true).data('trigger').parent().addClass('disabled')};var show=function(input){if(input.prop('disabled'))return false;hide();var selector=$('<div class="miniColors-selector"></div>');selector.append('<div class="miniColors-hues"><div class="miniColors-huePicker"></div></div>').append('<div class="miniColors-colors" style="background-color: #FFF;"><div class="miniColors-colorPicker"><div class="miniColors-colorPicker-inner"></div></div>').css('display','none').addClass(input.attr('class'));if(input.data('opacity')){selector.addClass('opacity').prepend('<div class="miniColors-opacity"><div class="miniColors-opacityPicker"></div></div>')}var hsb=input.data('hsb');selector.find('.miniColors-colors').css('backgroundColor','#'+hsb2hex({h:hsb.h,s:100,b:100})).end().find('.miniColors-opacity').css('backgroundColor','#'+hsb2hex({h:hsb.h,s:hsb.s,b:hsb.b})).end();var colorPosition=input.data('colorPosition');if(!colorPosition)colorPosition=getColorPositionFromHSB(hsb);selector.find('.miniColors-colorPicker').css('top',colorPosition.y+'px').css('left',colorPosition.x+'px');var huePosition=input.data('huePosition');if(!huePosition)huePosition=getHuePositionFromHSB(hsb);selector.find('.miniColors-huePicker').css('top',huePosition+'px');var opacityPosition=input.data('opacityPosition');if(!opacityPosition)opacityPosition=getOpacityPositionFromAlpha(input.attr('data-opacity'));selector.find('.miniColors-opacityPicker').css('top',opacityPosition+'px');input.data('selector',selector).data('huePicker',selector.find('.miniColors-huePicker')).data('opacityPicker',selector.find('.miniColors-opacityPicker')).data('colorPicker',selector.find('.miniColors-colorPicker')).data('mousebutton',0);$('BODY').append(selector);var trigger=input.data('trigger'),hidden=!input.is(':visible'),top=hidden?trigger.offset().top+trigger.outerHeight():input.offset().top+input.outerHeight(),left=hidden?trigger.offset().left:input.offset().left,selectorWidth=selector.outerWidth(),selectorHeight=selector.outerHeight(),triggerWidth=trigger.outerWidth(),triggerHeight=trigger.outerHeight(),windowHeight=$(window).height(),windowWidth=$(window).width(),scrollTop=$(window).scrollTop(),scrollLeft=$(window).scrollLeft();if((top+selectorHeight)>windowHeight+scrollTop)top=top-selectorHeight-triggerHeight;if((left+selectorWidth)>windowWidth+scrollLeft)left=left-selectorWidth+triggerWidth;selector.css({top:top,left:left}).fadeIn(100);selector.on('selectstart',function(){return false});if(!$.browser.msie||($.browser.msie&&$.browser.version>=9)){$(window).on('resize.miniColors',function(event){hide(input)})}$(document).on('mousedown.miniColors touchstart.miniColors',function(event){input.data('mousebutton',1);var testSubject=$(event.target).parents().andSelf();if(testSubject.hasClass('miniColors-colors')){event.preventDefault();input.data('moving','colors');moveColor(input,event)}if(testSubject.hasClass('miniColors-hues')){event.preventDefault();input.data('moving','hues');moveHue(input,event)}if(testSubject.hasClass('miniColors-opacity')){event.preventDefault();input.data('moving','opacity');moveOpacity(input,event)}if(testSubject.hasClass('miniColors-selector')){event.preventDefault();return}if(testSubject.hasClass('miniColors'))return;hide(input)}).on('mouseup.miniColors touchend.miniColors',function(event){event.preventDefault();input.data('mousebutton',0).removeData('moving')}).on('mousemove.miniColors touchmove.miniColors',function(event){event.preventDefault();if(input.data('mousebutton')===1){if(input.data('moving')==='colors')moveColor(input,event);if(input.data('moving')==='hues')moveHue(input,event);if(input.data('moving')==='opacity')moveOpacity(input,event)}});if(input.data('open')){input.data('open').call(input.get(0),'#'+hsb2hex(hsb),$.extend(hsb2rgb(hsb),{a:parseFloat(input.attr('data-opacity'))}))}};var hide=function(input){if(!input)input=$('.miniColors');input.each(function(){var selector=$(this).data('selector');$(this).removeData('selector');$(selector).fadeOut(100,function(){if(input.data('close')){var hsb=input.data('hsb'),hex=hsb2hex(hsb);input.data('close').call(input.get(0),'#'+hex,$.extend(hsb2rgb(hsb),{a:parseFloat(input.attr('data-opacity'))}))}$(this).remove()})});$(document).off('.miniColors')};var moveColor=function(input,event){var colorPicker=input.data('colorPicker');colorPicker.hide();var position={x:event.pageX,y:event.pageY};if(event.originalEvent.changedTouches){position.x=event.originalEvent.changedTouches[0].pageX;position.y=event.originalEvent.changedTouches[0].pageY}position.x=position.x-input.data('selector').find('.miniColors-colors').offset().left-6;position.y=position.y-input.data('selector').find('.miniColors-colors').offset().top-6;if(position.x<=-5)position.x=-5;if(position.x>=144)position.x=144;if(position.y<=-5)position.y=-5;if(position.y>=144)position.y=144;input.data('colorPosition',position);colorPicker.css('left',position.x).css('top',position.y).show();var s=Math.round((position.x+5)*0.67);if(s<0)s=0;if(s>100)s=100;var b=100-Math.round((position.y+5)*0.67);if(b<0)b=0;if(b>100)b=100;var hsb=input.data('hsb');hsb.s=s;hsb.b=b;setColor(input,hsb,true)};var moveHue=function(input,event){var huePicker=input.data('huePicker');huePicker.hide();var position=event.pageY;if(event.originalEvent.changedTouches){position=event.originalEvent.changedTouches[0].pageY}position=position-input.data('selector').find('.miniColors-colors').offset().top-1;if(position<=-1)position=-1;if(position>=149)position=149;input.data('huePosition',position);huePicker.css('top',position).show();var h=Math.round((150-position-1)*2.4);if(h<0)h=0;if(h>360)h=360;var hsb=input.data('hsb');hsb.h=h;setColor(input,hsb,true)};var moveOpacity=function(input,event){var opacityPicker=input.data('opacityPicker');opacityPicker.hide();var position=event.pageY;if(event.originalEvent.changedTouches){position=event.originalEvent.changedTouches[0].pageY}position=position-input.data('selector').find('.miniColors-colors').offset().top-1;if(position<=-1)position=-1;if(position>=149)position=149;input.data('opacityPosition',position);opacityPicker.css('top',position).show();var alpha=parseFloat((150-position-1)/150).toFixed(2);if(alpha<0)alpha=0;if(alpha>1)alpha=1;input.data('alpha',alpha).attr('data-opacity',alpha);setColor(input,input.data('hsb'),true)};var setColor=function(input,hsb,updateInput){input.data('hsb',hsb);var hex=hsb2hex(hsb),selector=$(input.data('selector'));if(updateInput)input.val('#'+convertCase(hex,input.data('letterCase')));selector.find('.miniColors-colors').css('backgroundColor','#'+hsb2hex({h:hsb.h,s:100,b:100})).end().find('.miniColors-opacity').css('backgroundColor','#'+hex).end();var rgb=hsb2rgb(hsb);input.data('trigger').css('backgroundColor','#'+hex);if(input.data('opacity')){input.data('trigger').css('backgroundColor','rgba('+rgb.r+', '+rgb.g+', '+rgb.b+', '+input.attr('data-opacity')+')')}if(input.data('change')){if((hex+','+input.attr('data-opacity'))===input.data('lastChange'))return;input.data('change').call(input.get(0),'#'+hex,$.extend(hsb2rgb(hsb),{a:parseFloat(input.attr('data-opacity'))}));input.data('lastChange',hex+','+input.attr('data-opacity'))}};var setColorFromInput=function(input){input.val('#'+cleanHex(input.val()));var hex=expandHex(input.val());if(!hex)return false;var hsb=hex2hsb(hex);var colorPosition=getColorPositionFromHSB(hsb);var colorPicker=$(input.data('colorPicker'));colorPicker.css('top',colorPosition.y+'px').css('left',colorPosition.x+'px');input.data('colorPosition',colorPosition);var huePosition=getHuePositionFromHSB(hsb);var huePicker=$(input.data('huePicker'));huePicker.css('top',huePosition+'px');input.data('huePosition',huePosition);var opacityPosition=getOpacityPositionFromAlpha(input.attr('data-opacity'));var opacityPicker=$(input.data('opacityPicker'));opacityPicker.css('top',opacityPosition+'px');input.data('opacityPosition',opacityPosition);setColor(input,hsb);return true};var convertCase=function(string,letterCase){if(letterCase==='uppercase'){return string.toUpperCase()}else{return string.toLowerCase()}};var getColorPositionFromHSB=function(hsb){var x=Math.ceil(hsb.s/0.67);if(x<0)x=0;if(x>150)x=150;var y=150-Math.ceil(hsb.b/0.67);if(y<0)y=0;if(y>150)y=150;return{x:x-5,y:y-5}};var getHuePositionFromHSB=function(hsb){var y=150-(hsb.h/2.4);if(y<0)h=0;if(y>150)h=150;return y};var getOpacityPositionFromAlpha=function(alpha){var y=150*alpha;if(y<0)y=0;if(y>150)y=150;return 150-y};var cleanHex=function(hex){return hex.replace(/[^A-F0-9]/ig,'')};var expandHex=function(hex){hex=cleanHex(hex);if(!hex)return null;if(hex.length===3)hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];return hex.length===6?hex:null};var hsb2rgb=function(hsb){var rgb={};var h=Math.round(hsb.h);var s=Math.round(hsb.s*255/100);var v=Math.round(hsb.b*255/100);if(s===0){rgb.r=rgb.g=rgb.b=v}else{var t1=v;var t2=(255-s)*v/255;var t3=(t1-t2)*(h%60)/60;if(h===360)h=0;if(h<60){rgb.r=t1;rgb.b=t2;rgb.g=t2+t3}else if(h<120){rgb.g=t1;rgb.b=t2;rgb.r=t1-t3}else if(h<180){rgb.g=t1;rgb.r=t2;rgb.b=t2+t3}else if(h<240){rgb.b=t1;rgb.r=t2;rgb.g=t1-t3}else if(h<300){rgb.b=t1;rgb.g=t2;rgb.r=t2+t3}else if(h<360){rgb.r=t1;rgb.g=t2;rgb.b=t1-t3}else{rgb.r=0;rgb.g=0;rgb.b=0}}return{r:Math.round(rgb.r),g:Math.round(rgb.g),b:Math.round(rgb.b)}};var rgb2hex=function(rgb){var hex=[rgb.r.toString(16),rgb.g.toString(16),rgb.b.toString(16)];$.each(hex,function(nr,val){if(val.length===1)hex[nr]='0'+val});return hex.join('')};var hex2rgb=function(hex){hex=parseInt(((hex.indexOf('#')>-1)?hex.substring(1):hex),16);return{r:hex>>16,g:(hex&0x00FF00)>>8,b:(hex&0x0000FF)}};var rgb2hsb=function(rgb){var hsb={h:0,s:0,b:0};var min=Math.min(rgb.r,rgb.g,rgb.b);var max=Math.max(rgb.r,rgb.g,rgb.b);var delta=max-min;hsb.b=max;hsb.s=max!==0?255*delta/max:0;if(hsb.s!==0){if(rgb.r===max){hsb.h=(rgb.g-rgb.b)/delta}else if(rgb.g===max){hsb.h=2+(rgb.b-rgb.r)/delta}else{hsb.h=4+(rgb.r-rgb.g)/delta}}else{hsb.h=-1}hsb.h*=60;if(hsb.h<0){hsb.h+=360}hsb.s*=100/255;hsb.b*=100/255;return hsb};var hex2hsb=function(hex){var hsb=rgb2hsb(hex2rgb(hex));if(hsb.s===0)hsb.h=360;return hsb};var hsb2hex=function(hsb){return rgb2hex(hsb2rgb(hsb))};switch(o){case'readonly':$(this).each(function(){if(!$(this).hasClass('miniColors'))return;$(this).prop('readonly',data)});return $(this);case'disabled':$(this).each(function(){if(!$(this).hasClass('miniColors'))return;if(data){disable($(this))}else{enable($(this))}});return $(this);case'value':if(data===undefined){if(!$(this).hasClass('miniColors'))return;var input=$(this),hex=expandHex(input.val());return hex?'#'+convertCase(hex,input.data('letterCase')):null}$(this).each(function(){if(!$(this).hasClass('miniColors'))return;$(this).val(data);setColorFromInput($(this))});return $(this);case'opacity':if(data===undefined){if(!$(this).hasClass('miniColors'))return;if($(this).data('opacity')){return parseFloat($(this).attr('data-opacity'))}else{return null}}$(this).each(function(){if(!$(this).hasClass('miniColors'))return;if(data<0)data=0;if(data>1)data=1;$(this).attr('data-opacity',data).data('alpha',data);setColorFromInput($(this))});return $(this);case'destroy':$(this).each(function(){if(!$(this).hasClass('miniColors'))return;destroy($(this))});return $(this);default:if(!o)o={};$(this).each(function(){if($(this)[0].tagName.toLowerCase()!=='input')return;if($(this).data('trigger'))return;create($(this),o,data)});return $(this)}}})})(jQuery); \ No newline at end of file -- GitLab