UNPKG

7.72 kBSource Map (JSON)View Raw
1{"version":3,"file":"react-nprogress.cjs.production.js","sources":["../compiled/timeout.js","../compiled/clamp.js","../compiled/increment.js","../compiled/queue.js","../compiled/useNProgress.js","../compiled/NProgress.js","../compiled/withNProgress.js"],"sourcesContent":["let handle;\nexport const cancel = () => {\n if (handle) {\n window.cancelAnimationFrame(handle);\n }\n};\nexport 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","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","let isRunning = false;\nlet pending = [];\nconst next = () => {\n isRunning = true;\n const cb = pending.shift();\n if (cb) {\n return cb(next);\n }\n isRunning = false;\n};\nexport const clear = () => {\n isRunning = false;\n pending = [];\n};\nexport const queue = (cb) => {\n pending.push(cb);\n if (!isRunning && pending.length === 1) {\n next();\n }\n};\n","import { useEffect, useRef, useCallback } from 'react';\nimport { useEffectOnce, useGetSetState, useUpdateEffect } from 'react-use';\nimport { clamp } from './clamp';\nimport { increment } from './increment';\nimport { clear as clearQueue, queue } from './queue';\nimport { cancel as cancelCurrentTimeout, timeout } from './timeout';\n/* istanbul ignore next */\nconst noop = () => undefined;\nconst initialState = {\n isFinished: false,\n progress: 0,\n sideEffect: noop,\n};\nconst cleanup = () => {\n cancelCurrentTimeout();\n clearQueue();\n};\nexport const useNProgress = ({ animationDuration = 200, incrementDuration = 800, isAnimating = false, minimum = 0.08, } = {}) => {\n const [get, setState] = useGetSetState(initialState);\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 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, Object.assign({}, props, hookProps));\n };\n hoistNonReactStatics(WithNProgress, BaseComponent);\n return WithNProgress;\n}\n"],"names":["handle","clamp","num","lower","upper","increment","progress","amount","isRunning","pending","next","cb","shift","clear","queue","push","length","cancel","window","cancelAnimationFrame","timeout","callback","delay","start","requestAnimationFrame","frame","time","noop","initialState","isFinished","sideEffect","cleanup","cancelCurrentTimeout","clearQueue","useNProgress","animationDuration","incrementDuration","isAnimating","minimum","useGetSetState","get","setState","set","useCallback","n","trickle","work","savedTrickle","useRef","useEffect","current","useEffectOnce","useUpdateEffect","NProgress","children","restProps","withNProgress","BaseComponent","WithNProgress","props","hookProps","React","Object","assign","hoistNonReactStatics"],"mappings":"qaAAIA,+NCASC,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,OCfnCC,WAAY,EACZC,QAAU,GACRC,KAAO,SAAPA,IACFF,WAAY,MACNG,EAAKF,QAAQG,WACfD,SACOA,EAAGD,GAEdF,WAAY,GAEHK,MAAQ,WACjBL,WAAY,EACZC,QAAU,IAEDK,MAAQ,SAACH,GAClBF,QAAQM,KAAKJ,GACRH,WAAgC,IAAnBC,QAAQO,QACtBN,QHhBKO,OAAS,WACdjB,QACAkB,OAAOC,qBAAqBnB,SAGvBoB,QAAU,SAACC,EAAUC,OAE1BC,EAUJvB,OAASkB,OAAOM,uBATF,SAARC,EAASC,GAECA,GADZH,EAAQA,GAASG,GAEDJ,EACZD,IAGJrB,OAASkB,OAAOM,sBAAsBC,OITxCE,KAAO,aACPC,aAAe,CACjBC,YAAY,EACZvB,SAAU,EACVwB,WAAYH,MAEVI,QAAU,WACZC,SACAC,SAESC,aAAe,6BAA8F,SAA3FC,kBAAAA,aAAoB,UAAKC,kBAAAA,aAAoB,UAAKC,YAAAA,oBAAqBC,QAAAA,aAAU,QACpFC,wBAAeX,cAAhCY,OAAKC,OACNC,EAAMC,mBAAY,SAACC,MAEX,KADVA,EAAI3C,MAAM2C,EAAGN,EAAS,WAElBP,UACAjB,OAAM,SAACJ,GACH+B,EAAS,CACLnC,SAAUsC,EACVd,WAAY,kBAAMV,QAAQV,EAAMyB,cAGxCrB,OAAM,WACF2B,EAAS,CAAEZ,YAAY,EAAMC,WAAYC,aAIjDjB,OAAM,SAACJ,GACH+B,EAAS,CACLnC,SAAUsC,EACVd,WAAY,kBAAMV,QAAQV,EAAMyB,WAGzC,CAACA,EAAmBG,EAASG,IAC1BI,EAAUF,mBAAY,WACxBD,EAAIrC,UAAUmC,IAAMlC,aACrB,CAACkC,EAAKE,IACHnB,EAAQoB,mBAAY,YACT,SAAPG,IACFD,IACA/B,OAAM,SAACJ,GACHU,SAAQ,WACJ0B,IACApC,MACD0B,MAGXU,KACD,CAACV,EAAmBS,IACjBE,EAAeC,aAAOrB,MACtBG,EAAaU,IAAMV,kBACzBmB,iBAAU,WACNF,EAAaG,QAAUL,KAE3BM,wBAAc,kBACNd,GACAd,IAEGQ,WAEXqB,0BAAgB,WACZZ,IAAMV,eACP,CAACU,EAAKV,IACTsB,0BAAgB,WACPf,EAIDI,+BACOb,cACHE,WAAYP,KALhBmB,EAAI,KAQT,CAACL,EAAaK,EAAKD,EAAUlB,IACzB,CACHY,kBAAAA,EACAN,WAAYW,IAAMX,WAClBvB,SAAUkC,IAAMlC,WCnFX+C,UAAY,gBAAGC,IAAAA,SAAaC,wEAE9BD,EADapB,aAAaqB,KCC9B,SAASC,cAAcC,OACpBC,EAAgB,SAACC,OACbC,EAAY1B,aAAayB,UACxBE,oBAAoBJ,EAAeK,OAAOC,OAAO,GAAIJ,EAAOC,YAEvEI,sCAAqBN,EAAeD,GAC7BC"}
\No newline at end of file