UNPKG

@zohodesk/components

Version:

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

143 lines (122 loc) 5.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _Layout = require("../Layout"); var _icons = require("@zohodesk/icons"); var _ListContainer = _interopRequireDefault(require("./ListContainer")); var _defaultProps = require("./props/defaultProps"); var _propTypes = require("./props/propTypes"); 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 ListItemWithIcon = function ListItemWithIcon(props) { var size = props.size, active = props.active, highlight = props.highlight, value = props.value, iconName = props.iconName, iconSize = props.iconSize, autoHover = props.autoHover, palette = props.palette, iconClass = props.iconClass, dataId = props.dataId, dataSelectorId = props.dataSelectorId, title = props.title, needTick = props.needTick, isLink = props.isLink, href = props.href, target = props.target, needBorder = props.needBorder, isDisabled = props.isDisabled, disableTitle = props.disableTitle, a11y = props.a11y, customClass = props.customClass, customProps = props.customProps, needMultiLineText = props.needMultiLineText, getRef = props.getRef, onClick = props.onClick, onMouseEnter = props.onMouseEnter, index = props.index, id = props.id; 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 listA11y = _objectSpread({ ariaHidden: true, role: 'option' }, a11y); var ariaHidden = listA11y.ariaHidden; var dataIdString = dataId ? "".concat(dataId.replace("'", '_')) : value.toLowerCase().replace("'", '_'); 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: customClass, dataId: dataIdString, dataSelectorId: dataSelectorId, isLink: isLink, href: href, target: target, onClick: handleClick, onMouseOver: handleMouseEnter, eleRef: handleRef, disableTitle: disableTitle, title: null, customProps: ListItemProps }, ContainerProps), iconName && /*#__PURE__*/_react["default"].createElement(_Layout.Box, { "aria-hidden": true, className: _ListItemModule["default"].iconBox, dataId: dataId ? "".concat(dataId, "_Icon") : "".concat(value.toLowerCase().replace("'", '_'), "_Icon") }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, { iconClass: iconClass, name: iconName, size: iconSize })), iconClass && !iconName ? /*#__PURE__*/_react["default"].createElement("span", { className: iconClass }) : null, value && /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true, shrink: true, className: needMultiLineText ? _ListItemModule["default"].multiLineValue : _ListItemModule["default"].value, "data-title": isDisabled ? null : title, dataId: "".concat(dataIdString, "_Text") }, value), needTick && active ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ListItemModule["default"].tickIcon, "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 = ListItemWithIcon; exports["default"] = _default; ListItemWithIcon.defaultProps = _defaultProps.ListItemWithIconDefaultProps; ListItemWithIcon.propTypes = _propTypes.ListItemWithIcon_Props; // if (__DOCS__) { // ListItemWithIcon.docs = { // componentGroup: 'Molecule', // folderName: 'Style Guide' // }; // }