index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  2. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  3. import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
  4. var _excluded = ["image", "description", "imageStyle", "class"];
  5. import { createVNode as _createVNode } from "vue";
  6. import classNames from '../_util/classNames';
  7. import LocaleReceiver from '../locale-provider/LocaleReceiver';
  8. import DefaultEmptyImg from './empty';
  9. import SimpleEmptyImg from './simple';
  10. import { filterEmpty } from '../_util/props-util';
  11. import PropTypes from '../_util/vue-types';
  12. import { withInstall } from '../_util/type';
  13. import useConfigInject from '../_util/hooks/useConfigInject';
  14. var defaultEmptyImg = _createVNode(DefaultEmptyImg, null, null);
  15. var simpleEmptyImg = _createVNode(SimpleEmptyImg, null, null);
  16. var Empty = function Empty(props, _ref) {
  17. var _slots$description;
  18. var _ref$slots = _ref.slots,
  19. slots = _ref$slots === void 0 ? {} : _ref$slots,
  20. attrs = _ref.attrs;
  21. var _useConfigInject = useConfigInject('empty', props),
  22. direction = _useConfigInject.direction,
  23. prefixClsRef = _useConfigInject.prefixCls;
  24. var prefixCls = prefixClsRef.value;
  25. var _props$attrs = _objectSpread(_objectSpread({}, props), attrs),
  26. _props$attrs$image = _props$attrs.image,
  27. image = _props$attrs$image === void 0 ? defaultEmptyImg : _props$attrs$image,
  28. _props$attrs$descript = _props$attrs.description,
  29. description = _props$attrs$descript === void 0 ? ((_slots$description = slots.description) === null || _slots$description === void 0 ? void 0 : _slots$description.call(slots)) || undefined : _props$attrs$descript,
  30. imageStyle = _props$attrs.imageStyle,
  31. _props$attrs$class = _props$attrs.class,
  32. className = _props$attrs$class === void 0 ? '' : _props$attrs$class,
  33. restProps = _objectWithoutProperties(_props$attrs, _excluded);
  34. return _createVNode(LocaleReceiver, {
  35. "componentName": "Empty",
  36. "children": function children(locale) {
  37. var _classNames;
  38. var des = typeof description !== 'undefined' ? description : locale.description;
  39. var alt = typeof des === 'string' ? des : 'empty';
  40. var imageNode = null;
  41. if (typeof image === 'string') {
  42. imageNode = _createVNode("img", {
  43. "alt": alt,
  44. "src": image
  45. }, null);
  46. } else {
  47. imageNode = image;
  48. }
  49. return _createVNode("div", _objectSpread({
  50. "class": classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-normal"), image === simpleEmptyImg), _defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction.value === 'rtl'), _classNames))
  51. }, restProps), [_createVNode("div", {
  52. "class": "".concat(prefixCls, "-image"),
  53. "style": imageStyle
  54. }, [imageNode]), des && _createVNode("p", {
  55. "class": "".concat(prefixCls, "-description")
  56. }, [des]), slots.default && _createVNode("div", {
  57. "class": "".concat(prefixCls, "-footer")
  58. }, [filterEmpty(slots.default())])]);
  59. }
  60. }, null);
  61. };
  62. Empty.displayName = 'AEmpty';
  63. Empty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;
  64. Empty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;
  65. Empty.inheritAttrs = false;
  66. Empty.props = {
  67. prefixCls: String,
  68. image: PropTypes.any,
  69. description: PropTypes.any,
  70. imageStyle: {
  71. type: Object,
  72. default: undefined
  73. }
  74. };
  75. export default withInstall(Empty);