UNPKG

@bprogress/next

Version:

NProgress bar like for Next.js compatible with new app directory

1 lines 33.8 kB
{"version":3,"sources":["/Users/elliotsutton/Documents/Skyleen/npm-package/bprogress/packages/next/dist/index.cjs","../src/index.ts","../src/hooks/use-router.ts","../src/providers/app-progress-provider.tsx","../src/components/app-progress.tsx","../src/providers/next-progress-provider.tsx","../src/providers/pages-progress-provider.tsx","../src/components/pages-progress.tsx"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","index_exports","AppProgressProvider","Bar","import_react11","Indeterminate","PagesProgressProvider","Peg","Progress","Spinner","SpinnerIcon","useProgress","useRouter","module","exports","import_navigation","require","import_react","import_core","removeFirstPathSegment","url","parts","pathname","split","length","splice","join","options","customRouter","defaultProgressOptions","router","useNextRouter","import_react2","start","stop","disableSameURL","providerDisableSameURL","startPosition","providerStartPosition","delay","providerDelay","stopDelay","providerStopDelay","extendedRouterRef","useRef","createHandler","fn","href","showProgress","basePath","i18nPath","routerOpts","progressOpts","localDisableSameURL","localStartPosition","localDelay","localStopDelay","currentUrl","URL","location","targetUrl","sameURL","isSameURL","setTimeout","createNoHrefHandler","result","createPrefetchHandler","current","push","replace","prefetch","back","refresh","forward","AppProgressComponent","props","import_navigation2","usePathname","searchParams","useSearchParams","import_react3","useAnchorProgress","AppProgress","withMemo","displayName","NextProgressProvider","children","ProgressComponent","color","height","spinnerPosition","style","disableStyle","nonce","shallowRouting","import_react4","React","createElement","import_react5","ProgressProvider","SuspendedAppProgress","import_react7","withSuspense","import_react6","import_router","PagesProgressComponent","import_react9","import_react8","useEffect","handleRouteStart","import_core2","isSameURLWithoutSearch","handleRouteDone","Router","events","on","off","PagesProgress","import_react10"],"mappings":"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","sourcesContent":["var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n AppProgressProvider: () => AppProgressProvider,\n Bar: () => import_react11.Bar,\n Indeterminate: () => import_react11.Indeterminate,\n PagesProgressProvider: () => PagesProgressProvider,\n Peg: () => import_react11.Peg,\n Progress: () => import_react11.Progress,\n Spinner: () => import_react11.Spinner,\n SpinnerIcon: () => import_react11.SpinnerIcon,\n useProgress: () => import_react11.useProgress,\n useRouter: () => useRouter\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/hooks/use-router.ts\nvar import_navigation = require(\"next/navigation.js\");\nvar import_react = require(\"react\");\nvar import_core = require(\"@bprogress/core\");\nvar import_react2 = require(\"@bprogress/react\");\nfunction removeFirstPathSegment(url) {\n const parts = url.pathname.split(\"/\");\n if (parts.length > 1 && parts[1]) {\n parts.splice(1, 1);\n url.pathname = parts.join(\"/\") || \"/\";\n }\n return url;\n}\nfunction useRouter(options) {\n const { customRouter, ...defaultProgressOptions } = options || {};\n const router = customRouter ? customRouter() : (\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, import_navigation.useRouter)()\n );\n const {\n start,\n stop,\n disableSameURL: providerDisableSameURL,\n startPosition: providerStartPosition,\n delay: providerDelay,\n stopDelay: providerStopDelay\n } = (0, import_react2.useProgress)();\n const extendedRouterRef = (0, import_react.useRef)(null);\n function createHandler(fn) {\n return (href, options2) => {\n const {\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay,\n ...routerOpts\n } = options2 || {};\n const progressOpts = {\n ...defaultProgressOptions,\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay\n };\n const localDisableSameURL = progressOpts.disableSameURL !== void 0 ? progressOpts.disableSameURL : providerDisableSameURL;\n const localStartPosition = progressOpts.startPosition !== void 0 ? progressOpts.startPosition : providerStartPosition;\n const localDelay = progressOpts.delay !== void 0 ? progressOpts.delay : providerDelay;\n const localStopDelay = progressOpts.stopDelay !== void 0 ? progressOpts.stopDelay : providerStopDelay;\n if (progressOpts.showProgress === false) {\n return fn(href, routerOpts);\n }\n let currentUrl = new URL(location.href);\n const targetUrl = new URL(href, location.href);\n if (progressOpts.i18nPath) {\n currentUrl = removeFirstPathSegment(currentUrl);\n }\n if (progressOpts.basePath) {\n targetUrl.pathname = progressOpts.basePath + (targetUrl.pathname !== \"/\" ? targetUrl.pathname : \"\");\n }\n const sameURL = (0, import_core.isSameURL)(targetUrl, currentUrl);\n if (sameURL && localDisableSameURL) {\n return fn(href, routerOpts);\n }\n start(localStartPosition, localDelay);\n setTimeout(() => {\n if (sameURL) stop(localStopDelay);\n }, localDelay || 0);\n return fn(href, routerOpts);\n };\n }\n function createNoHrefHandler(fn) {\n return (options2) => {\n const {\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay,\n ...routerOpts\n } = options2 || {};\n const progressOpts = {\n ...defaultProgressOptions,\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay\n };\n const localStartPosition = progressOpts.startPosition !== void 0 ? progressOpts.startPosition : providerStartPosition;\n const localDelay = progressOpts.delay !== void 0 ? progressOpts.delay : providerDelay;\n const localStopDelay = progressOpts.stopDelay !== void 0 ? progressOpts.stopDelay : providerStopDelay;\n if (progressOpts.showProgress === false) {\n return fn(routerOpts);\n }\n start(localStartPosition, localDelay);\n const result = fn(routerOpts);\n setTimeout(() => {\n stop(localStopDelay);\n }, localDelay || 0);\n return result;\n };\n }\n function createPrefetchHandler(fn) {\n return (href, options2) => {\n return fn(href, options2);\n };\n }\n if (!extendedRouterRef.current) {\n extendedRouterRef.current = {\n ...router,\n push: createHandler(router.push),\n replace: createHandler(router.replace),\n prefetch: createPrefetchHandler(router.prefetch),\n back: createNoHrefHandler(router.back),\n refresh: createNoHrefHandler(router.refresh),\n forward: createNoHrefHandler(router.forward)\n };\n } else {\n extendedRouterRef.current.push = createHandler(router.push);\n extendedRouterRef.current.replace = createHandler(router.replace);\n extendedRouterRef.current.prefetch = createPrefetchHandler(router.prefetch);\n extendedRouterRef.current.back = createNoHrefHandler(router.back);\n extendedRouterRef.current.refresh = createNoHrefHandler(router.refresh);\n extendedRouterRef.current.forward = createNoHrefHandler(router.forward);\n }\n return extendedRouterRef.current;\n}\n\n// src/providers/app-progress-provider.tsx\nvar import_react6 = __toESM(require(\"react\"), 1);\n\n// src/components/app-progress.tsx\nvar import_react3 = require(\"@bprogress/react\");\nvar import_navigation2 = require(\"next/navigation.js\");\nvar AppProgressComponent = (props) => {\n const pathname = (0, import_navigation2.usePathname)();\n const searchParams = (0, import_navigation2.useSearchParams)();\n (0, import_react3.useAnchorProgress)(props, [pathname, searchParams]);\n return null;\n};\nvar AppProgress = (0, import_react3.withMemo)(AppProgressComponent);\nAppProgress.displayName = \"AppProgress\";\n\n// src/providers/app-progress-provider.tsx\nvar import_react7 = require(\"@bprogress/react\");\n\n// src/providers/next-progress-provider.tsx\nvar import_react4 = __toESM(require(\"react\"), 1);\nvar import_react5 = require(\"@bprogress/react\");\nvar NextProgressProvider = ({\n children,\n ProgressComponent,\n color,\n height,\n options,\n spinnerPosition,\n style,\n disableStyle,\n nonce,\n stopDelay,\n delay,\n startPosition,\n disableSameURL,\n shallowRouting,\n ...props\n}) => {\n return /* @__PURE__ */ import_react4.default.createElement(\n import_react5.ProgressProvider,\n {\n color,\n height,\n options,\n spinnerPosition,\n style,\n disableStyle,\n nonce,\n stopDelay,\n delay,\n startPosition,\n disableSameURL,\n shallowRouting\n },\n /* @__PURE__ */ import_react4.default.createElement(\n ProgressComponent,\n {\n stopDelay,\n delay,\n startPosition,\n disableSameURL,\n shallowRouting,\n ...props\n }\n ),\n children\n );\n};\n\n// src/providers/app-progress-provider.tsx\nvar SuspendedAppProgress = (0, import_react7.withSuspense)(AppProgress);\nvar AppProgressProvider = ({\n children,\n ...props\n}) => {\n return /* @__PURE__ */ import_react6.default.createElement(NextProgressProvider, { ProgressComponent: SuspendedAppProgress, ...props }, children);\n};\n\n// src/providers/pages-progress-provider.tsx\nvar import_react10 = __toESM(require(\"react\"), 1);\n\n// src/components/pages-progress.tsx\nvar import_react8 = require(\"react\");\nvar import_core2 = require(\"@bprogress/core\");\nvar import_react9 = require(\"@bprogress/react\");\nvar import_router = __toESM(require(\"next/router.js\"), 1);\nvar PagesProgressComponent = ({\n shallowRouting = false,\n disableSameURL = true,\n startPosition = 0,\n delay = 0,\n stopDelay = 0\n}) => {\n const { start, stop } = (0, import_react9.useProgress)();\n (0, import_react8.useEffect)(() => {\n const handleRouteStart = (url) => {\n const targetUrl = new URL(url, location.href);\n const currentUrl = new URL(location.href);\n if (shallowRouting && (0, import_core2.isSameURLWithoutSearch)(targetUrl, currentUrl) && disableSameURL)\n return;\n if ((0, import_core2.isSameURL)(targetUrl, currentUrl) && disableSameURL) return;\n start(startPosition, delay);\n };\n const handleRouteDone = () => stop(stopDelay);\n import_router.default.events.on(\"routeChangeStart\", handleRouteStart);\n import_router.default.events.on(\"routeChangeComplete\", handleRouteDone);\n import_router.default.events.on(\"routeChangeError\", handleRouteDone);\n return () => {\n import_router.default.events.off(\"routeChangeStart\", handleRouteStart);\n import_router.default.events.off(\"routeChangeComplete\", handleRouteDone);\n import_router.default.events.off(\"routeChangeError\", handleRouteDone);\n };\n }, []);\n return null;\n};\nvar PagesProgress = (0, import_react9.withMemo)(PagesProgressComponent);\nPagesProgress.displayName = \"PagesProgress\";\n\n// src/providers/pages-progress-provider.tsx\nvar PagesProgressProvider = ({\n children,\n ...props\n}) => {\n return /* @__PURE__ */ import_react10.default.createElement(NextProgressProvider, { ProgressComponent: PagesProgress, ...props }, children);\n};\n\n// src/index.ts\nvar import_react11 = require(\"@bprogress/react\");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AppProgressProvider,\n Bar,\n Indeterminate,\n PagesProgressProvider,\n Peg,\n Progress,\n Spinner,\n SpinnerIcon,\n useProgress,\n useRouter\n});\n","export { useRouter } from \"./hooks/use-router\";\nexport { AppProgressProvider } from \"./providers/app-progress-provider\";\nexport { PagesProgressProvider } from \"./providers/pages-progress-provider\";\nexport {\n useProgress,\n Progress,\n Bar,\n Peg,\n Spinner,\n SpinnerIcon,\n Indeterminate,\n} from \"@bprogress/react\";\nexport type {\n SpinnerPosition,\n ProgressContextValue,\n ProgressComponentProps,\n ProgressProps,\n BarProps,\n PegProps,\n SpinnerProps,\n SpinnerIconProps,\n IndeterminateProps,\n} from \"@bprogress/react\";\nexport type * from \"./types\";\nexport type { BProgressOptions } from \"@bprogress/core\";\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {\n AppRouterInstance,\n AppRouterProgressInstance,\n InferPrefetchOptions,\n InferRouterOptions,\n RouterProgressOptions,\n} from '../types';\nimport { useRouter as useNextRouter } from 'next/navigation.js';\nimport { useRef } from 'react';\nimport { isSameURL } from '@bprogress/core';\nimport { AppRouterInstance as NextAppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';\nimport { useProgress } from '@bprogress/react';\n\n/**\n * Helper function that removes the first path segment from a URL.\n * This is used to ignore the locale prefix in i18n configurations.\n */\nfunction removeFirstPathSegment(url: URL): URL {\n const parts = url.pathname.split('/');\n if (parts.length > 1 && parts[1]) {\n parts.splice(1, 1);\n url.pathname = parts.join('/') || '/';\n }\n return url;\n}\n\n/**\n * Custom hook that extends the router (Next.js or custom) with progress bar functionality.\n *\n * With this signature, if a custom router is provided, its push method's options are automatically inferred.\n *\n * @param options Progress bar options and/or custom router.\n * @returns An extended router with push, replace, prefetch, back, refresh, and forward methods that manage the progress bar.\n */\nexport function useRouter<\n Custom extends AppRouterInstance = NextAppRouterInstance,\n ROpts = InferRouterOptions<Custom>,\n POpts = InferPrefetchOptions<Custom>,\n>(\n options?: RouterProgressOptions & { customRouter?: () => Custom },\n): AppRouterProgressInstance<ROpts, POpts> {\n const { customRouter, ...defaultProgressOptions } = options || {};\n const router: AppRouterInstance = customRouter\n ? customRouter()\n : // eslint-disable-next-line react-hooks/rules-of-hooks\n useNextRouter();\n const {\n start,\n stop,\n disableSameURL: providerDisableSameURL,\n startPosition: providerStartPosition,\n delay: providerDelay,\n stopDelay: providerStopDelay,\n } = useProgress();\n\n // Using a ref to keep a stable reference of the extended router.\n const extendedRouterRef = useRef<AppRouterProgressInstance<\n ROpts,\n POpts\n > | null>(null);\n\n /**\n * Generic function to create a handler for methods that require an href (push, replace).\n * It extracts the progress options and passes the rest as router-specific options.\n */\n function createHandler<Fn extends (href: string, opts?: any) => void>(\n fn: Fn,\n ) {\n return (href: string, options?: any): void => {\n const {\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay,\n ...routerOpts\n } = options || {};\n const progressOpts = {\n ...defaultProgressOptions,\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay,\n };\n\n const localDisableSameURL =\n progressOpts.disableSameURL !== undefined\n ? progressOpts.disableSameURL\n : providerDisableSameURL;\n const localStartPosition =\n progressOpts.startPosition !== undefined\n ? progressOpts.startPosition\n : providerStartPosition;\n const localDelay =\n progressOpts.delay !== undefined ? progressOpts.delay : providerDelay;\n const localStopDelay =\n progressOpts.stopDelay !== undefined\n ? progressOpts.stopDelay\n : providerStopDelay;\n\n if (progressOpts.showProgress === false) {\n return fn(href, routerOpts);\n }\n\n let currentUrl = new URL(location.href);\n const targetUrl = new URL(href, location.href);\n\n if (progressOpts.i18nPath) {\n currentUrl = removeFirstPathSegment(currentUrl);\n }\n\n if (progressOpts.basePath) {\n targetUrl.pathname =\n progressOpts.basePath +\n (targetUrl.pathname !== '/' ? targetUrl.pathname : '');\n }\n\n const sameURL = isSameURL(targetUrl, currentUrl);\n\n if (sameURL && localDisableSameURL) {\n return fn(href, routerOpts);\n }\n\n start(localStartPosition, localDelay);\n\n setTimeout(() => {\n if (sameURL) stop(localStopDelay);\n }, localDelay || 0);\n\n return fn(href, routerOpts);\n };\n }\n\n /**\n * Handler for methods that do not require an href (back, refresh, forward).\n */\n function createNoHrefHandler<Fn extends (opts?: any) => void>(fn: Fn) {\n return (options?: any): void => {\n const {\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay,\n ...routerOpts\n } = options || {};\n const progressOpts = {\n ...defaultProgressOptions,\n showProgress,\n startPosition,\n disableSameURL,\n basePath,\n i18nPath,\n delay,\n stopDelay,\n };\n\n const localStartPosition =\n progressOpts.startPosition !== undefined\n ? progressOpts.startPosition\n : providerStartPosition;\n const localDelay =\n progressOpts.delay !== undefined ? progressOpts.delay : providerDelay;\n const localStopDelay =\n progressOpts.stopDelay !== undefined\n ? progressOpts.stopDelay\n : providerStopDelay;\n\n if (progressOpts.showProgress === false) {\n return fn(routerOpts);\n }\n\n start(localStartPosition, localDelay);\n\n const result = fn(routerOpts);\n\n setTimeout(() => {\n stop(localStopDelay);\n }, localDelay || 0);\n\n return result;\n };\n }\n\n /**\n * Handler for the prefetch method.\n */\n function createPrefetchHandler<Fn extends (href: string, opts?: any) => void>(\n fn: Fn,\n ) {\n return (href: string, options?: POpts): void => {\n return fn(href, options);\n };\n }\n\n if (!extendedRouterRef.current) {\n extendedRouterRef.current = {\n ...router,\n push: createHandler(router.push),\n replace: createHandler(router.replace),\n prefetch: createPrefetchHandler(router.prefetch),\n back: createNoHrefHandler(router.back),\n refresh: createNoHrefHandler(router.refresh),\n forward: createNoHrefHandler(router.forward),\n } as AppRouterProgressInstance<ROpts, POpts>;\n } else {\n extendedRouterRef.current.push = createHandler(router.push);\n extendedRouterRef.current.replace = createHandler(router.replace);\n extendedRouterRef.current.prefetch = createPrefetchHandler(router.prefetch);\n extendedRouterRef.current.back = createNoHrefHandler(router.back);\n extendedRouterRef.current.refresh = createNoHrefHandler(router.refresh);\n extendedRouterRef.current.forward = createNoHrefHandler(router.forward);\n }\n\n return extendedRouterRef.current;\n}\n","import React from 'react';\nimport type { AppProgressProps, AppProgressProviderProps } from '../types';\nimport { AppProgress } from '../components/app-progress';\nimport { withSuspense } from '@bprogress/react';\nimport { NextProgressProvider } from './next-progress-provider';\n\nconst SuspendedAppProgress = withSuspense<AppProgressProps>(AppProgress);\n\nexport const AppProgressProvider = ({\n children,\n ...props\n}: AppProgressProviderProps) => {\n return (\n <NextProgressProvider ProgressComponent={SuspendedAppProgress} {...props}>\n {children}\n </NextProgressProvider>\n );\n};\n","import {\n useAnchorProgress,\n withMemo,\n type AnchorProgressProps,\n} from '@bprogress/react';\nimport { usePathname, useSearchParams } from 'next/navigation.js';\n\nconst AppProgressComponent = (props: AnchorProgressProps) => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n useAnchorProgress(props, [pathname, searchParams]);\n\n return null;\n};\n\nexport const AppProgress = withMemo(AppProgressComponent);\n\nAppProgress.displayName = 'AppProgress';\n","import React from 'react';\nimport {\n AnchorProgressProps,\n ProgressProvider,\n ProgressProviderProps,\n RouterProgressProps,\n} from '@bprogress/react';\n\nexport interface NextProgressProviderComponentProps\n extends ProgressProviderProps {\n ProgressComponent: React.ComponentType<\n RouterProgressProps | AnchorProgressProps\n >;\n}\n\nexport const NextProgressProvider = ({\n children,\n ProgressComponent,\n color,\n height,\n options,\n spinnerPosition,\n style,\n disableStyle,\n nonce,\n stopDelay,\n delay,\n startPosition,\n disableSameURL,\n shallowRouting,\n ...props\n}: NextProgressProviderComponentProps) => {\n return (\n <ProgressProvider\n color={color}\n height={height}\n options={options}\n spinnerPosition={spinnerPosition}\n style={style}\n disableStyle={disableStyle}\n nonce={nonce}\n stopDelay={stopDelay}\n delay={delay}\n startPosition={startPosition}\n disableSameURL={disableSameURL}\n shallowRouting={shallowRouting}\n >\n <ProgressComponent\n stopDelay={stopDelay}\n delay={delay}\n startPosition={startPosition}\n disableSameURL={disableSameURL}\n shallowRouting={shallowRouting}\n {...props}\n />\n {children}\n </ProgressProvider>\n );\n};\n","import React from 'react';\nimport type { PagesProgressProviderProps } from '../types';\nimport { PagesProgress } from '../components/pages-progress';\nimport { NextProgressProvider } from './next-progress-provider';\n\nexport const PagesProgressProvider = ({\n children,\n ...props\n}: PagesProgressProviderProps) => {\n return (\n <NextProgressProvider ProgressComponent={PagesProgress} {...props}>\n {children}\n </NextProgressProvider>\n );\n};\n","import { useEffect } from 'react';\nimport { isSameURL, isSameURLWithoutSearch } from '@bprogress/core';\nimport { RouterProgressProps, useProgress, withMemo } from '@bprogress/react';\nimport Router from 'next/router.js';\n\nconst PagesProgressComponent = ({\n shallowRouting = false,\n disableSameURL = true,\n startPosition = 0,\n delay = 0,\n stopDelay = 0,\n}: RouterProgressProps) => {\n const { start, stop } = useProgress();\n\n useEffect(() => {\n const handleRouteStart = (url: string) => {\n const targetUrl = new URL(url, location.href);\n const currentUrl = new URL(location.href);\n\n if (\n shallowRouting &&\n isSameURLWithoutSearch(targetUrl, currentUrl) &&\n disableSameURL\n )\n return;\n\n // If the URL is the same, we don't want to start the progress bar\n if (isSameURL(targetUrl, currentUrl) && disableSameURL) return;\n\n start(startPosition, delay);\n };\n\n const handleRouteDone = () => stop(stopDelay);\n\n Router.events.on('routeChangeStart', handleRouteStart);\n Router.events.on('routeChangeComplete', handleRouteDone);\n Router.events.on('routeChangeError', handleRouteDone);\n\n return () => {\n // Make sure to remove the event handler on unmount!\n Router.events.off('routeChangeStart', handleRouteStart);\n Router.events.off('routeChangeComplete', handleRouteDone);\n Router.events.off('routeChangeError', handleRouteDone);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return null;\n};\n\nexport const PagesProgress = withMemo(PagesProgressComponent);\n\nPagesProgress.displayName = 'PagesProgress';\n"]}