--- category: '@Integrations' --- # useNProgress Reactive wrapper for [`nprogress`](https://github.com/rstacruz/nprogress). ## Install ```bash npm i nprogress@^0 ``` ## Usage ```ts {6} import { useNProgress } from '@vueuse/integrations/useNProgress' const { isLoading } = useNProgress() function toggle() { isLoading.value = !isLoading.value } ``` ### Passing a progress percentage You can pass a percentage to indicate where the bar should start from. ```ts {3} import { useNProgress } from '@vueuse/integrations/useNProgress' const { progress } = useNProgress(0.5) function done() { progress.value = 1.0 } ``` > To change the progress percentage, set `progress.value = n`, where n is a number between 0..1. ### Customization Just edit [nprogress.css](https://github.com/rstacruz/nprogress/blob/master/nprogress.css) to your liking. Tip: you probably only want to find and replace occurrences of #29d. You can [configure](https://github.com/rstacruz/nprogress#configuration) it by passing an object as a second parameter. ```ts {4} import { useNProgress } from '@vueuse/integrations/useNProgress' useNProgress(null, { minimum: 0.1, // ... }) ``` ## Type Declarations ```ts export type UseNProgressOptions = Partial /** * Reactive progress bar. * * @see https://vueuse.org/useNProgress */ export declare function useNProgress( currentProgress?: MaybeRefOrGetter, options?: UseNProgressOptions, ): { isLoading: WritableComputedRef progress: Ref start: () => nprogress.NProgress done: (force?: boolean) => nprogress.NProgress remove: () => void } export type UseNProgressReturn = ReturnType ```