Widgets
JMS55 opened this issue · comments
JMS55 commented
Widgets should be "headless", meaning they should handle state and accessibility, but not styling. See also https://headlessui.com.
Basics
- Node
- Text
- Button
- SelectionButton (https://m3.material.io/components/segmented-buttons/overview)
- Checkbox
- NumericInput (slider/spinbutton/etc)
- Textfield
- Image
- NineSliceImage
- ShaderNode (UiMaterialBundle)
Containers
- DisclosureView (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)
- ModalView
- TabbedView
- ScrollView
- TreeView
- PanelView (some kind of modular rearrangeable panel system, arguably not needed as part of this library)
- PopoverView
Premade Templates
- DropdownList/Combobox
- ColorPicker
- Tooltip
- DialogModal
- ContextMenu
Talin commented
The name SelectionButton
seems confusing, as it seems to imply mutual exclusion like a radio button. Segmented buttons aren't always mutually exclusive (examples are text style toggles: bold / italic etc.)