@shopify/polaris
Version:
Shopify’s product component library
44 lines (41 loc) • 1.5 kB
JavaScript
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 };