UNPKG

nextjs-toploader

Version:

A Next.js Top Loading Bar component made using nprogress, works with Next.js 15 and Next.js 14 and React.

2 lines 3.23 kB
var R=Object.create;var g=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var f=(e,o)=>g(e,"name",{value:o,configurable:!0});var J=(e,o)=>{for(var s in o)g(e,s,{get:o[s],enumerable:!0})},v=(e,o,s,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of z(o))!w.call(e,t)&&t!==s&&g(e,t,{get:()=>o[t],enumerable:!(p=S(o,t))||p.enumerable});return e};var b=(e,o,s)=>(s=e!=null?R(L(e)):{},v(o||!e||!e.__esModule?g(s,"default",{value:e,enumerable:!0}):s,e)),O=e=>v(g({},"__esModule",{value:!0}),e);var X={};J(X,{PagesTopLoader:()=>k});module.exports=O(X);var r=b(require("prop-types")),l=b(require("react")),i=b(require("nprogress")),n=b(require("next/router"));var k=f(({color:e,height:o,showSpinner:s,crawl:p,crawlSpeed:t,initialPosition:c,easing:u,speed:y,shadow:d,template:x,zIndex:h=1600,showAtBottom:P=!1})=>{let $="#29d",a=e!=null?e:$,C=o!=null?o:3,N=!d&&d!==void 0?"":d?`box-shadow:${d}`:`box-shadow:0 0 10px ${a},0 0 5px ${a}`,E=l.createElement("style",null,`#nprogress{pointer-events:none}#nprogress .bar{background:${a};position:fixed;z-index:${h};${P?"bottom: 0;":"top: 0;"}left:0;width:100%;height:${C}px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;${N};opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:${h};${P?"bottom: 15px;":"top: 15px;"}right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:${a};border-left-color:${a};border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}`);return l.useEffect(()=>{i.configure({showSpinner:s!=null?s:!0,trickle:p!=null?p:!0,trickleSpeed:t!=null?t:200,minimum:c!=null?c:.08,easing:u!=null?u:"ease",speed:y!=null?y:200,template:x!=null?x:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'});let T=f(()=>i.start(),"progressStarted"),m=f(()=>i.done(!0),"progressComplete");return n.default.events.on("routeChangeStart",T),n.default.events.on("routeChangeComplete",m),n.default.events.on("routeChangeError",m),()=>{n.default.events.off("routeChangeStart",T),n.default.events.off("routeChangeComplete",m),n.default.events.off("routeChangeError",m)}},[]),E},"PagesTopLoader");k.propTypes={color:r.string,height:r.number,showSpinner:r.bool,crawl:r.bool,crawlSpeed:r.number,initialPosition:r.number,easing:r.string,speed:r.number,template:r.string,shadow:r.oneOfType([r.string,r.bool]),zIndex:r.number,showAtBottom:r.bool};0&&(module.exports={PagesTopLoader}); //# sourceMappingURL=pages.js.map