UNPKG

@crave/farmblocks-input-select

Version:
45 lines (42 loc) 1.71 kB
function _extends() { _extends = Object.assign || 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); } import React from "react"; import PropTypes from "prop-types"; import styled from "styled-components"; import Image, { thumbnailSizes } from "@crave/farmblocks-image"; import { Checkbox } from "@crave/farmblocks-input-checkbox"; import { SmCheck } from "@crave/farmblocks-icon"; import ItemContainer from "../styledComponents/ItemContainer"; import LabelContainer from "../styledComponents/LabelContainer"; const ItemImage = styled(Image).withConfig({ displayName: "Item__ItemImage", componentId: "sc-1gqi50q-0" })(["margin:-6px 8px -6px 0;&:first-child{margin-left:-6px;}"]); const Item = ({ selected, image, label, checkbox, className, ...props }) => /*#__PURE__*/React.createElement(ItemContainer, _extends({ className: `itemContainer ${className || ""}` }, props), /*#__PURE__*/React.createElement(LabelContainer, { className: "labelContainer" }, checkbox && /*#__PURE__*/React.createElement(Checkbox, { className: "checkbox", checked: selected }), image && /*#__PURE__*/React.createElement(ItemImage, { className: "itemImage", src: image, size: thumbnailSizes.SMALL }), label), !checkbox && selected && /*#__PURE__*/React.createElement(SmCheck, { size: 24 })); Item.propTypes = { selected: PropTypes.bool, image: PropTypes.string, className: PropTypes.string, label: PropTypes.node.isRequired, checkbox: PropTypes.bool }; export default Item;