- A Remix Top Loading bar Component heavily inspired by Next.js TopLoader. Based on NProgress
❗ This is my first package. Contributions are welcomed 👍
using npm:
npm install remix-toploader
using yarn:
yarn add remix-toploader
using pnpm:
pnpm add remix-toploader
import using:
import RemixTopLoader from "remix-toploader";
Navide to root.tsx
of your app and add <RemixTopLoader />
to the <body>
tag.
import RemixTopLoader from "remix-toploader";
export function Layout({ children }) {
return (
<html lang="en">
<head>
<meta charSet="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<Meta />
<Links />
</head>
<body>
<RemixTopLoader />
{children}
<ScrollRestoration />
<Scripts />
</body>
</html>
);
}
Default styles and configuration without any props passed
<RemixTopLoader
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"
template='<div class="bar" role="bar"><div class="peg"></div></div>
<div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
zIndex={1600}
showAtBottom={false}
/>
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 inms
.speed
: animation speed for the TopLoader inms
easing
: animation settings using easing (a CSS easing string).height
: height of TopLoader inpx
.crawl
: auto incrementing behavior for the TopLoader.showSpinner
: to show spinner or not.shadow
: a smooth shadow for the TopLoader. (set tofalse
to disable it)template
: to include custom HTML attributes for the TopLoader.zIndex
: defines zIndex for the TopLoader.showAtBottom
: To show the TopLoader at bottom. (increase height for the TopLoader to ensure it's visibility at the mobile devices)
Name | Type | Default Value |
---|---|---|
color |
string |
"#2299DD" |
initialPosition |
number |
0.08 |
crawlSpeed |
number |
200 |
height |
number |
3 |
crawl |
boolean |
true |
showSpinner |
boolean |
true |
easing |
string |
"ease" |
speed |
number |
200 |
shadow |
string | false |
"0 0 10px #2299DD,0 0 5px #2299DD" |
template |
string |
"<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>" |
zIndex |
number |
1600 |
showAtBottom |
boolean |
false |
showForHashAnchor |
boolean |
true |