Accordion items are collapsed by default

This commit is contained in:
Marcus Kammer 2025-01-05 15:35:12 +01:00
parent 37f2f5fc83
commit d90067cd19
Signed by: marcuskammer
GPG key ID: C374817BE285268F

View file

@ -25,22 +25,22 @@ the accordion item.
Example usage:
(accordion () \"Title 1\" \"Content 1\" \"Title 2\" \"Content 2\")"
(let ((class (concatenate 'string "shadow " (if flush "accordion accordion-flush" "accordion"))))
(let ((class (if flush "accordion accordion-flush" "accordion")))
`(spinneret:with-html
(:div :class ,class
:id ,id
,@(loop for (title content) on items by #'cddr
for counter from 1
for collapse-id = (format nil "collapse-~a-~a" id counter)
for collapse-class = (concatenate 'string "accordion-collapse collapse" (when (= counter 1) " show"))
for btn-class = (concatenate 'string "accordion-button" (when (not (= counter 1)) " collapsed"))
for collapse-class = (concatenate 'string "accordion-collapse collapse")
for btn-class = (concatenate 'string "accordion-button collapsed")
collect `(:div :class "accordion-item"
(:div :class "accordion-header"
(:button :class ,btn-class
:type "button"
:data-bs-toggle "collapse"
:data-bs-target ,(concatenate 'string "#" collapse-id)
:aria-expanded ,(if (= counter 1) "true" "false")
:aria-expanded "false"
:aria-controls ,collapse-id
,title))
(:div :id ,collapse-id