UNPKG

cometchat-react-ui-kit2

Version:

CometChat UI Kit for React App

130 lines (127 loc) 5.93 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.CometChatUsers = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _ = require("../.."); var _style = require("./style"); var _back = _interopRequireDefault(require("./resources/back.svg")); var _search = _interopRequireDefault(require("./resources/search.svg")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /** * * CometChatConversations is a container component that wraps and * formats CometChatListBase and CometChatConversationList component, with no behavior of its own. * * @version 1.0.0 * @author CometChatTeam * @copyright © 2022 CometChat Inc. * */ var Users = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) { var title = props.title, searchPlaceholder = props.searchPlaceholder, backButtonIconURL = props.backButtonIconURL, showBackButton = props.showBackButton, searchIconURL = props.searchIconURL, hideSearch = props.hideSearch, activeUser = props.activeUser, theme = props.theme, style = props.style, userListConfiguration = props.userListConfiguration; /** * Component internal state */ var userListRef = _react["default"].useRef(null); var _React$useState = _react["default"].useState(""), _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2), searchInput = _React$useState2[0], setSearchInput = _React$useState2[1]; var _theme = new _.CometChatTheme(theme || {}); var _userListConfiguration = userListConfiguration || new _.UserListConfiguration({}); _react["default"].useImperativeHandle(ref, function () { return { userListRef: userListRef.current }; }); var searchHandler = function searchHandler(searchText) { setSearchInput(searchText); }; return /*#__PURE__*/_react["default"].createElement("div", { style: (0, _style.containerStyle)(style, _theme), className: "cometchat__users" }, /*#__PURE__*/_react["default"].createElement(_.CometChatListBase, { title: title, searchPlaceholder: searchInput ? searchInput : searchPlaceholder, onSearch: searchHandler, style: (0, _style.getListBaseStyle)(style, _theme), backButtonIconURL: backButtonIconURL || _back["default"], searchIconURL: searchIconURL || _search["default"], showBackButton: showBackButton, hideSearch: hideSearch }, /*#__PURE__*/_react["default"].createElement(_.CometChatUserList, { ref: userListRef, limit: _userListConfiguration.limit, searchKeyword: searchInput ? searchInput : _userListConfiguration.searchKeyword, status: _userListConfiguration.status, friendsOnly: _userListConfiguration.friendsOnly, hideBlockedUsers: _userListConfiguration.hideBlockedUsers, tags: _userListConfiguration.tags, uids: _userListConfiguration.uids, roles: _userListConfiguration.roles, style: (0, _style.getListStyle)(_userListConfiguration, _theme), customView: _userListConfiguration.customView, loadingIconURL: _userListConfiguration.loadingIconURL, hideError: _userListConfiguration.hideError, emptyText: (0, _.localize)("NO_USERS_FOUND"), errorText: (0, _.localize)("SOMETHING_WRONG"), activeUser: activeUser, theme: _theme, dataItemConfigurations: _userListConfiguration.dataItemConfigurations }))); }); Users.propTypes = { title: _propTypes["default"].string, searchPlaceholder: _propTypes["default"].string, activeUser: _propTypes["default"].object, style: _propTypes["default"].object, backButtonIconURL: _propTypes["default"].string, searchIconURL: _propTypes["default"].string, showBackButton: _propTypes["default"].bool, hideSearch: _propTypes["default"].bool, userListConfiguration: _propTypes["default"].object }; Users.defaultProps = { title: "Users", searchPlaceholder: "Search", activeUser: {}, style: { width: "100%", height: "100%", background: "", border: "1px solid #808080", borderRadius: "8px", titleFont: "700 22px Inter, sans-serif", titleColor: "", backIconTint: "#3399FF", searchBorder: "1px solid #141414", searchborderRadius: "8px", searchBackground: "", searchTextFont: "", searchTextColor: "", searchIconTint: "" }, backButtonIconURL: _back["default"], searchIconURL: _search["default"], showBackButton: false, hideSearch: false, userListConfiguration: null }; var CometChatUsers = /*#__PURE__*/_react["default"].memo(Users); exports.CometChatUsers = CometChatUsers;