feat: add 13 components adapted from Oat UI

Components (.cljc + .css + tests):
- Alert (success/warning/danger/info variants)
- Badge (primary/secondary/outline/success/warning/danger)
- Card (card/card-header/card-body/card-footer)
- Accordion (collapsible with open/closed state)
- Table (headers/rows, striped/bordered variants)
- Dialog (modal with header/body/footer sections)
- Breadcrumb (nav with active item)
- Pagination (current/total with prev/next)
- Progress (value bar with color variants)
- Spinner (sm/md/lg sizes)
- Skeleton (line/box/circle/heading placeholders)
- Switch (toggle with checked/disabled states)
- Tooltip (hover text via data-tooltip attr)

CSS-only additions:
- Form elements (inputs, selects, checkboxes, radios, range, groups)
- Grid (12-column system with offsets, responsive)
- Utilities (flex, spacing, alignment, sr-only)

Also adds warning/fg-on-warning tokens to light and dark themes.
All 3 dev targets updated with full component showcase.
40 tests, 213 assertions, all passing.
This commit is contained in:
Florian Schroedl
2026-03-03 11:37:05 +01:00
parent d55e3d3a90
commit 18043cb150
47 changed files with 2556 additions and 106 deletions

30
bb.edn
View File

@@ -17,8 +17,36 @@
{:doc "Run all unit tests"
:requires ([clojure.test :as t]
[ui.button-test]
[ui.alert-test]
[ui.badge-test]
[ui.card-test]
[ui.accordion-test]
[ui.table-test]
[ui.dialog-test]
[ui.spinner-test]
[ui.skeleton-test]
[ui.progress-test]
[ui.switch-test]
[ui.tooltip-test]
[ui.breadcrumb-test]
[ui.pagination-test]
[ui.theme-test])
:task (let [{:keys [fail error]} (t/run-tests 'ui.button-test 'ui.theme-test)]
:task (let [{:keys [fail error]} (t/run-tests
'ui.button-test
'ui.alert-test
'ui.badge-test
'ui.card-test
'ui.accordion-test
'ui.table-test
'ui.dialog-test
'ui.spinner-test
'ui.skeleton-test
'ui.progress-test
'ui.switch-test
'ui.tooltip-test
'ui.breadcrumb-test
'ui.pagination-test
'ui.theme-test)]
(when (pos? (+ fail error))
(System/exit 1)))}