<div id="list-21427-79527" class="list">
    <div class="list__headline">
        <h2 class="headline headline--2"><span class="headline__text">20 passende Einträge</span></h2>
    </div>

    <div class="list__list-teasers">
        <div class="list__empty">
            <p class="paragraph">Keine Treffer gefunden.</p>

        </div>
    </div>

</div>
{% set level = level ??? 2 %}
{% set colors = ['cyan', 'green', 'yellow', 'purple', 'blue', 'red', 'orange'] %}
{% set id = id ??? html_id('list') -%}

<div {{ html_attributes({
  id: id,
  class: {
    'list': true,
  },
}, attrs ?? {}) }}>
  {% if headline|default %}
    <div class="list__headline">
      {% include '@headline' with headline | merge({
        level: level,
        size: 2,
      }) only %}
    </div>
  {% endif %}

  {% if searchBox|default %}
    <div class="list__search-box">
      {% include '@search-box' with searchBox | merge({
        id: 'search-box' | namespaceInputId(id),
      }) only %}
    </div>
  {% endif %}

  {% if searchResults|default %}
    <div class="list__search-results">
      {% include '@headline' with {
        tag: 'span',
        size: false,
        text: searchResults,
      } only %}
    </div>
  {% endif %}

  {% if pagination|default %}
    <div class="list__pagination">
      {% include '@pagination' with pagination | merge({
        id: 'top-pagination' | namespaceInputId(id),
        jump: false,
      }) only %}
    </div>
  {% endif %}

  <div class="list__list-teasers">
    {% for listTeaser in listTeasers %}
      <div class="list__list-teaser">
        {% include (listTeaser.use ??? '@card') with {
          id: "teaser-#{loop.index}" | namespaceInputId(id),
          level: level + 1,
          color: color ?? colors[loop.index0 % (colors|length)],
          showDetailLabels: showDetailLabels ?? true,
        } | merge(listTeaser) only %}
      </div>
    {% else %}
      {% if emptyMessage|default %}
        <div class="list__empty">
          {{ emptyMessage | componentize }}
        </div>
      {% endif %}
    {% endfor %}
  </div>

  {% if pagination|default %}
    <div class="list__pagination">
      {% include '@pagination' with pagination | merge({
        id: 'bottom-pagination' | namespaceInputId(id),
      }) only %}
    </div>
  {% elseif button|default %}
    <div class="list__button">
      {% include '@button' with button only %}
    </div>
  {% endif %}
</div>
{
  "headline": {
    "text": "20 passende Einträge"
  },
  "pagination": false,
  "listTeasers": [],
  "emptyMessage": "<p>Keine Treffer gefunden.</p>\n"
}
  • Content:
    :root {
      @include use-responsive-sizing(--list-teasers-gap, responsive-map(xs 2rem, xl 4.4rem));
    }
    
    .list {
      display: grid;
      gap: 3rem;
      grid-template-columns: 100%;
    }
    
    .list__search-box {
      margin-block-end: 4rem;
    }
    
    .list__search-results {
      --headline-font-size: 1.6rem;
      --headline-font-weight: var(--font-weight-regular);
      --headline-color: var(--color-grey-dark);
    
      margin-block-start: -3rem;
      padding-inline: var(--list-search-results-padding-inline, 0);
    }
    
    .list__pagination {
      padding-inline: var(--list-pagination-padding-inline, 0);
    }
    
    .list__list-teasers {
      display: grid;
      gap: var(--list-teasers-gap);
      padding-inline: var(--list-teasers-padding-inline, 0);
    }
    
    .list__list-teaser {
      border-block-end-color: var(--color-grey-light);
      border-block-end-style: solid;
      border-block-end-width: 1px;
      padding-block-end: var(--list-teasers-gap);
    }
    
    .list__empty {
      font-size: 2.2rem;
      margin-block: 4rem;
      text-align: center;
    
      > * + * {
        margin-block-start: 1rem;
      }
    }
    
    .list__button {
      padding-inline: var(--list-pagination-padding-inline, 0);
      text-align: center;
    }
    
  • URL: /components/raw/list/list.scss
  • Filesystem Path: src/components/3-organisms/list/list.scss
  • Size: 1.1 KB

No notes defined.