{# ------------------------------------------------------------------------ #}{# ----------------------------- PARAMÉTRAGES ----------------------------- #}{# ------------------------------------------------------------------------ #}{% set content = accordion %}{% set accordionId = 'accordion-' ~ random() %}{% if accordion.isMenu|default(false) %}<div class="accordion-wrapper" id="{{ accordionId }}"><div class="accordion-menu"><ul>{% for group in accordion.groups %}<li><a href="#group-{{ loop.index }}">{{ group.titleGroup }}</a></li>{% endfor %}</ul></div><div class="accordion-content">{% for group in accordion.groups %}<{{ accordion.groupsTitleLevel|default('h2') }} class="group_title" id="group-{{ loop.index }}">{{ group.titleGroup }}</{{ accordion.groupsTitleLevel|default('h2') }}><div class="accordion" id="accordion{{ loop.index }}">{% for element in group.elements %}<div class="accordion-item {{ accordion.borderElementsCheckbox is defined and accordion.borderElementsCheckbox is not same as(true) ? 'bordered' : '' }} {{ accordion.boxShadowElementsCheckbox is defined and accordion.boxShadowElementsCheckbox is same as(true) ? 'shadowed' : '' }}"><button class="accordion-button {% if element.active is not defined or not element.active %}collapsed{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{ loop.parent.loop.index }}-{{ loop.index }}" aria-expanded="{{ element.active|default(false) ? 'true' : 'false' }}" aria-controls="collapse{{ loop.parent.loop.index }}-{{ loop.index }}">{{ element.title }}</button><div id="collapse{{ loop.parent.loop.index }}-{{ loop.index }}" class="accordion-collapse collapse {% if element.active|default(false) %}show{% endif %}" aria-labelledby="heading{{ loop.parent.loop.index }}-{{ loop.index }}" data-bs-parent="#accordion{{ loop.parent.loop.index }}"><div class="accordion-body">{{ element.content|raw }}{% for subelement in element.subsection %}<div class="accordion-item"><button class="accordion-button collapsed" type="button"data-bs-toggle="collapse"data-bs-target="#collapse-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}-{{ loop.index }}"aria-expanded="false"aria-controls="collapse-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}-{{ loop.index }}">{{ subelement.subtitle }}</button><div id="collapse-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}-{{ loop.index }}"class="accordion-collapse collapse"data-bs-parent="#accordion-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}"><div class="accordion-body">{{ subelement.subcontent|raw }}</div></div></div>{% endfor %}</div></div></div>{% endfor %}</div>{% endfor %}</div></div>{% else %}<div id="{{ accordionId }}">{% for group in accordion.groups %}<h2 class="group_title" id="group-{{ loop.index }}">{{ group.titleGroup }}</h2><div class="accordion-content"><div class="accordion" id="accordion{{ loop.index }}">{% for element in group.elements %}<div class="accordion-item {{ accordion.borderElementsCheckbox is defined and accordion.borderElementsCheckbox is not same as(true) ? 'bordered' : '' }} {{ accordion.boxShadowElementsCheckbox is defined and accordion.boxShadowElementsCheckbox is same as(true) ? 'shadowed' : '' }}"><button class="accordion-button {% if element.active is not defined or not element.active %}collapsed{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{ loop.parent.loop.index }}-{{ loop.index }}" aria-expanded="{{ element.active|default(false) ? 'true' : 'false' }}" aria-controls="collapse{{ loop.parent.loop.index }}-{{ loop.index }}">{{ element.title }}</button><div id="collapse{{ loop.parent.loop.index }}-{{ loop.index }}" class="accordion-collapse collapse {% if element.active|default(false) %}show{% endif %}" aria-labelledby="heading{{ loop.parent.loop.index }}-{{ loop.index }}" data-bs-parent="#accordion{{ loop.parent.loop.index }}"><div class="accordion-body">{{ element.content|raw }}{% for subelement in element.subsection %}<div class="accordion-item"><button class="accordion-button collapsed" type="button"data-bs-toggle="collapse"data-bs-target="#collapse-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}-{{ loop.index }}"aria-expanded="false"aria-controls="collapse-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}-{{ loop.index }}">{{ subelement.subtitle }}</button><div id="collapse-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}-{{ loop.index }}"class="accordion-collapse collapse"data-bs-parent="#accordion-sub{{ loop.parent.loop.parent.loop.index }}-{{ loop.parent.loop.index }}"><div class="accordion-body">{{ subelement.subcontent|raw }}</div></div></div>{% endfor %}</div></div></div>{% endfor %}</div></div>{% endfor %}</div>{% endif %}<!-- Variables CSS dynamiques --><style>#{{ accordionId }} {/* Paramétrage des couleurs */--active-tab-color: {{ accordion.tagActiveColor|default('#000') }};--active-tag-bg-color: {{ accordion.tagActiveBackgroundColor|default('#fff') }};--closed-tabs-color: {{ accordion.tagClosedColor|default('#000') }};--closed-tabs-bg-color: {{ accordion.tagClosedBackgroundColor|default('#fff') }}; */--chevrons-color: {{ accordion.chevronsColor|default('#000') }};--active-chevrons-color: {{ accordion.chevronsActiveColor|default('#000') }};--borders-color: {{ accordion.borderColorElements|default('#000') }};/* Paramétrage des titres */--groups-title-size: {{ accordion.groupsTitleSize|default('1.25') ~ accordion.groupsTitleSizeUnit|default('rem') }};--groups-title-margin-bottom: {{ accordion.marginBottomGroupsTitle|default('1') ~ accordion.marginBottomGroupsTitleUnit|default('rem') }};--elements-title-size: {{ accordion.elementsTitleSize|default('1') ~ accordion.elementsTitleSizeUnit|default('rem') }};--elements-title-weight: {{ accordion.elementsTitleWeight|default('700') }};/* Autres Paramètres */--borders-radius: {{ accordion.bordersRadius|default('0') ~ accordion.bordersRadiusUnit|default('px') }};--elements-margin-bottom: {{ accordion.marginBottomElements|default('1') ~ accordion.marginBottomElementsUnit|default('rem') }};/* Paramètres du menu */--elements-menu-color: {{ accordion.menuElementsColor|default('#000') }};--elements-menu-color-hovered: {{ accordion.menuElementsHoveredColor|default('#000') }};--elements-menu-size: {{ accordion.menuElementsSize|default('1') ~ accordion.menuElementsSizeUnit|default('rem') }};--menu-bg: {{ accordion.menuBackgroundColor|default('#fff') }};--groups-margin-bottom: {{ accordion.marginBottomGroups|default('1') ~ accordion.marginBottomGroupsUnit|default('rem') }};/* Paramètres de la bordure */--elements-border-size: {{ accordion.borderSizeElements|default('1') ~ accordion.borderSizeElementsUnit|default('rem') }};/* Paramètres de l'ombre portée */--elements-bs: {{ accordion.boxShadowPosXElements|default('0') ~ accordion.boxShadowUnitElements|default('px') ~ ' ' ~ accordion.boxShadowPosYElements|default('0') ~ accordion.boxShadowUnitElements|default('px') ~ ' ' ~ accordion.boxShadowSpreadElements|default('0') ~ accordion.boxShadowUnitElements|default('px') ~ ' ' ~ accordion.borderColorElements|default('#000') }};}</style>