one
Version:
One is a new React Framework that makes Vite serve both native and web.
67 lines (65 loc) • 2.8 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
value: true
}), mod);
var stackStateUtils_exports = {};
__export(stackStateUtils_exports, {
convertStackStateToNonOverlayState: () => convertStackStateToNonOverlayState,
findLastNonOverlayIndex: () => findLastNonOverlayIndex,
isOverlayPresentation: () => isOverlayPresentation,
isTransparentOverlay: () => isTransparentOverlay
});
module.exports = __toCommonJS(stackStateUtils_exports);
var OVERLAY_PRESENTATIONS = ["modal", "transparentModal", "fullScreenModal", "formSheet", "pageSheet", "containedModal", "containedTransparentModal"];
function isOverlayPresentation(options) {
var presentation = options === null || options === void 0 ? void 0 : options.presentation;
if (!presentation) return false;
return OVERLAY_PRESENTATIONS.includes(presentation);
}
function isTransparentOverlay(options) {
var presentation = options === null || options === void 0 ? void 0 : options.presentation;
return presentation === "transparentModal" || presentation === "containedTransparentModal";
}
function convertStackStateToNonOverlayState(state, descriptors) {
var isOverlay = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : isOverlayPresentation;
var lastNonOverlay = findLastNonOverlayIndex(state, descriptors, isOverlay);
var routes = state.routes.slice(0, lastNonOverlay + 1);
var index = state.index;
if (index >= routes.length) {
index = routes.length > 0 ? routes.length - 1 : 0;
}
return {
routes,
index
};
}
function findLastNonOverlayIndex(state, descriptors) {
var isOverlay = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : isOverlayPresentation;
for (var i = state.routes.length - 1; i >= 0; i--) {
var _descriptors_state_routes_i_key;
if (!isOverlay((_descriptors_state_routes_i_key = descriptors[state.routes[i].key]) === null || _descriptors_state_routes_i_key === void 0 ? void 0 : _descriptors_state_routes_i_key.options)) {
return i;
}
}
return -1;
}
//# sourceMappingURL=stackStateUtils.native.js.map