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.32 kB
import { _ as __assign } from '../../chunks/bundle-yl5d1NoZ.js'; import React__default from 'react'; import Icon, { IconTypes } from '../../ui/Icon.js'; import { c as classnames } from '../../chunks/bundle-MlG9piGf.js'; var MenuItem = function (_a) { var renderLeft = _a.renderLeft, renderMiddle = _a.renderMiddle, _b = _a.renderRight, renderRight = _b === void 0 ? function (props) { return React__default.createElement(MenuItemAction, __assign({}, props)); } : _b, renderAccordion = _a.renderAccordion, className = _a.className, onClick = _a.onClick, onKeyDown = _a.onKeyDown, accordionOpened = _a.accordionOpened, setAccordionOpened = _a.setAccordionOpened; var useAccordion = typeof renderAccordion === 'function'; return (React__default.createElement(React__default.Fragment, null, React__default.createElement("div", { className: classnames('sendbird-channel-settings__panel-item', className), onClick: function (e) { onClick === null || onClick === void 0 ? void 0 : onClick(e); if (useAccordion) setAccordionOpened(!accordionOpened); }, onKeyDown: function (e) { onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e); if (useAccordion) setAccordionOpened(!accordionOpened); } }, renderLeft(), renderMiddle(), renderRight({ useAccordion: useAccordion, accordionOpened: accordionOpened, })), accordionOpened && (renderAccordion === null || renderAccordion === void 0 ? void 0 : renderAccordion()))); }; var MenuItemAction = function (_a) { var useAccordion = _a.useAccordion, accordionOpened = _a.accordionOpened, children = _a.children; if (useAccordion) { return (React__default.createElement(Icon, { type: IconTypes.CHEVRON_RIGHT, className: [ 'sendbird-accordion__panel-icon-right', 'sendbird-accordion__panel-icon--chevron', accordionOpened ? 'sendbird-accordion__panel-icon--open' : '', ].join(' '), height: "24px", width: "24px" })); } return children || null; }; export { MenuItem, MenuItemAction, MenuItem as default }; //# sourceMappingURL=ChannelSettingsMenuItem.js.map