Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Widget Gallery

Every widget is an ordinary function exported from NanoUI.

Buttons, a checkbox, text field, select, slider, switch, knob, spinner, progress bar, and sparkline in one nano-ui row.
Buttons, inputs, and canvas controls in one frame. Rendered with nano-ui-svg.

Find a widget by task

You need…Read
Buttons, menus, checkboxes, toggles, radios, selects, combo boxes, sliders, numeric fields, text fields, color pickersButtons, Menus & Inputs
Multi-line text, documents, undo history, IME-aware editingText Editing
Tabs, sortable tables, treesTabs, Tables & Trees
Modals, floating windows, popups, tooltips, context menusOverlays & Windows
Drag-and-drop, tab reordering, dockable pane gridsDrag & Drop
Knobs, switches, progress bars, spinners, sparklines, canvas drawingCustom Drawing & Controls
Colors, themes, interaction states, fontsStyling & Theming
Live examples of every styling modifierInteractive Styling Lab
Non-obvious styling behaviorStyling Gotchas

Containers (row, column, grid, panel, card, layers, …) and sizing are covered once in Layout & Scrolling.

How widget names work

The same four forms appear across the library:

FormMeaning
button "Save"Base form. Returns Bool (activated) or ()
button'Primed form. Returns a Response
buttonWith (fixedW 120)Takes a Layout -> Layout modifier first
buttonConfigured cfgTakes a config record; every config has a default...Config

A Response carries identity and interaction state:

Field / helperMeaning
respIdThe widget’s WidgetId (focus, menus, scroll targets)
respRectThe widget’s rectangle from the previous frame
respHoveredPointer is over the widget
respPressedHeld down, not yet released
respClickedActivated: left click, Enter, or Space
respChangedThe value was edited
respSubmittedCommitted, for example Enter in a text field
respHeldWith / respClickedWithWhich MouseButton is held / clicked
respRightPressed / respRightClickedSecondary-button variants

Anything with a Response can be passed to tooltip, contextMenu, and the focus helpers.