@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
50 lines (43 loc) • 2.72 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var _tslib = require('../../chunks/bundle-t_oZmZ9n.js');
var React = require('react');
var ui_Label = require('../../chunks/bundle-BHzRqGq7.js');
var ui_Icon = require('../../ui/Icon.js');
var utils = require('../../chunks/bundle-w8GqiNwE.js');
var ChannelSettings_components_ChannelSettingsMenuItem = require('./ChannelSettingsMenuItem.js');
var useChannelSettings = require('../../chunks/bundle-CJU8YwbS.js');
require('../../chunks/bundle-XZ8qGH7O.js');
require('../../chunks/bundle-CFoLTSSR.js');
require('@sendbird/chat/message');
require('../../chunks/bundle-CpTDlea1.js');
require('../../chunks/bundle-mZOg8YmN.js');
require('../../chunks/bundle-C8VvVV0P.js');
require('../../chunks/bundle-CJV1ehy9.js');
require('@sendbird/chat/groupChannel');
require('../../chunks/bundle-DOU45JCK.js');
require('../../chunks/bundle-D7LW79iA.js');
require('../../chunks/bundle-Dsi0B6WF.js');
require('../../chunks/bundle-Ca9F08jN.js');
require('@sendbird/chat');
require('@sendbird/chat/openChannel');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
var MenuListByRole = function (_a) {
var menuItems = _a.menuItems;
var channel = useChannelSettings.useChannelSettings().state.channel;
var menuItemsByRole = utils.isOperator(channel) ? menuItems.operator : menuItems.nonOperator;
// State to track the open accordion key
var _b = React.useState(null), openAccordionKey = _b[0], setOpenAccordionKey = _b[1];
return (React__default.default.createElement("div", { className: "sendbird-channel-settings__operator" }, Object.entries(menuItemsByRole).map(function (_a) {
var key = _a[0], item = _a[1];
if (item.hideMenu)
return null;
return (React__default.default.createElement(ChannelSettings_components_ChannelSettingsMenuItem.MenuItem, { key: key, onClick: item.onClick, onKeyDown: item.onKeyDown, renderLeft: function () { return React__default.default.createElement(ui_Icon.default, _tslib.__assign({}, item.icon)); }, renderMiddle: function () { return React__default.default.createElement(ui_Label.Label, _tslib.__assign({}, item.label)); }, renderRight: item.rightComponent, renderAccordion: item.accordionComponent, accordionOpened: openAccordionKey === key, setAccordionOpened: function () {
setOpenAccordionKey(function (prevKey) { return (prevKey === key ? null : key); });
} }));
})));
};
exports.MenuListByRole = MenuListByRole;
exports.default = MenuListByRole;
//# sourceMappingURL=ChannelSettingMenuList.js.map