UNPKG

@bprogress/remix

Version:
54 lines (49 loc) 2.45 kB
import React from 'react'; import { AnchorProgressProviderProps, AnchorProgressProps } from '@bprogress/react'; export { Bar, BarProps, Indeterminate, IndeterminateProps, Peg, PegProps, Progress, ProgressComponentProps, ProgressContextValue, ProgressProps, Spinner, SpinnerIcon, SpinnerIconProps, SpinnerPosition, SpinnerProps, useProgress } from '@bprogress/react'; import { NavigateFunction, Path } from '@remix-run/react'; export { BProgressOptions } from '@bprogress/core'; interface RemixProgressProps extends AnchorProgressProps { } interface RemixProgressProviderProps extends AnchorProgressProviderProps { } /** * @param showProgress Show the progress bar. @default true * @param startPosition The position of the progress bar at the start of the page load - @default 0 * @param disableSameURL Disable triggering progress bar on the same URL - @default true */ interface NavigateActionsProgressOptions { showProgress?: boolean; startPosition?: number; disableSameURL?: boolean; delay?: number; stopDelay?: number; } /** * @param customNavigate Custom navigate - @default undefined */ interface NavigateProgressOptions extends NavigateActionsProgressOptions { customNavigate?: () => NavigateFunction; } type NavigateOptions = { replace?: boolean; state?: any; preventScrollReset?: boolean; relative?: 'route' | 'path'; flushSync?: boolean; viewTransition?: boolean; }; type To = string | Partial<Path>; interface ProgressNavigateFunction { (to: To, options?: NavigateOptions, progressOptions?: NavigateActionsProgressOptions): void; (delta: number, progressOptions?: NavigateActionsProgressOptions): void; } declare const RemixProgressProvider: ({ children, color, height, options, spinnerPosition, style, disableStyle, nonce, ...props }: RemixProgressProviderProps) => React.JSX.Element; /** * Custom hook that extends Remix's useNavigate with progress bar functionality. * * @param options - Default progress options (e.g., showProgress, startPosition, disableSameURL) * @returns An enhanced navigate function with an extra parameter for progress options. */ declare function useNavigate(options?: NavigateProgressOptions): ProgressNavigateFunction; export { type NavigateActionsProgressOptions, type NavigateProgressOptions, type ProgressNavigateFunction, RemixProgressProvider as ProgressProvider, type RemixProgressProps, type RemixProgressProviderProps, useNavigate };