UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

33 lines 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUIStack = void 0; /** * Retrieves the ui stack data * @param context The context to extract the ui from * @param getUI The function to extract the UI * @param hook The hook to subscribe to change * @returns The UI retrieved from the context */ function getUIStack(context, getUI, hook) { return context .getUI(hook) .flatMap(getUI) .reduce(({ views, lastGroup, visible }, { view, overlayGroup }) => { // If no group is specified, or it's different from the last group, add the view if (!overlayGroup || (lastGroup != overlayGroup && visible)) views.push(view); // Mutable push is faster than concatenation return { views, lastGroup: overlayGroup, // Overlay views don't alter visibility, other items do visible: overlayGroup ? visible : !("close" in view.value), }; }, { views: [], lastGroup: undefined, /** Whether the content so far is visible (not a closed view with possibly a number of overlays on top) */ visible: true, }).views; } exports.getUIStack = getUIStack; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VUlTdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3VpRXh0cmFjdGVycy9nZXRVSVN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BOzs7Ozs7R0FNRztBQUNILFNBQWdCLFVBQVUsQ0FDdEIsT0FBbUIsRUFDbkIsS0FFcUUsRUFDckUsSUFBZ0I7SUFFaEIsT0FBTyxPQUFPO1NBQ1QsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDZCxNQUFNLENBQ0gsQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFDLEVBQUUsRUFBRTtRQUNsRCxnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFNBQVMsSUFBSSxZQUFZLElBQUksT0FBTyxDQUFDO1lBQ3ZELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyw0Q0FBNEM7UUFFbEUsT0FBTztZQUNILEtBQUs7WUFDTCxTQUFTLEVBQUUsWUFBWTtZQUN2Qix1REFBdUQ7WUFDdkQsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDN0QsQ0FBQztJQUNOLENBQUMsRUFDRDtRQUNJLEtBQUssRUFBRSxFQUF1QztRQUM5QyxTQUFTLEVBQUUsU0FBK0I7UUFDMUMsMEdBQTBHO1FBQzFHLE9BQU8sRUFBRSxJQUFJO0tBQ2hCLENBQ0osQ0FBQyxLQUFLLENBQUM7QUFDaEIsQ0FBQztBQTlCRCxnQ0E4QkMifQ==