cometchat-react-ui-kit2
Version:
CometChat UI Kit for React App
130 lines (127 loc) • 5.93 kB
JavaScript
"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;