Hi Vladimir — thanks for cladd. The surface system and the
"classes for variants, data-* for runtime state" discipline are exactly
what dense app UIs need.
I'm building dev tooling (CapuBridge, an Android WebView debugging tool)
and cladd is what I want its UI to be — I'd migrate to it today if it
spoke Vue. We're a Vue shop: our ERP app is Vue + Capacitor + Framework7,
so I'm already living in your stack, just on the other side of it.
Looking at the source, the framework-bound part is smaller than the LOC
suggests — styles/* is already agnostic, most styling is pure
props -> class string, and state lives in CSS via data-*. Roughly the
split Konsta UI already makes: shared/classes/* with thin react/ and
vue/ layers over it.
So:
- Is Vue support something you'd want here eventually, or is cladd
deliberately React-only?
- If maybe: would you be open in principle to extracting the class/token
logic out of the .tsx into a framework-agnostic core? That's a win for
the React package on its own (testable, no behavior change) and it's the
precondition for a second framework. I'd scope it as a separate proposal
before touching code.
- If you'd rather keep this React-only: would a community Vue port under a
different name, attributing cladd and carrying the MIT notice, be OK with
you? Want your read on naming before publishing anything.
Happy to do the work, just don't want to duplicate something you've
already got planned.
Hi Vladimir — thanks for cladd. The surface system and the
"classes for variants,
data-*for runtime state" discipline are exactlywhat dense app UIs need.
I'm building dev tooling (CapuBridge, an Android WebView debugging tool)
and cladd is what I want its UI to be — I'd migrate to it today if it
spoke Vue. We're a Vue shop: our ERP app is Vue + Capacitor + Framework7,
so I'm already living in your stack, just on the other side of it.
Looking at the source, the framework-bound part is smaller than the LOC
suggests —
styles/*is already agnostic, most styling is pureprops -> class string, and state lives in CSS viadata-*. Roughly thesplit Konsta UI already makes:
shared/classes/*with thinreact/andvue/layers over it.So:
deliberately React-only?
logic out of the
.tsxinto a framework-agnostic core? That's a win forthe React package on its own (testable, no behavior change) and it's the
precondition for a second framework. I'd scope it as a separate proposal
before touching code.
different name, attributing cladd and carrying the MIT notice, be OK with
you? Want your read on naming before publishing anything.
Happy to do the work, just don't want to duplicate something you've
already got planned.