UNPKG

@uimkit/uikit-react

Version:

<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>

47 lines (40 loc) 2.88 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var Icon = require('../Icon/Icon.js'); var type = require('../Icon/type.js'); var index = require('../Popup/index.js'); var usePluginsElement = require('./hooks/usePluginsElement.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function PluginsWithContext(props, ref) { var _a = props.plugins, plugins = _a === void 0 ? [] : _a, showNumber = props.showNumber, MoreIcon = props.MoreIcon, _b = props.className, className = _b === void 0 ? '' : _b, _c = props.customClass, customClass = _c === void 0 ? '' : _c, root = props.root, handleVisible = props.handleVisible; React.useImperativeHandle(ref, function () { return ({ closeMore: function () { setShow(false); }, }); }); var _d = usePluginsElement.usePluginsElement({ plugins: plugins, showNumber: showNumber }), showPicker = _d.showPicker, elements = _d.elements; var _e = React.useState(false), show = _e[0], setShow = _e[1]; var handleShow = function (e) { e.stopPropagation(); setShow(!show); }; return ((showPicker.length > 0 || (elements === null || elements === void 0 ? void 0 : elements.length) > 0) && (React__default["default"].createElement("ul", { className: "plugin ".concat(className) }, (showPicker === null || showPicker === void 0 ? void 0 : showPicker.length) > 0 && showPicker.map(function (Item, index) { var key = "".concat(Item).concat(index); return (React__default["default"].createElement("li", { className: "plugin-item", key: key }, Item)); }), (elements === null || elements === void 0 ? void 0 : elements.length) > 0 && (React__default["default"].createElement("div", { className: "plugin-popup" }, React__default["default"].createElement("div", { role: "menuitem", tabIndex: 0, className: "more", onClick: handleShow }, !MoreIcon && React__default["default"].createElement(Icon.Icon, { width: 20, height: 20, type: type.IconTypes.ADD }), MoreIcon && MoreIcon), React__default["default"].createElement(index.Popup, { className: "plugin-popup-box ".concat(customClass), show: show, close: handleShow, root: root, handleVisible: handleVisible }, React__default["default"].createElement("ul", null, elements.map(function (Item, index) { var key = "".concat(Item).concat(index); return (React__default["default"].createElement("li", { className: "plugin-item", key: key }, Item)); })))))))); } var Plugins = React.forwardRef(PluginsWithContext); exports.Plugins = Plugins; //# sourceMappingURL=index.js.map