@bprogress/next
Version:
NProgress bar like for Next.js compatible with new app directory
215 lines • 9.18 kB
JavaScript
;
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _object_spread(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function(key) {
_define_property(target, key, source[key]);
});
}
return target;
}
function _object_without_properties(source, excluded) {
if (source == null) return {};
var target = _object_without_properties_loose(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for(i = 0; i < sourceSymbolKeys.length; i++){
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
function _object_without_properties_loose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for(i = 0; i < sourceKeys.length; i++){
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function _type_of(obj) {
"@swc/helpers - typeof";
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
}
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = function(target, all) {
for(var name in all)__defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = function(to, from, except, desc) {
if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
try {
var _loop = function() {
var key = _step.value;
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: function() {
return from[key];
},
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
};
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally{
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally{
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
return to;
};
var __toESM = function(mod, isNodeMode, target) {
return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
value: mod,
enumerable: true
}) : target, mod);
};
var __toCommonJS = function(mod) {
return __copyProps(__defProp({}, "__esModule", {
value: true
}), mod);
};
// src/pages.ts
var pages_exports = {};
__export(pages_exports, {
ProgressProvider: function() {
return PagesProgressProvider;
}
});
module.exports = __toCommonJS(pages_exports);
// src/providers/pages-progress-provider.tsx
var import_react5 = __toESM(require("react"), 1);
// src/components/pages-progress.tsx
var import_react = require("react");
var import_core = require("@bprogress/core");
var import_react2 = require("@bprogress/react");
var import_router = __toESM(require("next/router.js"), 1);
var PagesProgressComponent = function(param) {
var _param_shallowRouting = param.shallowRouting, shallowRouting = _param_shallowRouting === void 0 ? false : _param_shallowRouting, _param_disableSameURL = param.disableSameURL, disableSameURL = _param_disableSameURL === void 0 ? true : _param_disableSameURL, _param_startPosition = param.startPosition, startPosition = _param_startPosition === void 0 ? 0 : _param_startPosition, _param_delay = param.delay, delay = _param_delay === void 0 ? 0 : _param_delay, _param_stopDelay = param.stopDelay, stopDelay = _param_stopDelay === void 0 ? 0 : _param_stopDelay;
var _ref = (0, import_react2.useProgress)(), start = _ref.start, stop = _ref.stop;
(0, import_react.useEffect)(function() {
var handleRouteStart = function(url) {
var targetUrl = new URL(url, location.href);
var currentUrl = new URL(location.href);
if (shallowRouting && (0, import_core.isSameURLWithoutSearch)(targetUrl, currentUrl) && disableSameURL) return;
if ((0, import_core.isSameURL)(targetUrl, currentUrl) && disableSameURL) return;
start(startPosition, delay);
};
var handleRouteDone = function() {
return stop(stopDelay);
};
import_router.default.events.on("routeChangeStart", handleRouteStart);
import_router.default.events.on("routeChangeComplete", handleRouteDone);
import_router.default.events.on("routeChangeError", handleRouteDone);
return function() {
import_router.default.events.off("routeChangeStart", handleRouteStart);
import_router.default.events.off("routeChangeComplete", handleRouteDone);
import_router.default.events.off("routeChangeError", handleRouteDone);
};
}, []);
return null;
};
var PagesProgress = (0, import_react2.withMemo)(PagesProgressComponent);
PagesProgress.displayName = "PagesProgress";
// src/providers/next-progress-provider.tsx
var import_react3 = __toESM(require("react"), 1);
var import_react4 = require("@bprogress/react");
var NextProgressProvider = function(_param) {
var children = _param.children, ProgressComponent = _param.ProgressComponent, color = _param.color, height = _param.height, options = _param.options, spinnerPosition = _param.spinnerPosition, style = _param.style, disableStyle = _param.disableStyle, nonce = _param.nonce, stopDelay = _param.stopDelay, delay = _param.delay, startPosition = _param.startPosition, disableSameURL = _param.disableSameURL, shallowRouting = _param.shallowRouting, props = _object_without_properties(_param, [
"children",
"ProgressComponent",
"color",
"height",
"options",
"spinnerPosition",
"style",
"disableStyle",
"nonce",
"stopDelay",
"delay",
"startPosition",
"disableSameURL",
"shallowRouting"
]);
return /* @__PURE__ */ import_react3.default.createElement(import_react4.ProgressProvider, {
color: color,
height: height,
options: options,
spinnerPosition: spinnerPosition,
style: style,
disableStyle: disableStyle,
nonce: nonce,
stopDelay: stopDelay,
delay: delay,
startPosition: startPosition,
disableSameURL: disableSameURL,
shallowRouting: shallowRouting
}, /* @__PURE__ */ import_react3.default.createElement(ProgressComponent, _object_spread({
stopDelay: stopDelay,
delay: delay,
startPosition: startPosition,
disableSameURL: disableSameURL,
shallowRouting: shallowRouting
}, props)), children);
};
// src/providers/pages-progress-provider.tsx
var PagesProgressProvider = function(_param) {
var children = _param.children, props = _object_without_properties(_param, [
"children"
]);
return /* @__PURE__ */ import_react5.default.createElement(NextProgressProvider, _object_spread({
ProgressComponent: PagesProgress
}, props), children);
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
ProgressProvider: ProgressProvider
});
//# sourceMappingURL=pages.cjs.map