@launchmenu/core
Version:
An environment for visual keyboard controlled applets
62 lines • 5.96 kB
JavaScript
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==
;