Article URL: https://github.com/LukeTandjung/base-gpui Comments URL: https://news.ycombinator.com/item?id=49083700 Points: 4 # Comments: 0

Base GPUI ports Base UI's rich component API surface to GPUI: compound parts, controlled and uncontrolled state, keyboard interaction, state-aware styling, and accessibility semantics. Components are unstyled, so applications retain complete control over their visual design. The public API follows Base UI where its concepts map cleanly to native applications, while the implementation is designed specifically for GPUI's immediate-mode rendering model. Base GPUI is under active development. APIs may change before version 1.0. Install it from GitHub, as is common for projects using GPUI's actively developed Git revision. Components expose compound parts and state-aware styling. For example, tabs are composed from TabsRoot, TabsList, TabsTab, TabsIndicator, and TabsPanel rather than a single pre-styled widget. Base GPUI currently includes APIs for accordions, dialogs, buttons, checkboxes, comboboxes, menus, popovers, selects, sliders, tabs, toasts, tooltips, and other common interface patterns. Browse the component guides for each component's compound parts, behavioral builders, supporting types, style state, and accessibility model. Base GPUI is a deliberate GPUI port of Base UI's public component concepts—not a Rust translation of Base UI's React internals. It preserves the expressive headless API while implementing behavior, state, rendering, and accessibility through GPUI-native mechanisms. Accessibility semantics and keyboard behavior are built into components where GPUI exposes the required primitives. Known gaps caused by missing upstream GPUI accessibility APIs are documented rather than silently approximated.