UNPKG

@eccenca/gui-elements

Version:

GUI elements based on other libraries, usable in React application, written in Typescript.

23 lines 1.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EditorAppearanceConfigMenu = EditorAppearanceConfigMenu; const react_1 = __importDefault(require("react")); const components_1 = require("../../../components"); /** * Returns a simple context menu that provides switches to control the editor appearance. */ function EditorAppearanceConfigMenu({ config, configLocked = {}, configPropertyTranslate = (s) => s, setConfig, contextMenuProps, }) { var _a; return (react_1.default.createElement(components_1.ContextMenu, Object.assign({ togglerElement: "item-settings" }, contextMenuProps, { disabled: (_a = contextMenuProps === null || contextMenuProps === void 0 ? void 0 : contextMenuProps.disabled) !== null && _a !== void 0 ? _a : Object.values(config).length === Object.values(configLocked).filter((value) => { return typeof value !== "undefined"; }).length }), Object.entries(config).map(([key, value]) => { return (react_1.default.createElement(components_1.MenuItem, { key: key, roleStructure: "listoption", selected: value, text: configPropertyTranslate(key) || key, disabled: typeof configLocked[key] !== "undefined", onClick: () => { setConfig(Object.assign(Object.assign({}, config), { [key]: !value })); } })); }))); } //# sourceMappingURL=EditorAppearanceConfigMenu.js.map