Lustre bindings to framework-agnostic UI Component Libraries:
There are a lot of framework-agnostic UI Libraries out there. DaisyUI, Oat, Basecoat, Bootstrap, ...
Framework-agnostic in this case means that they are not tied to a particular JavaScript Framework (React, Vue, Svelte, ...), such as shadcn/ui, Vuetify or Skeleton. Instead, they are purely CSS and vanilla JavaScript.
These framework-agnostic UI Libraries are already relatively low friction to get started with. Meaning that they are mostly just css classes and some custom data attributes. However I think providing dedicated APIs in Gleam for things like theming and constructing the elements with best practices has a lot of benefits as you build more complex interfaces.
In each package, there is a dev module that constructs a demo with all available elements and writes it to a static .html file that you can open in your browser and (optionally) publish via GitHub Pages.
cd glaze_oat
gleam dev
open ../docs/glaze_oat/index.htmlcd glaze_basecoat
gleam dev
open ../docs/glaze_basecoat/index.htmlI think DaisyUI is a great candidates for this repo!
Oat also has extensions, which could be interesting to include in this library.