UNPKG

@zohodesk/components

Version:

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

127 lines (107 loc) 5.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _Radio = _interopRequireDefault(require("../Radio/Radio")); var _Layout = require("../Layout"); 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 ListItemWithRadio = function ListItemWithRadio(props) { var size = props.size, active = props.active, highlight = props.highlight, value = props.value, checked = props.checked, autoHover = props.autoHover, palette = props.palette, id = props.id, dataId = props.dataId, dataSelectorId = props.dataSelectorId, title = props.title, isDisabled = props.isDisabled, disableTitle = props.disableTitle, a11y = props.a11y, customClass = props.customClass, customProps = props.customProps, needMultiLineText = props.needMultiLineText, getRef = props.getRef, onClick = props.onClick, onHover = props.onHover, index = props.index; 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({ role: 'option' }, a11y); function handleRef(ele) { getRef && getRef(ele, index); } function handleClick(e) { onClick && onClick(id, value, index, e); } function handleHover(e) { onHover && onHover(id, value, index, e); } var _customClass$customLi = customClass.customListItem, customListItem = _customClass$customLi === void 0 ? '' : _customClass$customLi, _customClass$customRa = customClass.customRadio, customRadio = _customClass$customRa === void 0 ? '' : _customClass$customRa, _customClass$customRa2 = customClass.customRadioWrap, customRadioWrap = _customClass$customRa2 === void 0 ? '' : _customClass$customRa2; return /*#__PURE__*/_react["default"].createElement(_ListContainer["default"], _extends({ a11y: listA11y, size: size, palette: palette, highlight: highlight, isDisabled: isDisabled, active: active, autoHover: autoHover, customClass: customListItem, dataId: dataId, dataSelectorId: dataSelectorId, onClick: handleClick, onMouseOver: handleHover, eleRef: handleRef, disableTitle: disableTitle, title: null, customProps: ListItemProps }, ContainerProps), /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ListItemModule["default"].iconBox, dataId: "".concat(dataId, "_radio") }, /*#__PURE__*/_react["default"].createElement(_Radio["default"], { checked: checked, id: id, a11y: { ariaHidden: true }, customClass: { customRadio: customRadio, customRadioWrap: customRadioWrap } })), /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true, shrink: true, "data-title": disableTitle ? null : title, className: needMultiLineText ? _ListItemModule["default"].multiLineValue : _ListItemModule["default"].value }, value)); }; var _default = ListItemWithRadio; exports["default"] = _default; ListItemWithRadio.defaultProps = _defaultProps.ListItemWithRadioDefaultProps; ListItemWithRadio.propTypes = _propTypes.ListItemWithRadio_Props; // if (__DOCS__) { // ListItemWithRadio.docs = { // componentGroup: 'Molecule', // folderName: 'Style Guide' // }; // }