Use body instead of items

This commit is contained in:
Marcus Kammer 2025-01-05 16:45:39 +01:00
parent d90067cd19
commit c02d978dc7
Signed by: marcuskammer
GPG key ID: C374817BE285268F

View file

@ -9,7 +9,7 @@
(in-package :ml-sbt/accordion) (in-package :ml-sbt/accordion)
(defmacro with-accordion ((&key (id "accordionExample") flush) &rest items) (defmacro with-accordion ((&key (id "accordionExample") flush) &body body)
"This macro generates an accordion-style collapsible list. "This macro generates an accordion-style collapsible list.
ID: Specifies a unique identifier for the accordion. Defaults to 'accordionExample'. ID: Specifies a unique identifier for the accordion. Defaults to 'accordionExample'.
@ -24,12 +24,13 @@ the accordion item.
--- ---
Example usage: Example usage:
(accordion () \"Title 1\" \"Content 1\" \"Title 2\" \"Content 2\")" (with-accordion (:id \"sample\")
\"Title 1\" \"Content 1\" \"Title 2\" \"Content 2\")"
(let ((class (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 body 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") for collapse-class = (concatenate 'string "accordion-collapse collapse")