From 9fa492da8663f288f4670402f14203ed4fe12210 Mon Sep 17 00:00:00 2001 From: mshujamalik-ebi Date: Tue, 14 Apr 2026 10:04:49 +0100 Subject: [PATCH 01/13] Minimal footer --- components/vf-componenet-rollup/index.scss | 1 + components/vf-minimal-footer/.npmignore | 4 ++ components/vf-minimal-footer/CHANGELOG.md | 40 ++++++++++++++++++ components/vf-minimal-footer/README.md | 31 ++++++++++++++ .../assets/embl-ebi-rgb-all-white.png | Bin 0 -> 37250 bytes .../assets/embl-ebi-rgb-full-colour.png | Bin 0 -> 35421 bytes components/vf-minimal-footer/index.scss | 11 +++++ components/vf-minimal-footer/package.json | 23 ++++++++++ .../vf-minimal-footer.config.yml | 8 ++++ .../vf-minimal-footer/vf-minimal-footer.njk | 38 +++++++++++++++++ .../vf-minimal-footer/vf-minimal-footer.scss | 12 ++++++ 11 files changed, 168 insertions(+) create mode 100644 components/vf-minimal-footer/.npmignore create mode 100755 components/vf-minimal-footer/CHANGELOG.md create mode 100755 components/vf-minimal-footer/README.md create mode 100644 components/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png create mode 100644 components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.png create mode 100755 components/vf-minimal-footer/index.scss create mode 100755 components/vf-minimal-footer/package.json create mode 100755 components/vf-minimal-footer/vf-minimal-footer.config.yml create mode 100755 components/vf-minimal-footer/vf-minimal-footer.njk create mode 100644 components/vf-minimal-footer/vf-minimal-footer.scss diff --git a/components/vf-componenet-rollup/index.scss b/components/vf-componenet-rollup/index.scss index 32a00e31b9..e72cdc292a 100755 --- a/components/vf-componenet-rollup/index.scss +++ b/components/vf-componenet-rollup/index.scss @@ -139,6 +139,7 @@ button { @import 'vf-news-container/vf-news-container.scss'; @import 'vf-video-container/vf-video-container.scss'; @import 'vf-footer/vf-footer.scss'; +@import 'vf-minimal-footer/vf-minimal-footer.scss'; @import 'vf-show-more/vf-show-more.scss'; diff --git a/components/vf-minimal-footer/.npmignore b/components/vf-minimal-footer/.npmignore new file mode 100644 index 0000000000..cd8944a123 --- /dev/null +++ b/components/vf-minimal-footer/.npmignore @@ -0,0 +1,4 @@ +bin +.github +.travis.yml +node_modules diff --git a/components/vf-minimal-footer/CHANGELOG.md b/components/vf-minimal-footer/CHANGELOG.md new file mode 100755 index 0000000000..45bef672fc --- /dev/null +++ b/components/vf-minimal-footer/CHANGELOG.md @@ -0,0 +1,40 @@ +### 1.2.1 + +* Changes to footer based on `EMBL-EBI Intranet` implementation findings [Tracking issue](https://github.com/visual-framework/vf-core/issues/1978) + +### 1.2.0 + +* Requires at least `@visual-framework@vf-sass-config@2.6.1`. +* Specify the footer link colours. + * https://github.com/visual-framework/vf-core/pull/1606 + +### 1.1.1 + +* changes any `set-` style functions to cleaner version + +### 1.1.0 + +* removes inline padding as it's defunct when using the `vf-body` component + +### 1.0.6 + +* dependency bump + +### 1.0.3 + +* updates max-width of component + +### 1.0.2 + +* Removes need for `.vf-body` on `.vf-minimal-footer` +* Refines layout spacing +* Allows for footer headers to be links + +### 1.0.1 + +* Darkens background +* Updates layout + +### 1.0.0 + +* Initial stable release diff --git a/components/vf-minimal-footer/README.md b/components/vf-minimal-footer/README.md new file mode 100755 index 0000000000..9642515361 --- /dev/null +++ b/components/vf-minimal-footer/README.md @@ -0,0 +1,31 @@ +# Footer component + +[![npm version](https://badge.fury.io/js/%40visual-framework%2Fvf-minimal-footer.svg)](https://badge.fury.io/js/%40visual-framework%2Fvf-minimal-footer) + +## About + +A minimal verison of the container for links, copyright and other common content at the bottom of webpages. + +## Install + +This component is distributed with npm. After [installing npm](https://www.npmjs.com/get-npm), you can install the `vf-minimal-footer` with this command. + +``` +$ yarn add --dev @visual-framework/vf-minimal-footer +``` + +### Sass/CSS + +The source files included are written in [Sass](http://sass-lang.com)(`scss`). You can point your Sass `include-path` at your `node_modules` directory and import it like this. + +``` +@import "@visual-framework/vf-minimal-footer/index.scss"; +``` + +Make sure you import Sass requirements along with the modules. You can use a [project boilerplate](https://stable.visual-framework.dev/building/) or the [`vf-sass-starter`](https://stable.visual-framework.dev/components/vf-sass-starter/) + +## Help + +- [Read the Visual Framework troubleshooting](https://stable.visual-framework.dev/troubleshooting/) +- [Open a ticket](https://github.com/visual-framework/vf-core/issues) +- [Chat on Slack](https://join.slack.com/t/visual-framework/shared_invite/enQtNDAxNzY0NDg4NTY0LWFhMjEwNGY3ZTk3NWYxNWVjOWQ1ZWE4YjViZmY1YjBkMDQxMTNlNjQ0N2ZiMTQ1ZTZiMGM4NjU5Y2E0MjM3ZGQ) diff --git a/components/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png b/components/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad3760faa3fdadd2de547d29cf4779f934456ea GIT binary patch literal 37250 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 U^U}GzB0+jQUHx3vIVCg!0P>u|R{#J2 literal 0 HcmV?d00001 diff --git a/components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.png b/components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.png new file mode 100644 index 0000000000000000000000000000000000000000..84e051d61eae500d96fdc8226efea11cea5272e2 GIT binary patch literal 35421 zcmZ6z2UJsA*EJmVVgZ$_Ql;4ijFiy3f`~|yPJn>4AkqvSLjVhkQ~?Eo6cMEx2$9f1 zX`uunQbXt{pb1T+w{Iid=l#d;7!2X$oPBm#d#yR=T01Z9=xQ8eKFth)K#pnNx?uo; z93(*?`?(Jv1XtF0Mi;<;M;_dQdqNfLjpRtqdu zi7NS@PYIVeqWJPO?Lc(Y!-;=Se_iwvL($#(* zRl3iYeLYlMMJC_>7|K562 zl%pXE+*a`-HT;esS|Sa)MeR$o5RBYwDuZ3)^49uObv$j$vr}?AP8TNl{J)PREp)ey z!Nqg=ub1amD3fswoK{X^ivP9jNK8(Z)**B*j2}nXZ{JmhTlzPAd9d}p?9k4e?`k7k ze+Kcs730|0X`|OgZu7F$12NtdyTAR4xCxE;(QnO2-y(uRXFWOkEZy_y&L_e8iC42! z*za($D2MaezhO#diHO?kkh426c`Gl|iOBLW*`|K1Ms!5+t`{3vZ1B&_8LvjSW?SLf zc7yisQ!?N^uygh9V94>0#IK|k(FoJ0fkILHb}kkYLC;i#?9=diN7O5198yo`U)~#2 z4|Ut%i`}}rSM>Fu{~FfXnQZnUDdNd;QdEm9yID}!?hx|xf~-2mlh_^{7i0dvOO_qu zYfzu^ec1or<}=1`6=X~u&&}yPmis|=$0{M8<<|s+1GKjbgFS~&MxZ}>=H1Hve zRuaqix9{so-J47Ll#0npB92A&kQw^F&SwOfj@sqoX~%Li_PW%M)#KPE){2L0JMNo= zIP2{;9PGWACj8KH$0`$;k`LuqQEvQw;b%i~d?%+)C!;ZKdWA6mLMFtH&LE_y#A1y)wXuon41; zZ_$i5tM;f@zk>-sysmKY<&lqiti?HU?({HN4|_EWt(vWw;wI)klS746lAMYpQ(%ZXTqr^V!w_Y5(VtHOR~);cl_e-60mQp zz^h*W0W0{=pWeIBpdB6a!UN!VjPt&NfVM$p4u0^3^ylhW4C5c zayCXC5{{5U=@GiH*E#l9FyMkuL>2!ET+{qaxO#TbS4kbA@vg1jRr`5&Lp~Q`GC$4& z`7(UZ0&2q6jgNJU`&bAPd9&orpf5K|nAnH#??Ejw;ugAfo^zQ_N!x4O^vQIVX%*mE zRkCK-DstYDmpttcQaXGPGj94jk3()tTj=Vs@KbzglMBsbuw_wT65AITCwe5?RKOb5 ztUR%Wo7n>=ekr+gTN*f9hZ)cCNly7etEKshlT#NZ`~>&b_B?2*L|8b235|&ejzCz~ z&^MBa0;a%puJg)lg;Fo@> zEL!yc-a=Cki4J6haA3bk{P$v-lSA}Y`PfX3(S7trFT1Z$(X;=C@ez#7b@GjxE9HwO za8xyGWW&F%{%ac5qnsw$77l`j`{uW0{Q0ROipb6mhgs+r06Wh9?(h|z{^1jO%(HN6 zep$&>6N|tFdJ!T`Y2Jf>CWq4)NrdBEz?ic;jjpxL!;RYYwX)+s_ z3~~XhVa?uh+|#>!cXtK0qZswoZ}d2xmmN=)CETf$Z%Kp;?yqVEm+fz&_C|aX*b3U_ zkTPr=%okaD;--<6*iy7UU z%nM=`y4Ll_3kDj(?mXzzQ#y!yJcIwvcWYi;z%&`ob#cY8#qN@cC(=}$&`GX&zHg&B z?)Z+S%_*Yl2Oabfiafx5$y(?}8}Lg;#jcC|5IxD%HpMiR>i-3cuy1lHAdyuy z`YWg&Nv;a7wy|6R#V(jsz?dM5R#tEOKqH7#1`n^Y@mn}Q{&c42}4_noK$3^HW z;Q&@2wl~L@L(dOAvn;gsr%LJ+p)jb*F}Je~@d6WZ>P7EvT*qF#N@R@89XC;#U_rOowEf!=pi{j05*N$1v~r>z$K{3Qb8J_uH5G}oI-Qbf zl*{2yy42(EbzvJsie_OB@s)|(d{I&oYkOF2WS{WQYv#>E-6tzzO;n;Wx*}t;U&gf? zUbEUS;S;HW0}1)x$y>4Xl@}OxmX}5o5|94wO2sC_uxn~^x2h7lUGai*>0-bbOYFY< zP~V`?M8+vjTnPz;QV%U1?DTRn)r}#1|e6cqEV;O?? z1u%qkSD4J8C~>5R0oYn+WhZ(?{zr$S$$9i{v{%&DQIDTEHF(Vqcuq7^a^2mrTMbFf zc9F~Ql)XJQb3)^5H?k{y36}TGC*-oy5;^z%E)IH7bDDG7S#k2!eWg z%r_tdK4p1R<@Z}Ri` zy)ZFQ&^Z5;6O8ZWedwp;-M&hw_c8z9$4qm0(f-zaWhtL~QAz~i|30t-FEEi+cJ0bI zV}~r}22Qb&PaiN4vl#VrBf>Lk{@0D#q}ir)1rA`H~hGnkQV1s&tOf zS<0G7p1DN0U5x0B+?4y<*g-Z<%<>q;kfWhs?D3lZOvA{|ir30`Y(?G31i@Ff_lvtd zaagjg{nYWZgyD5CL-usuiWutkPD#cbGdZd~?On1u308;bE1Hxbuh5_O;z`lcWBk3|I5dIssk7LLt=1=pA}_4{FGG7PgVJC6{vua@bK0hL*X590o3Dj~!hzIl$RyVwGk2PpTfrEC{|=?~QKh zFz#ucLoSUcIrwl(Tv7i;USj52#-1ls8IiO`p4Vevi@lR_LKgqml^5$%M-f~W{wW@R zEEwN}ZJ=<$q6<6=J{gJd$Gt)tH4WrUCPf@C_O-!?A78k#W<3UfyBSJ#7DvW=eWy!Y zXv;siyQ8k@UJhYvG^vhUU%zmo;#T$P!Y5Ggm>=rUqF1k|%iORxI5_e{6@>%85?3Ed zes+!^wa1CXO`3}p(jA1kf?>OHTP#D^`6bIABlciAM+DZdksRB6jSB-*?7 zdfWLW@9dmw(L223^1ZCN$&Cd7b+Bu1QS<9!b>pmj5*on4w~iHq5Zm^CW`Y}y9G!P> zWyrj?CrSY{!}&mjy60bG!}xA};Djf2rQEs#Hk+3+{AtL#=$lMAtp`nCz5gIA3)_qD z)?6Vpm<;sZM*ehpKf`a){E8|AYfXS_dhPmLO`vRyKPEjJT$&u_GeqwBh{K!tX-I~b6X}GY156{l@Tfe^0p6^(+Ur7B`60?O6VBQ z9`F{xD$!nIt3sLDCvGBV*9D&qqLfvZR~6EJ<|#8TsI9sn1pX47uQedbo9f%-zd&57 z;vkJ}Y2_&;KD?S6P&*U1^>LKZP?h=6@b2H}VRtkIendU>^su9|1@9g|dTHRw@>z;O zcx~Yt5`Vh!+Yb}kdOmTXExqyaME{=SG3dulQR+qq@2yT z`pIbEkyQUVuZEN;XIgsBZsdAzKp$I9R4{KGYBS8};P5=lzKb^QGT1_YNh~Rmf*tp^ z*8il0U_4r7>GE6EEW4on!C8AG+n_A}4^~lhg!kDyvBUofGB4``in5DkrOg+b-}Tgv z+zWrW^9!y_JV?1~P1%CRb7;4-!LLMw1EfjH?`CsB@W>bUU6+F80UC3-VSvu8hjC>| z+S`-2r9^_GtG*f_P=z}%KNsC*GVmeswrc^E?%lpeOm5{6nMT6FUE1TOszACw)0E2%@k&<`gZnBM2}O|s24czE52q_$yzRcdYix8~Dl za<#z7vhr)P{n8nXLyr$4VTrs0P=fP;8+GfHM5FehCR2yK*)&9*ANU+j?2@hg@Ok?XI$Ho9L?_1iZY_DkU>VY@38{CLppMnK96RL%F> zbzH;x?Q-*KGX7sH6jI8oxC>x1+~Zakxnq1@Z{(s#md5XO%N@zm-FJdbYP zn`LGx5ZlJaW<6)}YbbEb!@A}FnqR+c5Rb!y(Q#EY*vDJNyTt>~kELw7lA%8n%VlF{ zNFau2BTJ0FDlOH47;_8r_1k~Fs@+kBP|=0e@&&l@$F|?1-alT(Ge`R>IG{9<)Mmyh z=9zEW)$Ya&MfsojI&sBkRb2>sSnIFr*v*`*xWA~8|1L4vO-844xz=gQV@-UBn)WS_ zSKlP5u3kO0_QOmIH9EZYgIv=~>W?IQqUk-PW(CfzlCs9T$qj)_K|Lj=H{`wQ{2?s=oM5dKK)a=d3#za; zmqgCIj-^t;it2b5?&n~*oA;7qXC^NbtS$`l;GO|RV`qe)Kik^mzY3|p^=;mLY_wfa_>Z~w82j!VKn`bv-( zn3g&DR{jLJ-4>~tHr)5a&;wZ@Vb5{%gj)lyIk_>3+ABl45-80m+wlRP{TeD5T0Go7 zG=1K<*V>H3@_=G#%)4#9LYSpnOo;i|UNF@}J{MXxbyjX?$W~u6@Oj<@bw^&FU+K2z zXh+v$r%B83NbGBA-Fae$F%pDW^%U-%mLnQm8Z%+c32C zbrf_Z0LY}myM_Q6yM^<8t+?!7SB=1Iyes9Z)O+Xg+f8Tup?PQ%UNqr zJXt7TqJeighjAowl2$_YlUo(G9AOp1Z@SReFfHdL6c9gp43VR9X5Y7zUi`sQe|hR7 zDGO&M?AUiK?k-mqH2c!Yr5g`BNavgxwX&jKvq@HAIxmjKz+c>N$uIGI4ToWnKBvR2 zF6N35RE`Dl?~GpTw&rr~&+9tjX=PnYyj@GDThlYi(zaQ&zN*}*dH4D#96nD(VmHuC z!3Wl}o^5)$onGAkfLG15E>K>kSsQ7b^Xcma!rCtL`3xam3HY|duk20I0MjC+!Xu-D z7%6tf)s)=`@-|3H1X2S9;pda_sN5_dQECtMN9CfcWKG7`^LM1J7V>|08jEBC+z|&1@XvB{hXEeyT40(J-y7kuew#N>2 zlhIiiJGC8Gcm~7GiCjMkqx}TR*mH6qYCy7WS!t_!vUF;p3<#g1wpK8-Ja+S3fOO#C z_$)fAB>e$yx0`i`!(V8Cri|t`1SYqbfJB?;lvI`JwDcy^e>FJh2W@2*(aT1JP!uF-Xovm)~NDQ|m3!~P!q#)a2dvPbq+LWY?aw>J{3nBkxWCH^d- z4!m*t=5r9m%&$ATPGui!XlzXVo6iwTt}7L^DuSwqe?4}B({T8r<(R?6I>?_AEGdXdI|`I^T>?o2Q#Xp?C_m_#eU@NN(ce|SkKWtS z+#Bz*3u?(|MMtkfBVKA%Ek}`yT3*AO?S@rNDLy~2(+;xRu@$7i>1(%hNWDL&BszCh zq&oSq@bQcNdS!m{J6c^-Xf?Bz0>0v+ch*z#Z@2^T&58_f6m*BbvG8fqUPPnsJaBaV z7FEWBT{Qm8hXL~N&OC{|Efq|4CU<*Qf>h4soZ}oEL2oj-ZS|5OGo1pp<+gN?)DZHJ zLld<3@aM@D8z2H?0`=eL>39`m74?)Hc)EEVs)0;6;NT-4yG->hk=TP7k3hoYtGL)z z!RO(9`(D;Zp3@o*uaUWWQgnYSw5AK25+4u3-7PG&CkeTv1M(dY;$;cO;+}SINrafQ zggbAyMY`ut`YEJA14{&wc8#A6q!4*Iiw^UKK`U|^E7=X~;qdpocrJ3C>5) zp)W69ExMr*!Ui{qvU{#`5+82gv>zTtj$&zLTtFe$K`4wqOXxJ)&;&u2B?RC0l!T6o z#5-i}+B4G&rlPYqYf?T~ZA2o>3k>;0VhRATesy!g))#caiib$fKz7Quz_7B&h0^C_93W!6Hc0CROkJ#y zxWq2|zw;K%f^r&^IF4BE#kPxi@nd4jn@;j^RIc#wX7ZlxsV668=ExB;VjSbOnivZ^ z%3j1Qp)(am<99+f3oJyEJ)+)X))V*e$hFb2vESD>H1XLFIc9MxZSzgzt6LXI_)}U# znBtQaYN}T2uR)kxp5!IzLVb~=eQ21Lus>-aj9jESG+*Lzo?vv|S52QWh2P7CUb|@9 z;Uv1nQ1%dCdFPbWSsLnxT{uD7^r~)KRXAA&IG$#Oxm(3+s@-zPF9{%hugFi%-uezg ztjmuLrXw&G^^jB8&D+QhkQEboAkbKm|DToL$tkrqSUD1&C_1KcXm%W=rJ=Z|Cn9Ip zAHD+Hw~*`TTCEGpr#1loEfyW~ym?2A7dV}Y6$zV(Hc(En-y?0vX{PGbk1L&-!t z;MtNy$ND;~6weU49qnWH!b`Bd?fhg`SZYTJ0C)u;*P?CtD$uk;s0Qq=^&JrscqPBK zEwc`x*8FO6AdplKF(qqo1ew>7cCaGkXckem({10R*r$FNkGHr)?zA@@Gl4N-+l?h> zKJ;^Zk+ChIC3Y{ZIG7BtyLb|lk%M))`-`iPGUL^Eoi%sUGq-XY-!=5HTvgcNhmloZ ze-{B}1;utdx~lN(#+~3-(tvbnRNS*hIX2y6Nn-cC8|m}O7O=xz#{dbkCnooluT&8; z>iF+65S~(}(T7YT?{7wkn}9M2;9+%y{_WO4evZTR5T|2UV>{%h%4aHP4-FGt{i^ub z=iaCJAbia}`_E~+(w-@B=`#EAQz~!@f+LE`&5nTvvuYD1$Njj2l)+P|t3 z)I7K0`{YU|px&3`c;3f-b{5Hr#(AIXRl$}W+`sZ3FvES6Kk&-Wxu`nzRQGI^GosA? zZLZHnxe>ipq9c}msY+>ftP>I{A5DY2J`r6_xBb{TBTbl!yU%?qqrBCaUkh0r!DtUx zPJAm{F7w)q3voUZT(KC~sZyw{9Cz_N@kF>V$?BhOn!x(0YxC0MdY%<;!Qi|r->M)s zvzX39?jGCdSfu1W@F_1p=&^ag`9se#p}lu)g|<%-t3={bP=DQ0>{{_dE;Osk=s8Tph1A}~+{dIvmc8{y zOL||uuQZDmiW2uxz?Z64vB|S)zeY;;F9R2Qhxbav7?&WfOE)mTB9bShsFUdGd+|6VzpTw~ zbAdn?$To>&8L<NdM~8jT!sT$Ib3j_55T7@>}`ndY+BTyV$ztb0=NbY5+C>|Bg4 z4089V<@U9d`xe?&xutpMU-!c*LI(})E)mwc;^E#6m83hoPco@qmu-vLq`C7_`ZPHj zk5$bHLm)TrdT)A8tsTmJU;x)HPH{h8taNBeGf$K-4nWU6WgeE_RCyIyzo(cWBl^jj ze`g~%{qO#%ElsZ?x-M7X7P!H%ulFUm)VR{BKq5vt=|~dLd)<~0o09mK0iDJJq7yJ2 zI(ez%EPEgcpzqN2BRy|R)YrjHJusrcORE1y40Z5fGe~n+hr(YcQdhxEx%YAnL_^{g zU}zMHZjNLn^Z-}%MYMM8cQ|;*P`^c7RVnAGh(RQ;)E~88??ZM$Fi?Qf7lE)J_D1*$ zdNf|*Fs;?8F5sX0Dl@KUMh+U>_&xiasWGE)3hOT}yAh?%H2+lJ9UeYSX>wVdwXV1Q zikiTC72EqeelP~9i8 zwR4C^l(|oI`RS_HhtbE`R;b=R-iVI#@+_F4TbId?hb($kgIEiO$A;?)kM|R&|B=&0 z^cJfrJ}4+FUY3Sh;T9sJaF5Jhgoi$Vp>TZYsojJ*B;{&W0=w5O?a4Ux_{F#Vu<${i z1onXlOFQHtIc5=dhov6@MNLJ=Q_d3TW?qW1)Q65piug+8W}a{daXNlK>wr+DXuGQk zDSRxWX`1)FX7cA;Zf?FDiC=m$S*lA=t zG~%PS^7KWd&nr-Zk@7>ZsGck$VNX1vP+=c$=Crd2?mo61A-{#}YqMO<&+LcXocKT& z=rM){Z@lss$Yu=>`_+jgTp#G?_J>4FN zur>qHIYx3rjvC^Gf_&4Ft-fbW=OB0OEw>9zYTpgH z$W5cIlM?Xfg%;PdyJqK9-ZLUXu_;Z^JYHyUYa%f__QP$l$QG1wd&v#1(#$!v1GDZTq z;Vfa+0Kg0&b;Z}8M*5iFMLJ?(t<=}6LT{FLV2J=NqJgvJL+}w+$47@DT)^ezKS}2} z>2ChC%Eo{X8f6*~2P!zc_{v>uCmRXJDpx9sPDp5#JqR)~LpEDQGdaYU_j#DzL2|+> ztRG=7(y!&81)Oa~sUbnN*meEgh%`#D`~IV*)G)|rv#0d5xRuR)xhFM*jsy8!PP6iG zrS<1?bI;FdwZzzKH1Km40&;yYM8?WY+#$@Zx&D~*HHbu?L z{Mgb^N5=mSKH%sB&|}@BM(eBJdpJ|xN|hc2;p zyhlvG@g2I8(d$YR-Z}uW`(2FrkW;V!CC;E)S1z|;)s?kK)Rv^GYg0+{1tR=nY2hWG zd#{tIB|;jDQZ>`pdrXnT_AU9}c`kV%eO~`A^)+*dcM+}Ox!ukj0_jteVT3wGn@!TL0nZl&Lw7g>*OtQ@?!YU?<4I7yF#h7V`RFV2sL7EPD- zB^#0R|M2+5sm$!K)?*%0>jzo5a*!!(6HFIQXn1fHh8qxx!U>sN*D_jOP&^^!E znmlTn%5lz~{AuO&6-z_L5557fXljez5G-~@b1xqgq{4wBGW@!q=sH8$7)yIH85%Au zGn;sHn|CY7LMHHbP|88~3S1uU37O8>qedelCJv2Nku@qOQZEll`YkkmF)s)ToGQn) z@XS~q_z2YZB#f&_jHp3WX~k8MTz*AQn??DVE1roSpJ=YYVfo`G&-z$1nxSO_*pEYw zlvNsrPvLSj%+bfnFWo_X2N!;{*_2-KoJw5J4?gwCV4722;i1w0Xyp&%LvG526sggZ^6($Q49yh^@a>(vz#XDNc!y-y!T~RCxP18xIja}$n{b&?VwZW0c1c~M_8jgX9 z|ACB3gij^Og;AQV$RF#;K39Yyq~v;EreWcIC9{>2R~hfG1)Xv1vq zdWhwA0GxL0CGJs=g}PmxN%gOc1L^kck;g1nVGJ9i#+;)WwdA5Gv5#Lsa>Dv9=bAta z9D~JdW$oA9f1BtyKJn$}X}gb4^_B5cTmA$8c;C87+7F?I*uJ6*tW^2+2I++0k&M9v z)O%Z3nsO5W&^N0%I7o+jjO?8%DY;}9K6}t?QE&&^~FuMmTcI=0~ z5vNT;d^^5m)aw>K7+tQrMoHc;3Hh2Q+w;Kpvj}W>UQj(U`~|!OnG^gNi6JI?dINz< z7*OCR>(lk;j%^a|QSNymIIU(o_wg4{WFc>TcWew{uV%Sj>9eVJ)@A%o+G!Pq`#j$9 z=8+9w`WvqS{VDQ*T}@d{<1!VLwJJs^uspXJ;K}&rJve`jm0R5mkEvD67hEkb9WNG>TjaHT)u2!$Ts2YK?MS7rFm#yW;{ zpwXU@!M-n00~O)z6+bHO+W)D{w~T}SyuTO14;A@$vFs3hC1Szh2!u7~B^$|1Lj%hnr@(^#Ms&UBACxj$QUz*?i<%A{E2&p%!aWSI8rWelZHug3qgBbd zU~Vr%Mx-0Wdpg$5{?T+5<#25hHSO)gGqSbQ)crvxg0Ficma8YL?jW|sK6Rcx1=x_C z$R{KJI*{Ao^1N;+&RH5a#zhy_IALFxkTvvuMKxg1dr&hynscVhd(bIUAMZ z% zfoh1`lM=ER9+CR`ycxGaz%NjE3Dm{lFAemx>X{_p&AOLt=D!Tb#|u0H995;117`_q zeres4mSE1~^SIujp#{8@S#^+*ttou#rlFKlHKqc&6IP7_HN{-o1BY^n`j#115Wsg6 zV0l{Pe4=lJttXX3dXP)^CbUG`A&{yp{*57S{8m6@_w6`++DEKq`kunO4Br)uUeLVpan!da@( z^AlAm=&ceRhL~KW%4Pg{(X5Oxj%hTU^#zdB-3CrdD8y4qz#~~>r-xQtHtH7BEwCY! z86ZXEeUM!`OORH+9<*}M4~L`oEAyZ5J{-kt%8$l1Fq^Tig)k4kW$7(IZT? z1?@~gjGzuphU=lmRsN*}Juh!a{xx z*u4pj_B_9(?3$FAp{n z4hW=+mooEr(!6(FiUz4iFTUW@m2+e02(3PLxvSvL)ab>gB1~P#~YTnf_ghwKDvXp{GaK*z+fE+EzrfT z%vcG9mX}n03N{7V1ohu{IlZoH-LHWh$N;jS*LolWkOOfJxv&cguC)G2xnt+qM{Ptr zRP^v>$G{#k;1oZb17zB<$72mZU+h0|^5(-ueA@4;qIOv~ie?pHts?e5*t3L_r0SFp zWN6fP7Az*^S0d}DIH1nTXID34#`OM$X-S`yLHfY%AVFcq`i>C!5Ul{PZ{s=Bm>bJx zr{z*fg?OU4SN@y#z85f$H`(?D$ChR~N{-3q$}lMn(Yq{e*E6ky0*%$fJlq_Q9O6xZ zj@Tnd=wtGdzl(f>g!x!L%nFBf0Wfz-aRzxLE<4ijUTsenX6EMS(IQrU@ zE~sTyb`2U)m@#EpYIaKo#p{QdfErqRZVol3J~H@-^N}YgG6dX!V`ltZ8Tohrt+HqM zMl9d4K5-w~L?1xZcG?jpP;DAf6t=m~&-sx61k$5gbo_9(y4js%J&uY4k%6uF6`t}> z)p|e;wQ4;6=7KGf=KP8}13^a&PCB$~*1AClSYxQ&W`LljU2wCPzTxYNBd-nFF_cB^ zVx(U1V2`2dNDY`B6F7}Giyg1?6y@;uQ$zqM`!mRE+I<4GGVZqX8LT$*9#?*hxf}iR z{nLv=$zy@&?cf5I8b&bdI*P?4fF=JIM$@&l_ZKfBFFkB$OgDjDG(Sb{J|=*1^l=wA zL`C46=hF!>4+)(on)P`rX3A&m8G2AfeQWFTeURJw-;ncj3IM2kAzT~-KR%n?H~h4r zwSIl-DbvX2{-tlL=bL+9*dncslBqVl1tz)nyLB>!S>#MPSU5WSbuzq2_xR zfbMD8STSQLDr`kkSS_)=e)+j2NykBgV=k6?kXfAI#7m05-9xsOX}wP2R_tjF1B@4G ztce5#@sj>_*U2sxNI2vDOulPiGXs>O@efGO!)s3koAWv*PL_89=+o~EDeQm$=C+Z{Ij6)b~87VT%`T5JcepTrssgdg~>z(!jmv%o;c2?q@!4+;!vuz z&Z(`!8O0ygf!V;fCzG;7fY+Aku86q2>Co$)m9{3Tb^>II(j+#9X3KF}LzgOXKod(F zW&HxeX^@|z6OH(sTSiccUM|uq5NXs;Y}>?IZ+PAz@c+KD=K24p8NZ~L=xL2o|1O8J ztN^@!h2xc}p*hZ-Em&_{B@JoyXR{k9$)W-8$8@ai`%37#;)KD(-d~PVR<2WI5f*_( zpU!`=uB7Eea_Ypw*CRBNXe=D&oPuo^zj@iq7jU4M(fzI}q@#o0UBqd_*@LCgU^Dak zf}QrEc~EYtndeISLHwKi(%yLxiF32Xdg`T8tQwQqlc_%HEK8B(Tr%StvfF{!+v_)Q z76z(_>|T%SRB=~~m8OA3kt|yt5IfDWvnUPTGKa47H!pLx{H-S+ z(sG?#7YwtDFplRgp>I8kQRQ`B6|PGk_CYw-TQSnRvM`%c?hL>KqO&n}KUhl4=J-K{;I*Fy|D6oM=8Oog4S9?{hyHNE0e^V}n5aaxD!nn+)*&b4P{m^XE9BsOzcfqisaj;_)D8 zZ%P_KsKv6GQj@nDB+iHIbZOQ=PD8lbd-K4+7o()L73d-Gile^=#k0}SmeNvz>aJ?a z153eXn+Z?-y9dFvudiwJD%wk?L3OWS0!fwCZ^g_6LcXkZt#K2GX^~(cR#04J^PD21 zLFYYy8+riBC#G%5j}v^my;GJ?K<-5JNfG1b18P$nibV$0bZ}R+oj)}^Tea5*bz*x3 zT)p&r+Xq4Ex4CtJ^SUx1JJ#Q)_-Ru%r+%7$?-LyZR#s8& z6?t9dzNI!Fdbta}BT~ciD18b;J6Ud$0q+xUj&P_cH~-j_#+AnQgtnv4d!}p6ooP#A z3syYkU}fHYaz(#dU7I8?vi`{=&b*|DRmdCUTqWd%Rb(0DOiNuMtidX>O9_9hfNu1L z7ja7gRr682wL_{$Fbdz^PdtXm8b$_&mJPjuK%#p9B*o9s$&_TA|CF9kjMz|;h-ZTcs#l8N zi&^y=>T{0p2DMOiR+v%rjlSi8<(@iFWH_qu$KM*klg{EyOtx}Jx)7&UFdS_kf5ROM z)F)2y0%MaB2^M&jz!^du$Tahn_~bky|7y)InRt43N14i|m$&}K_48b=DCp28cD&B2 zm&;j*qfuAF`T~Myl^OEtT%cnUf~%rOiX#7lB@{hh9ypo$e5oTyAY8!a(OT(q@y8@3 z?fP41BObPv-xH9aMVB=*RzdoFoL|1c@G#b)O7q7}+O%{|9pPqbu!B z;ac_c&c4}lH`nFXyNYAy#zrMLjb+AF*Lp#E?VO14#99=FjivL0?=5=^yKFInd6=C> z+41DF1VSPlXKRJiG|O>t=52aKwP~~+@}v}tI;X*TX7AJ#tZhPpkS!Ojhfqz=c1rT) z)>~`M;&=zv)R$}H;-(OWYg9Z}H?p+1pTd27lSnVW%sJRkR3iJObKdM8bX&c8n?@{C zSqKk0e*2V)Z!PCbQ>A3{?lg6)nnHe{lfzX0opn$ilQK3l=dN$sQbus$Vv;%mTEh3+Kqk zB^-R`*4Z5VyoS{x?}fBc9p;!KMr( z0KhqLGF;S@J2jyr!Z;#B!qf7waD@KHuS%z9URCR}(dn%Q;9z9G<59?z1y?bDV-l;^ z=6K_oTn-JlMf~M?*Yt3P;?5}`PPnJ`PyZ--7hMvRpfBlHUbT;ZI9lCBjveyjm*BBw zOzJ)(tIm(Qf?9%DIw+tDz`-1(>$7`I|BB(ht@=-?FV-JKUdO54B_1<9`@HlF+f1zT zi*@e6;qiBOJTt`N1C*s9pAkSsyI#4qDkpNcZ0nJR;9b$Aw$itWF2}(62L?%h_CsHI z3eV2zoZtK5$%l;$kQG8CA)FKPVig7Fuyp2w15qXumEsDyeox z`%SI}@lrKt?e`Tm*t3o>Gq$}NA+a2qx2ZA+jW`=DNp{+q$3auF(ci8h?`GGyJUMJW%M`^+_P z^@l^tVw_aFODH}dt;h`98(MwjA#eCP-EiB|zXuT~#rIjwv0~Jx?DN^0ugChlaTIIye zQJ0iuF3)3<$MK%u14hm*WCfgBZqz)d+%ul4ply17$iPSaRWj8SHC%Y12TEwwmhn~r zOilNp)q(Psub2yjN)LM?y9$pMnUQhsZM*o&zr~kY|EmS~#Je6PMIQhQY}7ixZ>tg6 zKX*pO3sEw?xql}iwgqqHdBTwV;S7uWO^h=RrmeThE;7jY+(Lf|g5|KQgNZd# zY5)>c6V0FvOu|9 zj9QU5|HuSfx>&9Im8jnpS2x`2Y-jy{b=+Ofb`o8EGC&tjzmoHqd>@^*m;x8PSu>}M zE_yPc^KUe$Al~|u0@umFsYv2J;XTaM)T6Uji#}ESvVGoB5m9sQr`>V&d{CeT%4&J4 z>E*a*CY|U8r7jT(7ouN>_aH*xH$|?uE`l&XsYQ-pqf&0rh{_9e_L(KQ(+ltJ>?Vo_ zrf1zT`N7P~b`*f;ltD=YD3Sy#@TKm%@HZpilS#T0T=Vmp^m66NG1Z^a;|FV1K&3_k z(N(XXI9PJ$A4tCVPE)5jgLi69b1fl%73J~qVPT*w11i(CvcgUpIcpm;q4VsrGv7>b zm(;;c4?8)$N4VXI+DImj%bvv8Hw$d{sk>Qy=~GZZ6H>B zx>u&Lx~8UG+{{xhOp3=@OhZ-!#mJ@0H;DTsMuKMaYzRwIr+b+pb3%Fav^2!_oibtT z3Y0q*?_p?*8Mvh{z&G~C27H$TzaWP*phMQ(Q6>@As-6Rn-isa7Bb-{EEW8EgI)pAT zm1e8vAUrsH{LB^5crvg0o0Krpqwm5DJ_mV`h=%(yQ}v~1A$KpB^s11SE*yZ2C zFhxhHD3gKKPbUg+;eWPNJR49y28sCcYi+WAku^l2KzyeT&HS^|(I1$|%i!xs zfOPJr&-;Ybs$WUXf1n(QQxKn)Iq1)*ugGpoIs|F7?N+b3ieff)NO$<23%wU*841pX z{4JENrr>r9WrJ%#)d{K9xH2ab4V|(10|Nxt3o+Tc?>phd@>n+Bf*mpuTiRlH_em)X~&S8Ydjj&x{*C;hppcoNA2g z&m^7b8m%-8`5Y?vQvX#ctC4F)>CGw#IL^_2h1dTwATK=L*Cl40r!Xclx0l~3uI6W1 zOD-)9p5@k0xGp#b$Pc@Q*L$|=Z1yU%LE^O4Gt%JHX$zj-^JSqlp%GpKzd@qwiZZ7YWi+j1jN-#MdevC)Ws3QkcSztxewY4vqczoiZ<|9rQQUevpMSaMW7;pqZUoLfc}U^ zwT*!@45YNUR4YRgJG=R_7KR~Rr&s1TsQ!x!gRMU}*4N1TE}s*(#}URjv;Q KFbt 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 A{Qv*} literal 0 HcmV?d00001 diff --git a/components/vf-minimal-footer/index.scss b/components/vf-minimal-footer/index.scss new file mode 100755 index 0000000000..fe256ed31a --- /dev/null +++ b/components/vf-minimal-footer/index.scss @@ -0,0 +1,11 @@ +// setup files required + +// sass-lint:disable clean-import-paths +@import 'vf-global-variables'; +@import 'vf-variables'; +@import 'vf-functions'; +@import 'vf-mixins'; + +// component specific styles + +@import 'vf-minimal-footer.scss'; diff --git a/components/vf-minimal-footer/package.json b/components/vf-minimal-footer/package.json new file mode 100755 index 0000000000..2b0a0a8b84 --- /dev/null +++ b/components/vf-minimal-footer/package.json @@ -0,0 +1,23 @@ +{ + "version": "1.2.1", + "name": "@visual-framework/vf-minimal-footer", + "description": "vf-minimal-footer component", + "homepage": "https://stable.visual-framework.dev/", + "author": "VF", + "license": "Apache 2.0", + "style": "build/vf-minimal-footer.css", + "main": "build/index.js", + "test": "echo \"Error: no test specified\" && exit 1", + "publishConfig": { + "access": "public" + }, + "repo": "https://github.com/visual-framework/vf-core/tree/master/components/elements/vf-minimal-footer", + "bugs": { + "url": "https://github.com/visual-framework/vf-core/issues" + }, + "keywords": [ + "fractal", + "component" + ], + "gitHead": "13228e9ef51f1584c696e9d7db282fa786318b88" +} diff --git a/components/vf-minimal-footer/vf-minimal-footer.config.yml b/components/vf-minimal-footer/vf-minimal-footer.config.yml new file mode 100755 index 0000000000..038bc1064d --- /dev/null +++ b/components/vf-minimal-footer/vf-minimal-footer.config.yml @@ -0,0 +1,8 @@ +title: Minimal Footer +label: Minimal Footer +preview: '@preview--nogrid' +status: live +context: + exampleMultiColumns: "false" + component-type: block + footer__url: 'JavaScript:Void(0);' diff --git a/components/vf-minimal-footer/vf-minimal-footer.njk b/components/vf-minimal-footer/vf-minimal-footer.njk new file mode 100755 index 0000000000..1a699a3338 --- /dev/null +++ b/components/vf-minimal-footer/vf-minimal-footer.njk @@ -0,0 +1,38 @@ + +
+
+ diff --git a/components/vf-minimal-footer/vf-minimal-footer.scss b/components/vf-minimal-footer/vf-minimal-footer.scss new file mode 100644 index 0000000000..74e10b0a7b --- /dev/null +++ b/components/vf-minimal-footer/vf-minimal-footer.scss @@ -0,0 +1,12 @@ +.vf-minimal-footer .vf-logo__image { + display: block; + height: auto; + max-width: 100%; + width: 100%; +} + +@media (max-width: 768px) { + .vf-minimal-footer .vf-logo__image { + width: 80%; + } +} \ No newline at end of file From c7d3efde40ec5a11b0ebeeef6d4b894683c0924f Mon Sep 17 00:00:00 2001 From: mshujamalik-ebi Date: Tue, 14 Apr 2026 13:48:19 +0100 Subject: [PATCH 02/13] Minimal footer --- components/vf-minimal-footer/vf-minimal-footer.scss | 4 ++++ components/vf-minimal-footer/vf-minimal-footer.variables.scss | 0 2 files changed, 4 insertions(+) create mode 100644 components/vf-minimal-footer/vf-minimal-footer.variables.scss diff --git a/components/vf-minimal-footer/vf-minimal-footer.scss b/components/vf-minimal-footer/vf-minimal-footer.scss index 74e10b0a7b..4e2f6f52df 100644 --- a/components/vf-minimal-footer/vf-minimal-footer.scss +++ b/components/vf-minimal-footer/vf-minimal-footer.scss @@ -9,4 +9,8 @@ .vf-minimal-footer .vf-logo__image { width: 80%; } +} + +.vf-u-background-color-ui--white .vf-footer__link:hover { + color: #000; } \ No newline at end of file diff --git a/components/vf-minimal-footer/vf-minimal-footer.variables.scss b/components/vf-minimal-footer/vf-minimal-footer.variables.scss new file mode 100644 index 0000000000..e69de29bb2 From f4c4a98de2120e249c514d4283b9bad79993584a Mon Sep 17 00:00:00 2001 From: mshujamalik-ebi Date: Wed, 15 Apr 2026 16:43:14 +0100 Subject: [PATCH 03/13] Minimal footer --- components/vf-minimal-footer/vf-minimal-footer.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/vf-minimal-footer/vf-minimal-footer.scss b/components/vf-minimal-footer/vf-minimal-footer.scss index 4e2f6f52df..3e8ddcf8a2 100644 --- a/components/vf-minimal-footer/vf-minimal-footer.scss +++ b/components/vf-minimal-footer/vf-minimal-footer.scss @@ -10,7 +10,6 @@ width: 80%; } } - .vf-u-background-color-ui--white .vf-footer__link:hover { - color: #000; + color: var(--vf-ui-color--black); } \ No newline at end of file From 7b2bdefed515af76caca71e0a8f7408d5725964a Mon Sep 17 00:00:00 2001 From: mshujamalik-ebi Date: Thu, 23 Apr 2026 01:35:01 +0100 Subject: [PATCH 04/13] Minimal footer --- components/vf-minimal-footer/CHANGELOG.md | 39 +---- components/vf-minimal-footer/README.md | 136 +++++++++++++++++- .../assets/embl-ebi-rgb-all-white.png | Bin 37250 -> 8974 bytes .../assets/embl-ebi-rgb-full-colour.png | Bin 35421 -> 0 bytes .../assets/embl-ebi-rgb-full-colour.svg | 79 ++++++++++ .../assets/landscape-placeholder.svg | 5 + components/vf-minimal-footer/package.json | 2 +- .../vf-minimal-footer.config.yml | 96 ++++++++++++- .../vf-minimal-footer/vf-minimal-footer.njk | 108 ++++++++++---- .../vf-minimal-footer/vf-minimal-footer.scss | 42 ++++-- 10 files changed, 426 insertions(+), 81 deletions(-) delete mode 100644 components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.png create mode 100644 components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.svg create mode 100644 components/vf-minimal-footer/assets/landscape-placeholder.svg diff --git a/components/vf-minimal-footer/CHANGELOG.md b/components/vf-minimal-footer/CHANGELOG.md index 45bef672fc..597cded5bc 100755 --- a/components/vf-minimal-footer/CHANGELOG.md +++ b/components/vf-minimal-footer/CHANGELOG.md @@ -1,40 +1,3 @@ -### 1.2.1 - -* Changes to footer based on `EMBL-EBI Intranet` implementation findings [Tracking issue](https://github.com/visual-framework/vf-core/issues/1978) - -### 1.2.0 - -* Requires at least `@visual-framework@vf-sass-config@2.6.1`. -* Specify the footer link colours. - * https://github.com/visual-framework/vf-core/pull/1606 - -### 1.1.1 - -* changes any `set-` style functions to cleaner version - -### 1.1.0 - -* removes inline padding as it's defunct when using the `vf-body` component - -### 1.0.6 - -* dependency bump - -### 1.0.3 - -* updates max-width of component - -### 1.0.2 - -* Removes need for `.vf-body` on `.vf-minimal-footer` -* Refines layout spacing -* Allows for footer headers to be links - -### 1.0.1 - -* Darkens background -* Updates layout - -### 1.0.0 +### 1.0.0-beta.1 * Initial stable release diff --git a/components/vf-minimal-footer/README.md b/components/vf-minimal-footer/README.md index 9642515361..76d4ce6fbd 100755 --- a/components/vf-minimal-footer/README.md +++ b/components/vf-minimal-footer/README.md @@ -4,7 +4,141 @@ ## About -A minimal verison of the container for links, copyright and other common content at the bottom of webpages. +The EMBL-EBI-minimal-footer provides a consistent approach to displaying our brand image, essential links and legal information at the bottom of our service pages. + +## Usage +### Description + +This footer is designed to display branding and essential content within the EMBL-EBI ecosystem without overwhelming the user experience. This approach ensures a clear and consistent representation of the EMBL-EBI identity across services and websites, and provides a structured pattern for communicating partnerships and collaborations. + +### When to use + +- Across EMBL-EBI platforms and organisational digital properties, particularly recommended for service pages within the ebi.ac.uk domain + +- Where the EBML-EBI branding, essential links and legal information are required + +- For task oriented pages such as payment pages or registration pages + +- Where there is a need to show collaboration with multiple partners + +### When not to use + +- In cases where the footer needs to reflect the service site's navigation + +- Where the social media channels are to be added + +For cases like this we recommend using the Modular variant which offers more flexibility. + +### Deciding what to use + +| Variant | Examples | Description | +| --- | --- | --- | +| Modular | VF-footer | Use when footer sections need to be customised | +| EMBL-EBI Corporate Variant | EMBL_EBI header-footer | Use the EMBL-EBI corporate variant for organisational or self-contained experiences | +| Minimal | - | Use when only essential brand and legal information is needed | + +### Collaboration section variants + +The collaborations section provides standardised patterns for displaying varying levels of partnerships and collaborations. The display format adapts based on the number of collaborators. + +The Collaborations section renders its own top green border. Remove the footer's default top margin line to prevent duplication. + +Logos display (1 - 6 partners) + +When you have between 1 and 6 partners, display their logos horizontally across the section. + +- Uses a 6-column grid at desktop breakpoint (1154px+) + +- One logo per column + +- Maximum logo dimensions: 174px width and 64x height + +- Logos centred within their column + +- Scale down logos proportionally if they exceed maximum dimensions + +- For best image resolution, svg usage is recommended + +Partners links in columns (1 - 9 partners) + +When you have between 1 and 9 partners, you need to display their names as text links. + +- 3-column layout on desktop  + +- Partner names displayed as clickable links + +- Text aligned left within each column + +Categorised summary (10+ partners) + +When you have 10 or more partners, synthesise them into categories with summary numbers and a "See all collaborators" link. + +- Optional partnership statement describing the nature of collaborations + +- Summary categories displayed as numbers with labels (e.g., "35 Data partners", "4 Supporting funders") + +- "See all collaborators" link that directs to a dedicated page listing all partners + +- Placeholder text can be customisable + +### Choosing the right collaboration variant + +| Variant | Nº of partners | Usage | +| --- | --- | --- | +| Logo display | 1 - 6 | Provides strong visual recognition for each partner | +| Text links in columns | 1 - 9 | Maintains readability whilst accommodating more partners | +| Categorised summary | 10+ | Prevents footer from becoming overwhelming; directs users to dedicated page | + +### Usability and content guidance + +The content in the footer is designed to clearly describe the relationship between the services and EMBL-EBI. The footer has clear link labels and descriptions such as: "[Name of resource] is developed and maintained by EMBL-EBI, a world leader in biological data resources", for other use cases of descriptions, contact the Comms team via this email comms@ebi.ac.uk for support with appropriate wording. + +The content in the minimal footer variant is standardised to ensure consistency across our services. + +| Element | Required | Notes | +| --- | --- | --- | +| EMBL-EBI logo | Yes | The logo should not be altered on the services page | +| Description | Yes | The content should reflect the relationship between the service and EMBL-EBI | +| Utility & legal links | Yes | Bottom bar with Terms of use, EMBL-EBI affiliation and copyright. These links should be retained. | +| Collaborators | No | This can be added for acknowledgment of collaborators | + +### Terms of Use (ToU) + +Guidelines for domains requiring both Organisation-wide and Service-specific Terms + +When a domain requires both organisation-wide Terms of Use and service-specific Terms of Use, teams should create a single dedicated page that clearly presents both sets of terms together. This consolidated approach ensures users can easily understand which terms apply to their specific use case while maintaining a single, clear ToU link in the footer. This prevents confusion from multiple links with similar names and provides a better user experience. + +Cookie banner pattern + +Avoid including ToU in cookie banners. Terms of Use should remain permanently visible in the footer rather than in a dismissible cookie consent banner. Cookie banners are temporary and can be dismissed by users, removing access to critical legal information. By keeping ToU in the footer, users can always access this information whenever needed, regardless of their cookie consent choices. + +### Themes + +The footer is available in two colour schemes: light and dark, to establish clear visual distinction from page content. + +Apply the light scheme when the page background uses colour or tone, and the dark scheme when the background is white or near-white. This intentional contrast ensures users can clearly identify where the main content concludes and the footer begins. + +### Responsiveness + +The elements wrap across the tablet and mobile breaking points while ensuring spacing, readability and target touch size are optimised for accessibility and ease of use. + +### Accessibility + +This component targets WCAG 2.1 AA accessibility standard. + +- Links provide direct location description [Manual testing required]: Ensure link text is descriptive and not ambiguous. WCAG A 2.4.4 Link purpose (in context) + +- Keyboard navigation: All links and interactive elements are keyboard accessible + +- Focus indicators: Clear visual focus states meet 3:1 contrast requirements + +- Touch targets: All clickable elements meet the minimum 44×44 pixel touch target size on mobile and tablet + +- Colour contrast: Text and link colours have been tested against both light and dark backgrounds + +- Screen readers: Semantic HTML and ARIA labels ensure footer content is properly announced + +- Responsive design: Footer adapts appropriately across mobile (600px), tablet (768px) and desktop (1154px) breakpoints ## Install diff --git a/components/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png b/components/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png index 6ad3760faa3fdadd2de547d29cf4779f934456ea..f257e594610ee38a304bb2c88398be6d3147d405 100644 GIT binary patch literal 8974 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 U^U}GzB0+jQUHx3vIVCg!0P>u|R{#J2 diff --git a/components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.png b/components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.png deleted file mode 100644 index 84e051d61eae500d96fdc8226efea11cea5272e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35421 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 KFbt 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 A{Qv*} diff --git a/components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.svg b/components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.svg new file mode 100644 index 0000000000..2074da77d2 --- /dev/null +++ b/components/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/vf-minimal-footer/assets/landscape-placeholder.svg b/components/vf-minimal-footer/assets/landscape-placeholder.svg new file mode 100644 index 0000000000..faea08cd58 --- /dev/null +++ b/components/vf-minimal-footer/assets/landscape-placeholder.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/components/vf-minimal-footer/package.json b/components/vf-minimal-footer/package.json index 2b0a0a8b84..1cec46df51 100755 --- a/components/vf-minimal-footer/package.json +++ b/components/vf-minimal-footer/package.json @@ -1,5 +1,5 @@ { - "version": "1.2.1", + "version": "1.0.0-beta.1", "name": "@visual-framework/vf-minimal-footer", "description": "vf-minimal-footer component", "homepage": "https://stable.visual-framework.dev/", diff --git a/components/vf-minimal-footer/vf-minimal-footer.config.yml b/components/vf-minimal-footer/vf-minimal-footer.config.yml index 038bc1064d..2d78d369a3 100755 --- a/components/vf-minimal-footer/vf-minimal-footer.config.yml +++ b/components/vf-minimal-footer/vf-minimal-footer.config.yml @@ -3,6 +3,96 @@ label: Minimal Footer preview: '@preview--nogrid' status: live context: - exampleMultiColumns: "false" - component-type: block - footer__url: 'JavaScript:Void(0);' + component-type: container + footer__theme: dark + footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' + footer__logo_alt: EMBL-EBI + footer__notice: '[Name of resource] is developed and maintained by EMBL-EBI, a world leader in biological data resources.' + footer__links: + - text: 'Copyright © EMBL 2026' + href: 'JavaScript:Void(0);' + - text: 'EMBL-EBI contact' + href: 'JavaScript:Void(0);' + - text: 'Terms of use' + href: 'JavaScript:Void(0);' + +variants: + - name: Dark footer theme + context: + footer__theme: dark + footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' + + - name: Light footer theme + context: + footer__theme: light + footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.svg' + + - name: Logo display + context: + footer__theme: dark + footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' + partner__heading: 'Our partners/collaborators' + partner__variant: logos + partner__logos: + - href: 'JavaScript:Void(0);' + src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' + alt: 'Partner logo' + - href: 'JavaScript:Void(0);' + src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' + alt: 'Partner logo' + - href: 'JavaScript:Void(0);' + src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' + alt: 'Partner logo' + - href: 'JavaScript:Void(0);' + src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' + alt: 'Partner logo' + - href: 'JavaScript:Void(0);' + src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' + alt: 'Partner logo' + - href: 'JavaScript:Void(0);' + src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' + alt: 'Partner logo' + + - name: Partners links in columns + context: + footer__theme: dark + footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' + partner__heading: 'Our partners/collaborators' + partner__variant: columns + partner__columns: + - text: Partner 1 + href: 'JavaScript:Void(0);' + - text: Partner 2 + href: 'JavaScript:Void(0);' + - text: Partner 3 + href: 'JavaScript:Void(0);' + - text: Partner 4 + href: 'JavaScript:Void(0);' + - text: Partner 5 + href: 'JavaScript:Void(0);' + - text: Partner 6 + href: 'JavaScript:Void(0);' + - text: Partner 7 + href: 'JavaScript:Void(0);' + - text: Partner 8 + href: 'JavaScript:Void(0);' + - text: Partner 9 + href: 'JavaScript:Void(0);' + + - name: Categorised summary + context: + footer__theme: dark + footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' + partner__heading: 'Our partners/collaborators' + partner__variant: summary + partner__description: 'Partnership statement. A short description of the partnerships, collaborations or consortium.' + partner__cta_text: 'See all collaborators' + partner__cta_href: 'JavaScript:Void(0);' + partner__stats: + - number: '35' + label: 'Data partners' + - number: '4' + label: 'Supporting funders' + - number: '35' + label: 'Research institutions' + diff --git a/components/vf-minimal-footer/vf-minimal-footer.njk b/components/vf-minimal-footer/vf-minimal-footer.njk index 1a699a3338..5ed0dea96e 100755 --- a/components/vf-minimal-footer/vf-minimal-footer.njk +++ b/components/vf-minimal-footer/vf-minimal-footer.njk @@ -1,38 +1,88 @@ -
-
-
-
-
-
\ No newline at end of file diff --git a/components/vf-footer/vf-footer.scss b/components/vf-footer/vf-footer.scss index 18e2cc0950..c68829310f 100755 --- a/components/vf-footer/vf-footer.scss +++ b/components/vf-footer/vf-footer.scss @@ -1,229 +1,210 @@ -// vf-footer - -@import 'package.variables.scss'; -// Debug information from component's `package.json`: -// --- -/*! - * Component: #{map-get($componentInfo, 'name')} - * Version: #{map-get($componentInfo, 'version')} - * Location: #{map-get($componentInfo, 'location')} - */ +.vf-footer .vf-logo__image { + display: block; + height: auto; +} -@import 'vf-footer.variables.scss'; +$vf-footer-partner-logo-width: 174px; +$vf-footer-partner-logo-height: 64px; +$vf-footer-partner-rule-width: 8px; +// Keep spacing consistent across the three logical rows. .vf-footer { - background-color: color(grey--dark); - border-top: 8px solid color(green); - grid-column: 1 / -1; - padding-bottom: 60px; - padding-top: 24px; - position: relative; - - &::before { - background-color: inherit; - content: ''; - grid-column: 1 / -1; - height: 100%; - margin-left: calc(50% - 50vw); - position: absolute; - top: 0; - width: 100vw; - z-index: set-layer(vf-z-index--negative); - } - - &::after { - background-color: color(green); - content: ''; - height: 8px; - margin-left: calc(50% - 50vw); - position: absolute; - top: -8px; - width: 100vw; - z-index: set-layer(vf-z-index--negative); - } - - .vf-links { - margin-bottom: 0; - padding-left: 0; - padding-right: 0; - } + border-top: 4px solid color(green); } -.vf-footer__notice { - @include set-type(text-body--3); +.vf-footer__partners { + border-top: $vf-footer-partner-rule-width solid color(green); + padding-top: map-get($vf-spacing-map, vf-spacing--400); + padding-bottom: map-get($vf-spacing-map, vf-spacing--400); +} - color: ui-color(white); - max-width: 45em; +// Partner column/summary padding +.vf-footer__partners .vf-grid.vf-grid__col-4 > div:first-child, +.vf-footer__partners > div { + padding-left: map-get($vf-spacing-map, vf-spacing--400); } -.vf-footer__inner { - grid-column: main; - margin: 0 auto; - max-width: $vf-layout--comfortable; - padding: 0; +// Main footer row padding +.vf-footer > .vf-grid.vf-grid__col-2 { + padding-bottom: map-get($vf-spacing-map, vf-spacing--800); } +// Legal section padding .vf-footer__legal { - color: ui-color(white); - column-gap: var(--page-grid-gap); - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - .vf-list { - width: 100%; - } - - .vf-footer__legal-text, - .vf-footer__link { - font-size: 14px; - } - .vf-footer__legal-text { - color: color(grey--lightest); - } - .vf-footer__link { - text-decoration: none; - } - .vf-list { - font-size: 19px; - } - - - .vf-footer__legal-text, - .vf-footer__link { - padding-top: 6px; - padding-bottom: 6px; - } - - @media (min-width: $vf-breakpoint--lg) { - display: grid; - grid-template-columns: repeat(4, max-content); - } + padding-bottom: map-get($vf-spacing-map, vf-spacing--800); + @include set-type(text-body--5, $custom-margin-bottom: 0); +} + +.vf-footer__legal span { + color: var(--vf-color--grey--lightest, #fff); +} + +// List reset padding +.vf-footer .vf-links__list { + padding: 0; +} + +.vf-footer.vf-footer--without-rule { + border-top: 0; +} + +.vf-footer.vf-footer--without-rule::after { + display: none; +} + +// Heading styles with margins +.vf-footer h4 { + @include set-type(text-body--4, $custom-margin-bottom: map-get($vf-spacing-map, vf-spacing--400)); + color: var(--vf-color--grey--lightest, #fff); +} + +.vf-links__heading { + @include set-type(text-body--4, $custom-margin-bottom: map-get($vf-spacing-map, vf-spacing--400)); + color: var(--vf-color--grey--lightest, #fff); +} + +// Partner section text styles with margins +.vf-footer__partners h4 { + @include set-type(text-body--4, $custom-margin-bottom: map-get($vf-spacing-map, vf-spacing--400)); + color: var(--vf-color--grey--dark, #54585a); +} + +.vf-footer__partners p { + @include set-type(text-body--3, $custom-margin-bottom: map-get($vf-spacing-map, vf-spacing--200)); + color: var(--vf-color--grey--dark, #54585a); +} + +// List item margins +.vf-footer .vf-links__list { + padding: 0; + margin: 0; +} + +.vf-footer .vf-list__item { + margin-bottom: map-get($vf-spacing-map, vf-spacing--200); +} + +// Link styles in footer +.vf-footer a.vf-list__link { + @include set-type(text-body--2, $custom-margin-bottom: 0); + color: var(--vf-color--ui--white, #fff); } .vf-footer__link { - @include inline-link( - $vf-link--color: $vf-footer-link--color, - $vf-link--hover-color: $vf-footer-link--hover-color, - $vf-link--visited-color: $vf-footer-link--visited-color - ); -} - -.vf-footer__list--legal { - grid-column: 1 / -1; - - .vf-list__item:not(:last-of-type) { - margin-right: 24px; - } -} - -.vf-footer__links-group { - border: solid 0px color(grey--lightest); - border-width: 1px 0; - margin-bottom: 12px; - padding-bottom: 24px; - grid-template-columns: repeat(5, 1fr); - - .vf-links__heading { - @include set-type(text-body--6, $custom-margin-bottom: 8px, $color: ignore); - color: color(grey--lightest); - text-transform: uppercase; - - .vf-heading__link { - @include inline-link( - $vf-link--color: $vf-footer-link--color, - $vf-link--hover-color: $vf-footer-link--hover-color, - $vf-link--visited-color: $vf-footer-link--visited-color - ); - } - } - - .vf-links { - padding-bottom: 0; - padding-top: 12px; - } - - .vf-list:last-of-type { - margin-bottom: 0; - } - - .vf-list__item { - color: color(grey--lightest); - margin-bottom: 0; - } - - .vf-list__link { - text-decoration: none; - } - - @media (min-width: $vf-breakpoint--lg) { - padding-bottom: 4rem; - } - -} - -.vf-footer .vf-links__link { - @include inline-link( - $vf-link--color: $vf-footer-link--color, - $vf-link--hover-color: $vf-footer-link--hover-color, - $vf-link--visited-color: $vf-footer-link--visited-color - ); -} - -.vf-footer .vf-list__link { - @include inline-link( - $vf-link--color: $vf-footer-link--color, - $vf-link--hover-color: $vf-footer-link--hover-color, - $vf-link--visited-color: $vf-footer-link--visited-color - ); - margin-right: 0; + @include set-type(text-body--5, $custom-margin-bottom: 0); + color: var(--vf-color--ui--white, #fff); +} + +// Contact details styles with margins +.vf-footer__contact p { + @include set-type(text-body--5, $custom-margin-bottom: map-get($vf-spacing-map, vf-spacing--200)); + color: var(--vf-color--grey--lightest, #fff); +} + +.vf-footer__contact a { + @include set-type(text-body--5, $custom-margin-bottom: 0); + color: var(--vf-color--ui--white, #fff); +} + +// Notice/mission statement styles +.vf-footer__notice { + @include set-type(text-body--3, $custom-margin-bottom: 0); + + flex-grow: 4; + line-height: 1.2; + color: var(--vf-color--ui--white, #fff); +} + +.vf-footer__legal a { + @include set-type(text-body--5, $custom-margin-bottom: 0); + color: var(--vf-color--ui--white, #fff); +} + +// Partner stat styles +.vf-footer__stat p { + margin: 0; +} + +.vf-footer .vf-footer__stat p:first-child { + @include set-type(text-heading--2, $custom-margin-bottom: 0); +} + +.vf-footer .vf-footer__stat p:last-child { + @include set-type(text-body--4, $custom-margin-bottom: 0); +} + +// Logo section margin +.vf-footer > .vf-grid > div:first-child { + margin-bottom: map-get($vf-spacing-map, vf-spacing--800); +} + +.vf-footer__logo-wrapper { + margin-bottom: map-get($vf-spacing-map, vf-spacing--800); +} + +.vf-footer__partners .vf-list__item { + margin-bottom: 0 !important; +} + +.vf-footer__partners .vf-list__item img { + width: $vf-footer-partner-logo-width !important; + height: $vf-footer-partner-logo-height !important; +} + +.vf-footer__social-link { text-decoration: none; + margin: 0 6px; +} +.vf-footer--light,.vf-u-background-color-ui--white{ + z-index: 1; +} +.vf-footer--light .vf-u-text-color--white { + color: var(--vf-color--ui--black, #000); } +.vf-footer--light .vf-u-text-color--grey--lightest { + color: var(--vf-color--grey--dark, #54585a); +} -// IE 10/11 only fixes -@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { +// Light theme text and link color overrides +.vf-footer--light h4 { + color: var(--vf-color--grey--dark, #54585a); +} - // This, more generally, addresses things that don't support css grid, but I think that for us means "IE" - // This also doesn't have any responsive support, but, again, not sure if that's important for IE? - @media (min-width: $vf-breakpoint--lg) { - .vf-footer { - left: 50%; - margin-left: -50vw; - margin-right: -50vw; - min-width: 100vw; - position: relative; - right: 50%; - width: 100vw; - } - .vf-footer__inner { - margin: 0 auto; - max-width: $vf-layout--comfortable; - } - } +.vf-footer--light .vf-links__heading { + color: var(--vf-color--grey--dark, #54585a); } -@media (max-width: 768px) { +.vf-footer--light a.vf-list__link { + color: var(--vf-color--grey--dark, #54585a); +} - .vf-footer__links-group { - grid-template-columns: repeat(3, 1fr); +.vf-footer--light .vf-footer__link { + color: var(--vf-color--ui--black, #000); +} - .vf-list__item { - padding-top: 10px; - padding-bottom: 10px; - } - } +.vf-footer--light .vf-footer__contact p { + color: var(--vf-color--grey--dark, #54585a); +} - .vf-footer__legal .vf-footer__legal-text, .vf-footer__legal .vf-footer__link { - padding-top: 14px; - padding-bottom: 14px; - } +.vf-footer--light .vf-footer__contact a { + color: var(--vf-color--ui--black, #000); +} - .vf-footer .vf-grid { - grid-row-gap: 0rem; - } +.vf-footer--light .vf-footer__notice { + color: var(--vf-color--ui--black, #000); } -@media (max-width: 600px) { +.vf-footer--light .vf-footer__legal span { + color: var(--vf-color--grey--dark, #54585a); +} - .vf-footer__links-group { - grid-template-columns: repeat(1, 1fr); - } +.vf-footer--light .vf-footer__legal a { + color: var(--vf-color--ui--black, #000); } + +.vf-footer.vf-footer--light .vf-footer__link:hover, +.vf-footer__partners .vf-list__link, +.vf-footer__partners .vf-list__item:hover { + color: ui-color(black) !important; +} \ No newline at end of file diff --git a/components/vf-minimal-footer/CHANGELOG.md b/components/vf-minimal-footer/CHANGELOG.md index 597cded5bc..14ee4a63f7 100755 --- a/components/vf-minimal-footer/CHANGELOG.md +++ b/components/vf-minimal-footer/CHANGELOG.md @@ -1,3 +1,3 @@ -### 1.0.0-beta.1 +### 1.0.0-alpha.1 * Initial stable release diff --git a/components/vf-minimal-footer/README.md b/components/vf-minimal-footer/README.md index 76d4ce6fbd..721ae36830 100755 --- a/components/vf-minimal-footer/README.md +++ b/components/vf-minimal-footer/README.md @@ -33,9 +33,9 @@ For cases like this we recommend using the Modular variant which offers more fle | Variant | Examples | Description | | --- | --- | --- | -| Modular | VF-footer | Use when footer sections need to be customised | -| EMBL-EBI Corporate Variant | EMBL_EBI header-footer | Use the EMBL-EBI corporate variant for organisational or self-contained experiences | -| Minimal | - | Use when only essential brand and legal information is needed | +| [Modular](../vf-footer) | VF-footer | Use when footer sections need to be customised | +| EMBL-EBI Corporate Variant | [EMBL_EBI header-footer](../ebi-header-footer) | Use the EMBL-EBI corporate variant for organisational or self-contained experiences | +| | [Minimal](../vf-minimal-footer) | Use when only essential brand and legal information is needed | ### Collaboration section variants diff --git a/components/vf-minimal-footer/package.json b/components/vf-minimal-footer/package.json index 1cec46df51..0f66263fdd 100755 --- a/components/vf-minimal-footer/package.json +++ b/components/vf-minimal-footer/package.json @@ -1,5 +1,5 @@ { - "version": "1.0.0-beta.1", + "version": "1.0.0-alpha.1", "name": "@visual-framework/vf-minimal-footer", "description": "vf-minimal-footer component", "homepage": "https://stable.visual-framework.dev/", diff --git a/components/vf-minimal-footer/vf-minimal-footer.config.yml b/components/vf-minimal-footer/vf-minimal-footer.config.yml index 2d78d369a3..7885afacb0 100755 --- a/components/vf-minimal-footer/vf-minimal-footer.config.yml +++ b/components/vf-minimal-footer/vf-minimal-footer.config.yml @@ -3,96 +3,32 @@ label: Minimal Footer preview: '@preview--nogrid' status: live context: - component-type: container - footer__theme: dark - footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' - footer__logo_alt: EMBL-EBI - footer__notice: '[Name of resource] is developed and maintained by EMBL-EBI, a world leader in biological data resources.' - footer__links: - - text: 'Copyright © EMBL 2026' - href: 'JavaScript:Void(0);' - - text: 'EMBL-EBI contact' - href: 'JavaScript:Void(0);' - - text: 'Terms of use' - href: 'JavaScript:Void(0);' + footer__theme: 'dark' + component-type: utility + hide-from-sitemenu: true + partner__variant: null variants: - name: Dark footer theme context: - footer__theme: dark - footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' + footer__theme: 'dark' - name: Light footer theme context: - footer__theme: light - footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.svg' + footer__theme: 'light' - name: Logo display context: - footer__theme: dark - footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' - partner__heading: 'Our partners/collaborators' + footer__theme: 'dark' partner__variant: logos - partner__logos: - - href: 'JavaScript:Void(0);' - src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' - alt: 'Partner logo' - - href: 'JavaScript:Void(0);' - src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' - alt: 'Partner logo' - - href: 'JavaScript:Void(0);' - src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' - alt: 'Partner logo' - - href: 'JavaScript:Void(0);' - src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' - alt: 'Partner logo' - - href: 'JavaScript:Void(0);' - src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' - alt: 'Partner logo' - - href: 'JavaScript:Void(0);' - src: '../../assets/vf-minimal-footer/assets/landscape-placeholder.svg' - alt: 'Partner logo' - name: Partners links in columns context: - footer__theme: dark - footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' - partner__heading: 'Our partners/collaborators' + footer__theme: 'dark' partner__variant: columns - partner__columns: - - text: Partner 1 - href: 'JavaScript:Void(0);' - - text: Partner 2 - href: 'JavaScript:Void(0);' - - text: Partner 3 - href: 'JavaScript:Void(0);' - - text: Partner 4 - href: 'JavaScript:Void(0);' - - text: Partner 5 - href: 'JavaScript:Void(0);' - - text: Partner 6 - href: 'JavaScript:Void(0);' - - text: Partner 7 - href: 'JavaScript:Void(0);' - - text: Partner 8 - href: 'JavaScript:Void(0);' - - text: Partner 9 - href: 'JavaScript:Void(0);' - name: Categorised summary context: - footer__theme: dark - footer__logo_src: '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' - partner__heading: 'Our partners/collaborators' + footer__theme: 'dark' partner__variant: summary - partner__description: 'Partnership statement. A short description of the partnerships, collaborations or consortium.' - partner__cta_text: 'See all collaborators' - partner__cta_href: 'JavaScript:Void(0);' - partner__stats: - - number: '35' - label: 'Data partners' - - number: '4' - label: 'Supporting funders' - - number: '35' - label: 'Research institutions' - + diff --git a/components/vf-minimal-footer/vf-minimal-footer.njk b/components/vf-minimal-footer/vf-minimal-footer.njk index 181dd54bf5..5ad30da98e 100755 --- a/components/vf-minimal-footer/vf-minimal-footer.njk +++ b/components/vf-minimal-footer/vf-minimal-footer.njk @@ -1,88 +1,114 @@ {# vf-minimal-footer #} -{# Params: - footer__theme : 'dark' (default) | 'light' - footer__logo_src : path to logo image - footer__logo_alt : logo alt text - footer__notice : mission/description text - footer__links : list of {text, href} for legal links - partner__heading : heading above the partner strip - partner__variant : 'logos' | 'columns' | 'summary' | none - partner__logos : list of {href, src, alt} for logos variant - partner__columns : list of {text, href} for columns variant - partner__description : description text for summary variant - partner__cta_text : CTA link text for summary variant - partner__cta_href : CTA link href for summary variant - partner__stats : list of {number, label} for summary variant -#} - {% set _theme = footer__theme if footer__theme else 'dark' %} {% set _isLight = true if _theme == 'light' else false %} +{% set _logoSrc = '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-full-colour.svg' if _isLight else '../../assets/vf-minimal-footer/assets/embl-ebi-rgb-all-white.png' %} -{# ── Main footer ─────────────────────────────────────────── #} {% if partner__variant %} - - {% render "@footer" %} + {% render "@vf-footer" %} diff --git a/components/vf-componenet-rollup/index.scss b/components/vf-componenet-rollup/index.scss index 8c2b288c32..07d75cfe54 100755 --- a/components/vf-componenet-rollup/index.scss +++ b/components/vf-componenet-rollup/index.scss @@ -138,7 +138,6 @@ button { @import 'vf-news-container/vf-news-container.scss'; @import 'vf-video-container/vf-video-container.scss'; -@import 'footer/footer.scss'; @import 'vf-minimal-footer/vf-minimal-footer.scss'; @import 'vf-footer/vf-footer.scss'; diff --git a/components/vf-footer/vf-footer.scss b/components/vf-footer/vf-footer.scss index 9b84e17d2f..f8d9bade7e 100755 --- a/components/vf-footer/vf-footer.scss +++ b/components/vf-footer/vf-footer.scss @@ -9,7 +9,7 @@ * Location: #{map-get($componentInfo, 'location')} */ - +@import 'vf-footer.variables.scss'; .vf-footer { background-color: color(grey--dark); border-top: 8px solid color(green); diff --git a/components/vf-minimal-footer/vf-minimal-footer.variables.scss b/components/vf-minimal-footer/vf-minimal-footer.variables.scss deleted file mode 100644 index e69de29bb2..0000000000 From 4c6232a1fbf6c205350c99607c926e0af06519b9 Mon Sep 17 00:00:00 2001 From: mshujamalik-ebi Date: Thu, 7 May 2026 09:30:09 +0100 Subject: [PATCH 13/13] Feedback changes --- components/footer/footer.config.yml | 2 +- components/vf-footer/vf-footer.scss | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/components/footer/footer.config.yml b/components/footer/footer.config.yml index a160f6d681..9b347d1baf 100755 --- a/components/footer/footer.config.yml +++ b/components/footer/footer.config.yml @@ -3,7 +3,7 @@ label: Footer preview: '@preview--nogrid' status: live context: - component-type: block + component-type: container footer__url: 'JavaScript:Void(0);' isExample: true exampleMultiColumns: "false" diff --git a/components/vf-footer/vf-footer.scss b/components/vf-footer/vf-footer.scss index f8d9bade7e..288270dd41 100755 --- a/components/vf-footer/vf-footer.scss +++ b/components/vf-footer/vf-footer.scss @@ -9,7 +9,8 @@ * Location: #{map-get($componentInfo, 'location')} */ -@import 'vf-footer.variables.scss'; +@import './vf-footer.variables.scss'; + .vf-footer { background-color: color(grey--dark); border-top: 8px solid color(green);