o-footer-services is an o-footer alternative for tools, internal products, and specialist titles at the FT.
All elements within the
As a move to future proof this component and the products that may use it,
To keep your CSS bundle size small, include
| Option | Description | Brand support | |-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------| | logo | A logo from the image service to include in the footer (e.g.
Your project should call
Available brand variables include:
Usage
Check out how to include Origami components in your project to get started witho-footer-services
.Markup
A footer requires the following markup:<footer class="o-footer-services">
<div class="o-footer-services__container">
<div class="o-footer-services__wrapper o-footer-services__wrapper--top">
<p class="o-footer-services__logo">Origami</p>
<a class="o-footer-services__icon-link o-footer-services__icon-link--github" href="http://github.com/financial-times/o-footer-services">View project on GitHub</a>
<a class="o-footer-services__icon-link o-footer-services__icon-link--slack" href="https://slack.com/messages/[id]/">#slack-channel</a>
<p class="o-footer-services__content">Help or advice can be found here <a href="mailto:an.email@someplace.com">an.email@someplace.com</a> and there are other places, <a href='/somewhere'>like this one</a>.</p>
</div>
</div>
<div class="o-footer-services__container">
<div class="o-footer-services__wrapper o-footer-services__wrapper--legal">
<div class="o-footer-services__links">
<a href="https://help.ft.com/help/legal-privacy/cookies/">Cookies</a>
<a href="https://help.ft.com/help/legal-privacy/copyright/copyright-policy/">Copyright</a>
<a href="https://help.ft.com/help/legal-privacy/privacy/">Privacy</a>
<a href="https://help.ft.com/legal-privacy/copyright-policy/">Slavery Statement & Policies</a>
</div>
<p><span>© THE FINANCIAL TIMES LTD 2020.</span> FT and 'Financial Times' are trademarks of The Financial Times Ltd.</p>
</div>
</footer>
All elements within the
.o-footer-services__wrapper--top
section are entirely optional. You can find examples of the variations in the registry.As a move to future proof this component and the products that may use it,
.o-footer-services__wrapper--legal
is not optional.Themes
To use a dark theme, apply theo-footer-services--dark
modifier class:-<footer class="o-footer-services">
+<footer class="o-footer-services o-footer-services--dark">
<!-- ... -->
</footer>
Sass
To output allo-footer-services
CSS call oFooterServices()
.@include oFooterServices();
To keep your CSS bundle size small, include
o-footer-services
features granularly using the opts
argument.
E.g. to output styles for the dark theme with a project logo, but without the default icon link to Github:@include oFooterServices($opts: (
'logo': 'ftlogo-v1:origami',
'icons': ('slack'),
'themes': ('dark'),
));
All options include:| Option | Description | Brand support | |-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------| | logo | A logo from the image service to include in the footer (e.g.
ftlogo-v1:origami
). | core, internal, whitelabel |
| icons | A list of social share icons to include links for, defaults to '('slack', 'github')`. | core, internal, whitelabel |
| brand-strip | Whether to include styles for the brand strip at the bottom of the footer, "a Nikkei company". | core, internal, whitelabel |
| themes | A list of themes to include. Currently the only theme is dark
, which is only supported by the core brand. | core |Your project should call
oFooterServices
once, and add to the opts
argument when new features are needed. However, if oFooterServices
is called multiple times, for example for code splitting across multiple bundles, the $include-base-styles
argument may be set to false
to omit fundamental base styles required by all options.
// Output o-footer-services with no icons.
@include oFooterServices($opts: (
'logo': 'ftlogo-v1:origami',
'icons': ()
));
// Include o-footer-services icons separately,
// without repeating base styles output above.
// This is *not* recommended.
@include oFooterServices($opts: (
'icons': ('slack', 'github')
), $include-base-styles: false);
Customisation
For users of thewhitelabel
brand, o-footer-services
allows customisation using the oFooterServicesCustomize
mixin.$o-brand: whitelabel;
@import '@financial-times/o-footer-services/main';
// Customise o-footer-services colours
@include oFooterServicesCustomize((
'text-color': rgb(73, 0, 39),
'background-color': rgb(251, 238, 240),
'border-color': hotpink,
'link-color': rgb(156, 4, 85),
'link-hover-color': rgb(156, 4, 85),
'legal-text-color': rgb(214, 73, 148),
'brand-background-color': oColorsByName('black'),
'brand-foreground-color': oColorsByName('white'),
));
// Output o-footer-services css
@include oFooterServices($opts: (
'logo': 'ftlogo-v1:origami',
'icons': ()
));
Available brand variables include:
text-color
: The default text colour.background-color
: The background colour.border-color
: The border colour used around and within the footer.link-color
: The default link colour.link-hover-color
: The hover colour of links with no underline, i.e. icon links.legal-text-color
: The colour of legal links.brand-background-color
: The background colour of the brand strip, at the bottom of the footer, "a Nikkei company".brand-foreground-color
: The foreground colour for the logo in the brand strip, at the bottom of the footer, "a Nikkei company".