Cell.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. "use client";
  2. import * as React from 'react';
  3. import classNames from 'classnames';
  4. import DescriptionsContext from './DescriptionsContext';
  5. function notEmpty(val) {
  6. return val !== undefined && val !== null;
  7. }
  8. const Cell = props => {
  9. const {
  10. itemPrefixCls,
  11. component,
  12. span,
  13. className,
  14. style,
  15. labelStyle,
  16. contentStyle,
  17. bordered,
  18. label,
  19. content,
  20. colon,
  21. type,
  22. styles
  23. } = props;
  24. const Component = component;
  25. const descContext = React.useContext(DescriptionsContext);
  26. const {
  27. classNames: descriptionsClassNames
  28. } = descContext;
  29. if (bordered) {
  30. return /*#__PURE__*/React.createElement(Component, {
  31. className: classNames({
  32. [`${itemPrefixCls}-item-label`]: type === 'label',
  33. [`${itemPrefixCls}-item-content`]: type === 'content',
  34. [`${descriptionsClassNames === null || descriptionsClassNames === void 0 ? void 0 : descriptionsClassNames.label}`]: type === 'label',
  35. [`${descriptionsClassNames === null || descriptionsClassNames === void 0 ? void 0 : descriptionsClassNames.content}`]: type === 'content'
  36. }, className),
  37. style: style,
  38. colSpan: span
  39. }, notEmpty(label) && /*#__PURE__*/React.createElement("span", {
  40. style: Object.assign(Object.assign({}, labelStyle), styles === null || styles === void 0 ? void 0 : styles.label)
  41. }, label), notEmpty(content) && /*#__PURE__*/React.createElement("span", {
  42. style: Object.assign(Object.assign({}, labelStyle), styles === null || styles === void 0 ? void 0 : styles.content)
  43. }, content));
  44. }
  45. return /*#__PURE__*/React.createElement(Component, {
  46. className: classNames(`${itemPrefixCls}-item`, className),
  47. style: style,
  48. colSpan: span
  49. }, /*#__PURE__*/React.createElement("div", {
  50. className: `${itemPrefixCls}-item-container`
  51. }, (label || label === 0) && (/*#__PURE__*/React.createElement("span", {
  52. className: classNames(`${itemPrefixCls}-item-label`, descriptionsClassNames === null || descriptionsClassNames === void 0 ? void 0 : descriptionsClassNames.label, {
  53. [`${itemPrefixCls}-item-no-colon`]: !colon
  54. }),
  55. style: Object.assign(Object.assign({}, labelStyle), styles === null || styles === void 0 ? void 0 : styles.label)
  56. }, label)), (content || content === 0) && (/*#__PURE__*/React.createElement("span", {
  57. className: classNames(`${itemPrefixCls}-item-content`, descriptionsClassNames === null || descriptionsClassNames === void 0 ? void 0 : descriptionsClassNames.content),
  58. style: Object.assign(Object.assign({}, contentStyle), styles === null || styles === void 0 ? void 0 : styles.content)
  59. }, content))));
  60. };
  61. export default Cell;