UNPKG

@sendbird/uikit-react

Version:

Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.

41 lines (38 loc) 2.26 kB
import { _ as __assign } from '../../chunks/bundle-B7RvGM03.js'; import React__default, { useState } from 'react'; import { L as Label } from '../../chunks/bundle-sYB0sr_l.js'; import Icon from '../../ui/Icon.js'; import { i as isOperator } from '../../chunks/bundle-DO3psIF-.js'; import { MenuItem } from './ChannelSettingsMenuItem.js'; import { u as useChannelSettings } from '../../chunks/bundle-0x9HH0oi.js'; import '../../chunks/bundle-B4JqClb8.js'; import '../../chunks/bundle-BsH3r84n.js'; import '@sendbird/chat/message'; import '../../chunks/bundle-DVsUiVO7.js'; import '../../chunks/bundle-D0GNokoe.js'; import '../../chunks/bundle-Pi8D8X0p.js'; import '../../chunks/bundle-DwUX_8pX.js'; import '@sendbird/chat/groupChannel'; import '../../chunks/bundle-BgnOPI6k.js'; import '../../chunks/bundle-DiuNEyCv.js'; import '../../chunks/bundle-CZiyJYBm.js'; import '../../chunks/bundle-BwKOzdpa.js'; import '@sendbird/chat'; import '@sendbird/chat/openChannel'; var MenuListByRole = function (_a) { var menuItems = _a.menuItems; var channel = useChannelSettings().state.channel; var menuItemsByRole = isOperator(channel) ? menuItems.operator : menuItems.nonOperator; // State to track the open accordion key var _b = useState(null), openAccordionKey = _b[0], setOpenAccordionKey = _b[1]; return (React__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.createElement(MenuItem, { key: key, onClick: item.onClick, onKeyDown: item.onKeyDown, renderLeft: function () { return React__default.createElement(Icon, __assign({}, item.icon)); }, renderMiddle: function () { return React__default.createElement(Label, __assign({}, item.label)); }, renderRight: item.rightComponent, renderAccordion: item.accordionComponent, accordionOpened: openAccordionKey === key, setAccordionOpened: function () { setOpenAccordionKey(function (prevKey) { return (prevKey === key ? null : key); }); } })); }))); }; export { MenuListByRole, MenuListByRole as default }; //# sourceMappingURL=ChannelSettingMenuList.js.map