@carbon/ibm-products
Version:
Carbon for IBM Products
51 lines (47 loc) • 1.81 kB
JavaScript
/**
* Copyright IBM Corp. 2020, 2025
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
import React__default, { Suspense, lazy } from 'react';
import PropTypes from '../../_virtual/index.js';
const ErrorIllustration = /*#__PURE__*/lazy(() => import('./assets/ErrorIllustration.js'));
const NoDataIllustration = /*#__PURE__*/lazy(() => import('./assets/NoDataIllustration.js'));
const NoTagsIllustration = /*#__PURE__*/lazy(() => import('./assets/NoTagsIllustration.js'));
const NotFoundIllustration = /*#__PURE__*/lazy(() => import('./assets/NotFoundIllustration.js'));
const NotificationsIllustration = /*#__PURE__*/lazy(() => import('./assets/NotificationsIllustration.js'));
const UnauthorizedIllustration = /*#__PURE__*/lazy(() => import('./assets/UnauthorizedIllustration.js'));
const getIllustration = kind => {
switch (kind) {
case 'error':
return ErrorIllustration;
case 'noData':
return NoDataIllustration;
case 'noTags':
return NoTagsIllustration;
case 'notifications':
return NotificationsIllustration;
case 'notFound':
return NotFoundIllustration;
case 'unauthorized':
return UnauthorizedIllustration;
default:
return () => null;
}
};
const EmptyStateIllustration = _ref => {
let {
kind,
...rest
} = _ref;
const Illustration = getIllustration(kind);
return /*#__PURE__*/React__default.createElement(Suspense, null, /*#__PURE__*/React__default.createElement(Illustration, _extends({
"aria-hidden": "true"
}, rest)));
};
EmptyStateIllustration.propTypes = {
kind: PropTypes.string
};
export { EmptyStateIllustration as default };