UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

62 lines 5.96 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createStandardMenuItem = void 0; const react_1 = __importStar(require("react")); const MenuItemFrame_1 = require("../../components/items/MenuItemFrame"); const Truncated_1 = require("../../components/Truncated"); const MenuItemLayout_1 = require("../../components/items/MenuItemLayout"); const MenuItemIcon_1 = require("../../components/items/MenuItemIcon"); const getHooked_1 = require("../../utils/subscribables/getHooked"); const Box_1 = require("../../styling/box/Box"); const createStandardActionBindings_1 = require("./createStandardActionBindings"); const ShortcutLabel_1 = require("../../components/items/ShortcutLabel"); const simpleSearchHandler_1 = require("../../actions/types/search/tracedRecursiveSearch/simpleSearch/simpleSearchHandler"); const model_react_1 = require("model-react"); /** * Creates a new standard menu item * @param data The data to create a simple menu item with * @returns The menu item */ function createStandardMenuItem({ icon, ...bindingData }) { const { name, description, shortcut } = bindingData; const bindings = createStandardActionBindings_1.createStandardActionBindings(bindingData, () => item); const item = { view: react_1.memo(({ highlight, ...props }) => { const [h] = model_react_1.useDataHook(); const iconV = getHooked_1.getHooked(icon, h); const descriptionV = getHooked_1.getHooked(description, h); const nameV = getHooked_1.getHooked(name, h); return (react_1.default.createElement(MenuItemFrame_1.MenuItemFrame, Object.assign({}, props), react_1.default.createElement(MenuItemLayout_1.MenuItemLayout, { icon: iconV && react_1.default.createElement(MenuItemIcon_1.MenuItemIcon, { icon: iconV }), name: react_1.default.createElement(Box_1.Box, { font: "header" }, react_1.default.createElement(simpleSearchHandler_1.simpleSearchHandler.Highlighter, { query: highlight, pattern: bindingData.searchPattern }, nameV)), shortcut: shortcut && react_1.default.createElement(ShortcutLabel_1.ShortcutLabel, { shortcut: shortcut }), description: descriptionV && (react_1.default.createElement(Truncated_1.Truncated, { title: descriptionV }, react_1.default.createElement(simpleSearchHandler_1.simpleSearchHandler.Highlighter, { query: highlight, pattern: bindingData.searchPattern }, descriptionV))) }))); }), actionBindings: bindings, get debugID() { return `StandardMenuItem: ${getHooked_1.getHooked(name) + (getHooked_1.getHooked(description) ? ", " + getHooked_1.getHooked(description) : "")}`; }, }; return item; } exports.createStandardMenuItem = createStandardMenuItem; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU3RhbmRhcmRNZW51SXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW51cy9pdGVtcy9jcmVhdGVTdGFuZGFyZE1lbnVJdGVtLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWtDO0FBR2xDLHdFQUFtRTtBQUNuRSwwREFBcUQ7QUFDckQsMEVBQXFFO0FBQ3JFLHNFQUFpRTtBQUNqRSxtRUFBOEQ7QUFDOUQsK0NBQTBDO0FBQzFDLGlGQUE0RTtBQUM1RSx3RUFBbUU7QUFDbkUsMkhBQXNIO0FBQ3RILDZDQUF3QztBQUV4Qzs7OztHQUlHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQUMsRUFDbkMsSUFBSSxFQUNKLEdBQUcsV0FBVyxFQUNNO0lBQ3BCLE1BQU0sRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBQyxHQUFHLFdBQVcsQ0FBQztJQUNsRCxNQUFNLFFBQVEsR0FBRywyREFBNEIsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdkUsTUFBTSxJQUFJLEdBQWtDO1FBQ3hDLElBQUksRUFBRSxZQUFJLENBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBQyxFQUFFLEVBQUU7WUFDakMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLHlCQUFXLEVBQUUsQ0FBQztZQUMxQixNQUFNLEtBQUssR0FBRyxxQkFBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqQyxNQUFNLFlBQVksR0FBRyxxQkFBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FBRyxxQkFBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqQyxPQUFPLENBQ0gsOEJBQUMsNkJBQWEsb0JBQUssS0FBSztnQkFDcEIsOEJBQUMsK0JBQWMsSUFDWCxJQUFJLEVBQUUsS0FBSyxJQUFJLDhCQUFDLDJCQUFZLElBQUMsSUFBSSxFQUFFLEtBQUssR0FBSSxFQUM1QyxJQUFJLEVBQ0EsOEJBQUMsU0FBRyxJQUFDLElBQUksRUFBQyxRQUFRO3dCQUNkLDhCQUFDLHlDQUFtQixDQUFDLFdBQVcsSUFDNUIsS0FBSyxFQUFFLFNBQVMsRUFDaEIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxhQUFhLElBQ2pDLEtBQUssQ0FDd0IsQ0FDaEMsRUFFVixRQUFRLEVBQUUsUUFBUSxJQUFJLDhCQUFDLDZCQUFhLElBQUMsUUFBUSxFQUFFLFFBQVEsR0FBSSxFQUMzRCxXQUFXLEVBQ1AsWUFBWSxJQUFJLENBQ1osOEJBQUMscUJBQVMsSUFBQyxLQUFLLEVBQUUsWUFBWTt3QkFDMUIsOEJBQUMseUNBQW1CLENBQUMsV0FBVyxJQUM1QixLQUFLLEVBQUUsU0FBUyxFQUNoQixPQUFPLEVBQUUsV0FBVyxDQUFDLGFBQWEsSUFDakMsWUFBWSxDQUNpQixDQUMxQixDQUNmLEdBRVAsQ0FDVSxDQUNuQixDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBQ0YsY0FBYyxFQUFFLFFBQVE7UUFDeEIsSUFBSSxPQUFPO1lBQ1AsT0FBTyxxQkFDSCxxQkFBUyxDQUFDLElBQUksQ0FBQztnQkFDZixDQUFDLHFCQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxxQkFBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2hFLEVBQUUsQ0FBQztRQUNQLENBQUM7S0FDSixDQUFDO0lBQ0YsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQW5ERCx3REFtREMifQ==