New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@gnome-ui/react

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gnome-ui/react

React component library following GNOME Human Interface Guidelines

latest
npmnpm
Version
1.9.1
Version published
Maintainers
1
Created
Source

@gnome-ui/react

React component library following the GNOME Human Interface Guidelines, built on the Adwaita design language.

npm License: MIT

Live documentation: Storybook →

Installation

npm install @gnome-ui/react

Setup

Import the stylesheet once at the root of your app:

// main.tsx or App.tsx
import "@gnome-ui/react/styles";

Quick example

import { Button, TextField, Dialog } from "@gnome-ui/react";
import "@gnome-ui/react/styles";

export default function App() {
  return (
    <Button variant="suggested" onClick={() => console.log("saved")}>
      Save Changes
    </Button>
  );
}

Components

Controls

ComponentDescription
ButtonDefault, Suggested, Destructive, Flat, Raised variants; osd overlay modifier; sm/md/lg sizes; pill and circular shapes
SplitButtonPrimary action button with attached dropdown arrow; Default, Suggested, Destructive variants
SwitchOn/off toggle for settings that apply immediately
CheckboxMulti-selection with checked, unchecked, and indeterminate states
RadioButtonSingle-selection within a group; keyboard arrow-key navigation
TextFieldText input with label, helper text, and error state
SpinButtonNumeric input with −/+ buttons, keyboard nav, decimal support
SliderDraggable range control with tick marks, decimal steps, and keyboard nav
DropdownExpandable option list with keyboard nav, flip positioning, and descriptions
SearchBarCollapsible search bar with auto-focus, clear button, filter row, and inline variant
LinkInline hyperlink with accent colour, animated underline, and external-URL variant
ToggleGroup / ToggleGroupItemMutually-exclusive toggle buttons; icon-only, label-only, or icon + label
InlineViewSwitcher / InlineViewSwitcherItemCompact inline view switcher; default, flat, and round variants

Display

ComponentDescription
Text12 Adwaita type styles: large-title, title-1…4, heading, body, caption…
IconReact adapter for @gnome-ui/icons — inline SVG, inherits currentColor
AvatarCircular user image with deterministic-color initials fallback
BadgeCounter or status dot, optionally anchored over another element
SpinnerIndeterminate loading indicator; sm/md/lg sizes
ProgressBarDeterminate (0–1) and indeterminate progress indicator
StatusPageEmpty-state page with icon, title, description, and optional actions; compact prop for sidebars/popovers
SeparatorHorizontal/vertical dividing line between content groups
ChipCompact pill-shaped label for tags, filters, and multi-select; static, removable, and selectable modes

Layout & containers

ComponentDescription
CardElevated surface for grouping content; static or interactive (activatable)
FrameBordered surface without background fill — mirrors GtkFrame
HeaderBarTitle bar with centered title and leading/trailing action slots
ToolbarHorizontal action bar with 6 px padding/gap for flat and raised buttons
SpacerInvisible flex: 1 filler to push trailing items to the end of a Toolbar
LinkedGroupRenders children as a single connected unit with merged borders; horizontal and vertical
Sidebar / SidebarSection / SidebarItemLateral navigation panel with named sections, suffix widgets, and context menus
ActionRowSettings row with title, subtitle, leading icon, and trailing widget
ButtonRowFull-width activatable row styled as a button inside a BoxedList; Default, Suggested, Destructive
ExpanderRowCollapsible ActionRow that reveals nested rows; controlled and uncontrolled
BoxedListRounded bordered list of rows — canonical GNOME settings pattern
WrapBoxFlexible wrapping layout for tag/chip lists that flows across multiple lines
TabBar / TabItem / TabPanelTab-based navigation with keyboard support, optional close buttons, and inline variant
ViewSwitcher / ViewSwitcherItemSegmented pill control for switching between 2–4 top-level views
ViewSwitcherSidebar / ViewSwitcherSidebarItemSidebar-based view switcher — replaces GtkStackSidebar
ShortcutsDialogModal listing keyboard shortcuts with integrated search

Overlays

ComponentDescription
Toast / ToasterNon-blocking temporary notification with auto-dismiss, action, and queue support
DialogBlocking modal with title, body, focus trap, and configurable buttons
TooltipFloating informational label on hover/focus with auto-flip positioning
PopoverFloating interactive panel with arrow and auto-flip positioning
BannerPersistent message strip with optional action and dismiss

Adaptive layout

ComponentDescription
useBreakpointHook tracking viewport width against GNOME breakpoints (400 / 550 / 860 px)
ClampConstrains content to a max width, centering it — mirrors AdwClamp
NavigationSplitViewTwo-pane layout that collapses to a single pane at ≤ 400 px
OverlaySplitViewSidebar becomes slide-over overlay at ≤ 400 px
ViewSwitcherBarBottom bar for ViewSwitcher items on narrow screens (≤ 550 px)
BreakpointBinApplies layout changes when the component crosses a size threshold — CSS container queries equivalent

License

MIT

FAQs

Package last updated on 31 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts