@zohodesk/components
Version:
In this Package, we Provide Some Basic Components to Build Web App
64 lines (62 loc) • 2.05 kB
JavaScript
/**** Libraries ****/
import React from 'react';
import { EmptyState_propTypes } from "./props/propTypes";
import { EmptyState_defaultProps } from "./props/defaultProps";
/**** CSS ****/
import style from "../../MultiSelect/MultiSelect.module.css";
export default class EmptyState extends React.PureComponent {
render() {
let {
emptyMessage,
isLoading,
noMoreOptionsMessage,
options,
searchEmptyMessage,
searchString,
suggestions,
dataId,
getCustomEmptyState,
palette,
i18nKeys,
htmlId,
a11y
} = this.props;
let {
loadingText = 'Loading',
emptyText = emptyMessage,
noMoreText = noMoreOptionsMessage,
searchEmptyText = searchEmptyMessage
} = i18nKeys;
let className = ` ${style[palette]}`;
let {
role = 'alert'
} = a11y;
return /*#__PURE__*/React.createElement(React.Fragment, null, isLoading ? /*#__PURE__*/React.createElement("div", {
className: className,
"data-id": `${dataId}_Loading`,
"data-test-id": `${dataId}_Loading`,
role: role,
id: htmlId
}, loadingText) : searchString.length && suggestions.length === 0 ? getCustomEmptyState ? getCustomEmptyState() : /*#__PURE__*/React.createElement("div", {
className: className,
"data-id": `${dataId}_srchEmptyMsg`,
"data-test-id": `${dataId}_srchEmptyMsg`,
role: role,
id: htmlId
}, searchEmptyText || emptyText) : options.length === 0 ? /*#__PURE__*/React.createElement("div", {
className: className,
"data-id": `${dataId}_noOptnsMsg`,
"data-test-id": `${dataId}_noOptnsMsg`,
role: role,
id: htmlId
}, emptyText) : /*#__PURE__*/React.createElement("div", {
className: className,
"data-id": `${dataId}_NoMoreOptionMsg`,
"data-test-id": `${dataId}_NoMoreOptionMsg`,
role: role,
id: htmlId
}, noMoreText || emptyText));
}
}
EmptyState.propTypes = EmptyState_propTypes;
EmptyState.defaultProps = EmptyState_defaultProps;