Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@kfarwell/nextjs-toploader

TheSGJ189MIT1.4.6TypeScript support: included

A Next.js Top Loading Bar component made using nprogress, works with Next.js 13.

Next, Next TopLoader, Next.js, Next.js 13, Nprogress, React, Top Loading Bar, Progressbar

readme

Next Js TopLoader

  • A Next.js Top Loading Bar component made using nprogress, works with Next.js 13.

Install

using npm:

npm install nextjs-toploader

using yarn:

yarn add nextjs-toploader

Usage

import using:

import NextTopLoader from 'nextjs-toploader';

Usage with app/layout.js for app folder structure

For rendering add <NextTopLoader /> to your return() inside the <body></body> of RootLayout():

import NextTopLoader from 'nextjs-toploader';

export default function RootLayout({ children }) {
  return (
    <html lang="en">
      <body>
        <NextTopLoader />
        {children}
      </body>
    </html>
  );
}

Usage with pages/_app.js for pages folder structure

For rendering add <NextTopLoader /> to your return() in MyApp():

import NextTopLoader from 'nextjs-toploader';

export default function MyApp({ Component, pageProps }) {
  return (
    <>
      <NextTopLoader />
      <Component {...pageProps} />;
    </>
  );
}

Default Configuration

If no props are passed to <NextTopLoader />, below is the default configuration applied.

<NextTopLoader
  color="#2299DD"
  initialPosition={0.08}
  crawlSpeed={200}
  height={3}
  crawl={true}
  showSpinner={true}
  easing="ease"
  speed={200}
  shadow="0 0 10px #2299DD,0 0 5px #2299DD"
/>
  • color: to change the default color of TopLoader.
  • initialPosition: to change initial position for the TopLoader in percentage, : 0.08 = 8%.
  • crawlSpeed: increment delay speed in ms.
  • speed: animation speed for the TopLoader in ms
  • easing: animation settings using easing (a CSS easing string).
  • height: height of TopLoader in px.
  • crawl: auto incrementing behavior for the TopLoader.
  • showSpinner: to show spinner or not.
  • shadow: a smooth shadow for the TopLoader. (set to false to disable it)

Sponsor me on GitHub

"Buy Me A Coffee"

changelog

Changelogs

v1.0.0

Added

  • Added next.js version 13.2.3 in package.json peerDependancies
  • Initialized and added propTypes in NextTopLoader, Support for Next.js v13.2.3

v1.0.1

Updated

  • Fixed misspelled Component name in README, added more instructions for the Component for the usage with layout.js in app folder structure

v1.1.1

Added

  • Used React.memo for better performance

Fixed

  • Fix spelling for NextTopLoadersProps to NextTopLoaderProps

Updated

  • Removed unwanted devDependancies to reduce the package size

v1.2.1

Added

  • Added nprogress and @types/nprogress packages for the dependencies

Fixed

  • Fix the newUrl returning as undefined value for few anchor tags , added support to prevent loader from being stuck for anchor navigation for hash urls

Updated

  • Refactor the code in useEffect hook, removed the next/script

v1.2.2

Fixed

  • Fix the Loader gets triggered on navigation to link in another tab

v1.3.2

Added

  • Added support for client side navigations

v1.4.2

Added

  • Added shadow config prop

Fixed

  • Fixed spelling for increment. And updated the README.