BoM Daily / design

components

App bars

The navigation chrome: a top AppBar and a bottom BottomNav, wired together by AppShell. Synthesized from Material 3 and Apple HIG, mobile-first. The chrome recedes on scroll-down and returns on scroll-up, so the story and art lead. Scroll inside the phone to see it.

The shell, live

A large title on the root that collapses to inline on scroll, lift-on-scroll, the active pill in the bottom bar, and minimize-on-scroll. Scroll the content up and down.

Today

day 6 illustration

Nephi stood at the edge of the wilderness, the bow broken in his hands. The others had given up, their hunger turning to murmuring, and even his father had begun to complain.

He did not argue. He made a new bow from a straight stave of wood, and an arrow from a branch, and he asked his father where he should go to find food.

The question itself was the turning. A son who could have been bitter chose instead to honor, and in honoring, the whole company remembered who they were.

They watched the Liahona, and its pointers gave a new direction, and words appeared upon it that were plain to read.

Nephi climbed to the top of the mountain where his father had sent him, and he returned with food, and the camp was quiet that night in a way it had not been for many days.

The wilderness did not become easier. But something in them had changed, and they carried it forward.

Scroll up and down inside the frame.

AppShell props

PropTypeDefaultDescription
titlestringnoneTop bar title.
largeTitlebooleanfalseUse a large title that collapses to inline on scroll.
leadingReactNodenoneTop bar leading slot (back or brand).
actionsReactNodenoneTop bar trailing actions.
navItemsBottomNavItem[]none{ key, label, icon, href? } destinations.
activeNavstringnoneActive destination key.
onNavSelect(key: string) => voidnoneDestination select handler.
minimizeOnScrollbooleantrueRecede the bars while scrolling down.

AppBar props

PropTypeDefaultDescription
titlestringnoneThe title text.
largeTitlebooleanfalseLarge title that collapses to inline.
collapsedbooleanfalseCollapse the large title to inline (driven by scroll).
elevatedbooleanfalseAdd a hairline and soft lift (driven by scroll).
minimizedbooleanfalseSlide the bar up out of view.

BottomNav props

PropTypeDefaultDescription
itemsBottomNavItem[]noneDestinations with a Phosphor icon component.
activestringnoneActive item key.
onSelect(key: string) => voidnoneSelect handler.
minimizedbooleanfalseSlide the bar down out of view.