import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-BdVwMG9u.js';
import { B as BEM } from './bem-ByiN-QjD.js';
import { _ as __decorate, a as __metadata } from './tslib.es6-dfXERft2.js';
import { m as raf, t as transitionEndAsync, r as rIC, k as debounce } from './helpers-BNj87EbG.js';
import { L as Logger } from './log-CwssmmaV.js';
import { L as ListenToConfig } from './config.decorator-3bfyZ-0Y.js';
import { b as balBreakpoints } from './breakpoints.subject-C32mP6rF.js';
import { L as ListenToResize } from './resize.decorator-ZKPOJfw5.js';
import { L as ListenToBreakpoints } from './breakpoints.decorator-Da-lbVYy.js';
import { a as ariaBooleanToString } from './aria-DBsOHTWj.js';
import { s as stopEventBubbling } from './form-input-DYvzaBlM.js';
import { d as defaultConfig } from './config.default-RE8-gLMQ.js';
import { i as isSpaceKey, a as isEnterKey } from './keyboard.helpers-BERg8BNc.js';
import './browser-B1u-Mq75.js';
import './config.utils-B7jugjyM.js';
import './device-TtMibDFL.js';
import './listener-CClDIhvK.js';
import './tokens.esm-C22U88Bg.js';

const balListCss = ":root{--bal-list-item-radius:var(--bal-radius-normal);--bal-list-item-subtile-color:var(--bal-color-text-primary);--bal-list-item-background-hover:var(--bal-color-light-blue-5);--bal-list-item-background-active:var(--bal-color-primary-6);--bal-list-item-on-dark-color:var(--bal-color-text-white);--bal-list-item-on-dark-background-hover:var(--bal-color-light-blue-2);--bal-list-item-on-dark-background-active:var(--bal-color-light-blue-4);--bal-list-item-disabled-color:var(--bal-color-text-grey);--bal-list-item-disabled-fill:var(--bal-color-grey-5);--bal-list-item-disabled-background:var(--bal-color-grey-2);--bal-list-item-disabled-on-dark-background:var(--bal-color-primary-4);--bal-list-item-disabled-on-dark-color:var(--bal-color-text-grey);--bal-list-item-disabled-on-dark-fill:var(--bal-color-grey-5);--bal-list-item-disabled-on-color-background:var(--bal-color-primary-4);--bal-list-item-disabled-on-color-color:var(--bal-color-primary-4);--bal-list-item-disabled-on-color-fill:var(--bal-color-primary-4);--bal-list-item-border-background:var(--bal-color-grey-2);--bal-list-item-border-on-color-background:var(--bal-color-primary);--bal-list-item-border-on-dark-background:var(--bal-color-primary-4);--bal-list-accordion-head-color-hover:var(--bal-color-text-light-blue);--bal-list-accordion-head-background-hover:var(--bal-color-light-blue-5);--bal-list-accordion-head-color-active:var(--bal-color-text-primary-dark);--bal-list-accordion-head-background-active:var(--bal-color-primary-6);--bal-list-accordion-body-color:var(--bal-color-text-white);--bal-list-accordion-head-on-dark-color-hover:var(--bal-color-light-blue-2);--bal-list-accordion-head-on-dark-background-hover:var(--bal-color-light-blue-2);--bal-list-accordion-head-on-dark-color-active:var(--bal-color-light-blue-3);--bal-list-accordion-head-on-dark-background-active:var(--bal-color-light-blue-3)}.bal-list,.bal-list__item,.bal-list__item>a,.bal-list__item>button,.bal-list__item>div,.bal-list__item__icon,.bal-list__item__title,.bal-list__item__link,.bal-list__item__subtitle,.bal-list__item__content{position:static;display:-ms-flexbox;display:flex}.bal-list,.bal-list__item__content{-ms-flex-direction:column;flex-direction:column}.bal-list__item__title,.bal-list__item__subtitle{text-align:left}.bal-list,.bal-list__item,.bal-list__item>div,.bal-list__item>a,.bal-list__item>button{width:100%}.bal-list__item,.bal-list__item>a,.bal-list__item>div,.bal-list__item>button{-ms-flex-align:center;align-items:center;-webkit-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body),.bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body)>a,.bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body)>div,.bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body)>button{min-height:3.5rem}.bal-list--size-small .bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body),.bal-list--size-small .bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body)>a,.bal-list--size-small .bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body)>div,.bal-list--size-small .bal-list__item:not(.bal-list__item__accordion-head):not(.bal-list__item__accordion-body)>button{min-height:3rem}.bal-list__item>a,.bal-list__item>div,.bal-list__item>button{padding:.5rem 0;margin:0;outline:none;border-radius:var(--bal-list-item-radius)}.bal-list--size-small .bal-list__item>a,.bal-list--size-small .bal-list__item>div,.bal-list--size-small .bal-list__item>button{padding:2px 0}.bal-list__item{position:relative}.bal-list__item a{text-decoration:none}.bal-list__item button{background:rgba(0,0,0,0);border:none}.bal-list__item__subtitle{color:var(--bal-list-item-subtile-color);font-size:var(--bal-text-size-small);line-height:var(--bal-line-height-small)}@media screen and (min-width: 769px),print{.bal-list__item__subtitle{font-size:var(--bal-text-size-small-tablet);line-height:var(--bal-line-height-tablet-small)}}@media screen and (min-width: 1024px){.bal-list__item__subtitle{font-size:var(--bal-text-size-small-desktop);line-height:var(--bal-line-height-desktop-small)}}.bal-list__item:not(.bal-list__item__accordion-head),.bal-list__item:not(.bal-list__item__accordion-head)>a,.bal-list__item:not(.bal-list__item__accordion-head)>div,.bal-list__item:not(.bal-list__item__accordion-head)>button,.bal-list__item__content{-ms-flex:1;flex:1}.bal-list__item__content{-ms-flex-pack:center;justify-content:center}.bal-list__item__content--start{-ms-flex-pack:start;justify-content:flex-start}.bal-list__item__content--center{-ms-flex-pack:center;justify-content:center}.bal-list__item__content--end{-ms-flex-pack:end;justify-content:flex-end}.bal-list__item__content--space-between{-ms-flex-pack:justify;justify-content:space-between}.bal-list__item__icon{min-width:1.5rem;min-height:3.5rem;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.bal-list--size-small .bal-list__item__icon{min-height:calc(3rem - 4px)}.bal-list--size-normal>.bal-list__item>.bal-list__item__trigger>.bal-list__item__accordion-head>.bal-list__item__icon,.bal-list--size-normal>.bal-list__item>.bal-list__item__trigger>.bal-list__item__accordion-head{min-height:3rem}.bal-list--size-small>.bal-list__item:not(.bal-list__item__accordion-body),.bal-list--size-small>.bal-list__item:not(.bal-list__item__accordion-body)>a,.bal-list--size-small>.bal-list__item:not(.bal-list__item__accordion-body)>div,.bal-list--size-small>.bal-list__item:not(.bal-list__item__accordion-body)>button,.bal-list--size-small>.bal-list__item>.bal-list__item__icon{min-height:3rem}.bal-list--size-large>.bal-list__item:not(.bal-list__item__accordion-body),.bal-list--size-large>.bal-list__item:not(.bal-list__item__accordion-body)>a,.bal-list--size-large>.bal-list__item:not(.bal-list__item__accordion-body)>div,.bal-list--size-large>.bal-list__item:not(.bal-list__item__accordion-body)>button,.bal-list--size-large>.bal-list__item>.bal-list__item__trigger>.bal-list__item__accordion-head>.bal-list__item__icon,.bal-list--size-large>.bal-list__item>.bal-list__item__trigger>.bal-list__item__accordion-head,.bal-list--size-large>.bal-list__item>.bal-list__item__icon{min-height:4.5rem}.bal-list--size-large>.bal-list__item>.bal-list__item__trigger>.bal-list__item__accordion-head>.bal-list__item__icon,.bal-list--size-large>.bal-list__item>.bal-list__item__trigger>.bal-list__item__accordion-head{min-height:3.5rem}.bal-list__item--clickable .bal-list__item__accordion-head,.bal-list__item--clickable a:not(.is-link),.bal-list__item--clickable button:not(.button){cursor:pointer;pointer-events:inherit}@media (hover: hover)and (pointer: fine){.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__title .title,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__title .bal-heading__text,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__subtitle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__title .title,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__subtitle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):hover .bal-list__item__title .title,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):hover .bal-list__item__subtitle{color:var(--bal-list-accordion-head-color-hover) !important}.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg g,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg path,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg circle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg g,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg path,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg circle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg g,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg path,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg circle{fill:var(--bal-list-accordion-head-background-hover) !important}}@media screen and (min-width: 1024px){.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__title .title,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__title .bal-heading__text,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__subtitle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):active .bal-list__item__title .title,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):active .bal-list__item__title .bal-heading__text,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):active .bal-list__item__subtitle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):active .bal-list__item__title .title,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):active .bal-list__item__title .bal-heading__text,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):active .bal-list__item__subtitle{color:var(--bal-list-accordion-head-color-active) !important}}@media screen and (min-width: 1024px){.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg g,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg path,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg circle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg g,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg path,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg circle,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg g,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg path,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg circle{fill:var(--bal-list-accordion-head-background-active) !important}}.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:focus-visible,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):focus-visible,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):focus-visible{-webkit-box-shadow:var(--bal-focus-shadow) !important;box-shadow:var(--bal-focus-shadow) !important}.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable .bal-list__item__accordion-head:focus-visible:after,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable a:not(.is-link):focus-visible:after,.bal-list:not(.is-disabled):not(.bal-list--background-dark) .bal-list__item--clickable button:not(.button):focus-visible:after{content:none !important}.bal-list--background-dark .bal-list__item .bal-list__item__title .title,.bal-list--background-dark .bal-list__item .bal-list__item__title .bal-heading__text,.bal-list--background-dark .bal-list__item .bal-list__item__subtitle{color:var(--bal-list-item-on-dark-color)}.bal-list--background-dark .bal-list__item__icon svg,.bal-list--background-dark .bal-list__item__icon svg g,.bal-list--background-dark .bal-list__item__icon svg path,.bal-list--background-dark .bal-list__item__icon svg circle{fill:var(--bal-list-item-on-dark-color)}@media (hover: hover)and (pointer: fine){.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):hover .bal-list__item__subtitle{color:var(--bal-list-accordion-head-on-dark-color-hover) !important}.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):hover .bal-list__item__icon svg circle{fill:var(--bal-list-accordion-head-on-dark-background-hover) !important}}@media screen and (min-width: 1024px){.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):active .bal-list__item__subtitle{color:var(--bal-list-accordion-head-on-dark-color-active) !important}}@media screen and (min-width: 1024px){.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):active .bal-list__item__icon svg circle{fill:var(--bal-list-accordion-head-on-dark-background-active) !important}}.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:focus-visible,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):focus-visible,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):focus-visible{-webkit-box-shadow:var(--bal-focus-shadow-inverted) !important;box-shadow:var(--bal-focus-shadow-inverted) !important}.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable .bal-list__item__accordion-head:focus-visible:after,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable a:not(.is-link):focus-visible:after,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--clickable button:not(.button):focus-visible:after{content:none !important}.bal-list--disabled,.bal-list--disabled .bal-list__item,.bal-list--disabled .bal-list__item a:not(.is-link),.bal-list--disabled .bal-list__item button:not(.button){cursor:default !important;pointer-events:none !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important}.bal-list--border:not(.bal-list--nested)>.bal-list__item>div:after,.bal-list--border:not(.bal-list--nested)>.bal-list__item>a.bal-list__item__trigger:not(.is-link):after,.bal-list--border:not(.bal-list--nested)>.bal-list__item>button.bal-list__item__trigger:not(.button):not([type=button]):after,.bal-list--border.bal-list--nested>.bal-list__item:not(:last-child)>div:after,.bal-list--border.bal-list--nested>.bal-list__item:not(:last-child)>a.bal-list__item__trigger:not(.is-link):after,.bal-list--border.bal-list--nested>.bal-list__item:not(:last-child)>button.bal-list__item__trigger:not(.button):not([type=button]):after{content:\"\";height:2px;border-radius:var(--bal-list-item-radius);width:100%;position:absolute;bottom:0;left:0;right:0}.bal-list--border .bal-list__item>div:after,.bal-list--border .bal-list__item a:not(.is-link):after,.bal-list--border .bal-list__item button:not(.button):not([type=button]):after,.bal-list--border .bal-list__item--disabled>div:after,.bal-list--border .bal-list__item--disabled a:not(.is-link):after,.bal-list--border .bal-list__item--disabled button:not(.button):not([type=button]):after{background:var(--bal-list-item-disabled-background)}@media (hover: hover)and (pointer: fine){.bal-list--border .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled)>div:hover:after,.bal-list--border .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) a:not(.is-link):hover:after,.bal-list--border .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) button:not(.button):hover:after{background:var(--bal-list-item-background-hover)}}@media screen and (min-width: 1024px){.bal-list--border .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled)>div:active:after,.bal-list--border .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) a:not(.is-link):active:after,.bal-list--border .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) button:not(.button):active:after{background:var(--bal-list-item-background-active)}}.bal-list--border.bal-list--background-color .bal-list__item>div:after,.bal-list--border.bal-list--background-color .bal-list__item a:not(.is-link):after,.bal-list--border.bal-list--background-color .bal-list__item button:not(.button):after{background:var(--bal-color-primary)}.bal-list--border.bal-list--background-color .bal-list__item--disabled>div:after,.bal-list--border.bal-list--background-color .bal-list__item--disabled a:not(.is-link):after,.bal-list--border.bal-list--background-color .bal-list__item--disabled button:not(.button):after{background:var(--bal-list-item-disabled-on-color-background)}.bal-list--border.bal-list--background-dark .bal-list__item>div:after,.bal-list--border.bal-list--background-dark .bal-list__item a:not(.is-link):after,.bal-list--border.bal-list--background-dark .bal-list__item button:not(.button):after{background:var(--bal-list-item-disabled-on-dark-background)}.bal-list--border.bal-list--background-dark .bal-list__item--disabled>div:after,.bal-list--border.bal-list--background-dark .bal-list__item--disabled a:not(.is-link):after,.bal-list--border.bal-list--background-dark .bal-list__item--disabled button:not(.button):after{background:var(--bal-list-item-disabled-on-dark-background)}.bal-list--border.bal-list--background-dark .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled)>div:hover:after,.bal-list--border.bal-list--background-dark .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) a:not(.is-link):hover:after,.bal-list--border.bal-list--background-dark .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) button:not(.button):hover:after{background:var(--bal-list-item-on-dark-background-hover)}.bal-list--border.bal-list--background-dark .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled)>div:active:after,.bal-list--border.bal-list--background-dark .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) a:not(.is-link):active:after,.bal-list--border.bal-list--background-dark .bal-list__item.bal-list__item--clickable:not(.bal-list__item--accordion):not(.bal-list__item--disabled) button:not(.button):active:after{background:var(--bal-list-item-on-dark-background-active)}.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__title .title,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__subtitle,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .title,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__subtitle,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__title .title,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__subtitle{color:var(--bal-list-item-disabled-on-dark-color) !important}.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg g,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg path,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg circle,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg g,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg path,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg circle,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg g,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg path,.bal-list:not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg circle{fill:var(--bal-list-item-disabled-on-dark-fill) !important}.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):active .bal-list__item__subtitle{color:var(--bal-list-item-disabled-color) !important}.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled:active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled):not(.bal-list--background-dark) .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg circle{fill:var(--bal-list-item-disabled-fill) !important}.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link) .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button) .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button) .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link) .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):active .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button) .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button) .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button) .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):hover .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):hover .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):hover .bal-list__item__subtitle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):active .bal-list__item__title .title,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):active .bal-list__item__title .bal-heading__text,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):active .bal-list__item__subtitle{color:var(--bal-list-item-disabled-on-color-color) !important}.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled:active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-color .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled:active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link) .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled a:not(.is-link):active .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button) .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):hover .bal-list__item__icon svg circle,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg g,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg path,.bal-list:not(.bal-list--disabled).bal-list--background-dark .bal-list__item--disabled button:not(.button):active .bal-list__item__icon svg circle{fill:var(--bal-list-item-disabled-on-color-fill) !important}.bal-card>.bal-list.p-none .bal-list__item:last-child:after{content:none !important}.bal-list__item--accordion>div{-ms-flex-direction:column;flex-direction:column}.bal-list__item--animated{-webkit-transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing);transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-list__item--animated .bal-list__item__accordion-body{-webkit-transition:max-height var(--bal-animation-transition-duration) var(--bal-animation-transition-easing);transition:max-height var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-list__item--animated .bal-list__item__accordion-head__icon{-webkit-transition:-webkit-transform var(--bal-animation-transition-duration) var(--bal-animation-transition-easing);transition:-webkit-transform var(--bal-animation-transition-duration) var(--bal-animation-transition-easing);transition:transform var(--bal-animation-transition-duration) var(--bal-animation-transition-easing);transition:transform var(--bal-animation-transition-duration) var(--bal-animation-transition-easing), -webkit-transform var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-list__item__accordion-head{padding:0 !important}.bal-list__item__accordion-body{will-change:max-height;min-height:0;margin:0 !important}.bal-list__item__accordion-body,.bal-list__item__accordion-body__content{padding:0 !important}.bal-list__item--collapsing>.bal-list__item__trigger>.bal-list__item__accordion-body{max-height:0 !important;overflow:hidden}.bal-list__item--collapsed>.bal-list__item__trigger>.bal-list__item__accordion-body:not(.bal-list__item__accordion-body--grouped){display:none}.bal-list__item--collapsed>.bal-list__item__trigger>.bal-list__item__accordion-body{overflow:hidden}.bal-list__item--collapsed>.bal-list__item__trigger>.bal-list__item__accordion-body--grouped{max-height:0 !important}.bal-list__item--expanding>.bal-list__item__trigger>.bal-list__item__accordion-body{max-height:0;overflow:hidden}@media (prefers-reduced-motion: reduce){.bal-list__item,.bal-list__item__accordion-body{-webkit-transition:none !important;transition:none !important}}.bal-list__item__accordion-body{-ms-flex-align:start !important;align-items:flex-start !important}.bal-list__item__accordion-body__content{position:static;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start !important;align-items:flex-start !important}.bal-list__item__accordion-body__content--start{-ms-flex-pack:start;justify-content:flex-start}.bal-list__item__accordion-body__content--center{-ms-flex-pack:center;justify-content:center}.bal-list__item__accordion-body__content--end{-ms-flex-pack:end;justify-content:flex-end}.bal-list__item__accordion-body__content--space-between{-ms-flex-pack:justify;justify-content:space-between}.bal-list--border>.bal-list__item--expanded>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--border>.bal-list__item--expanding>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--border>.bal-list__item--collapsing>.bal-list__item__trigger>.bal-list__item__accordion-head:after{position:absolute;bottom:-0.5rem;left:0;content:\"\";height:2px;width:100%;border-radius:var(--bal-list-item-radius);background:var(--bal-list-item-border-background)}.bal-list--size-small.bal-list--border>.bal-list__item--expanded>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--size-small.bal-list--border>.bal-list__item--expanding>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--size-small.bal-list--border>.bal-list__item--collapsing>.bal-list__item__trigger>.bal-list__item__accordion-head:after{bottom:-2px}.bal-list--border.bal-list--background-color>.bal-list__item--expanded>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--border.bal-list--background-color>.bal-list__item--collapsing>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--border.bal-list--background-color>.bal-list__item--expanding>.bal-list__item__trigger>.bal-list__item__accordion-head:after{background:var(--bal-list-item-border-on-color-background)}.bal-list--border.bal-list--background-dark>.bal-list__item--expanded>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--border.bal-list--background-dark>.bal-list__item--collapsing>.bal-list__item__trigger>.bal-list__item__accordion-head:after,.bal-list--border.bal-list--background-dark>.bal-list__item--expanding>.bal-list__item__trigger>.bal-list__item__accordion-head:after{background:var(--bal-list-item-border-on-dark-background)}.bal-list__item__accordion-body__content>.bal-list{padding-left:1rem}.bal-list--background-dark .bal-list__item__accordion-body .bal-list__item__content>p{color:var(--bal-list-accordion-body-color)}.bal-list__item--animated>.bal-list__item__trigger{-webkit-transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing);transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-list__item--expanded>.bal-list__item__trigger,.bal-list__item--expanding>.bal-list__item__trigger{padding-bottom:0}.bal-list--border>.bal-list__item>.bal-list__item__trigger>.bal-list__item__accordion-body>div:not(.bal-list__item__accordion-body__content--space-normal){padding-bottom:2px !important}.bal-list__item__accordion-body__content{padding-top:.5rem !important}.bal-list__item__accordion-body__content--space-normal{padding-top:1rem !important;padding-bottom:1rem !important}";

const List = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        /**
         * If `true` the list item can not be hovered
         */
        this.disabled = false;
        /**
         * If `true` the list can be used on a light, dark or colored backgrounds
         */
        this.background = 'light';
        /**
         * If `true` each list item has a bottom border
         */
        this.border = false;
        /**
         * If `true` only one of the layers can be open and the others close automatically
         */
        this.accordionOneLevel = false;
        /**
         * Defines the min height of the list item
         */
        this.size = '';
    }
    accordionOneLevelHandler(newValue, oldValue) {
        if (newValue !== oldValue) {
            const allNestedLists = Array.from(this.el.querySelectorAll('bal-list'));
            allNestedLists.forEach(list => (list.accordionOneLevel = newValue));
        }
    }
    componentWillLoad() {
        this.accordionOneLevelHandler(this.accordionOneLevel, false);
    }
    render() {
        const block = BEM.block('list');
        const closestListEl = this.el.closest('.bal-list');
        const nested = closestListEl !== null && closestListEl !== this.el;
        return (h(Host, { key: '0281c452d5bd2104752752af0d20b5d2202b9d79', role: "list", class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('nested').class(nested)), block.modifier('disabled').class(this.disabled)), block.modifier('border').class(this.border)), block.modifier(`size-${this.size || 'normal'}`).class()), block.modifier(`background-${this.background}`).class()) }, h("slot", { key: 'e8a76162ebc3582e1402f0688ac9c008a811aae1' })));
    }
    get el() { return getElement(this); }
    static get watchers() { return {
        "accordionOneLevel": ["accordionOneLevelHandler"]
    }; }
};
List.style = balListCss;

const ListItem = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        this.balNavigate = createEvent(this, "balNavigate");
        this.balGroupStateChanged = createEvent(this, "balGroupStateChanged");
        this.balWillAnimate = createEvent(this, "balWillAnimate");
        this.balDidAnimate = createEvent(this, "balDidAnimate");
        this.accordionOpen = false;
        this.animated = true;
        this.state = 1 /* AccordionState.Collapsed */;
        /**
         * PUBLIC PROPERTY API
         * ------------------------------------------------------
         */
        /**
         * If `true` the list item can be hovered
         */
        this.disabled = false;
        /**
         * If `true` the list item shows that it is clickable
         */
        this.clickable = false;
        /**
         * If `true` the list item has a selected theme
         */
        this.selected = false;
        /**
         * If `true` the list item can be used as a accordion
         */
        this.accordion = false;
        /**
         * If `true` the list item can be used as an accordion inside another accordion
         */
        this.subAccordionItem = false;
        /**
         * Specifies the URL of the page the link goes to
         */
        this.href = '';
        /**
         * Specifies where to open the linked document
         */
        this.target = '_self';
        /**
         * LISTENERS
         * ------------------------------------------------------
         */
        this.accordionChanged = (ev) => {
            const { detail } = ev;
            if (detail !== this.accordionOpen) {
                this.accordionOpen = detail;
                this.updateState();
            }
        };
        /**
         * PRIVATE METHODS
         * ------------------------------------------------------
         */
        this.addEventListenerAccordionChange = () => {
            const accordionHeadEl = this.el.querySelector(ListItem.selectors.accordionHead);
            if (accordionHeadEl) {
                accordionHeadEl.addEventListener('balAccordionChange', this.accordionChanged);
                this.accordionOpen = accordionHeadEl.accordionOpen;
                this.updateState(true);
            }
        };
        this.removeEventListenerAccordionChange = () => {
            const accordionHeadEl = this.el.querySelector(ListItem.selectors.accordionHead);
            if (accordionHeadEl) {
                accordionHeadEl.removeEventListener('balAccordionChange', this.accordionChanged);
            }
        };
        this.updateHead = () => {
            const headEl = this.el.querySelector('bal-list-item-accordion-head');
            if (headEl) {
                headEl.accordionOpen = this.accordionOpen;
            }
        };
        this.updateState = (initialUpdate = false) => {
            if (this.accordionOpen) {
                this.expandAccordion(initialUpdate);
            }
            else {
                this.collapseAccordion(initialUpdate);
            }
        };
        this.expandAccordion = (initialUpdate = false) => {
            const contentEl = this.el.querySelector(ListItem.selectors.accordionBody);
            const contentElWrapper = this.el.querySelector(ListItem.selectors.accordionBodyWrapper);
            if (initialUpdate || contentEl === null || contentElWrapper === null) {
                this.state = 4 /* AccordionState.Expanded */;
                return;
            }
            if (this.state === 4 /* AccordionState.Expanded */) {
                return;
            }
            if (this.currentRaf !== undefined) {
                cancelAnimationFrame(this.currentRaf);
            }
            const parentListEl = this.el.closest('bal-list');
            if (parentListEl && parentListEl.accordionOneLevel) {
                const items = Array.from(parentListEl.querySelectorAll('bal-list-item')).filter(el => el !== this.el);
                items.forEach(item => item.dismiss(true));
            }
            if (this.shouldAnimate()) {
                raf(() => {
                    this.state = 8 /* AccordionState.Expanding */;
                    this.currentRaf = raf(async () => {
                        const contentHeight = contentElWrapper.offsetHeight;
                        const waitForTransition = transitionEndAsync(contentEl, 300);
                        contentEl.style.setProperty('max-height', `${contentHeight}px`);
                        this.balWillAnimate.emit(this.accordionOpen);
                        await waitForTransition;
                        this.state = 4 /* AccordionState.Expanded */;
                        contentEl.style.removeProperty('max-height');
                        this.balDidAnimate.emit(this.accordionOpen);
                    });
                });
            }
            else {
                this.balWillAnimate.emit(this.accordionOpen);
                this.state = 4 /* AccordionState.Expanded */;
                this.balDidAnimate.emit(this.accordionOpen);
            }
        };
        this.collapseAccordion = (initialUpdate = false, ignoreNested = false) => {
            const contentEl = this.el.querySelector(ListItem.selectors.accordionBody);
            if (initialUpdate || contentEl === null) {
                this.state = 1 /* AccordionState.Collapsed */;
                return;
            }
            if (this.state === 1 /* AccordionState.Collapsed */) {
                return;
            }
            if (this.currentRaf !== undefined) {
                cancelAnimationFrame(this.currentRaf);
            }
            if (!ignoreNested) {
                const parentListEl = this.el.closest('bal-list');
                if (parentListEl && parentListEl.accordionOneLevel) {
                    const items = Array.from(this.el.querySelectorAll('bal-list-item')).filter(el => el !== this.el);
                    items.forEach(item => item.dismiss(true));
                }
            }
            if (this.shouldAnimate()) {
                this.currentRaf = raf(async () => {
                    const contentHeight = contentEl.offsetHeight;
                    contentEl.style.setProperty('max-height', `${contentHeight}px`);
                    raf(async () => {
                        const waitForTransition = transitionEndAsync(contentEl, 300);
                        this.state = 2 /* AccordionState.Collapsing */;
                        this.balWillAnimate.emit(this.accordionOpen);
                        await waitForTransition;
                        this.state = 1 /* AccordionState.Collapsed */;
                        contentEl.style.removeProperty('max-height');
                        this.balDidAnimate.emit(this.accordionOpen);
                    });
                });
            }
            else {
                this.balWillAnimate.emit(this.accordionOpen);
                this.state = 1 /* AccordionState.Collapsed */;
                this.balDidAnimate.emit(this.accordionOpen);
            }
        };
        this.shouldAnimate = () => {
            if (typeof window === 'undefined') {
                return false;
            }
            return this.animated;
        };
        /**
         * EVENT BINDING
         * ------------------------------------------------------
         */
        this.onClickTrigger = (ev) => {
            const accordionBodyEl = this.el.querySelector(ListItem.selectors.accordionBody);
            if (accordionBodyEl) {
                if (!accordionBodyEl.contains(ev.target)) {
                    this.balNavigate.emit(ev);
                }
            }
            else {
                this.balNavigate.emit(ev);
            }
        };
    }
    createLogger(log) {
        this.log = log;
    }
    /**
     * LIFECYCLE
     * ------------------------------------------------------
     */
    connectedCallback() {
        if (this.accordion) {
            this.addEventListenerAccordionChange();
        }
    }
    componentDidLoad() {
        if (this.accordion) {
            rIC(() => {
                this.addEventListenerAccordionChange();
            });
        }
    }
    disconnectedCallback() {
        this.removeEventListenerAccordionChange();
    }
    /**
     * @internal define config for the component
     */
    async configChanged(state) {
        this.animated = state.animated;
    }
    /**
     * PUBLIC METHODS
     * ------------------------------------------------------
     */
    /**
     * Opens the accordion
     */
    async present() {
        if (this.accordion && this.accordionOpen === false) {
            this.accordionOpen = true;
            this.updateHead();
            this.expandAccordion();
        }
    }
    /**
     * Closes the accordion
     */
    async dismiss(ignoreNested = false) {
        if (this.accordion && this.accordionOpen === true) {
            this.accordionOpen = false;
            this.updateHead();
            this.collapseAccordion(false, ignoreNested);
        }
    }
    /**
     * Triggers the accordion
     */
    async toggle() {
        if (this.accordion) {
            if (this.accordionOpen) {
                this.dismiss();
            }
            else {
                this.present();
            }
        }
    }
    /**
     * RENDER
     * ------------------------------------------------------
     */
    render() {
        const item = BEM.block('list').element('item');
        const trigger = item.element('trigger');
        const basicClasses = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, item.class()), item.modifier('disabled').class(this.disabled)), item.modifier('selected').class(this.selected)), item.modifier('animated').class(this.animated)), item.modifier('accordion').class(this.accordion)), item.modifier('sub-accordion').class(this.subAccordionItem)), item.modifier('active').class(this.accordionOpen)), item.modifier('expanding').class(this.state === 8 /* AccordionState.Expanding */)), item.modifier('expanded').class(this.state === 4 /* AccordionState.Expanded */)), item.modifier('collapsing').class(this.state === 2 /* AccordionState.Collapsing */)), item.modifier('collapsed').class(this.state === 1 /* AccordionState.Collapsed */)), item.modifier('clickable').class(!this.disabled && (this.clickable || this.href.length > 0 || this.accordion)));
        if (this.href.length > 0 && !this.disabled) {
            return (h(Host, { role: "listitem", class: Object.assign({}, basicClasses) }, h("a", { class: Object.assign({}, trigger.class()), rel: this.rel, href: this.href, target: this.target, download: this.download, onClick: (ev) => this.onClickTrigger(ev) }, h("slot", null))));
        }
        if (this.clickable) {
            return (h(Host, { role: "listitem", class: Object.assign({}, basicClasses) }, h("button", { class: Object.assign({}, trigger.class()), disabled: this.disabled, onClick: (ev) => this.onClickTrigger(ev) }, h("slot", null))));
        }
        if (this.accordion) {
            return (h(Host, { role: "listitem", class: Object.assign({}, basicClasses), onClick: (ev) => this.onClickTrigger(ev) }, h("div", { class: Object.assign({}, trigger.class()) }, h("slot", null))));
        }
        return (h(Host, { role: "listitem", class: Object.assign({}, basicClasses) }, h("div", { class: Object.assign({}, trigger.class()) }, h("slot", null))));
    }
    get el() { return getElement(this); }
};
ListItem.selectors = {
    accordionHead: '.bal-list__item__trigger > bal-list-item-accordion-head',
    accordionBody: '.bal-list__item__trigger > bal-list-item-accordion-body',
    accordionBodyWrapper: '.bal-list__item__trigger > .bal-list__item__accordion-body > .bal-list__item__accordion-body__content',
};
__decorate([
    Logger('bal-list-item'),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", [Function]),
    __metadata("design:returntype", void 0)
], ListItem.prototype, "createLogger", null);
__decorate([
    ListenToConfig(),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", [Object]),
    __metadata("design:returntype", Promise)
], ListItem.prototype, "configChanged", null);

const ListItemAccordionBody = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        this.isMobile = balBreakpoints.isMobile;
        this.internalId = `bal-list-item-accordion-body-${ListItemAccordionBodyIds++}`;
        this.ariaState = {};
        /**
         * Sets space to content of the accordion body
         */
        this.contentSpace = 'none';
        /**
         * Sets justify-content of the items to start, center, end, or space-between. Default is start
         */
        this.contentAlignment = 'start';
        this.setMinHeightForAnimation = () => {
            if (this.currentRaf !== undefined) {
                cancelAnimationFrame(this.currentRaf);
            }
            if (this.isMobile && this.contentElWrapper) {
                this.contentElWrapper.style.removeProperty('min-height');
                return;
            }
            raf(() => {
                if (this.accordionGroup !== undefined && this.accordionGroup !== '') {
                    const allAccordionBodies = Array.from(document.body.querySelectorAll('bal-list-item-accordion-body'));
                    const groupContents = allAccordionBodies
                        .filter(el => el.accordionGroup === this.accordionGroup)
                        .map(el => el.querySelector('.bal-list__item__accordion-body__content'))
                        .filter(el => el);
                    const groupContentHeight = groupContents.reduce((acc, el) => (acc < el.offsetHeight ? el.offsetHeight : acc), 0);
                    if (this.contentElWrapper && groupContentHeight > 0 && this.el.offsetHeight !== groupContentHeight) {
                        this.contentElWrapper.style.setProperty('min-height', `${groupContentHeight}px`);
                    }
                }
            });
        };
        this.debounceSetMinHeightForAnimation = debounce(this.setMinHeightForAnimation.bind(this), 100);
    }
    createLogger(log) {
        this.log = log;
    }
    /**
     * LIFECYCLE
     * ------------------------------------------------------
     */
    connectedCallback() {
        this.setMinHeightForAnimation();
    }
    componentDidRender() {
        this.setMinHeightForAnimation();
        this.setControlIdToHead();
    }
    /**
     * LISTENERS
     * ------------------------------------------------------
     */
    resizeListener() {
    }
    breakpointListener(breakpoints) {
        this.isMobile = breakpoints.mobile;
        this.debounceSetMinHeightForAnimation();
    }
    /**
     * PUBLIC METHODS
     * ------------------------------------------------------
     */
    /**
     * @internal
     */
    async setAria(aria) {
        if (aria.labelledby && aria.labelledby !== this.ariaState.labelledby) {
            this.ariaState.labelledby = aria.labelledby;
        }
    }
    /**
     * PRIVATE METHODS
     * ------------------------------------------------------
     */
    setControlIdToHead() {
        const headEl = this.el.parentElement.querySelector('bal-list-item-accordion-head');
        if (headEl) {
            headEl.setAria({ controlId: this.internalId });
        }
    }
    /**
     * RENDER
     * ------------------------------------------------------
     */
    render() {
        return (h(Host, { key: '0d63a86061285cb7877781ed793ba47581f88421', id: this.internalId, role: 'region', "aria-labelledby": this.ariaState.labelledby, class: {
                'bal-list__item': true,
                'bal-list__item__accordion-body': true,
                'bal-list__item__accordion-body--grouped': this.accordionGroup !== undefined && this.accordionGroup !== '',
            } }, h("div", { key: 'fd39532522d0d477e222e8153eac0eeed546f4e8', class: {
                'bal-list__item__accordion-body__content': true,
                [`bal-list__item__accordion-body__content--${this.contentAlignment}`]: this.contentAlignment !== undefined,
                [`bal-list__item__accordion-body__content--space-${this.contentSpace}`]: this.contentSpace !== undefined,
            }, ref: contentElWrapper => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: '067a8e5178c0396586d0491b0438ce190bd8aa85' }))));
    }
    get el() { return getElement(this); }
};
__decorate([
    Logger('bal-list-item-accordion-body'),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", [Function]),
    __metadata("design:returntype", void 0)
], ListItemAccordionBody.prototype, "createLogger", null);
__decorate([
    ListenToResize(),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", []),
    __metadata("design:returntype", void 0)
], ListItemAccordionBody.prototype, "resizeListener", null);
__decorate([
    ListenToBreakpoints(),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", [Object]),
    __metadata("design:returntype", void 0)
], ListItemAccordionBody.prototype, "breakpointListener", null);
let ListItemAccordionBodyIds = 0;

const i18nBalListItemAccordionHead = {
    de: {
        open: 'Öffnen',
        close: 'Schließen',
    },
    en: {
        open: 'Open',
        close: 'Close',
    },
    fr: {
        open: 'Ouvrir',
        close: 'Fermer',
    },
    it: {
        open: 'Apri',
        close: 'Chiudi',
    },
    nl: {
        open: 'Open',
        close: 'Sluiten',
    },
    es: {
        open: 'Abrir',
        close: 'Cerrar',
    },
    pl: {
        open: 'Otwórz',
        close: 'Zamknij',
    },
    pt: {
        open: 'Abrir',
        close: 'Fechar',
    },
    sv: {
        open: 'Öppna',
        close: 'Stäng',
    },
    fi: {
        open: 'Avaa',
        close: 'Sulje',
    },
};

const ListItemAccordionHead = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        this.balAccordionChange = createEvent(this, "balAccordionChange");
        this.internalId = `bal-list-item-accordion-head-${ListItemAccordionHeadIds++}`;
        this.ariaState = {};
        this.language = defaultConfig.language;
        /**
         * PUBLIC PROPERTY API
         * ------------------------------------------------------
         */
        /**
         * If `true` the list accordion is open
         */
        this.accordionOpen = false;
        /**
         * Icon name string with value 'plus' on default
         */
        this.icon = 'plus';
        /**
         * EVENT BINDING
         * ------------------------------------------------------
         */
        this.onClick = () => {
            if (this.el.closest('bal-list-item')) {
                this.accordionOpen = !this.accordionOpen;
            }
        };
        this.onKeyDown = (ev) => {
            if (isSpaceKey(ev) || isEnterKey(ev)) {
                stopEventBubbling(ev);
                this.onClick();
            }
        };
    }
    createLogger(log) {
        this.log = log;
    }
    accordionOpenHandler(newValue, oldValue) {
        if (newValue !== oldValue) {
            this.balAccordionChange.emit(this.accordionOpen);
        }
    }
    /**
     * LIFECYCLE
     * ------------------------------------------------------
     */
    connectedCallback() {
        this.accordionOpenHandler(this.accordionOpen, false);
    }
    componentDidRender() {
        this.setLabelledby();
    }
    /**
     * LISTENERS
     * ------------------------------------------------------
     */
    /**
     * @internal define config for the component
     */
    async configChanged(state) {
        this.language = state.language;
    }
    /**
     * PUBLIC METHODS
     * ------------------------------------------------------
     */
    /**
     * @internal
     */
    async setAria(aria) {
        if (aria.controlId && aria.controlId !== this.ariaState.controlId) {
            this.ariaState.controlId = aria.controlId;
        }
    }
    /**
     * PRIVATE METHODS
     * ------------------------------------------------------
     */
    setLabelledby() {
        const bodyEl = this.el.parentElement.querySelector('bal-list-item-accordion-body');
        if (bodyEl) {
            bodyEl.setAria({ labelledby: this.internalId });
        }
    }
    /**
     * RENDER
     * ------------------------------------------------------
     */
    render() {
        return (h(Host, { key: '2f270ca78ffebb2a5b9530bf85c04d454a2958cb', class: {
                'bal-list__item': true,
                'bal-list__item__accordion-head': true,
                'bal-list__item__accordion-head--open': this.accordionOpen,
            }, id: this.internalId, role: "button", tabindex: "0", "aria-expanded": ariaBooleanToString(this.accordionOpen), "aria-controls": this.ariaState.controlId, onClick: this.onClick, onKeyDown: this.onKeyDown }, h("slot", { key: '930c5a8211da0caffb858270a6c86c2fda47ef3f' }), h("bal-list-item-icon", { key: 'f4372a567855758b7a13afa0823acf34d5414c77', right: true }, h("bal-icon", { key: '1bb1f003502e824f9ed698d808d3c51450bf7f12', class: "bal-list__item__accordion-head__icon", name: this.icon, size: "small", turn: this.accordionOpen, title: this.accordionOpen
                ? i18nBalListItemAccordionHead[this.language].close
                : i18nBalListItemAccordionHead[this.language].open }))));
    }
    get el() { return getElement(this); }
    static get watchers() { return {
        "accordionOpen": ["accordionOpenHandler"]
    }; }
};
__decorate([
    Logger('bal-list-item-accordion-head'),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", [Function]),
    __metadata("design:returntype", void 0)
], ListItemAccordionHead.prototype, "createLogger", null);
__decorate([
    ListenToConfig(),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", [Object]),
    __metadata("design:returntype", Promise)
], ListItemAccordionHead.prototype, "configChanged", null);
let ListItemAccordionHeadIds = 0;

const ListItemContent = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
    }
    render() {
        return (h(Host, { key: '753736cc273f562a957f83b78ddcf3c46d96c3c2', class: {
                'bal-list__item__content': true,
                [`bal-list__item__content--${this.contentAlignment}`]: this.contentAlignment !== undefined,
            } }, h("slot", { key: 'a039d83497e2981173d0cea77227ec9eb58d8b9b' })));
    }
};

const ListItemIcon = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        /**
         * If `true` the icon is on the right side of the list item. Default is the left side.
         */
        this.right = false;
    }
    render() {
        return (h(Host, { key: 'a260b7e90eb381a23de3181688a8445eed735701', class: {
                'bal-list__item__icon': true,
                'bal-list__item__icon--right': this.right,
            } }, h("slot", { key: '9b34490944c48da6666883e7b7d4cb0ec6097e53' })));
    }
};

const ListItemSubtitle = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
    }
    render() {
        return (h(Host, { key: 'aed0f61d51b0f2822432686915a0072320ba29d7', class: "bal-list__item__subtitle" }, h("slot", { key: '14bfb0cb477c8da62cef9ff2c51a7216462eb3de' })));
    }
};

const ListItemTitle = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        /**
         * Heading level with value 'h4' on default
         */
        this.level = 'h5';
    }
    render() {
        return (h(Host, { key: 'b2afc2dad242ca699ed349d5767d66f2451486e1', class: "bal-list__item__title" }, h("bal-heading", { key: '38f5855e07ff971dc31ad56a6db20936f3825c02', level: this.level, visualLevel: this.visualLevel, space: "none" }, h("slot", { key: '032e327a6ad730378710bb8cd5ebe4ae0506665e' }))));
    }
};

export { List as bal_list, ListItem as bal_list_item, ListItemAccordionBody as bal_list_item_accordion_body, ListItemAccordionHead as bal_list_item_accordion_head, ListItemContent as bal_list_item_content, ListItemIcon as bal_list_item_icon, ListItemSubtitle as bal_list_item_subtitle, ListItemTitle as bal_list_item_title };
