Fix recognize size as number and add multiple value

This commit is contained in:
Marcus Kammer 2023-08-12 12:02:58 +02:00
parent 014a075de9
commit 5d55563481
Signed by: marcuskammer
GPG key ID: C374817BE285268F

View file

@ -60,12 +60,15 @@
(let ((class-attr (cond (let ((class-attr (cond
((null size) "form-select") ((null size) "form-select")
((numberp size) "form-select") ((numberp size) "form-select")
((string= size "multiple") "form-select") ((and (stringp size)
((stringp size) (format nil "form-select form-select-~a" size))))) (string= size "multiple")) "form-select")
((stringp size)
(format nil "form-select form-select-~a" size))
(t (error "Invalid size specification: ~a" size)))))
`(spinneret:with-html `(spinneret:with-html
(:select :class ,class-attr (:select :class ,class-attr
,@(when (numberp size) `(:size ,size)) ,@(when (numberp size) `(:size ,size))
,@(when (string= size "multiple") '(:multiple t)) ,@(when (and (stringp size) (string= size "multiple")) (list :multiple t))
:aria-label "Default select example" :aria-label "Default select example"
(:option :selected t "Open this selected menu") (:option :selected t "Open this selected menu")
,@body)))) ,@body))))