Featured items
When and how to use this component
Users need a way to quickly scan relevant information.
The featured item component uses a different visualisation to attract user attention. It’s always the first item on the “Latest section”.
When to use this component
- when you want to highlight content in a list for a limited period
Do not use this component
- if it is a permanent page
Technical details
Variants
Use following variants to change the display:
ecl-featured-items--extended
: visual changes and link option
{#
- variant: the variant. Can be '' or 'extended' (default: '')
- image: {
src: the source of the image (default: '')
alt: alternative text for the image (default: '')
}
- metas (array): array of meta. Should follow structure of ecl-meta (default: '')
- title: title of the featured item (default: '')
- body (block): content of the featured item (default: lorem ipsum)
- link: {
href: target of the link (default: '')
label: label of the link (default: '')
}
#}
{% set variant = variant|default('') %}
{% set image = {
src: image.src|default(''),
alt: image.alt|default('')
} %}
{% set title = title|default('') %}
{% set link = {
href: link.href|default(''),
label: link.label|default('')
} %}
{# Internal properties #}
{% set _css_class = 'ecl-featured-item' ~ (variant != '' ? ' ecl-featured-item--' ~ variant: '') %}
{% set _extra_attributes = '' %}
{# Internal logic - Process properties #}
{% if extra_classes is defined %}
{% set _css_class = _css_class ~ ' ' ~ extra_classes %}
{% endif %}
{% if extra_attributes is defined %}
{% for attr in extra_attributes %}
{% set _extra_attributes = _extra_attributes ~ ' ' ~ attr.name ~ '="' ~ attr.value ~ '"' %}
{% endfor %}
{% endif %}
{# Print result #}
<div class="{{ _css_class }}" {{ _extra_attributes|raw }}>
<div class="ecl-featured-item__image">
<img src="{{ image.src }}" alt="{{ image.alt }}" />
</div>
<div class="ecl-featured-item__body">
{% include '@ec-europa/ecl-meta' with {
modifier: 'ecl-meta--header',
metas: metas,
} %}
{% include '@ec-europa/ecl-links' with {
'href': link.href,
'label': title,
'extra_classes': 'ecl-featured-item__title',
'variant': 'standalone',
}
%}
{% block body %}
<p class="ecl-paragraph">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et augue quis est dignissim lacinia. Curabitur interdum iaculis sagittis. Maecenas sodales elit est, et suscipit nisl vulputate eget. Mauris vel pulvinar odio. Sed diam turpis, cursus vel congue vel, lobortis a ipsum. Donec vel quam nec enim tristique efficitur at eget nisl.
</p>
{% endblock %}
{% if variant == 'extended' %}
<a href="{{ link.href }}" class="ecl-button ecl-button--call ecl-button--caret-right">{{ link.label }}</a>
{% endif %}
</div>
</div>
/* Featured item */
{
"image": {
"src": "../../assets/demo_images/technics-demo-1.jpg",
"alt": "Technic picture"
},
"link": {
"href": "#featured-item-1",
"label": "See more"
},
"metas": [
"announcement",
"21 December 2016"
],
"title": "Energy Union tour"
}
/* Featured item extended */
{
"variant": "extended",
"image": {
"src": "../../assets/demo_images/technics-demo-1.jpg",
"alt": "Technic picture"
},
"metas": [
"announcement",
"21 December 2016"
],
"title": "Energy Union tour",
"link": {
"href": "#featured-item-2",
"label": "See more"
}
}
<!-- Featured item -->
<div class="ecl-featured-item">
<div class="ecl-featured-item__image">
<img src="../../assets/demo_images/technics-demo-1.jpg" alt="Technic picture" />
</div>
<div class="ecl-featured-item__body">
<div class="ecl-meta">
<span class="ecl-meta__item">announcement</span>
<span class="ecl-meta__item">21 December 2016</span>
</div>
<a class="ecl-link ecl-link--standalone ecl-featured-item__title" href="#featured-item-1">Energy Union tour</a>
<p class="ecl-paragraph">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et augue quis est dignissim lacinia. Curabitur interdum iaculis sagittis. Maecenas sodales elit est, et suscipit nisl vulputate eget. Mauris vel pulvinar odio. Sed diam turpis, cursus vel
congue vel, lobortis a ipsum. Donec vel quam nec enim tristique efficitur at eget nisl.
</p>
</div>
</div>
<!-- Featured item extended -->
<div class="ecl-featured-item ecl-featured-item--extended">
<div class="ecl-featured-item__image">
<img src="../../assets/demo_images/technics-demo-1.jpg" alt="Technic picture" />
</div>
<div class="ecl-featured-item__body">
<div class="ecl-meta ecl-meta--extended">
<span class="ecl-meta__item">announcement</span>
<span class="ecl-meta__item">21 December 2016</span>
</div>
<a class="ecl-link ecl-link--standalone ecl-featured-item__title" href="#featured-item-2">Energy Union tour</a>
<p class="ecl-paragraph">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et augue quis est dignissim lacinia. Curabitur interdum iaculis sagittis. Maecenas sodales elit est, et suscipit nisl vulputate eget. Mauris vel pulvinar odio. Sed diam turpis, cursus vel
congue vel, lobortis a ipsum. Donec vel quam nec enim tristique efficitur at eget nisl.
</p>
<a href="#featured-item-2" class="ecl-button ecl-button--call ecl-button--caret-right">See more</a>
</div>
</div>
-
Content:
/** * Featured item component * @define featured-item */ .ecl-featured-item { display: flex; flex-direction: column; margin: 0; width: 100%; } .ecl-featured-item__image { margin-bottom: map-get($ecl-spacing, 's'); } .ecl-featured-item__title { color: $ecl-color-shade; display: block; font-size: map-get($ecl-font-size, 'l'); font-weight: bold; margin-top: map-get($ecl-spacing, 's'); } .ecl-featured-item--extended { background-color: map-get($ecl-colors, 'grey-10'); border-left: map-get($ecl-spacing, 'xxs') solid $ecl-color-secondary; padding: map-get($ecl-spacing, 'xs'); } /* Desktop display */ @include ecl-media-breakpoint-up(md) { .ecl-featured-item { flex-direction: row; } .ecl-featured-item__image { margin-bottom: 0; padding-right: map-get($ecl-spacing, 'm'); width: 40%; } }
- URL: /components/raw/ecl-featured-items/ecl-featured-items.scss
- Filesystem Path: framework/components/ecl-featured-items/ecl-featured-items.scss
- Size: 848 Bytes
- Handle: @ec-europa/ecl-featured-items
- Tags: molecule
- Preview:
- Filesystem Path: framework/components/ecl-featured-items/ecl-featured-items.twig