<div class="filter-list filter-list--with-checkboxes">
    <details class="filter-list__accordion" open>
        <summary class="filter-list__label">
            <div>Recipient Organisation</div>
            <svg class="accordion-toggle-icon" width="18" stroke="#153634" stroke="#153634" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
                <line class="accordion-toggle-icon__horizontal-line" x1="16.4131" y1="8.65356" x2="1.09657" y2="8.65356" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                <line class="accordion-toggle-icon__vertical-line" x1="8.7561" y1="0.995239" x2="8.7561" y2="16.3118" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
            </svg>

        </summary>
        <div class="filter-list__contents-wrapper">
            <form class="filter-list__form" action="#">

                <div class="filter-list__form--radios">

                    <div class="filter-list__form--radio-item">
                        <input class="screen-reader-only" type="radio" id="include" name="radioGroupName" value="include" checked>
                        <label for="include">Include selected</label>
                    </div>

                    <div class="filter-list__form--radio-item">
                        <input class="screen-reader-only" type="radio" id="exclude" name="radioGroupName" value="exclude">
                        <label for="exclude">Exclude selected</label>
                    </div>

                </div>

                <ul class="filter-list__form--checkbox-listing">

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="oxford" type="checkbox" checked>
                            <label for="oxford">Oxford (321)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="reading" type="checkbox">
                            <label for="reading">Reading (1422)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="manchester" type="checkbox" checked>
                            <label for="manchester">Manchester (3141)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="birmingham" type="checkbox">
                            <label for="birmingham">Birmingham (2132)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="london" type="checkbox">
                            <label for="london">London (32113)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="paris" type="checkbox">
                            <label for="paris">Paris (4123)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="marseille" type="checkbox">
                            <label for="marseille">Marseille (7321)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="brussels" type="checkbox">
                            <label for="brussels">Brussels (9321)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="geneva" type="checkbox">
                            <label for="geneva">Geneva (8743)</label>
                        </div>
                    </li>

                    <li>
                        <div class="filter-list__form--checkbox-item">
                            <input class="screen-reader-only" id="barcelona" type="checkbox">
                            <label for="barcelona">Barcelona (8241)</label>
                        </div>
                    </li>

                </ul>

                <div class="filter-list__form--summary">
                    <div class="filter-list__form--summary-label">Selected:</div>
                    <ul class="filter-list__form--summary-contents">

                        <li data-option-id="oxford" class="filter-list__form--summary-item  active">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Oxford (321)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="reading" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Reading (1422)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="manchester" class="filter-list__form--summary-item  active">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Manchester (3141)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="birmingham" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Birmingham (2132)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="london" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">London (32113)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="paris" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Paris (4123)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="marseille" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Marseille (7321)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="brussels" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Brussels (9321)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="geneva" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Geneva (8743)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                        <li data-option-id="barcelona" class="filter-list__form--summary-item ">
                            <button class="filter-list__form--summary-button">
                                <span class="screen-reader-only">(remove)</span>
                                <span class="filter-list__form--summary-button__label">Barcelona (8241)</span>
                                <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <path d="M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L3.58579 5L0.292893 8.29289C-0.0976311 8.68342 -0.0976311 9.31658 0.292893 9.70711C0.683417 10.0976 1.31658 10.0976 1.70711 9.70711L5 6.41421L8.29289 9.70711C8.68342 10.0976 9.31658 10.0976 9.70711 9.70711C10.0976 9.31658 10.0976 8.68342 9.70711 8.29289L6.41421 5L9.70711 1.70711C10.0976 1.31658 10.0976 0.683417 9.70711 0.292893C9.31658 -0.0976311 8.68342 -0.0976311 8.29289 0.292893L5 3.58579L1.70711 0.292893Z" fill="#DE6E24" />
                                </svg>

                            </button>
                        </li>

                    </ul>
                </div>

                <div class="filter-list__form--actions">
                    <input class="filter-list__contents--form-submit" type="submit" value="Apply">
                    <input class="filter-list__contents--form-clear" type="submit" value="Clear all">
                </div>

            </form>
        </div>
    </details>
</div>
<div class="filter-list filter-list--with-checkboxes">
  <details class="filter-list__accordion" {% if opened === true%} open{% endif %}>
    <summary class="filter-list__label">
      <div>{{ filterTypeLabel }}</div>
      {% render '@accordion-toggle-icon' %}
    </summary>
    <div class="filter-list__contents-wrapper">
      <form class="filter-list__form" action="{{ formAction }}">
        {% block filterRadios %}
          <div class="filter-list__form--radios">
            {% for radioItem in radioItems %}
              <div class="filter-list__form--radio-item">
                <input class="screen-reader-only" type="radio" id="{{ radioItem.value }}" name="radioGroupName" value="{{ radioItem.value }}"{% if radioItem.checked === true %} checked{% endif %}>
                <label for="{{ radioItem.value }}">{{ radioItem.label }}</label>
              </div>
            {% endfor %}
          </div>
        {% endblock filterRadios %}

        <ul class="filter-list__form--checkbox-listing">
          {% for filterItem in filterItems %}
            <li>
              <div class="filter-list__form--checkbox-item">
                <input class="screen-reader-only" id="{{ filterItem.value }}" type="checkbox"{% if filterItem.checked === true %} checked{% endif %}>
                <label for="{{ filterItem.value }}">{{ filterItem.label }}</label>
              </div>
            </li>
          {% endfor %}
        </ul>

        <div class="filter-list__form--summary">
          <div class="filter-list__form--summary-label">Selected:</div>
          <ul class="filter-list__form--summary-contents">
            {% for filterItem in filterItems %}
              <li data-option-id="{{ filterItem.value }}" class="filter-list__form--summary-item {% if filterItem.checked === true %} active{% endif %}">
                <button class="filter-list__form--summary-button">
                  <span class="screen-reader-only">(remove)</span>
                  <span class="filter-list__form--summary-button__label">{{ filterItem.label }}</span>
                  {% render '@checkmark-icon' %}
                </button>
              </li>
            {% endfor %}
          </ul>
        </div>

        <div class="filter-list__form--actions">
          <input class="filter-list__contents--form-submit" type="submit" value="Apply">
          <input class="filter-list__contents--form-clear" type="submit" value="Clear all">
        </div>

      </form>
    </div>
  </details>
</div>
{
  "filterTypeLabel": "Recipient Organisation",
  "filterItems": [
    {
      "label": "Oxford (321)",
      "value": "oxford",
      "url": "#",
      "checked": true
    },
    {
      "label": "Reading (1422)",
      "value": "reading",
      "url": "#"
    },
    {
      "label": "Manchester (3141)",
      "value": "manchester",
      "url": "#",
      "checked": true
    },
    {
      "label": "Birmingham (2132)",
      "value": "birmingham",
      "url": "#"
    },
    {
      "label": "London (32113)",
      "value": "london",
      "url": "#"
    },
    {
      "label": "Paris (4123)",
      "value": "paris",
      "url": "#"
    },
    {
      "label": "Marseille (7321)",
      "value": "marseille",
      "url": "#"
    },
    {
      "label": "Brussels (9321)",
      "value": "brussels",
      "url": "#"
    },
    {
      "label": "Geneva (8743)",
      "value": "geneva",
      "url": "#"
    },
    {
      "label": "Barcelona (8241)",
      "value": "barcelona",
      "url": "#"
    }
  ],
  "opened": true,
  "formAction": "#",
  "radioId": "exclusion",
  "radioItems": [
    {
      "label": "Include selected",
      "value": "include",
      "checked": true
    },
    {
      "label": "Exclude selected",
      "value": "exclude"
    }
  ]
}
  • Content:
    .filter-list {
      border: 1px solid $blue-tint;
      border-radius: 2px;
    
      &__accordion[open] {
        .filter-list__label .accordion-toggle-icon {
          .accordion-toggle-icon__vertical-line {
            transform-origin: center;
            transform: rotateZ(90deg);
            transition: 0.1s;
          }
        }
      }
    
      &__label {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: $blue-tint-light;
        font-size: 16px;
        font-weight: 500;
        padding: 4px 10px;
    
        .accordion-toggle-icon {
          transition: 0.2s;
    
          .accordion-toggle-icon__vertical-line {
            transform-origin: center;
            transform: rotateZ(0deg);
            transition: 0.1s;
          }
        }
    
        &:hover {
          cursor: pointer;
    
          .accordion-toggle-icon {
            transform: scale(1.1, 1.1);
            transition: 0.2s;
          }
        }
    
        &::-webkit-details-marker {
          display: none;
        }
      }
    
      &__listing {
        max-height: 250px;
        overflow-y: auto;
        list-style: none;
        padding: 0;
        margin: 0;
    
        li {
          &:last-of-type {
            .filter-list__filter-item {
              border-bottom: 0;
            }
          }
        }
      }
    
      &__filter-item {
        display: block;
        position: relative;
        border-radius: 0;
        padding: 4px 0;
        padding-left: 34px;
        border-bottom: 1px solid $blue-tint;
        color: $black;
    
        &::before {
          content: '';
          width: 14px;
          height: 14px;
          border: 1px solid $black;
          border-radius: 2px;
          position: absolute;
          left: 8px;
          top: 9px;
          box-sizing: border-box;
        }
    
        &::after {
          content: '';
          width: 10px;
          height: 10px;
          background: url($path + 'checkmark-icon.svg') no-repeat;
          background-size: cover;
          border-radius: 2px;
          position: absolute;
          left: 10px;
          top: 11px;
          display: none;
          box-sizing: border-box;
        }
    
        &:hover {
          color: $black;
          text-decoration: underline;
        }
    
        &:active {
          color: $black;
          background: $orange-tint-light;
        }
    
        &:focus {
          color: $black;
          background: $orange-tint-light;
        }
    
        &.active {
          background: $orange-tint-light;
    
          &::after {
            display: block;
          }
        }
      }
    
      &__expand-button {
        display: block;
        padding: 4px 12px;
        text-align: center;
        color: $black;
        font-size: 15px;
        font-weight: 500;
      }
    
      &__contents--form {
        align-items: baseline;
        padding: 6px 8px;
        background: $blue-tint-fade;
        border-bottom: 1px solid $blue-tint;
        max-width: 100%;
        flex-wrap: wrap;
    
        &-item {
          display: inline-block;
          flex-direction: column;
          margin-right: 8px;
          flex-shrink: 2;
          max-width: 35%;
          margin-bottom: 4px;
    
          label {
            margin-bottom: 0;
            font-weight: 400;
            font-size: 15px;
            box-sizing: border-box;
          }
    
          input {
            background: $white;
            border: 1px solid $blue-tint;
            border-radius: 2px;
            font-size: 15px;
            width: auto;
            max-width: 100%;
          }
        }
    
        &-submit {
          appearance: none;
          border: none;
          display: inline-block;
          align-self: flex-end;
          font-weight: 400;
          font-size: 15px;
          background: $teal-dark;
          padding: 2px 6px;
          color: $white;
          border-radius: 2px;
          flex-shrink: 0;
          margin-bottom: 4px;
          border: 1px solid $teal-dark;
    
          &:hover {
            cursor: pointer;
          }
        }
    
        &-clear {
          appearance: none;
          border: none;
          align-self: flex-end;
          font-weight: 400;
          font-size: 15px;
          background: $white;
          padding: 2px 6px;
          color: $teal-dark;
          border-radius: 2px;
          flex-shrink: 0;
          margin-bottom: 4px;
          border: 1px solid $teal-dark;
    
          &:hover {
            cursor: pointer;
          }
        }
      }
    }
    
    
    .filter-list--with-checkboxes {
      .filter-list__form {
        &--radios {
          padding: 12px 8px;
          border-bottom: 1px solid $blue-tint;
        }
    
        &--radio-item {
          label {
            margin: 0;
            padding-left: 24px;
            position: relative;
            font-size: 15px;
            font-weight: 400;
            box-sizing: border-box;
    
            &::before {
              content: '';
              position: absolute;
              left: 0px;
              top: 4px;
              width: 14px;
              height: 14px;
              border: 1px solid $teal-dark;
              border-radius: 100%;
              box-sizing: border-box;
            }
    
            &::after {
              content: '';
              position: absolute;
              background: $teal-dark;
              left: 2px;
              top: 6px;
              width: 10px;
              height: 10px;
              border-radius: 100%;
              display: none;
              box-sizing: border-box;
            }
          }
    
          input:checked ~ label {
            &::after {
              display: block;
            }
          }
    
          input:focus ~ label {
            outline: 2px solid $orange;
          }
        }
    
        &--checkbox-listing {
          max-height: 200px;
          overflow-y: scroll;
          overflow-x: hidden;
          list-style: none;
          margin: 0;
          padding: 0;
          border-bottom: 1px solid $blue-tint;
          display: flex;
          flex-direction: column;
    
          li {
            label {
              border-bottom: 1px solid $blue-tint;
            }
    
            &:last-of-type {
              label {
                border-bottom: none;
              }
            }
          }
        }
    
        &--checkbox-item {
          label {
            margin: 0;
            padding-top: 4px;
            padding-bottom: 5px;
            padding-left: 34px;
            padding-right: 34px;
            position: relative;
            width: 100%;
            font-size: 15px;
            font-weight: 400;
            box-sizing: border-box;
    
            &:hover {
              text-decoration: dashed underline;
              text-underline-offset: 2px;
              cursor: pointer;
            }
    
            &::before {
              content: '';
              position: absolute;
              left: 8px;
              top: 8px;
              width: 14px;
              height: 14px;
              border: 1px solid $teal-dark;
              border-radius: 3px;
              box-sizing: border-box;
            }
    
            &::after {
              content: '';
              position: absolute;
              background: url($path + 'checkmark-icon.svg') no-repeat;
              background-size: cover;
              left: 10px;
              top: 10px;
              width: 10px;
              height: 10px;
              display: none;
              box-sizing: border-box;
            }
          }
    
          input:checked ~ label {
            background: $orange-tint-light;
            &::after {
              display: block;
            }
          }
    
          input:focus ~ label {
            outline: 2px solid $orange;
            outline-offset: -3px;
          }
        }
    
        &--summary {
          padding: 12px 8px;
          list-style: none;
          margin: 0;
    
          &-contents {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-wrap: wrap;
          }
    
          &-label {
            font-weight: 400;
            font-size: 15px;
            margin-bottom: 4px;
          }
    
          &-item {
            display: none;
            margin-right: 6px;
            margin-bottom: 6px;
    
            &.active {
              display: block;
            }
          }
    
          &-button {
            appearance: none;
            border: 1px solid $teal-dark;
            background: $white;
            color: $teal-dark;
            border-radius: 3px;
            font-size: 15px;
            font-weight: 400;
    
            &:hover {
              cursor: pointer;
            }
    
            &__label {
              margin-right: 6px;
            }
          }
        }
    
        &--actions {
          padding: 0px 8px 12px;
        }
      }
    }
    
  • URL: /components/raw/filter-list/filter-list.scss
  • Filesystem Path: src/components/03-components/filter-list/filter-list.scss
  • Size: 7.6 KB

This filter list contains links styled to look like checkboxes to better match the output on GrantNav.

Please note that I haven’t hooked up the clear all button to do anything in this demo because it’s action will vary by implementation.