{% set styleModifier = styleModifier | default('') %}{% set actions = actions |default(null) %}{% set notAvailable = notAvailable | default(false) %}{% set isCart = isCart | default(false) %}{% set event = event ?? null %}{% set decorName = decorName ?? null %}<div class="content-teaser{{ styleModifier ? ' ' ~ styleModifier : '' }} {{ notAvailable ? 'alert alert-danger'}} {{ actions ? '' : 'stretch-link' }}"> {% if image|default(null) or imgText|default(false) %} <div class="content-teaser__image"> <div class="ratio ratio-1x1"> {% if image|default(null) is not empty %} {{ image.thumbnail('content-teaser-lg').html({ imgAttributes:{ class:'js-lazy-img ratio-item' }, lowQualityPlaceholder:true }) | raw }} {% else %} <div class="content-teaser__image-text">{{ imgText|default('content-teaser.no-image'|trans) }}</div> {% endif %} </div> </div> {% endif %} <div class="content-teaser__body"> {% if subtitle|default(false) %} <div class="content-teaser__supline">{{ subtitle }}</div> {% endif %} {% if title|default('') is not empty %} <h2 class="content-teaser__headline"> {% if href is defined %} <a href="{{ href }}" class="{{ actions ? '' : 'stretch-link__link' }}" {% if event == 'select_sample_variant' %} data-event-tracking-event="{{ event }}" data-event-tracking-product_name="{{ decorName }}" data-event-tracking-sample_variant="{{ title }}" {% endif %} >{{ title }}</a> {% else %} {{ title }} {% endif %} </h2> {% endif %} {% if list|default(false) %} <div class="content-teaser__list">{{ list|raw }}</div> {% endif %} {% if actions|default([])|length > 0 %} <div class="content-teaser__actions"> <ul> {% for action in actions|filter(action => action.caption != '') %} {% if action.href is defined %} <li> <a href="{{ action.href }}" target="{{ 'tel:' in action.href or 'mailto:' in action.href ? '' : '_blank' }}" {{ action.download|default(false) ? 'download'}} aria-label="{{ action.caption }} {{ action.download|default(false) ? 'sr.download'|trans}}"> <span class="content-teaser__actions-icon" aria-hidden="true"> <span class="icon icon-{{ action.icon }}" aria-hidden="true"></span> </span> <span class="content-teaser__actions-text">{{ action.caption }}</span> </a> </li> {% else %} <li> <span> {% if action.icon is defined %} <span class="content-teaser__actions-icon"> <span class="icon icon-{{ action.icon }}"></span> </span> {% endif %} <span class="content-teaser__actions-text">{{ action.caption | raw }}</span> </span> </li> {% endif %} {% endfor %} </ul> </div> {% endif %} {% if keyValues|default([])|length > 0 %} <div class="content-teaser__keyvalues"> <ul> {% for keyValueItem in keyValues|filter(item => item.key is not empty and item.value is not empty) %} <li class=""> <span class="content-teaser__keyvalues-key">{{ keyValueItem.key }}</span> {% if keyValueItem.value is iterable %} {% for value in keyValueItem.value %} <span class="content-teaser__keyvalues-value">{{ value }}</span> {% endfor %} {% else %} <span class="content-teaser__keyvalues-value">{{ keyValueItem.value }}</span> {% endif %} </li> {% endfor %} </ul> </div> {% endif %} {% if isCart %} <div class="js-cart__item" data-product-id="{{ item.productId }}"> <div class="d-md-flex align-items-center js-number-spinner" data-number-spinner-trigger="change"> <div class=" number-spinner mt-3"> <label for="amount" class="visually-hidden">{{ 'sr.amount'|trans }}</label> <div class="input-group"> <div class="input-group-prepend"> <button class="btn btn-number-spinner btn--no-transition js-number-spinner__down" type="button" aria-controls="amount" aria-label="{{ 'sr.reduce-amount'|trans }}"> <span class="icon icon-minus" aria-hidden="true"></span> </button> </div> <input type="number" id="amount" name="amount" class="form-control js-number-spinner__input" value="{{ item.count }}" min="0" max="{{ item.count + cartAddMaxAmount(item.product, app.user) }}"> <div class="input-group-append"> <button class="btn btn-number-spinner btn--no-transition js-number-spinner__up" type="button" aria-controls="amount" aria-label="{{ 'sr.increase-amount'|trans }}"> <span class="icon icon-plus" aria-hidden="true"></span> </button> </div> </div> </div> <div class="js-number-spinner__error number-spinner__error mt-3 text-danger hide ms-md-3" role="status"> <span class="icon icon-info me-2" aria-hidden="true"></span> {{ 'detail.number-spinner.info'|trans }} </div> </div> </div> {% endif %} </div> {% if icon|default(null) %} <div class="content-teaser__arrow" aria-hidden="true"> <div class="icon icon-{{ icon }}"></div> </div> {% endif %} {% if button|default(false) %} <div class="content-teaser__btn"> <a href="{{ button.href }}" class="{{ button.className }}"><span class="btn__text">{{ button.text }}</span><span class="btn__icon" aria-hidden="true"><span class="icon icon-{{ button.icon }}" aria-hidden="true"></span></span></a> </div> {% endif %} {% if notAvailable %} <div class="content-teaser__error"> {{ 'content-teaser.not-available' | trans }} </div> {% endif %}</div>