@gechiui/components
Version:
UI components for GeChiUI.
46 lines (39 loc) • 837 B
text/typescript
/**
* External dependencies
*/
// eslint-disable-next-line no-restricted-imports
import type { ReactNode } from 'react';
type NavigatorPathOptions = {
isBack?: boolean;
};
export type NavigatorPath = NavigatorPathOptions & {
path?: string;
};
export type NavigatorContext = [
NavigatorPath,
( path: NavigatorPath ) => void
];
// Returned by the `useNavigator` hook
export type Navigator = {
push: ( path: string, options: NavigatorPathOptions ) => void;
};
export type NavigatorProviderProps = {
/**
* The initial active path.
*/
initialPath: string;
/**
* The children elements.
*/
children: ReactNode;
};
export type NavigatorScreenProps = {
/**
* The screen's path, matched against the current path stored in the navigator.
*/
path: string;
/**
* The children elements.
*/
children: ReactNode;
};