UNPKG

@zohodesk/components

Version:

In this Package, we Provide Some Basic Components to Build Web App

138 lines (117 loc) 5.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _Layout = require("../Layout"); var _ListContainer = _interopRequireDefault(require("./ListContainer")); var _defaultProps = require("./props/defaultProps"); var _propTypes = require("./props/propTypes"); var _icons = require("@zohodesk/icons"); var _ListItemModule = _interopRequireDefault(require("../../ListItem/ListItem.module.css")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var ListItem = function ListItem(props) { var size = props.size, active = props.active, highlight = props.highlight, value = props.value, autoHover = props.autoHover, palette = props.palette, title = props.title, disableTitle = props.disableTitle, needTick = props.needTick, isLink = props.isLink, href = props.href, target = props.target, needBorder = props.needBorder, isDisabled = props.isDisabled, children = props.children, dataId = props.dataId, dataSelectorId = props.dataSelectorId, a11y = props.a11y, customClass = props.customClass, customProps = props.customProps, needMultiLineText = props.needMultiLineText, getRef = props.getRef, index = props.index, id = props.id, onClick = props.onClick, onMouseEnter = props.onMouseEnter; function handleRef(ele) { getRef && getRef(ele, index, id); } function handleClick(e) { onClick && onClick(id, value, index, e); } function handleMouseEnter(e) { onMouseEnter && onMouseEnter(id, value, index, e); } var _customProps$ListItem = customProps.ListItemProps, ListItemProps = _customProps$ListItem === void 0 ? {} : _customProps$ListItem, _customProps$Containe = customProps.ContainerProps, ContainerProps = _customProps$Containe === void 0 ? {} : _customProps$Containe; var _customClass$customLi = customClass.customListItem, customListItem = _customClass$customLi === void 0 ? '' : _customClass$customLi, _customClass$customTi = customClass.customTickIcon, customTickIcon = _customClass$customTi === void 0 ? '' : _customClass$customTi; var listA11y = _objectSpread({ ariaHidden: true, role: 'option' }, a11y); var ariaHidden = listA11y.ariaHidden; var tickIconPalette = _ListItemModule["default"]["".concat(palette, "Tick")] ? _ListItemModule["default"]["".concat(palette, "Tick")] : ''; var dataIdString = dataId ? dataId : value ? String(value).replace("'", '_') : 'listItem'; return /*#__PURE__*/_react["default"].createElement(_ListContainer["default"], _extends({ a11y: listA11y, size: size, palette: palette, highlight: highlight, isDisabled: isDisabled, active: active, autoHover: autoHover, needTick: needTick, needBorder: needBorder, customClass: customListItem, dataId: dataIdString, dataSelectorId: "".concat(dataSelectorId), isLink: isLink, href: href, target: target, disableTitle: disableTitle, title: title, onClick: handleClick, onMouseEnter: handleMouseEnter, eleRef: handleRef, customProps: ListItemProps }, ContainerProps), value ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { shrink: true, adjust: true, className: needMultiLineText ? _ListItemModule["default"].multiLineValue : _ListItemModule["default"].value }, value) : null, children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { shrink: true, adjust: true, className: _ListItemModule["default"].children }, children) : null, needTick && active ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: "".concat(_ListItemModule["default"].tickIcon, " ").concat(tickIconPalette, " ").concat(customTickIcon), "aria-hidden": ariaHidden, dataId: "".concat(dataIdString, "_tickIcon"), dataSelectorId: "".concat(dataSelectorId, "_tickIcon") }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, { name: "ZD-ticknew", size: "8" })) : null); }; var _default = ListItem; exports["default"] = _default; ListItem.defaultProps = _defaultProps.ListItemDefaultProps; ListItem.propTypes = _propTypes.ListItem_Props; // if (__DOCS__) { // ListItem.docs = { // componentGroup: 'Molecule', // folderName: 'Style Guide' // }; // }