API Reference
Every export from `flemo`, with the page that explains it
Components
| Export | Summary | More |
|---|---|---|
Router | Root container. Renders the active screen. | Router |
Route | Maps a path (or paths) to an element. | Router |
Screen | Per-route screen container with app/nav/safe-area slots. | Screen |
LayoutScreen | Screen variant for shared layoutId morphs across screens. | Screen |
LayoutConfig | Wraps motion children with the current screen's transition timing. | — |
Hooks
| Export | Returns | More |
|---|---|---|
useNavigate() | { push, replace, pop } | Navigation |
useParams<T>() | The current route's params (path + query merged) | Navigation |
useStep<T>() | { pushStep, replaceStep, popStep } for sub-states | Navigation |
useScreen() | Current screen meta (id, isActive, zIndex, …) | — |
useViewportScrollHeight() | Visual-viewport scroll metrics, useful for mobile keyboards | — |
Transition factories
| Export | When to use |
|---|---|
createTransition | Six-phase transitions (idle / enter / exit / enterBack / exitBack) |
createRawTransition | Full control over every navigate state |
createDecorator | Six-phase decorator (e.g., overlays between screens) |
createRawDecorator | Decorator with full per-state control |
See Transitions for examples.
Built-in transition names
"cupertino" · "material" · "layout" · "none"
Built-in decorator names
"overlay"
Type registries
| Interface | Purpose |
|---|---|
RegisterRoute | Register your routes for type-safe navigate.push and useParams |
RegisterTransition | Register custom transition names |
RegisterDecorator | Register custom decorator names |
declare module "flemo" {
interface RegisterRoute {
/* … */
}
interface RegisterTransition {
/* … */
}
interface RegisterDecorator {
/* … */
}
}Type exports
ScreenProps · TransitionName · RegisterTransition · DecoratorName · RegisterDecorator
Peer dependencies
react ^19 · react-dom ^19 · motion ^12