nextjs-progressbar
Version:
Nprogress component for Next.js app.
69 lines • 3.57 kB
JavaScript
var k=Object.create;var m=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty;var P=e=>m(e,"__esModule",{value:!0}),a=(e,r)=>m(e,"name",{value:r,configurable:!0});var R=(e,r)=>{for(var t in r)m(e,t,{get:r[t],enumerable:!0})},y=(e,r,t,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of S(r))!$.call(e,s)&&(t||s!=="default")&&m(e,s,{get:()=>r[s],enumerable:!(l=v(r,s))||l.enumerable});return e},u=(e,r)=>y(P(m(e!=null?k(E(e)):{},"default",!r&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),_=(e=>(r,t)=>e&&e.get(r)||(t=y(P({}),r,1),e&&e.set(r,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var D={};R(D,{default:()=>z});var p=u(require("next/router")),n=u(require("nprogress")),o=u(require("prop-types")),g=u(require("react")),N=a(({color:e="#29D",startPosition:r=.3,stopDelayMs:t=200,height:l=3,showOnShallow:s=!0,options:b,nonce:T,transformCSS:w=a(i=>g.createElement("style",{nonce:T},i),"transformCSS")})=>{let i=null;g.useEffect(()=>(b&&n.configure(b),p.default.events.on("routeChangeStart",d),p.default.events.on("routeChangeComplete",h),p.default.events.on("routeChangeError",x),()=>{p.default.events.off("routeChangeStart",d),p.default.events.off("routeChangeComplete",h),p.default.events.off("routeChangeError",x)}),[]);let d=a((c,{shallow:f})=>{(!f||s)&&(n.set(r),n.start())},"routeChangeStart"),h=a((c,{shallow:f})=>{(!f||s)&&(i&&clearTimeout(i),i=setTimeout(()=>{n.done(!0)},t))},"routeChangeEnd"),x=a((c,f,{shallow:C})=>{(!C||s)&&(i&&clearTimeout(i),i=setTimeout(()=>{n.done(!0)},t))},"routeChangeError");return w(`
#nprogress {
pointer-events: none;
}
#nprogress .bar {
background: ${e};
position: fixed;
z-index: 9999;
top: 0;
left: 0;
width: 100%;
height: ${l}px;
}
#nprogress .peg {
display: block;
position: absolute;
right: 0px;
width: 100px;
height: 100%;
box-shadow: 0 0 10px ${e}, 0 0 5px ${e};
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: 1031;
top: 15px;
right: 15px;
}
#nprogress .spinner-icon {
width: 18px;
height: 18px;
box-sizing: border-box;
border: solid 2px transparent;
border-top-color: ${e};
border-left-color: ${e};
border-radius: 50%;
-webkit-animation: nprogresss-spinner 400ms linear infinite;
animation: nprogress-spinner 400ms linear infinite;
}
.nprogress-custom-parent {
overflow: hidden;
position: relative;
}
.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
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);
}
}
`)},"NextNProgress");N.propTypes={color:o.string,startPosition:o.number,stopDelayMs:o.number,height:o.number,showOnShallow:o.bool,options:o.object,nonce:o.string,transformCSS:o.func};var z=g.memo(N);module.exports=_(D);0&&(module.exports={});
//# sourceMappingURL=index.js.map