Rebar UI

1.0

order

MobileTabBar

Bottom bar with four destinations, a badge and an active tab.

Tideline mobileTap a tab: the screen above follows
Today

Draft launch checklist

Research

PN

Book crew interviews

Ops

LS

Icon audit

Design

MC
Calendar
Fri 24 Oct

Harbour launch

09:00, Maya

Mobile design review

14:00, Jonas

Badge
Dots
Links
Compact bar via --rebar-tab-bar-* properties (49px, 24px icons, 10px labels, regular weight)

In context

ProjectsThe bar under a real list, with the current tab marked
Projects

Harbour rebrand

12 of 14 done

Tideline mobile

Review, 3 open

Crew interviews

Late by 2 days

Rota export

Done

This week

7 tasks due, 3 today.

Props

PropTypeRequiredDefault
itemsMobileTabBarItem[]Yes—
activeIndexnumber | undefinedNo—
defaultActiveIndexnumber | undefinedNo0
onActiveChange((index: number) => void) | undefinedNo—
renderLink((props: { href: string; children: ReactNode; className?: string | undefined; onClick?: (() => void) | undefined; "aria-current"?: "page" | undefined; }) => ReactNode) | undefinedNo—
classNamestring | undefinedNo—
position"fixed" | "static" | undefinedNofixed
aria-labelstring | undefinedNoPrimary
bionicboolean | undefinedNo—
bionicOptionsBionicOptions | undefinedNo—

Accessibility

A plain <nav aria-label="Primary"> of real, keyboard-focusable <button> or <a> targets (renderLink for a framework router). Every item is at least 44×44 CSS px and always shows both an icon and a label. The active item carries aria-current="page".

data-rebar-* attributes

data-rebar-component="mobile-tab-bar" on the <nav>; data-rebar-part="item" on each item wrapper.

Migrating to Ant Design

AntD has no direct equivalent; a bottom tab bar is a mobile-native pattern. antd-mobile's TabBar is the closer sibling library if the migration target is genuinely mobile.