UNPKG

@shopify/polaris

Version:

Shopify’s product component library

53 lines (50 loc) 2.26 kB
import React$1 from 'react'; import { classNames } from '../../utilities/css.js'; import { Image as Image$1 } from '../Image/Image.js'; import { CancelSmallMinor } from '@shopify/polaris-icons'; import { Button as Button$1 } from '../Button/Button.js'; import { buttonFrom } from '../Button/utils.js'; import { ButtonGroup as ButtonGroup$1 } from '../ButtonGroup/ButtonGroup.js'; import { Heading as Heading$1 } from '../Heading/Heading.js'; import { Card as Card$1 } from '../Card/Card.js'; import { TextContainer as TextContainer$1 } from '../TextContainer/TextContainer.js'; import styles from './CalloutCard.scss.js'; function CalloutCard({ title, children, illustration, primaryAction, secondaryAction, onDismiss }) { var primaryActionMarkup = buttonFrom(primaryAction); var secondaryActionMarkup = secondaryAction ? buttonFrom(secondaryAction, { plain: true }) : null; var buttonMarkup = secondaryActionMarkup ? /*#__PURE__*/React$1.createElement(ButtonGroup$1, null, primaryActionMarkup, secondaryActionMarkup) : primaryActionMarkup; var dismissButton = onDismiss ? /*#__PURE__*/React$1.createElement("div", { className: styles.Dismiss }, /*#__PURE__*/React$1.createElement(Button$1, { plain: true, icon: CancelSmallMinor, onClick: onDismiss, accessibilityLabel: "Dismiss card" })) : null; var imageClassName = classNames(styles.Image, onDismiss && styles.DismissImage); return /*#__PURE__*/React$1.createElement(Card$1, null, /*#__PURE__*/React$1.createElement("div", { className: styles.Container }, dismissButton, /*#__PURE__*/React$1.createElement(Card$1.Section, null, /*#__PURE__*/React$1.createElement("div", { className: styles.CalloutCard }, /*#__PURE__*/React$1.createElement("div", { className: styles.Content }, /*#__PURE__*/React$1.createElement("div", { className: styles.Title }, /*#__PURE__*/React$1.createElement(Heading$1, null, title)), /*#__PURE__*/React$1.createElement(TextContainer$1, null, children), /*#__PURE__*/React$1.createElement("div", { className: styles.Buttons }, buttonMarkup)), /*#__PURE__*/React$1.createElement(Image$1, { alt: "", className: imageClassName, source: illustration }))))); } export { CalloutCard };