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,9 +3,8 @@
|
||||
|
||||
(defn accordion-class-list
|
||||
"Generate a vector of CSS class strings for an accordion item."
|
||||
[{:keys [open]}]
|
||||
(cond-> ["accordion"]
|
||||
open (conj "accordion--open")))
|
||||
[_opts]
|
||||
["accordion"])
|
||||
|
||||
(defn accordion-classes
|
||||
"Generate CSS class string for an accordion."
|
||||
@@ -13,40 +12,40 @@
|
||||
(str/join " " (accordion-class-list opts)))
|
||||
|
||||
(defn accordion
|
||||
"Render an accordion (collapsible) item.
|
||||
"Render an accordion (collapsible) item using native <details>/<summary>.
|
||||
|
||||
Props:
|
||||
:title - trigger text
|
||||
:open - boolean, whether expanded
|
||||
:open - boolean, whether initially expanded
|
||||
:class - additional CSS classes
|
||||
:attrs - additional HTML attributes"
|
||||
[{:keys [title open class attrs] :as _props} & children]
|
||||
#?(:squint
|
||||
(let [classes (cond-> (accordion-classes {:open open})
|
||||
(let [classes (cond-> (accordion-classes {})
|
||||
class (str " " class))
|
||||
base-attrs (merge {:class classes} attrs)]
|
||||
(into [:div base-attrs
|
||||
[:div {:class "accordion-trigger"} title]]
|
||||
(when open
|
||||
[[:div {:class "accordion-content"}
|
||||
(into [:div] children)]])))
|
||||
base-attrs (cond-> (merge {:class classes} attrs)
|
||||
open (assoc :open true))]
|
||||
(into [:details base-attrs
|
||||
[:summary {:class "accordion-trigger"} title]
|
||||
[:div {:class "accordion-content"}]]
|
||||
children))
|
||||
|
||||
:cljs
|
||||
(let [cls (accordion-class-list {:open open})
|
||||
(let [cls (accordion-class-list {})
|
||||
classes (cond-> cls class (conj class))
|
||||
base-attrs (merge {:class classes} attrs)]
|
||||
(into [:div base-attrs
|
||||
[:div {:class ["accordion-trigger"]} title]]
|
||||
(when open
|
||||
[[:div {:class ["accordion-content"]}
|
||||
(into [:div] children)]])))
|
||||
base-attrs (cond-> (merge {:class classes} attrs)
|
||||
open (assoc :open true))]
|
||||
(into [:details base-attrs
|
||||
[:summary {:class ["accordion-trigger"]} title]
|
||||
[:div {:class ["accordion-content"]}]]
|
||||
children))
|
||||
|
||||
:clj
|
||||
(let [classes (cond-> (accordion-classes {:open open})
|
||||
(let [classes (cond-> (accordion-classes {})
|
||||
class (str " " class))
|
||||
base-attrs (merge {:class classes} attrs)]
|
||||
(into [:div base-attrs
|
||||
[:div {:class "accordion-trigger"} title]]
|
||||
(when open
|
||||
[[:div {:class "accordion-content"}
|
||||
(into [:div] children)]])))))
|
||||
base-attrs (cond-> (merge {:class classes} attrs)
|
||||
open (assoc :open true))]
|
||||
(into [:details base-attrs
|
||||
[:summary {:class "accordion-trigger"} title]
|
||||
[:div {:class "accordion-content"}]]
|
||||
children))))
|
||||
|
||||
Reference in New Issue
Block a user