UNPKG

18.4 kBSource Map (JSON)View Raw
1{"version":3,"file":"react-nprogress.cjs.development.js","sources":["../compiled/clamp.js","../compiled/createQueue.js","../compiled/createTimeout.js","../compiled/increment.js","../compiled/useEffectOnce.js","../compiled/useGetSetState.js","../compiled/useUpdateEffect.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","// Hat-tip:\n// https://github.com/streamich/react-use/blob/master/src/useEffectOnce.ts.\n//\n// `react-use` appears to be unmaintained, so moving the required code into\n// this project for now.\nimport { useEffect } from 'react';\nexport const useEffectOnce = (effect) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(effect, []);\n};\n","// Hat-tip:\n// https://github.com/streamich/react-use/blob/master/src/useGetSetState.ts.\n//\n// `react-use` appears to be unmaintained, so moving the required code into\n// this project for now.\nimport { useCallback, useRef, useState } from 'react';\nconst incrementParameter = (num) => ++num % 1_000_000;\nconst useUpdate = () => {\n const [, setState] = useState(0);\n return useCallback(() => setState(incrementParameter), []);\n};\nexport const useGetSetState = (\n/* istanbul ignore next */\ninitialState = {}) => {\n const update = useUpdate();\n const state = useRef({ ...initialState });\n const get = useCallback(() => state.current, []);\n const set = useCallback((patch) => {\n if (!patch) {\n return;\n }\n Object.assign(state.current, patch);\n update();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return [get, set];\n};\n","// Hat-tip:\n// https://github.com/streamich/react-use/blob/master/src/useUpdateEffect.ts.\n//\n// `react-use` appears to be unmaintained, so moving the required code into\n// this project for now.\nimport { useEffect, useRef } from 'react';\nconst useFirstMountState = () => {\n const isFirst = useRef(true);\n if (isFirst.current) {\n isFirst.current = false;\n return true;\n }\n return isFirst.current;\n};\nexport const useUpdateEffect = (effect, deps) => {\n const isFirstMount = useFirstMountState();\n useEffect(() => {\n if (!isFirstMount) {\n return effect();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { clamp } from './clamp';\nimport { createQueue } from './createQueue';\nimport { createTimeout } from './createTimeout';\nimport { increment } from './increment';\nimport { useEffectOnce } from './useEffectOnce';\nimport { useGetSetState } from './useGetSetState';\nimport { useUpdateEffect } from './useUpdateEffect';\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","useEffectOnce","effect","useEffect","incrementParameter","useUpdate","_useState","useState","setState","useCallback","useGetSetState","initialState","update","state","useRef","_extends","get","current","set","patch","Object","assign","useFirstMountState","isFirst","useUpdateEffect","deps","isFirstMount","noop","undefined","isFinished","sideEffect","useNProgress","_temp","_ref","_ref$animationDuratio","animationDuration","_ref$incrementDuratio","incrementDuration","_ref$isAnimating","isAnimating","_ref$minimum","minimum","_useGetSetState","queue","timeout","cleanup","_timeout$current","_queue$current","n","_queue$current4","_queue$current2","_queue$current3","_timeout$current2","_timeout$current3","trickle","work","_queue$current5","_timeout$current4","savedTrickle","NProgress","children","restProps","_objectWithoutPropertiesLoose","_excluded","renderProps","withNProgress","BaseComponent","WithNProgress","props","hookProps","React","createElement","hoistNonReactStatics"],"mappings":"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"}
\No newline at end of file