Skip to content

Widget library

This is the complete list of Widgets registered by GSPC. Each page includes when to use it, a runnable JSON example, the generated C API, field notes, and a browser preview.

Widget JSON type Purpose Example
Arc arc Circular value indicator with an optional draggable range. arc.json
Checkbox checkbox Independent checked state with a square visual affordance. checkbox.json
Progress progress Read-only horizontal or vertical representation of a ranged value. progress.json
Radio radio Circular boolean choice visual commonly coordinated by application state. radio.json
Slider slider Draggable horizontal or vertical ranged-value control. slider.json
Toggle toggle Switch-style checked state with a draggable knob. toggle.json
Widget JSON type Purpose Example
Button button Clickable content surface that triggers declarative actions or application callbacks. button.json
Image image Static or animated raster asset with contain, cover and stretch fitting. image.json
Label label Static or runtime-bound UTF-8 text with alignment and overflow control. label.json
Widget JSON type Purpose Example
Carousel carousel Orbit icon picker with drag, depth ordering and snap. carousel.json
Dropdown dropdown Compact single-choice control that opens an option panel. dropdown.json
Grid grid Virtualized multi-column collection backed by a reusable cell template. grid.json
List list Scrollable fixed or application-backed vertical collection. list.json
Message List message_list Virtualized conversation viewport with incoming and outgoing bubbles. message_list.json
Wheel wheel Single-column collection with row snapping and optional cyclic selection. wheel.json
Widget JSON type Purpose Example
Charging Orb charging_orb Charging progress with liquid, halo or plasma styles and optional particles. charging_orb.json
Chart chart Bounded single- or multi-series line chart. chart.json
Clock clock Analog clock face with independently configurable hands and ticks. clock.json
Effect effect Pulse, rotating ring, liquid progress or shimmer with automatic playback. effect.json
Flip Card flip_card Two compiled image faces with an interruptible perspective flip. flip_card.json
Frosted Glass glass Build-time frosted crop of a named static image backdrop. glass.json
Needle needle Rotating gauge hand with configurable pivot, angle and tail. needle.json
Rectangle rect Lightweight rectangular visual with fill, border, radius and opacity. rect.json
Shape shape Rectangle, rounded geometry, circle or line rendered without an image asset. shape.json
Spinner spinner Indeterminate animated activity indicator. spinner.json
Widget JSON type Purpose Example
Container container Styled parent with optional rectangular child clipping and automatic layout. container.json
Layer layer Full or partial visual layer used for overlays and visibility groups. layer.json
Widget JSON type Purpose Example
Drawer drawer Edge-attached overlay that opens and closes with pointer gestures. drawer.json
Page Flow page_flow Swipeable multi-page viewport with horizontal or vertical motion. page_flow.json
Stack View stackview Push and pop page stack with animated navigation transitions. stackview.json
Tab View tabview Compile-time tab bar and swipeable page content. tabview.json
Widget JSON type Purpose Example
Keyboard keyboard Compile-time on-screen keyboard assembled from native controls. keyboard.json
Message Box msgbox Compile-time modal dialog with title, message and action buttons. msgbox.json
Table table Compile-time table assembled from labels, cells and grid lines. table.json