App Bar
AppBar is a top surface and one-row alignment structure built on Atom AppBar.
Built from the published package
Know when App Bar is the right part
Use it when
Use it for branding, location, navigation, search, and persistent actions on one top surface.
Choose another path when
It is not a complete header, menu system, multi-row navigation product, responsive shell, body-offset manager, or scroll-reactive policy.
Installation and imports
The complete stylesheet above is the recommended default. For a measured route-aware build, replace it with the shared foundation and this component's stylesheet:
Add the modular stylesheet for every other Brick component the route renders.
Do not combine modular styles with styles.css or tokens.css.
Named part exports and the root package export are also available.
Quick start
Visual recipes and states
Variant controls surface fill, tone selects neutral or accent treatment, and border, elevation, and blur are independent options. Toolbar uses equal logical side tracks so Center remains geometrically centered.
Examples
API
Start with the public parts and root options below. Components with multiple parts separate each area into its own named subsection.
Public exports are the AppBar namespace; named AppBarRoot,
AppBarToolbar, AppBarStart, AppBarCenter, and AppBarEnd parts; and
AppBarRootProps, AppBarToolbarProps, AppBarSectionProps,
AppBarVariant, and AppBarTone.
| Root prop | Values | Default |
|---|---|---|
variant | solid, surface, transparent | surface |
tone | neutral, accent | neutral |
bordered | boolean | true |
elevated | boolean | false |
blurred | boolean | false |
| Atom-owned prop | Values | Default |
|---|---|---|
Root position | static, absolute, sticky, fixed | static |
Toolbar density | compact, comfortable | comfortable |
Atom Root and Toolbar supply these layout values plus native/composition props. Sections inherit Atom section props.
Accessibility
Atom owns landmark semantics. Label multiple comparable landmarks and nested navigation, and name every action. Brick owns visible boundaries, contrast, forced-color output, and reduced-transparency fallback.
Responsive behavior
Root fills available inline size. AppBar does not wrap itself or prescribe breakpoints; applications decide what truncates, hides, scrolls, or moves. Logical tracks and edges support RTL.
Styling and tokens
Customization
Use Root/Toolbar props, then semantic and AppBar tokens, then part
className/style. The application owns branding, child visibility,
truncation, offsets, and navigation behavior.
Tokens and CSS hooks
Stable classes are .brick-app-bar, .brick-app-bar-toolbar,
.brick-app-bar-start, .brick-app-bar-center, .brick-app-bar-end. Public
attributes include Atom data-position/data-density and Brick
data-variant, data-tone, data-bordered, data-elevated, and
data-blurred. Public tokens are --brick-app-bar-background,
--brick-app-bar-foreground, --brick-app-bar-border-color,
--brick-app-bar-blurred-background,
--brick-app-bar-reduced-transparency-background, and
--brick-app-bar-shadow.
Advanced reference
Open these details only when you need to inspect DOM ownership, native forwarding, or lower-level composition.