@@ -66,12 +66,18 @@ export type NextTopLoaderProps = {
66
66
* <div class="spinner" role="spinner"><div class="spinner-icon"></div></div>"
67
67
*/
68
68
template ?: string ;
69
- /**
69
+ /**
70
70
* Defines zIndex for the TopLoader.
71
71
* @default 1600
72
72
*
73
73
*/
74
74
zIndex ?: number ;
75
+ /**
76
+ * To show the TopLoader at bottom.
77
+ * @default false
78
+ *
79
+ */
80
+ showAtBottom ?: boolean ;
75
81
} ;
76
82
77
83
const NextTopLoader = ( {
@@ -86,6 +92,7 @@ const NextTopLoader = ({
86
92
shadow,
87
93
template,
88
94
zIndex = 1600 ,
95
+ showAtBottom = false ,
89
96
} : NextTopLoaderProps ) => {
90
97
const defaultColor = '#29d' ;
91
98
const defaultHeight = 3 ;
@@ -101,9 +108,12 @@ const NextTopLoader = ({
101
108
? `box-shadow:${ shadow } `
102
109
: `box-shadow:0 0 10px ${ color } ,0 0 5px ${ color } ` ;
103
110
111
+ // Check if to show at bottom
112
+ const positionStyle = showAtBottom ? 'bottom: 0;' : 'top: 0;' ;
113
+
104
114
const styles = (
105
115
< style >
106
- { `#nprogress{pointer-events:none}#nprogress .bar{background:${ color } ;position:fixed;z-index:${ zIndex } ;top:0;left:0;width:100%;height:${ height } px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;${ boxShadow } ;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:${ zIndex } ;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:${ color } ;border-left-color:${ color } ;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)}}` }
116
+ { `#nprogress{pointer-events:none}#nprogress .bar{background:${ color } ;position:fixed;z-index:${ zIndex } ;${ positionStyle } left:0;width:100%;height:${ height } px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;${ boxShadow } ;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:${ zIndex } ;${ positionStyle } right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:${ color } ;border-left-color:${ color } ;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)}}` }
107
117
</ style >
108
118
) ;
109
119
@@ -212,4 +222,5 @@ NextTopLoader.propTypes = {
212
222
template : PropTypes . string ,
213
223
shadow : PropTypes . oneOfType ( [ PropTypes . string , PropTypes . bool ] ) ,
214
224
zIndex : PropTypes . number ,
225
+ showAtBottom : PropTypes . bool ,
215
226
} ;
0 commit comments