UNPKG

@shopify/polaris

Version:

Shopify’s product component library

44 lines (41 loc) 1.5 kB
import React$1, { Fragment } from 'react'; import { classNames, variationName } from '../../utilities/css.js'; import { Icon as Icon$1 } from '../Icon/Icon.js'; import { Truncate as Truncate$1 } from '../Truncate/Truncate.js'; import styles from './ExceptionList.scss.js'; function ExceptionList({ items: itemsList }) { var items = itemsList.map((item, index) => { var { status, icon, title, description, truncate = false } = item; var itemClasses = classNames(styles.Item, status && styles[variationName('status', status)]); var iconMarkup = icon ? /*#__PURE__*/React$1.createElement(Icon$1, { source: icon }) : /*#__PURE__*/React$1.createElement("span", { className: styles.Bullet }); var titleMarkup = title && /*#__PURE__*/React$1.createElement("span", { className: styles.Title }, title); var descriptionMarkup = description && /*#__PURE__*/React$1.createElement("span", { className: styles.Description }, description); var Element = truncate ? Truncate$1 : Fragment; return /*#__PURE__*/React$1.createElement("li", { className: itemClasses, key: index }, /*#__PURE__*/React$1.createElement("span", { className: styles.Icon }, iconMarkup), /*#__PURE__*/React$1.createElement(Element, null, titleMarkup, descriptionMarkup)); }); return /*#__PURE__*/React$1.createElement("ul", { className: styles.ExceptionList }, items); } export { ExceptionList };