Introduction
The TabBar is a new generation of navigation. It is not a set of fixed templates:
it is a system of structured elements described by a single configuration. Each
layout is generated by changing a few key properties, so every variation shares
the same structure and behaves consistently on every device.
In the GoodBarber design system, the TabBar is the component users interact with
the most. It is designed to stay clear and reachable in every context: anchored
at the bottom of the screen on mobile and tablet, and displayed as a vertical
rail on desktop.
Anatomy
The TabBar is built on three levels. Each level has its own role, and together
they are described by one configuration.

Container
The Container is the outer layer. It sets the position of the TabBar on the
screen, carries the background and its effects, such as blur
or gradient, defines the scroll behavior, and manages
the spacing with surrounding components like the mini player or the floating button.

Bar
The Bar is the structure. It holds and distributes the navigation entries,
and carries the surface of the component: background,
border, shape and shadow.
The indicator that marks the selected entry is also carried at the Bar level.

Item
The Item is the interactive unit of the navigation: an icon, a label, or both,
with an indicator when the item is selected. Each part of the Item is an element
of its own and is described separately.

Distinct tab
The distinct tab is an Item moved outside the Bar: a highlighted entry, rendered
with the button palette of the app theme. It always matches the height of the
Bar, and sits next to it on mobile, or above it on desktop.

Properties
Shape
The Shape atom applies to the whole component,
consistently: the Bar, the items and the distinct tab share the same corner
style, from Sharp to Full-round.

Border
The Bar can draw a border around its surface, following the
Border atom. Its color is configurable, to detach the
navigation from the content behind it.

Shadow
The shadow lifts the Bar above the content and anchors the navigation visually.
It follows the Shadow atom, consistently with the
other floating components of the app.

Size
The element size comes in three values: Compact, Standard and Large. The
size sets the scale of the whole component: icons, labels and the height of the
Bar adapt together, per device.

Background effects
The background of the TabBar can detach the navigation from the content, at two
levels: the Container behind the whole component, and the Bar itself.
On the Container — a solid color, a gradient, or
a blur that lets the content show through. Blur effects
are available on every app output.

On the Bar — the surface of the Bar takes the same effects: solid, gradient,
or blur, revealing the content behind the pill.

On-scroll behavior
The TabBar can stay fixed and always visible, or hide when the user
scrolls down and reappear when scrolling back up.

Layout
Filling
The filling defines how the Bar occupies the width of its container. With
fit, the Bar hugs its content and each item takes its own width. With
stretch, the Bar fills the whole width and every item shares it equally.
Edge to edge, the Bar spans the screen from side to side.

By device
On mobile and tablet, the TabBar is anchored at the bottom of the screen. On
desktop, it becomes a vertical rail on the left side of the navigation area,
with the distinct tab above the Bar.

With other components
The Container manages the spacing between the TabBar and the transversal
components of the app, such as the mini player or the floating button, so the
navigation stays stable whatever the page shows.
Overflow
On mobile, the TabBar shows up to four entries, the distinct tab included. When
the app has more sections, the extra entries move to the More menu, the natural
extension of the TabBar, which is described separately.
Design