@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 +1 -0
- package/dist/{queue.d.ts → createQueue.d.ts} +1 -1
- package/dist/{timeout.d.ts → createTimeout.d.ts} +1 -1
- package/dist/react-nprogress.cjs.development.js +58 -59
- package/dist/react-nprogress.cjs.development.js.map +1 -1
- package/dist/react-nprogress.cjs.production.js +1 -1
- package/dist/react-nprogress.cjs.production.js.map +1 -1
- package/dist/react-nprogress.esm.js +59 -60
- package/dist/react-nprogress.esm.js.map +1 -1
- package/dist/react-nprogress.umd.development.js +58 -59
- package/dist/react-nprogress.umd.development.js.map +1 -1
- package/dist/react-nprogress.umd.production.js +1 -1
- package/dist/react-nprogress.umd.production.js.map +1 -1
- package/dist/useNProgress.d.ts +2 -4
- package/package.json +2 -2
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)
|
|
@@ -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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
};
|
|
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
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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},
|
|
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/
|
|
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 {
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
};
|
|
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
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 () {
|