Usage

Create routes and tabs

tsx
// app/(shows)/show/[id].tsx
import { Text, type RouteOptions, type ScreenProps } from 'kuito';

export type Params = { id: number };

export const options: RouteOptions<Params> = { title: ({ id }) => `Show ${id}` };

export default function Show({ id }: ScreenProps<Params>) {
  return <Text>Show {id}</Text>;
}

Type declaration

ts
export type ScreenProps<P extends object = {}, R = undefined> = P & {
  /** Closes this screen; the `present` that showed it resolves with `result`. */
  dismiss: (result?: R) => void;
  /**
   * How far a back swipe has taken its stack's top screen away: 0 at rest,
   * 1 gone, every frame on the UI thread (docs/navigation.md#motion). It
   * stays 0 for a presented screen; a screen rendered outside a Router has none.
   */
  back?: Motion<number>;
  /** The sheet a screen presented as a sheet shows in, as it moves (docs/navigation.md#motion). */
  sheet?: SheetMotion;
};

Members 3

NameTypeRequiredDescription
dismiss(result?: R) => voidYesCloses this screen; the present that showed it resolves with result.
backMotion<number>NoHow far a back swipe has taken its stack's top screen away: 0 at rest, 1 gone, every frame on the UI thread (docs/navigation.md#motion). It stays 0 for a presented screen; a screen rendered outside a Router has none.
sheetSheetMotionNoThe sheet a screen presented as a sheet shows in, as it moves (docs/navigation.md#motion).
dismiss — method signatures

Signatures

ts
(result?: R): void

Parameters

NameTypeRequiredDescription
resultRNo—

Returns

void

Generated from the public TypeScript declarations: signatures, props and defaults come from the checked source, descriptions from its JSDoc. No defaults are invented.