@open-hax/uxx-reagent
v0.1.0
Published
Reagent companion package for @open-hax/uxx
Readme
@open-hax/uxx-reagent
Reagent binding for the Open Hax UI kit.
Status
This package now mirrors the public React component surface by wrapping the canonical React build in ../dist/.
That gives Reagent consumers access to the same exported component inventory without maintaining a second independent implementation.
Import
(ns app.ui
(:require [devel.ui.core :as ui]))Props and children
The wrapper layer normalizes idiomatic CLJS input to React props:
- kebab-case prop keys become camelCase where React expects it
:classbecomesclassNamedata-*andaria-*props stay dashed- keyword enum values become strings
- Hiccup children and Hiccup-in-props nodes are converted to React elements
Example
(ns app.core
(:require [devel.ui.core :as ui]))
(defn shell []
[ui/theme-provider {:theme :night-owl}
[ui/toast-provider {:position :top-right}
[ui/card {:title "Agent console"}
[ui/status-chip-stack
{:items [{:label "ready" :tone :success}
{:label "synced" :tone :info}]}]
[ui/button {:variant :primary} "Launch"]
[ui/markdown {:content "# Hello from Reagent"}]]]])Public surface
Providers
theme-providertoast-provider
Hooks and helpers
Advanced consumers can also reach through to the React hooks and helpers:
use-toastuse-adapteruse-uxx-themeuse-resolved-themeuse-theme-namepaginate-itemscalculate-total-pages
Normal React hook rules still apply.
Components
button,badge,spinner,card,card-header,card-body,card-footer,modal,modal-header,modal-body,modal-footer,tooltip,input,select,textarea,progressresizable-pane,which-key-popup,inspector-pane,context-section,pinned-tabs-bar,permission-card,prompt-card,permission-prompts,react-reagent-seam,command-palette,chat,toast,file-tree,tabssearchable-select,collapsible-panel,key-value-section,surface-hero,panel-header,metric-tile,metric-tile-grid,filter-toolbar,action-strip,status-chip-stack,data-table-shell,paginationfeed,markdown,code-block,diff-viewer,markdown-editor,rich-text-editor
Build
cd orgs/open-hax/uxx
npm run build
cd reagent
npm run buildWatch
cd orgs/open-hax/uxx/reagent
npm run watchNotes
- The React package remains the canonical implementation.
- This package intentionally prioritizes parity and documentation clarity over divergent custom rendering.
- React-only compositions like
EntityCardare still not exposed here until explicit wrapper support is added.
See ../docs/framework-parity.md for the detailed matrix.
License
LGPL-3.0-or-later
