From d9985dcc9840267fb282c8bc5708e33c61dc6c68 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Wed, 16 Aug 2023 09:30:35 +0200 Subject: [PATCH] Create a standard search form --- src/component/form.lisp | 16 +++++++++++++++- tests/component/form.lisp | 5 +++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/component/form.lisp b/src/component/form.lisp index 118b985..b5a2c99 100644 --- a/src/component/form.lisp +++ b/src/component/form.lisp @@ -1,11 +1,15 @@ (defpackage cl-sbt/form (:use :cl) + (:import-from + :cl-sbt/btn + :btn-outline-success) (:export :ctrl :ctrl-col :select - :select-option)) + :select-option + :search-form)) (in-package :cl-sbt/form) @@ -115,3 +119,13 @@ Example: :aria-label "Default select example" (:option :selected t "Open this selected menu") (select-option ,@body))))) + +(defun search-form () + (spinneret:with-html + (:form :class "d-flex" + :role "search" + (:input :class "form-control me-2" + :type "search" + :placeholder "Search" + :aria-label "Search") + (btn-outline-success (:type "submit") "Search")))) diff --git a/tests/component/form.lisp b/tests/component/form.lisp index acfc702..82fd5e4 100644 --- a/tests/component/form.lisp +++ b/tests/component/form.lisp @@ -8,7 +8,8 @@ :ctrl :ctrl-col :select - :select-option)) + :select-option + :search-form)) (in-package :cl-sbt/tests/form) @@ -96,7 +97,7 @@ (ok (search "option value=1" result))))) (deftest test-default-search-form - (let ((result (spinneret:with-html-string (search)))) + (let ((result (spinneret:with-html-string (search-form)))) (testing "Generates correct HTML for search form" (ok (search "class=\"form-control me-2\"" result)) (ok (search "type=search" result))