Rebar UI

1.0

opinion

IndexBar

A letter rail for jumping through a long list.

Crew directoryTap a letter or drag along the rail
A
AB

Aisha Bello

Ferry deckhand

B
BO

Ben Okafor

Pilot boat skipper

C
CH

Carys Hughes

Harbour office

D
DP

Dev Patel

Marine engineer

E
EW

Erin Walsh

Ferry deckhand

F
FK

Fatima Khan

Dispatcher

G
GP

Gareth Pryce

Crane operator

H
HS

Hana Sato

Ferry crew

I
IP

Ivan Petrov

Tug crew

K
KM

Kwame Mensah

Dock supervisor

N
NB

Niamh Byrne

Ferry crew

T
TL

Tomas Larsen

Night watch

Short list
J
JW

Jonas Weber

Engineering

L
LS

Leo Santos

Operations

M
MC

Maya Chen

Design

P
PN

Priya Nair

Research

Empty

No people yet

Group headers
J · 1
JW

Jonas Weber

Engineering

L · 1
LS

Leo Santos

Operations

M · 1
MC

Maya Chen

Design

P · 1
PN

Priya Nair

Research

In context

Team on the phoneThe crew directory and the studio team
Crew
A
AB

Aisha Bello

Ferry deckhand

B
BO

Ben Okafor

Pilot boat skipper

C
CH

Carys Hughes

Harbour office

D
DP

Dev Patel

Marine engineer

E
EW

Erin Walsh

Ferry deckhand

F
FK

Fatima Khan

Dispatcher

G
GP

Gareth Pryce

Crane operator

H
HS

Hana Sato

Ferry crew

I
IP

Ivan Petrov

Tug crew

K
KM

Kwame Mensah

Dock supervisor

N
NB

Niamh Byrne

Ferry crew

T
TL

Tomas Larsen

Night watch

Team
J
JW

Jonas Weber

Engineering

L
LS

Leo Santos

Operations

M
MC

Maya Chen

Design

P
PN

Priya Nair

Research

Props

PropTypeRequiredDefault
groupsIndexBarGroup<T>[]Yes—
renderItem(item: T, groupKey: string, index: number) => ReactNodeYes—
renderGroupHeader((groupKey: string) => ReactNode) | undefinedNo—
heightnumber | undefinedNo400
aria-labelstring | undefinedNoJump to letter
classNamestring | undefinedNo—

Accessibility

The whole rail is one touch surface: press anywhere and drag, and the list jumps live while a bubble shows the letter under your finger. A plain tap on a letter works too, and every letter is a real, keyboard-focusable button.

data-rebar-* attributes

data-rebar-component="index-bar" on the root; parts: list, group, group-header, item, rail, rail-letter (each with data-index-key, and data-rebar-active while dragged over), bubble.

Migrating to Ant Design

Not codemod-covered: the pattern is antd-mobile's IndexBar, not the desktop antd package. A desktop migration usually means a plain list with a search box.