fix(card): reduce internal spacing and bump footer button size
Refactor card to use flex column with gap-based spacing instead of per-section padding, tightening the space between header, body, and footer from size-6 to size-3. Add .card-footer .btn override to render buttons at font-base size.
This commit is contained in:
@@ -3,29 +3,37 @@
|
||||
[ui.accordion :as accordion]))
|
||||
|
||||
(deftest accordion-class-list-test
|
||||
(testing "closed accordion"
|
||||
(testing "always returns base class"
|
||||
(is (= ["accordion"] (accordion/accordion-class-list {})))
|
||||
(is (= ["accordion"] (accordion/accordion-class-list {:open false}))))
|
||||
|
||||
(testing "open accordion"
|
||||
(is (= ["accordion" "accordion--open"] (accordion/accordion-class-list {:open true})))))
|
||||
(is (= ["accordion"] (accordion/accordion-class-list {:open true})))))
|
||||
|
||||
(deftest accordion-classes-test
|
||||
(testing "space-joined output"
|
||||
(is (= "accordion" (accordion/accordion-classes {})))
|
||||
(is (= "accordion accordion--open" (accordion/accordion-classes {:open true})))))
|
||||
(is (= "accordion" (accordion/accordion-classes {:open true})))))
|
||||
|
||||
(deftest accordion-component-test
|
||||
(testing "closed accordion renders trigger only"
|
||||
(testing "closed accordion uses details/summary"
|
||||
(let [result (accordion/accordion {:title "Question?"} "Answer.")]
|
||||
(is (= :div (first result)))
|
||||
(is (= :details (first result)))
|
||||
(is (= "accordion" (get-in result [1 :class])))
|
||||
;; trigger is present
|
||||
(is (= "accordion-trigger" (get-in result [2 1 :class])))))
|
||||
|
||||
(testing "open accordion includes content"
|
||||
(let [result (accordion/accordion {:title "Q?" :open true} "A.")]
|
||||
(is (= "accordion accordion--open" (get-in result [1 :class])))
|
||||
;; should contain accordion-content div
|
||||
(is (nil? (get-in result [1 :open])))
|
||||
;; summary trigger is present
|
||||
(is (= :summary (get-in result [2 0])))
|
||||
(is (= "accordion-trigger" (get-in result [2 1 :class])))
|
||||
;; content div is always present
|
||||
(is (some #(and (vector? %) (= "accordion-content" (get-in % [1 :class])))
|
||||
(rest (rest result)))))))
|
||||
(rest (rest result))))))
|
||||
|
||||
(testing "open accordion has open attribute"
|
||||
(let [result (accordion/accordion {:title "Q?" :open true} "A.")]
|
||||
(is (= :details (first result)))
|
||||
(is (true? (get-in result [1 :open])))))
|
||||
|
||||
(testing "children are inside content div"
|
||||
(let [result (accordion/accordion {:title "T"} "Child1" "Child2")]
|
||||
;; find the content div
|
||||
(let [content-div (first (filter #(and (vector? %)
|
||||
(= "accordion-content" (get-in % [1 :class])))
|
||||
(rest (rest result))))]
|
||||
(is (some? content-div))))))
|
||||
|
||||
Reference in New Issue
Block a user