UNPKG

@eccenca/gui-elements

Version:

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

43 lines 2.97 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import React from "react"; import { CLASSPREFIX as eccgui } from "../../configuration/constants.js"; import IconButton from "../Icon/IconButton.js"; import Menu from "../Menu/Menu.js"; import ContextOverlay from "./ContextOverlay.js"; /** * Element displays menu items after toggler is clicked. */ export var ContextMenu = function (_a) { var children = _a.children, _b = _a.className, className = _b === void 0 ? "" : _b, _c = _a.togglerElement, togglerElement = _c === void 0 ? "item-moremenu" : _c, _d = _a.togglerText, togglerText = _d === void 0 ? "Show more options" : _d, contextOverlayProps = _a.contextOverlayProps, disabled = _a.disabled, _e = _a.togglerLarge, togglerLarge = _e === void 0 ? false : _e, /* FIXME: The Tooltip component can interfere with the opened menu, since it is implemented via portal and may cover the menu, so by default we use the title attribute instead of Tooltip. */ _f = _a.tooltipAsTitle, /* FIXME: The Tooltip component can interfere with the opened menu, since it is implemented via portal and may cover the menu, so by default we use the title attribute instead of Tooltip. */ tooltipAsTitle = _f === void 0 ? true : _f, _g = _a.preventPlaceholder, preventPlaceholder = _g === void 0 ? false : _g, restProps = __rest(_a, ["children", "className", "togglerElement", "togglerText", "contextOverlayProps", "disabled", "togglerLarge", "tooltipAsTitle", "preventPlaceholder"]); var toggleButton = typeof togglerElement === "string" ? (React.createElement(IconButton, { tooltipAsTitle: tooltipAsTitle, name: [togglerElement], text: togglerText, large: togglerLarge, disabled: !!disabled, "data-test-id": restProps["data-test-id"] })) : togglerElement; return (React.createElement(ContextOverlay, __assign({}, restProps, contextOverlayProps, { className: "".concat(eccgui, "-contextmenu ") + className, content: React.createElement(Menu, null, children), disabled: !!disabled, usePlaceholder: !preventPlaceholder }), toggleButton)); }; export default ContextMenu; //# sourceMappingURL=ContextMenu.js.map