ListItem.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. "use strict";
  2. "use client";
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  4. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  5. Object.defineProperty(exports, "__esModule", {
  6. value: true
  7. });
  8. exports.default = void 0;
  9. var React = _interopRequireWildcard(require("react"));
  10. var _DeleteOutlined = _interopRequireDefault(require("@ant-design/icons/DeleteOutlined"));
  11. var _classnames = _interopRequireDefault(require("classnames"));
  12. var _checkbox = _interopRequireDefault(require("../checkbox"));
  13. var _locale = require("../locale");
  14. var _en_US = _interopRequireDefault(require("../locale/en_US"));
  15. const ListItem = props => {
  16. const {
  17. renderedText,
  18. renderedEl,
  19. item,
  20. checked,
  21. disabled,
  22. prefixCls,
  23. onClick,
  24. onRemove,
  25. showRemove
  26. } = props;
  27. const className = (0, _classnames.default)(`${prefixCls}-content-item`, {
  28. [`${prefixCls}-content-item-disabled`]: disabled || item.disabled,
  29. [`${prefixCls}-content-item-checked`]: checked && !item.disabled
  30. });
  31. let title;
  32. if (typeof renderedText === 'string' || typeof renderedText === 'number') {
  33. title = String(renderedText);
  34. }
  35. const [contextLocale] = (0, _locale.useLocale)('Transfer', _en_US.default.Transfer);
  36. const liProps = {
  37. className,
  38. title
  39. };
  40. const labelNode = /*#__PURE__*/React.createElement("span", {
  41. className: `${prefixCls}-content-item-text`
  42. }, renderedEl);
  43. if (showRemove) {
  44. return /*#__PURE__*/React.createElement("li", Object.assign({}, liProps), labelNode, /*#__PURE__*/React.createElement("button", {
  45. type: "button",
  46. disabled: disabled || item.disabled,
  47. className: `${prefixCls}-content-item-remove`,
  48. "aria-label": contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.remove,
  49. onClick: () => onRemove === null || onRemove === void 0 ? void 0 : onRemove(item)
  50. }, /*#__PURE__*/React.createElement(_DeleteOutlined.default, null)));
  51. }
  52. // Default click to select
  53. liProps.onClick = disabled || item.disabled ? undefined : event => onClick(item, event);
  54. return /*#__PURE__*/React.createElement("li", Object.assign({}, liProps), /*#__PURE__*/React.createElement(_checkbox.default, {
  55. className: `${prefixCls}-checkbox`,
  56. checked: checked,
  57. disabled: disabled || item.disabled
  58. }), labelNode);
  59. };
  60. var _default = exports.default = /*#__PURE__*/React.memo(ListItem);