UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

38 lines 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.usePaneIsVisible = void 0; const model_react_1 = require("model-react"); const react_1 = require("react"); /** * Checks whether the pane for a viewstack should be visible * @param stack The stack of items for which to check whether the pane should be visible * @param defaultTransitionDuration The duration of the open/close transition * @returns WHether the pane should be open, and possible transition durations */ function usePaneIsVisible(stack, defaultTransitionDuration = 150) { var _a; const state = react_1.useRef({ open: true, prevOpen: true, duration: defaultTransitionDuration, prevTop: undefined, }); const [h] = model_react_1.useDataHook(); const items = stack(h); const top = items[items.length - 1]; state.current.prevOpen = state.current.open; if (state.current.prevTop != top) { state.current.prevTop = top; state.current.open = true; if (top) { const topItem = top === null || top === void 0 ? void 0 : top.value; if (topItem && "close" in topItem) { state.current.open = false; state.current.duration = (_a = topItem.closeTransitionDuration) !== null && _a !== void 0 ? _a : defaultTransitionDuration; } } } return state.current; } exports.usePaneIsVisible = usePaneIsVisible; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUGFuZUlzVmlzaWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9ob29rcy91c2VQYW5lSXNWaXNpYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFtRDtBQUNuRCxpQ0FBNkI7QUFJN0I7Ozs7O0dBS0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDNUIsS0FBOEQsRUFDOUQseUJBQXlCLEdBQUcsR0FBRzs7SUFFL0IsTUFBTSxLQUFLLEdBQUcsY0FBTSxDQUFDO1FBQ2pCLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUseUJBQXlCO1FBQ25DLE9BQU8sRUFBRSxTQUF3RDtLQUNwRSxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcseUJBQVcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM1QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEdBQUcsRUFBRTtRQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksR0FBRyxFQUFFO1lBQ0wsTUFBTSxPQUFPLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEtBQUssQ0FBQztZQUMzQixJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxFQUFFO2dCQUMvQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQzNCLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxTQUNsQixPQUFPLENBQUMsdUJBQXVCLG1DQUFJLHlCQUF5QixDQUFDO2FBQ3BFO1NBQ0o7S0FDSjtJQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUN6QixDQUFDO0FBM0JELDRDQTJCQyJ9