public static string
addSlide
(mixed $selector, mixed $text, mixed $id, mixed $class = '')
/**
* Begins the display of a new accordion slide.
*
* @param string $selector Identifier of the accordion group.
* @param string $text Text to display.
* @param string $id Identifier of the slide.
* @param string $class Class of the accordion group.
*
* @return string HTML to add the slide
*
* @since 3.0
*/
public static function addSlide($selector, $text, $id, $class = '') : string
{
$in = static::$loaded[__CLASS__ . '::startAccordion'][$selector]['active'] === $id ? ' show' : '';
$collapsed = static::$loaded[__CLASS__ . '::startAccordion'][$selector]['active'] === $id ? '' : ' collapsed';
$parent = static::$loaded[__CLASS__ . '::startAccordion'][$selector]['parent'] ? 'data-bs-parent="' . static::$loaded[__CLASS__ . '::startAccordion'][$selector]['parent'] . '"' : '';
$class = !empty($class) ? ' ' . $class : '';
$ariaExpanded = $in === 'show' ? true : false;
return <<<HTMLSTR
<div class="accordion-item {$class}">
<h2 class="accordion-header" id="{$id}-heading">
<button class="accordion-button {$collapsed}" type="button" data-bs-toggle="collapse" data-bs-target="#{$id}" aria-expanded="{$ariaExpanded}" aria-controls="{$id}" role="tab">
\t\t{$text}
</button>
</h2>
<div id="{$id}" class="accordion-collapse collapse {$in}" aria-labelledby="{$id}-heading" {$parent} role="tabpanel">
<div class="accordion-body">
HTMLSTR;
}