@tanem/react-nprogress 4.0.0-beta.2 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -96,6 +96,7 @@ render(<Enhanced isAnimating />, document.getElementById('root'))
96
96
 
97
97
  - HOC: [Source](https://github.com/tanem/react-nprogress/tree/master/examples/hoc) | [Sandbox](https://codesandbox.io/s/github/tanem/react-nprogress/tree/master/examples/hoc)
98
98
  - Material UI: [Source](https://github.com/tanem/react-nprogress/tree/master/examples/material-ui) | [Sandbox](https://codesandbox.io/s/github/tanem/react-nprogress/tree/master/examples/material-ui)
99
+ - Multiple Instances: [Source](https://github.com/tanem/react-nprogress/tree/master/examples/multiple-instances) | [Sandbox](https://codesandbox.io/s/github/tanem/react-nprogress/tree/master/examples/multiple-instances)
99
100
  - Next Router: [Source](https://github.com/tanem/react-nprogress/tree/master/examples/next-router) | [Sandbox](https://codesandbox.io/s/github/tanem/react-nprogress/tree/master/examples/next-router)
100
101
  - Original Design: [Source](https://github.com/tanem/react-nprogress/tree/master/examples/original-design) | [Sandbox](https://codesandbox.io/s/github/tanem/react-nprogress/tree/master/examples/original-design)
101
102
  - Plain JS: [Source](https://github.com/tanem/react-nprogress/tree/master/examples/plain-js) | [Sandbox](https://codesandbox.io/s/github/tanem/react-nprogress/tree/master/examples/plain-js)
@@ -2,6 +2,6 @@ declare type Next = () => void;
2
2
  declare type Callback = (next: Next) => void;
3
3
  export declare const createQueue: () => {
4
4
  clear: () => void;
5
- queue: (cb: Callback) => void;
5
+ enqueue: (cb: Callback) => void;
6
6
  };
7
7
  export {};
@@ -1,4 +1,4 @@
1
1
  export declare const createTimeout: () => {
2
2
  cancel: () => void;
3
- timeout: (callback: () => void, delay: number) => void;
3
+ schedule: (callback: () => void, delay: number) => void;
4
4
  };
@@ -39,22 +39,6 @@ var clamp = function clamp(num, lower, upper) {
39
39
  return num;
40
40
  };
41
41
 
42
- var increment = function increment(progress) {
43
- var amount = 0;
44
-
45
- if (progress >= 0 && progress < 0.2) {
46
- amount = 0.1;
47
- } else if (progress >= 0.2 && progress < 0.5) {
48
- amount = 0.04;
49
- } else if (progress >= 0.5 && progress < 0.8) {
50
- amount = 0.02;
51
- } else if (progress >= 0.8 && progress < 0.99) {
52
- amount = 0.005;
53
- }
54
-
55
- return clamp(progress + amount, 0, 0.994);
56
- };
57
-
58
42
  var createQueue = function createQueue() {
59
43
  var isRunning = false;
60
44
  var pending = [];
@@ -75,7 +59,7 @@ var createQueue = function createQueue() {
75
59
  pending = [];
76
60
  };
77
61
 
78
- var queue = function queue(cb) {
62
+ var enqueue = function enqueue(cb) {
79
63
  pending.push(cb);
80
64
 
81
65
  if (!isRunning && pending.length === 1) {
@@ -85,7 +69,7 @@ var createQueue = function createQueue() {
85
69
 
86
70
  return {
87
71
  clear: clear,
88
- queue: queue
72
+ enqueue: enqueue
89
73
  };
90
74
  };
91
75
 
@@ -93,14 +77,12 @@ var createTimeout = function createTimeout() {
93
77
  var handle;
94
78
 
95
79
  var cancel = function cancel() {
96
- console.log('cancel');
97
-
98
80
  if (handle) {
99
81
  window.cancelAnimationFrame(handle);
100
82
  }
101
83
  };
102
84
 
103
- var timeout = function timeout(callback, delay) {
85
+ var schedule = function schedule(callback, delay) {
104
86
  var deltaTime;
105
87
  var start;
106
88
 
@@ -121,25 +103,37 @@ var createTimeout = function createTimeout() {
121
103
 
122
104
  return {
123
105
  cancel: cancel,
124
- timeout: timeout
106
+ schedule: schedule
125
107
  };
126
108
  };
127
109
 
110
+ var increment = function increment(progress) {
111
+ var amount = 0;
112
+
113
+ if (progress >= 0 && progress < 0.2) {
114
+ amount = 0.1;
115
+ } else if (progress >= 0.2 && progress < 0.5) {
116
+ amount = 0.04;
117
+ } else if (progress >= 0.5 && progress < 0.8) {
118
+ amount = 0.02;
119
+ } else if (progress >= 0.8 && progress < 0.99) {
120
+ amount = 0.005;
121
+ }
122
+
123
+ return clamp(progress + amount, 0, 0.994);
124
+ };
125
+
128
126
  /* istanbul ignore next */
129
127
 
130
128
  var noop = function noop() {
131
129
  return undefined;
132
- }; // const initialState: State = {
133
- // isFinished: true,
134
- // progress: 0,
135
- // sideEffect: noop,
136
- // }
137
- // const cleanup = () => {
138
- // cancelCurrentTimeout()
139
- // clearQueue()
140
- // }
141
-
130
+ };
142
131
 
132
+ var initialState = {
133
+ isFinished: true,
134
+ progress: 0,
135
+ sideEffect: noop
136
+ };
143
137
  var useNProgress = function useNProgress(_temp) {
144
138
  var _ref = _temp === void 0 ? {} : _temp,
145
139
  _ref$animationDuratio = _ref.animationDuration,
@@ -151,43 +145,42 @@ var useNProgress = function useNProgress(_temp) {
151
145
  _ref$minimum = _ref.minimum,
152
146
  minimum = _ref$minimum === void 0 ? 0.08 : _ref$minimum;
153
147
 
154
- var initialState = {
155
- isFinished: true,
156
- progress: 0,
157
- sideEffect: noop
158
- };
159
-
160
148
  var _useGetSetState = reactUse.useGetSetState(initialState),
161
149
  get = _useGetSetState[0],
162
150
  setState = _useGetSetState[1];
163
151
 
164
- var _createQueue = createQueue(),
165
- clearQueue = _createQueue.clear,
166
- queue = _createQueue.queue;
167
-
168
- var _createTimeout = createTimeout(),
169
- cancelCurrentTimeout = _createTimeout.cancel,
170
- timeout = _createTimeout.timeout;
171
-
172
- var cleanup = function cleanup() {
173
- cancelCurrentTimeout();
174
- clearQueue();
175
- };
152
+ var queue = React.useRef(null);
153
+ var timeout = React.useRef(null);
154
+ reactUse.useEffectOnce(function () {
155
+ queue.current = createQueue();
156
+ timeout.current = createTimeout();
157
+ });
158
+ var cleanup = React.useCallback(function () {
159
+ var _timeout$current, _queue$current;
176
160
 
161
+ (_timeout$current = timeout.current) == null ? void 0 : _timeout$current.cancel();
162
+ (_queue$current = queue.current) == null ? void 0 : _queue$current.clear();
163
+ }, []);
177
164
  var set = React.useCallback(function (n) {
165
+ var _queue$current4;
166
+
178
167
  n = clamp(n, minimum, 1);
179
168
 
180
169
  if (n === 1) {
170
+ var _queue$current2, _queue$current3;
171
+
181
172
  cleanup();
182
- queue(function (next) {
173
+ (_queue$current2 = queue.current) == null ? void 0 : _queue$current2.enqueue(function (next) {
183
174
  setState({
184
175
  progress: n,
185
176
  sideEffect: function sideEffect() {
186
- return timeout(next, animationDuration);
177
+ var _timeout$current2;
178
+
179
+ return (_timeout$current2 = timeout.current) == null ? void 0 : _timeout$current2.schedule(next, animationDuration);
187
180
  }
188
181
  });
189
182
  });
190
- queue(function () {
183
+ (_queue$current3 = queue.current) == null ? void 0 : _queue$current3.enqueue(function () {
191
184
  setState({
192
185
  isFinished: true,
193
186
  sideEffect: cleanup
@@ -196,24 +189,30 @@ var useNProgress = function useNProgress(_temp) {
196
189
  return;
197
190
  }
198
191
 
199
- queue(function (next) {
192
+ (_queue$current4 = queue.current) == null ? void 0 : _queue$current4.enqueue(function (next) {
200
193
  setState({
201
194
  isFinished: false,
202
195
  progress: n,
203
196
  sideEffect: function sideEffect() {
204
- return timeout(next, animationDuration);
197
+ var _timeout$current3;
198
+
199
+ return (_timeout$current3 = timeout.current) == null ? void 0 : _timeout$current3.schedule(next, animationDuration);
205
200
  }
206
201
  });
207
202
  });
208
- }, [animationDuration, minimum, setState]);
203
+ }, [animationDuration, cleanup, minimum, queue, setState, timeout]);
209
204
  var trickle = React.useCallback(function () {
210
205
  set(increment(get().progress));
211
206
  }, [get, set]);
212
207
  var start = React.useCallback(function () {
213
208
  var work = function work() {
209
+ var _queue$current5;
210
+
214
211
  trickle();
215
- queue(function (next) {
216
- timeout(function () {
212
+ (_queue$current5 = queue.current) == null ? void 0 : _queue$current5.enqueue(function (next) {
213
+ var _timeout$current4;
214
+
215
+ (_timeout$current4 = timeout.current) == null ? void 0 : _timeout$current4.schedule(function () {
217
216
  work();
218
217
  next();
219
218
  }, incrementDuration);
@@ -221,7 +220,7 @@ var useNProgress = function useNProgress(_temp) {
221
220
  };
222
221
 
223
222
  work();
224
- }, [incrementDuration, trickle]);
223
+ }, [incrementDuration, queue, timeout, trickle]);
225
224
  var savedTrickle = React.useRef(noop);
226
225
  var sideEffect = get().sideEffect;
227
226
  React.useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"react-nprogress.cjs.development.js","sources":["../compiled/clamp.js","../compiled/increment.js","../compiled/queue.js","../compiled/timeout.js","../compiled/useNProgress.js","../compiled/NProgress.js","../compiled/withNProgress.js"],"sourcesContent":["export const clamp = (num, lower, upper) => {\n num = num <= upper ? num : upper;\n num = num >= lower ? num : lower;\n return num;\n};\n","import { clamp } from './clamp';\nexport const increment = (progress) => {\n let amount = 0;\n if (progress >= 0 && progress < 0.2) {\n amount = 0.1;\n }\n else if (progress >= 0.2 && progress < 0.5) {\n amount = 0.04;\n }\n else if (progress >= 0.5 && progress < 0.8) {\n amount = 0.02;\n }\n else if (progress >= 0.8 && progress < 0.99) {\n amount = 0.005;\n }\n return clamp(progress + amount, 0, 0.994);\n};\n","export const createQueue = () => {\n let isRunning = false;\n let pending = [];\n const next = () => {\n isRunning = true;\n const cb = pending.shift();\n if (cb) {\n return cb(next);\n }\n isRunning = false;\n };\n const clear = () => {\n isRunning = false;\n pending = [];\n };\n const queue = (cb) => {\n pending.push(cb);\n if (!isRunning && pending.length === 1) {\n next();\n }\n };\n return {\n clear,\n queue,\n };\n};\n","export const createTimeout = () => {\n let handle;\n const cancel = () => {\n console.log('cancel');\n if (handle) {\n window.cancelAnimationFrame(handle);\n }\n };\n const timeout = (callback, delay) => {\n let deltaTime;\n let start;\n const frame = (time) => {\n start = start || time;\n deltaTime = time - start;\n if (deltaTime > delay) {\n callback();\n return;\n }\n handle = window.requestAnimationFrame(frame);\n };\n handle = window.requestAnimationFrame(frame);\n };\n return {\n cancel,\n timeout,\n };\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { useEffectOnce, useGetSetState, useUpdateEffect } from 'react-use';\nimport { clamp } from './clamp';\nimport { increment } from './increment';\n// import { clear as clearQueue, queue } from './queue'\nimport { createQueue } from './queue';\n// import { cancel as cancelCurrentTimeout, timeout } from './timeout'\nimport { createTimeout } from './timeout';\n/* istanbul ignore next */\nconst noop = () => undefined;\n// const initialState: State = {\n// isFinished: true,\n// progress: 0,\n// sideEffect: noop,\n// }\n// const cleanup = () => {\n// cancelCurrentTimeout()\n// clearQueue()\n// }\nexport const useNProgress = ({ animationDuration = 200, incrementDuration = 800, isAnimating = false, minimum = 0.08, } = {}) => {\n const initialState = {\n isFinished: true,\n progress: 0,\n sideEffect: noop,\n };\n const [get, setState] = useGetSetState(initialState);\n const { clear: clearQueue, queue } = createQueue();\n const { cancel: cancelCurrentTimeout, timeout } = createTimeout();\n const cleanup = () => {\n cancelCurrentTimeout();\n clearQueue();\n };\n const set = useCallback((n) => {\n n = clamp(n, minimum, 1);\n if (n === 1) {\n cleanup();\n queue((next) => {\n setState({\n progress: n,\n sideEffect: () => timeout(next, animationDuration),\n });\n });\n queue(() => {\n setState({ isFinished: true, sideEffect: cleanup });\n });\n return;\n }\n queue((next) => {\n setState({\n isFinished: false,\n progress: n,\n sideEffect: () => timeout(next, animationDuration),\n });\n });\n }, [animationDuration, minimum, setState]);\n const trickle = useCallback(() => {\n set(increment(get().progress));\n }, [get, set]);\n const start = useCallback(() => {\n const work = () => {\n trickle();\n queue((next) => {\n timeout(() => {\n work();\n next();\n }, incrementDuration);\n });\n };\n work();\n }, [incrementDuration, trickle]);\n const savedTrickle = useRef(noop);\n const sideEffect = get().sideEffect;\n useEffect(() => {\n savedTrickle.current = trickle;\n });\n useEffectOnce(() => {\n if (isAnimating) {\n start();\n }\n return cleanup;\n });\n useUpdateEffect(() => {\n get().sideEffect();\n }, [get, sideEffect]);\n useUpdateEffect(() => {\n if (!isAnimating) {\n set(1);\n }\n else {\n setState({\n ...initialState,\n sideEffect: start,\n });\n }\n }, [isAnimating, set, setState, start]);\n return {\n animationDuration,\n isFinished: get().isFinished,\n progress: get().progress,\n };\n};\n","import { useNProgress } from './useNProgress';\nexport const NProgress = ({ children, ...restProps }) => {\n const renderProps = useNProgress(restProps);\n return children(renderProps);\n};\n","import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { useNProgress } from './useNProgress';\nexport function withNProgress(BaseComponent) {\n const WithNProgress = (props) => {\n const hookProps = useNProgress(props);\n return React.createElement(BaseComponent, { ...props, ...hookProps });\n };\n hoistNonReactStatics(WithNProgress, BaseComponent);\n return WithNProgress;\n}\n"],"names":["clamp","num","lower","upper","increment","progress","amount","createQueue","isRunning","pending","next","cb","shift","clear","queue","push","length","createTimeout","handle","cancel","console","log","window","cancelAnimationFrame","timeout","callback","delay","deltaTime","start","frame","time","requestAnimationFrame","noop","undefined","useNProgress","animationDuration","incrementDuration","isAnimating","minimum","initialState","isFinished","sideEffect","useGetSetState","get","setState","clearQueue","cancelCurrentTimeout","cleanup","set","useCallback","n","trickle","work","savedTrickle","useRef","useEffect","current","useEffectOnce","useUpdateEffect","NProgress","children","restProps","renderProps","withNProgress","BaseComponent","WithNProgress","props","hookProps","React","createElement","hoistNonReactStatics"],"mappings":"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"}
1
+ {"version":3,"file":"react-nprogress.cjs.development.js","sources":["../compiled/clamp.js","../compiled/createQueue.js","../compiled/createTimeout.js","../compiled/increment.js","../compiled/useNProgress.js","../compiled/NProgress.js","../compiled/withNProgress.js"],"sourcesContent":["export const clamp = (num, lower, upper) => {\n num = num <= upper ? num : upper;\n num = num >= lower ? num : lower;\n return num;\n};\n","export const createQueue = () => {\n let isRunning = false;\n let pending = [];\n const next = () => {\n isRunning = true;\n const cb = pending.shift();\n if (cb) {\n return cb(next);\n }\n isRunning = false;\n };\n const clear = () => {\n isRunning = false;\n pending = [];\n };\n const enqueue = (cb) => {\n pending.push(cb);\n if (!isRunning && pending.length === 1) {\n next();\n }\n };\n return {\n clear,\n enqueue,\n };\n};\n","export const createTimeout = () => {\n let handle;\n const cancel = () => {\n if (handle) {\n window.cancelAnimationFrame(handle);\n }\n };\n const schedule = (callback, delay) => {\n let deltaTime;\n let start;\n const frame = (time) => {\n start = start || time;\n deltaTime = time - start;\n if (deltaTime > delay) {\n callback();\n return;\n }\n handle = window.requestAnimationFrame(frame);\n };\n handle = window.requestAnimationFrame(frame);\n };\n return {\n cancel,\n schedule,\n };\n};\n","import { clamp } from './clamp';\nexport const increment = (progress) => {\n let amount = 0;\n if (progress >= 0 && progress < 0.2) {\n amount = 0.1;\n }\n else if (progress >= 0.2 && progress < 0.5) {\n amount = 0.04;\n }\n else if (progress >= 0.5 && progress < 0.8) {\n amount = 0.02;\n }\n else if (progress >= 0.8 && progress < 0.99) {\n amount = 0.005;\n }\n return clamp(progress + amount, 0, 0.994);\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { useEffectOnce, useGetSetState, useUpdateEffect } from 'react-use';\nimport { clamp } from './clamp';\nimport { createQueue } from './createQueue';\nimport { createTimeout } from './createTimeout';\nimport { increment } from './increment';\n/* istanbul ignore next */\nconst noop = () => undefined;\nconst initialState = {\n isFinished: true,\n progress: 0,\n sideEffect: noop,\n};\nexport const useNProgress = ({ animationDuration = 200, incrementDuration = 800, isAnimating = false, minimum = 0.08, } = {}) => {\n const [get, setState] = useGetSetState(initialState);\n const queue = useRef(null);\n const timeout = useRef(null);\n useEffectOnce(() => {\n queue.current = createQueue();\n timeout.current = createTimeout();\n });\n const cleanup = useCallback(() => {\n timeout.current?.cancel();\n queue.current?.clear();\n }, []);\n const set = useCallback((n) => {\n n = clamp(n, minimum, 1);\n if (n === 1) {\n cleanup();\n queue.current?.enqueue((next) => {\n setState({\n progress: n,\n sideEffect: () => timeout.current?.schedule(next, animationDuration),\n });\n });\n queue.current?.enqueue(() => {\n setState({ isFinished: true, sideEffect: cleanup });\n });\n return;\n }\n queue.current?.enqueue((next) => {\n setState({\n isFinished: false,\n progress: n,\n sideEffect: () => timeout.current?.schedule(next, animationDuration),\n });\n });\n }, [animationDuration, cleanup, minimum, queue, setState, timeout]);\n const trickle = useCallback(() => {\n set(increment(get().progress));\n }, [get, set]);\n const start = useCallback(() => {\n const work = () => {\n trickle();\n queue.current?.enqueue((next) => {\n timeout.current?.schedule(() => {\n work();\n next();\n }, incrementDuration);\n });\n };\n work();\n }, [incrementDuration, queue, timeout, trickle]);\n const savedTrickle = useRef(noop);\n const sideEffect = get().sideEffect;\n useEffect(() => {\n savedTrickle.current = trickle;\n });\n useEffectOnce(() => {\n if (isAnimating) {\n start();\n }\n return cleanup;\n });\n useUpdateEffect(() => {\n get().sideEffect();\n }, [get, sideEffect]);\n useUpdateEffect(() => {\n if (!isAnimating) {\n set(1);\n }\n else {\n setState({\n ...initialState,\n sideEffect: start,\n });\n }\n }, [isAnimating, set, setState, start]);\n return {\n animationDuration,\n isFinished: get().isFinished,\n progress: get().progress,\n };\n};\n","import { useNProgress } from './useNProgress';\nexport const NProgress = ({ children, ...restProps }) => {\n const renderProps = useNProgress(restProps);\n return children(renderProps);\n};\n","import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { useNProgress } from './useNProgress';\nexport function withNProgress(BaseComponent) {\n const WithNProgress = (props) => {\n const hookProps = useNProgress(props);\n return React.createElement(BaseComponent, { ...props, ...hookProps });\n };\n hoistNonReactStatics(WithNProgress, BaseComponent);\n return WithNProgress;\n}\n"],"names":["clamp","num","lower","upper","createQueue","isRunning","pending","next","cb","shift","clear","enqueue","push","length","createTimeout","handle","cancel","window","cancelAnimationFrame","schedule","callback","delay","deltaTime","start","frame","time","requestAnimationFrame","increment","progress","amount","noop","undefined","initialState","isFinished","sideEffect","useNProgress","animationDuration","incrementDuration","isAnimating","minimum","useGetSetState","get","setState","queue","useRef","timeout","useEffectOnce","current","cleanup","useCallback","set","n","trickle","work","savedTrickle","useEffect","useUpdateEffect","NProgress","children","restProps","renderProps","withNProgress","BaseComponent","WithNProgress","props","hookProps","React","createElement","hoistNonReactStatics"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _objectWithoutPropertiesLoose=require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),_extends=require("@babel/runtime/helpers/extends"),React=require("react"),reactUse=require("react-use"),hoistNonReactStatics=require("hoist-non-react-statics");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var _objectWithoutPropertiesLoose__default=_interopDefaultLegacy(_objectWithoutPropertiesLoose),_extends__default=_interopDefaultLegacy(_extends),React__namespace=_interopNamespace(React),hoistNonReactStatics__default=_interopDefaultLegacy(hoistNonReactStatics),clamp=function(e,t,n){return e=(e=e<=n?e:n)>=t?e:t},increment=function(e){var t=0;return e>=0&&e<.2?t=.1:e>=.2&&e<.5?t=.04:e>=.5&&e<.8?t=.02:e>=.8&&e<.99&&(t=.005),clamp(e+t,0,.994)},createQueue=function(){var e=!1,t=[],n=function n(){e=!0;var r=t.shift();if(r)return r(n);e=!1};return{clear:function(){e=!1,t=[]},queue:function(r){t.push(r),e||1!==t.length||n()}}},createTimeout=function(){var e;return{cancel:function(){console.log("cancel"),e&&window.cancelAnimationFrame(e)},timeout:function(t,n){var r;e=window.requestAnimationFrame((function i(o){o-(r=r||o)>n?t():e=window.requestAnimationFrame(i)}))}}},noop=function(){},useNProgress=function(e){var t=void 0===e?{}:e,n=t.animationDuration,r=void 0===n?200:n,i=t.incrementDuration,o=void 0===i?800:i,c=t.isAnimating,u=void 0!==c&&c,s=t.minimum,a=void 0===s?.08:s,f={isFinished:!0,progress:0,sideEffect:noop},d=reactUse.useGetSetState(f),l=d[0],p=d[1],_=createQueue(),m=_.clear,g=_.queue,h=createTimeout(),b=h.cancel,v=h.timeout,P=function(){b(),m()},N=React.useCallback((function(e){if(1===(e=clamp(e,a,1)))return P(),g((function(t){p({progress:e,sideEffect:function(){return v(t,r)}})})),void g((function(){p({isFinished:!0,sideEffect:P})}));g((function(t){p({isFinished:!1,progress:e,sideEffect:function(){return v(t,r)}})}))}),[r,a,p]),R=React.useCallback((function(){N(increment(l().progress))}),[l,N]),E=React.useCallback((function(){!function e(){R(),g((function(t){v((function(){e(),t()}),o)}))}()}),[o,R]),j=React.useRef(noop),x=l().sideEffect;return React.useEffect((function(){j.current=R})),reactUse.useEffectOnce((function(){return u&&E(),P})),reactUse.useUpdateEffect((function(){l().sideEffect()}),[l,x]),reactUse.useUpdateEffect((function(){u?p(_extends__default.default({},f,{sideEffect:E})):N(1)}),[u,N,p,E]),{animationDuration:r,isFinished:l().isFinished,progress:l().progress}},_excluded=["children"],NProgress=function(e){var t=e.children,n=_objectWithoutPropertiesLoose__default.default(e,_excluded);return t(useNProgress(n))};function withNProgress(e){var t=function(t){var n=useNProgress(t);return React__namespace.createElement(e,_extends__default.default({},t,n))};return hoistNonReactStatics__default.default(t,e),t}exports.NProgress=NProgress,exports.useNProgress=useNProgress,exports.withNProgress=withNProgress;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _objectWithoutPropertiesLoose=require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),_extends=require("@babel/runtime/helpers/extends"),React=require("react"),reactUse=require("react-use"),hoistNonReactStatics=require("hoist-non-react-statics");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var _objectWithoutPropertiesLoose__default=_interopDefaultLegacy(_objectWithoutPropertiesLoose),_extends__default=_interopDefaultLegacy(_extends),React__namespace=_interopNamespace(React),hoistNonReactStatics__default=_interopDefaultLegacy(hoistNonReactStatics),clamp=function(e,t,n){return e=(e=e<=n?e:n)>=t?e:t},createQueue=function(){var e=!1,t=[],n=function n(){e=!0;var r=t.shift();if(r)return r(n);e=!1};return{clear:function(){e=!1,t=[]},enqueue:function(r){t.push(r),e||1!==t.length||n()}}},createTimeout=function(){var e;return{cancel:function(){e&&window.cancelAnimationFrame(e)},schedule:function(t,n){var r;e=window.requestAnimationFrame((function u(i){i-(r=r||i)>n?t():e=window.requestAnimationFrame(u)}))}}},increment=function(e){var t=0;return e>=0&&e<.2?t=.1:e>=.2&&e<.5?t=.04:e>=.5&&e<.8?t=.02:e>=.8&&e<.99&&(t=.005),clamp(e+t,0,.994)},noop=function(){},initialState={isFinished:!0,progress:0,sideEffect:noop},useNProgress=function(e){var t=void 0===e?{}:e,n=t.animationDuration,r=void 0===n?200:n,u=t.incrementDuration,i=void 0===u?800:u,c=t.isAnimating,o=void 0!==c&&c,a=t.minimum,s=void 0===a?.08:a,f=reactUse.useGetSetState(initialState),l=f[0],d=f[1],p=React.useRef(null),_=React.useRef(null);reactUse.useEffectOnce((function(){p.current=createQueue(),_.current=createTimeout()}));var h=React.useCallback((function(){var e,t;null==(e=_.current)||e.cancel(),null==(t=p.current)||t.clear()}),[]),v=React.useCallback((function(e){var t,n,u;if(1===(e=clamp(e,s,1)))return h(),null==(n=p.current)||n.enqueue((function(t){d({progress:e,sideEffect:function(){var e;return null==(e=_.current)?void 0:e.schedule(t,r)}})})),void(null==(u=p.current)||u.enqueue((function(){d({isFinished:!0,sideEffect:h})})));null==(t=p.current)||t.enqueue((function(t){d({isFinished:!1,progress:e,sideEffect:function(){var e;return null==(e=_.current)?void 0:e.schedule(t,r)}})}))}),[r,h,s,p,d,_]),m=React.useCallback((function(){v(increment(l().progress))}),[l,v]),g=React.useCallback((function(){!function e(){var t;m(),null==(t=p.current)||t.enqueue((function(t){var n;null==(n=_.current)||n.schedule((function(){e(),t()}),i)}))}()}),[i,p,_,m]),b=React.useRef(noop),P=l().sideEffect;return React.useEffect((function(){b.current=m})),reactUse.useEffectOnce((function(){return o&&g(),h})),reactUse.useUpdateEffect((function(){l().sideEffect()}),[l,P]),reactUse.useUpdateEffect((function(){o?d(_extends__default.default({},initialState,{sideEffect:g})):v(1)}),[o,v,d,g]),{animationDuration:r,isFinished:l().isFinished,progress:l().progress}},_excluded=["children"],NProgress=function(e){var t=e.children,n=_objectWithoutPropertiesLoose__default.default(e,_excluded);return t(useNProgress(n))};function withNProgress(e){var t=function(t){var n=useNProgress(t);return React__namespace.createElement(e,_extends__default.default({},t,n))};return hoistNonReactStatics__default.default(t,e),t}exports.NProgress=NProgress,exports.useNProgress=useNProgress,exports.withNProgress=withNProgress;
2
2
  //# sourceMappingURL=react-nprogress.cjs.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-nprogress.cjs.production.js","sources":["../compiled/clamp.js","../compiled/increment.js","../compiled/queue.js","../compiled/timeout.js","../compiled/useNProgress.js","../compiled/NProgress.js","../compiled/withNProgress.js"],"sourcesContent":["export const clamp = (num, lower, upper) => {\n num = num <= upper ? num : upper;\n num = num >= lower ? num : lower;\n return num;\n};\n","import { clamp } from './clamp';\nexport const increment = (progress) => {\n let amount = 0;\n if (progress >= 0 && progress < 0.2) {\n amount = 0.1;\n }\n else if (progress >= 0.2 && progress < 0.5) {\n amount = 0.04;\n }\n else if (progress >= 0.5 && progress < 0.8) {\n amount = 0.02;\n }\n else if (progress >= 0.8 && progress < 0.99) {\n amount = 0.005;\n }\n return clamp(progress + amount, 0, 0.994);\n};\n","export const createQueue = () => {\n let isRunning = false;\n let pending = [];\n const next = () => {\n isRunning = true;\n const cb = pending.shift();\n if (cb) {\n return cb(next);\n }\n isRunning = false;\n };\n const clear = () => {\n isRunning = false;\n pending = [];\n };\n const queue = (cb) => {\n pending.push(cb);\n if (!isRunning && pending.length === 1) {\n next();\n }\n };\n return {\n clear,\n queue,\n };\n};\n","export const createTimeout = () => {\n let handle;\n const cancel = () => {\n console.log('cancel');\n if (handle) {\n window.cancelAnimationFrame(handle);\n }\n };\n const timeout = (callback, delay) => {\n let deltaTime;\n let start;\n const frame = (time) => {\n start = start || time;\n deltaTime = time - start;\n if (deltaTime > delay) {\n callback();\n return;\n }\n handle = window.requestAnimationFrame(frame);\n };\n handle = window.requestAnimationFrame(frame);\n };\n return {\n cancel,\n timeout,\n };\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { useEffectOnce, useGetSetState, useUpdateEffect } from 'react-use';\nimport { clamp } from './clamp';\nimport { increment } from './increment';\n// import { clear as clearQueue, queue } from './queue'\nimport { createQueue } from './queue';\n// import { cancel as cancelCurrentTimeout, timeout } from './timeout'\nimport { createTimeout } from './timeout';\n/* istanbul ignore next */\nconst noop = () => undefined;\n// const initialState: State = {\n// isFinished: true,\n// progress: 0,\n// sideEffect: noop,\n// }\n// const cleanup = () => {\n// cancelCurrentTimeout()\n// clearQueue()\n// }\nexport const useNProgress = ({ animationDuration = 200, incrementDuration = 800, isAnimating = false, minimum = 0.08, } = {}) => {\n const initialState = {\n isFinished: true,\n progress: 0,\n sideEffect: noop,\n };\n const [get, setState] = useGetSetState(initialState);\n const { clear: clearQueue, queue } = createQueue();\n const { cancel: cancelCurrentTimeout, timeout } = createTimeout();\n const cleanup = () => {\n cancelCurrentTimeout();\n clearQueue();\n };\n const set = useCallback((n) => {\n n = clamp(n, minimum, 1);\n if (n === 1) {\n cleanup();\n queue((next) => {\n setState({\n progress: n,\n sideEffect: () => timeout(next, animationDuration),\n });\n });\n queue(() => {\n setState({ isFinished: true, sideEffect: cleanup });\n });\n return;\n }\n queue((next) => {\n setState({\n isFinished: false,\n progress: n,\n sideEffect: () => timeout(next, animationDuration),\n });\n });\n }, [animationDuration, minimum, setState]);\n const trickle = useCallback(() => {\n set(increment(get().progress));\n }, [get, set]);\n const start = useCallback(() => {\n const work = () => {\n trickle();\n queue((next) => {\n timeout(() => {\n work();\n next();\n }, incrementDuration);\n });\n };\n work();\n }, [incrementDuration, trickle]);\n const savedTrickle = useRef(noop);\n const sideEffect = get().sideEffect;\n useEffect(() => {\n savedTrickle.current = trickle;\n });\n useEffectOnce(() => {\n if (isAnimating) {\n start();\n }\n return cleanup;\n });\n useUpdateEffect(() => {\n get().sideEffect();\n }, [get, sideEffect]);\n useUpdateEffect(() => {\n if (!isAnimating) {\n set(1);\n }\n else {\n setState({\n ...initialState,\n sideEffect: start,\n });\n }\n }, [isAnimating, set, setState, start]);\n return {\n animationDuration,\n isFinished: get().isFinished,\n progress: get().progress,\n };\n};\n","import { useNProgress } from './useNProgress';\nexport const NProgress = ({ children, ...restProps }) => {\n const renderProps = useNProgress(restProps);\n return children(renderProps);\n};\n","import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { useNProgress } from './useNProgress';\nexport function withNProgress(BaseComponent) {\n const WithNProgress = (props) => {\n const hookProps = useNProgress(props);\n return React.createElement(BaseComponent, { ...props, ...hookProps });\n };\n hoistNonReactStatics(WithNProgress, BaseComponent);\n return WithNProgress;\n}\n"],"names":["clamp","num","lower","upper","increment","progress","amount","createQueue","isRunning","pending","next","cb","shift","clear","queue","push","length","createTimeout","handle","cancel","console","log","window","cancelAnimationFrame","timeout","callback","delay","start","requestAnimationFrame","frame","time","noop","useNProgress","animationDuration","incrementDuration","isAnimating","minimum","initialState","isFinished","sideEffect","useGetSetState","get","setState","clearQueue","cancelCurrentTimeout","cleanup","set","useCallback","n","trickle","work","savedTrickle","useRef","useEffect","current","useEffectOnce","useUpdateEffect","NProgress","children","restProps","withNProgress","BaseComponent","WithNProgress","props","hookProps","React","createElement","hoistNonReactStatics"],"mappings":"s9BAAaA,MAAQ,SAACC,EAAKC,EAAOC,UAE9BF,GADAA,EAAMA,GAAOE,EAAQF,EAAME,IACdD,EAAQD,EAAMC,GCDlBE,UAAY,SAACC,OAClBC,EAAS,SACTD,GAAY,GAAKA,EAAW,GAC5BC,EAAS,GAEJD,GAAY,IAAOA,EAAW,GACnCC,EAAS,IAEJD,GAAY,IAAOA,EAAW,GACnCC,EAAS,IAEJD,GAAY,IAAOA,EAAW,MACnCC,EAAS,MAENN,MAAMK,EAAWC,EAAQ,EAAG,OCf1BC,YAAc,eACnBC,GAAY,EACZC,EAAU,GACRC,EAAO,SAAPA,IACFF,GAAY,MACNG,EAAKF,EAAQG,WACfD,SACOA,EAAGD,GAEdF,GAAY,SAYT,CACHK,MAXU,WACVL,GAAY,EACZC,EAAU,IAUVK,MARU,SAACH,GACXF,EAAQM,KAAKJ,GACRH,GAAgC,IAAnBC,EAAQO,QACtBN,OClBCO,cAAgB,eACrBC,QAqBG,CACHC,OArBW,WACXC,QAAQC,IAAI,UACRH,GACAI,OAAOC,qBAAqBL,IAmBhCM,QAhBY,SAACC,EAAUC,OAEnBC,EAUJT,EAASI,OAAOM,uBATF,SAARC,EAASC,GAECA,GADZH,EAAQA,GAASG,GAEDJ,EACZD,IAGJP,EAASI,OAAOM,sBAAsBC,SCT5CE,KAAO,aAUAC,aAAe,6BAA8F,SAA3FC,kBAAAA,aAAoB,UAAKC,kBAAAA,aAAoB,UAAKC,YAAAA,oBAAqBC,QAAAA,aAAU,MACtGC,EAAe,CACjBC,YAAY,EACZjC,SAAU,EACVkC,WAAYR,QAEQS,wBAAeH,GAAhCI,OAAKC,SACyBnC,cAAtBoC,IAAP9B,MAAmBC,IAAAA,QACuBG,gBAAlC2B,IAARzB,OAA8BK,IAAAA,QAChCqB,EAAU,WACZD,IACAD,KAEEG,EAAMC,mBAAY,SAACC,MAEX,KADVA,EAAIhD,MAAMgD,EAAGZ,EAAS,WAElBS,IACA/B,GAAM,SAACJ,GACHgC,EAAS,CACLrC,SAAU2C,EACVT,WAAY,kBAAMf,EAAQd,EAAMuB,cAGxCnB,GAAM,WACF4B,EAAS,CAAEJ,YAAY,EAAMC,WAAYM,OAIjD/B,GAAM,SAACJ,GACHgC,EAAS,CACLJ,YAAY,EACZjC,SAAU2C,EACVT,WAAY,kBAAMf,EAAQd,EAAMuB,WAGzC,CAACA,EAAmBG,EAASM,IAC1BO,EAAUF,mBAAY,WACxBD,EAAI1C,UAAUqC,IAAMpC,aACrB,CAACoC,EAAKK,IACHnB,EAAQoB,mBAAY,YACT,SAAPG,IACFD,IACAnC,GAAM,SAACJ,GACHc,GAAQ,WACJ0B,IACAxC,MACDwB,MAGXgB,KACD,CAAChB,EAAmBe,IACjBE,EAAeC,aAAOrB,MACtBQ,EAAaE,IAAMF,kBACzBc,iBAAU,WACNF,EAAaG,QAAUL,KAE3BM,wBAAc,kBACNpB,GACAR,IAEGkB,KAEXW,0BAAgB,WACZf,IAAMF,eACP,CAACE,EAAKF,IACTiB,0BAAgB,WACPrB,EAIDO,+BACOL,GACHE,WAAYZ,KALhBmB,EAAI,KAQT,CAACX,EAAaW,EAAKJ,EAAUf,IACzB,CACHM,kBAAAA,EACAK,WAAYG,IAAMH,WAClBjC,SAAUoC,IAAMpC,kCCjGXoD,UAAY,gBAAGC,IAAAA,SAAaC,qEAE9BD,EADa1B,aAAa2B,KCC9B,SAASC,cAAcC,OACpBC,EAAgB,SAACC,OACbC,EAAYhC,aAAa+B,UACxBE,iBAAMC,cAAcL,+BAAoBE,EAAUC,YAE7DG,sCAAqBL,EAAeD,GAC7BC"}
1
+ {"version":3,"file":"react-nprogress.cjs.production.js","sources":["../compiled/clamp.js","../compiled/createQueue.js","../compiled/createTimeout.js","../compiled/increment.js","../compiled/useNProgress.js","../compiled/NProgress.js","../compiled/withNProgress.js"],"sourcesContent":["export const clamp = (num, lower, upper) => {\n num = num <= upper ? num : upper;\n num = num >= lower ? num : lower;\n return num;\n};\n","export const createQueue = () => {\n let isRunning = false;\n let pending = [];\n const next = () => {\n isRunning = true;\n const cb = pending.shift();\n if (cb) {\n return cb(next);\n }\n isRunning = false;\n };\n const clear = () => {\n isRunning = false;\n pending = [];\n };\n const enqueue = (cb) => {\n pending.push(cb);\n if (!isRunning && pending.length === 1) {\n next();\n }\n };\n return {\n clear,\n enqueue,\n };\n};\n","export const createTimeout = () => {\n let handle;\n const cancel = () => {\n if (handle) {\n window.cancelAnimationFrame(handle);\n }\n };\n const schedule = (callback, delay) => {\n let deltaTime;\n let start;\n const frame = (time) => {\n start = start || time;\n deltaTime = time - start;\n if (deltaTime > delay) {\n callback();\n return;\n }\n handle = window.requestAnimationFrame(frame);\n };\n handle = window.requestAnimationFrame(frame);\n };\n return {\n cancel,\n schedule,\n };\n};\n","import { clamp } from './clamp';\nexport const increment = (progress) => {\n let amount = 0;\n if (progress >= 0 && progress < 0.2) {\n amount = 0.1;\n }\n else if (progress >= 0.2 && progress < 0.5) {\n amount = 0.04;\n }\n else if (progress >= 0.5 && progress < 0.8) {\n amount = 0.02;\n }\n else if (progress >= 0.8 && progress < 0.99) {\n amount = 0.005;\n }\n return clamp(progress + amount, 0, 0.994);\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { useEffectOnce, useGetSetState, useUpdateEffect } from 'react-use';\nimport { clamp } from './clamp';\nimport { createQueue } from './createQueue';\nimport { createTimeout } from './createTimeout';\nimport { increment } from './increment';\n/* istanbul ignore next */\nconst noop = () => undefined;\nconst initialState = {\n isFinished: true,\n progress: 0,\n sideEffect: noop,\n};\nexport const useNProgress = ({ animationDuration = 200, incrementDuration = 800, isAnimating = false, minimum = 0.08, } = {}) => {\n const [get, setState] = useGetSetState(initialState);\n const queue = useRef(null);\n const timeout = useRef(null);\n useEffectOnce(() => {\n queue.current = createQueue();\n timeout.current = createTimeout();\n });\n const cleanup = useCallback(() => {\n timeout.current?.cancel();\n queue.current?.clear();\n }, []);\n const set = useCallback((n) => {\n n = clamp(n, minimum, 1);\n if (n === 1) {\n cleanup();\n queue.current?.enqueue((next) => {\n setState({\n progress: n,\n sideEffect: () => timeout.current?.schedule(next, animationDuration),\n });\n });\n queue.current?.enqueue(() => {\n setState({ isFinished: true, sideEffect: cleanup });\n });\n return;\n }\n queue.current?.enqueue((next) => {\n setState({\n isFinished: false,\n progress: n,\n sideEffect: () => timeout.current?.schedule(next, animationDuration),\n });\n });\n }, [animationDuration, cleanup, minimum, queue, setState, timeout]);\n const trickle = useCallback(() => {\n set(increment(get().progress));\n }, [get, set]);\n const start = useCallback(() => {\n const work = () => {\n trickle();\n queue.current?.enqueue((next) => {\n timeout.current?.schedule(() => {\n work();\n next();\n }, incrementDuration);\n });\n };\n work();\n }, [incrementDuration, queue, timeout, trickle]);\n const savedTrickle = useRef(noop);\n const sideEffect = get().sideEffect;\n useEffect(() => {\n savedTrickle.current = trickle;\n });\n useEffectOnce(() => {\n if (isAnimating) {\n start();\n }\n return cleanup;\n });\n useUpdateEffect(() => {\n get().sideEffect();\n }, [get, sideEffect]);\n useUpdateEffect(() => {\n if (!isAnimating) {\n set(1);\n }\n else {\n setState({\n ...initialState,\n sideEffect: start,\n });\n }\n }, [isAnimating, set, setState, start]);\n return {\n animationDuration,\n isFinished: get().isFinished,\n progress: get().progress,\n };\n};\n","import { useNProgress } from './useNProgress';\nexport const NProgress = ({ children, ...restProps }) => {\n const renderProps = useNProgress(restProps);\n return children(renderProps);\n};\n","import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { useNProgress } from './useNProgress';\nexport function withNProgress(BaseComponent) {\n const WithNProgress = (props) => {\n const hookProps = useNProgress(props);\n return React.createElement(BaseComponent, { ...props, ...hookProps });\n };\n hoistNonReactStatics(WithNProgress, BaseComponent);\n return WithNProgress;\n}\n"],"names":["clamp","num","lower","upper","createQueue","isRunning","pending","next","cb","shift","clear","enqueue","push","length","createTimeout","handle","cancel","window","cancelAnimationFrame","schedule","callback","delay","start","requestAnimationFrame","frame","time","increment","progress","amount","noop","initialState","isFinished","sideEffect","useNProgress","animationDuration","incrementDuration","isAnimating","minimum","useGetSetState","get","setState","queue","useRef","timeout","useEffectOnce","current","cleanup","useCallback","set","n","_timeout$current2","_timeout$current3","trickle","work","savedTrickle","useEffect","useUpdateEffect","NProgress","children","restProps","withNProgress","BaseComponent","WithNProgress","props","hookProps","React","createElement","hoistNonReactStatics"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose';
2
2
  import _extends from '@babel/runtime/helpers/extends';
3
3
  import * as React from 'react';
4
- import { useCallback, useRef, useEffect } from 'react';
4
+ import { useRef, useCallback, useEffect } from 'react';
5
5
  import { useGetSetState, useEffectOnce, useUpdateEffect } from 'react-use';
6
6
  import hoistNonReactStatics from 'hoist-non-react-statics';
7
7
 
@@ -11,22 +11,6 @@ var clamp = function clamp(num, lower, upper) {
11
11
  return num;
12
12
  };
13
13
 
14
- var increment = function increment(progress) {
15
- var amount = 0;
16
-
17
- if (progress >= 0 && progress < 0.2) {
18
- amount = 0.1;
19
- } else if (progress >= 0.2 && progress < 0.5) {
20
- amount = 0.04;
21
- } else if (progress >= 0.5 && progress < 0.8) {
22
- amount = 0.02;
23
- } else if (progress >= 0.8 && progress < 0.99) {
24
- amount = 0.005;
25
- }
26
-
27
- return clamp(progress + amount, 0, 0.994);
28
- };
29
-
30
14
  var createQueue = function createQueue() {
31
15
  var isRunning = false;
32
16
  var pending = [];
@@ -47,7 +31,7 @@ var createQueue = function createQueue() {
47
31
  pending = [];
48
32
  };
49
33
 
50
- var queue = function queue(cb) {
34
+ var enqueue = function enqueue(cb) {
51
35
  pending.push(cb);
52
36
 
53
37
  if (!isRunning && pending.length === 1) {
@@ -57,7 +41,7 @@ var createQueue = function createQueue() {
57
41
 
58
42
  return {
59
43
  clear: clear,
60
- queue: queue
44
+ enqueue: enqueue
61
45
  };
62
46
  };
63
47
 
@@ -65,14 +49,12 @@ var createTimeout = function createTimeout() {
65
49
  var handle;
66
50
 
67
51
  var cancel = function cancel() {
68
- console.log('cancel');
69
-
70
52
  if (handle) {
71
53
  window.cancelAnimationFrame(handle);
72
54
  }
73
55
  };
74
56
 
75
- var timeout = function timeout(callback, delay) {
57
+ var schedule = function schedule(callback, delay) {
76
58
  var deltaTime;
77
59
  var start;
78
60
 
@@ -93,25 +75,37 @@ var createTimeout = function createTimeout() {
93
75
 
94
76
  return {
95
77
  cancel: cancel,
96
- timeout: timeout
78
+ schedule: schedule
97
79
  };
98
80
  };
99
81
 
82
+ var increment = function increment(progress) {
83
+ var amount = 0;
84
+
85
+ if (progress >= 0 && progress < 0.2) {
86
+ amount = 0.1;
87
+ } else if (progress >= 0.2 && progress < 0.5) {
88
+ amount = 0.04;
89
+ } else if (progress >= 0.5 && progress < 0.8) {
90
+ amount = 0.02;
91
+ } else if (progress >= 0.8 && progress < 0.99) {
92
+ amount = 0.005;
93
+ }
94
+
95
+ return clamp(progress + amount, 0, 0.994);
96
+ };
97
+
100
98
  /* istanbul ignore next */
101
99
 
102
100
  var noop = function noop() {
103
101
  return undefined;
104
- }; // const initialState: State = {
105
- // isFinished: true,
106
- // progress: 0,
107
- // sideEffect: noop,
108
- // }
109
- // const cleanup = () => {
110
- // cancelCurrentTimeout()
111
- // clearQueue()
112
- // }
113
-
102
+ };
114
103
 
104
+ var initialState = {
105
+ isFinished: true,
106
+ progress: 0,
107
+ sideEffect: noop
108
+ };
115
109
  var useNProgress = function useNProgress(_temp) {
116
110
  var _ref = _temp === void 0 ? {} : _temp,
117
111
  _ref$animationDuratio = _ref.animationDuration,
@@ -123,43 +117,42 @@ var useNProgress = function useNProgress(_temp) {
123
117
  _ref$minimum = _ref.minimum,
124
118
  minimum = _ref$minimum === void 0 ? 0.08 : _ref$minimum;
125
119
 
126
- var initialState = {
127
- isFinished: true,
128
- progress: 0,
129
- sideEffect: noop
130
- };
131
-
132
120
  var _useGetSetState = useGetSetState(initialState),
133
121
  get = _useGetSetState[0],
134
122
  setState = _useGetSetState[1];
135
123
 
136
- var _createQueue = createQueue(),
137
- clearQueue = _createQueue.clear,
138
- queue = _createQueue.queue;
139
-
140
- var _createTimeout = createTimeout(),
141
- cancelCurrentTimeout = _createTimeout.cancel,
142
- timeout = _createTimeout.timeout;
143
-
144
- var cleanup = function cleanup() {
145
- cancelCurrentTimeout();
146
- clearQueue();
147
- };
124
+ var queue = useRef(null);
125
+ var timeout = useRef(null);
126
+ useEffectOnce(function () {
127
+ queue.current = createQueue();
128
+ timeout.current = createTimeout();
129
+ });
130
+ var cleanup = useCallback(function () {
131
+ var _timeout$current, _queue$current;
148
132
 
133
+ (_timeout$current = timeout.current) == null ? void 0 : _timeout$current.cancel();
134
+ (_queue$current = queue.current) == null ? void 0 : _queue$current.clear();
135
+ }, []);
149
136
  var set = useCallback(function (n) {
137
+ var _queue$current4;
138
+
150
139
  n = clamp(n, minimum, 1);
151
140
 
152
141
  if (n === 1) {
142
+ var _queue$current2, _queue$current3;
143
+
153
144
  cleanup();
154
- queue(function (next) {
145
+ (_queue$current2 = queue.current) == null ? void 0 : _queue$current2.enqueue(function (next) {
155
146
  setState({
156
147
  progress: n,
157
148
  sideEffect: function sideEffect() {
158
- return timeout(next, animationDuration);
149
+ var _timeout$current2;
150
+
151
+ return (_timeout$current2 = timeout.current) == null ? void 0 : _timeout$current2.schedule(next, animationDuration);
159
152
  }
160
153
  });
161
154
  });
162
- queue(function () {
155
+ (_queue$current3 = queue.current) == null ? void 0 : _queue$current3.enqueue(function () {
163
156
  setState({
164
157
  isFinished: true,
165
158
  sideEffect: cleanup
@@ -168,24 +161,30 @@ var useNProgress = function useNProgress(_temp) {
168
161
  return;
169
162
  }
170
163
 
171
- queue(function (next) {
164
+ (_queue$current4 = queue.current) == null ? void 0 : _queue$current4.enqueue(function (next) {
172
165
  setState({
173
166
  isFinished: false,
174
167
  progress: n,
175
168
  sideEffect: function sideEffect() {
176
- return timeout(next, animationDuration);
169
+ var _timeout$current3;
170
+
171
+ return (_timeout$current3 = timeout.current) == null ? void 0 : _timeout$current3.schedule(next, animationDuration);
177
172
  }
178
173
  });
179
174
  });
180
- }, [animationDuration, minimum, setState]);
175
+ }, [animationDuration, cleanup, minimum, queue, setState, timeout]);
181
176
  var trickle = useCallback(function () {
182
177
  set(increment(get().progress));
183
178
  }, [get, set]);
184
179
  var start = useCallback(function () {
185
180
  var work = function work() {
181
+ var _queue$current5;
182
+
186
183
  trickle();
187
- queue(function (next) {
188
- timeout(function () {
184
+ (_queue$current5 = queue.current) == null ? void 0 : _queue$current5.enqueue(function (next) {
185
+ var _timeout$current4;
186
+
187
+ (_timeout$current4 = timeout.current) == null ? void 0 : _timeout$current4.schedule(function () {
189
188
  work();
190
189
  next();
191
190
  }, incrementDuration);
@@ -193,7 +192,7 @@ var useNProgress = function useNProgress(_temp) {
193
192
  };
194
193
 
195
194
  work();
196
- }, [incrementDuration, trickle]);
195
+ }, [incrementDuration, queue, timeout, trickle]);
197
196
  var savedTrickle = useRef(noop);
198
197
  var sideEffect = get().sideEffect;
199
198
  useEffect(function () {