@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
34 lines (33 loc) • 1.14 kB
TypeScript
import { ComponentProps, ReactNode } from 'react';
import { AllMessages } from './messages';
import { Theme } from './theme/utils';
/**
* Allows injecting necessary router-related components.
* Projects can have different routers:
* Tanstack Router, React Router, Next router
*/
interface SpeziContextRouter {
/**
* Link component. Make sure to provide your router's Link component.
*/
Link: (props: ComponentProps<"a">) => ReactNode;
}
export interface SpeziContextType {
router: SpeziContextRouter;
}
export declare const SpeziContext: import('react').Context<SpeziContextType | null>;
/**
* Returns SpeziContextType from context and validates its presence.
* @throws {Error} When used outside SpeziProvider.
*/
export declare const useSpeziContext: () => SpeziContextType;
interface SpeziProviderProps extends SpeziContextType {
children?: ReactNode;
theme?: Partial<Theme>;
messages?: Partial<AllMessages>;
}
/**
* Configures messages and theme.
*/
export declare const SpeziProvider: ({ children, messages, theme, router, }: SpeziProviderProps) => import("react").JSX.Element;
export {};