{"version":3,"sources":["/Users/elliotsutton/Documents/Skyleen/npm-package/bprogress/packages/next/dist/pages.cjs","../src/pages.ts","../src/providers/pages-progress-provider.tsx","../src/components/pages-progress.tsx","../src/providers/next-progress-provider.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","pages_exports","ProgressProvider","PagesProgressProvider","module","exports","import_react","require","import_core","import_router","PagesProgressComponent","shallowRouting","disableSameURL","startPosition","delay","stopDelay","import_react2","useProgress","start","stop","useEffect","handleRouteStart","url","targetUrl","URL","location","href","currentUrl","isSameURLWithoutSearch","isSameURL","handleRouteDone","Router","events","on","off","PagesProgress","withMemo","displayName","NextProgressProvider","children","ProgressComponent","color","height","options","spinnerPosition","style","disableStyle","nonce","props","import_react3","React","createElement","import_react4","import_react5"],"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/pages.ts\nvar pages_exports = {};\n__export(pages_exports, {\n  ProgressProvider: () => PagesProgressProvider\n});\nmodule.exports = __toCommonJS(pages_exports);\n\n// src/providers/pages-progress-provider.tsx\nvar import_react5 = __toESM(require(\"react\"), 1);\n\n// src/components/pages-progress.tsx\nvar import_react = require(\"react\");\nvar import_core = require(\"@bprogress/core\");\nvar import_react2 = 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_react2.useProgress)();\n  (0, import_react.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_core.isSameURLWithoutSearch)(targetUrl, currentUrl) && disableSameURL)\n        return;\n      if ((0, import_core.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_react2.withMemo)(PagesProgressComponent);\nPagesProgress.displayName = \"PagesProgress\";\n\n// src/providers/next-progress-provider.tsx\nvar import_react3 = __toESM(require(\"react\"), 1);\nvar import_react4 = 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_react3.default.createElement(\n    import_react4.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_react3.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/pages-progress-provider.tsx\nvar PagesProgressProvider = ({\n  children,\n  ...props\n}) => {\n  return /* @__PURE__ */ import_react5.default.createElement(NextProgressProvider, { ProgressComponent: PagesProgress, ...props }, children);\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n  ProgressProvider\n});\n","export { PagesProgressProvider as ProgressProvider } from \"./providers/pages-progress-provider\";\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","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"]}