@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
47 lines (40 loc) • 2.88 kB
JavaScript
'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