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