From f440c7064fbed30ff3af2abc66108817a0b39db0 Mon Sep 17 00:00:00 2001
From: ha1fstack <61955474+ha1fstack@users.noreply.github.com>
Date: Mon, 23 Sep 2024 00:43:16 +0900
Subject: [PATCH] docs: readme
---
README.md | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 112 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..16d0752
--- /dev/null
+++ b/README.md
@@ -0,0 +1,112 @@
+# React Router Topbar
+
+### Topbar Component for React Router v6, that just works.
+
+- supports **data route with loader**
+- supports **future.v7_startTransition**
+
+See the [demo](https://react-router-topbar.vercel.app/) for detail.
+
+[![NPM](https://img.shields.io/badge/NPM-%23CB3837.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/react-router-topbar)
+[![NPM Downloads](https://img.shields.io/npm/dm/react-router-topbar?&style=flat-square)](https://www.npmjs.com/package/react-router-topbar)
+
+## Install
+
+```bash
+npm install react-router-topbar
+pnpm install react-router-topbar
+yarn add react-router-topbar
+```
+
+## Usage
+
+Place the topbar component inside your router's root component.
+
+```js
+import { createBrowserRouter, RouterProvider } from "react-router-dom";
+import ReactRouterTopbar from "react-router-topbar";
+
+function App() {
+ return (
+
+ );
+}
+export default App;
+
+const router = createBrowserRouter([
+ {
+ path: "/",
+ element: ,
+ children: [
+ ...
+ ],
+ },
+]);
+
+function Root() {
+ return (
+ <>
+
+ ...
+ >
+ );
+}
+```
+
+### Default Configuration
+
+If no props are passed to ``, below is the default configuration applied.
+
+```jsx
+
+```
+
+- `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)
+- `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)
+
+#### `ReactRouterTopbarProps` (props passed to the TopLoader)
+
+| **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` | `"
"` |
+| `zIndex` | `number` | `1600` |
+| `showAtBottom` | `boolean` | `false` |
+
+## License
+
+MIT.
+
+Basic structure from [Nextjs Toploader](https://github.com/TheSGJ/nextjs-toploader).