{"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"]}