I've been pecking away on [Fidgets](https://github.com/elcritch/fidgets). It's
a widget library built on top of Fidget and has been split out into a new repo.
However it does rely on my fork of Fidget for the foreseeable future.
That said I've been working on settling a core set of APIs and features:
* Extensible widget API based on proc's, with syntactic sugar via helper
macros
* Syntax to call widgets in block form that matches a Widget's proc arguments
* Stateful widgets extending basic widgets based on a React Hooks like API
(`useState`)
* Event system based on typed enums and routed using another Hooks like api
(`useEvents`)
There's still a few outstanding changes I want to make:
* Reworked mouse event system
* goal to not re-draw a frames unless mouse triggers an action on a node
* use quadtrees to detect if the mouse is over an active node
* do proper mouse event propagation
* More widgets!
* currently there's: button, listbox, textinput, checkbox, progressbar,
slider
* better theming and theme overrides
A demo can be found at
[fidgets/tests/testDemo.nim](https://github.com/elcritch/fidgets/blob/main/tests/testDemo.nim).
Time for a sample: