@tanem/react-nprogress
Version:
A React primitive for building slim progress bars.
3 lines (2 loc) • 6.85 kB
JavaScript
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).NProgress={},e.React)}(this,(function(e,r){"use strict";function t(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=t(r);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},o.apply(null,arguments)}var u=function(e,r,t){return e=(e=e<=t?e:t)>=r?e:r},c=function(e){r.useEffect(e,[])},i=function(e){return++e%1e6},f=function(e){void 0===e&&(e={});var t,n=(t=r.useState(0)[1],r.useCallback((function(){return t(i)}),[])),u=r.useRef(o({},e));return[r.useCallback((function(){return u.current}),[]),r.useCallback((function(e){e&&(Object.assign(u.current,e),n())}),[])]},a=function(e,t){var n,o=(n=r.useRef(!0)).current?(n.current=!1,!0):n.current;r.useEffect((function(){if(!o)return e()}),t)},s=function(){},l={isFinished:!0,progress:0,sideEffect:s},p=function(e){var t=void 0===e?{}:e,n=t.animationDuration,i=void 0===n?200:n,p=t.incrementDuration,y=void 0===p?800:p,d=t.isAnimating,m=void 0!==d&&d,b=t.minimum,v=void 0===b?.08:b,g=f(l),h=g[0],$=g[1],S=r.useRef(null),P=r.useRef(null);c((function(){var e,r,t,n;S.current=(e=!1,r=[],t=function(){e=!0;var n=r.shift();if(n)return n(t);e=!1},{clear:function(){e=!1,r=[]},enqueue:function(n){r.push(n),e||1!==r.length||t()}}),P.current={cancel:function(){n&&window.cancelAnimationFrame(n)},schedule:function(e,r){var t,o=function(u){u-(t=t||u)>r?e():n=window.requestAnimationFrame(o)};n=window.requestAnimationFrame(o)}}}));var O=r.useCallback((function(){var e,r;null==(e=P.current)||e.cancel(),null==(r=S.current)||r.clear()}),[]),w=r.useCallback((function(e){var r,t,n;if(1===(e=u(e,v,1)))return O(),null==(t=S.current)||t.enqueue((function(r){$({progress:e,sideEffect:function(){var e;return null==(e=P.current)?void 0:e.schedule(r,i)}})})),void(null==(n=S.current)||n.enqueue((function(){$({isFinished:!0,sideEffect:O})})));null==(r=S.current)||r.enqueue((function(r){$({isFinished:!1,progress:e,sideEffect:function(){var e;return null==(e=P.current)?void 0:e.schedule(r,i)}})}))}),[i,O,v,S,$,P]),j=r.useCallback((function(){var e,r;w((e=h().progress,r=0,e>=0&&e<.2?r=.1:e>=.2&&e<.5?r=.04:e>=.5&&e<.8?r=.02:e>=.8&&e<.99&&(r=.005),u(e+r,0,.994)))}),[h,w]),C=r.useCallback((function(){var e=function(){var r;j(),null==(r=S.current)||r.enqueue((function(r){var t;null==(t=P.current)||t.schedule((function(){e(),r()}),y)}))};e()}),[y,S,P,j]),E=r.useRef(s),x=h().sideEffect;return r.useEffect((function(){E.current=j})),c((function(){return m&&C(),O})),a((function(){h().sideEffect()}),[h,x]),a((function(){m?$(o({},l,{sideEffect:C})):w(1)}),[m,w,$,C]),{animationDuration:i,isFinished:h().isFinished,progress:h().progress}},y=["children"];function d(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var m,b,v,g,h={exports:{}},$={};function S(){return b||(b=1,h.exports=function(){if(m)return $;m=1;var e="function"==typeof Symbol&&Symbol.for,r=e?Symbol.for("react.element"):60103,t=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,u=e?Symbol.for("react.profiler"):60114,c=e?Symbol.for("react.provider"):60109,i=e?Symbol.for("react.context"):60110,f=e?Symbol.for("react.async_mode"):60111,a=e?Symbol.for("react.concurrent_mode"):60111,s=e?Symbol.for("react.forward_ref"):60112,l=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,y=e?Symbol.for("react.memo"):60115,d=e?Symbol.for("react.lazy"):60116,b=e?Symbol.for("react.block"):60121,v=e?Symbol.for("react.fundamental"):60117,g=e?Symbol.for("react.responder"):60118,h=e?Symbol.for("react.scope"):60119;function S(e){if("object"==typeof e&&null!==e){var p=e.$$typeof;switch(p){case r:switch(e=e.type){case f:case a:case n:case u:case o:case l:return e;default:switch(e=e&&e.$$typeof){case i:case s:case d:case y:case c:return e;default:return p}}case t:return p}}}function P(e){return S(e)===a}return $.AsyncMode=f,$.ConcurrentMode=a,$.ContextConsumer=i,$.ContextProvider=c,$.Element=r,$.ForwardRef=s,$.Fragment=n,$.Lazy=d,$.Memo=y,$.Portal=t,$.Profiler=u,$.StrictMode=o,$.Suspense=l,$.isAsyncMode=function(e){return P(e)||S(e)===f},$.isConcurrentMode=P,$.isContextConsumer=function(e){return S(e)===i},$.isContextProvider=function(e){return S(e)===c},$.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},$.isForwardRef=function(e){return S(e)===s},$.isFragment=function(e){return S(e)===n},$.isLazy=function(e){return S(e)===d},$.isMemo=function(e){return S(e)===y},$.isPortal=function(e){return S(e)===t},$.isProfiler=function(e){return S(e)===u},$.isStrictMode=function(e){return S(e)===o},$.isSuspense=function(e){return S(e)===l},$.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===n||e===a||e===u||e===o||e===l||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===d||e.$$typeof===y||e.$$typeof===c||e.$$typeof===i||e.$$typeof===s||e.$$typeof===v||e.$$typeof===g||e.$$typeof===h||e.$$typeof===b)},$.typeOf=S,$}()),h.exports}var P=function(){if(g)return v;g=1;var e=S(),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},t={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},n={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};function u(t){return e.isMemo(t)?n:o[t.$$typeof]||r}o[e.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o[e.Memo]=n;var c=Object.defineProperty,i=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,a=Object.getOwnPropertyDescriptor,s=Object.getPrototypeOf,l=Object.prototype;return v=function e(r,n,o){if("string"!=typeof n){if(l){var p=s(n);p&&p!==l&&e(r,p,o)}var y=i(n);f&&(y=y.concat(f(n)));for(var d=u(r),m=u(n),b=0;b<y.length;++b){var v=y[b];if(!(t[v]||o&&o[v]||m&&m[v]||d&&d[v])){var g=a(n,v);try{c(r,v,g)}catch(e){}}}}return r},v}(),O=d(P);e.NProgress=function(e){var r=e.children,t=function(e,r){if(null==e)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(r.includes(n))continue;t[n]=e[n]}return t}(e,y);return r(p(t))},e.useNProgress=p,e.withNProgress=function(e){var r=function(r){var t=p(r);return n.createElement(e,o({},r,t))};return O(r,e),r}}));
//# sourceMappingURL=react-nprogress.umd.production.js.map