@launchmenu/core
Version:
An environment for visual keyboard controlled applets
24 lines • 1.7 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useIsItemSelectable = void 0;
const model_react_1 = require("model-react");
const react_1 = require("react");
const isItemSelectable_1 = require("../../menus/items/isItemSelectable");
/**
* A react hook that checks whether a given item is selectable
* @param item The menu item to check
* @returns Whether the item is selectable
*/
function useIsItemSelectable(item) {
const [h] = model_react_1.useDataHook();
let version = react_1.useRef(1);
return react_1.useMemo(() => item
? isItemSelectable_1.isItemSelectable(item, model_react_1.proxyHook(h, {
onCall: () => {
version.current++;
},
}))
: false, [version.current]);
}
exports.useIsItemSelectable = useIsItemSelectable;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSXNJdGVtU2VsZWN0YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2l0ZW1zL3VzZUlzSXRlbVNlbGVjdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQW1EO0FBQ25ELGlDQUFzQztBQUN0Qyx5RUFBb0U7QUFHcEU7Ozs7R0FJRztBQUNILFNBQWdCLG1CQUFtQixDQUFDLElBQWdCO0lBQ2hELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyx5QkFBVyxFQUFFLENBQUM7SUFDMUIsSUFBSSxPQUFPLEdBQUcsY0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLE9BQU8sZUFBTyxDQUNWLEdBQUcsRUFBRSxDQUNELElBQUk7UUFDQSxDQUFDLENBQUMsbUNBQWdCLENBQ1osSUFBSSxFQUNKLHVCQUFTLENBQUMsQ0FBQyxFQUFFO1lBQ1QsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsQ0FBQztTQUNKLENBQUMsQ0FDTDtRQUNILENBQUMsQ0FBQyxLQUFLLEVBQ2YsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQ3BCLENBQUM7QUFDTixDQUFDO0FBakJELGtEQWlCQyJ9
;