Accordion (accordion)

Render content in a box that expands and collapses vertically.

🔗 External documentation.

ID Label Description Schema
content Content Accordion items.
keep_open Keep open? Make accordion items stay open when another item is opened.
                        type: boolean

                      
accordion_id ID Must start with a letter. Randomly generated if empty.
                        type: string

                      
            id: accordion
label: Accordion
description: 'Render content in a box that expands and collapses vertically.'
group: Accordion
homepage: 'https://getbootstrap.com/docs/5.3/components/accordion/'
variants:
    default:
        id: default
        label: Default
    flush:
        id: flush
        label: Flush
        description: 'Remove the default background color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.'
slots:
    content:
        id: content
        label: Content
        description: 'Accordion items.'
props:
    keep_open:
        id: keep_open
        label: 'Keep open?'
        description: 'Make accordion items stay open when another item is opened.'
        schema:
            type: boolean
    accordion_id:
        id: accordion_id
        label: ID
        description: 'Must start with a letter. Randomly generated if empty.'
        schema:
            type: string
library:
    js:
        'https://data.dilla.io/bootstrap_5/components/accordion/js/accordion.js': {  }
    dependencies:
        - drupal
        - once
    id: accordion
examples:
    preview:
        id: preview
        label: Preview
        renderable:
            '@component': accordion
            content:
                -
                    '@component': accordion_item
                    opened: true
                    title: 'Accordion Item #1'
                    content:
                        '@element': p
                        '@content': 'Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.'
                -
                    '@component': accordion_item
                    title: 'Accordion Item #2'
                    content:
                        '@element': p
                        '@content': 'Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.'
                -
                    '@component': accordion_item
                    title: 'Accordion Item #3'
                    content:
                        '@element': p
                        '@content': 'Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.'
                -
                    '@component': accordion_item
                    title: 'Accordion Item #4'
                    content:
                        '@element': p
                        '@content': 'Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.'

          

Default ( default )

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

<div class="accordion" data-usb-keep-open="false" id="accordion-153205753"> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item-1081494470"> <button aria-controls="accordion-item-1081494470" aria-expanded="true" class="accordion-button" data-bs-target="#accordion-item-1081494470" data-bs-toggle="collapse" type="button"> Accordion Item #1 </button> </h2> <div aria-labelledby="heading--accordion-item-1081494470" class="accordion-collapse collapse js-accordion-keep-open show" id="accordion-item-1081494470"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item--577027688"> <button aria-controls="accordion-item--577027688" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#accordion-item--577027688" data-bs-toggle="collapse" type="button"> Accordion Item #2 </button> </h2> <div aria-labelledby="heading--accordion-item--577027688" class="accordion-collapse collapse js-accordion-keep-open" id="accordion-item--577027688"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item-57253262"> <button aria-controls="accordion-item-57253262" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#accordion-item-57253262" data-bs-toggle="collapse" type="button"> Accordion Item #3 </button> </h2> <div aria-labelledby="heading--accordion-item-57253262" class="accordion-collapse collapse js-accordion-keep-open" id="accordion-item-57253262"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item-1882503489"> <button aria-controls="accordion-item-1882503489" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#accordion-item-1882503489" data-bs-toggle="collapse" type="button"> Accordion Item #4 </button> </h2> <div aria-labelledby="heading--accordion-item-1882503489" class="accordion-collapse collapse js-accordion-keep-open" id="accordion-item-1882503489"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> </div>

Flush ( flush )

Remove the default background color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.

<div class="accordion-flush accordion" data-usb-keep-open="false" id="accordion--243290598"> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item--904814837"> <button aria-controls="accordion-item--904814837" aria-expanded="true" class="accordion-button" data-bs-target="#accordion-item--904814837" data-bs-toggle="collapse" type="button"> Accordion Item #1 </button> </h2> <div aria-labelledby="heading--accordion-item--904814837" class="accordion-collapse collapse js-accordion-keep-open show" id="accordion-item--904814837"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item--2133225853"> <button aria-controls="accordion-item--2133225853" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#accordion-item--2133225853" data-bs-toggle="collapse" type="button"> Accordion Item #2 </button> </h2> <div aria-labelledby="heading--accordion-item--2133225853" class="accordion-collapse collapse js-accordion-keep-open" id="accordion-item--2133225853"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item-1394567447"> <button aria-controls="accordion-item-1394567447" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#accordion-item-1394567447" data-bs-toggle="collapse" type="button"> Accordion Item #3 </button> </h2> <div aria-labelledby="heading--accordion-item-1394567447" class="accordion-collapse collapse js-accordion-keep-open" id="accordion-item-1394567447"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> <div class="accordion-item"> <h2 class="accordion-header" id="heading--accordion-item--832085657"> <button aria-controls="accordion-item--832085657" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#accordion-item--832085657" data-bs-toggle="collapse" type="button"> Accordion Item #4 </button> </h2> <div aria-labelledby="heading--accordion-item--832085657" class="accordion-collapse collapse js-accordion-keep-open" id="accordion-item--832085657"> <div class="accordion-body"> <p>Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum.</p></div> </div> </div> </div>